card 1.20.4 → 1.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/card.gemspec +9 -9
- data/db/migrate_core_cards/20170515101262_add_advanced_edit_cards.rb +20 -0
- data/db/migrate_core_cards/20170608083819_add_full_width_layout_card.rb +23 -0
- data/db/migrate_core_cards/20170608200649_add_input_options_codename.rb +8 -0
- data/db/seed/new/card_actions.yml +783 -791
- data/db/seed/new/card_acts.yml +65 -47
- data/db/seed/new/card_changes.yml +3198 -3177
- data/db/seed/new/card_references.yml +604 -534
- data/db/seed/new/cards.yml +2355 -2256
- data/db/seed/test/fixtures/card_actions.yml +1795 -1803
- data/db/seed/test/fixtures/card_acts.yml +264 -246
- data/db/seed/test/fixtures/card_changes.yml +6275 -6184
- data/db/seed/test/fixtures/card_references.yml +1305 -1263
- data/db/seed/test/fixtures/cards.yml +3393 -3298
- data/db/seed/test/seed.rb +2 -2
- data/db/version_core_cards.txt +1 -1
- data/lib/card.rb +4 -0
- data/lib/card/act_manager/subdirector_array.rb +1 -0
- data/lib/card/auth/current.rb +7 -3
- data/lib/card/env.rb +5 -0
- data/lib/card/env/success.rb +1 -1
- data/lib/card/format/names.rb +3 -13
- data/lib/card/model/save_helper.rb +4 -6
- data/lib/card/query.rb +2 -1
- data/lib/card/query/attributes.rb +34 -14
- data/lib/card/query/value.rb +3 -4
- data/lib/card/set/format.rb +29 -4
- data/lib/card/set/format/haml_views.rb +25 -13
- data/lib/card/set/trait.rb +1 -0
- data/lib/card/set_pattern.rb +17 -1
- data/lib/card/subcards.rb +3 -2
- data/lib/generators/card/format/format_generator.rb +2 -0
- data/lib/generators/card/set/set_generator.rb +2 -0
- data/lib/generators/card/template/USAGE +10 -0
- data/lib/generators/card/template/template_generator.rb +46 -0
- data/lib/generators/card/template/templates/haml_template.erb +1 -0
- data/mod/Modfile +1 -1
- data/mod/account/set/all/account.rb +9 -5
- data/mod/account/set/right/account.rb +17 -5
- data/mod/account/set/self/account_links.rb +1 -2
- data/mod/account/set/type/signup.rb +4 -5
- data/mod/account/set/type/user.rb +1 -1
- data/mod/account/spec/set/all/account_spec.rb +2 -2
- data/mod/account/spec/set/right/account_spec.rb +2 -2
- data/mod/account/spec/set/right/email_spec.rb +1 -1
- data/mod/account/spec/set/right/password_spec.rb +1 -1
- data/mod/account/spec/set/self/signin_spec.rb +2 -2
- data/mod/account/spec/set/type/signup_spec.rb +4 -0
- data/mod/ace_editor/set/abstract/ace_editor.rb +6 -3
- data/mod/ace_editor/set/self/script_ace.rb +1 -0
- data/mod/admin/set/self/admin.rb +1 -1
- data/mod/admin/set/self/version.rb +1 -0
- data/mod/basic_formats/format/css_format.rb +1 -0
- data/mod/basic_formats/format/csv_format.rb +1 -0
- data/mod/basic_formats/format/file_format.rb +1 -0
- data/mod/basic_formats/format/js_format.rb +1 -0
- data/mod/basic_formats/format/json_format.rb +1 -0
- data/mod/basic_formats/format/rss_format.rb +1 -0
- data/mod/basic_formats/format/xml_format.rb +1 -0
- data/mod/basic_formats/set/all/all_csv.rb +1 -1
- data/mod/basic_formats/set/all/base.rb +11 -3
- data/mod/basic_formats/set/all/json.rb +50 -8
- data/mod/basic_formats/set/all/rss.rb +21 -7
- data/mod/basic_formats/set/self/01_head/javascript.rb +1 -1
- data/mod/basic_formats/set/self/head.rb +1 -1
- data/mod/basic_formats/spec/set/all/base_spec.rb +13 -0
- data/mod/basic_types/set/type/html.rb +6 -2
- data/mod/basic_types/set/type/plain_text.rb +2 -3
- data/mod/bootstrap/lib/bootstrap.rb +2 -2
- data/mod/bootstrap/lib/bootstrap/basic_tags.rb +1 -1
- data/mod/bootstrap/lib/bootstrap/component.rb +2 -3
- data/mod/bootstrap/lib/bootstrap/component/form.rb +6 -5
- data/mod/bootstrap/lib/bootstrap/component/horizontal_form.rb +1 -1
- data/mod/bootstrap/lib/bootstrap/component/layout.rb +3 -3
- data/mod/bootstrap/lib/bootstrap/component_loader.rb +0 -2
- data/mod/bootstrap/lib/bootstrap/delegate.rb +2 -2
- data/mod/bootstrap/lib/bootstrapper.rb +1 -1
- data/mod/bootstrap/set/all/bootstrap/accordion.rb +1 -1
- data/mod/bootstrap/set/all/bootstrap/form.rb +2 -2
- data/mod/bootstrap/set/all/bootstrap/helper.rb +1 -0
- data/mod/bootstrap/set/all/bootstrap/wrapper.rb +1 -1
- data/mod/bootstrap/set/self/bootstrap_js.rb +1 -1
- data/mod/bootstrap/set/self/bootswatch_shared.rb +6 -6
- data/mod/bootstrap/set/self/script_mods.rb +1 -1
- data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_builder_spec.rb +7 -6
- data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_spec.rb +2 -1
- data/mod/bootstrap/spec/set/all/bootstrap/form_spec.rb +6 -3
- data/mod/bootstrap/spec/set/all/bootstrap/layout_spec.rb +3 -2
- data/mod/carrierwave/set/abstract/attachment.rb +1 -3
- data/mod/carrierwave/set/abstract/attachment/paths.rb +1 -1
- data/mod/carrierwave/set/abstract/attachment/storage_type.rb +11 -1
- data/mod/carrierwave/set/type/file.rb +3 -3
- data/mod/carrierwave/spec/lib/carrier_wave/file_card_uploader_spec.rb +3 -0
- data/mod/carrierwave/spec/set/type/file_spec.rb +24 -6
- data/mod/carrierwave/spec/set/type/image_spec.rb +3 -0
- data/mod/core/chunk/link.rb +1 -1
- data/mod/core/chunk/nest.rb +2 -1
- data/mod/core/chunk/query_reference.rb +1 -1
- data/mod/core/chunk/reference.rb +1 -0
- data/mod/core/chunk/uri.rb +4 -3
- data/mod/core/set/abstract/lock.rb +26 -0
- data/mod/core/set/all/assign_attributes.rb +8 -4
- data/mod/core/set/all/collection.rb +16 -7
- data/mod/core/set/all/content.rb +6 -0
- data/mod/core/set/all/event.rb +1 -1
- data/mod/core/set/all/fetch.rb +2 -2
- data/mod/core/set/all/haml.rb +5 -15
- data/mod/core/set/all/initialize.rb +2 -2
- data/mod/core/set/all/name.rb +1 -1
- data/mod/core/set/all/permissions.rb +28 -16
- data/mod/core/set/all/rules.rb +1 -2
- data/mod/core/set/all/subcards.rb +3 -3
- data/mod/core/set/all/templating.rb +5 -1
- data/mod/core/set/all/trash.rb +1 -1
- data/mod/core/set/all/utils.rb +1 -1
- data/mod/core/spec/set/all/actify_spec.rb +1 -1
- data/mod/core/spec/set/all/assign_attributes_spec.rb +2 -2
- data/mod/core/spec/set/all/collection_spec.rb +6 -3
- data/mod/core/spec/set/all/export_spec.rb +40 -112
- data/mod/core/spec/set/all/name_spec.rb +1 -1
- data/mod/core/spec/set/all/permissions_spec.rb +7 -7
- data/mod/core/spec/set/all/rules2_spec.rb +25 -25
- data/mod/core/spec/set/all/rules_spec.rb +2 -7
- data/mod/developer/set/all/event_viz.rb +1 -1
- data/mod/developer/set/right/debug.rb +1 -1
- data/mod/history/lib/card/act.rb +1 -0
- data/mod/history/lib/card/act/act_renderer.rb +23 -20
- data/mod/history/lib/card/act/act_renderer/absolute_act_renderer.rb +0 -1
- data/mod/history/lib/card/act/act_renderer/relative_act_renderer.rb +1 -0
- data/mod/history/lib/card/action.rb +1 -1
- data/mod/history/lib/card/action/action_renderer.rb +2 -2
- data/mod/history/lib/card/change.rb +2 -1
- data/mod/history/set/all/action_view.rb +1 -1
- data/mod/history/set/all/content_history.rb +7 -4
- data/mod/history/set/all/history.rb +6 -6
- data/mod/machines/file/all_script_machine_output/file.js +50 -34
- data/mod/machines/file/all_style_machine_output/file.css +1 -1
- data/mod/machines/lib/javascript/wagn.js.coffee +29 -18
- data/mod/machines/lib/javascript/wagn_layout.js.coffee +7 -3
- data/mod/machines/lib/stylesheets/style_cards.scss +10 -10
- data/mod/machines/set/abstract/machine.rb +5 -28
- data/mod/machines/set/abstract/script.rb +7 -4
- data/mod/machines/set/all/reset_machines.rb +1 -1
- data/mod/machines/set/self/script_jquery_helper.rb +2 -2
- data/mod/machines/set/self/script_slot.rb +1 -1
- data/mod/machines/set/type/coffee_script.rb +3 -2
- data/mod/machines/set/type/css.rb +7 -3
- data/mod/machines/set/type/scss.rb +7 -1
- data/mod/machines/spec/set/type/coffeescript_spec.rb +1 -1
- data/mod/machines/spec/set/type/javascript_spec.rb +1 -1
- data/mod/machines/spec/set/type/scss_spec.rb +3 -2
- data/mod/machines/spec/set/type/skin_spec.rb +1 -1
- data/mod/machines/spec/shared_examples/machine.rb +5 -3
- data/mod/machines/spec/shared_examples/machine_input.rb +1 -0
- data/mod/notifications/format/email_html_format.rb +1 -0
- data/mod/notifications/set/all/follow.rb +1 -1
- data/mod/notifications/set/all/observer.rb +1 -1
- data/mod/notifications/set/all/send_notifications.rb +2 -2
- data/mod/notifications/set/self/follow_defaults.rb +3 -8
- data/mod/notifications/set/type/email_template/email_config.rb +2 -2
- data/mod/notifications/set/type_plus_right/user/follow.rb +2 -2
- data/mod/notifications/spec/set/all/follow_spec.rb +7 -0
- data/mod/notifications/spec/set/all/notify_spec.rb +3 -0
- data/mod/notifications/spec/set/all/observer_spec.rb +1 -1
- data/mod/notifications/spec/set/right/followers_spec.rb +1 -0
- data/mod/pointer/set/abstract/00_paging_params.rb +11 -0
- data/mod/pointer/set/abstract/{00_paging.rb → 01_paging.rb} +10 -6
- data/mod/pointer/set/abstract/{00_paging → 01_paging}/paging_links.rb +0 -0
- data/mod/pointer/set/abstract/{01_pointer.rb → 02_pointer.rb} +26 -5
- data/mod/pointer/set/abstract/{01_pointer → 02_pointer}/edit.rb +3 -5
- data/mod/pointer/set/self/input_options.rb +12 -0
- data/mod/pointer/spec/set/self/input_options_spec.rb +8 -0
- data/mod/pointer/spec/set/type/pointer_spec.rb +3 -2
- data/mod/prosemirror_editor/set/abstract/prosemirror_editor.rb +1 -1
- data/mod/prosemirror_editor/set/self/script_prosemirror.rb +1 -0
- data/mod/settings/lib/card/setting.rb +1 -2
- data/mod/settings/set/abstract/permission.rb +1 -1
- data/mod/settings/set/self/add_help.rb +1 -1
- data/mod/settings/set/self/autoname.rb +1 -1
- data/mod/settings/set/self/csv_structure.rb +2 -0
- data/mod/settings/set/self/help.rb +1 -1
- data/mod/settings/set/self/input.rb +1 -2
- data/mod/settings/set/self/options.rb +2 -2
- data/mod/settings/set/self/options_label.rb +2 -2
- data/mod/settings/set/type/setting.rb +1 -1
- data/mod/settings/spec/set/right/script_spec.rb +1 -1
- data/mod/settings/spec/set/right/style_spec.rb +1 -1
- data/mod/solid_cache/set/abstract/solid_cache.rb +5 -3
- data/mod/solid_cache/spec/set/abstract/solid_cache_spec.rb +4 -3
- data/mod/standard/set/abstract/01_search_params.rb +4 -3
- data/mod/standard/set/abstract/search.rb +2 -1
- data/mod/standard/set/abstract/toolbar_split_button.rb +22 -0
- data/mod/standard/set/all/links.rb +3 -3
- data/mod/standard/set/all/rich_html/classy.rb +37 -0
- data/mod/standard/set/all/rich_html/editing.rb +6 -2
- data/mod/standard/set/all/rich_html/editor.rb +50 -0
- data/mod/standard/set/all/rich_html/form.rb +19 -12
- data/mod/standard/set/all/rich_html/form_elements.rb +2 -2
- data/mod/standard/set/all/rich_html/formgroup.rb +2 -1
- data/mod/standard/set/all/rich_html/header.rb +2 -27
- data/mod/standard/set/all/rich_html/menu.rb +1 -1
- data/mod/standard/set/all/rich_html/new.rb +5 -1
- data/mod/standard/set/all/rich_html/toolbar.rb +15 -60
- data/mod/standard/set/all/rich_html/wrapper.rb +6 -3
- data/mod/standard/set/right/when_created.rb +2 -2
- data/mod/standard/set/rstar/rules_editor.rb +10 -7
- data/mod/standard/set/self/activity_toolbar_button.rb +14 -0
- data/mod/standard/set/self/recent.rb +7 -2
- data/mod/standard/set/self/rules_toolbar_button.rb +42 -0
- data/mod/standard/set/self/search.rb +19 -6
- data/mod/standard/set/type/basic.rb +6 -6
- data/mod/standard/set/type/cardtype.rb +7 -3
- data/mod/standard/set/type/date.rb +2 -4
- data/mod/standard/set/type/layout_type.rb +1 -0
- data/mod/standard/set/type/list.rb +1 -1
- data/mod/standard/set/type/listed_by.rb +1 -2
- data/mod/standard/set/type/number.rb +4 -2
- data/mod/standard/set/type/phrase.rb +4 -2
- data/mod/standard/set/type/search_type.rb +11 -3
- data/mod/standard/set/type/set.rb +8 -8
- data/mod/standard/set/type/toggle.rb +1 -3
- data/mod/standard/set/type/uri.rb +6 -2
- data/mod/standard/spec/chunk/include_spec.rb +3 -2
- data/mod/standard/spec/chunk/query_reference_spec.rb +2 -2
- data/mod/standard/spec/set/all/history_spec.rb +1 -0
- data/mod/standard/spec/set/all/links_spec.rb +1 -0
- data/mod/standard/spec/set/all/rich_html/toolbar_spec.rb +2 -0
- data/mod/standard/spec/set/self/activity_toolbar_button_spec.rb +22 -0
- data/mod/standard/spec/set/type/email_template/email_config_spec.rb +10 -8
- data/mod/standard/spec/set/type/email_template_spec.rb +1 -0
- data/mod/standard/spec/set/type/list_spec.rb +2 -0
- data/mod/standard/spec/set/type/listed_by_spec.rb +5 -0
- data/mod/standard/spec/set/type/search_type_spec.rb +1 -1
- data/mod/standard/spec/set/type/toggle_spec.rb +1 -2
- data/mod/standard/spec/set/type/uri_spec.rb +0 -1
- data/mod/tinymce_editor/db/migrate_cards/20160804112560_add_tinymce_cards.rb +3 -1
- data/mod/tinymce_editor/set/abstract/tinymce_editor.rb +1 -1
- data/mod/tinymce_editor/set/self/script_tinymce.rb +1 -0
- data/mod/twitter/db/migrate_cards/20170305112346_add_twitter_cards.rb +1 -1
- data/mod/twitter/set/type/twitter_template.rb +1 -1
- data/spec/lib/card/format_spec.rb +26 -7
- data/spec/lib/card/loader_spec.rb +96 -35
- data/spec/lib/card/query_spec.rb +0 -1
- data/spec/support/card_spec_loader.rb +1 -0
- data/spec/support/helper/card_helper.rb +0 -36
- data/spec/support/helper/set_helper.rb +80 -0
- data/spec/support/matchers.rb +74 -0
- data/tmpsets/set/mod001-core/all/actify.rb +5 -6
- data/tmpsets/set/mod001-core/all/fetch.rb +14 -12
- data/tmpsets/set/mod001-core/all/name.rb +1 -1
- data/tmpsets/set/mod001-core/all/permissions.rb +12 -22
- data/tmpsets/set/mod001-core/all/tracked_attributes.rb +76 -0
- data/tmpsets/set/mod001-core/all/utils.rb +40 -3
- data/tmpsets/set/mod002-history/all/history.rb +1 -2
- data/tmpsets/set/mod008-solid_cache/abstract/solid_cache.rb +1 -1
- data/tmpsets/set/mod013-carrierwave/abstract/attachment.rb +282 -0
- data/tmpsets/set/mod013-carrierwave/type/file.rb +155 -0
- data/tmpsets/set/mod013-carrierwave/type/image.rb +96 -0
- data/tmpsets/set/mod014-admin/self/admin.rb +113 -0
- data/tmpsets/set/mod014-admin/self/admin_info.rb +110 -0
- data/tmpsets/set/mod014-admin/self/version.rb +15 -0
- data/tmpsets/set/mod015-developer/all/event_viz.rb +59 -0
- data/tmpsets/set/mod015-developer/all/view_viz.rb +30 -0
- data/tmpsets/set/mod015-developer/right/debug.rb +96 -0
- metadata +52 -22
@@ -21,12 +21,12 @@ format :html do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
FIELD_HELPERS =
|
24
|
-
%w
|
24
|
+
%w[
|
25
25
|
hidden_field color_field date_field datetime_field datetime_local_field
|
26
26
|
email_field month_field number_field password_field phone_field
|
27
27
|
range_field search_field telephone_field text_area text_field time_field
|
28
28
|
url_field week_field file_field label check_box radio_button
|
29
|
-
|
29
|
+
].freeze
|
30
30
|
|
31
31
|
FIELD_HELPERS.each do |method_name|
|
32
32
|
define_method(method_name) do |*args|
|
@@ -10,7 +10,7 @@ format :html do
|
|
10
10
|
label = formgroup_label opts[:editor], title
|
11
11
|
editor_body = editor_wrap opts[:editor], &block
|
12
12
|
help_text = formgroup_help_text opts[:help]
|
13
|
-
"#{label}<div>#{
|
13
|
+
"#{label}<div>#{help_text} #{editor_body}</div>"
|
14
14
|
end
|
15
15
|
|
16
16
|
def formgroup_label editor_type, title
|
@@ -27,6 +27,7 @@ format :html do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def formgroup_help_text text=nil
|
30
|
+
return "" if text == false
|
30
31
|
class_up "help-text", "help-block"
|
31
32
|
voo.help = text if voo && text.to_s != "true"
|
32
33
|
_optional_render_help
|
@@ -1,29 +1,4 @@
|
|
1
1
|
format :html do
|
2
|
-
# TODO: find these a better home.
|
3
|
-
def class_up klass, classier, force=false
|
4
|
-
key = klass.to_s
|
5
|
-
return if !force && class_list[key]
|
6
|
-
class_list[key] = classier.to_s
|
7
|
-
end
|
8
|
-
|
9
|
-
# don't use in the given block the additional class that
|
10
|
-
# was added to `klass`
|
11
|
-
def without_upped_class klass
|
12
|
-
tmp_class = class_list.delete klass
|
13
|
-
result = yield tmp_class
|
14
|
-
class_list[klass] = tmp_class
|
15
|
-
result
|
16
|
-
end
|
17
|
-
|
18
|
-
def class_list
|
19
|
-
@class_list ||= {}
|
20
|
-
end
|
21
|
-
|
22
|
-
def classy *classes
|
23
|
-
classes = Array.wrap(classes).flatten
|
24
|
-
[classes, class_list[classes.first]].flatten.compact.join " "
|
25
|
-
end
|
26
|
-
|
27
2
|
view :header do
|
28
3
|
voo.hide :toggle, :toolbar
|
29
4
|
main_header + _optional_render_toolbar
|
@@ -64,9 +39,9 @@ format :html do
|
|
64
39
|
|
65
40
|
def toggle_verb_adjective_direction
|
66
41
|
if @toggle_mode == :close
|
67
|
-
%w
|
42
|
+
%w[open open expand]
|
68
43
|
else
|
69
|
-
%w
|
44
|
+
%w[close closed collapse-down]
|
70
45
|
end
|
71
46
|
end
|
72
47
|
|
@@ -61,7 +61,7 @@ format :html do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def menu_item_list link_opts={}
|
64
|
-
[
|
64
|
+
%i[edit discuss follow page rules account more].map do |item|
|
65
65
|
next unless send "show_menu_item_#{item}?"
|
66
66
|
send "menu_#{item}_link", link_opts
|
67
67
|
end.compact
|
@@ -2,7 +2,7 @@ format :html do
|
|
2
2
|
view :new, perms: :create, tags: :unknown_ok, cache: :never do
|
3
3
|
voo.title ||= new_view_title if new_name_prompt?
|
4
4
|
voo.show :help
|
5
|
-
frame_and_form :create,
|
5
|
+
frame_and_form :create, new_form_opts do
|
6
6
|
[
|
7
7
|
new_view_hidden,
|
8
8
|
new_view_name,
|
@@ -13,6 +13,10 @@ format :html do
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
def new_form_opts
|
17
|
+
{ "main-success" => "REDIRECT" }
|
18
|
+
end
|
19
|
+
|
16
20
|
def new_view_title
|
17
21
|
output(
|
18
22
|
"New",
|
@@ -1,8 +1,8 @@
|
|
1
|
-
|
1
|
+
include_set Abstract::ToolbarSplitButton
|
2
2
|
|
3
|
+
format :html do
|
3
4
|
TOOLBAR_TITLE = {
|
4
5
|
edit: "content", edit_name: "name", edit_type: "type",
|
5
|
-
|
6
6
|
edit_structure: "structure", edit_nests: "nests", history: "history",
|
7
7
|
common_rules: "common", recent_rules: "recent", grouped_rules: "all",
|
8
8
|
edit_nest_rules: "nests"
|
@@ -59,9 +59,9 @@ format :html do
|
|
59
59
|
def toolbar_split_buttons
|
60
60
|
wrap_with :form, class: "pull-left navbar-text" do
|
61
61
|
[
|
62
|
-
|
63
|
-
|
64
|
-
|
62
|
+
account_split_button,
|
63
|
+
toolbar_button_card(:activity),
|
64
|
+
toolbar_button_card(:rules),
|
65
65
|
edit_split_button
|
66
66
|
]
|
67
67
|
end
|
@@ -116,50 +116,6 @@ format :html do
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
-
def activity_split_button
|
120
|
-
toolbar_split_button "activity", view: :history, icon: :time do
|
121
|
-
{
|
122
|
-
history: (_render_history_link if card.history?),
|
123
|
-
discussion: link_to_related(:discussion, "discuss"),
|
124
|
-
follow: _render_follow_link,
|
125
|
-
editors: link_to_related(:editors, "editors")
|
126
|
-
}
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
def rules_split_button
|
131
|
-
button_hash = {
|
132
|
-
common_rules: edit_rules_link("common", :common_rules),
|
133
|
-
grouped_rules: edit_rules_link("by group", :grouped_rules),
|
134
|
-
all_rules: edit_rules_link("by name", :all_rules)
|
135
|
-
}
|
136
|
-
recently_edited_rules_link button_hash
|
137
|
-
nest_rules_link button_hash
|
138
|
-
toolbar_split_button("rules", view: :edit_rules, icon: :list) { button_hash }
|
139
|
-
end
|
140
|
-
|
141
|
-
def nest_rules_link button_hash
|
142
|
-
return # FIXME: remove when reinstating edit_nest_rules
|
143
|
-
return unless nested_fields.present?
|
144
|
-
button_hash[:separator] = separator
|
145
|
-
button_hash[:edit_nest_rules] = edit_nest_rules_link "nests"
|
146
|
-
end
|
147
|
-
|
148
|
-
def recently_edited_rules_link button_hash
|
149
|
-
return unless recently_edited_settings?
|
150
|
-
button_hash[:recent_rules] = edit_rules_link "recent", :recent_rules
|
151
|
-
end
|
152
|
-
|
153
|
-
def edit_nest_rules_link text
|
154
|
-
link_to_view :edit_nest_rules, text,
|
155
|
-
path: { rule_view: :field_related_rules }
|
156
|
-
end
|
157
|
-
|
158
|
-
def edit_rules_link text, rule_view
|
159
|
-
link_to_view :edit_rules, text,
|
160
|
-
path: { rule_view: rule_view }
|
161
|
-
end
|
162
|
-
|
163
119
|
def edit_split_button
|
164
120
|
toolbar_split_button "edit", view: :edit, icon: :edit do
|
165
121
|
{
|
@@ -177,6 +133,7 @@ format :html do
|
|
177
133
|
end
|
178
134
|
|
179
135
|
def account_split_button
|
136
|
+
return "" unless card.accountable?
|
180
137
|
toolbar_split_button "account", related: :account, icon: :user do
|
181
138
|
{
|
182
139
|
account: link_to_related(:account, "details", path: { view: :edit }),
|
@@ -188,21 +145,18 @@ format :html do
|
|
188
145
|
end
|
189
146
|
end
|
190
147
|
|
191
|
-
def
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
name += content_tag(:span, name_content.html_safe, class: html_class)
|
198
|
-
button_link = button_link name, button_link_opts.merge(class: status)
|
199
|
-
split_button(button_link, active_toolbar_item) { yield }
|
148
|
+
def toolbar_button_card name
|
149
|
+
button_codename = "#{name}_toolbar_button".to_sym
|
150
|
+
return "" unless button_card = Card[button_codename]
|
151
|
+
with_nest_mode :normal do
|
152
|
+
nest button_card, view: :core
|
153
|
+
end
|
200
154
|
end
|
201
155
|
|
202
156
|
def related_codename related_card
|
203
157
|
return nil unless related_card
|
204
158
|
tag_card = Card.quick_fetch related_card.cardname.right
|
205
|
-
tag_card && tag_card.codename.to_sym
|
159
|
+
tag_card && tag_card.codename && tag_card.codename.to_sym
|
206
160
|
end
|
207
161
|
|
208
162
|
def close_link extra_class, opts={}
|
@@ -248,7 +202,8 @@ format :html do
|
|
248
202
|
["references in", "log-in", "*referred_to_by"]
|
249
203
|
].map do |title, icon, tag|
|
250
204
|
menu_item " #{title}", icon, related: tag,
|
251
|
-
path: { slot: { show: :toolbar
|
205
|
+
path: { slot: { show: :toolbar,
|
206
|
+
hide: :menu } }
|
252
207
|
end
|
253
208
|
end
|
254
209
|
end
|
@@ -100,9 +100,9 @@ format :html do
|
|
100
100
|
parent && parent.voo.ok_view == :related
|
101
101
|
end
|
102
102
|
|
103
|
-
def standard_frame
|
103
|
+
def standard_frame slot=true
|
104
104
|
voo.hide :horizontal_menu, :help
|
105
|
-
wrap do
|
105
|
+
wrap slot do
|
106
106
|
[
|
107
107
|
_optional_render_menu,
|
108
108
|
panel do
|
@@ -119,10 +119,13 @@ format :html do
|
|
119
119
|
|
120
120
|
def frame_help
|
121
121
|
# TODO: address these args
|
122
|
-
|
122
|
+
with_class_up "help-text", "alert alert-info" do
|
123
|
+
_optional_render :help
|
124
|
+
end
|
123
125
|
end
|
124
126
|
|
125
127
|
def frame_and_form action, form_opts={}
|
128
|
+
form_opts ||= {}
|
126
129
|
frame do
|
127
130
|
card_form action, form_opts do
|
128
131
|
output yield
|
@@ -1,7 +1,7 @@
|
|
1
1
|
view :raw do |_args|
|
2
2
|
# .strftime('%A, %B %d, %Y %I:%M %p %Z')
|
3
|
-
|
4
|
-
|
3
|
+
return "" if !(left = card.left) || left.new_card?
|
4
|
+
I18n.localize(left.created_at, format: :card_dayofwk_min_tz)
|
5
5
|
end
|
6
6
|
|
7
7
|
view :core, :raw
|
@@ -14,7 +14,7 @@ format :html do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def open_rule_wrap rule_view
|
17
|
-
rule_view_class = rule_view.to_s.tr
|
17
|
+
rule_view_class = rule_view.to_s.tr "_", "-"
|
18
18
|
wrap_with :tr, class: "card-slot open-rule #{rule_view_class}" do
|
19
19
|
wrap_with(:td, class: "rule-cell", colspan: 3) { yield }
|
20
20
|
end
|
@@ -47,7 +47,10 @@ format :html do
|
|
47
47
|
return "No Current Rule" if card.new_card?
|
48
48
|
|
49
49
|
voo.items[:view] ||= :link
|
50
|
-
|
50
|
+
output [
|
51
|
+
show_rule_set(card.rule_set),
|
52
|
+
_render_core
|
53
|
+
]
|
51
54
|
end
|
52
55
|
|
53
56
|
def show_rule_set set
|
@@ -60,7 +63,7 @@ format :html do
|
|
60
63
|
return "not a rule" unless card.is_rule?
|
61
64
|
rule_card = find_existing_rule_card
|
62
65
|
wrap_closed_rule rule_card do
|
63
|
-
[
|
66
|
+
%i[setting content set].map do |cell|
|
64
67
|
send "closed_rule_#{cell}_cell", rule_card
|
65
68
|
end
|
66
69
|
end
|
@@ -151,7 +154,7 @@ format :html do
|
|
151
154
|
|
152
155
|
card_form action_args, class: "card-rule-form" do |_form|
|
153
156
|
[hidden_tags(success: @edit_rule_success),
|
154
|
-
|
157
|
+
rule_editor,
|
155
158
|
edit_rule_buttons].join
|
156
159
|
end
|
157
160
|
end
|
@@ -202,7 +205,7 @@ format :html do
|
|
202
205
|
href: path(view: cancel_view, success: false)
|
203
206
|
end
|
204
207
|
|
205
|
-
def
|
208
|
+
def rule_editor
|
206
209
|
wrap_with(:div, class: "card-editor") do
|
207
210
|
[rules_type_formgroup,
|
208
211
|
rule_content_formgroup,
|
@@ -270,7 +273,7 @@ format :html do
|
|
270
273
|
end
|
271
274
|
|
272
275
|
def narrower_rule_warning narrower_rules, state, set_name
|
273
|
-
return unless state.in? [
|
276
|
+
return unless state.in? %i[current overwritten]
|
274
277
|
narrower_rules << Card.fetch(set_name).uncapitalized_label
|
275
278
|
return unless state == :overwritten
|
276
279
|
narrower_rule_warning_message narrower_rules
|
@@ -349,7 +352,7 @@ format :html do
|
|
349
352
|
end
|
350
353
|
|
351
354
|
view :edit_single_rule, tags: :unknown_ok, cache: :never do
|
352
|
-
frame
|
355
|
+
frame { render_edit_rule }
|
353
356
|
end
|
354
357
|
|
355
358
|
private
|
@@ -0,0 +1,14 @@
|
|
1
|
+
include_set Abstract::ToolbarSplitButton
|
2
|
+
|
3
|
+
format :html do
|
4
|
+
view :core do
|
5
|
+
subject.toolbar_split_button "activity", view: :history, icon: :time do
|
6
|
+
{
|
7
|
+
history: (subject._render_history_link if card.history?),
|
8
|
+
discussion: subject.link_to_related(:discussion, "discuss"),
|
9
|
+
follow: subject._render_follow_link,
|
10
|
+
editors: subject.link_to_related(:editors, "editors")
|
11
|
+
}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -19,7 +19,6 @@ format :html do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
22
|
view :recent_acts, cache: :never do
|
24
23
|
acts = Act.all_viewable.order(id: :desc)
|
25
24
|
.page(page_from_params).per(ACTS_PER_PAGE)
|
@@ -29,7 +28,13 @@ format :html do
|
|
29
28
|
def act_paging
|
30
29
|
acts = Act.all_viewable.order(id: :desc).page(page_from_params).per(ACTS_PER_PAGE)
|
31
30
|
wrap_with :span, class: "slotter" do
|
32
|
-
paginate acts, remote: true, theme:
|
31
|
+
paginate acts, remote: true, theme: "twitter-bootstrap-3"
|
33
32
|
end
|
34
33
|
end
|
35
34
|
end
|
35
|
+
|
36
|
+
format :rss do
|
37
|
+
def feed_item_description_view
|
38
|
+
:blank
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
include_set Abstract::ToolbarSplitButton
|
2
|
+
|
3
|
+
format :html do
|
4
|
+
view :core do
|
5
|
+
subject.toolbar_split_button("rules", view: :edit_rules, icon: :list) do
|
6
|
+
dropdown_items
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def dropdown_items
|
11
|
+
button_hash = {
|
12
|
+
common_rules: edit_rules_link("common", :common_rules),
|
13
|
+
grouped_rules: edit_rules_link("by group", :grouped_rules),
|
14
|
+
all_rules: edit_rules_link("by name", :all_rules)
|
15
|
+
}
|
16
|
+
recently_edited_rules_link button_hash
|
17
|
+
nest_rules_link button_hash
|
18
|
+
button_hash
|
19
|
+
end
|
20
|
+
|
21
|
+
def nest_rules_link button_hash
|
22
|
+
return # FIXME: remove when reinstating edit_nest_rules
|
23
|
+
return unless nested_fields.present?
|
24
|
+
button_hash[:separator] = separator
|
25
|
+
button_hash[:edit_nest_rules] = edit_nest_rules_link "nests"
|
26
|
+
end
|
27
|
+
|
28
|
+
def recently_edited_rules_link button_hash
|
29
|
+
return unless recently_edited_settings?
|
30
|
+
button_hash[:recent_rules] = edit_rules_link "recent", :recent_rules
|
31
|
+
end
|
32
|
+
|
33
|
+
def edit_rules_link text, rule_view
|
34
|
+
subject.link_to_view :edit_rules, text,
|
35
|
+
path: { rule_view: rule_view }
|
36
|
+
end
|
37
|
+
|
38
|
+
def edit_nest_rules_link text
|
39
|
+
subject.link_to_view :edit_nest_rules, text,
|
40
|
+
path: { rule_view: :field_related_rules }
|
41
|
+
end
|
42
|
+
end
|
@@ -42,12 +42,25 @@ format :html do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
view :title, cache: :never do
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
45
|
+
return super() unless (keyword = search_keyword) &&
|
46
|
+
(title = keyword_search_title(keyword))
|
47
|
+
voo.title = title
|
48
|
+
end
|
49
|
+
|
50
|
+
def keyword_search_title keyword
|
51
|
+
%(Search results for: <span class="search-keyword">#{keyword}</span>)
|
52
|
+
end
|
53
|
+
|
54
|
+
def search_keyword
|
55
|
+
(vars = search_vars) && vars[:keyword]
|
56
|
+
end
|
57
|
+
|
58
|
+
def search_vars
|
59
|
+
root.respond_to?(:search_params) ? root.search_params[:vars] : search_params[:vars]
|
60
|
+
end
|
61
|
+
|
62
|
+
def wql_search?
|
63
|
+
card.keyword_contains_wql? vars: search_vars
|
51
64
|
end
|
52
65
|
end
|
53
66
|
|
@@ -41,12 +41,12 @@ format :html do
|
|
41
41
|
|
42
42
|
def make_table_of_contents_list items
|
43
43
|
list = items.map do |i|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
44
|
+
if i.is_a?(Array)
|
45
|
+
make_table_of_contents_list(i)
|
46
|
+
else
|
47
|
+
%(<li><a href="##{i[:uri]}"> #{i[:value]}</a></li>)
|
48
|
+
end
|
49
|
+
end.join("\n")
|
50
50
|
"<ol>" + list + "</ol>"
|
51
51
|
end
|
52
52
|
end
|