glib-web 0.5.71 → 0.5.72
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.
- checksums.yaml +4 -4
- data/app/channels/glib/channel/is_typing_channel.rb +34 -34
- data/app/channels/glib/channel/online_channel.rb +36 -36
- data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
- data/app/controllers/concerns/glib/auth/policy.rb +148 -148
- data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
- data/app/controllers/concerns/glib/json/libs.rb +149 -149
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
- data/app/controllers/concerns/glib/json/transformation.rb +11 -11
- data/app/controllers/concerns/glib/json/traversal.rb +92 -92
- data/app/controllers/concerns/glib/json/ui.rb +88 -88
- data/app/controllers/concerns/glib/json/validation.rb +13 -13
- data/app/controllers/glib/home_controller.rb +54 -54
- data/app/helpers/glib/app_feature_support_helper.rb +16 -16
- data/app/helpers/glib/dynamic_images_helper.rb +55 -55
- data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
- data/app/helpers/glib/enum_helper.rb +18 -8
- data/app/helpers/glib/forms_helper.rb +15 -15
- data/app/helpers/glib/json_ui/abstract_builder.rb +309 -309
- data/app/helpers/glib/json_ui/action_builder.rb +140 -140
- data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
- data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
- data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
- data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
- data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
- data/app/helpers/glib/json_ui/action_builder/windows.rb +33 -33
- data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
- data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
- data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
- data/app/helpers/glib/json_ui/list_builders.rb +110 -110
- data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
- data/app/helpers/glib/json_ui/page_helper.rb +221 -221
- data/app/helpers/glib/json_ui/response_helper.rb +25 -25
- data/app/helpers/glib/json_ui/split_builders.rb +32 -32
- data/app/helpers/glib/json_ui/styling_helper.rb +55 -55
- data/app/helpers/glib/json_ui/table_builders.rb +74 -74
- data/app/helpers/glib/json_ui/view_builder.rb +240 -240
- data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
- data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
- data/app/helpers/glib/json_ui/view_builder/fields.rb +278 -279
- data/app/helpers/glib/json_ui/view_builder/panels.rb +256 -256
- data/app/helpers/glib/urls_helper.rb +12 -12
- data/app/models/glib/active_storage/attachment.rb +9 -9
- data/app/models/glib/active_storage/blob.rb +9 -9
- data/app/models/glib/application_record.rb +18 -18
- data/app/models/glib/dynamic_text_record.rb +9 -9
- data/app/models/glib/text.rb +95 -95
- data/app/policies/glib/application_policy.rb +161 -161
- data/app/validators/email_typo_validator.rb +38 -38
- data/app/validators/email_validator.rb +7 -7
- data/app/validators/url_validator.rb +20 -20
- data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
- data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
- data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
- data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
- data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
- data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
- data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
- data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
- data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
- data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
- data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
- data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
- data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
- data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
- data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
- data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
- data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
- data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -22
- data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
- data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -37
- data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
- data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
- data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
- data/app/views/json_ui/garage/forms/index.json.jbuilder +113 -113
- data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
- data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
- data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
- data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
- data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
- data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -84
- data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
- data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
- data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
- data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
- data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
- data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
- data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
- data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
- data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
- data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
- data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
- data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
- data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
- data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
- data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
- data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
- data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
- data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
- data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
- data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
- data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
- data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
- data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
- data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
- data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
- data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
- data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
- data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
- data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
- data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
- data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
- data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
- data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
- data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
- data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
- data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
- data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
- data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
- data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -134
- data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
- data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
- data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
- data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -0
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
- data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
- data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
- data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
- data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
- data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
- data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
- data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
- data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
- data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
- data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
- data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
- data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
- data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
- data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
- data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
- data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
- data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -14
- data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
- data/app/views/json_ui/garage/views/index.json.jbuilder +67 -67
- data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
- data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
- data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
- data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
- data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
- data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
- data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
- data/app/views/layouts/json_ui/renderer.html.erb +35 -35
- data/config/routes.rb +7 -7
- data/lib/generators/glib/install_generator.rb +24 -24
- data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
- data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
- data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
- data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
- data/lib/generators/templates/database.yml +107 -107
- data/lib/generators/templates/dynamic_text.rb +2 -2
- data/lib/glib-web.rb +9 -9
- data/lib/glib/crypt/utils.rb +26 -26
- data/lib/glib/dynamic_text/config.rb +21 -21
- data/lib/glib/engine.rb +7 -7
- data/lib/glib/json_crawler.rb +11 -11
- data/lib/glib/json_crawler/action_crawler.rb +23 -23
- data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
- data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
- data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
- data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
- data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
- data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
- data/lib/glib/json_crawler/coverage.rb +20 -20
- data/lib/glib/json_crawler/http.rb +120 -120
- data/lib/glib/json_crawler/router.rb +98 -98
- data/lib/glib/mailer_tester.rb +36 -36
- data/lib/glib/test_helpers.rb +52 -52
- data/lib/glib/value.rb +7 -7
- data/lib/glib/version.rb +5 -5
- data/lib/tasks/db.rake +95 -95
- metadata +3 -3
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
col_index = params[:col].to_i
|
|
3
|
-
page_index = params[:page].to_i
|
|
4
|
-
next_page = {
|
|
5
|
-
url: json_ui_garage_url(path: 'tables/autoload_as_needed', page: page_index + 1, col: col_index, section_only: 'v1'),
|
|
6
|
-
autoload: 'asNeeded'
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
page = json_ui_page json
|
|
10
|
-
column_begin = (col_index * 3) + 1
|
|
11
|
-
column_end = column_begin + 2
|
|
12
|
-
column_indexes = (column_begin..column_end)
|
|
13
|
-
|
|
14
|
-
if params[:section_only].present?
|
|
15
|
-
sleep 1
|
|
16
|
-
|
|
17
|
-
json.nextPage next_page if page_index < 3
|
|
18
|
-
json.sections do
|
|
19
|
-
json.child! do
|
|
20
|
-
render 'json_ui/garage/tables/autoload_section', page: page, page_index: page_index, column_indexes: column_indexes
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
else
|
|
24
|
-
json.title 'Tables'
|
|
25
|
-
|
|
26
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
27
|
-
|
|
28
|
-
page.table nextPage: next_page, firstSection: ->(section) do
|
|
29
|
-
section.header cellViews: ->(header) do
|
|
30
|
-
header.button icon: "chevron_left", styleClass: 'icon', onClick: ->(action) do
|
|
31
|
-
action.windows_reload url: json_ui_garage_url(path: 'tables/autoload_as_needed', page: 0, col: col_index - 1)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
column_indexes.each do |i|
|
|
35
|
-
header.label text: "Heading#{i}"
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
header.button icon: "chevron_right", styleClass: 'icon', onClick: ->(action) do
|
|
39
|
-
action.windows_reload url: json_ui_garage_url(path: 'tables/autoload_as_needed', page: 0, col: col_index + 1)
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
render "#{@path_prefix}/tables/autoload_section", page: page, page_index: page_index, column_indexes: column_indexes
|
|
44
|
-
end, onScrollToBottom: ->(action) do
|
|
45
|
-
action.snackbars_alert message: 'Scrolled to Bottom'
|
|
46
|
-
end, onScrollToTop: ->(action) do
|
|
47
|
-
action.snackbars_alert message: 'Scrolled to Top'
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
end
|
|
1
|
+
|
|
2
|
+
col_index = params[:col].to_i
|
|
3
|
+
page_index = params[:page].to_i
|
|
4
|
+
next_page = {
|
|
5
|
+
url: json_ui_garage_url(path: 'tables/autoload_as_needed', page: page_index + 1, col: col_index, section_only: 'v1'),
|
|
6
|
+
autoload: 'asNeeded'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
page = json_ui_page json
|
|
10
|
+
column_begin = (col_index * 3) + 1
|
|
11
|
+
column_end = column_begin + 2
|
|
12
|
+
column_indexes = (column_begin..column_end)
|
|
13
|
+
|
|
14
|
+
if params[:section_only].present?
|
|
15
|
+
sleep 1
|
|
16
|
+
|
|
17
|
+
json.nextPage next_page if page_index < 3
|
|
18
|
+
json.sections do
|
|
19
|
+
json.child! do
|
|
20
|
+
render 'json_ui/garage/tables/autoload_section', page: page, page_index: page_index, column_indexes: column_indexes
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
json.title 'Tables'
|
|
25
|
+
|
|
26
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
27
|
+
|
|
28
|
+
page.table nextPage: next_page, firstSection: ->(section) do
|
|
29
|
+
section.header cellViews: ->(header) do
|
|
30
|
+
header.button icon: "chevron_left", styleClass: 'icon', onClick: ->(action) do
|
|
31
|
+
action.windows_reload url: json_ui_garage_url(path: 'tables/autoload_as_needed', page: 0, col: col_index - 1)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
column_indexes.each do |i|
|
|
35
|
+
header.label text: "Heading#{i}"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
header.button icon: "chevron_right", styleClass: 'icon', onClick: ->(action) do
|
|
39
|
+
action.windows_reload url: json_ui_garage_url(path: 'tables/autoload_as_needed', page: 0, col: col_index + 1)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
render "#{@path_prefix}/tables/autoload_section", page: page, page_index: page_index, column_indexes: column_indexes
|
|
44
|
+
end, onScrollToBottom: ->(action) do
|
|
45
|
+
action.snackbars_alert message: 'Scrolled to Bottom'
|
|
46
|
+
end, onScrollToTop: ->(action) do
|
|
47
|
+
action.snackbars_alert message: 'Scrolled to Top'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
json.title 'Tables'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
page.table export: { label: 'Export', fileName: 'output' }, import: { submitUrl: json_ui_garage_url(path: 'forms/generic_post'), paramName: 'user' }, firstSection: ->(section) do
|
|
7
|
-
section.header cellViews: ->(header) do
|
|
8
|
-
header.label text: 'field1'
|
|
9
|
-
header.label text: 'field2'
|
|
10
|
-
header.label text: 'field3'
|
|
11
|
-
header.label text: 'field4'
|
|
12
|
-
header.label text: 'field5'
|
|
13
|
-
header.label text: 'field6'
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
items = [1, 2, 3]
|
|
17
|
-
section.rows objects: items, builder: ->(row, item, index) do
|
|
18
|
-
row.default cellViews: ->(cell) do
|
|
19
|
-
cell.label text: "Data #{item}"
|
|
20
|
-
cell.label text: "Data 'A' #{item}"
|
|
21
|
-
cell.label text: 'Data "B"' + " #{item}"
|
|
22
|
-
cell.label text: "Data , #{item}"
|
|
23
|
-
cell.label text: "Line A#{item}\nLine B#{item}"
|
|
24
|
-
cell.label text: "Line A#{item}\rLine B#{item}"
|
|
25
|
-
end, onClick: ->(action) do
|
|
26
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
1
|
+
json.title 'Tables'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
page.table export: { label: 'Export', fileName: 'output' }, import: { submitUrl: json_ui_garage_url(path: 'forms/generic_post'), paramName: 'user' }, firstSection: ->(section) do
|
|
7
|
+
section.header cellViews: ->(header) do
|
|
8
|
+
header.label text: 'field1'
|
|
9
|
+
header.label text: 'field2'
|
|
10
|
+
header.label text: 'field3'
|
|
11
|
+
header.label text: 'field4'
|
|
12
|
+
header.label text: 'field5'
|
|
13
|
+
header.label text: 'field6'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
items = [1, 2, 3]
|
|
17
|
+
section.rows objects: items, builder: ->(row, item, index) do
|
|
18
|
+
row.default cellViews: ->(cell) do
|
|
19
|
+
cell.label text: "Data #{item}"
|
|
20
|
+
cell.label text: "Data 'A' #{item}"
|
|
21
|
+
cell.label text: 'Data "B"' + " #{item}"
|
|
22
|
+
cell.label text: "Data , #{item}"
|
|
23
|
+
cell.label text: "Line A#{item}\nLine B#{item}"
|
|
24
|
+
cell.label text: "Line A#{item}\rLine B#{item}"
|
|
25
|
+
end, onClick: ->(action) do
|
|
26
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
json.title 'Tables'
|
|
2
|
-
|
|
3
|
-
json_ui_page json do |page|
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
column_indexes = (1..20)
|
|
7
|
-
page.table firstSection: ->(section) do
|
|
8
|
-
section.header cellViews: ->(header) do
|
|
9
|
-
column_indexes.each do |i|
|
|
10
|
-
header.label text: "Heading#{i}"
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
items = [1, 2, 3]
|
|
15
|
-
section.rows objects: items, builder: ->(row, item, index) do
|
|
16
|
-
row.default cellViews: ->(cell) do
|
|
17
|
-
column_indexes.each do |i|
|
|
18
|
-
cell.label text: "Data #{item}"
|
|
19
|
-
end
|
|
20
|
-
end, onClick: ->(action) do
|
|
21
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
1
|
+
json.title 'Tables'
|
|
2
|
+
|
|
3
|
+
json_ui_page json do |page|
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
column_indexes = (1..20)
|
|
7
|
+
page.table firstSection: ->(section) do
|
|
8
|
+
section.header cellViews: ->(header) do
|
|
9
|
+
column_indexes.each do |i|
|
|
10
|
+
header.label text: "Heading#{i}"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
items = [1, 2, 3]
|
|
15
|
+
section.rows objects: items, builder: ->(row, item, index) do
|
|
16
|
+
row.default cellViews: ->(cell) do
|
|
17
|
+
column_indexes.each do |i|
|
|
18
|
+
cell.label text: "Data #{item}"
|
|
19
|
+
end
|
|
20
|
+
end, onClick: ->(action) do
|
|
21
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
json.title 'Tables'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
|
-
|
|
6
|
-
page.list firstSection: ->(section) do
|
|
7
|
-
section.rows builder: ->(template) do
|
|
8
|
-
template.thumbnail title: 'Layout', onClick: ->(action) do
|
|
9
|
-
action.windows_open url: json_ui_garage_url(path: 'tables/layout')
|
|
10
|
-
end
|
|
11
|
-
template.thumbnail title: 'Horizontal Scroll', onClick: ->(action) do
|
|
12
|
-
action.windows_open url: json_ui_garage_url(path: 'tables/horizontal_scroll')
|
|
13
|
-
end
|
|
14
|
-
template.thumbnail title: 'Export/Import', onClick: ->(action) do
|
|
15
|
-
action.windows_open url: json_ui_garage_url(path: 'tables/export_import')
|
|
16
|
-
end
|
|
17
|
-
template.thumbnail title: 'Autoload as Needed', onClick: ->(action) do
|
|
18
|
-
action.windows_open url: json_ui_garage_url(path: 'tables/autoload_as_needed')
|
|
19
|
-
end
|
|
20
|
-
template.thumbnail title: 'Autoload All', onClick: ->(action) do
|
|
21
|
-
action.windows_open url: json_ui_garage_url(path: 'tables/autoload_all')
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
1
|
+
json.title 'Tables'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
|
+
|
|
6
|
+
page.list firstSection: ->(section) do
|
|
7
|
+
section.rows builder: ->(template) do
|
|
8
|
+
template.thumbnail title: 'Layout', onClick: ->(action) do
|
|
9
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/layout')
|
|
10
|
+
end
|
|
11
|
+
template.thumbnail title: 'Horizontal Scroll', onClick: ->(action) do
|
|
12
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/horizontal_scroll')
|
|
13
|
+
end
|
|
14
|
+
template.thumbnail title: 'Export/Import', onClick: ->(action) do
|
|
15
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/export_import')
|
|
16
|
+
end
|
|
17
|
+
template.thumbnail title: 'Autoload as Needed', onClick: ->(action) do
|
|
18
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/autoload_as_needed')
|
|
19
|
+
end
|
|
20
|
+
template.thumbnail title: 'Autoload All', onClick: ->(action) do
|
|
21
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/autoload_all')
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
json.title 'Tables'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
column_indexes = (1..5)
|
|
7
|
-
page.table sections: [
|
|
8
|
-
->(section) do
|
|
9
|
-
section.rows builder: ->(row) do
|
|
10
|
-
row.default colSpans: [3, 2], cellViews: ->(cell) do
|
|
11
|
-
cell.label text: 'Spans 3 columns'
|
|
12
|
-
cell.panels_horizontal width: 'matchParent', backgroundColor: '#dddddd', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(horizontal) do
|
|
13
|
-
horizontal.label text: 'Spans 2 columns'
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end,
|
|
18
|
-
->(section) do
|
|
19
|
-
section.header cellViews: ->(header) do
|
|
20
|
-
column_indexes.each do |i|
|
|
21
|
-
order_key = "heading#{i}"
|
|
22
|
-
order = @order_headings[order_key]
|
|
23
|
-
header.label text: "Heading#{i} (#{order})", onClick: ->(action) do
|
|
24
|
-
action.windows_reload url: json_ui_garage_url(path: 'tables/layout', orders: reversed_order_params(order_key))
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
items = [1, 2, 3]
|
|
30
|
-
section.rows objects: items, builder: ->(row, item, index) do
|
|
31
|
-
row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
|
|
32
|
-
column_indexes.each do |i|
|
|
33
|
-
cell.label text: "Data #{item}"
|
|
34
|
-
end
|
|
35
|
-
end, onClick: ->(action) do
|
|
36
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
]
|
|
1
|
+
json.title 'Tables'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
column_indexes = (1..5)
|
|
7
|
+
page.table sections: [
|
|
8
|
+
->(section) do
|
|
9
|
+
section.rows builder: ->(row) do
|
|
10
|
+
row.default colSpans: [3, 2], cellViews: ->(cell) do
|
|
11
|
+
cell.label text: 'Spans 3 columns'
|
|
12
|
+
cell.panels_horizontal width: 'matchParent', backgroundColor: '#dddddd', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(horizontal) do
|
|
13
|
+
horizontal.label text: 'Spans 2 columns'
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end,
|
|
18
|
+
->(section) do
|
|
19
|
+
section.header cellViews: ->(header) do
|
|
20
|
+
column_indexes.each do |i|
|
|
21
|
+
order_key = "heading#{i}"
|
|
22
|
+
order = @order_headings[order_key]
|
|
23
|
+
header.label text: "Heading#{i} (#{order})", onClick: ->(action) do
|
|
24
|
+
action.windows_reload url: json_ui_garage_url(path: 'tables/layout', orders: reversed_order_params(order_key))
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
items = [1, 2, 3]
|
|
30
|
+
section.rows objects: items, builder: ->(row, item, index) do
|
|
31
|
+
row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
|
|
32
|
+
column_indexes.each do |i|
|
|
33
|
+
cell.label text: "Data #{item}"
|
|
34
|
+
end
|
|
35
|
+
end, onClick: ->(action) do
|
|
36
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
]
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
page_index = params[:page].to_i
|
|
2
|
-
next_page = {
|
|
3
|
-
url: json_ui_garage_url(path: 'views/charts', page: page_index + 1, data_only: 'v1'),
|
|
4
|
-
autoload: 'all'
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
if page_index < 3
|
|
8
|
-
builder.charts_line nextPage: next_page, dataSeries: [
|
|
9
|
-
-> do
|
|
10
|
-
json.title "Page #{page_index + 1}"
|
|
11
|
-
|
|
12
|
-
from = page_index + 1
|
|
13
|
-
to = page_index
|
|
14
|
-
json.points (from.month.ago.to_date..to.month.ago.to_date).map { |d| { x: d, y: 100 + rand(40) } }
|
|
15
|
-
end
|
|
16
|
-
]
|
|
17
|
-
end
|
|
1
|
+
page_index = params[:page].to_i
|
|
2
|
+
next_page = {
|
|
3
|
+
url: json_ui_garage_url(path: 'views/charts', page: page_index + 1, data_only: 'v1'),
|
|
4
|
+
autoload: 'all'
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if page_index < 3
|
|
8
|
+
builder.charts_line nextPage: next_page, dataSeries: [
|
|
9
|
+
-> do
|
|
10
|
+
json.title "Page #{page_index + 1}"
|
|
11
|
+
|
|
12
|
+
from = page_index + 1
|
|
13
|
+
to = page_index
|
|
14
|
+
json.points (from.month.ago.to_date..to.month.ago.to_date).map { |d| { x: d, y: 100 + rand(40) } }
|
|
15
|
+
end
|
|
16
|
+
]
|
|
17
|
+
end
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
json.title 'Views'
|
|
2
|
-
|
|
3
|
-
json_ui_page json do |page|
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
|
-
|
|
8
|
-
scroll.spacer height: 20
|
|
9
|
-
scroll.h2 text: 'Basic'
|
|
10
|
-
scroll.spacer height: 6
|
|
11
|
-
scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner'
|
|
12
|
-
|
|
13
|
-
scroll.spacer height: 20
|
|
14
|
-
scroll.h2 text: 'With color styling'
|
|
15
|
-
scroll.spacer height: 6
|
|
16
|
-
scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'success'
|
|
17
|
-
|
|
18
|
-
scroll.spacer height: 20
|
|
19
|
-
scroll.h2 text: 'With select options'
|
|
20
|
-
scroll.spacer height: 6
|
|
21
|
-
scroll.banners_select width: 'matchParent', icon: 'info', message: 'This is a select banner', buttons: ->(menu) do
|
|
22
|
-
menu.button icon: 'add', text: 'Add', onClick: ->(action) do
|
|
23
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
24
|
-
end
|
|
25
|
-
menu.button icon: 'edit', text: 'Edit', onClick: ->(action) do
|
|
26
|
-
action.windows_open url: json_ui_garage_url(path: 'home/slow')
|
|
27
|
-
end
|
|
28
|
-
menu.button icon: 'delete', text: 'Delete', onClick: ->(action) do
|
|
29
|
-
action.dialogs_alert message: 'Alert'
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
menu.button icon: 'more_vert', childButtons: ->(submenu) do
|
|
33
|
-
submenu.button icon: 'add', text: 'Option1', onClick: ->(action) do
|
|
34
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
35
|
-
end
|
|
36
|
-
submenu.button icon: 'edit', text: 'Option2', onClick: ->(action) do
|
|
37
|
-
action.windows_open url: json_ui_garage_url(path: 'home/slow')
|
|
38
|
-
end
|
|
39
|
-
submenu.button icon: 'delete', text: 'Option3', onClick: ->(action) do
|
|
40
|
-
action.dialogs_alert message: 'Alert'
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
scroll.spacer height: 20
|
|
46
|
-
scroll.h2 text: 'Alert banner with frameless styling (Experimental)'
|
|
47
|
-
scroll.spacer height: 6
|
|
48
|
-
scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'frameless'
|
|
49
|
-
|
|
50
|
-
# # TODO: Deprecate in favour of `banners/custom` and `markdown`
|
|
51
|
-
# markdown = '## Emphasis' + "\n" +
|
|
52
|
-
# "\n" +
|
|
53
|
-
# '**This is bold text**' + "\n" +
|
|
54
|
-
# "\n" +
|
|
55
|
-
# '*This is italic text*' + "\n" +
|
|
56
|
-
# "\n" +
|
|
57
|
-
# '~~Strikethrough~~'
|
|
58
|
-
# scroll.spacer height: 20
|
|
59
|
-
# scroll.h2 text: 'Alert banner with markdown'
|
|
60
|
-
# scroll.spacer height: 6
|
|
61
|
-
# scroll.banners_alert width: 'matchParent', icon: 'info', message: markdown, message_format: 'markdown'
|
|
62
|
-
end
|
|
63
|
-
end
|
|
1
|
+
json.title 'Views'
|
|
2
|
+
|
|
3
|
+
json_ui_page json do |page|
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
|
+
|
|
8
|
+
scroll.spacer height: 20
|
|
9
|
+
scroll.h2 text: 'Basic'
|
|
10
|
+
scroll.spacer height: 6
|
|
11
|
+
scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner'
|
|
12
|
+
|
|
13
|
+
scroll.spacer height: 20
|
|
14
|
+
scroll.h2 text: 'With color styling'
|
|
15
|
+
scroll.spacer height: 6
|
|
16
|
+
scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'success'
|
|
17
|
+
|
|
18
|
+
scroll.spacer height: 20
|
|
19
|
+
scroll.h2 text: 'With select options'
|
|
20
|
+
scroll.spacer height: 6
|
|
21
|
+
scroll.banners_select width: 'matchParent', icon: 'info', message: 'This is a select banner', buttons: ->(menu) do
|
|
22
|
+
menu.button icon: 'add', text: 'Add', onClick: ->(action) do
|
|
23
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
24
|
+
end
|
|
25
|
+
menu.button icon: 'edit', text: 'Edit', onClick: ->(action) do
|
|
26
|
+
action.windows_open url: json_ui_garage_url(path: 'home/slow')
|
|
27
|
+
end
|
|
28
|
+
menu.button icon: 'delete', text: 'Delete', onClick: ->(action) do
|
|
29
|
+
action.dialogs_alert message: 'Alert'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
menu.button icon: 'more_vert', childButtons: ->(submenu) do
|
|
33
|
+
submenu.button icon: 'add', text: 'Option1', onClick: ->(action) do
|
|
34
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
35
|
+
end
|
|
36
|
+
submenu.button icon: 'edit', text: 'Option2', onClick: ->(action) do
|
|
37
|
+
action.windows_open url: json_ui_garage_url(path: 'home/slow')
|
|
38
|
+
end
|
|
39
|
+
submenu.button icon: 'delete', text: 'Option3', onClick: ->(action) do
|
|
40
|
+
action.dialogs_alert message: 'Alert'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
scroll.spacer height: 20
|
|
46
|
+
scroll.h2 text: 'Alert banner with frameless styling (Experimental)'
|
|
47
|
+
scroll.spacer height: 6
|
|
48
|
+
scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'frameless'
|
|
49
|
+
|
|
50
|
+
# # TODO: Deprecate in favour of `banners/custom` and `markdown`
|
|
51
|
+
# markdown = '## Emphasis' + "\n" +
|
|
52
|
+
# "\n" +
|
|
53
|
+
# '**This is bold text**' + "\n" +
|
|
54
|
+
# "\n" +
|
|
55
|
+
# '*This is italic text*' + "\n" +
|
|
56
|
+
# "\n" +
|
|
57
|
+
# '~~Strikethrough~~'
|
|
58
|
+
# scroll.spacer height: 20
|
|
59
|
+
# scroll.h2 text: 'Alert banner with markdown'
|
|
60
|
+
# scroll.spacer height: 6
|
|
61
|
+
# scroll.banners_alert width: 'matchParent', icon: 'info', message: markdown, message_format: 'markdown'
|
|
62
|
+
end
|
|
63
|
+
end
|