card-mod-rules 0.14.2 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/script/rules.js.coffee +52 -0
- data/assets/style/rules.scss +143 -0
- data/data/files/mod_rules_script_asset_output/file.js +2 -0
- data/data/files/mod_rules_script_local_machine_output/file.js +31 -0
- data/data/real.yml +27 -0
- data/locales/de.yml +1 -0
- data/locales/en.yml +1 -0
- data/set/abstract/virtual_set.rb +3 -0
- data/set/all/cardtype_groups.rb +1 -2
- data/set/all/related_sets.rb +2 -18
- data/set/all/set_select.rb +58 -0
- data/set/right/right.rb +7 -0
- data/set/right/self.rb +8 -0
- data/set/right/type.rb +7 -0
- data/set/right/type_plus_right.rb +9 -2
- data/set/rule/bar_view.rb +21 -32
- data/set/rule/bridge_rules_editor.rb +1 -1
- data/set/rule/editor.rb +29 -7
- data/set/rule/quick_editor/quick_edit.haml +2 -2
- data/set/rule/quick_editor.rb +1 -1
- data/set/rule/rule_form/rule_form.haml +1 -3
- data/set/rule/rule_form/rule_set_radio.rb +16 -13
- data/set/rule/rule_form/set_selection.rb +3 -20
- data/set/rule/rule_form.rb +19 -3
- data/set/self/cardtype.rb +0 -2
- data/set/self/recent_settings.rb +2 -0
- data/set/type/cardtype.rb +1 -1
- data/set/type/set/html_views/filtered_rule_lists.rb +23 -0
- data/set/type/set/html_views/rule_lists.rb +80 -22
- data/set/type/set/html_views/setting_filter.rb +38 -0
- data/set/type/set/html_views.rb +4 -31
- data/set/type/set/setting_categories.rb +67 -0
- data/set/type/set.rb +10 -4
- data/set/type/setting/core.haml +11 -0
- data/set/type/setting.rb +3 -1
- data/set/type_plus_right/set/setting.rb +12 -0
- data/set/type_plus_right/set/structure.rb +10 -0
- metadata +25 -14
- data/assets/script/script_rules.js.coffee +0 -23
- data/set/rule/rule_form/form_elements.rb +0 -52
- data/set/type/set/html_views/group_panel.haml +0 -14
- data/set/type/set/rules_filter.rb +0 -60
- 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
|