card-mod-rules 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/assets/script/rules.js.coffee +52 -0
  3. data/assets/style/rules.scss +143 -0
  4. data/data/files/mod_rules_script_asset_output/file.js +2 -0
  5. data/data/files/mod_rules_script_local_machine_output/file.js +31 -0
  6. data/data/real.yml +27 -0
  7. data/locales/de.yml +1 -0
  8. data/locales/en.yml +1 -0
  9. data/set/abstract/virtual_set.rb +3 -0
  10. data/set/all/cardtype_groups.rb +1 -2
  11. data/set/all/related_sets.rb +2 -18
  12. data/set/all/set_select.rb +58 -0
  13. data/set/right/right.rb +7 -0
  14. data/set/right/self.rb +8 -0
  15. data/set/right/type.rb +7 -0
  16. data/set/right/type_plus_right.rb +9 -2
  17. data/set/rule/bar_view.rb +21 -32
  18. data/set/rule/bridge_rules_editor.rb +1 -1
  19. data/set/rule/editor.rb +29 -7
  20. data/set/rule/quick_editor/quick_edit.haml +2 -2
  21. data/set/rule/quick_editor.rb +1 -1
  22. data/set/rule/rule_form/rule_form.haml +1 -3
  23. data/set/rule/rule_form/rule_set_radio.rb +16 -13
  24. data/set/rule/rule_form/set_selection.rb +3 -20
  25. data/set/rule/rule_form.rb +19 -3
  26. data/set/self/cardtype.rb +0 -2
  27. data/set/self/recent_settings.rb +2 -0
  28. data/set/type/cardtype.rb +1 -1
  29. data/set/type/set/html_views/filtered_rule_lists.rb +23 -0
  30. data/set/type/set/html_views/rule_lists.rb +80 -22
  31. data/set/type/set/html_views/setting_filter.rb +38 -0
  32. data/set/type/set/html_views.rb +4 -31
  33. data/set/type/set/setting_categories.rb +67 -0
  34. data/set/type/set.rb +10 -4
  35. data/set/type/setting/core.haml +11 -0
  36. data/set/type/setting.rb +3 -1
  37. data/set/type_plus_right/set/setting.rb +12 -0
  38. data/set/type_plus_right/set/structure.rb +10 -0
  39. metadata +25 -14
  40. data/assets/script/script_rules.js.coffee +0 -23
  41. data/set/rule/rule_form/form_elements.rb +0 -52
  42. data/set/type/set/html_views/group_panel.haml +0 -14
  43. data/set/type/set/rules_filter.rb +0 -60
  44. data/set/type/set/setting_lists.rb +0 -76
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76df841565cfbc1af14cc8254bcfe6ccd2c55165d1eb89ccf50fae1f8c97cbc5
4
- data.tar.gz: 55b2f4f2544cdaa76b48f34d6ac3f43ea131e94d8044c466bf3a17bfcb3932e2
3
+ metadata.gz: 4ecb97a316ef0bfee6882f767ca857ee54fbf40ed881237ebd065242e673a48f
4
+ data.tar.gz: 23eb3ef3989cd20109fbc57bbaff9aaca02cdb7d40ea8a1c955cdb0b448ebe39
5
5
  SHA512:
6
- metadata.gz: 7fee7431bbf244515d5d7725cf5fee4165f1f16ed32b5a0befca81fbf0736015d6bed77ab265d1f3831f20dc6a90e8fe617b187267ab4672511038d506b1067a
7
- data.tar.gz: f859e166cd5dbd272128c6f646b1ecc818a06330f34579279fde7b7879bcd13226bdfdce3027d1150e153c77c5ebdc7fc2fe961ec17ffb4143a8eb85b89c80b5
6
+ metadata.gz: 7e27e841c4b8be319ab4bb181f2f90b69cb44a19dce7cf80f88e88bcb95052cee0a346300f82c14466cb4cac0e5a9080ac44d7968dc7503649be94cd02858ea5
7
+ data.tar.gz: a021b5396339c33ce1dd7e2f3a0ce2e902c317993ee688817df866d67232be39777b001bded3d681ae25aece75012601f8b76c39e0ea66feb125a5998d9b600c
@@ -0,0 +1,52 @@
1
+ decko.slot.ready (slot)->
2
+ slot.find('._setting-filter').each () ->
3
+ decko.filterRulesByCategory $(this).closest(".card-slot"), $(this).find('input._setting-category:checked').attr("id")
4
+
5
+ $.extend decko,
6
+ filterRulesByCategory: (container, category) ->
7
+ $(container).find('._setting-list ._setting-group').each (_i) ->
8
+ $list = $(this)
9
+ items = $list.find('._rule-item')
10
+ hiddenCount = 0
11
+ items.each () ->
12
+ $item = $(this)
13
+ wrapper = if $item.parent().is("li") then $item.parent() else $item
14
+ if $item.hasClass("_category-#{category}")
15
+ wrapper.show()
16
+ else
17
+ wrapper.hide()
18
+ hiddenCount += 1
19
+
20
+ if (hiddenCount == items.length)
21
+ $list.hide()
22
+ else
23
+ $list.show()
24
+ $list.find('._count').html(items.length - hiddenCount)
25
+
26
+ $(window).ready ->
27
+ # permissions mod
28
+ $('body').on 'click', '.perm-vals input', ->
29
+ $(this).slot().find('#inherit').attr('checked',false)
30
+
31
+ $('body').on 'click', '.perm-editor #inherit', ->
32
+ slot = $(this).slot()
33
+ slot.find('.perm-group input:checked').attr('checked', false)
34
+ slot.find('.perm-indiv input').val('')
35
+
36
+ # rstar mod
37
+ $('body').on 'click', '._rule-submit-button', ->
38
+ f = $(this).closest('form')
39
+ checked = f.find('._set-editor input:checked')
40
+ if checked.val()
41
+ if checked.attr('warning')
42
+ confirm checked.attr('warning')
43
+ else
44
+ true
45
+ else
46
+ f.find('._set-editor').addClass('warning')
47
+ $(this).notify 'To what Set does this Rule apply?'
48
+ false
49
+
50
+ $('body').on 'click', 'input._setting-category', ->
51
+ category = $(this).attr("id")
52
+ decko.filterRulesByCategory($(this).closest('.card-slot'), category)
@@ -0,0 +1,143 @@
1
+
2
+ /*-------------------------- */
3
+ /*- SETS, SETTINGS, RULES - */
4
+ /*-------------------------- */
5
+
6
+ .setting-klass,
7
+ .rule-setting {
8
+ font-weight: bold;
9
+ }
10
+
11
+ .rule-set {
12
+ white-space: nowrap;
13
+ }
14
+
15
+ .closed-rule {
16
+ height: 30px;
17
+ .rule-content {
18
+ width: 350px;
19
+ }
20
+ }
21
+
22
+ .rule-content-container {
23
+ max-width: 350px;
24
+ overflow: hidden;
25
+ text-overflow: ellipsis;
26
+ line-height: inherit;
27
+ background: inherit;
28
+ white-space: nowrap;
29
+ .closed-content,
30
+ .closed-content .pointer-list,
31
+ .closed-content .search-list {
32
+ margin: 0;
33
+ }
34
+ }
35
+ .rule-setting {
36
+ padding-top: 4px;
37
+ }
38
+ .open-rule > .rule-setting {
39
+ width: 28%;
40
+ float: left;
41
+ }
42
+ .open-rule .d0-card-body {
43
+ clear: both;
44
+ }
45
+ .open-rule .rule-instruction {
46
+ float: right;
47
+ text-align: left;
48
+ max-width: 68%;
49
+ }
50
+ .edit-rule,
51
+ .set-list{
52
+ .set-editor {
53
+ ul {
54
+ list-style-type: none;
55
+ }
56
+ .current-set-label {
57
+ font-weight: bold;
58
+ }
59
+ }
60
+ .edit-button-area {
61
+ clear: both;
62
+ padding-top: 5px;
63
+ }
64
+ }
65
+ .rule-delete-section {
66
+ float: right;
67
+ }
68
+ .guide-line-number {
69
+ display: inline-block;
70
+ background: #000;
71
+ color: $white;
72
+ border-radius: 100%;
73
+ width: 21px;
74
+ height: 21px;
75
+ font-size: 61%;
76
+ text-align: center;
77
+ padding-top: 3px;
78
+ font-weight: bold;
79
+ margin-left: -1.7rem;
80
+ position: relative;
81
+ top: -5px;
82
+ left: -4px;
83
+ }
84
+
85
+ .guide-line {
86
+ border-left: 1px solid $border-color;
87
+ }
88
+
89
+ .rule-section {
90
+ padding-left: 20px;
91
+ margin-left: 12px;
92
+ margin-right: 5px;
93
+ h4 {
94
+ position: relative;
95
+ top: -4px;
96
+ }
97
+ }
98
+
99
+ .template_link-view {
100
+ display: inline;
101
+ }
102
+
103
+ .rule-item {
104
+ h5 {
105
+ font-weight: bold;
106
+ }
107
+ background-color: $list-group-bg;
108
+ border: 1px solid $list-group-border-color;
109
+ border-left: 5px solid $list-group-border-color;
110
+ margin-bottom: -1px;
111
+ padding: 5px;
112
+ &:hover, &.active {
113
+ border-left-color: $list-group-active-bg;
114
+ }
115
+ }
116
+
117
+ // reduce bottom margins
118
+ .card-slot.set-info {
119
+ .form-group {
120
+ margin-bottom: 0.3rem;
121
+ label {
122
+ margin-bottom: 0.2rem;
123
+ }
124
+ }
125
+ p {
126
+ margin-bottom: 0.5rem;
127
+ }
128
+ }
129
+
130
+ .help-text.rule-instruction > div p:last-child {
131
+ margin-bottom: 0;
132
+ }
133
+
134
+ a.setting-link {
135
+ font-style: italic;
136
+ margin-left: 2%;
137
+ font-weight: normal;
138
+ color: $black;
139
+ white-space: nowrap;
140
+ }
141
+ h2.set-label {
142
+ padding-bottom: 10px;
143
+ }
@@ -0,0 +1,2 @@
1
+ // rules.js.coffee
2
+ (function(){decko.slot.ready(function(t){return t.find("._setting-filter").each(function(){return decko.filterRulesByCategory($(this).closest(".card-slot"),$(this).find("input._setting-category:checked").attr("id"))})}),$.extend(decko,{filterRulesByCategory:function(t,i){return $(t).find("._setting-list ._setting-group").each(function(){var t,n,e;return e=(t=$(this)).find("._rule-item"),n=0,e.each(function(){var t,e;return e=(t=$(this)).parent().is("li")?t.parent():t,t.hasClass("_category-"+i)?e.show():(e.hide(),n+=1)}),n===e.length?t.hide():(t.show(),t.find("._count").html(e.length-n))})}}),$(window).ready(function(){return $("body").on("click",".perm-vals input",function(){return $(this).slot().find("#inherit").attr("checked",!1)}),$("body").on("click",".perm-editor #inherit",function(){var t;return(t=$(this).slot()).find(".perm-group input:checked").attr("checked",!1),t.find(".perm-indiv input").val("")}),$("body").on("click","._rule-submit-button",function(){var t,i;return(t=(i=$(this).closest("form")).find("._set-editor input:checked")).val()?!t.attr("warning")||confirm(t.attr("warning")):(i.find("._set-editor").addClass("warning"),$(this).notify("To what Set does this Rule apply?"),!1)}),$("body").on("click","input._setting-category",function(){var t;return t=$(this).attr("id"),decko.filterRulesByCategory($(this).closest(".card-slot"),t)})})}).call(this);
@@ -0,0 +1,31 @@
1
+ // script_rules.js.coffee
2
+ (function() {
3
+ $(window).ready(function() {
4
+ $('body').on('click', '.perm-vals input', function() {
5
+ return $(this).slot().find('#inherit').attr('checked', false);
6
+ });
7
+ $('body').on('click', '.perm-editor #inherit', function() {
8
+ var slot;
9
+ slot = $(this).slot();
10
+ slot.find('.perm-group input:checked').attr('checked', false);
11
+ return slot.find('.perm-indiv input').val('');
12
+ });
13
+ return $('body').on('click', '._rule-submit-button', function() {
14
+ var checked, f;
15
+ f = $(this).closest('form');
16
+ checked = f.find('.set-editor input:checked');
17
+ if (checked.val()) {
18
+ if (checked.attr('warning')) {
19
+ return confirm(checked.attr('warning'));
20
+ } else {
21
+ return true;
22
+ }
23
+ } else {
24
+ f.find('.set-editor').addClass('attention');
25
+ $(this).notify('To what Set does this Rule apply?');
26
+ return false;
27
+ }
28
+ });
29
+ });
30
+
31
+ }).call(this);
data/data/real.yml ADDED
@@ -0,0 +1,27 @@
1
+ ---
2
+ - :name: Setting
3
+ :type: :cardtype
4
+ :codename: setting
5
+ :fields:
6
+ :description: |-
7
+ Settings affect how cards look and behave.
8
+ [[http://www.decko.org/Setting|Learn more about settings.]]
9
+ :self:
10
+ :fields:
11
+ :update: Administrator
12
+ - :name: Set
13
+ :type: :cardtype
14
+ :codename: set
15
+ :fields:
16
+ :description: |-
17
+ Sets define a group of cards to which settings can apply.
18
+ [[http://www.decko.org/Set|Learn more about sets.]]
19
+ :self:
20
+ :fields:
21
+ :structure: |-
22
+ <p>{{+description}}</p>
23
+ <h1>{{_self|name}} Cards</h1>
24
+ <blockquote>
25
+ <p>{{+:type+:by_name}}</p>
26
+ </blockquote>
27
+
data/locales/de.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  de:
2
+ rules_header: Regeln
2
3
  rules_config: Konfiguration
3
4
  rules_event: Ereignisse
4
5
  rules_other: Sonstige
data/locales/en.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  en:
2
+ rules_header: Rules
2
3
  rules_config: Config
3
4
  rules_event: Events
4
5
  rules_other: Other
@@ -0,0 +1,3 @@
1
+ def virtual?
2
+ new?
3
+ end
@@ -7,8 +7,7 @@ GROUP = {
7
7
  "Organize" => ["List", "Pointer", "Search", "Link list", "Nest list"],
8
8
  "Template" => ["Notification template", "Email template", "Twitter template"],
9
9
  "Admin" => ["Cardtype", "User", "Role", "Sign up", "Session", "Set", "Setting"],
10
- "Styling" => ["Layout", "Skin", "Bootswatch skin", "Customized bootswatch skin",
11
- "CSS", "SCSS"],
10
+ "Styling" => ["Layout", "Skin", "Bootswatch skin", "CSS", "SCSS"],
12
11
  "Scripting" => %w[JSON JavaScript CoffeeScript]
13
12
  }.freeze
14
13
 
@@ -3,23 +3,7 @@ def related_sets with_self=false
3
3
  # NOT to sets to which the current card belongs
4
4
 
5
5
  [].tap do |sets|
6
- sets << [self_set_name, self_set_label] if with_self
7
- sets << [right_set_name, right_set_label] if known? && simple?
6
+ sets << Card.fetch(name, :self) if with_self
7
+ sets << Card.fetch(name, :right) if known? && simple?
8
8
  end
9
9
  end
10
-
11
- def self_set_name
12
- Name[name, :self]
13
- end
14
-
15
- def self_set_label
16
- Card::Set::Self.label name
17
- end
18
-
19
- def right_set_name
20
- Name[name, :right]
21
- end
22
-
23
- def right_set_label
24
- Card::Set::Right.label name
25
- end
@@ -0,0 +1,58 @@
1
+ format :html do
2
+ def set_select set_list_type,
3
+ setting_list_view=:filtered_accordion_rule_list,
4
+ path_opts={}
5
+ card_select card.set_list(set_list_type), setting_list_view, path_opts, "Select set"
6
+ end
7
+
8
+ def card_select cards, view, path_opts={}, placeholder=nil
9
+ form_tag path(path_opts.merge(view: view, mark: "")),
10
+ remote: true, method: "get", role: "filter",
11
+ "data-slot-selector": ".card-slot._fixed-slot",
12
+ class: "nodblclick slotter" do
13
+ output [
14
+ set_select_tag(cards, placeholder),
15
+ content_tag(:div, "", class: "card-slot _fixed-slot")
16
+ ]
17
+ end
18
+ end
19
+
20
+ view :card_select, wrap: :slot do
21
+ card_select card.set_list(:related),
22
+ :filtered_accordion_rule_list, {}, "Select set"
23
+ end
24
+
25
+ private
26
+
27
+ def set_select_tag cards, placeholder=nil
28
+ options = cards.map(&:label_and_url_key)
29
+ options.unshift("") if placeholder
30
+ select_tag(:mark, options_for_select(options),
31
+ class: "_submit-on-select form-control _close-rule-overlay-on-select",
32
+ "data-minimum-results-for-search": "Infinity",
33
+ "data-placeholder": "Select set",
34
+ "data-select2-id": "#{unique_id}-#{Time.now.to_i}")
35
+ end
36
+
37
+ def set_alert set_list_type
38
+ wrap_with :div, class: "alert alert-info" do
39
+ [
40
+ "Rules apply to:",
41
+ card.set_list(set_list_type).first.name,
42
+ link_to_card(card, "More sets and settings",
43
+ path: { view: :rules }, target: "_blank")
44
+ ]
45
+ end
46
+ end
47
+ end
48
+
49
+ def set_list set_list_type
50
+ case set_list_type
51
+ when :related
52
+ related_sets(true)
53
+ when :broader
54
+ broader_sets
55
+ else
56
+ [Card[self, :self]]
57
+ end
58
+ end
@@ -0,0 +1,7 @@
1
+ include_set Abstract::VirtualSet
2
+
3
+ assign_type :set
4
+
5
+ def cql_content
6
+ { right: "_left" }
7
+ end
data/set/right/self.rb CHANGED
@@ -1,3 +1,11 @@
1
+ include_set Abstract::VirtualSet
2
+
3
+ assign_type :set
4
+
5
+ def cql_content
6
+ { name: "_left" }
7
+ end
8
+
1
9
  def prototype_default_card
2
10
  left
3
11
  end
data/set/right/type.rb ADDED
@@ -0,0 +1,7 @@
1
+ include_set Abstract::VirtualSet
2
+
3
+ assign_type :set
4
+
5
+ def cql_content
6
+ { type: "_left" }
7
+ end
@@ -1,4 +1,11 @@
1
+ include_set Abstract::VirtualSet
2
+
3
+ assign_type :set
4
+
5
+ def cql_content
6
+ { left: { type: "_LL" }, right: "_LR" }
7
+ end
8
+
1
9
  def related_sets _with_self=false
2
- [[name, Card::Set::TypePlusRight.label(name.left)],
3
- ["#{name[1]}+*right", Card::Set::Right.label(name[1])]]
10
+ [self, Card.fetch(name[1], :right)]
4
11
  end
data/set/rule/bar_view.rb CHANGED
@@ -1,20 +1,17 @@
1
1
  format :html do
2
- bar_cols 6, 6
3
- info_bar_cols 5, 4, 3
2
+ mini_bar_cols 6, 6
3
+ bar_cols 5, 4, 3
4
4
 
5
5
  def existing_rule_card
6
6
  @existing_rule_card ||= find_existing_rule_card
7
7
  end
8
8
 
9
9
  view :bar, unknown: true do
10
+ class_up "card-slot", "_rule-item #{category_classes}"
10
11
  voo.hide :bar_nav unless existing_rule_card
11
12
  super()
12
13
  end
13
14
 
14
- view :expanded_bar, unknown: true do
15
- super()
16
- end
17
-
18
15
  view :one_line_content,
19
16
  wrap: { div: { class: "text-muted one-line" } }, unknown: true do
20
17
  return render_mini_unknown unless existing_rule_card
@@ -40,15 +37,11 @@ format :html do
40
37
  end
41
38
 
42
39
  view :bar_middle, unknown: true do
43
- rule_info
44
- end
45
-
46
- view :bar_left, unknown: true do
47
- super()
40
+ # rule_info
48
41
  end
49
42
 
50
43
  view :bar_right, unknown: true do
51
- voo.show?(:bar_bottom) ? rule_info : rule_short_content
44
+ rule_short_content
52
45
  end
53
46
 
54
47
  def rule_short_content
@@ -59,35 +52,31 @@ format :html do
59
52
  { set_context: card.name.trunk_name }
60
53
  end
61
54
 
62
- def bar_title
63
- return super() if voo.show? :full_name
64
-
65
- linking_to_existing_rule { card.rule_setting_title }
66
- end
55
+ private
67
56
 
68
57
  # LOCALIZE
69
58
  def rule_info
70
- return wrap_with(:em, "no existing #{setting_link} rule") unless existing_rule_card
71
-
72
- wrap_with :span,
73
- "#{rule_setting_link} rule that applies to "\
74
- "#{rule_set_link existing_rule_card}"
59
+ if existing_rule_card
60
+ wrap_with :span,
61
+ "#{rule_setting_link} rule that applies to #{existing_rule_set_link}"
62
+ else
63
+ wrap_with :em, "no existing #{rule_setting_link} rule"
64
+ end
75
65
  end
76
66
 
77
67
  def rule_setting_link
78
- link_to_card card.rule_setting, card.rule_setting_name
68
+ link_to_card card.rule_setting, card.rule_setting_name, class: "_over-card-link"
79
69
  end
80
70
 
81
- def rule_set_link existing_rule
82
- count = link_to_card [card.rule_set, :by_name], card.rule_set.count
83
- "#{link_to_card card.rule_set, existing_rule.trunk&.label&.downcase} (#{count})"
71
+ def existing_rule_set_link
72
+ rule_set_link existing_rule_card
84
73
  end
85
74
 
86
- private
87
-
88
- def linking_to_existing_rule
89
- return yield unless existing_rule_card && voo.show?(:toggle)
90
-
91
- link_to_view bar_title_toggle_view, yield
75
+ def rule_set_link existing_rule
76
+ count = link_to_card [card.rule_set, :by_name], card.rule_set.count
77
+ link = link_to_card card.rule_set,
78
+ existing_rule.trunk&.label&.downcase,
79
+ class: "_over-card-link"
80
+ "#{link} (#{count})"
92
81
  end
93
82
  end
@@ -19,7 +19,7 @@ format :html do
19
19
  end
20
20
 
21
21
  def setting_link
22
- wrap_with :div, class: "ml-auto" do
22
+ wrap_with :div, class: "ms-auto" do
23
23
  link_to_card card.rule_setting_name,
24
24
  " (#{card.rule_setting.count} #{card.rule_setting_title} rules)",
25
25
  class: "text-muted"
data/set/rule/editor.rb CHANGED
@@ -5,7 +5,7 @@ def left_type_for_nest_editor_set_selection
5
5
  when TypeID
6
6
  rule_set.anchor_name
7
7
  when SelfID
8
- rule_set.anchor.type_name
8
+ rule_set.anchor&.type_name || Card.new(name: rule_set.anchor_name).type_name
9
9
  else
10
10
  super
11
11
  end
@@ -27,12 +27,34 @@ format :html do
27
27
  end
28
28
  end
29
29
 
30
+ view :rule_nest_editor_link, unknown: true do
31
+ pill_rule_link :modal_rule
32
+ end
33
+
30
34
  view :rule_bridge_link, unknown: true do
31
- opts = bridge_link_opts(class: "edit-rule-link nav-link",
32
- "data-toggle": "pill",
33
- "data-cy": "#{setting_title.to_name.key}-pill")
35
+ pill_rule_link :overlay_rule
36
+ end
37
+
38
+ def pill_rule_link target_view
39
+ link_to_view target_view, (setting_title + short_help_text),
40
+ pill_rule_link_opts
41
+ end
42
+
43
+ def pill_rule_link_opts
44
+ opts = bridge_link_opts(
45
+ class: "edit-rule-link nav-link _rule-item #{category_classes}",
46
+ "data-bs-toggle": "pill",
47
+ "data-category": card.rule_set.categories(card.rule_setting.codename).join(" "),
48
+ "data-cy": "#{setting_title.to_name.key}-pill"
49
+ )
34
50
  opts[:path].delete(:layout)
35
- link_to_view(:overlay_rule, (setting_title + short_help_text), opts)
51
+ opts
52
+ end
53
+
54
+ def category_classes
55
+ card.rule_set.categories(card.rule_setting.codename)
56
+ .map { |cat| "_category-#{cat}" }
57
+ .join(" ")
36
58
  end
37
59
 
38
60
  def edit_link_view
@@ -41,7 +63,7 @@ format :html do
41
63
 
42
64
  def edit_rule_title
43
65
  output [
44
- wrap_with(:h5, setting_title, class: "title font-weight-bold")
66
+ wrap_with(:h5, setting_title, class: "title fw-bold")
45
67
  # render_overlay_rule_help
46
68
  ]
47
69
  end
@@ -78,7 +100,7 @@ format :html do
78
100
  success = @edit_rule_success
79
101
  wrap_type_formgroup do
80
102
  type_field(
81
- href: path(mark: success[:id], view: :rule_form, assign: true),
103
+ href: path(mark: success[:id], view: :rule_form_card_editor, assign: true),
82
104
  class: "type-field rule-type-field _live-type-field",
83
105
  "data-remote" => true
84
106
  )
@@ -1,5 +1,5 @@
1
- .rule-item
2
- %h6.font-weight-bold
1
+ .rule-item._rule-item{ class: category_classes }
2
+ %h6.fw-bold
3
3
  = setting_title
4
4
  = short_help_text
5
5
  = quick_form
@@ -30,7 +30,7 @@ format :html do
30
30
 
31
31
  def undo_button
32
32
  link_to "undo", method: :post, rel: "nofollow", remote: true,
33
- class: "btn btn-secondary ml-2 btn-sm btn-reduced-padding slotter",
33
+ class: "btn btn-secondary ms-2 btn-sm btn-reduced-padding slotter",
34
34
  "data-slot-selector": ".card-slot.quick_edit-view",
35
35
  path: { action: :update,
36
36
  revert_actions: [card.last_action_id],
@@ -3,9 +3,7 @@
3
3
  .guide-line-number 1
4
4
  Define rule
5
5
  -# = popover_link "Help text to explain this section"
6
- .card-editor
7
- = rules_type_formgroup
8
- = rule_content_formgroup
6
+ = render(:rule_form_card_editor)
9
7
  .rule-section
10
8
  %h5
11
9
  .guide-line-number 2