Sha256: f91c7f9a94cbaa7f002421508355a67be51227f4ecc1ef7b29e7111d1f60e8be

Contents?: true

Size: 888 Bytes

Versions: 12

Compression:

Stored size: 888 Bytes

Contents

module Listings
  class ColumnView < BaseFieldView
    def initialize(listing, column_description)
      super
    end

    def column_description
      @field_description
    end

    def value_for(model)
      if @field_description.proc
        if is_field?
          listing.instance_exec model, field.value_for(model), &@field_description.proc
        else
          listing.instance_exec model, &@field_description.proc
        end
      else
        field.value_for(model)
      end
    end

    def searchable?
      column_description.searchable?
    end

    def sortable?
      listing.sortable? && column_description.sortable?
    end

    def cell_css_class
      column_description.props[:class]
    end

    attr_accessor :sort

    def next_sort_direction
      self.sort == Sources::DataSource::ASC ? Sources::DataSource::DESC : Sources::DataSource::ASC
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
listings-0.1.15 lib/listings/column_view.rb
listings-0.1.14 lib/listings/column_view.rb
listings-0.1.13 lib/listings/column_view.rb
listings-0.1.12 lib/listings/column_view.rb
listings-0.1.11 lib/listings/column_view.rb
listings-0.1.10 lib/listings/column_view.rb
listings-0.1.8 lib/listings/column_view.rb
listings-0.1.7 lib/listings/column_view.rb
listings-0.1.6 lib/listings/column_view.rb
listings-0.1.5 lib/listings/column_view.rb
listings-0.1.4 lib/listings/column_view.rb
listings-0.1.0 lib/listings/column_view.rb