Sha256: 7b2d03c9258066118a856d066527b823514963782b489f328eeac5aef3563ddd

Contents?: true

Size: 1.32 KB

Versions: 59

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

module UiBibz::Ui::Ux::Tables
  class Searchable < UiBibz::Ui::Base
    def initialize(store, options, html_options = nil)
      @store        = store
      @options      = options
      @html_options = html_options
    end

    # Render html tag
    def render
      content_tag :div, @html_options do
        concat content_tag(:div, table_name, class: 'title')
        concat TableSearchField.new({ store: @store, wrap_form: @options[:wrap_form] }).render if searchable?
        concat tag :br, class: 'ui-bibz-clear'
      end
    end

    def searchable?
      @options[:searchable].nil? ? true : @options[:searchable]
    end

    private

    def translate_searchable_attributes_by_active_record(attr)
      @store.model.human_attribute_name(attr)
    end

    def table_title
      return unless @options[:title] != false

      title = @options[:title] || "#{@store.controller.humanize} list"
      UiBibz::Utils::Internationalization.new("ui_bibz.table.title.#{model_name}", default: ['ui_bibz.table.title.defaults', title]).translate
    end

    def model_name
      @store.model.to_s.underscore
    end

    def table_name
      "#{table_glyph}#{table_title}".html_safe
    end

    def table_glyph
      UiBibz::Ui::Core::Icons::Glyph.new(@options[:glyph]).render unless @options[:glyph].nil?
    end
  end
end

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
ui_bibz-4.0.0.beta16 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta15 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta14 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta13 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta10 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta9 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta8 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta7 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta6 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta4 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-4.0.0.beta3 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.13 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.12 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.11 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.10 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.9 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.8 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.7 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.6 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb
ui_bibz-3.0.5 lib/ui_bibz/ui/ux/tables/extensions/searchable.rb