glib-web 0.5.43 → 0.5.44

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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  3. data/app/controllers/concerns/glib/auth/policy.rb +148 -148
  4. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  5. data/app/controllers/concerns/glib/json/libs.rb +144 -144
  6. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  7. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  8. data/app/controllers/concerns/glib/json/traversal.rb +87 -87
  9. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  10. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  11. data/app/controllers/glib/home_controller.rb +16 -16
  12. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  13. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  14. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  15. data/app/helpers/glib/enum_helper.rb +8 -8
  16. data/app/helpers/glib/forms_helper.rb +15 -15
  17. data/app/helpers/glib/json_ui/abstract_builder.rb +294 -294
  18. data/app/helpers/glib/json_ui/action_builder.rb +131 -131
  19. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  20. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  21. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  22. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  23. data/app/helpers/glib/json_ui/action_builder/windows.rb +26 -26
  24. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  25. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  26. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  27. data/app/helpers/glib/json_ui/list_builders.rb +104 -104
  28. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  29. data/app/helpers/glib/json_ui/page_helper.rb +213 -213
  30. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  31. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  32. data/app/helpers/glib/json_ui/styling_helper.rb +47 -47
  33. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  34. data/app/helpers/glib/json_ui/view_builder.rb +208 -208
  35. data/app/helpers/glib/json_ui/view_builder/banners.rb +24 -24
  36. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  37. data/app/helpers/glib/json_ui/view_builder/fields.rb +235 -235
  38. data/app/helpers/glib/json_ui/view_builder/panels.rb +250 -250
  39. data/app/helpers/glib/urls_helper.rb +7 -7
  40. data/app/models/glib/active_storage/attachment.rb +9 -9
  41. data/app/models/glib/active_storage/blob.rb +9 -9
  42. data/app/models/glib/application_record.rb +18 -18
  43. data/app/models/glib/dynamic_text_record.rb +9 -9
  44. data/app/models/glib/text.rb +95 -95
  45. data/app/policies/glib/application_policy.rb +161 -161
  46. data/app/validators/email_typo_validator.rb +38 -38
  47. data/app/validators/email_validator.rb +7 -7
  48. data/app/validators/url_validator.rb +20 -20
  49. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  50. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  51. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  52. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  53. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  54. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  55. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +18 -18
  56. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  57. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  58. data/app/views/json_ui/garage/actions/index.json.jbuilder +22 -22
  59. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  60. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  61. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  62. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  63. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  64. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +56 -56
  65. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +25 -25
  66. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  67. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +65 -65
  68. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +31 -31
  69. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  70. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +28 -28
  71. data/app/views/json_ui/garage/forms/index.json.jbuilder +110 -110
  72. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
  73. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +48 -48
  74. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  75. data/app/views/json_ui/garage/forms/selects.json.jbuilder +70 -70
  76. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +105 -105
  77. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +36 -36
  78. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  79. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +24 -24
  80. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  81. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  82. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +22 -22
  83. data/app/views/json_ui/garage/home/blank.json.jbuilder +11 -11
  84. data/app/views/json_ui/garage/home/index.json.jbuilder +32 -32
  85. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  86. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  87. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  88. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  89. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +93 -93
  90. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +54 -54
  91. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  92. data/app/views/json_ui/garage/lists/index.json.jbuilder +32 -32
  93. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +24 -24
  94. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  95. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  96. data/app/views/json_ui/garage/notifications/index.json.jbuilder +32 -32
  97. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  98. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  99. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  100. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  101. data/app/views/json_ui/garage/pages/index.json.jbuilder +58 -58
  102. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  103. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  104. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  105. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  106. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +27 -27
  107. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  108. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  109. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  110. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  111. data/app/views/json_ui/garage/panels/flow.json.jbuilder +49 -49
  112. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  113. data/app/views/json_ui/garage/panels/index.json.jbuilder +132 -132
  114. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  115. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  116. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  117. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +50 -50
  118. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  119. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  120. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  121. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  122. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  123. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  124. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  125. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  126. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  127. data/app/views/json_ui/garage/tables/layout.json.jbuilder +36 -36
  128. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  129. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  130. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  131. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  132. data/app/views/json_ui/garage/views/icons.json.jbuilder +1450 -1450
  133. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  134. data/app/views/json_ui/garage/views/index.json.jbuilder +54 -54
  135. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  136. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  137. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  138. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  139. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  140. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  141. data/app/views/json_ui/garage/views/texts.json.jbuilder +41 -41
  142. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  143. data/config/routes.rb +7 -7
  144. data/lib/generators/glib/install_generator.rb +24 -24
  145. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  146. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  147. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  148. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  149. data/lib/generators/templates/database.yml +107 -107
  150. data/lib/generators/templates/dynamic_text.rb +2 -2
  151. data/lib/glib-web.rb +9 -9
  152. data/lib/glib/crypt/utils.rb +26 -26
  153. data/lib/glib/dynamic_text/config.rb +21 -21
  154. data/lib/glib/engine.rb +7 -7
  155. data/lib/glib/json_crawler.rb +11 -11
  156. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  157. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  158. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  159. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  160. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  161. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  162. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  163. data/lib/glib/json_crawler/coverage.rb +20 -20
  164. data/lib/glib/json_crawler/http.rb +120 -120
  165. data/lib/glib/json_crawler/router.rb +96 -96
  166. data/lib/glib/mailer_tester.rb +36 -36
  167. data/lib/glib/test_helpers.rb +40 -40
  168. data/lib/glib/value.rb +7 -7
  169. data/lib/glib/version.rb +5 -5
  170. data/lib/tasks/db.rake +95 -95
  171. metadata +2 -3
@@ -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
@@ -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