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
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
json.title 'Unordered List'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
|
+
scroll.h2 text: 'Standard Usage'
|
|
8
|
+
scroll.spacer height: 6
|
|
9
|
+
scroll.panels_ul childViews: ->(ul) do
|
|
10
|
+
ul.button text: 'Button', styleClass: 'link', onClick: ->(action) do
|
|
11
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
12
|
+
end
|
|
13
|
+
ul.label text: 'Label'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
scroll.spacer height: 14
|
|
17
|
+
scroll.h2 text: 'Breadcrumbs'
|
|
18
|
+
scroll.spacer height: 6
|
|
19
|
+
scroll.panels_ul \
|
|
20
|
+
width: 'matchParent',
|
|
21
|
+
backgroundColor: '#eeeeee',
|
|
22
|
+
padding: { top: 10, right: 20, bottom: 10, left: 20 },
|
|
23
|
+
styleClass: 'breadcrumbs',
|
|
24
|
+
childViews: ->(ul) do
|
|
25
|
+
ul.button text: 'Level 1', styleClass: 'link', onClick: ->(action) do
|
|
26
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
27
|
+
end
|
|
28
|
+
ul.button text: 'Level 2', styleClass: 'link', onClick: ->(action) do
|
|
29
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
30
|
+
end
|
|
31
|
+
ul.label text: 'Level 3'
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
json.title 'Panels'
|
|
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
|
-
scroll.h1 text: 'Basic'
|
|
8
|
-
scroll.panels_vertical backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
9
|
-
panel.button text: 'Button1'
|
|
10
|
-
panel.button text: 'Button2', width: 200
|
|
11
|
-
panel.button text: 'Button3', width: 300
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
scroll.label text: "\n"
|
|
15
|
-
scroll.h1 text: 'Equal filling'
|
|
16
|
-
scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'fillEqually', childViews: ->(panel) do
|
|
17
|
-
panel.button text: 'Button1'
|
|
18
|
-
panel.button text: 'Button2'
|
|
19
|
-
panel.button text: 'Button3'
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
scroll.label text: "\n"
|
|
23
|
-
scroll.h1 text: 'Equal spacing'
|
|
24
|
-
scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'spaceEqually', childViews: ->(panel) do
|
|
25
|
-
panel.button text: 'Button1'
|
|
26
|
-
panel.button text: 'Button2'
|
|
27
|
-
panel.button text: 'Button3'
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
scroll.label text: "\n"
|
|
31
|
-
scroll.h1 text: 'Alignments'
|
|
32
|
-
scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'center', childViews: ->(panel) do
|
|
33
|
-
panel.button text: 'Center'
|
|
34
|
-
end
|
|
35
|
-
scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'right', childViews: ->(panel) do
|
|
36
|
-
panel.button text: 'Right'
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
scroll.label text: "\n"
|
|
40
|
-
scroll.h1 text: 'Spacers'
|
|
41
|
-
scroll.panels_vertical width: 'matchParent', childViews: ->(panel) do
|
|
42
|
-
panel.button text: '1'
|
|
43
|
-
panel.spacer height: 10
|
|
44
|
-
panel.button text: '2'
|
|
45
|
-
panel.spacer height: 50
|
|
46
|
-
panel.button text: '3'
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
scroll.label text: "\n"
|
|
50
|
-
scroll.h1 text: 'Click action'
|
|
51
|
-
scroll.panels_vertical width: 100, height: 100, backgroundColor: '#b3bac2', onClick: ->(action) do
|
|
52
|
-
action.dialogs_alert message: 'Perform action'
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
1
|
+
json.title 'Panels'
|
|
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
|
+
scroll.h1 text: 'Basic'
|
|
8
|
+
scroll.panels_vertical backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
9
|
+
panel.button text: 'Button1'
|
|
10
|
+
panel.button text: 'Button2', width: 200
|
|
11
|
+
panel.button text: 'Button3', width: 300
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
scroll.label text: "\n"
|
|
15
|
+
scroll.h1 text: 'Equal filling'
|
|
16
|
+
scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'fillEqually', childViews: ->(panel) do
|
|
17
|
+
panel.button text: 'Button1'
|
|
18
|
+
panel.button text: 'Button2'
|
|
19
|
+
panel.button text: 'Button3'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
scroll.label text: "\n"
|
|
23
|
+
scroll.h1 text: 'Equal spacing'
|
|
24
|
+
scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'spaceEqually', childViews: ->(panel) do
|
|
25
|
+
panel.button text: 'Button1'
|
|
26
|
+
panel.button text: 'Button2'
|
|
27
|
+
panel.button text: 'Button3'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
scroll.label text: "\n"
|
|
31
|
+
scroll.h1 text: 'Alignments'
|
|
32
|
+
scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'center', childViews: ->(panel) do
|
|
33
|
+
panel.button text: 'Center'
|
|
34
|
+
end
|
|
35
|
+
scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'right', childViews: ->(panel) do
|
|
36
|
+
panel.button text: 'Right'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
scroll.label text: "\n"
|
|
40
|
+
scroll.h1 text: 'Spacers'
|
|
41
|
+
scroll.panels_vertical width: 'matchParent', childViews: ->(panel) do
|
|
42
|
+
panel.button text: '1'
|
|
43
|
+
panel.spacer height: 10
|
|
44
|
+
panel.button text: '2'
|
|
45
|
+
panel.spacer height: 50
|
|
46
|
+
panel.button text: '3'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
scroll.label text: "\n"
|
|
50
|
+
scroll.h1 text: 'Click action'
|
|
51
|
+
scroll.panels_vertical width: 100, height: 100, backgroundColor: '#b3bac2', onClick: ->(action) do
|
|
52
|
+
action.dialogs_alert message: 'Perform action'
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
json.title 'Panels'
|
|
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: 'Web View'
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
page.body height: 'matchParent', padding: glib_json_padding_body, childViews: ->(body) do
|
|
11
|
-
body.panels_web \
|
|
12
|
-
width: 'matchParent',
|
|
13
|
-
height: 'matchParent',
|
|
14
|
-
url: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf'
|
|
15
|
-
end
|
|
1
|
+
json.title 'Panels'
|
|
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: 'Web View'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
page.body height: 'matchParent', padding: glib_json_padding_body, childViews: ->(body) do
|
|
11
|
+
body.panels_web \
|
|
12
|
+
width: 'matchParent',
|
|
13
|
+
height: 'matchParent',
|
|
14
|
+
url: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf'
|
|
15
|
+
end
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
json.title 'Dynamic Text Service'
|
|
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
|
-
scroll.h3 text: dt_json('.hello', name: 'John')
|
|
8
|
-
scroll.spacer height: 6
|
|
9
|
-
scroll.label text: dt_json('.greeting')
|
|
10
|
-
scroll.label text: dt_json('.greeting_with_image')
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
end
|
|
1
|
+
json.title 'Dynamic Text Service'
|
|
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
|
+
scroll.h3 text: dt_json('.hello', name: 'John')
|
|
8
|
+
scroll.spacer height: 6
|
|
9
|
+
scroll.label text: dt_json('.greeting')
|
|
10
|
+
scroll.label text: dt_json('.greeting_with_image')
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
json.title 'Image Service'
|
|
2
|
-
|
|
3
|
-
# See https://docs.imgix.com/apis/url/size/fit#clip
|
|
4
|
-
page = json_ui_page json
|
|
5
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
6
|
-
|
|
7
|
-
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
8
|
-
bucket = 'itinerarybuilder-demo'
|
|
9
|
-
|
|
10
|
-
# TODO: This needs fixing
|
|
11
|
-
scroll.h1 text: 'Original size'
|
|
12
|
-
scroll.spacer height: 6
|
|
13
|
-
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: nil)
|
|
14
|
-
|
|
15
|
-
scroll.h1 text: 'fit: clip (default) to width'
|
|
16
|
-
scroll.spacer height: 6
|
|
17
|
-
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: 100, height: nil)
|
|
18
|
-
|
|
19
|
-
scroll.spacer height: 20
|
|
20
|
-
scroll.h1 text: 'fit: clip (default) to height'
|
|
21
|
-
scroll.spacer height: 6
|
|
22
|
-
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: 100)
|
|
23
|
-
|
|
24
|
-
scroll.spacer height: 20
|
|
25
|
-
scroll.h1 text: 'fit: crop to width'
|
|
26
|
-
scroll.spacer height: 6
|
|
27
|
-
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: 100, height: nil)
|
|
28
|
-
|
|
29
|
-
scroll.spacer height: 20
|
|
30
|
-
scroll.h1 text: 'fit: crop to height'
|
|
31
|
-
scroll.spacer height: 6
|
|
32
|
-
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: nil, height: 100)
|
|
33
|
-
|
|
34
|
-
# Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
|
|
35
|
-
#
|
|
36
|
-
# scroll.spacer height: 20
|
|
37
|
-
# scroll.h1 text: 'fit: fill to width'
|
|
38
|
-
# scroll.spacer height: 6
|
|
39
|
-
# scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: 2000, height: nil)
|
|
40
|
-
|
|
41
|
-
# Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
|
|
42
|
-
#
|
|
43
|
-
# scroll.spacer height: 20
|
|
44
|
-
# scroll.h1 text: 'fit: fill to height'
|
|
45
|
-
# scroll.spacer height: 6
|
|
46
|
-
# scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: nil, height: 2000)
|
|
47
|
-
end
|
|
1
|
+
json.title 'Image Service'
|
|
2
|
+
|
|
3
|
+
# See https://docs.imgix.com/apis/url/size/fit#clip
|
|
4
|
+
page = json_ui_page json
|
|
5
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
6
|
+
|
|
7
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
8
|
+
bucket = 'itinerarybuilder-demo'
|
|
9
|
+
|
|
10
|
+
# TODO: This needs fixing
|
|
11
|
+
scroll.h1 text: 'Original size'
|
|
12
|
+
scroll.spacer height: 6
|
|
13
|
+
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: nil)
|
|
14
|
+
|
|
15
|
+
scroll.h1 text: 'fit: clip (default) to width'
|
|
16
|
+
scroll.spacer height: 6
|
|
17
|
+
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: 100, height: nil)
|
|
18
|
+
|
|
19
|
+
scroll.spacer height: 20
|
|
20
|
+
scroll.h1 text: 'fit: clip (default) to height'
|
|
21
|
+
scroll.spacer height: 6
|
|
22
|
+
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: 100)
|
|
23
|
+
|
|
24
|
+
scroll.spacer height: 20
|
|
25
|
+
scroll.h1 text: 'fit: crop to width'
|
|
26
|
+
scroll.spacer height: 6
|
|
27
|
+
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: 100, height: nil)
|
|
28
|
+
|
|
29
|
+
scroll.spacer height: 20
|
|
30
|
+
scroll.h1 text: 'fit: crop to height'
|
|
31
|
+
scroll.spacer height: 6
|
|
32
|
+
scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: nil, height: 100)
|
|
33
|
+
|
|
34
|
+
# Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
|
|
35
|
+
#
|
|
36
|
+
# scroll.spacer height: 20
|
|
37
|
+
# scroll.h1 text: 'fit: fill to width'
|
|
38
|
+
# scroll.spacer height: 6
|
|
39
|
+
# scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: 2000, height: nil)
|
|
40
|
+
|
|
41
|
+
# Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
|
|
42
|
+
#
|
|
43
|
+
# scroll.spacer height: 20
|
|
44
|
+
# scroll.h1 text: 'fit: fill to height'
|
|
45
|
+
# scroll.spacer height: 6
|
|
46
|
+
# scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: nil, height: 2000)
|
|
47
|
+
end
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
json.title 'Dynamic Texts'
|
|
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: 'Dynamic Text', onClick: ->(action) do
|
|
9
|
-
action.windows_open url: json_ui_garage_url(path: 'services/dynamic_text')
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
template.thumbnail title: 'Image', onClick: ->(action) do
|
|
13
|
-
action.windows_open url: json_ui_garage_url(path: 'services/image')
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
end
|
|
1
|
+
json.title 'Dynamic Texts'
|
|
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: 'Dynamic Text', onClick: ->(action) do
|
|
9
|
+
action.windows_open url: json_ui_garage_url(path: 'services/dynamic_text')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
template.thumbnail title: 'Image', onClick: ->(action) do
|
|
13
|
+
action.windows_open url: json_ui_garage_url(path: 'services/image')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
batch_count = 30
|
|
2
|
-
items = (1..batch_count)
|
|
3
|
-
section = page.table_section_builder
|
|
4
|
-
section.rows objects: items, builder: ->(row, item, index) do
|
|
5
|
-
row.default colStyles: [{ width: 36 }, {}, {}, {}, { width: 36 }], cellViews: ->(cell) do
|
|
6
|
-
cell.label text: ''
|
|
7
|
-
|
|
8
|
-
column_indexes.each do |i|
|
|
9
|
-
cell.label text: "Data #{page_index * batch_count + item}-#{i}"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
cell.label text: ''
|
|
13
|
-
end, onClick: ->(action) do
|
|
14
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
15
|
-
end
|
|
16
|
-
end
|
|
1
|
+
batch_count = 30
|
|
2
|
+
items = (1..batch_count)
|
|
3
|
+
section = page.table_section_builder
|
|
4
|
+
section.rows objects: items, builder: ->(row, item, index) do
|
|
5
|
+
row.default colStyles: [{ width: 36 }, {}, {}, {}, { width: 36 }], cellViews: ->(cell) do
|
|
6
|
+
cell.label text: ''
|
|
7
|
+
|
|
8
|
+
column_indexes.each do |i|
|
|
9
|
+
cell.label text: "Data #{page_index * batch_count + item}-#{i}"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
cell.label text: ''
|
|
13
|
+
end, onClick: ->(action) do
|
|
14
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
page_index = params[:page].to_i
|
|
3
|
-
next_page = {
|
|
4
|
-
url: json_ui_garage_url(path: 'tables/autoload_all', page: page_index + 1, section_only: 'v1'),
|
|
5
|
-
autoload: 'all'
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
column_indexes = (1..3)
|
|
9
|
-
# TODO: Cater
|
|
10
|
-
# - for SEO: one URL for a standalone page and one URL for pagination only
|
|
11
|
-
# - for generic approach, e.g. excluding nav_menu when there is no change
|
|
12
|
-
if params[:section_only].present?
|
|
13
|
-
sleep 1
|
|
14
|
-
|
|
15
|
-
json.nextPage next_page if page_index < 3
|
|
16
|
-
json_ui_page json do |page|
|
|
17
|
-
json.sections do
|
|
18
|
-
json.child! do
|
|
19
|
-
render 'json_ui/garage/tables/autoload_section', page: page, page_index: page_index, column_indexes: column_indexes
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
else
|
|
24
|
-
json.title 'Tables'
|
|
25
|
-
|
|
26
|
-
page = json_ui_page json
|
|
27
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
28
|
-
|
|
29
|
-
page.table nextPage: next_page, firstSection: ->(section) do
|
|
30
|
-
section.header cellViews: ->(header) do
|
|
31
|
-
column_indexes.each do |i|
|
|
32
|
-
header.label text: "Heading#{i}"
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
render "#{@path_prefix}/tables/autoload_section", page: page, page_index: page_index, column_indexes: column_indexes
|
|
37
|
-
end, onScrollToBottom: ->(action) do
|
|
38
|
-
action.snackbars_alert message: 'Scrolled to Bottom'
|
|
39
|
-
end, onScrollToTop: ->(action) do
|
|
40
|
-
action.snackbars_alert message: 'Scrolled to Top'
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
1
|
+
|
|
2
|
+
page_index = params[:page].to_i
|
|
3
|
+
next_page = {
|
|
4
|
+
url: json_ui_garage_url(path: 'tables/autoload_all', page: page_index + 1, section_only: 'v1'),
|
|
5
|
+
autoload: 'all'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
column_indexes = (1..3)
|
|
9
|
+
# TODO: Cater
|
|
10
|
+
# - for SEO: one URL for a standalone page and one URL for pagination only
|
|
11
|
+
# - for generic approach, e.g. excluding nav_menu when there is no change
|
|
12
|
+
if params[:section_only].present?
|
|
13
|
+
sleep 1
|
|
14
|
+
|
|
15
|
+
json.nextPage next_page if page_index < 3
|
|
16
|
+
json_ui_page json do |page|
|
|
17
|
+
json.sections do
|
|
18
|
+
json.child! do
|
|
19
|
+
render 'json_ui/garage/tables/autoload_section', page: page, page_index: page_index, column_indexes: column_indexes
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
json.title 'Tables'
|
|
25
|
+
|
|
26
|
+
page = json_ui_page json
|
|
27
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
28
|
+
|
|
29
|
+
page.table nextPage: next_page, firstSection: ->(section) do
|
|
30
|
+
section.header cellViews: ->(header) do
|
|
31
|
+
column_indexes.each do |i|
|
|
32
|
+
header.label text: "Heading#{i}"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
render "#{@path_prefix}/tables/autoload_section", page: page, page_index: page_index, column_indexes: column_indexes
|
|
37
|
+
end, onScrollToBottom: ->(action) do
|
|
38
|
+
action.snackbars_alert message: 'Scrolled to Bottom'
|
|
39
|
+
end, onScrollToTop: ->(action) do
|
|
40
|
+
action.snackbars_alert message: 'Scrolled to Top'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|