glib-web 0.5.83 → 0.5.84

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 +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 -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/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 +33 -33
  39. data/app/helpers/glib/json_ui/view_builder/fields.rb +291 -291
  40. data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -11
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +258 -258
  42. data/app/helpers/glib/json_ui/view_builder.rb +248 -247
  43. data/app/helpers/glib/urls_helper.rb +12 -12
  44. data/app/models/concerns/glib/soft_deletable.rb +68 -68
  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 +70 -70
  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 +43 -43
  69. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  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 +116 -116
  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 +81 -81
  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/text_validation.json.jbuilder +65 -65
  93. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  94. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  95. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  96. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  97. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +30 -30
  98. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  99. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  100. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  101. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  102. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  103. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  104. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  105. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  106. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  107. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  108. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  109. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  110. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  111. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  112. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  113. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  114. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  115. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  116. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  117. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  118. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  119. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +66 -31
  120. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  121. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  122. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +38 -38
  123. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  124. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  125. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  126. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  127. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  128. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  129. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  130. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  131. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  132. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  133. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  134. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  135. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  136. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  137. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  138. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  139. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  140. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  141. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  142. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  143. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  144. data/app/views/json_ui/garage/views/banners.json.jbuilder +67 -63
  145. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  146. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  147. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  148. data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -21
  149. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  150. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  151. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  152. data/app/views/json_ui/garage/views/index.json.jbuilder +83 -83
  153. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  154. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  155. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  156. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  157. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  158. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  159. data/app/views/json_ui/garage/views/progress.json.jbuilder +31 -31
  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 +2 -3
@@ -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']
@@ -1,98 +1,98 @@
1
- json.title 'Responsive 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.label text: 'Shrink the browser\'s width to see how the column panels are rearranged. On mobile screens, they are always arranged vertically'
8
-
9
- scroll.spacer height: 20
10
- scroll.h2 text: 'With 12 columns'
11
- scroll.spacer height: 6
12
- scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
13
- horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
14
- column.button text: '1'
15
- end
16
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
17
- column.button text: '2'
18
- end
19
- end
20
-
21
- scroll.spacer height: 20
22
- scroll.h2 text: 'With more than 12 columns'
23
- scroll.spacer height: 6
24
- scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
25
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#c3cad2', childViews: ->(column) do
26
- column.button text: '1'
27
- end
28
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
29
- column.button text: '2'
30
- end
31
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#c3cad2', childViews: ->(column) do
32
- column.button text: '3'
33
- end
34
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
35
- column.button text: '4'
36
- end
37
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#c3cad2', childViews: ->(column) do
38
- column.button text: '5'
39
- end
40
- end
41
-
42
- scroll.spacer height: 20
43
- scroll.h2 text: 'With responsive paddings'
44
- scroll.spacer height: 6
45
- scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
46
- horizontal.panels_column lg: { cols: 8, padding: { right: 20 } }, childViews: ->(column) do
47
- column.button width: 'matchParent', text: '1'
48
- end
49
- horizontal.panels_column lg: { cols: 4 }, childViews: ->(column) do
50
- column.button width: 'matchParent', text: '2'
51
- end
52
- end
53
-
54
- scroll.spacer height: 20
55
- scroll.h2 text: 'With mixed components'
56
- scroll.spacer height: 6
57
- scroll.panels_responsive width: 'matchParent', align: 'center', childViews: ->(responsive) do
58
- responsive.h4 text: 'Heading'
59
-
60
- responsive.label text: 'Label'
61
-
62
- # responsive.spacer height: 10
63
- # responsive.image url: glib_json_image_standard_url, width: 100, height: 100
64
-
65
- # responsive.spacer height: 10
66
- # responsive.image url: glib_json_image_standard_url
67
-
68
- # responsive.panels_column lg: { cols: 8, padding: { right: 20 } }, childViews: ->(column) do
69
- # column.button width: 'matchParent', text: '1'
70
- # end
71
- # responsive.panels_column lg: { cols: 4 }, childViews: ->(column) do
72
- # column.button width: 'matchParent', text: '2'
73
- # end
74
-
75
- responsive.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
76
- column.button text: '1'
77
- end
78
- responsive.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
79
- column.button text: '2'
80
- end
81
-
82
- responsive.spacer height: 10
83
- responsive.button text: 'Button'
84
- end
85
-
86
- scroll.spacer height: 20
87
- scroll.h2 text: 'With onClick'
88
- scroll.spacer height: 6
89
- scroll.panels_responsive backgroundColor: '#c3cad2', padding: { left: 20, right: 20, top: 10, bottom: 10 }, childViews: ->(responsive) do
90
- responsive.h4 text: 'Heading'
91
- responsive.label text: 'Label'
92
- end, onClick: ->(action) do
93
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
94
- end
95
-
96
- scroll.spacer height: 20
97
-
98
- end
1
+ json.title 'Responsive 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.label text: 'Shrink the browser\'s width to see how the column panels are rearranged. On mobile screens, they are always arranged vertically'
8
+
9
+ scroll.spacer height: 20
10
+ scroll.h2 text: 'With 12 columns'
11
+ scroll.spacer height: 6
12
+ scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
13
+ horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
14
+ column.button text: '1'
15
+ end
16
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
17
+ column.button text: '2'
18
+ end
19
+ end
20
+
21
+ scroll.spacer height: 20
22
+ scroll.h2 text: 'With more than 12 columns'
23
+ scroll.spacer height: 6
24
+ scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
25
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#c3cad2', childViews: ->(column) do
26
+ column.button text: '1'
27
+ end
28
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
29
+ column.button text: '2'
30
+ end
31
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#c3cad2', childViews: ->(column) do
32
+ column.button text: '3'
33
+ end
34
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
35
+ column.button text: '4'
36
+ end
37
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#c3cad2', childViews: ->(column) do
38
+ column.button text: '5'
39
+ end
40
+ end
41
+
42
+ scroll.spacer height: 20
43
+ scroll.h2 text: 'With responsive paddings'
44
+ scroll.spacer height: 6
45
+ scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
46
+ horizontal.panels_column lg: { cols: 8, padding: { right: 20 } }, childViews: ->(column) do
47
+ column.button width: 'matchParent', text: '1'
48
+ end
49
+ horizontal.panels_column lg: { cols: 4 }, childViews: ->(column) do
50
+ column.button width: 'matchParent', text: '2'
51
+ end
52
+ end
53
+
54
+ scroll.spacer height: 20
55
+ scroll.h2 text: 'With mixed components'
56
+ scroll.spacer height: 6
57
+ scroll.panels_responsive width: 'matchParent', align: 'center', childViews: ->(responsive) do
58
+ responsive.h4 text: 'Heading'
59
+
60
+ responsive.label text: 'Label'
61
+
62
+ # responsive.spacer height: 10
63
+ # responsive.image url: glib_json_image_standard_url, width: 100, height: 100
64
+
65
+ # responsive.spacer height: 10
66
+ # responsive.image url: glib_json_image_standard_url
67
+
68
+ # responsive.panels_column lg: { cols: 8, padding: { right: 20 } }, childViews: ->(column) do
69
+ # column.button width: 'matchParent', text: '1'
70
+ # end
71
+ # responsive.panels_column lg: { cols: 4 }, childViews: ->(column) do
72
+ # column.button width: 'matchParent', text: '2'
73
+ # end
74
+
75
+ responsive.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
76
+ column.button text: '1'
77
+ end
78
+ responsive.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
79
+ column.button text: '2'
80
+ end
81
+
82
+ responsive.spacer height: 10
83
+ responsive.button text: 'Button'
84
+ end
85
+
86
+ scroll.spacer height: 20
87
+ scroll.h2 text: 'With onClick'
88
+ scroll.spacer height: 6
89
+ scroll.panels_responsive backgroundColor: '#c3cad2', padding: { left: 20, right: 20, top: 10, bottom: 10 }, childViews: ->(responsive) do
90
+ responsive.h4 text: 'Heading'
91
+ responsive.label text: 'Label'
92
+ end, onClick: ->(action) do
93
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
94
+ end
95
+
96
+ scroll.spacer height: 20
97
+
98
+ end