class UiBibz::Ui::Ux::Tables::Actionable
Public Class Methods
new(store, options, actions = nil)
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 5 def initialize(store, options, actions = nil) @store = store @options = options @actions = actions end
Public Instance Methods
actionable?()
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 11 def actionable? @options[:actionable].nil? ? true : @options[:actionable] end
body(record, tds)
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 20 def body(record, tds) tds << td_action(record) if actionable? tds end
header(ths)
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 15 def header(ths) ths << content_tag(:th, '', class: 'action') if actionable? ths end
Private Instance Methods
actions_glyph()
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 47 def actions_glyph { name: 'ellipsis-v', type: 'fw' } end
actions_links(record)
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 56 def actions_links(record) @actions.list.compact.map { |l| inject_url(l, record) } end
default_actions?()
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 27 def default_actions? @options[:default_actions].nil? ? true : @options[:default_actions] end
dropdown_action(record)
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 31 def dropdown_action(record) return if @actions.nil? @actions.format_action&.call(record) return if default_actions? != true && @actions.raw_list.empty? UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new(dropdown_action_name, { size: :sm, glyph: actions_glyph }, { class: 'dropdown-action' }).tap do |d| actions_links(record).each do |l| d.html l.to_s.html_safe end # Maybe remove this line @actions.reset unless @actions.format_action.nil? end.render end
dropdown_action_name()
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 51 def dropdown_action_name defaults = ['ui_bibz.table.actions.defaults.title', 'Actions'] UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{@store.model.to_s.underscore}.title", default: defaults).translate end
td_action(record)
click to toggle source
# File lib/ui_bibz/ui/ux/tables/extensions/actionable.rb, line 60 def td_action(record) content_tag :td, dropdown_action(record) end