Sha256: cd476633a458bd30f9b8bdc0037ab8c3a2d97ae61bb3565cf4a6aad57869bec0

Contents?: true

Size: 836 Bytes

Versions: 3

Compression:

Stored size: 836 Bytes

Contents

class SomeSearchPanel < Netzke::Basepack::FormPanel
  def config
    orig = super
    {
      :model => "User",
      :title => "Some Search Panel",
      :items => [{:name => :first_name.like}, {:name => :created_at.gt}]
    }.deep_merge orig
  end

  def normalize_field(f)
    f = if f.is_a?(Symbol) || f.is_a?(String)
      {:name => f.to_s, :operator => default_operator}
    else
      search_condition = f[:name]
      if search_condition.is_a?(MetaWhere::Column)
        {:name => search_condition.column, :operator => search_condition.method}
      else
        {:name => search_condition.to_s, :operator => default_operator}
      end
    end

    f[:disabled] = primary_key_attr?(f)

    f = super(f)

    f.merge(:name => [f[:name], "__", f[:operator]].join)
  end

  private
    def default_operator
      "gt"
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
netzke-basepack-0.6.3 test/rails_app/app/components/some_search_panel.rb
netzke-basepack-0.6.2 test/rails_app/app/components/some_search_panel.rb
netzke-basepack-0.6.1 test/rails_app/app/components/some_search_panel.rb