Sha256: eaa8b3bafd09761f600b25dea88c0cfd4b39b842e02c1f6b659013e91862e917

Contents?: true

Size: 541 Bytes

Versions: 2

Compression:

Stored size: 541 Bytes

Contents

module Listings
  class FilterView < BaseFieldView
    def initialize(listing, filter_description)
      super
    end

    def values
      @values ||= listing.data_source.values_for_filter(field)
    end

    def value_for(value)
      if @field_description.proc
        listing.instance_exec value, &@field_description.proc
      else
        value
      end
    end

    def render?
      @field_description.props.fetch(:render, true)
    end

    def apply_filter(value)
      listing.data_source.filter(field, value)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
listings-0.1.6 lib/listings/filter_view.rb
listings-0.1.5 lib/listings/filter_view.rb