Sha256: 655a045da392ce41891724abba593a60822c76e4555d8470a2fd1b8aec2b5c32

Contents?: true

Size: 765 Bytes

Versions: 18

Compression:

Stored size: 765 Bytes

Contents

# frozen_string_literal: true

module Effective
  module TableRows
    class Collection < Effective::TableRow

      def initialize(name, collection, options, builder:)
        @collection = collection
        super(name, options, builder: builder)
      end

      def content
        values = Array(value) - [nil, '']

        if values.length > 1
          values.map { |v| content_tag(:div, item_content(v)) }.join.html_safe
        elsif values.length == 1
          item_content(values.first)
        end
      end

      def item_content(value)
        item = @collection.find { |k, v| (k && k == value) || (v && v == value) || k.try(:id) == value }
        item = item.first if item.kind_of?(Array)
        (item || value).to_s
      end

    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
effective_bootstrap-1.19.13 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.12 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.11 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.10 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.9 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.8 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.7 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.6 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.5 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.4 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.3 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.2 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.1 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.19.0 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.18.7 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.18.4 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.18.3 app/models/effective/table_rows/collection.rb
effective_bootstrap-1.18.2 app/models/effective/table_rows/collection.rb