Sha256: 4c532925b8a46e0485ded9074c3f19f24f4be810fd9221c23a77359a8a5ec0bd

Contents?: true

Size: 1.27 KB

Versions: 14

Compression:

Stored size: 1.27 KB

Contents

module UiBibz::Ui::Ux
  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: false }).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
      if @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
    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::Glyph.new(@options[:glyph]).render unless @options[:glyph].nil?
    end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ui_bibz-2.0.0.alpha14 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha13 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha12 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha11 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha10 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha9 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha8 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha7 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha6 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha5 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha4 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha3 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha2 lib/ui_bibz/ui/ux/table/extensions/searchable.rb
ui_bibz-2.0.0.alpha lib/ui_bibz/ui/ux/table/extensions/searchable.rb