Module: Card::Set::Type::Set::HtmlViews::RuleLists::HtmlFormat

Extended by:
AbstractFormat
Defined in:
platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb

Instance Method Summary collapse

Instance Method Details

#category_accordion(view, &block) ⇒ Object



47
48
49
50
51
52
53
54
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 47

def category_accordion view, &block
  class_up "accordion-item", "_setting-group"
  wrap_with :div, class: "_setting-list" do
    accordion do
      category_accordion_item(view, &block)
    end
  end
end

#category_accordion_item(view) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 56

def category_accordion_item view
  Card::Setting.groups.keys.map do |group_key|
    list =
      card.group_settings(group_key).map do |setting|
        setting_list_item setting, view
      end
    body = yield list
    accordion_item "#{group_key} #{count_badge(list.size)}",
                   body: body, context: group_key
  end
end

#category_setting_list_items(category, item_view, options = {}) ⇒ Object



97
98
99
100
101
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 97

def category_setting_list_items category, item_view, options={}
  card.category_settings(category).map do |setting|
    setting_list_item setting, item_view, options
  end
end

#count_badge(count) ⇒ Object



68
69
70
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 68

def count_badge count
  "<span class=\"_count badge bg-secondary ms-3\">#{count}</span>"
end

#pill_setting_list(open_rule_in_modal = false) ⇒ Object



88
89
90
91
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 88

def pill_setting_list open_rule_in_modal=false
  item_view = open_rule_in_modal ? :rule_nest_editor_link : :rule_board_link
  board_pills category_setting_list_items(:all, item_view)
end

#quick_edit_setting_listObject



81
82
83
84
85
86
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 81

def quick_edit_setting_list
  classes = "nav nav-pills flex-column board-pills _setting-list _setting-group"
  list_tag class: classes do
    category_setting_list_items :field, :quick_edit
  end
end

#setting_list_item(setting, view, opts = {}) ⇒ Object



103
104
105
106
107
108
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 103

def setting_list_item setting, view, opts={}
  return "" unless show_view? setting

  rule_card = card.fetch setting, new: {}
  nest(rule_card, opts.merge(view: view)).html_safe
end

#view: accordion_bar_listObject



40
41
42
43
44
45
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 40

view :accordion_bar_list do
  class_up "accordion", "bar-accordion"
  category_accordion(:bar) do |list|
    list_tag(class: "nav flex-column", items: { class: "nav-item" }) { list }
  end
end

#view: accordion_rule_listObject



33
34
35
36
37
38
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 33

view :accordion_rule_list, setting_list_view_options do
  class_up "accordion", "bar-accordion"
  category_accordion(:rule_board_link) do |list|
    board_pills list
  end
end

#view: bar_setting_listObject

show the settings in bars



18
19
20
21
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 18

view :bar_setting_list, setting_list_view_options do
  group = voo.filter&.to_sym || :all
  category_setting_list_items(group, :bar, hide: :full_name).join("\n").html_safe
end

a click on a setting opens the rule editor in a modal



29
30
31
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 29

view :modal_pill_setting_list, setting_list_view_options do
  pill_setting_list true
end


72
73
74
75
76
77
78
79
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 72

view :overlay_rule_list_link, cache: :never do
  opts = board_link_opts(class: "edit-rule-link btn btn-primary")
  # opts[:path].delete(:layout)

  wrap_with :div do
    link_to_view(:core, "Show existing rules", opts)
  end
end

#view: pill_setting_listObject

a click on a setting opens the rule editor in an overlay



24
25
26
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 24

view :pill_setting_list, setting_list_view_options do
  pill_setting_list
end

#view: quick_edit_setting_listObject

rule can be edited in-place



13
14
15
# File 'platypus/tmp/set/gem-defaults/mod010-rules/type/set/html_views/rule_lists.rb', line 13

view :quick_edit_setting_list, setting_list_view_options do
  quick_edit_setting_list
end