card-mod-rules 0.14.1 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
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