glib-web 0.5.85 → 0.5.86
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 +149 -149
- 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 -18
- 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/dialogs.rb +58 -58
- data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
- data/app/helpers/glib/json_ui/action_builder/iap.rb +15 -15
- 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 +38 -38
- data/app/helpers/glib/json_ui/action_builder.rb +140 -140
- 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 +96 -96
- 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/styling_helper.rb +55 -55
- data/app/helpers/glib/json_ui/table_builders.rb +74 -74
- data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
- data/app/helpers/glib/json_ui/view_builder/charts.rb +49 -33
- data/app/helpers/glib/json_ui/view_builder/fields.rb +291 -291
- data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -11
- data/app/helpers/glib/json_ui/view_builder/panels.rb +258 -258
- data/app/helpers/glib/json_ui/view_builder.rb +248 -248
- data/app/helpers/glib/urls_helper.rb +12 -12
- data/app/models/concerns/glib/soft_deletable.rb +68 -68
- 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 +191 -191
- 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 +10 -10
- 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 -24
- 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 +37 -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 +116 -116
- data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
- 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/payments.json.jbuilder +34 -34
- 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 -91
- data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +150 -150
- 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 +65 -65
- 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 +30 -30
- 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 +92 -92
- 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 +38 -38
- 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 -138
- 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 -33
- 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 +67 -67
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
- data/app/views/json_ui/garage/views/charts.json.jbuilder +125 -115
- data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
- data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -21
- data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
- data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
- data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
- data/app/views/json_ui/garage/views/index.json.jbuilder +83 -83
- 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/progress.json.jbuilder +31 -31
- 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/crypt/utils.rb +26 -26
- data/lib/glib/crypt.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +21 -21
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/engine.rb +7 -7
- 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 +90 -90
- data/lib/glib/json_crawler.rb +11 -11
- 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/glib-web.rb +9 -9
- data/lib/tasks/db.rake +95 -95
- metadata +1 -1
|
@@ -1,92 +1,92 @@
|
|
|
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.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
|
-
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
8
|
-
column.h2 text: 'Tab Bar with Badge'
|
|
9
|
-
column.tabBar buttons: ->(menu) do
|
|
10
|
-
{
|
|
11
|
-
'FIRST' => 'home',
|
|
12
|
-
'SECOND' => 'schedule',
|
|
13
|
-
'THIRD' => 'analytics'
|
|
14
|
-
}.each_with_index do |(text, icon), index|
|
|
15
|
-
menu.button \
|
|
16
|
-
icon: icon,
|
|
17
|
-
text: text,
|
|
18
|
-
badgeContent: [nil, 8, '⭐⭐⭐'][index],
|
|
19
|
-
badgeColor: [nil, '#272551', '#008000'][index],
|
|
20
|
-
disabled: params[:tab].to_i == index,
|
|
21
|
-
onClick: ->(action) do
|
|
22
|
-
action.windows_reload \
|
|
23
|
-
url: json_ui_garage_url(
|
|
24
|
-
path: 'pages/tab_bar',
|
|
25
|
-
tab: index,
|
|
26
|
-
tab_2: params[:tab_2],
|
|
27
|
-
tab_3: params[:tab_3]
|
|
28
|
-
)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
column.spacer height: 10
|
|
33
|
-
|
|
34
|
-
column.label text: "Tab index #{params[:tab].to_i} selected"
|
|
35
|
-
column.spacer height: 10
|
|
36
|
-
|
|
37
|
-
10.times do |i|
|
|
38
|
-
column.label text: "Line #{i + 1}"
|
|
39
|
-
end
|
|
40
|
-
column.spacer height: 40
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
44
|
-
column.h2 text: "Tab Bar with 'full-width-divider'"
|
|
45
|
-
column.tabBar styleClass: 'full-width-divider', buttons: ->(menu) do
|
|
46
|
-
5.times do |index|
|
|
47
|
-
menu.button \
|
|
48
|
-
text: "Tab #{index}",
|
|
49
|
-
disabled: params[:tab_2].to_i == index,
|
|
50
|
-
onClick: ->(action) do
|
|
51
|
-
action.windows_reload \
|
|
52
|
-
url: json_ui_garage_url(
|
|
53
|
-
path: 'pages/tab_bar',
|
|
54
|
-
tab: params[:tab],
|
|
55
|
-
tab_2: index,
|
|
56
|
-
tab_3: params[:tab_3]
|
|
57
|
-
)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
column.spacer height: 10
|
|
62
|
-
|
|
63
|
-
column.label text: "Tab-2 index #{params[:tab_2].to_i} selected"
|
|
64
|
-
column.spacer height: 40
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
68
|
-
column.h2 text: "Tab Bar 'with no-grow'"
|
|
69
|
-
column.tabBar styleClass: 'no-grow', buttons: ->(menu) do
|
|
70
|
-
5.times do |index|
|
|
71
|
-
menu.button \
|
|
72
|
-
text: "Tab #{index}",
|
|
73
|
-
disabled: params[:tab_3].to_i == index,
|
|
74
|
-
onClick: ->(action) do
|
|
75
|
-
action.windows_reload \
|
|
76
|
-
url: json_ui_garage_url(
|
|
77
|
-
path: 'pages/tab_bar',
|
|
78
|
-
tab: params[:tab],
|
|
79
|
-
tab_2: params[:tab_2],
|
|
80
|
-
tab_3: index
|
|
81
|
-
)
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
column.spacer height: 10
|
|
86
|
-
|
|
87
|
-
column.label text: "Tab-3 index #{params[:tab_3].to_i} selected"
|
|
88
|
-
column.spacer height: 40
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
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.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
|
+
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
8
|
+
column.h2 text: 'Tab Bar with Badge'
|
|
9
|
+
column.tabBar buttons: ->(menu) do
|
|
10
|
+
{
|
|
11
|
+
'FIRST' => 'home',
|
|
12
|
+
'SECOND' => 'schedule',
|
|
13
|
+
'THIRD' => 'analytics'
|
|
14
|
+
}.each_with_index do |(text, icon), index|
|
|
15
|
+
menu.button \
|
|
16
|
+
icon: icon,
|
|
17
|
+
text: text,
|
|
18
|
+
badgeContent: [nil, 8, '⭐⭐⭐'][index],
|
|
19
|
+
badgeColor: [nil, '#272551', '#008000'][index],
|
|
20
|
+
disabled: params[:tab].to_i == index,
|
|
21
|
+
onClick: ->(action) do
|
|
22
|
+
action.windows_reload \
|
|
23
|
+
url: json_ui_garage_url(
|
|
24
|
+
path: 'pages/tab_bar',
|
|
25
|
+
tab: index,
|
|
26
|
+
tab_2: params[:tab_2],
|
|
27
|
+
tab_3: params[:tab_3]
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
column.spacer height: 10
|
|
33
|
+
|
|
34
|
+
column.label text: "Tab index #{params[:tab].to_i} selected"
|
|
35
|
+
column.spacer height: 10
|
|
36
|
+
|
|
37
|
+
10.times do |i|
|
|
38
|
+
column.label text: "Line #{i + 1}"
|
|
39
|
+
end
|
|
40
|
+
column.spacer height: 40
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
44
|
+
column.h2 text: "Tab Bar with 'full-width-divider'"
|
|
45
|
+
column.tabBar styleClass: 'full-width-divider', buttons: ->(menu) do
|
|
46
|
+
5.times do |index|
|
|
47
|
+
menu.button \
|
|
48
|
+
text: "Tab #{index}",
|
|
49
|
+
disabled: params[:tab_2].to_i == index,
|
|
50
|
+
onClick: ->(action) do
|
|
51
|
+
action.windows_reload \
|
|
52
|
+
url: json_ui_garage_url(
|
|
53
|
+
path: 'pages/tab_bar',
|
|
54
|
+
tab: params[:tab],
|
|
55
|
+
tab_2: index,
|
|
56
|
+
tab_3: params[:tab_3]
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
column.spacer height: 10
|
|
62
|
+
|
|
63
|
+
column.label text: "Tab-2 index #{params[:tab_2].to_i} selected"
|
|
64
|
+
column.spacer height: 40
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
68
|
+
column.h2 text: "Tab Bar 'with no-grow'"
|
|
69
|
+
column.tabBar styleClass: 'no-grow', buttons: ->(menu) do
|
|
70
|
+
5.times do |index|
|
|
71
|
+
menu.button \
|
|
72
|
+
text: "Tab #{index}",
|
|
73
|
+
disabled: params[:tab_3].to_i == index,
|
|
74
|
+
onClick: ->(action) do
|
|
75
|
+
action.windows_reload \
|
|
76
|
+
url: json_ui_garage_url(
|
|
77
|
+
path: 'pages/tab_bar',
|
|
78
|
+
tab: params[:tab],
|
|
79
|
+
tab_2: params[:tab_2],
|
|
80
|
+
tab_3: index
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
column.spacer height: 10
|
|
86
|
+
|
|
87
|
+
column.label text: "Tab-3 index #{params[:tab_3].to_i} selected"
|
|
88
|
+
column.spacer height: 40
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
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,38 +1,38 @@
|
|
|
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.h1 text: 'Carousel with labels'
|
|
11
|
-
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
12
|
-
carousel.label text: 'Item 1'
|
|
13
|
-
carousel.label text: 'Item 2'
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
scroll.spacer height: 20
|
|
17
|
-
scroll.h1 text: 'Carousel with images'
|
|
18
|
-
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
19
|
-
carousel.image url: image_url1, width: 'matchParent'
|
|
20
|
-
carousel.image url: image_url2, width: 'matchParent'
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
scroll.spacer height: 20
|
|
24
|
-
scroll.h1 text: 'Carousel with complex layout'
|
|
25
|
-
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
26
|
-
height = 480
|
|
27
|
-
|
|
28
|
-
carousel.panels_vertical align: 'center', childViews: ->(panel) do
|
|
29
|
-
panel.h3 text: 'Item 1'
|
|
30
|
-
panel.image height: height, url: image_url1
|
|
31
|
-
end
|
|
32
|
-
carousel.panels_vertical align: 'center', childViews: ->(panel) do
|
|
33
|
-
panel.h3 text: 'Item 2'
|
|
34
|
-
panel.image height: height, url: image_url2
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
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.h1 text: 'Carousel with labels'
|
|
11
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
12
|
+
carousel.label text: 'Item 1'
|
|
13
|
+
carousel.label text: 'Item 2'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
scroll.spacer height: 20
|
|
17
|
+
scroll.h1 text: 'Carousel with images'
|
|
18
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
19
|
+
carousel.image url: image_url1, width: 'matchParent'
|
|
20
|
+
carousel.image url: image_url2, width: 'matchParent'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
scroll.spacer height: 20
|
|
24
|
+
scroll.h1 text: 'Carousel with complex layout'
|
|
25
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
|
26
|
+
height = 480
|
|
27
|
+
|
|
28
|
+
carousel.panels_vertical align: 'center', childViews: ->(panel) do
|
|
29
|
+
panel.h3 text: 'Item 1'
|
|
30
|
+
panel.image height: height, url: image_url1
|
|
31
|
+
end
|
|
32
|
+
carousel.panels_vertical align: 'center', childViews: ->(panel) do
|
|
33
|
+
panel.h3 text: 'Item 2'
|
|
34
|
+
panel.image height: height, url: image_url2
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -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
|