glib-web 0.5.97 → 0.5.98

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 (192) 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 +149 -149
  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 -15
  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 +96 -96
  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/styling_helper.rb +55 -55
  36. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  37. data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
  38. data/app/helpers/glib/json_ui/view_builder/charts.rb +49 -49
  39. data/app/helpers/glib/json_ui/view_builder/fields.rb +296 -296
  40. data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -11
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +262 -262
  42. data/app/helpers/glib/json_ui/view_builder.rb +256 -253
  43. data/app/helpers/glib/urls_helper.rb +12 -12
  44. data/app/models/concerns/glib/soft_deletable.rb +73 -73
  45. data/app/models/glib/active_storage/attachment.rb +9 -9
  46. data/app/models/glib/active_storage/blob.rb +9 -9
  47. data/app/models/glib/application_record.rb +18 -18
  48. data/app/models/glib/dynamic_text_record.rb +9 -9
  49. data/app/models/glib/text.rb +95 -95
  50. data/app/policies/glib/application_policy.rb +191 -191
  51. data/app/validators/email_typo_validator.rb +38 -38
  52. data/app/validators/email_validator.rb +7 -7
  53. data/app/validators/url_validator.rb +20 -20
  54. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +72 -72
  55. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  56. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  57. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  59. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  60. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  61. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  62. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  65. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +10 -10
  66. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  67. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  68. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +27 -27
  69. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +38 -38
  70. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  71. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
  72. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  73. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +37 -37
  74. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  75. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  76. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  77. data/app/views/json_ui/garage/forms/index.json.jbuilder +120 -120
  78. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
  79. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  80. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  81. data/app/views/json_ui/garage/forms/payments.json.jbuilder +34 -34
  82. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +89 -89
  83. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  84. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  85. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -91
  86. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +150 -150
  87. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  88. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  89. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  90. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  91. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  92. data/app/views/json_ui/garage/forms/submit_on_change.json.jbuilder +28 -28
  93. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +65 -65
  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 +30 -30
  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/autoload_as_needed_responsive_columns.json.jbuilder +27 -27
  102. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  103. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  104. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  105. data/app/views/json_ui/garage/lists/index.json.jbuilder +41 -41
  106. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  107. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  108. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  109. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  110. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  111. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  112. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  113. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  114. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  115. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  116. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  117. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  118. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  119. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  120. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  121. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +92 -92
  122. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  123. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  124. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +38 -38
  125. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  126. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  127. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +101 -101
  128. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  129. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  130. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  131. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  132. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  133. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  134. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  135. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  136. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  137. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  138. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  139. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  140. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  141. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  142. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  143. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  144. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  145. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  146. data/app/views/json_ui/garage/views/banners.json.jbuilder +67 -67
  147. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  148. data/app/views/json_ui/garage/views/charts.json.jbuilder +125 -125
  149. data/app/views/json_ui/garage/views/controls.json.jbuilder +60 -60
  150. data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -21
  151. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  152. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  153. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  154. data/app/views/json_ui/garage/views/index.json.jbuilder +83 -83
  155. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  156. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  157. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  158. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  159. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  160. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  161. data/app/views/json_ui/garage/views/progress.json.jbuilder +31 -31
  162. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  163. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  164. data/config/routes.rb +7 -7
  165. data/lib/generators/glib/install_generator.rb +24 -24
  166. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  167. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  168. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  169. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  170. data/lib/generators/templates/database.yml +107 -107
  171. data/lib/generators/templates/dynamic_text.rb +2 -2
  172. data/lib/glib/crypt/utils.rb +26 -26
  173. data/lib/glib/dynamic_text/config.rb +21 -21
  174. data/lib/glib/engine.rb +7 -7
  175. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  176. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  177. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  178. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  179. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  180. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  181. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  182. data/lib/glib/json_crawler/coverage.rb +20 -20
  183. data/lib/glib/json_crawler/http.rb +120 -120
  184. data/lib/glib/json_crawler/router.rb +90 -90
  185. data/lib/glib/json_crawler.rb +11 -11
  186. data/lib/glib/mailer_tester.rb +36 -36
  187. data/lib/glib/test_helpers.rb +52 -52
  188. data/lib/glib/value.rb +7 -7
  189. data/lib/glib/version.rb +5 -5
  190. data/lib/glib-web.rb +9 -9
  191. data/lib/tasks/db.rake +95 -95
  192. metadata +2 -3
@@ -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, innerPadding: { top: 0 }, 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, innerPadding: { top: 0 }, 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, innerPadding: { top: 0 }, 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, innerPadding: { top: 0 }, 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,101 +1,101 @@
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
-
91
- scroll.label text: "\n"
92
- scroll.h1 text: 'Label combo'
93
- scroll.panels_horizontal childViews: ->(panel) do
94
- panel.label backgroundColor: '#b3bac2', text: 'Label 1'
95
- panel.label text: 'Label 2'
96
- panel.label backgroundColor: '#b3bac2', text: 'Label 3'
97
- end
98
-
99
- scroll.label text: "\n"
100
- end
101
- 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
+
91
+ scroll.label text: "\n"
92
+ scroll.h1 text: 'Label combo'
93
+ scroll.panels_horizontal childViews: ->(panel) do
94
+ panel.label backgroundColor: '#b3bac2', text: 'Label 1'
95
+ panel.label text: 'Label 2'
96
+ panel.label backgroundColor: '#b3bac2', text: 'Label 3'
97
+ end
98
+
99
+ scroll.label text: "\n"
100
+ end
101
+ end
@@ -1,138 +1,138 @@
1
- json.title 'Panels'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
-
6
- page.list sections: [
7
- ->(section) do
8
- section.header padding: glib_json_padding_list, childViews: ->(header) do
9
- header.h2 text: 'Layout for child components'
10
- header.spacer height: 6
11
- header.label text: 'May contain infinite number of child components'
12
- end
13
-
14
- section.rows builder: ->(template) do
15
- template.thumbnail title: 'Vertical', subtitle: 'Arrange child components vertically', onClick: ->(action) do
16
- action.windows_open url: json_ui_garage_url(path: 'panels/vertical')
17
- end
18
- template.thumbnail title: 'Horizontal', subtitle: 'Arrange child components horizontally', onClick: ->(action) do
19
- action.windows_open url: json_ui_garage_url(path: 'panels/horizontal')
20
- end
21
- template.thumbnail title: 'Flow', subtitle: 'Arrange components in a left-to-right flow, much like lines of text in a paragraph', onClick: ->(action) do
22
- action.windows_open url: json_ui_garage_url(path: 'panels/flow')
23
- end
24
- template.thumbnail title: 'Carousel', subtitle: 'Arrange child components horizontally in a carousel', onClick: ->(action) do
25
- action.windows_open url: json_ui_garage_url(path: 'panels/carousel')
26
- end
27
- template.thumbnail title: 'Responsive', subtitle: 'Arrange *column panels* horizontally using flex', onClick: ->(action) do
28
- action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
29
- end
30
- template.thumbnail title: 'Unordered List', subtitle: 'Bullet points similar to HTML\'s <ul> tag', onClick: ->(action) do
31
- action.windows_open url: json_ui_garage_url(path: 'panels/ul')
32
- end
33
-
34
-
35
- end
36
- end, ->(section) do
37
- section.header padding: glib_json_padding_list, childViews: ->(header) do
38
- header.h2 text: 'Layout with predefined sub-panels'
39
- header.spacer height: 6
40
- header.label text: 'Each sub-panel is a responsive panel'
41
- end
42
-
43
- section.rows builder: ->(template) do
44
- template.thumbnail title: 'Split', subtitle: 'Sub-panels: left, center, right', onClick: ->(action) do
45
- action.windows_open url: json_ui_garage_url(path: 'panels/split')
46
- end
47
- template.thumbnail title: 'Page', subtitle: 'Sub-panels: header, body, footer', onClick: ->(action) do
48
- action.windows_open url: json_ui_garage_url(path: 'pages/index')
49
- end
50
- template.thumbnail title: 'List', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
51
- action.windows_open url: json_ui_garage_url(path: 'lists/index')
52
- end
53
- template.thumbnail title: 'Table (Web Only)', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
54
- action.windows_open url: json_ui_garage_url(path: 'tables/index')
55
- end
56
-
57
- end
58
- end, ->(section) do
59
- section.header padding: glib_json_padding_list, childViews: ->(header) do
60
- header.h2 text: 'Layout with uniform rows'
61
- end
62
-
63
- section.rows builder: ->(template) do
64
- template.thumbnail title: 'List', subtitle: 'Rows without columns', onClick: ->(action) do
65
- action.windows_open url: json_ui_garage_url(path: 'lists/index')
66
- end
67
- template.thumbnail title: 'Table (Web Only)', subtitle: 'Rows with columns', onClick: ->(action) do
68
- action.windows_open url: json_ui_garage_url(path: 'tables/index')
69
- end
70
-
71
- end
72
- end, ->(section) do
73
- section.header padding: glib_json_padding_list, childViews: ->(header) do
74
- header.h2 text: 'Non-layout'
75
- header.spacer height: 6
76
- header.label text: 'Adds functionality to a responsive layout'
77
- end
78
-
79
- section.rows builder: ->(template) do
80
- template.thumbnail title: 'Scroll', subtitle: 'Adds scrolling', onClick: ->(action) do
81
- action.windows_open url: json_ui_garage_url(path: 'pages/index')
82
- end
83
- template.thumbnail title: 'Form', subtitle: 'Adds form functionality', onClick: ->(action) do
84
- action.windows_open url: json_ui_garage_url(path: 'forms/index')
85
- end
86
- template.thumbnail title: 'Column', subtitle: 'Adds control over layout inside a responsive panel', onClick: ->(action) do
87
- action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
88
- end
89
- end
90
- end, ->(section) do
91
- section.header padding: glib_json_padding_list, childViews: ->(header) do
92
- header.h2 text: 'Child-less Layout'
93
- end
94
-
95
- section.rows builder: ->(template) do
96
- template.thumbnail title: 'Custom', onClick: ->(action) do
97
- action.windows_open url: json_ui_garage_url(path: 'panels/custom')
98
- end
99
- template.thumbnail title: 'Web', onClick: ->(action) do
100
- action.windows_open url: json_ui_garage_url(path: 'panels/web')
101
- end
102
-
103
- end
104
- end, ->(section) do
105
- section.header padding: glib_json_padding_list, childViews: ->(header) do
106
- header.h2 text: 'Styling'
107
- end
108
-
109
- section.rows builder: ->(template) do
110
- template.thumbnail title: 'Card', onClick: ->(action) do
111
- action.windows_open url: json_ui_garage_url(path: 'panels/card')
112
- end
113
- end
114
-
115
- section.rows builder: ->(template) do
116
- template.thumbnail title: 'Outlined', onClick: ->(action) do
117
- action.windows_open url: json_ui_garage_url(path: 'panels/outlined')
118
- end
119
-
120
- end
121
- end, ->(section) do
122
- section.header padding: glib_json_padding_list, childViews: ->(header) do
123
- header.h2 text: 'Uncategorized'
124
- end
125
-
126
- section.rows builder: ->(template) do
127
- template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
128
- # TODO
129
- end
130
-
131
- template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
132
- # TODO
133
- end
134
- end
135
- end
136
- ]
137
-
138
- end
1
+ json.title 'Panels'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
+
6
+ page.list sections: [
7
+ ->(section) do
8
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
9
+ header.h2 text: 'Layout for child components'
10
+ header.spacer height: 6
11
+ header.label text: 'May contain infinite number of child components'
12
+ end
13
+
14
+ section.rows builder: ->(template) do
15
+ template.thumbnail title: 'Vertical', subtitle: 'Arrange child components vertically', onClick: ->(action) do
16
+ action.windows_open url: json_ui_garage_url(path: 'panels/vertical')
17
+ end
18
+ template.thumbnail title: 'Horizontal', subtitle: 'Arrange child components horizontally', onClick: ->(action) do
19
+ action.windows_open url: json_ui_garage_url(path: 'panels/horizontal')
20
+ end
21
+ template.thumbnail title: 'Flow', subtitle: 'Arrange components in a left-to-right flow, much like lines of text in a paragraph', onClick: ->(action) do
22
+ action.windows_open url: json_ui_garage_url(path: 'panels/flow')
23
+ end
24
+ template.thumbnail title: 'Carousel', subtitle: 'Arrange child components horizontally in a carousel', onClick: ->(action) do
25
+ action.windows_open url: json_ui_garage_url(path: 'panels/carousel')
26
+ end
27
+ template.thumbnail title: 'Responsive', subtitle: 'Arrange *column panels* horizontally using flex', onClick: ->(action) do
28
+ action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
29
+ end
30
+ template.thumbnail title: 'Unordered List', subtitle: 'Bullet points similar to HTML\'s <ul> tag', onClick: ->(action) do
31
+ action.windows_open url: json_ui_garage_url(path: 'panels/ul')
32
+ end
33
+
34
+
35
+ end
36
+ end, ->(section) do
37
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
38
+ header.h2 text: 'Layout with predefined sub-panels'
39
+ header.spacer height: 6
40
+ header.label text: 'Each sub-panel is a responsive panel'
41
+ end
42
+
43
+ section.rows builder: ->(template) do
44
+ template.thumbnail title: 'Split', subtitle: 'Sub-panels: left, center, right', onClick: ->(action) do
45
+ action.windows_open url: json_ui_garage_url(path: 'panels/split')
46
+ end
47
+ template.thumbnail title: 'Page', subtitle: 'Sub-panels: header, body, footer', onClick: ->(action) do
48
+ action.windows_open url: json_ui_garage_url(path: 'pages/index')
49
+ end
50
+ template.thumbnail title: 'List', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
51
+ action.windows_open url: json_ui_garage_url(path: 'lists/index')
52
+ end
53
+ template.thumbnail title: 'Table (Web Only)', subtitle: 'Sub-panels: header, footer', onClick: ->(action) do
54
+ action.windows_open url: json_ui_garage_url(path: 'tables/index')
55
+ end
56
+
57
+ end
58
+ end, ->(section) do
59
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
60
+ header.h2 text: 'Layout with uniform rows'
61
+ end
62
+
63
+ section.rows builder: ->(template) do
64
+ template.thumbnail title: 'List', subtitle: 'Rows without columns', onClick: ->(action) do
65
+ action.windows_open url: json_ui_garage_url(path: 'lists/index')
66
+ end
67
+ template.thumbnail title: 'Table (Web Only)', subtitle: 'Rows with columns', onClick: ->(action) do
68
+ action.windows_open url: json_ui_garage_url(path: 'tables/index')
69
+ end
70
+
71
+ end
72
+ end, ->(section) do
73
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
74
+ header.h2 text: 'Non-layout'
75
+ header.spacer height: 6
76
+ header.label text: 'Adds functionality to a responsive layout'
77
+ end
78
+
79
+ section.rows builder: ->(template) do
80
+ template.thumbnail title: 'Scroll', subtitle: 'Adds scrolling', onClick: ->(action) do
81
+ action.windows_open url: json_ui_garage_url(path: 'pages/index')
82
+ end
83
+ template.thumbnail title: 'Form', subtitle: 'Adds form functionality', onClick: ->(action) do
84
+ action.windows_open url: json_ui_garage_url(path: 'forms/index')
85
+ end
86
+ template.thumbnail title: 'Column', subtitle: 'Adds control over layout inside a responsive panel', onClick: ->(action) do
87
+ action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
88
+ end
89
+ end
90
+ end, ->(section) do
91
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
92
+ header.h2 text: 'Child-less Layout'
93
+ end
94
+
95
+ section.rows builder: ->(template) do
96
+ template.thumbnail title: 'Custom', onClick: ->(action) do
97
+ action.windows_open url: json_ui_garage_url(path: 'panels/custom')
98
+ end
99
+ template.thumbnail title: 'Web', onClick: ->(action) do
100
+ action.windows_open url: json_ui_garage_url(path: 'panels/web')
101
+ end
102
+
103
+ end
104
+ end, ->(section) do
105
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
106
+ header.h2 text: 'Styling'
107
+ end
108
+
109
+ section.rows builder: ->(template) do
110
+ template.thumbnail title: 'Card', onClick: ->(action) do
111
+ action.windows_open url: json_ui_garage_url(path: 'panels/card')
112
+ end
113
+ end
114
+
115
+ section.rows builder: ->(template) do
116
+ template.thumbnail title: 'Outlined', onClick: ->(action) do
117
+ action.windows_open url: json_ui_garage_url(path: 'panels/outlined')
118
+ end
119
+
120
+ end
121
+ end, ->(section) do
122
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
123
+ header.h2 text: 'Uncategorized'
124
+ end
125
+
126
+ section.rows builder: ->(template) do
127
+ template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
128
+ # TODO
129
+ end
130
+
131
+ template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
132
+ # TODO
133
+ end
134
+ end
135
+ end
136
+ ]
137
+
138
+ end
@@ -1,4 +1,4 @@
1
- json.title 'Outlined Panels'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card', 'outlined']
1
+ json.title 'Outlined Panels'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card', 'outlined']