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,27 +1,27 @@
1
- json.title 'Pages'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.header childViews: ->(header) do
7
- header.tabBar width: 'matchParent', backgroundColor: '#ffca05', color: '#7f561b', buttons: ->(menu) do
8
-
9
- ['FIRST', 'SECOND', 'THIRD'].each_with_index do |text, index|
10
- menu.button text: text, disabled: params[:tab].to_i == index, onClick: ->(action) do
11
- action.windows_reload url: json_ui_garage_url(path: 'pages/tab_bar', tab: index)
12
- end
13
- end
14
- end
15
- end
16
-
17
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
18
- scroll.label text: "Tab index #{params[:tab].to_i} selected"
19
-
20
- scroll.spacer height: 10
21
-
22
- 100.times do |i|
23
- scroll.label text: "Line #{i + 1}"
24
- end
25
- end
26
-
27
- end
1
+ json.title 'Pages'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.header childViews: ->(header) do
7
+ header.tabBar width: 'matchParent', backgroundColor: '#ffca05', color: '#7f561b', buttons: ->(menu) do
8
+
9
+ ['FIRST', 'SECOND', 'THIRD'].each_with_index do |text, index|
10
+ menu.button text: text, disabled: params[:tab].to_i == index, onClick: ->(action) do
11
+ action.windows_reload url: json_ui_garage_url(path: 'pages/tab_bar', tab: index)
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
18
+ scroll.label text: "Tab index #{params[:tab].to_i} selected"
19
+
20
+ scroll.spacer height: 10
21
+
22
+ 100.times do |i|
23
+ scroll.label text: "Line #{i + 1}"
24
+ end
25
+ end
26
+
27
+ end
@@ -1,78 +1,78 @@
1
- json.title 'Panels'
2
-
3
- render "#{@path_prefix}/nav_menu", json: json, page: page
4
-
5
- page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
6
- scroll.h2 text: 'Vertical panel'
7
- scroll.spacer height: 6
8
- scroll.panels_vertical styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
9
- panel.button text: 'Button1'
10
- panel.button text: 'Button2'
11
- panel.button text: 'Button3'
12
- end
13
-
14
- scroll.spacer height: 20
15
- scroll.h2 text: 'Horizontal panel'
16
- scroll.spacer height: 6
17
- scroll.panels_horizontal styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
18
- panel.button text: 'Button1'
19
- panel.button text: 'Button2'
20
- panel.button text: 'Button3'
21
- end
22
-
23
- scroll.spacer height: 20
24
- scroll.h2 text: 'Split panel'
25
- scroll.spacer height: 6
26
- scroll.panels_split styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', content: ->(split) do
27
- split.left childViews: ->(left) do
28
- left.button text: '1'
29
- end
30
- split.center childViews: ->(center) do
31
- center.button width: 'matchParent', text: '2'
32
- end
33
- split.right childViews: ->(right) do
34
- right.button text: '3'
35
- end
36
- end
37
-
38
-
39
- scroll.spacer height: 20
40
- scroll.h2 text: 'Responsive panel'
41
- scroll.spacer height: 6
42
- scroll.panels_responsive styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
43
- horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
44
- column.button text: '1'
45
- end
46
- horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
47
- column.button text: '2'
48
- end
49
- end
50
-
51
- scroll.spacer height: 20
52
- scroll.h2 text: 'Grid-like layout'
53
- scroll.spacer height: 6
54
- scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
55
- gap = { top: 12, left: 10, right: 10, bottom: 12 }
56
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
57
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
58
- column.button text: '1'
59
- end
60
- end
61
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
62
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
63
- column.button text: '2'
64
- end
65
- end
66
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
67
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
68
- column.button text: '3'
69
- end
70
- end
71
- horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
72
- column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
73
- column.button text: '4'
74
- end
75
- end
76
- end
77
-
78
- end
1
+ json.title 'Panels'
2
+
3
+ render "#{@path_prefix}/nav_menu", json: json, page: page
4
+
5
+ page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
6
+ scroll.h2 text: 'Vertical panel'
7
+ scroll.spacer height: 6
8
+ scroll.panels_vertical styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
9
+ panel.button text: 'Button1'
10
+ panel.button text: 'Button2'
11
+ panel.button text: 'Button3'
12
+ end
13
+
14
+ scroll.spacer height: 20
15
+ scroll.h2 text: 'Horizontal panel'
16
+ scroll.spacer height: 6
17
+ scroll.panels_horizontal styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
18
+ panel.button text: 'Button1'
19
+ panel.button text: 'Button2'
20
+ panel.button text: 'Button3'
21
+ end
22
+
23
+ scroll.spacer height: 20
24
+ scroll.h2 text: 'Split panel'
25
+ scroll.spacer height: 6
26
+ scroll.panels_split styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', content: ->(split) do
27
+ split.left childViews: ->(left) do
28
+ left.button text: '1'
29
+ end
30
+ split.center childViews: ->(center) do
31
+ center.button width: 'matchParent', text: '2'
32
+ end
33
+ split.right childViews: ->(right) do
34
+ right.button text: '3'
35
+ end
36
+ end
37
+
38
+
39
+ scroll.spacer height: 20
40
+ scroll.h2 text: 'Responsive panel'
41
+ scroll.spacer height: 6
42
+ scroll.panels_responsive styleClasses: styleClasses, padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
43
+ horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
44
+ column.button text: '1'
45
+ end
46
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
47
+ column.button text: '2'
48
+ end
49
+ end
50
+
51
+ scroll.spacer height: 20
52
+ scroll.h2 text: 'Grid-like layout'
53
+ scroll.spacer height: 6
54
+ scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
55
+ gap = { top: 12, left: 10, right: 10, bottom: 12 }
56
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
57
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
58
+ column.button text: '1'
59
+ end
60
+ end
61
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
62
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
63
+ column.button text: '2'
64
+ end
65
+ end
66
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
67
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
68
+ column.button text: '3'
69
+ end
70
+ end
71
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
72
+ column.panels_vertical styleClasses: styleClasses, width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
73
+ column.button text: '4'
74
+ end
75
+ end
76
+ end
77
+
78
+ end
@@ -1,4 +1,4 @@
1
- json.title 'Card Panels'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card']
1
+ json.title 'Card Panels'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/panels/styled", json: json, page: page, styleClasses: ['card']
@@ -1,37 +1,37 @@
1
- json.title 'Panels'
2
-
3
- image_url1 = 'https://ichef.bbci.co.uk/news/976/cpsprodpb/18106/production/_97266589_gettyimages-474547165.jpg'
4
- image_url2 = 'https://s.abcnews.com/images/International/Guam03-gty-jrl-170809_16x9_992.jpg'
5
-
6
- json_ui_page json do |page|
7
- render "#{@path_prefix}/nav_menu", json: json, page: page
8
-
9
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
- scroll.label text: "\n"
11
- scroll.h1 text: 'Carousel with labels'
12
- scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
13
- carousel.label text: 'Item 1'
14
- carousel.label text: 'Item 2'
15
- end
16
-
17
- scroll.label text: "\n"
18
- scroll.h1 text: 'Carousel with images'
19
- scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
20
- carousel.image url: image_url1, width: 'matchParent'
21
- carousel.image url: image_url2, width: 'matchParent'
22
- end
23
-
24
- scroll.label text: "\n"
25
- scroll.h1 text: 'Carousel with complex layout'
26
- scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
27
- carousel.panels_vertical childViews: ->(panel) do
28
- panel.h3 text: 'Item 1'
29
- panel.image url: image_url1, width: 'matchParent'
30
- end
31
- carousel.panels_vertical childViews: ->(panel) do
32
- panel.h3 text: 'Item 2'
33
- panel.image url: image_url2, width: 'matchParent'
34
- end
35
- end
36
- end
37
- end
1
+ json.title 'Panels'
2
+
3
+ image_url1 = 'https://ichef.bbci.co.uk/news/976/cpsprodpb/18106/production/_97266589_gettyimages-474547165.jpg'
4
+ image_url2 = 'https://s.abcnews.com/images/International/Guam03-gty-jrl-170809_16x9_992.jpg'
5
+
6
+ json_ui_page json do |page|
7
+ render "#{@path_prefix}/nav_menu", json: json, page: page
8
+
9
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
+ scroll.label text: "\n"
11
+ scroll.h1 text: 'Carousel with labels'
12
+ scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
13
+ carousel.label text: 'Item 1'
14
+ carousel.label text: 'Item 2'
15
+ end
16
+
17
+ scroll.label text: "\n"
18
+ scroll.h1 text: 'Carousel with images'
19
+ scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
20
+ carousel.image url: image_url1, width: 'matchParent'
21
+ carousel.image url: image_url2, width: 'matchParent'
22
+ end
23
+
24
+ scroll.label text: "\n"
25
+ scroll.h1 text: 'Carousel with complex layout'
26
+ scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
27
+ carousel.panels_vertical childViews: ->(panel) do
28
+ panel.h3 text: 'Item 1'
29
+ panel.image url: image_url1, width: 'matchParent'
30
+ end
31
+ carousel.panels_vertical childViews: ->(panel) do
32
+ panel.h3 text: 'Item 2'
33
+ panel.image url: image_url2, width: 'matchParent'
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,17 +1,17 @@
1
- json.title 'Panels'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
- scroll.h2 text: 'Thumbnail Template'
8
- scroll.spacer height: 6
9
- scroll.panels_custom template: 'thumbnail', width: 'matchParent', backgroundColor: '#fafafa',
10
- data: { imageUrl: glib_json_image_standard_url, title: 'Title', subtitle: 'Use the same template from list templates' }
11
-
12
- scroll.spacer height: 20
13
- scroll.h2 text: 'Non-existent Template'
14
- scroll.spacer height: 6
15
- scroll.panels_custom template: 'nonExistentTemplate'
16
- end
17
- end
1
+ json.title 'Panels'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.h2 text: 'Thumbnail Template'
8
+ scroll.spacer height: 6
9
+ scroll.panels_custom template: 'thumbnail', width: 'matchParent', backgroundColor: '#fafafa',
10
+ data: { imageUrl: glib_json_image_standard_url, title: 'Title', subtitle: 'Use the same template from list templates' }
11
+
12
+ scroll.spacer height: 20
13
+ scroll.h2 text: 'Non-existent Template'
14
+ scroll.spacer height: 6
15
+ scroll.panels_custom template: 'nonExistentTemplate'
16
+ end
17
+ end
@@ -1,49 +1,49 @@
1
- json.title 'Panels'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
- scroll.h1 text: 'Basic'
8
- scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
9
- panel.button text: '1'
10
- panel.button text: '2'
11
- panel.button text: '3'
12
- panel.button text: '4'
13
- panel.button text: '5'
14
- panel.button text: '6'
15
- panel.button text: '7'
16
- end
17
-
18
- scroll.label text: "\n"
19
- scroll.h1 text: 'Spacers'
20
- scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
21
- panel.button text: '1'
22
- panel.spacer width: 30
23
- panel.button text: '2'
24
- panel.spacer width: 30
25
- panel.button text: '3'
26
- panel.spacer width: 30
27
- panel.button text: '4'
28
- panel.spacer width: 30
29
- panel.button text: '5'
30
- end
31
-
32
- # scroll.label text: "\n"
33
- # scroll.h1 text: 'Alignments'
34
- # scroll.panels_horizontal align: 'top', childViews: ->(panel) do
35
- # panel.button height: 50, text: 'Button'
36
- # panel.spacer width: 10
37
- # panel.label text: 'top'
38
- # end
39
- # scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
40
- # panel.button height: 50, text: 'Button'
41
- # panel.spacer width: 10
42
- # panel.label text: 'middle'
43
- # end
44
- # scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
45
- # panel.button height: 50, text: 'Button'
46
- # panel.spacer width: 10
47
- # panel.label text: 'bottom'
48
- # end
49
- end
1
+ json.title 'Panels'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.h1 text: 'Basic'
8
+ scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
9
+ panel.button text: '1'
10
+ panel.button text: '2'
11
+ panel.button text: '3'
12
+ panel.button text: '4'
13
+ panel.button text: '5'
14
+ panel.button text: '6'
15
+ panel.button text: '7'
16
+ end
17
+
18
+ scroll.label text: "\n"
19
+ scroll.h1 text: 'Spacers'
20
+ scroll.panels_flow width: 300, backgroundColor: '#b3bac2', childViews: ->(panel) do
21
+ panel.button text: '1'
22
+ panel.spacer width: 30
23
+ panel.button text: '2'
24
+ panel.spacer width: 30
25
+ panel.button text: '3'
26
+ panel.spacer width: 30
27
+ panel.button text: '4'
28
+ panel.spacer width: 30
29
+ panel.button text: '5'
30
+ end
31
+
32
+ # scroll.label text: "\n"
33
+ # scroll.h1 text: 'Alignments'
34
+ # scroll.panels_horizontal align: 'top', childViews: ->(panel) do
35
+ # panel.button height: 50, text: 'Button'
36
+ # panel.spacer width: 10
37
+ # panel.label text: 'top'
38
+ # end
39
+ # scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
40
+ # panel.button height: 50, text: 'Button'
41
+ # panel.spacer width: 10
42
+ # panel.label text: 'middle'
43
+ # end
44
+ # scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
45
+ # panel.button height: 50, text: 'Button'
46
+ # panel.spacer width: 10
47
+ # panel.label text: 'bottom'
48
+ # end
49
+ end
@@ -1,91 +1,91 @@
1
- json.title 'Panels'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
- scroll.h1 text: 'Basic'
8
- scroll.panels_horizontal backgroundColor: '#b3bac2', childViews: ->(panel) do
9
- panel.button text: '1'
10
- panel.button text: '2'
11
- panel.button text: '3'
12
- end
13
-
14
- scroll.label text: "\n"
15
- scroll.h1 text: 'Equal filling'
16
- scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'fillEqually', childViews: ->(panel) do
17
- panel.button text: '1'
18
- panel.button text: '2', height: 50
19
- panel.button text: '3', height: 70
20
- end
21
-
22
- scroll.label text: "\n"
23
- scroll.h1 text: 'Equal spacing'
24
- scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'spaceEqually', childViews: ->(panel) do
25
- panel.button text: '1'
26
- panel.button text: '2'
27
- panel.button text: '3'
28
- end
29
-
30
- scroll.label text: "\n"
31
- scroll.h1 text: 'Vertical panel combo'
32
- scroll.panels_horizontal distribution: 'spaceEqually', childViews: ->(panel) do
33
- panel.button text: '1'
34
- panel.panels_vertical childViews: ->(v) do
35
- v.button text: 'A'
36
- v.button text: 'B'
37
- end
38
- panel.button text: '3'
39
- end
40
-
41
- scroll.label text: "\n"
42
- scroll.h1 text: 'Vertical panel combo (equal filling)'
43
- scroll.panels_horizontal width: 'matchParent', distribution: 'fillEqually', childViews: ->(panel) do
44
- panel.button text: '1'
45
- panel.panels_vertical childViews: ->(v) do
46
- v.button text: 'A'
47
- v.button text: 'B'
48
- end
49
- panel.button text: '3'
50
- end
51
-
52
- scroll.label text: "\n"
53
- scroll.h1 text: 'Vertical panel combo (equal spacing)'
54
- scroll.panels_horizontal width: 'matchParent', distribution: 'spaceEqually', childViews: ->(panel) do
55
- panel.button text: '1'
56
- panel.panels_vertical childViews: ->(v) do
57
- v.button text: 'A'
58
- v.button text: 'B'
59
- end
60
- panel.button text: '3'
61
- end
62
-
63
- scroll.label text: "\n"
64
- scroll.h1 text: 'Spacers'
65
- scroll.panels_horizontal width: 'matchParent', childViews: ->(panel) do
66
- panel.button text: '1'
67
- panel.spacer width: 10
68
- panel.button text: '2'
69
- panel.spacer width: 50
70
- panel.button text: '3'
71
- end
72
-
73
- scroll.label text: "\n"
74
- scroll.h1 text: 'Alignments'
75
- scroll.panels_horizontal align: 'top', childViews: ->(panel) do
76
- panel.button height: 50, text: 'Button'
77
- panel.spacer width: 10
78
- panel.label text: 'top'
79
- end
80
- scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
81
- panel.button height: 50, text: 'Button'
82
- panel.spacer width: 10
83
- panel.label text: 'middle'
84
- end
85
- scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
86
- panel.button height: 50, text: 'Button'
87
- panel.spacer width: 10
88
- panel.label text: 'bottom'
89
- end
90
- end
91
- end
1
+ json.title 'Panels'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.h1 text: 'Basic'
8
+ scroll.panels_horizontal backgroundColor: '#b3bac2', childViews: ->(panel) do
9
+ panel.button text: '1'
10
+ panel.button text: '2'
11
+ panel.button text: '3'
12
+ end
13
+
14
+ scroll.label text: "\n"
15
+ scroll.h1 text: 'Equal filling'
16
+ scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'fillEqually', childViews: ->(panel) do
17
+ panel.button text: '1'
18
+ panel.button text: '2', height: 50
19
+ panel.button text: '3', height: 70
20
+ end
21
+
22
+ scroll.label text: "\n"
23
+ scroll.h1 text: 'Equal spacing'
24
+ scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'spaceEqually', childViews: ->(panel) do
25
+ panel.button text: '1'
26
+ panel.button text: '2'
27
+ panel.button text: '3'
28
+ end
29
+
30
+ scroll.label text: "\n"
31
+ scroll.h1 text: 'Vertical panel combo'
32
+ scroll.panels_horizontal distribution: 'spaceEqually', childViews: ->(panel) do
33
+ panel.button text: '1'
34
+ panel.panels_vertical childViews: ->(v) do
35
+ v.button text: 'A'
36
+ v.button text: 'B'
37
+ end
38
+ panel.button text: '3'
39
+ end
40
+
41
+ scroll.label text: "\n"
42
+ scroll.h1 text: 'Vertical panel combo (equal filling)'
43
+ scroll.panels_horizontal width: 'matchParent', distribution: 'fillEqually', childViews: ->(panel) do
44
+ panel.button text: '1'
45
+ panel.panels_vertical childViews: ->(v) do
46
+ v.button text: 'A'
47
+ v.button text: 'B'
48
+ end
49
+ panel.button text: '3'
50
+ end
51
+
52
+ scroll.label text: "\n"
53
+ scroll.h1 text: 'Vertical panel combo (equal spacing)'
54
+ scroll.panels_horizontal width: 'matchParent', distribution: 'spaceEqually', childViews: ->(panel) do
55
+ panel.button text: '1'
56
+ panel.panels_vertical childViews: ->(v) do
57
+ v.button text: 'A'
58
+ v.button text: 'B'
59
+ end
60
+ panel.button text: '3'
61
+ end
62
+
63
+ scroll.label text: "\n"
64
+ scroll.h1 text: 'Spacers'
65
+ scroll.panels_horizontal width: 'matchParent', childViews: ->(panel) do
66
+ panel.button text: '1'
67
+ panel.spacer width: 10
68
+ panel.button text: '2'
69
+ panel.spacer width: 50
70
+ panel.button text: '3'
71
+ end
72
+
73
+ scroll.label text: "\n"
74
+ scroll.h1 text: 'Alignments'
75
+ scroll.panels_horizontal align: 'top', childViews: ->(panel) do
76
+ panel.button height: 50, text: 'Button'
77
+ panel.spacer width: 10
78
+ panel.label text: 'top'
79
+ end
80
+ scroll.panels_horizontal align: 'middle', childViews: ->(panel) do
81
+ panel.button height: 50, text: 'Button'
82
+ panel.spacer width: 10
83
+ panel.label text: 'middle'
84
+ end
85
+ scroll.panels_horizontal align: 'bottom', childViews: ->(panel) do
86
+ panel.button height: 50, text: 'Button'
87
+ panel.spacer width: 10
88
+ panel.label text: 'bottom'
89
+ end
90
+ end
91
+ end