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,17 +1,17 @@
|
|
|
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.h2 text: 'Thumbnail Template'
|
|
8
|
-
scroll.spacer height: 6
|
|
9
|
-
scroll.panels_custom template: 'thumbnail', width: 'matchParent', backgroundColor: '#fafafa',
|
|
10
|
-
data: { imageUrl: glib_json_image_standard_url, title: 'Title', subtitle: 'Use the same template from list templates' }
|
|
11
|
-
|
|
12
|
-
scroll.spacer height: 20
|
|
13
|
-
scroll.h2 text: 'Non-existent Template'
|
|
14
|
-
scroll.spacer height: 6
|
|
15
|
-
scroll.panels_custom template: 'nonExistentTemplate'
|
|
16
|
-
end
|
|
17
|
-
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.h2 text: 'Thumbnail Template'
|
|
8
|
+
scroll.spacer height: 6
|
|
9
|
+
scroll.panels_custom template: 'thumbnail', width: 'matchParent', backgroundColor: '#fafafa',
|
|
10
|
+
data: { imageUrl: glib_json_image_standard_url, title: 'Title', subtitle: 'Use the same template from list templates' }
|
|
11
|
+
|
|
12
|
+
scroll.spacer height: 20
|
|
13
|
+
scroll.h2 text: 'Non-existent Template'
|
|
14
|
+
scroll.spacer height: 6
|
|
15
|
+
scroll.panels_custom template: 'nonExistentTemplate'
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
json.title 'Panels'
|
|
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.h1 text: 'Basic'
|
|
8
|
-
scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
9
|
-
panel.button text: '1'
|
|
10
|
-
panel.button text: '2'
|
|
11
|
-
panel.button text: '3'
|
|
12
|
-
panel.button text: '4'
|
|
13
|
-
panel.button text: '5'
|
|
14
|
-
panel.button text: '6'
|
|
15
|
-
panel.button text: '7'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
scroll.label text: "\n"
|
|
19
|
-
scroll.h1 text: 'Spacers'
|
|
20
|
-
scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
21
|
-
panel.button text: '1'
|
|
22
|
-
panel.spacer width: 30
|
|
23
|
-
panel.button text: '2'
|
|
24
|
-
panel.spacer width: 30
|
|
25
|
-
panel.button text: '3'
|
|
26
|
-
panel.spacer width: 30
|
|
27
|
-
panel.button text: '4'
|
|
28
|
-
panel.spacer width: 30
|
|
29
|
-
panel.button text: '5'
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
scroll.label text: "\n"
|
|
33
|
-
scroll.h1 text: 'Inner Paddings'
|
|
34
|
-
scroll.panels_flow innerPadding: { top: 10, bottom: 10, left: 10, right: 10 }, width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
35
|
-
panel.button text: '1'
|
|
36
|
-
panel.button text: '2'
|
|
37
|
-
panel.button text: '3'
|
|
38
|
-
panel.button text: '4'
|
|
39
|
-
panel.button text: '5'
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# scroll.label text: "\n"
|
|
43
|
-
# scroll.h1 text: 'Alignments'
|
|
44
|
-
# scroll.panels_horizontal align: 'top', childViews: ->(panel) do
|
|
45
|
-
# panel.button height: 50, text: 'Button'
|
|
46
|
-
# panel.spacer width: 10
|
|
47
|
-
# panel.label text: 'top'
|
|
48
|
-
# end
|
|
49
|
-
# scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
|
|
50
|
-
# panel.button height: 50, text: 'Button'
|
|
51
|
-
# panel.spacer width: 10
|
|
52
|
-
# panel.label text: 'middle'
|
|
53
|
-
# end
|
|
54
|
-
# scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
|
|
55
|
-
# panel.button height: 50, text: 'Button'
|
|
56
|
-
# panel.spacer width: 10
|
|
57
|
-
# panel.label text: 'bottom'
|
|
58
|
-
# end
|
|
59
|
-
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.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
|
+
scroll.h1 text: 'Basic'
|
|
8
|
+
scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
9
|
+
panel.button text: '1'
|
|
10
|
+
panel.button text: '2'
|
|
11
|
+
panel.button text: '3'
|
|
12
|
+
panel.button text: '4'
|
|
13
|
+
panel.button text: '5'
|
|
14
|
+
panel.button text: '6'
|
|
15
|
+
panel.button text: '7'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
scroll.label text: "\n"
|
|
19
|
+
scroll.h1 text: 'Spacers'
|
|
20
|
+
scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
21
|
+
panel.button text: '1'
|
|
22
|
+
panel.spacer width: 30
|
|
23
|
+
panel.button text: '2'
|
|
24
|
+
panel.spacer width: 30
|
|
25
|
+
panel.button text: '3'
|
|
26
|
+
panel.spacer width: 30
|
|
27
|
+
panel.button text: '4'
|
|
28
|
+
panel.spacer width: 30
|
|
29
|
+
panel.button text: '5'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
scroll.label text: "\n"
|
|
33
|
+
scroll.h1 text: 'Inner Paddings'
|
|
34
|
+
scroll.panels_flow innerPadding: { top: 10, bottom: 10, left: 10, right: 10 }, width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
35
|
+
panel.button text: '1'
|
|
36
|
+
panel.button text: '2'
|
|
37
|
+
panel.button text: '3'
|
|
38
|
+
panel.button text: '4'
|
|
39
|
+
panel.button text: '5'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# scroll.label text: "\n"
|
|
43
|
+
# scroll.h1 text: 'Alignments'
|
|
44
|
+
# scroll.panels_horizontal align: 'top', childViews: ->(panel) do
|
|
45
|
+
# panel.button height: 50, text: 'Button'
|
|
46
|
+
# panel.spacer width: 10
|
|
47
|
+
# panel.label text: 'top'
|
|
48
|
+
# end
|
|
49
|
+
# scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
|
|
50
|
+
# panel.button height: 50, text: 'Button'
|
|
51
|
+
# panel.spacer width: 10
|
|
52
|
+
# panel.label text: 'middle'
|
|
53
|
+
# end
|
|
54
|
+
# scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
|
|
55
|
+
# panel.button height: 50, text: 'Button'
|
|
56
|
+
# panel.spacer width: 10
|
|
57
|
+
# panel.label text: 'bottom'
|
|
58
|
+
# end
|
|
59
|
+
end
|
|
@@ -1,91 +1,91 @@
|
|
|
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_horizontal backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
9
|
-
panel.button text: '1'
|
|
10
|
-
panel.button text: '2'
|
|
11
|
-
panel.button text: '3'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
scroll.label text: "\n"
|
|
15
|
-
scroll.h1 text: 'Equal filling'
|
|
16
|
-
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'fillEqually', childViews: ->(panel) do
|
|
17
|
-
panel.button text: '1'
|
|
18
|
-
panel.button text: '2', height: 50
|
|
19
|
-
panel.button text: '3', height: 70
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
scroll.label text: "\n"
|
|
23
|
-
scroll.h1 text: 'Equal spacing'
|
|
24
|
-
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'spaceEqually', childViews: ->(panel) do
|
|
25
|
-
panel.button text: '1'
|
|
26
|
-
panel.button text: '2'
|
|
27
|
-
panel.button text: '3'
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
scroll.label text: "\n"
|
|
31
|
-
scroll.h1 text: 'Vertical panel combo'
|
|
32
|
-
scroll.panels_horizontal distribution: 'spaceEqually', childViews: ->(panel) do
|
|
33
|
-
panel.button text: '1'
|
|
34
|
-
panel.panels_vertical childViews: ->(v) do
|
|
35
|
-
v.button text: 'A'
|
|
36
|
-
v.button text: 'B'
|
|
37
|
-
end
|
|
38
|
-
panel.button text: '3'
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
scroll.label text: "\n"
|
|
42
|
-
scroll.h1 text: 'Vertical panel combo (equal filling)'
|
|
43
|
-
scroll.panels_horizontal width: 'matchParent', distribution: 'fillEqually', childViews: ->(panel) do
|
|
44
|
-
panel.button text: '1'
|
|
45
|
-
panel.panels_vertical childViews: ->(v) do
|
|
46
|
-
v.button text: 'A'
|
|
47
|
-
v.button text: 'B'
|
|
48
|
-
end
|
|
49
|
-
panel.button text: '3'
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
scroll.label text: "\n"
|
|
53
|
-
scroll.h1 text: 'Vertical panel combo (equal spacing)'
|
|
54
|
-
scroll.panels_horizontal width: 'matchParent', distribution: 'spaceEqually', childViews: ->(panel) do
|
|
55
|
-
panel.button text: '1'
|
|
56
|
-
panel.panels_vertical childViews: ->(v) do
|
|
57
|
-
v.button text: 'A'
|
|
58
|
-
v.button text: 'B'
|
|
59
|
-
end
|
|
60
|
-
panel.button text: '3'
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
scroll.label text: "\n"
|
|
64
|
-
scroll.h1 text: 'Spacers'
|
|
65
|
-
scroll.panels_horizontal width: 'matchParent', childViews: ->(panel) do
|
|
66
|
-
panel.button text: '1'
|
|
67
|
-
panel.spacer width: 10
|
|
68
|
-
panel.button text: '2'
|
|
69
|
-
panel.spacer width: 50
|
|
70
|
-
panel.button text: '3'
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
scroll.label text: "\n"
|
|
74
|
-
scroll.h1 text: 'Alignments'
|
|
75
|
-
scroll.panels_horizontal align: 'top', childViews: ->(panel) do
|
|
76
|
-
panel.button height: 50, text: 'Button'
|
|
77
|
-
panel.spacer width: 10
|
|
78
|
-
panel.label text: 'top'
|
|
79
|
-
end
|
|
80
|
-
scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
|
|
81
|
-
panel.button height: 50, text: 'Button'
|
|
82
|
-
panel.spacer width: 10
|
|
83
|
-
panel.label text: 'middle'
|
|
84
|
-
end
|
|
85
|
-
scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
|
|
86
|
-
panel.button height: 50, text: 'Button'
|
|
87
|
-
panel.spacer width: 10
|
|
88
|
-
panel.label text: 'bottom'
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
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_horizontal backgroundColor: '#b3bac2', childViews: ->(panel) do
|
|
9
|
+
panel.button text: '1'
|
|
10
|
+
panel.button text: '2'
|
|
11
|
+
panel.button text: '3'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
scroll.label text: "\n"
|
|
15
|
+
scroll.h1 text: 'Equal filling'
|
|
16
|
+
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'fillEqually', childViews: ->(panel) do
|
|
17
|
+
panel.button text: '1'
|
|
18
|
+
panel.button text: '2', height: 50
|
|
19
|
+
panel.button text: '3', height: 70
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
scroll.label text: "\n"
|
|
23
|
+
scroll.h1 text: 'Equal spacing'
|
|
24
|
+
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'spaceEqually', childViews: ->(panel) do
|
|
25
|
+
panel.button text: '1'
|
|
26
|
+
panel.button text: '2'
|
|
27
|
+
panel.button text: '3'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
scroll.label text: "\n"
|
|
31
|
+
scroll.h1 text: 'Vertical panel combo'
|
|
32
|
+
scroll.panels_horizontal distribution: 'spaceEqually', childViews: ->(panel) do
|
|
33
|
+
panel.button text: '1'
|
|
34
|
+
panel.panels_vertical childViews: ->(v) do
|
|
35
|
+
v.button text: 'A'
|
|
36
|
+
v.button text: 'B'
|
|
37
|
+
end
|
|
38
|
+
panel.button text: '3'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
scroll.label text: "\n"
|
|
42
|
+
scroll.h1 text: 'Vertical panel combo (equal filling)'
|
|
43
|
+
scroll.panels_horizontal width: 'matchParent', distribution: 'fillEqually', childViews: ->(panel) do
|
|
44
|
+
panel.button text: '1'
|
|
45
|
+
panel.panels_vertical childViews: ->(v) do
|
|
46
|
+
v.button text: 'A'
|
|
47
|
+
v.button text: 'B'
|
|
48
|
+
end
|
|
49
|
+
panel.button text: '3'
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
scroll.label text: "\n"
|
|
53
|
+
scroll.h1 text: 'Vertical panel combo (equal spacing)'
|
|
54
|
+
scroll.panels_horizontal width: 'matchParent', distribution: 'spaceEqually', childViews: ->(panel) do
|
|
55
|
+
panel.button text: '1'
|
|
56
|
+
panel.panels_vertical childViews: ->(v) do
|
|
57
|
+
v.button text: 'A'
|
|
58
|
+
v.button text: 'B'
|
|
59
|
+
end
|
|
60
|
+
panel.button text: '3'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
scroll.label text: "\n"
|
|
64
|
+
scroll.h1 text: 'Spacers'
|
|
65
|
+
scroll.panels_horizontal width: 'matchParent', childViews: ->(panel) do
|
|
66
|
+
panel.button text: '1'
|
|
67
|
+
panel.spacer width: 10
|
|
68
|
+
panel.button text: '2'
|
|
69
|
+
panel.spacer width: 50
|
|
70
|
+
panel.button text: '3'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
scroll.label text: "\n"
|
|
74
|
+
scroll.h1 text: 'Alignments'
|
|
75
|
+
scroll.panels_horizontal align: 'top', childViews: ->(panel) do
|
|
76
|
+
panel.button height: 50, text: 'Button'
|
|
77
|
+
panel.spacer width: 10
|
|
78
|
+
panel.label text: 'top'
|
|
79
|
+
end
|
|
80
|
+
scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
|
|
81
|
+
panel.button height: 50, text: 'Button'
|
|
82
|
+
panel.spacer width: 10
|
|
83
|
+
panel.label text: 'middle'
|
|
84
|
+
end
|
|
85
|
+
scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
|
|
86
|
+
panel.button height: 50, text: 'Button'
|
|
87
|
+
panel.spacer width: 10
|
|
88
|
+
panel.label text: 'bottom'
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -1,134 +1,138 @@
|
|
|
1
|
-
json.title 'Panels'
|
|
2
|
-
|
|
3
|
-
json_ui_page json do |page|
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
|
-
|
|
6
|
-
page.list sections: [
|
|
7
|
-
->(section) do
|
|
8
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
9
|
-
header.h2 text: 'Layout for child components'
|
|
10
|
-
header.spacer height: 6
|
|
11
|
-
header.label text: 'May contain infinite number of child components'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
section.rows builder: ->(template) do
|
|
15
|
-
template.thumbnail title: 'Vertical', subtitle: 'Arrange child components vertically', onClick: ->(action) do
|
|
16
|
-
action.windows_open url: json_ui_garage_url(path: 'panels/vertical')
|
|
17
|
-
end
|
|
18
|
-
template.thumbnail title: 'Horizontal', subtitle: 'Arrange child components horizontally', onClick: ->(action) do
|
|
19
|
-
action.windows_open url: json_ui_garage_url(path: 'panels/horizontal')
|
|
20
|
-
end
|
|
21
|
-
template.thumbnail title: 'Flow', subtitle: 'Arrange components in a left-to-right flow, much like lines of text in a paragraph', onClick: ->(action) do
|
|
22
|
-
action.windows_open url: json_ui_garage_url(path: 'panels/flow')
|
|
23
|
-
end
|
|
24
|
-
template.thumbnail title: 'Carousel', subtitle: 'Arrange child components horizontally in a carousel', onClick: ->(action) do
|
|
25
|
-
action.windows_open url: json_ui_garage_url(path: 'panels/carousel')
|
|
26
|
-
end
|
|
27
|
-
template.thumbnail title: 'Responsive', subtitle: 'Arrange *column panels* horizontally using flex', onClick: ->(action) do
|
|
28
|
-
action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
section.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
section.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
section.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
section.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
template.thumbnail title: '
|
|
128
|
-
# TODO
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
end
|
|
1
|
+
json.title 'Panels'
|
|
2
|
+
|
|
3
|
+
json_ui_page json do |page|
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
|
+
|
|
6
|
+
page.list sections: [
|
|
7
|
+
->(section) do
|
|
8
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
9
|
+
header.h2 text: 'Layout for child components'
|
|
10
|
+
header.spacer height: 6
|
|
11
|
+
header.label text: 'May contain infinite number of child components'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
section.rows builder: ->(template) do
|
|
15
|
+
template.thumbnail title: 'Vertical', subtitle: 'Arrange child components vertically', onClick: ->(action) do
|
|
16
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/vertical')
|
|
17
|
+
end
|
|
18
|
+
template.thumbnail title: 'Horizontal', subtitle: 'Arrange child components horizontally', onClick: ->(action) do
|
|
19
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/horizontal')
|
|
20
|
+
end
|
|
21
|
+
template.thumbnail title: 'Flow', subtitle: 'Arrange components in a left-to-right flow, much like lines of text in a paragraph', onClick: ->(action) do
|
|
22
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/flow')
|
|
23
|
+
end
|
|
24
|
+
template.thumbnail title: 'Carousel', subtitle: 'Arrange child components horizontally in a carousel', onClick: ->(action) do
|
|
25
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/carousel')
|
|
26
|
+
end
|
|
27
|
+
template.thumbnail title: 'Responsive', subtitle: 'Arrange *column panels* horizontally using flex', onClick: ->(action) do
|
|
28
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
|
|
29
|
+
end
|
|
30
|
+
template.thumbnail title: 'Unordered List', subtitle: 'Bullet points similar to HTML\'s <ul> tag', onClick: ->(action) do
|
|
31
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/ul')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
end, ->(section) do
|
|
37
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
38
|
+
header.h2 text: 'Layout with predefined sub-panels'
|
|
39
|
+
header.spacer height: 6
|
|
40
|
+
header.label text: 'Each sub-panel is a responsive panel'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
section.rows builder: ->(template) do
|
|
44
|
+
template.thumbnail title: 'Split', subtitle: 'Sub-panels: left, center, right', onClick: ->(action) do
|
|
45
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/split')
|
|
46
|
+
end
|
|
47
|
+
template.thumbnail title: 'Page', subtitle: 'Sub-panels: header, body, footer', onClick: ->(action) do
|
|
48
|
+
action.windows_open url: json_ui_garage_url(path: 'pages/index')
|
|
49
|
+
end
|
|
50
|
+
template.thumbnail title: 'List', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
|
|
51
|
+
action.windows_open url: json_ui_garage_url(path: 'lists/index')
|
|
52
|
+
end
|
|
53
|
+
template.thumbnail title: 'Table (Web Only)', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
|
|
54
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/index')
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
end, ->(section) do
|
|
59
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
60
|
+
header.h2 text: 'Layout with uniform rows'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
section.rows builder: ->(template) do
|
|
64
|
+
template.thumbnail title: 'List', subtitle: 'Rows without columns', onClick: ->(action) do
|
|
65
|
+
action.windows_open url: json_ui_garage_url(path: 'lists/index')
|
|
66
|
+
end
|
|
67
|
+
template.thumbnail title: 'Table (Web Only)', subtitle: 'Rows with columns', onClick: ->(action) do
|
|
68
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/index')
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
end, ->(section) do
|
|
73
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
74
|
+
header.h2 text: 'Non-layout'
|
|
75
|
+
header.spacer height: 6
|
|
76
|
+
header.label text: 'Adds functionality to a responsive layout'
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
section.rows builder: ->(template) do
|
|
80
|
+
template.thumbnail title: 'Scroll', subtitle: 'Adds scrolling', onClick: ->(action) do
|
|
81
|
+
action.windows_open url: json_ui_garage_url(path: 'pages/index')
|
|
82
|
+
end
|
|
83
|
+
template.thumbnail title: 'Form', subtitle: 'Adds form functionality', onClick: ->(action) do
|
|
84
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/index')
|
|
85
|
+
end
|
|
86
|
+
template.thumbnail title: 'Column', subtitle: 'Adds control over layout inside a responsive panel', onClick: ->(action) do
|
|
87
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end, ->(section) do
|
|
91
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
92
|
+
header.h2 text: 'Child-less Layout'
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
section.rows builder: ->(template) do
|
|
96
|
+
template.thumbnail title: 'Custom', onClick: ->(action) do
|
|
97
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/custom')
|
|
98
|
+
end
|
|
99
|
+
template.thumbnail title: 'Web', onClick: ->(action) do
|
|
100
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/web')
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
end
|
|
104
|
+
end, ->(section) do
|
|
105
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
106
|
+
header.h2 text: 'Styling'
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
section.rows builder: ->(template) do
|
|
110
|
+
template.thumbnail title: 'Card', onClick: ->(action) do
|
|
111
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/card')
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
section.rows builder: ->(template) do
|
|
116
|
+
template.thumbnail title: 'Outlined', onClick: ->(action) do
|
|
117
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/outlined')
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
end
|
|
121
|
+
end, ->(section) do
|
|
122
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
123
|
+
header.h2 text: 'Uncategorized'
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
section.rows builder: ->(template) do
|
|
127
|
+
template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
|
|
128
|
+
# TODO
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
|
|
132
|
+
# TODO
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
]
|
|
137
|
+
|
|
138
|
+
end
|