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,18 +1,18 @@
|
|
|
1
|
-
json.title 'Pages'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
|
|
7
|
-
header.h1 text: 'Header'
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
page.footer padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(footer) do
|
|
11
|
-
footer.h1 text: 'Footer'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
15
|
-
(1..100).each do |index|
|
|
16
|
-
scroll.label text: 'Content'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
1
|
+
json.title 'Pages'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
|
|
7
|
+
header.h1 text: 'Header'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
page.footer padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(footer) do
|
|
11
|
+
footer.h1 text: 'Footer'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
15
|
+
(1..100).each do |index|
|
|
16
|
+
scroll.label text: 'Content'
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
json.title 'Pages'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
|
|
5
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
6
|
-
|
|
7
|
-
page.on load: ->(action) do
|
|
8
|
-
action.dialogs_alert message: 'This is an onLoad action'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
12
|
-
scroll.label text: 'A dialog should appear automatically.'
|
|
13
|
-
end
|
|
1
|
+
json.title 'Pages'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
|
|
5
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
6
|
+
|
|
7
|
+
page.on load: ->(action) do
|
|
8
|
+
action.dialogs_alert message: 'This is an onLoad action'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
12
|
+
scroll.label text: 'A dialog should appear automatically.'
|
|
13
|
+
end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
sleep 1
|
|
2
|
-
|
|
3
|
-
json.title 'Pages'
|
|
4
|
-
|
|
5
|
-
page = json_ui_page json
|
|
6
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
7
|
-
|
|
8
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
9
|
-
scroll.label text: 'On the web, the loading indicator should be show on the browser tab.'
|
|
10
|
-
end
|
|
1
|
+
sleep 1
|
|
2
|
+
|
|
3
|
+
json.title 'Pages'
|
|
4
|
+
|
|
5
|
+
page = json_ui_page json
|
|
6
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
7
|
+
|
|
8
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
9
|
+
scroll.label text: 'On the web, the loading indicator should be show on the browser tab.'
|
|
10
|
+
end
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
json.title 'Pages'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
|
|
5
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
6
|
-
|
|
7
|
-
page.navBar backgroundColor: '#a8c4e3', color: '#ffffff', rightButtons: ->(menu) do
|
|
8
|
-
menu.button icon: 'search', text: 'Search', onClick: ->(action) do
|
|
9
|
-
action.dialogs_alert message: 'Perform some action'
|
|
10
|
-
end
|
|
11
|
-
menu.button icon: { name: 'star', badge: { text: '1', backgroundColor: '#ff0000' } }, onClick: ->(action) do
|
|
12
|
-
action.dialogs_alert message: 'Perform some action'
|
|
13
|
-
end
|
|
14
|
-
menu.button icon: { name: 'map', badge: '2' }, onClick: ->(action) do
|
|
15
|
-
action.dialogs_alert message: 'Perform some action'
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
20
|
-
scroll.label text: 'See the right menu buttons on the nav bar'
|
|
21
|
-
end
|
|
1
|
+
json.title 'Pages'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
|
|
5
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
6
|
+
|
|
7
|
+
page.navBar backgroundColor: '#a8c4e3', color: '#ffffff', rightButtons: ->(menu) do
|
|
8
|
+
menu.button icon: 'search', text: 'Search', onClick: ->(action) do
|
|
9
|
+
action.dialogs_alert message: 'Perform some action'
|
|
10
|
+
end
|
|
11
|
+
menu.button icon: { name: 'star', badge: { text: '1', backgroundColor: '#ff0000' } }, onClick: ->(action) do
|
|
12
|
+
action.dialogs_alert message: 'Perform some action'
|
|
13
|
+
end
|
|
14
|
+
menu.button icon: { name: 'map', badge: '2' }, onClick: ->(action) do
|
|
15
|
+
action.dialogs_alert message: 'Perform some action'
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
20
|
+
scroll.label text: 'See the right menu buttons on the nav bar'
|
|
21
|
+
end
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
json.title 'Pages'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
# page.template 'fullWidth'
|
|
7
|
-
|
|
8
|
-
page.header childViews: ->(header) do
|
|
9
|
-
header.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
|
|
10
|
-
vertical.h1 text: 'Header'
|
|
11
|
-
end
|
|
12
|
-
header.spacer height: 10
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
page.footer childViews: ->(footer) do
|
|
16
|
-
footer.spacer height: 10
|
|
17
|
-
footer.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
|
|
18
|
-
vertical.h1 text: 'Footer'
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
23
|
-
scroll.label text: 'Inner Header'
|
|
24
|
-
scroll.label text: 'Inner Header'
|
|
25
|
-
scroll.label text: 'Inner Header'
|
|
26
|
-
scroll.spacer height: 20
|
|
27
|
-
|
|
28
|
-
scroll.panels_vertical width: 'matchParent', styleClass: 'card', backgroundColor: glib_color_panel_background, padding: glib_json_padding_body.merge(right: nil), childViews: ->(padder) do
|
|
29
|
-
padder.panels_scroll width: 'matchParent', height: 300, childViews: ->(inner_scroll) do
|
|
30
|
-
(1..100).each do |index|
|
|
31
|
-
inner_scroll.label text: 'Content'
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
scroll.spacer height: 20
|
|
37
|
-
scroll.label text: 'Inner Footer'
|
|
38
|
-
scroll.label text: 'Inner Footer'
|
|
39
|
-
scroll.label text: 'Inner Footer'
|
|
40
|
-
end
|
|
1
|
+
json.title 'Pages'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
# page.template 'fullWidth'
|
|
7
|
+
|
|
8
|
+
page.header childViews: ->(header) do
|
|
9
|
+
header.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
|
|
10
|
+
vertical.h1 text: 'Header'
|
|
11
|
+
end
|
|
12
|
+
header.spacer height: 10
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
page.footer childViews: ->(footer) do
|
|
16
|
+
footer.spacer height: 10
|
|
17
|
+
footer.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
|
|
18
|
+
vertical.h1 text: 'Footer'
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
23
|
+
scroll.label text: 'Inner Header'
|
|
24
|
+
scroll.label text: 'Inner Header'
|
|
25
|
+
scroll.label text: 'Inner Header'
|
|
26
|
+
scroll.spacer height: 20
|
|
27
|
+
|
|
28
|
+
scroll.panels_vertical width: 'matchParent', styleClass: 'card', backgroundColor: glib_color_panel_background, padding: glib_json_padding_body.merge(right: nil), childViews: ->(padder) do
|
|
29
|
+
padder.panels_scroll width: 'matchParent', height: 300, childViews: ->(inner_scroll) do
|
|
30
|
+
(1..100).each do |index|
|
|
31
|
+
inner_scroll.label text: 'Content'
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
scroll.spacer height: 20
|
|
37
|
+
scroll.label text: 'Inner Footer'
|
|
38
|
+
scroll.label text: 'Inner Footer'
|
|
39
|
+
scroll.label text: 'Inner Footer'
|
|
40
|
+
end
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
json.title 'Pages'
|
|
2
|
-
|
|
3
|
-
json_ui_page json do |page|
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
page.header childViews: ->(header) do
|
|
7
|
-
header.tabBar width: 'matchParent', backgroundColor: '#ffca05', color: '#7f561b', buttons: ->(menu) do
|
|
8
|
-
|
|
9
|
-
{
|
|
10
|
-
'FIRST' => 'home',
|
|
11
|
-
'SECOND' => 'schedule',
|
|
12
|
-
'THIRD' => 'analytics'
|
|
13
|
-
}.each_with_index do |(text, icon), index|
|
|
14
|
-
menu.button icon: icon, text: text, disabled: params[:tab].to_i == index, onClick: ->(action) do
|
|
15
|
-
action.windows_reload url: json_ui_garage_url(path: 'pages/tab_bar', tab: index)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
22
|
-
scroll.label text: "Tab index #{params[:tab].to_i} selected"
|
|
23
|
-
|
|
24
|
-
scroll.spacer height: 10
|
|
25
|
-
|
|
26
|
-
100.times do |i|
|
|
27
|
-
scroll.label text: "Line #{i + 1}"
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
end
|
|
1
|
+
json.title 'Pages'
|
|
2
|
+
|
|
3
|
+
json_ui_page json do |page|
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
page.header childViews: ->(header) do
|
|
7
|
+
header.tabBar width: 'matchParent', backgroundColor: '#ffca05', color: '#7f561b', buttons: ->(menu) do
|
|
8
|
+
|
|
9
|
+
{
|
|
10
|
+
'FIRST' => 'home',
|
|
11
|
+
'SECOND' => 'schedule',
|
|
12
|
+
'THIRD' => 'analytics'
|
|
13
|
+
}.each_with_index do |(text, icon), index|
|
|
14
|
+
menu.button icon: icon, text: text, disabled: params[:tab].to_i == index, onClick: ->(action) do
|
|
15
|
+
action.windows_reload url: json_ui_garage_url(path: 'pages/tab_bar', tab: index)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
22
|
+
scroll.label text: "Tab index #{params[:tab].to_i} selected"
|
|
23
|
+
|
|
24
|
+
scroll.spacer height: 10
|
|
25
|
+
|
|
26
|
+
100.times do |i|
|
|
27
|
+
scroll.label text: "Line #{i + 1}"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
json.title 'Panels'
|
|
2
|
-
|
|
3
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
4
|
-
|
|
5
|
-
page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
|
|
6
|
-
scroll.h2 text: 'Vertical panel'
|
|
7
|
-
scroll.spacer height: 6
|
|
8
|
-
scroll.panels_vertical styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
|
|
9
|
-
panel.button text: 'Button1'
|
|
10
|
-
panel.button text: 'Button2'
|
|
11
|
-
panel.button text: 'Button3'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
scroll.spacer height: 20
|
|
15
|
-
scroll.h2 text: 'Horizontal panel'
|
|
16
|
-
scroll.spacer height: 6
|
|
17
|
-
scroll.panels_horizontal styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
|
|
18
|
-
panel.button text: 'Button1'
|
|
19
|
-
panel.button text: 'Button2'
|
|
20
|
-
panel.button text: 'Button3'
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
scroll.spacer height: 20
|
|
24
|
-
scroll.h2 text: 'Split panel'
|
|
25
|
-
scroll.spacer height: 6
|
|
26
|
-
scroll.panels_split styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', content: ->(split) do
|
|
27
|
-
split.left childViews: ->(left) do
|
|
28
|
-
left.button text: '1'
|
|
29
|
-
end
|
|
30
|
-
split.center childViews: ->(center) do
|
|
31
|
-
center.button width: 'matchParent', text: '2'
|
|
32
|
-
end
|
|
33
|
-
split.right childViews: ->(right) do
|
|
34
|
-
right.button text: '3'
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
scroll.spacer height: 20
|
|
40
|
-
scroll.h2 text: 'Responsive panel'
|
|
41
|
-
scroll.spacer height: 6
|
|
42
|
-
scroll.panels_responsive styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
|
|
43
|
-
horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
|
|
44
|
-
column.button text: '1'
|
|
45
|
-
end
|
|
46
|
-
horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
|
|
47
|
-
column.button text: '2'
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
scroll.spacer height: 20
|
|
52
|
-
scroll.h2 text: 'Grid-like layout'
|
|
53
|
-
scroll.spacer height: 6
|
|
54
|
-
scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
|
|
55
|
-
gap = { top: 12, left: 10, right: 10, bottom: 12 }
|
|
56
|
-
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
57
|
-
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
58
|
-
column.button text: '1'
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
62
|
-
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
63
|
-
column.button text: '2'
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
67
|
-
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
68
|
-
column.button text: '3'
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
72
|
-
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
73
|
-
column.button text: '4'
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
end
|
|
1
|
+
json.title 'Panels'
|
|
2
|
+
|
|
3
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
4
|
+
|
|
5
|
+
page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
|
|
6
|
+
scroll.h2 text: 'Vertical panel'
|
|
7
|
+
scroll.spacer height: 6
|
|
8
|
+
scroll.panels_vertical styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
|
|
9
|
+
panel.button text: 'Button1'
|
|
10
|
+
panel.button text: 'Button2'
|
|
11
|
+
panel.button text: 'Button3'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
scroll.spacer height: 20
|
|
15
|
+
scroll.h2 text: 'Horizontal panel'
|
|
16
|
+
scroll.spacer height: 6
|
|
17
|
+
scroll.panels_horizontal styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
|
|
18
|
+
panel.button text: 'Button1'
|
|
19
|
+
panel.button text: 'Button2'
|
|
20
|
+
panel.button text: 'Button3'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
scroll.spacer height: 20
|
|
24
|
+
scroll.h2 text: 'Split panel'
|
|
25
|
+
scroll.spacer height: 6
|
|
26
|
+
scroll.panels_split styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', content: ->(split) do
|
|
27
|
+
split.left childViews: ->(left) do
|
|
28
|
+
left.button text: '1'
|
|
29
|
+
end
|
|
30
|
+
split.center childViews: ->(center) do
|
|
31
|
+
center.button width: 'matchParent', text: '2'
|
|
32
|
+
end
|
|
33
|
+
split.right childViews: ->(right) do
|
|
34
|
+
right.button text: '3'
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
scroll.spacer height: 20
|
|
40
|
+
scroll.h2 text: 'Responsive panel'
|
|
41
|
+
scroll.spacer height: 6
|
|
42
|
+
scroll.panels_responsive styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
|
|
43
|
+
horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
|
|
44
|
+
column.button text: '1'
|
|
45
|
+
end
|
|
46
|
+
horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
|
|
47
|
+
column.button text: '2'
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
scroll.spacer height: 20
|
|
52
|
+
scroll.h2 text: 'Grid-like layout'
|
|
53
|
+
scroll.spacer height: 6
|
|
54
|
+
scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
|
|
55
|
+
gap = { top: 12, left: 10, right: 10, bottom: 12 }
|
|
56
|
+
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
57
|
+
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
58
|
+
column.button text: '1'
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
62
|
+
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
63
|
+
column.button text: '2'
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
67
|
+
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
68
|
+
column.button text: '3'
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
|
|
72
|
+
column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
|
|
73
|
+
column.button text: '4'
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
json.title 'Card Panels'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card']
|
|
1
|
+
json.title 'Card Panels'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card']
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
json.title 'Panels'
|
|
2
|
-
|
|
3
|
-
image_url1 = 'https://ichef.bbci.co.uk/news/976/cpsprodpb/18106/production/_97266589_gettyimages-474547165.jpg'
|
|
4
|
-
image_url2 = 'https://s.abcnews.com/images/International/Guam03-gty-jrl-170809_16x9_992.jpg'
|
|
5
|
-
|
|
6
|
-
json_ui_page json do |page|
|
|
7
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
8
|
-
|
|
9
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
10
|
-
scroll.label text: "\n"
|
|
11
|
-
scroll.h1 text: 'Carousel with labels'
|
|
12
|
-
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
13
|
-
carousel.label text: 'Item 1'
|
|
14
|
-
carousel.label text: 'Item 2'
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
scroll.label text: "\n"
|
|
18
|
-
scroll.h1 text: 'Carousel with images'
|
|
19
|
-
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
20
|
-
carousel.image url: image_url1, width: 'matchParent'
|
|
21
|
-
carousel.image url: image_url2, width: 'matchParent'
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
scroll.label text: "\n"
|
|
25
|
-
scroll.h1 text: 'Carousel with complex layout'
|
|
26
|
-
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
27
|
-
carousel.panels_vertical childViews: ->(panel) do
|
|
28
|
-
panel.h3 text: 'Item 1'
|
|
29
|
-
panel.image url: image_url1, width: 'matchParent'
|
|
30
|
-
end
|
|
31
|
-
carousel.panels_vertical childViews: ->(panel) do
|
|
32
|
-
panel.h3 text: 'Item 2'
|
|
33
|
-
panel.image url: image_url2, width: 'matchParent'
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
1
|
+
json.title 'Panels'
|
|
2
|
+
|
|
3
|
+
image_url1 = 'https://ichef.bbci.co.uk/news/976/cpsprodpb/18106/production/_97266589_gettyimages-474547165.jpg'
|
|
4
|
+
image_url2 = 'https://s.abcnews.com/images/International/Guam03-gty-jrl-170809_16x9_992.jpg'
|
|
5
|
+
|
|
6
|
+
json_ui_page json do |page|
|
|
7
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
8
|
+
|
|
9
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
10
|
+
scroll.label text: "\n"
|
|
11
|
+
scroll.h1 text: 'Carousel with labels'
|
|
12
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
13
|
+
carousel.label text: 'Item 1'
|
|
14
|
+
carousel.label text: 'Item 2'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
scroll.label text: "\n"
|
|
18
|
+
scroll.h1 text: 'Carousel with images'
|
|
19
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
20
|
+
carousel.image url: image_url1, width: 'matchParent'
|
|
21
|
+
carousel.image url: image_url2, width: 'matchParent'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
scroll.label text: "\n"
|
|
25
|
+
scroll.h1 text: 'Carousel with complex layout'
|
|
26
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
27
|
+
carousel.panels_vertical childViews: ->(panel) do
|
|
28
|
+
panel.h3 text: 'Item 1'
|
|
29
|
+
panel.image url: image_url1, width: 'matchParent'
|
|
30
|
+
end
|
|
31
|
+
carousel.panels_vertical childViews: ->(panel) do
|
|
32
|
+
panel.h3 text: 'Item 2'
|
|
33
|
+
panel.image url: image_url2, width: 'matchParent'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|