glib-web 0.5.71 → 0.5.72

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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +34 -34
  3. data/app/channels/glib/channel/online_channel.rb +36 -36
  4. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  5. data/app/controllers/concerns/glib/auth/policy.rb +148 -148
  6. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  7. data/app/controllers/concerns/glib/json/libs.rb +149 -149
  8. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  9. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  10. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  11. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  12. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  13. data/app/controllers/glib/home_controller.rb +54 -54
  14. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  15. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  16. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  17. data/app/helpers/glib/enum_helper.rb +18 -8
  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.rb +140 -140
  21. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  22. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  23. data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
  24. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  25. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  26. data/app/helpers/glib/json_ui/action_builder/windows.rb +33 -33
  27. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  28. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  29. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  30. data/app/helpers/glib/json_ui/list_builders.rb +110 -110
  31. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  32. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  33. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  34. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  35. data/app/helpers/glib/json_ui/styling_helper.rb +55 -55
  36. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  37. data/app/helpers/glib/json_ui/view_builder.rb +240 -240
  38. data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
  39. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  40. data/app/helpers/glib/json_ui/view_builder/fields.rb +278 -279
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +256 -256
  42. data/app/helpers/glib/urls_helper.rb +12 -12
  43. data/app/models/glib/active_storage/attachment.rb +9 -9
  44. data/app/models/glib/active_storage/blob.rb +9 -9
  45. data/app/models/glib/application_record.rb +18 -18
  46. data/app/models/glib/dynamic_text_record.rb +9 -9
  47. data/app/models/glib/text.rb +95 -95
  48. data/app/policies/glib/application_policy.rb +161 -161
  49. data/app/validators/email_typo_validator.rb +38 -38
  50. data/app/validators/email_validator.rb +7 -7
  51. data/app/validators/url_validator.rb +20 -20
  52. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  53. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  54. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  55. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  56. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  57. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  59. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  60. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  61. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  62. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  65. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  66. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  67. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  68. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  69. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -22
  70. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  71. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -37
  72. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  73. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  74. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  75. data/app/views/json_ui/garage/forms/index.json.jbuilder +113 -113
  76. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  77. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  78. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  79. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
  80. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  81. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  82. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -84
  83. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
  84. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  85. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  86. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  87. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  88. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  89. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
  90. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  91. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  92. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  93. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  94. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  95. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  96. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  97. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  98. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  99. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  100. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  101. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  102. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  103. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  104. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  105. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  106. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  107. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  108. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  109. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  110. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  111. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  112. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  113. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  114. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  115. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  116. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  117. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  118. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  119. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  120. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  121. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  122. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  123. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -134
  124. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  125. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  126. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  127. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -0
  128. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  129. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  130. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  131. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  132. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  133. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  134. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  135. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  136. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  137. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  138. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  139. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  140. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  141. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  142. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  143. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  144. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  145. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  146. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -14
  147. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  148. data/app/views/json_ui/garage/views/index.json.jbuilder +67 -67
  149. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  150. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  151. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  152. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  153. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  154. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  155. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  156. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  157. data/config/routes.rb +7 -7
  158. data/lib/generators/glib/install_generator.rb +24 -24
  159. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  160. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  161. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  162. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  163. data/lib/generators/templates/database.yml +107 -107
  164. data/lib/generators/templates/dynamic_text.rb +2 -2
  165. data/lib/glib-web.rb +9 -9
  166. data/lib/glib/crypt/utils.rb +26 -26
  167. data/lib/glib/dynamic_text/config.rb +21 -21
  168. data/lib/glib/engine.rb +7 -7
  169. data/lib/glib/json_crawler.rb +11 -11
  170. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  171. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  172. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  173. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  174. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  175. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  176. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  177. data/lib/glib/json_crawler/coverage.rb +20 -20
  178. data/lib/glib/json_crawler/http.rb +120 -120
  179. data/lib/glib/json_crawler/router.rb +98 -98
  180. data/lib/glib/mailer_tester.rb +36 -36
  181. data/lib/glib/test_helpers.rb +52 -52
  182. data/lib/glib/value.rb +7 -7
  183. data/lib/glib/version.rb +5 -5
  184. data/lib/tasks/db.rake +95 -95
  185. metadata +3 -3
@@ -0,0 +1,33 @@
1
+ json.title 'Unordered List'
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.h2 text: 'Standard Usage'
8
+ scroll.spacer height: 6
9
+ scroll.panels_ul childViews: ->(ul) do
10
+ ul.button text: 'Button', styleClass: 'link', onClick: ->(action) do
11
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
12
+ end
13
+ ul.label text: 'Label'
14
+ end
15
+
16
+ scroll.spacer height: 14
17
+ scroll.h2 text: 'Breadcrumbs'
18
+ scroll.spacer height: 6
19
+ scroll.panels_ul \
20
+ width: 'matchParent',
21
+ backgroundColor: '#eeeeee',
22
+ padding: { top: 10, right: 20, bottom: 10, left: 20 },
23
+ styleClass: 'breadcrumbs',
24
+ childViews: ->(ul) do
25
+ ul.button text: 'Level 1', styleClass: 'link', onClick: ->(action) do
26
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
27
+ end
28
+ ul.button text: 'Level 2', styleClass: 'link', onClick: ->(action) do
29
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
30
+ end
31
+ ul.label text: 'Level 3'
32
+ end
33
+ end
@@ -1,55 +1,55 @@
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_vertical backgroundColor: '#b3bac2', childViews: ->(panel) do
9
- panel.button text: 'Button1'
10
- panel.button text: 'Button2', width: 200
11
- panel.button text: 'Button3', width: 300
12
- end
13
-
14
- scroll.label text: "\n"
15
- scroll.h1 text: 'Equal filling'
16
- scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'fillEqually', childViews: ->(panel) do
17
- panel.button text: 'Button1'
18
- panel.button text: 'Button2'
19
- panel.button text: 'Button3'
20
- end
21
-
22
- scroll.label text: "\n"
23
- scroll.h1 text: 'Equal spacing'
24
- scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'spaceEqually', childViews: ->(panel) do
25
- panel.button text: 'Button1'
26
- panel.button text: 'Button2'
27
- panel.button text: 'Button3'
28
- end
29
-
30
- scroll.label text: "\n"
31
- scroll.h1 text: 'Alignments'
32
- scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'center', childViews: ->(panel) do
33
- panel.button text: 'Center'
34
- end
35
- scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'right', childViews: ->(panel) do
36
- panel.button text: 'Right'
37
- end
38
-
39
- scroll.label text: "\n"
40
- scroll.h1 text: 'Spacers'
41
- scroll.panels_vertical width: 'matchParent', childViews: ->(panel) do
42
- panel.button text: '1'
43
- panel.spacer height: 10
44
- panel.button text: '2'
45
- panel.spacer height: 50
46
- panel.button text: '3'
47
- end
48
-
49
- scroll.label text: "\n"
50
- scroll.h1 text: 'Click action'
51
- scroll.panels_vertical width: 100, height: 100, backgroundColor: '#b3bac2', onClick: ->(action) do
52
- action.dialogs_alert message: 'Perform action'
53
- end
54
- end
55
- 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_vertical backgroundColor: '#b3bac2', childViews: ->(panel) do
9
+ panel.button text: 'Button1'
10
+ panel.button text: 'Button2', width: 200
11
+ panel.button text: 'Button3', width: 300
12
+ end
13
+
14
+ scroll.label text: "\n"
15
+ scroll.h1 text: 'Equal filling'
16
+ scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'fillEqually', childViews: ->(panel) do
17
+ panel.button text: 'Button1'
18
+ panel.button text: 'Button2'
19
+ panel.button text: 'Button3'
20
+ end
21
+
22
+ scroll.label text: "\n"
23
+ scroll.h1 text: 'Equal spacing'
24
+ scroll.panels_vertical backgroundColor: '#b3bac2', height: 300, distribution: 'spaceEqually', childViews: ->(panel) do
25
+ panel.button text: 'Button1'
26
+ panel.button text: 'Button2'
27
+ panel.button text: 'Button3'
28
+ end
29
+
30
+ scroll.label text: "\n"
31
+ scroll.h1 text: 'Alignments'
32
+ scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'center', childViews: ->(panel) do
33
+ panel.button text: 'Center'
34
+ end
35
+ scroll.panels_vertical width: 'matchParent', backgroundColor: '#b3bac2', align: 'right', childViews: ->(panel) do
36
+ panel.button text: 'Right'
37
+ end
38
+
39
+ scroll.label text: "\n"
40
+ scroll.h1 text: 'Spacers'
41
+ scroll.panels_vertical width: 'matchParent', childViews: ->(panel) do
42
+ panel.button text: '1'
43
+ panel.spacer height: 10
44
+ panel.button text: '2'
45
+ panel.spacer height: 50
46
+ panel.button text: '3'
47
+ end
48
+
49
+ scroll.label text: "\n"
50
+ scroll.h1 text: 'Click action'
51
+ scroll.panels_vertical width: 100, height: 100, backgroundColor: '#b3bac2', onClick: ->(action) do
52
+ action.dialogs_alert message: 'Perform action'
53
+ end
54
+ end
55
+ end
@@ -1,15 +1,15 @@
1
- json.title 'Panels'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
7
- header.h1 text: 'Web View'
8
- end
9
-
10
- page.body height: 'matchParent', padding: glib_json_padding_body, childViews: ->(body) do
11
- body.panels_web \
12
- width: 'matchParent',
13
- height: 'matchParent',
14
- url: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf'
15
- 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.header padding: glib_json_padding_body, backgroundColor: '#b3bac2', childViews: ->(header) do
7
+ header.h1 text: 'Web View'
8
+ end
9
+
10
+ page.body height: 'matchParent', padding: glib_json_padding_body, childViews: ->(body) do
11
+ body.panels_web \
12
+ width: 'matchParent',
13
+ height: 'matchParent',
14
+ url: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf'
15
+ end
@@ -1,13 +1,13 @@
1
- json.title 'Dynamic Text Service'
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.h3 text: dt_json('.hello', name: 'John')
8
- scroll.spacer height: 6
9
- scroll.label text: dt_json('.greeting')
10
- scroll.label text: dt_json('.greeting_with_image')
11
- end
12
-
13
- end
1
+ json.title 'Dynamic Text Service'
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.h3 text: dt_json('.hello', name: 'John')
8
+ scroll.spacer height: 6
9
+ scroll.label text: dt_json('.greeting')
10
+ scroll.label text: dt_json('.greeting_with_image')
11
+ end
12
+
13
+ end
@@ -1,47 +1,47 @@
1
- json.title 'Image Service'
2
-
3
- # See https://docs.imgix.com/apis/url/size/fit#clip
4
- page = json_ui_page json
5
- render "#{@path_prefix}/nav_menu", json: json, page: page
6
-
7
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
8
- bucket = 'itinerarybuilder-demo'
9
-
10
- # TODO: This needs fixing
11
- scroll.h1 text: 'Original size'
12
- scroll.spacer height: 6
13
- scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: nil)
14
-
15
- scroll.h1 text: 'fit: clip (default) to width'
16
- scroll.spacer height: 6
17
- scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: 100, height: nil)
18
-
19
- scroll.spacer height: 20
20
- scroll.h1 text: 'fit: clip (default) to height'
21
- scroll.spacer height: 6
22
- scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: 100)
23
-
24
- scroll.spacer height: 20
25
- scroll.h1 text: 'fit: crop to width'
26
- scroll.spacer height: 6
27
- scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: 100, height: nil)
28
-
29
- scroll.spacer height: 20
30
- scroll.h1 text: 'fit: crop to height'
31
- scroll.spacer height: 6
32
- scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: nil, height: 100)
33
-
34
- # Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
35
- #
36
- # scroll.spacer height: 20
37
- # scroll.h1 text: 'fit: fill to width'
38
- # scroll.spacer height: 6
39
- # scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: 2000, height: nil)
40
-
41
- # Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
42
- #
43
- # scroll.spacer height: 20
44
- # scroll.h1 text: 'fit: fill to height'
45
- # scroll.spacer height: 6
46
- # scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: nil, height: 2000)
47
- end
1
+ json.title 'Image Service'
2
+
3
+ # See https://docs.imgix.com/apis/url/size/fit#clip
4
+ page = json_ui_page json
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page
6
+
7
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
8
+ bucket = 'itinerarybuilder-demo'
9
+
10
+ # TODO: This needs fixing
11
+ scroll.h1 text: 'Original size'
12
+ scroll.spacer height: 6
13
+ scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: nil)
14
+
15
+ scroll.h1 text: 'fit: clip (default) to width'
16
+ scroll.spacer height: 6
17
+ scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: 100, height: nil)
18
+
19
+ scroll.spacer height: 20
20
+ scroll.h1 text: 'fit: clip (default) to height'
21
+ scroll.spacer height: 6
22
+ scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, width: nil, height: 100)
23
+
24
+ scroll.spacer height: 20
25
+ scroll.h1 text: 'fit: crop to width'
26
+ scroll.spacer height: 6
27
+ scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: 100, height: nil)
28
+
29
+ scroll.spacer height: 20
30
+ scroll.h1 text: 'fit: crop to height'
31
+ scroll.spacer height: 6
32
+ scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'crop', width: nil, height: 100)
33
+
34
+ # Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
35
+ #
36
+ # scroll.spacer height: 20
37
+ # scroll.h1 text: 'fit: fill to width'
38
+ # scroll.spacer height: 6
39
+ # scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: 2000, height: nil)
40
+
41
+ # Currently this doesn't behave the same way as https://docs.imgix.com/apis/url/size/fit#fill
42
+ #
43
+ # scroll.spacer height: 20
44
+ # scroll.h1 text: 'fit: fill to height'
45
+ # scroll.spacer height: 6
46
+ # scroll.image url: dynamic_image_url(glib_json_image_blob_key, bucket: bucket, fit: 'fill', width: nil, height: 2000)
47
+ end
@@ -1,17 +1,17 @@
1
- json.title 'Dynamic Texts'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
-
6
- page.list firstSection: ->(section) do
7
- section.rows builder: ->(template) do
8
- template.thumbnail title: 'Dynamic Text', onClick: ->(action) do
9
- action.windows_open url: json_ui_garage_url(path: 'services/dynamic_text')
10
- end
11
-
12
- template.thumbnail title: 'Image', onClick: ->(action) do
13
- action.windows_open url: json_ui_garage_url(path: 'services/image')
14
- end
15
- end
16
-
17
- end
1
+ json.title 'Dynamic Texts'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
+
6
+ page.list firstSection: ->(section) do
7
+ section.rows builder: ->(template) do
8
+ template.thumbnail title: 'Dynamic Text', onClick: ->(action) do
9
+ action.windows_open url: json_ui_garage_url(path: 'services/dynamic_text')
10
+ end
11
+
12
+ template.thumbnail title: 'Image', onClick: ->(action) do
13
+ action.windows_open url: json_ui_garage_url(path: 'services/image')
14
+ end
15
+ end
16
+
17
+ end
@@ -1,16 +1,16 @@
1
- batch_count = 30
2
- items = (1..batch_count)
3
- section = page.table_section_builder
4
- section.rows objects: items, builder: ->(row, item, index) do
5
- row.default colStyles: [{ width: 36 }, {}, {}, {}, { width: 36 }], cellViews: ->(cell) do
6
- cell.label text: ''
7
-
8
- column_indexes.each do |i|
9
- cell.label text: "Data #{page_index * batch_count + item}-#{i}"
10
- end
11
-
12
- cell.label text: ''
13
- end, onClick: ->(action) do
14
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
15
- end
16
- end
1
+ batch_count = 30
2
+ items = (1..batch_count)
3
+ section = page.table_section_builder
4
+ section.rows objects: items, builder: ->(row, item, index) do
5
+ row.default colStyles: [{ width: 36 }, {}, {}, {}, { width: 36 }], cellViews: ->(cell) do
6
+ cell.label text: ''
7
+
8
+ column_indexes.each do |i|
9
+ cell.label text: "Data #{page_index * batch_count + item}-#{i}"
10
+ end
11
+
12
+ cell.label text: ''
13
+ end, onClick: ->(action) do
14
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
15
+ end
16
+ end
@@ -1,43 +1,43 @@
1
-
2
- page_index = params[:page].to_i
3
- next_page = {
4
- url: json_ui_garage_url(path: 'tables/autoload_all', page: page_index + 1, section_only: 'v1'),
5
- autoload: 'all'
6
- }
7
-
8
- column_indexes = (1..3)
9
- # TODO: Cater
10
- # - for SEO: one URL for a standalone page and one URL for pagination only
11
- # - for generic approach, e.g. excluding nav_menu when there is no change
12
- if params[:section_only].present?
13
- sleep 1
14
-
15
- json.nextPage next_page if page_index < 3
16
- json_ui_page json do |page|
17
- json.sections do
18
- json.child! do
19
- render 'json_ui/garage/tables/autoload_section', page: page, page_index: page_index, column_indexes: column_indexes
20
- end
21
- end
22
- end
23
- else
24
- json.title 'Tables'
25
-
26
- page = json_ui_page json
27
- render "#{@path_prefix}/nav_menu", json: json, page: page
28
-
29
- page.table nextPage: next_page, firstSection: ->(section) do
30
- section.header cellViews: ->(header) do
31
- column_indexes.each do |i|
32
- header.label text: "Heading#{i}"
33
- end
34
- end
35
-
36
- render "#{@path_prefix}/tables/autoload_section", page: page, page_index: page_index, column_indexes: column_indexes
37
- end, onScrollToBottom: ->(action) do
38
- action.snackbars_alert message: 'Scrolled to Bottom'
39
- end, onScrollToTop: ->(action) do
40
- action.snackbars_alert message: 'Scrolled to Top'
41
- end
42
-
43
- end
1
+
2
+ page_index = params[:page].to_i
3
+ next_page = {
4
+ url: json_ui_garage_url(path: 'tables/autoload_all', page: page_index + 1, section_only: 'v1'),
5
+ autoload: 'all'
6
+ }
7
+
8
+ column_indexes = (1..3)
9
+ # TODO: Cater
10
+ # - for SEO: one URL for a standalone page and one URL for pagination only
11
+ # - for generic approach, e.g. excluding nav_menu when there is no change
12
+ if params[:section_only].present?
13
+ sleep 1
14
+
15
+ json.nextPage next_page if page_index < 3
16
+ json_ui_page json do |page|
17
+ json.sections do
18
+ json.child! do
19
+ render 'json_ui/garage/tables/autoload_section', page: page, page_index: page_index, column_indexes: column_indexes
20
+ end
21
+ end
22
+ end
23
+ else
24
+ json.title 'Tables'
25
+
26
+ page = json_ui_page json
27
+ render "#{@path_prefix}/nav_menu", json: json, page: page
28
+
29
+ page.table nextPage: next_page, firstSection: ->(section) do
30
+ section.header cellViews: ->(header) do
31
+ column_indexes.each do |i|
32
+ header.label text: "Heading#{i}"
33
+ end
34
+ end
35
+
36
+ render "#{@path_prefix}/tables/autoload_section", page: page, page_index: page_index, column_indexes: column_indexes
37
+ end, onScrollToBottom: ->(action) do
38
+ action.snackbars_alert message: 'Scrolled to Bottom'
39
+ end, onScrollToTop: ->(action) do
40
+ action.snackbars_alert message: 'Scrolled to Top'
41
+ end
42
+
43
+ end