glib-web 0.5.69 → 0.5.70

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 (183) 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 +8 -8
  18. data/app/helpers/glib/forms_helper.rb +15 -15
  19. data/app/helpers/glib/json_ui/abstract_builder.rb +309 -294
  20. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  21. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  22. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  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 +33 -31
  27. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  28. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  29. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  30. data/app/helpers/glib/json_ui/list_builders.rb +110 -110
  31. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  32. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  33. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  34. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  35. data/app/helpers/glib/json_ui/styling_helper.rb +55 -47
  36. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  37. data/app/helpers/glib/json_ui/view_builder.rb +232 -232
  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 +278 -267
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +252 -251
  42. data/app/helpers/glib/urls_helper.rb +12 -12
  43. data/app/models/glib/active_storage/attachment.rb +9 -9
  44. data/app/models/glib/active_storage/blob.rb +9 -9
  45. data/app/models/glib/application_record.rb +18 -18
  46. data/app/models/glib/dynamic_text_record.rb +9 -9
  47. data/app/models/glib/text.rb +95 -95
  48. data/app/policies/glib/application_policy.rb +161 -161
  49. data/app/validators/email_typo_validator.rb +38 -38
  50. data/app/validators/email_validator.rb +7 -7
  51. data/app/validators/url_validator.rb +20 -20
  52. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  53. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  54. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  55. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  56. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  57. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  59. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  60. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  61. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  62. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  65. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  66. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  67. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  68. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  69. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +22 -22
  70. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  71. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +37 -32
  72. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  73. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  74. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  75. data/app/views/json_ui/garage/forms/index.json.jbuilder +113 -116
  76. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  77. data/app/views/json_ui/garage/forms/{misc_two.json.jbuilder → online_participant1.json.jbuilder} +25 -21
  78. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -0
  79. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +79 -79
  80. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  81. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  82. data/app/views/json_ui/garage/forms/selects.json.jbuilder +83 -83
  83. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
  84. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  85. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  86. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  87. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  88. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  89. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
  90. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -0
  91. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  92. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  93. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  94. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  95. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  96. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  97. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  98. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  99. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  100. data/app/views/json_ui/garage/lists/index.json.jbuilder +32 -32
  101. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  102. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  103. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  104. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  105. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  106. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  107. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  108. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  109. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  110. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  111. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  112. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  113. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  114. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  115. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  116. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  117. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  118. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  119. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  120. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  121. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -49
  122. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  123. data/app/views/json_ui/garage/panels/index.json.jbuilder +132 -132
  124. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  125. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  126. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  127. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  128. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  129. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  130. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  131. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  132. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  133. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  134. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  135. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  136. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  137. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  138. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  139. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  140. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  141. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  142. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  143. data/app/views/json_ui/garage/views/icons.json.jbuilder +14 -14
  144. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  145. data/app/views/json_ui/garage/views/index.json.jbuilder +64 -64
  146. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  147. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  148. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  149. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  150. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  151. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  152. data/app/views/json_ui/garage/views/texts.json.jbuilder +44 -44
  153. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  154. data/config/routes.rb +7 -7
  155. data/lib/generators/glib/install_generator.rb +24 -24
  156. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  157. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  158. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  159. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  160. data/lib/generators/templates/database.yml +107 -107
  161. data/lib/generators/templates/dynamic_text.rb +2 -2
  162. data/lib/glib-web.rb +9 -9
  163. data/lib/glib/crypt/utils.rb +26 -26
  164. data/lib/glib/dynamic_text/config.rb +21 -21
  165. data/lib/glib/engine.rb +7 -7
  166. data/lib/glib/json_crawler.rb +11 -11
  167. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  168. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  169. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  170. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  171. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  172. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  173. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  174. data/lib/glib/json_crawler/coverage.rb +20 -20
  175. data/lib/glib/json_crawler/http.rb +120 -120
  176. data/lib/glib/json_crawler/router.rb +98 -98
  177. data/lib/glib/mailer_tester.rb +36 -36
  178. data/lib/glib/test_helpers.rb +52 -52
  179. data/lib/glib/value.rb +7 -7
  180. data/lib/glib/version.rb +5 -5
  181. data/lib/tasks/db.rake +95 -95
  182. metadata +6 -4
  183. data/app/views/json_ui/garage/forms/misc.json.jbuilder +0 -71
@@ -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,49 +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: 'Alignments'
34
- # scroll.panels_horizontal align: 'top', childViews: ->(panel) do
35
- # panel.button height: 50, text: 'Button'
36
- # panel.spacer width: 10
37
- # panel.label text: 'top'
38
- # end
39
- # scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
40
- # panel.button height: 50, text: 'Button'
41
- # panel.spacer width: 10
42
- # panel.label text: 'middle'
43
- # end
44
- # scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
45
- # panel.button height: 50, text: 'Button'
46
- # panel.spacer width: 10
47
- # panel.label text: 'bottom'
48
- # end
49
- 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,132 +1,132 @@
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
- end
32
- end, ->(section) do
33
- section.header padding: glib_json_padding_list, childViews: ->(header) do
34
- header.h2 text: 'Layout with predefined sub-panels'
35
- header.spacer height: 6
36
- header.label text: 'Each sub-panel is a responsive panel'
37
- end
38
-
39
- section.rows builder: ->(template) do
40
- template.thumbnail title: 'Split', subtitle: 'Sub-panels: left, center, right', onClick: ->(action) do
41
- action.windows_open url: json_ui_garage_url(path: 'panels/split')
42
- end
43
- template.thumbnail title: 'Page', subtitle: 'Sub-panels: header, body, footer', onClick: ->(action) do
44
- action.windows_open url: json_ui_garage_url(path: 'pages/index')
45
- end
46
- template.thumbnail title: 'List', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
47
- action.windows_open url: json_ui_garage_url(path: 'lists/index')
48
- end
49
- template.thumbnail title: 'Table (Web Only)', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
50
- action.windows_open url: json_ui_garage_url(path: 'tables/index')
51
- end
52
-
53
- end
54
- end, ->(section) do
55
- section.header padding: glib_json_padding_list, childViews: ->(header) do
56
- header.h2 text: 'Layout with uniform rows'
57
- end
58
-
59
- section.rows builder: ->(template) do
60
- template.thumbnail title: 'List', subtitle: 'Rows without columns', onClick: ->(action) do
61
- action.windows_open url: json_ui_garage_url(path: 'lists/index')
62
- end
63
- template.thumbnail title: 'Table (Web Only)', subtitle: 'Rows with columns', onClick: ->(action) do
64
- action.windows_open url: json_ui_garage_url(path: 'tables/index')
65
- end
66
-
67
- end
68
- end, ->(section) do
69
- section.header padding: glib_json_padding_list, childViews: ->(header) do
70
- header.h2 text: 'Non-layout'
71
- header.spacer height: 6
72
- header.label text: 'Adds functionality to a responsive layout'
73
- end
74
-
75
- section.rows builder: ->(template) do
76
- template.thumbnail title: 'Scroll', subtitle: 'Adds scrolling', onClick: ->(action) do
77
- action.windows_open url: json_ui_garage_url(path: 'pages/index')
78
- end
79
- template.thumbnail title: 'Form', subtitle: 'Adds form functionality', onClick: ->(action) do
80
- action.windows_open url: json_ui_garage_url(path: 'forms/index')
81
- end
82
- template.thumbnail title: 'Column', subtitle: 'Adds control over layout inside a responsive panel', onClick: ->(action) do
83
- action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
84
- end
85
-
86
- end
87
- end, ->(section) do
88
- section.header padding: glib_json_padding_list, childViews: ->(header) do
89
- header.h2 text: 'Child-less Layout'
90
- end
91
-
92
- section.rows builder: ->(template) do
93
- template.thumbnail title: 'Custom', onClick: ->(action) do
94
- action.windows_open url: json_ui_garage_url(path: 'panels/custom')
95
- end
96
-
97
- end
98
- end, ->(section) do
99
- section.header padding: glib_json_padding_list, childViews: ->(header) do
100
- header.h2 text: 'Styling'
101
- end
102
-
103
- section.rows builder: ->(template) do
104
- template.thumbnail title: 'Card', onClick: ->(action) do
105
- action.windows_open url: json_ui_garage_url(path: 'panels/card')
106
- end
107
- end
108
-
109
- section.rows builder: ->(template) do
110
- template.thumbnail title: 'Outlined', onClick: ->(action) do
111
- action.windows_open url: json_ui_garage_url(path: 'panels/outlined')
112
- end
113
-
114
- end
115
- end, ->(section) do
116
- section.header padding: glib_json_padding_list, childViews: ->(header) do
117
- header.h2 text: 'Uncategorized'
118
- end
119
-
120
- section.rows builder: ->(template) do
121
- template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
122
- # TODO
123
- end
124
-
125
- template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
126
- # TODO
127
- end
128
- end
129
- end
130
- ]
131
-
132
- 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
+
31
+ end
32
+ end, ->(section) do
33
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
34
+ header.h2 text: 'Layout with predefined sub-panels'
35
+ header.spacer height: 6
36
+ header.label text: 'Each sub-panel is a responsive panel'
37
+ end
38
+
39
+ section.rows builder: ->(template) do
40
+ template.thumbnail title: 'Split', subtitle: 'Sub-panels: left, center, right', onClick: ->(action) do
41
+ action.windows_open url: json_ui_garage_url(path: 'panels/split')
42
+ end
43
+ template.thumbnail title: 'Page', subtitle: 'Sub-panels: header, body, footer', onClick: ->(action) do
44
+ action.windows_open url: json_ui_garage_url(path: 'pages/index')
45
+ end
46
+ template.thumbnail title: 'List', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
47
+ action.windows_open url: json_ui_garage_url(path: 'lists/index')
48
+ end
49
+ template.thumbnail title: 'Table (Web Only)', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
50
+ action.windows_open url: json_ui_garage_url(path: 'tables/index')
51
+ end
52
+
53
+ end
54
+ end, ->(section) do
55
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
56
+ header.h2 text: 'Layout with uniform rows'
57
+ end
58
+
59
+ section.rows builder: ->(template) do
60
+ template.thumbnail title: 'List', subtitle: 'Rows without columns', onClick: ->(action) do
61
+ action.windows_open url: json_ui_garage_url(path: 'lists/index')
62
+ end
63
+ template.thumbnail title: 'Table (Web Only)', subtitle: 'Rows with columns', onClick: ->(action) do
64
+ action.windows_open url: json_ui_garage_url(path: 'tables/index')
65
+ end
66
+
67
+ end
68
+ end, ->(section) do
69
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
70
+ header.h2 text: 'Non-layout'
71
+ header.spacer height: 6
72
+ header.label text: 'Adds functionality to a responsive layout'
73
+ end
74
+
75
+ section.rows builder: ->(template) do
76
+ template.thumbnail title: 'Scroll', subtitle: 'Adds scrolling', onClick: ->(action) do
77
+ action.windows_open url: json_ui_garage_url(path: 'pages/index')
78
+ end
79
+ template.thumbnail title: 'Form', subtitle: 'Adds form functionality', onClick: ->(action) do
80
+ action.windows_open url: json_ui_garage_url(path: 'forms/index')
81
+ end
82
+ template.thumbnail title: 'Column', subtitle: 'Adds control over layout inside a responsive panel', onClick: ->(action) do
83
+ action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
84
+ end
85
+
86
+ end
87
+ end, ->(section) do
88
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
89
+ header.h2 text: 'Child-less Layout'
90
+ end
91
+
92
+ section.rows builder: ->(template) do
93
+ template.thumbnail title: 'Custom', onClick: ->(action) do
94
+ action.windows_open url: json_ui_garage_url(path: 'panels/custom')
95
+ end
96
+
97
+ end
98
+ end, ->(section) do
99
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
100
+ header.h2 text: 'Styling'
101
+ end
102
+
103
+ section.rows builder: ->(template) do
104
+ template.thumbnail title: 'Card', onClick: ->(action) do
105
+ action.windows_open url: json_ui_garage_url(path: 'panels/card')
106
+ end
107
+ end
108
+
109
+ section.rows builder: ->(template) do
110
+ template.thumbnail title: 'Outlined', onClick: ->(action) do
111
+ action.windows_open url: json_ui_garage_url(path: 'panels/outlined')
112
+ end
113
+
114
+ end
115
+ end, ->(section) do
116
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
117
+ header.h2 text: 'Uncategorized'
118
+ end
119
+
120
+ section.rows builder: ->(template) do
121
+ template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
122
+ # TODO
123
+ end
124
+
125
+ template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
126
+ # TODO
127
+ end
128
+ end
129
+ end
130
+ ]
131
+
132
+ end