glib-web 0.5.77 → 0.5.78

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.
Files changed (190) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +34 -34
  3. data/app/channels/glib/channel/online_channel.rb +36 -36
  4. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  5. data/app/controllers/concerns/glib/auth/policy.rb +148 -148
  6. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  7. data/app/controllers/concerns/glib/json/libs.rb +149 -149
  8. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  9. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  10. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  11. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  12. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  13. data/app/controllers/glib/home_controller.rb +54 -54
  14. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  15. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  16. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  17. data/app/helpers/glib/enum_helper.rb +18 -18
  18. data/app/helpers/glib/forms_helper.rb +15 -15
  19. data/app/helpers/glib/json_ui/abstract_builder.rb +309 -309
  20. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  21. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  22. data/app/helpers/glib/json_ui/action_builder/iap.rb +15 -0
  23. data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
  24. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  25. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  26. data/app/helpers/glib/json_ui/action_builder/windows.rb +38 -38
  27. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  28. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  29. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  30. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  31. data/app/helpers/glib/json_ui/list_builders.rb +110 -110
  32. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  33. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  34. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  35. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  36. data/app/helpers/glib/json_ui/styling_helper.rb +55 -55
  37. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  38. data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
  39. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  40. data/app/helpers/glib/json_ui/view_builder/fields.rb +291 -291
  41. data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -0
  42. data/app/helpers/glib/json_ui/view_builder/panels.rb +256 -256
  43. data/app/helpers/glib/json_ui/view_builder.rb +240 -240
  44. data/app/helpers/glib/urls_helper.rb +12 -12
  45. data/app/models/concerns/glib/soft_deletable.rb +68 -68
  46. data/app/models/glib/active_storage/attachment.rb +9 -9
  47. data/app/models/glib/active_storage/blob.rb +9 -9
  48. data/app/models/glib/application_record.rb +18 -18
  49. data/app/models/glib/dynamic_text_record.rb +9 -9
  50. data/app/models/glib/text.rb +95 -95
  51. data/app/policies/glib/application_policy.rb +166 -166
  52. data/app/validators/email_typo_validator.rb +38 -38
  53. data/app/validators/email_validator.rb +7 -7
  54. data/app/validators/url_validator.rb +20 -20
  55. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  56. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  57. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  58. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  59. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  60. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  61. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  62. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  64. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  65. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  66. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +10 -7
  67. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  68. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  69. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  70. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  71. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  72. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
  73. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  74. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +37 -37
  75. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  76. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  77. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  78. data/app/views/json_ui/garage/forms/index.json.jbuilder +116 -113
  79. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
  80. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  81. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  82. data/app/views/json_ui/garage/forms/payments.json.jbuilder +34 -0
  83. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
  84. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  85. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  86. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -91
  87. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +150 -150
  88. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  89. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  90. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  91. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  92. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  93. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +65 -81
  94. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  95. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  96. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  97. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  98. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  99. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  100. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  101. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  102. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  103. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  104. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  105. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  106. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  107. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  108. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  109. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  110. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  111. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  112. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  113. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  114. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  115. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  116. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  117. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  118. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  119. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  120. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  121. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  122. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  123. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +38 -38
  124. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  125. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  126. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  127. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  128. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  129. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  130. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  131. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  132. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  133. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  134. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  135. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  136. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  137. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  138. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  139. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  140. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  141. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  142. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  143. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  144. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  145. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  146. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  147. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  148. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  149. data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -0
  150. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  151. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  152. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  153. data/app/views/json_ui/garage/views/index.json.jbuilder +78 -67
  154. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  155. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  156. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  157. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  158. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  159. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  160. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  161. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  162. data/config/routes.rb +7 -7
  163. data/lib/generators/glib/install_generator.rb +24 -24
  164. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  165. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  166. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  167. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  168. data/lib/generators/templates/database.yml +107 -107
  169. data/lib/generators/templates/dynamic_text.rb +2 -2
  170. data/lib/glib/crypt/utils.rb +26 -26
  171. data/lib/glib/dynamic_text/config.rb +21 -21
  172. data/lib/glib/engine.rb +7 -7
  173. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  174. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  175. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  176. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  177. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  178. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  179. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  180. data/lib/glib/json_crawler/coverage.rb +20 -20
  181. data/lib/glib/json_crawler/http.rb +120 -120
  182. data/lib/glib/json_crawler/router.rb +90 -90
  183. data/lib/glib/json_crawler.rb +11 -11
  184. data/lib/glib/mailer_tester.rb +36 -36
  185. data/lib/glib/test_helpers.rb +52 -52
  186. data/lib/glib/value.rb +7 -7
  187. data/lib/glib/version.rb +5 -5
  188. data/lib/glib-web.rb +9 -9
  189. data/lib/tasks/db.rake +95 -95
  190. metadata +6 -3
@@ -1,16 +1,16 @@
1
- json.title 'Pages'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
7
- header.h1 text: 'Header'
8
- end
9
-
10
- page.body height: 'matchParent', padding: glib_json_padding_body, childViews: ->(body) do
11
- body.button width: 'matchParent', height: 'matchParent', text: 'Full Width/Height'
12
- end
13
-
14
- page.footer height: 80, padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(footer) do
15
- footer.h1 text: 'Footer'
16
- end
1
+ json.title 'Pages'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
7
+ header.h1 text: 'Header'
8
+ end
9
+
10
+ page.body height: 'matchParent', padding: glib_json_padding_body, childViews: ->(body) do
11
+ body.button width: 'matchParent', height: 'matchParent', text: 'Full Width/Height'
12
+ end
13
+
14
+ page.footer height: 80, padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(footer) do
15
+ footer.h1 text: 'Footer'
16
+ end
@@ -1,62 +1,62 @@
1
- json.title 'Pages'
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.rows builder: ->(template) do
9
- template.thumbnail title: 'Hamburger Layout', onClick: ->(action) do
10
- action.windows_open url: json_ui_garage_url(path: 'pages/layout')
11
- end
12
-
13
- template.thumbnail title: 'Full Width/Height', onClick: ->(action) do
14
- action.windows_open url: json_ui_garage_url(path: 'pages/full_width_height')
15
- end
16
-
17
- template.thumbnail title: 'Tab Bar', onClick: ->(action) do
18
- action.windows_open url: json_ui_garage_url(path: 'pages/tab_bar')
19
- end
20
-
21
- template.thumbnail title: 'Nav Buttons', onClick: ->(action) do
22
- action.windows_open url: json_ui_garage_url(path: 'pages/nav_buttons')
23
- end
24
-
25
- template.thumbnail title: 'Loading Indicator', onClick: ->(action) do
26
- action.windows_open url: json_ui_garage_url(path: 'pages/loading_indicator')
27
- end
28
-
29
- template.thumbnail title: 'Lifecycle Hooks', onClick: ->(action) do
30
- action.windows_open url: json_ui_garage_url(path: 'pages/lifecycle_hooks')
31
- end
32
- end
33
- end,
34
- ->(section) do
35
- section.header padding: glib_json_padding_list, childViews: ->(header) do
36
- header.h2 text: 'Templates (Web Only)'
37
- end
38
-
39
- section.rows builder: ->(template) do
40
- template.thumbnail title: 'Flat Centered', onClick: ->(action) do
41
- action.windows_open url: json_ui_garage_url(path: 'pages/flat_centered')
42
- end
43
-
44
- template.thumbnail title: 'Full Width', onClick: ->(action) do
45
- action.windows_open url: json_ui_garage_url(path: 'pages/full_width')
46
- end
47
- end
48
- end,
49
- ->(section) do
50
- section.header padding: glib_json_padding_list, childViews: ->(header) do
51
- header.h2 text: 'Misc (Web Only)'
52
- end
53
-
54
- section.rows builder: ->(template) do
55
- template.thumbnail title: 'Nested Scroll', onClick: ->(action) do
56
- action.windows_open url: json_ui_garage_url(path: 'pages/nested_scroll')
57
- end
58
- end
59
- end
60
- ]
61
-
62
- end
1
+ json.title 'Pages'
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.rows builder: ->(template) do
9
+ template.thumbnail title: 'Hamburger Layout', onClick: ->(action) do
10
+ action.windows_open url: json_ui_garage_url(path: 'pages/layout')
11
+ end
12
+
13
+ template.thumbnail title: 'Full Width/Height', onClick: ->(action) do
14
+ action.windows_open url: json_ui_garage_url(path: 'pages/full_width_height')
15
+ end
16
+
17
+ template.thumbnail title: 'Tab Bar', onClick: ->(action) do
18
+ action.windows_open url: json_ui_garage_url(path: 'pages/tab_bar')
19
+ end
20
+
21
+ template.thumbnail title: 'Nav Buttons', onClick: ->(action) do
22
+ action.windows_open url: json_ui_garage_url(path: 'pages/nav_buttons')
23
+ end
24
+
25
+ template.thumbnail title: 'Loading Indicator', onClick: ->(action) do
26
+ action.windows_open url: json_ui_garage_url(path: 'pages/loading_indicator')
27
+ end
28
+
29
+ template.thumbnail title: 'Lifecycle Hooks', onClick: ->(action) do
30
+ action.windows_open url: json_ui_garage_url(path: 'pages/lifecycle_hooks')
31
+ end
32
+ end
33
+ end,
34
+ ->(section) do
35
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
36
+ header.h2 text: 'Templates (Web Only)'
37
+ end
38
+
39
+ section.rows builder: ->(template) do
40
+ template.thumbnail title: 'Flat Centered', onClick: ->(action) do
41
+ action.windows_open url: json_ui_garage_url(path: 'pages/flat_centered')
42
+ end
43
+
44
+ template.thumbnail title: 'Full Width', onClick: ->(action) do
45
+ action.windows_open url: json_ui_garage_url(path: 'pages/full_width')
46
+ end
47
+ end
48
+ end,
49
+ ->(section) do
50
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
51
+ header.h2 text: 'Misc (Web Only)'
52
+ end
53
+
54
+ section.rows builder: ->(template) do
55
+ template.thumbnail title: 'Nested Scroll', onClick: ->(action) do
56
+ action.windows_open url: json_ui_garage_url(path: 'pages/nested_scroll')
57
+ end
58
+ end
59
+ end
60
+ ]
61
+
62
+ end
@@ -1,18 +1,18 @@
1
- json.title 'Pages'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
7
- header.h1 text: 'Header'
8
- end
9
-
10
- page.footer padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(footer) do
11
- footer.h1 text: 'Footer'
12
- end
13
-
14
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
15
- (1..100).each do |index|
16
- scroll.label text: 'Content'
17
- end
18
- end
1
+ json.title 'Pages'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
7
+ header.h1 text: 'Header'
8
+ end
9
+
10
+ page.footer padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(footer) do
11
+ footer.h1 text: 'Footer'
12
+ end
13
+
14
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
15
+ (1..100).each do |index|
16
+ scroll.label text: 'Content'
17
+ end
18
+ end
@@ -1,13 +1,13 @@
1
- json.title 'Pages'
2
-
3
- page = json_ui_page json
4
-
5
- render "#{@path_prefix}/nav_menu", json: json, page: page
6
-
7
- page.on load: ->(action) do
8
- action.dialogs_alert message: 'This is an onLoad action'
9
- end
10
-
11
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
12
- scroll.label text: 'A dialog should appear automatically.'
13
- end
1
+ json.title 'Pages'
2
+
3
+ page = json_ui_page json
4
+
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page
6
+
7
+ page.on load: ->(action) do
8
+ action.dialogs_alert message: 'This is an onLoad action'
9
+ end
10
+
11
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
12
+ scroll.label text: 'A dialog should appear automatically.'
13
+ end
@@ -1,10 +1,10 @@
1
- sleep 1
2
-
3
- json.title 'Pages'
4
-
5
- page = json_ui_page json
6
- render "#{@path_prefix}/nav_menu", json: json, page: page
7
-
8
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
9
- scroll.label text: 'On the web, the loading indicator should be show on the browser tab.'
10
- end
1
+ sleep 1
2
+
3
+ json.title 'Pages'
4
+
5
+ page = json_ui_page json
6
+ render "#{@path_prefix}/nav_menu", json: json, page: page
7
+
8
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
9
+ scroll.label text: 'On the web, the loading indicator should be show on the browser tab.'
10
+ end
@@ -1,21 +1,21 @@
1
- json.title 'Pages'
2
-
3
- page = json_ui_page json
4
-
5
- render "#{@path_prefix}/nav_menu", json: json, page: page
6
-
7
- page.navBar backgroundColor: '#a8c4e3', color: '#ffffff', rightButtons: ->(menu) do
8
- menu.button icon: 'search', text: 'Search', onClick: ->(action) do
9
- action.dialogs_alert message: 'Perform some action'
10
- end
11
- menu.button icon: { name: 'star', badge: { text: '1', backgroundColor: '#ff0000' } }, onClick: ->(action) do
12
- action.dialogs_alert message: 'Perform some action'
13
- end
14
- menu.button icon: { name: 'map', badge: '2' }, onClick: ->(action) do
15
- action.dialogs_alert message: 'Perform some action'
16
- end
17
- end
18
-
19
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
20
- scroll.label text: 'See the right menu buttons on the nav bar'
21
- end
1
+ json.title 'Pages'
2
+
3
+ page = json_ui_page json
4
+
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page
6
+
7
+ page.navBar backgroundColor: '#a8c4e3', color: '#ffffff', rightButtons: ->(menu) do
8
+ menu.button icon: 'search', text: 'Search', onClick: ->(action) do
9
+ action.dialogs_alert message: 'Perform some action'
10
+ end
11
+ menu.button icon: { name: 'star', badge: { text: '1', backgroundColor: '#ff0000' } }, onClick: ->(action) do
12
+ action.dialogs_alert message: 'Perform some action'
13
+ end
14
+ menu.button icon: { name: 'map', badge: '2' }, onClick: ->(action) do
15
+ action.dialogs_alert message: 'Perform some action'
16
+ end
17
+ end
18
+
19
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
20
+ scroll.label text: 'See the right menu buttons on the nav bar'
21
+ end
@@ -1,40 +1,40 @@
1
- json.title 'Pages'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- # page.template 'fullWidth'
7
-
8
- page.header childViews: ->(header) do
9
- header.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
10
- vertical.h1 text: 'Header'
11
- end
12
- header.spacer height: 10
13
- end
14
-
15
- page.footer childViews: ->(footer) do
16
- footer.spacer height: 10
17
- footer.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
18
- vertical.h1 text: 'Footer'
19
- end
20
- end
21
-
22
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
23
- scroll.label text: 'Inner Header'
24
- scroll.label text: 'Inner Header'
25
- scroll.label text: 'Inner Header'
26
- scroll.spacer height: 20
27
-
28
- scroll.panels_vertical width: 'matchParent', styleClass: 'card', backgroundColor: glib_color_panel_background, padding: glib_json_padding_body.merge(right: nil), childViews: ->(padder) do
29
- padder.panels_scroll width: 'matchParent', height: 300, childViews: ->(inner_scroll) do
30
- (1..100).each do |index|
31
- inner_scroll.label text: 'Content'
32
- end
33
- end
34
- end
35
-
36
- scroll.spacer height: 20
37
- scroll.label text: 'Inner Footer'
38
- scroll.label text: 'Inner Footer'
39
- scroll.label text: 'Inner Footer'
40
- end
1
+ json.title 'Pages'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ # page.template 'fullWidth'
7
+
8
+ page.header childViews: ->(header) do
9
+ header.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
10
+ vertical.h1 text: 'Header'
11
+ end
12
+ header.spacer height: 10
13
+ end
14
+
15
+ page.footer childViews: ->(footer) do
16
+ footer.spacer height: 10
17
+ footer.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
18
+ vertical.h1 text: 'Footer'
19
+ end
20
+ end
21
+
22
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
23
+ scroll.label text: 'Inner Header'
24
+ scroll.label text: 'Inner Header'
25
+ scroll.label text: 'Inner Header'
26
+ scroll.spacer height: 20
27
+
28
+ scroll.panels_vertical width: 'matchParent', styleClass: 'card', backgroundColor: glib_color_panel_background, padding: glib_json_padding_body.merge(right: nil), childViews: ->(padder) do
29
+ padder.panels_scroll width: 'matchParent', height: 300, childViews: ->(inner_scroll) do
30
+ (1..100).each do |index|
31
+ inner_scroll.label text: 'Content'
32
+ end
33
+ end
34
+ end
35
+
36
+ scroll.spacer height: 20
37
+ scroll.label text: 'Inner Footer'
38
+ scroll.label text: 'Inner Footer'
39
+ scroll.label text: 'Inner Footer'
40
+ end
@@ -1,31 +1,31 @@
1
- json.title 'Pages'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.header childViews: ->(header) do
7
- header.tabBar width: 'matchParent', backgroundColor: '#ffca05', color: '#7f561b', buttons: ->(menu) do
8
-
9
- {
10
- 'FIRST' => 'home',
11
- 'SECOND' => 'schedule',
12
- 'THIRD' => 'analytics'
13
- }.each_with_index do |(text, icon), index|
14
- menu.button icon: icon, text: text, disabled: params[:tab].to_i == index, onClick: ->(action) do
15
- action.windows_reload url: json_ui_garage_url(path: 'pages/tab_bar', tab: index)
16
- end
17
- end
18
- end
19
- end
20
-
21
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
22
- scroll.label text: "Tab index #{params[:tab].to_i} selected"
23
-
24
- scroll.spacer height: 10
25
-
26
- 100.times do |i|
27
- scroll.label text: "Line #{i + 1}"
28
- end
29
- end
30
-
31
- end
1
+ json.title 'Pages'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.header childViews: ->(header) do
7
+ header.tabBar width: 'matchParent', backgroundColor: '#ffca05', color: '#7f561b', buttons: ->(menu) do
8
+
9
+ {
10
+ 'FIRST' => 'home',
11
+ 'SECOND' => 'schedule',
12
+ 'THIRD' => 'analytics'
13
+ }.each_with_index do |(text, icon), index|
14
+ menu.button icon: icon, text: text, disabled: params[:tab].to_i == index, onClick: ->(action) do
15
+ action.windows_reload url: json_ui_garage_url(path: 'pages/tab_bar', tab: index)
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
22
+ scroll.label text: "Tab index #{params[:tab].to_i} selected"
23
+
24
+ scroll.spacer height: 10
25
+
26
+ 100.times do |i|
27
+ scroll.label text: "Line #{i + 1}"
28
+ end
29
+ end
30
+
31
+ end
@@ -1,78 +1,78 @@
1
- json.title 'Panels'
2
-
3
- render "#{@path_prefix}/nav_menu", json: json, page: page
4
-
5
- page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
6
- scroll.h2 text: 'Vertical panel'
7
- scroll.spacer height: 6
8
- scroll.panels_vertical styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
9
- panel.button text: 'Button1'
10
- panel.button text: 'Button2'
11
- panel.button text: 'Button3'
12
- end
13
-
14
- scroll.spacer height: 20
15
- scroll.h2 text: 'Horizontal panel'
16
- scroll.spacer height: 6
17
- scroll.panels_horizontal styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
18
- panel.button text: 'Button1'
19
- panel.button text: 'Button2'
20
- panel.button text: 'Button3'
21
- end
22
-
23
- scroll.spacer height: 20
24
- scroll.h2 text: 'Split panel'
25
- scroll.spacer height: 6
26
- scroll.panels_split styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', content: ->(split) do
27
- split.left childViews: ->(left) do
28
- left.button text: '1'
29
- end
30
- split.center childViews: ->(center) do
31
- center.button width: 'matchParent', text: '2'
32
- end
33
- split.right childViews: ->(right) do
34
- right.button text: '3'
35
- end
36
- end
37
-
38
-
39
- scroll.spacer height: 20
40
- scroll.h2 text: 'Responsive panel'
41
- scroll.spacer height: 6
42
- scroll.panels_responsive styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
43
- horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
44
- column.button text: '1'
45
- end
46
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
47
- column.button text: '2'
48
- end
49
- end
50
-
51
- scroll.spacer height: 20
52
- scroll.h2 text: 'Grid-like layout'
53
- scroll.spacer height: 6
54
- scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
55
- gap = { top: 12, left: 10, right: 10, bottom: 12 }
56
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
57
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
58
- column.button text: '1'
59
- end
60
- end
61
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
62
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
63
- column.button text: '2'
64
- end
65
- end
66
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
67
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
68
- column.button text: '3'
69
- end
70
- end
71
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
72
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
73
- column.button text: '4'
74
- end
75
- end
76
- end
77
-
78
- end
1
+ json.title 'Panels'
2
+
3
+ render "#{@path_prefix}/nav_menu", json: json, page: page
4
+
5
+ page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
6
+ scroll.h2 text: 'Vertical panel'
7
+ scroll.spacer height: 6
8
+ scroll.panels_vertical styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
9
+ panel.button text: 'Button1'
10
+ panel.button text: 'Button2'
11
+ panel.button text: 'Button3'
12
+ end
13
+
14
+ scroll.spacer height: 20
15
+ scroll.h2 text: 'Horizontal panel'
16
+ scroll.spacer height: 6
17
+ scroll.panels_horizontal styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
18
+ panel.button text: 'Button1'
19
+ panel.button text: 'Button2'
20
+ panel.button text: 'Button3'
21
+ end
22
+
23
+ scroll.spacer height: 20
24
+ scroll.h2 text: 'Split panel'
25
+ scroll.spacer height: 6
26
+ scroll.panels_split styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', content: ->(split) do
27
+ split.left childViews: ->(left) do
28
+ left.button text: '1'
29
+ end
30
+ split.center childViews: ->(center) do
31
+ center.button width: 'matchParent', text: '2'
32
+ end
33
+ split.right childViews: ->(right) do
34
+ right.button text: '3'
35
+ end
36
+ end
37
+
38
+
39
+ scroll.spacer height: 20
40
+ scroll.h2 text: 'Responsive panel'
41
+ scroll.spacer height: 6
42
+ scroll.panels_responsive styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
43
+ horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
44
+ column.button text: '1'
45
+ end
46
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
47
+ column.button text: '2'
48
+ end
49
+ end
50
+
51
+ scroll.spacer height: 20
52
+ scroll.h2 text: 'Grid-like layout'
53
+ scroll.spacer height: 6
54
+ scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
55
+ gap = { top: 12, left: 10, right: 10, bottom: 12 }
56
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
57
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
58
+ column.button text: '1'
59
+ end
60
+ end
61
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
62
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
63
+ column.button text: '2'
64
+ end
65
+ end
66
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
67
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
68
+ column.button text: '3'
69
+ end
70
+ end
71
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
72
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
73
+ column.button text: '4'
74
+ end
75
+ end
76
+ end
77
+
78
+ end
@@ -1,4 +1,4 @@
1
- json.title 'Card Panels'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card']
1
+ json.title 'Card Panels'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card']