Sha256: 88f12889419c69e9d0a65af07d8918a12ddb87c0ce85512cb4e2f638418f8f8e

Contents?: true

Size: 1.52 KB

Versions: 2

Compression:

Stored size: 1.52 KB

Contents

# encoding: UTF-8
module Wice

  module Columns #:nodoc:

    class ViewColumnInteger < ViewColumn #:nodoc:

      def render_filter_internal(params) #:nodoc:
        @contains_a_text_input = true

        @query, _, parameter_name, @dom_id = form_parameter_name_id_and_query(:eq => '')

        opts = {:size => 3, :id => @dom_id,  :class => 'range-start'}

        opts[:class] += ' form-control input-sm'

        if auto_reload
          opts[:class] += ' auto-reload'
        end

        text_field_tag(parameter_name,  params[:eq], opts)
      end

      def yield_declaration_of_column_filter #:nodoc:
        {
          :templates => [@query],
          :ids       => [@dom_id]
        }
      end

      def has_auto_reloading_input? #:nodoc:
        auto_reload
      end
    end


    class ConditionsGeneratorColumnInteger < ConditionsGeneratorColumn  #:nodoc:

      def  generate_conditions(table_alias, opts)   #:nodoc:
        unless opts.kind_of? Hash
          Wice.log "invalid parameters for the grid integer filter - must be a hash"
          return false
        end
        conditions = [[]]
        if opts[:eq]
          if opts[:eq] =~ /\d/
            conditions[0] << " #{@column_wrapper.alias_or_table_name(table_alias)}.#{@column_wrapper.name} = ? "
            conditions << opts[:eq]
          else
            opts.delete(:eq)
          end
        end

        if conditions.size == 1
          return false
        end

        conditions[0] = conditions[0].join(' and ')

        conditions
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wice_grid-3.4.2 lib/wice/columns/column_integer.rb
wice_grid-3.4.1 lib/wice/columns/column_integer.rb