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
@@ -1,23 +0,0 @@
1
- $(window).ready ->
2
- # permissions mod
3
- $('body').on 'click', '.perm-vals input', ->
4
- $(this).slot().find('#inherit').attr('checked',false)
5
-
6
- $('body').on 'click', '.perm-editor #inherit', ->
7
- slot = $(this).slot()
8
- slot.find('.perm-group input:checked').attr('checked', false)
9
- slot.find('.perm-indiv input').val('')
10
-
11
- # rstar mod
12
- $('body').on 'click', '._rule-submit-button', ->
13
- f = $(this).closest('form')
14
- checked = f.find('.set-editor input:checked')
15
- if checked.val()
16
- if checked.attr('warning')
17
- confirm checked.attr('warning')
18
- else
19
- true
20
- else
21
- f.find('.set-editor').addClass('attention')
22
- $(this).notify 'To what Set does this Rule apply?'
23
- false
@@ -1,52 +0,0 @@
1
- format :html do
2
- #### DEPRECATED
3
-
4
- def rule_set_selection
5
- wrap_with :div, class: "set-list" do
6
- [rule_set_formgroup, related_set_formgroup]
7
- end
8
- end
9
-
10
- def rule_set_formgroup
11
- tag = @rule_context.rule_user_setting_name
12
- narrower = []
13
- option_list "Set" do
14
- rule_set_options.map do |set_name, state|
15
- rule_set_radio_button set_name, tag, state, narrower
16
- end
17
- end
18
- end
19
-
20
- def related_set_formgroup
21
- related_sets = related_sets_in_context
22
- return "" unless related_sets&.present?
23
-
24
- tag = @rule_context.rule_user_setting_name
25
- option_list "related set" do
26
- related_rule_radios related_sets, tag
27
- end
28
- end
29
-
30
- def related_sets_in_context
31
- set_context = @rule_context.rule_set_name
32
- set_context && Card.fetch(set_context).prototype.related_sets
33
- end
34
-
35
- def option_list title, &block
36
- formgroup title, input: "set", class: "col-xs-6", help: false do
37
- wrap_with :ul do
38
- wrap_each_with(:li, class: "radio", &block)
39
- end
40
- end
41
- end
42
-
43
- def related_rule_radios related_sets, tag
44
- related_sets.map do |set_name, _label|
45
- rule_name = "#{set_name}+#{tag}"
46
- state = Card.exists?(rule_name) ? :exists : nil
47
- rule_radio set_name, state do
48
- radio_button :name, rule_name
49
- end
50
- end
51
- end
52
- end
@@ -1,14 +0,0 @@
1
- - heading_id = "heading-#{group_key}"
2
- - collapse_id = "collapse-#{card.name.safe_key}-#{group_key}"
3
- .card
4
- .card-header{ role: "tab", id: heading_id }
5
- %h5.mb-0
6
- = link_to (t("rules_#{group_key}") || group_key.to_s),
7
- href: "##{collapse_id}",
8
- "data-toggle": "collapse", "aria-expanded": "false",
9
- "data-parent": "#accordion", "aria-controls": collapse_id
10
- .panel-collapse.collapse{ id: collapse_id,
11
- role: "tabpanel",
12
- "aria-labelledby": heading_id }
13
- .card-body
14
- = bar_rule_list card.visible_settings(group_key).map(&:codename)
@@ -1,60 +0,0 @@
1
- format :html do
2
- def rules_filter view, selected_setting=nil, set_options=nil, path_opts={}
3
- form_tag path(path_opts.merge(view: view)),
4
- remote: true, method: "get", role: "filter",
5
- "data-slot-selector": ".card-slot.rule-list",
6
- class: classy("nodblclick slotter form-inline slim-select2 m-2") do
7
- output [
8
- label_tag(:view, icon_tag("filter_list"), class: "mr-2"),
9
- setting_select(selected_setting),
10
- set_select(set_options)
11
- ].flatten
12
- end
13
- end
14
-
15
- def set_select set_options
16
- return filter_text.html_safe unless set_options
17
-
18
- [content_tag(:span, "rules that apply to set ...", class: "mx-2 small"),
19
- set_select_tag(set_options)]
20
- end
21
-
22
- def setting_select selected=nil
23
- select_tag(:group, grouped_options_for_select(setting_options, selected),
24
- class: "_submit-on-select form-control",
25
- "data-select2-id": "#{unique_id}-#{Time.now.to_i}")
26
- end
27
-
28
- def filter_text
29
- wrap_with :span, class: "mx-2 small" do
30
- "rules that apply to #{_render_set_label.downcase}" # LOCALIZE
31
- end
32
- end
33
-
34
- def set_select_tag set_options=:related
35
- select_tag(:mark, set_select_options(set_options),
36
- class: "_submit-on-select form-control _close-rule-overlay-on-select",
37
- "data-minimum-results-for-search": "Infinity",
38
- "data-select2-id": "#{unique_id}-#{Time.now.to_i}")
39
- end
40
-
41
- def selected_set
42
- params[:set]
43
- end
44
-
45
- def set_select_options set_options
46
- options =
47
- if set_options == :related
48
- related_set_options
49
- else
50
- [[card.label, card.name.url_key]]
51
- end
52
- options_for_select(options, selected_set)
53
- end
54
-
55
- def related_set_options
56
- card.related_sets(true).map do |name, label|
57
- [label, name.to_name.url_key]
58
- end
59
- end
60
- end
@@ -1,76 +0,0 @@
1
- format :html do
2
- SETTING_OPTIONS = [["Common", :common_rules],
3
- ["All", :all_rules],
4
- ["Field", :field_related_rules],
5
- ["Recent", :recent_rules]].freeze
6
-
7
- COMMON_SETTINGS = %i[create read update delete structure default guide].freeze
8
- FIELD_SETTINGS = %i[default help].freeze
9
-
10
- def setting_options
11
- [["Categories", SETTING_OPTIONS],
12
- ["Groups", Card::Setting.groups.keys],
13
- ["Single rules", card.visible_setting_codenames]]
14
- end
15
-
16
- def field_settings
17
- %i[default help input_type content_options content_option_view]
18
- end
19
-
20
- # @param val setting category, setting group or single setting
21
- def setting_list val
22
- category_setting_list(val) || group_setting_list(val) || [val]
23
- end
24
-
25
- def group_setting_list group
26
- card.visible_settings(group).map(&:codename) if Card::Setting.groups[group]
27
- end
28
-
29
- def category_setting_list cat
30
- case cat
31
- when :all, :all_rules
32
- card.visible_setting_codenames.sort
33
- when :recent, :recent_rules
34
- recent_settings
35
- when :common, :common_rules
36
- card.visible_setting_codenames & COMMON_SETTINGS
37
- when :field_related, :field_related_rules
38
- field_related_settings
39
- when :nest_editor_field_related
40
- nest_editor_field_related_settings
41
- end
42
- end
43
-
44
- def nest_editor_field_related_settings
45
- field_settings
46
- # & card.visible_settings(nil, card.prototype_default_type_id).map(&:codename)
47
- end
48
-
49
- def field_related_settings
50
- field_settings # card.visible_setting_codenames &
51
- end
52
-
53
- def recent_settings
54
- recent_settings = Card[:recent_settings].item_cards.map(&:codename)
55
- recent_settings.map(&:to_sym) & card.visible_setting_codenames
56
- end
57
-
58
- view :all_rules_list do
59
- pill_rule_list card.visible_setting_codenames.sort
60
- end
61
-
62
- view :recent_rules_list do
63
- recent_settings = Card[:recent_settings].item_cards.map(&:codename)
64
- settings = recent_settings.map(&:to_sym) & card.visible_setting_codenames
65
- pill_rule_list settings
66
- end
67
-
68
- view :common_rules_list do
69
- settings = card.visible_setting_codenames & COMMON_SETTINGS # "&" = set intersection
70
- pill_rule_list settings
71
- end
72
-
73
- view :field_related_rules_list do
74
- pill_rule_list field_related_settings
75
- end
76
- end