glib-web 0.5.97 → 0.5.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +34 -34
  3. data/app/channels/glib/channel/online_channel.rb +36 -36
  4. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  5. data/app/controllers/concerns/glib/auth/policy.rb +149 -149
  6. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  7. data/app/controllers/concerns/glib/json/libs.rb +149 -149
  8. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  9. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  10. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  11. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  12. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  13. data/app/controllers/glib/home_controller.rb +54 -54
  14. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  15. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  16. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  17. data/app/helpers/glib/enum_helper.rb +18 -18
  18. data/app/helpers/glib/forms_helper.rb +15 -15
  19. data/app/helpers/glib/json_ui/abstract_builder.rb +309 -309
  20. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  21. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  22. data/app/helpers/glib/json_ui/action_builder/iap.rb +15 -15
  23. data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
  24. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  25. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  26. data/app/helpers/glib/json_ui/action_builder/windows.rb +38 -38
  27. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  28. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  29. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  30. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  31. data/app/helpers/glib/json_ui/list_builders.rb +110 -110
  32. data/app/helpers/glib/json_ui/menu_builder.rb +96 -96
  33. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  34. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  35. data/app/helpers/glib/json_ui/styling_helper.rb +55 -55
  36. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  37. data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
  38. data/app/helpers/glib/json_ui/view_builder/charts.rb +49 -49
  39. data/app/helpers/glib/json_ui/view_builder/fields.rb +296 -296
  40. data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -11
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +262 -262
  42. data/app/helpers/glib/json_ui/view_builder.rb +256 -253
  43. data/app/helpers/glib/urls_helper.rb +12 -12
  44. data/app/models/concerns/glib/soft_deletable.rb +73 -73
  45. data/app/models/glib/active_storage/attachment.rb +9 -9
  46. data/app/models/glib/active_storage/blob.rb +9 -9
  47. data/app/models/glib/application_record.rb +18 -18
  48. data/app/models/glib/dynamic_text_record.rb +9 -9
  49. data/app/models/glib/text.rb +95 -95
  50. data/app/policies/glib/application_policy.rb +191 -191
  51. data/app/validators/email_typo_validator.rb +38 -38
  52. data/app/validators/email_validator.rb +7 -7
  53. data/app/validators/url_validator.rb +20 -20
  54. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +72 -72
  55. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  56. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  57. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  59. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  60. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  61. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  62. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  65. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +10 -10
  66. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  67. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  68. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +27 -27
  69. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +38 -38
  70. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  71. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
  72. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  73. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +37 -37
  74. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  75. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  76. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  77. data/app/views/json_ui/garage/forms/index.json.jbuilder +120 -120
  78. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
  79. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  80. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  81. data/app/views/json_ui/garage/forms/payments.json.jbuilder +34 -34
  82. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +89 -89
  83. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  84. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  85. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -91
  86. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +150 -150
  87. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  88. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  89. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  90. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  91. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  92. data/app/views/json_ui/garage/forms/submit_on_change.json.jbuilder +28 -28
  93. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +65 -65
  94. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  95. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  96. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  97. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  98. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +30 -30
  99. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  100. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  101. data/app/views/json_ui/garage/lists/autoload_as_needed_responsive_columns.json.jbuilder +27 -27
  102. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  103. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  104. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  105. data/app/views/json_ui/garage/lists/index.json.jbuilder +41 -41
  106. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  107. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  108. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  109. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  110. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  111. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  112. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  113. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  114. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  115. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  116. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  117. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  118. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  119. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  120. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  121. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +92 -92
  122. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  123. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  124. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +38 -38
  125. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  126. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  127. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +101 -101
  128. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  129. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  130. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  131. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  132. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  133. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  134. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  135. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  136. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  137. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  138. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  139. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  140. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  141. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  142. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  143. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  144. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  145. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  146. data/app/views/json_ui/garage/views/banners.json.jbuilder +67 -67
  147. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  148. data/app/views/json_ui/garage/views/charts.json.jbuilder +125 -125
  149. data/app/views/json_ui/garage/views/controls.json.jbuilder +60 -60
  150. data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -21
  151. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  152. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  153. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  154. data/app/views/json_ui/garage/views/index.json.jbuilder +83 -83
  155. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  156. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  157. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  158. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  159. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  160. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  161. data/app/views/json_ui/garage/views/progress.json.jbuilder +31 -31
  162. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  163. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  164. data/config/routes.rb +7 -7
  165. data/lib/generators/glib/install_generator.rb +24 -24
  166. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  167. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  168. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  169. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  170. data/lib/generators/templates/database.yml +107 -107
  171. data/lib/generators/templates/dynamic_text.rb +2 -2
  172. data/lib/glib/crypt/utils.rb +26 -26
  173. data/lib/glib/dynamic_text/config.rb +21 -21
  174. data/lib/glib/engine.rb +7 -7
  175. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  176. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  177. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  178. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  179. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  180. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  181. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  182. data/lib/glib/json_crawler/coverage.rb +20 -20
  183. data/lib/glib/json_crawler/http.rb +120 -120
  184. data/lib/glib/json_crawler/router.rb +90 -90
  185. data/lib/glib/json_crawler.rb +11 -11
  186. data/lib/glib/mailer_tester.rb +36 -36
  187. data/lib/glib/test_helpers.rb +52 -52
  188. data/lib/glib/value.rb +7 -7
  189. data/lib/glib/version.rb +5 -5
  190. data/lib/glib-web.rb +9 -9
  191. data/lib/tasks/db.rake +95 -95
  192. metadata +2 -3
@@ -1,15 +1,15 @@
1
- json.title 'Views'
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: 'Icon'
8
- # scroll.icon spec: { name: 'home' }
9
- scroll.icon name: 'home'
10
-
11
- scroll.spacer height: 20
12
- scroll.h2 text: 'Icon with color'
13
- scroll.icon name: 'home', color: '#9370DB'
14
- scroll.icon name: 'home', color: '#9370DB80'
15
- end
1
+ json.title 'Views'
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: 'Icon'
8
+ # scroll.icon spec: { name: 'home' }
9
+ scroll.icon name: 'home'
10
+
11
+ scroll.spacer height: 20
12
+ scroll.h2 text: 'Icon with color'
13
+ scroll.icon name: 'home', color: '#9370DB'
14
+ scroll.icon name: 'home', color: '#9370DB80'
15
+ end
@@ -1,89 +1,89 @@
1
- json.title 'Views'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- # small_image_url = 'https://icons-for-free.com/iconfiles/png/128/of+thrones+game+thrones+series+character+avatar+jon+snow-1320568555745862611.png'
7
- small_image_url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSGQpSWjtELISLBlmugOZ6wzl1JamYXQvbFeYywpfg3E8b8DrO0Kg&s'
8
-
9
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
- scroll.h2 text: 'Avatar'
11
- scroll.spacer height: 6
12
- scroll.avatar url: glib_json_image_avatar_url
13
-
14
- # scroll.spacer height: 20
15
- # scroll.h2 text: 'Icon'
16
- # scroll.spacer height: 6
17
- # scroll.icon spec: 'info'
18
-
19
- scroll.spacer height: 20
20
- scroll.h2 text: 'Image with base64 data'
21
- scroll.spacer height: 6
22
- scroll.image height: 100, base64Data: 'data:image/gif;base64,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'
23
-
24
- scroll.spacer height: 20
25
- scroll.h2 text: 'QR Code as base64 image'
26
- scroll.spacer height: 6
27
- if defined? RQRCode
28
- qr_content = { version: 1, message: 'This is a test' }
29
- qr = RQRCode::QRCode.new(qr_content.to_json)
30
- scroll.image base64Data: qr.as_png(size: 300).to_data_url
31
- else
32
- scroll.label text: 'Include "rqrcode" gem to enable this'
33
- end
34
-
35
- scroll.spacer height: 60
36
- scroll.hr
37
-
38
- scroll.spacer height: 60
39
- scroll.h2 text: 'Original size'
40
- scroll.spacer height: 6
41
- scroll.image url: glib_json_image_standard_url
42
-
43
- scroll.spacer height: 20
44
- scroll.h2 text: 'Original size'
45
- scroll.spacer height: 6
46
- scroll.image url: small_image_url
47
-
48
- # Reference: https://docs.imgix.com/apis/url/size/fit#clip
49
- scroll.spacer height: 20
50
- scroll.h2 text: 'fit: clip (default) to full width (scale down)'
51
- scroll.spacer height: 6
52
- scroll.image width: 'matchParent', url: glib_json_image_standard_url
53
-
54
- scroll.spacer height: 20
55
- scroll.h2 text: 'fit: clip (default) to full width (scale up)'
56
- scroll.spacer height: 6
57
- scroll.image width: 'matchParent', url: small_image_url
58
-
59
- scroll.spacer height: 20
60
- scroll.h2 text: 'fit: clip (default) to width (scale down)'
61
- scroll.spacer height: 6
62
- scroll.image width: 320, url: glib_json_image_standard_url
63
-
64
- scroll.spacer height: 20
65
- scroll.h2 text: 'fit: clip (default) to height (scale down)'
66
- scroll.spacer height: 6
67
- scroll.image height: 320, url: glib_json_image_standard_url
68
-
69
- scroll.spacer height: 20
70
- scroll.h2 text: 'fit: clip (default) to width (scale up)'
71
- scroll.spacer height: 6
72
- scroll.image width: 320, url: small_image_url
73
-
74
- scroll.spacer height: 20
75
- scroll.h2 text: 'fit: clip (default) to height (scale up)'
76
- scroll.spacer height: 6
77
- scroll.image height: 320, url: small_image_url
78
-
79
- # Reference: https://docs.imgix.com/apis/url/size/fit#crop
80
- scroll.spacer height: 20
81
- scroll.h2 text: 'fit: crop to width'
82
- scroll.spacer height: 6
83
- scroll.image width: 200, url: glib_json_image_standard_url, fit: :crop
84
-
85
- scroll.spacer height: 20
86
- scroll.h2 text: 'fit: crop to height'
87
- scroll.spacer height: 6
88
- scroll.image height: 200, url: glib_json_image_standard_url, fit: :crop
89
- end
1
+ json.title 'Views'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ # small_image_url = 'https://icons-for-free.com/iconfiles/png/128/of+thrones+game+thrones+series+character+avatar+jon+snow-1320568555745862611.png'
7
+ small_image_url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSGQpSWjtELISLBlmugOZ6wzl1JamYXQvbFeYywpfg3E8b8DrO0Kg&s'
8
+
9
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
+ scroll.h2 text: 'Avatar'
11
+ scroll.spacer height: 6
12
+ scroll.avatar url: glib_json_image_avatar_url
13
+
14
+ # scroll.spacer height: 20
15
+ # scroll.h2 text: 'Icon'
16
+ # scroll.spacer height: 6
17
+ # scroll.icon spec: 'info'
18
+
19
+ scroll.spacer height: 20
20
+ scroll.h2 text: 'Image with base64 data'
21
+ scroll.spacer height: 6
22
+ scroll.image height: 100, base64Data: 'data:image/gif;base64,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'
23
+
24
+ scroll.spacer height: 20
25
+ scroll.h2 text: 'QR Code as base64 image'
26
+ scroll.spacer height: 6
27
+ if defined? RQRCode
28
+ qr_content = { version: 1, message: 'This is a test' }
29
+ qr = RQRCode::QRCode.new(qr_content.to_json)
30
+ scroll.image base64Data: qr.as_png(size: 300).to_data_url
31
+ else
32
+ scroll.label text: 'Include "rqrcode" gem to enable this'
33
+ end
34
+
35
+ scroll.spacer height: 60
36
+ scroll.hr
37
+
38
+ scroll.spacer height: 60
39
+ scroll.h2 text: 'Original size'
40
+ scroll.spacer height: 6
41
+ scroll.image url: glib_json_image_standard_url
42
+
43
+ scroll.spacer height: 20
44
+ scroll.h2 text: 'Original size'
45
+ scroll.spacer height: 6
46
+ scroll.image url: small_image_url
47
+
48
+ # Reference: https://docs.imgix.com/apis/url/size/fit#clip
49
+ scroll.spacer height: 20
50
+ scroll.h2 text: 'fit: clip (default) to full width (scale down)'
51
+ scroll.spacer height: 6
52
+ scroll.image width: 'matchParent', url: glib_json_image_standard_url
53
+
54
+ scroll.spacer height: 20
55
+ scroll.h2 text: 'fit: clip (default) to full width (scale up)'
56
+ scroll.spacer height: 6
57
+ scroll.image width: 'matchParent', url: small_image_url
58
+
59
+ scroll.spacer height: 20
60
+ scroll.h2 text: 'fit: clip (default) to width (scale down)'
61
+ scroll.spacer height: 6
62
+ scroll.image width: 320, url: glib_json_image_standard_url
63
+
64
+ scroll.spacer height: 20
65
+ scroll.h2 text: 'fit: clip (default) to height (scale down)'
66
+ scroll.spacer height: 6
67
+ scroll.image height: 320, url: glib_json_image_standard_url
68
+
69
+ scroll.spacer height: 20
70
+ scroll.h2 text: 'fit: clip (default) to width (scale up)'
71
+ scroll.spacer height: 6
72
+ scroll.image width: 320, url: small_image_url
73
+
74
+ scroll.spacer height: 20
75
+ scroll.h2 text: 'fit: clip (default) to height (scale up)'
76
+ scroll.spacer height: 6
77
+ scroll.image height: 320, url: small_image_url
78
+
79
+ # Reference: https://docs.imgix.com/apis/url/size/fit#crop
80
+ scroll.spacer height: 20
81
+ scroll.h2 text: 'fit: crop to width'
82
+ scroll.spacer height: 6
83
+ scroll.image width: 200, url: glib_json_image_standard_url, fit: :crop
84
+
85
+ scroll.spacer height: 20
86
+ scroll.h2 text: 'fit: crop to height'
87
+ scroll.spacer height: 6
88
+ scroll.image height: 200, url: glib_json_image_standard_url, fit: :crop
89
+ end
@@ -1,83 +1,83 @@
1
- json.title 'Views'
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: 'Components'
10
- end
11
-
12
- section.rows builder: ->(template) do
13
- ['texts', 'controls', 'images', 'charts', 'banners', 'maps', 'misc', 'icons', 'progress'].each do |component|
14
- template.thumbnail title: component.humanize, onClick: ->(action) do
15
- action.windows_open url: json_ui_garage_url(path: "views/#{component}")
16
- end
17
- end
18
- # template.thumbnail title: 'Texts', onClick: ->(action) do
19
- # action.windows_open url: json_ui_garage_url(path: 'views/texts')
20
- # end
21
- # template.thumbnail title: 'Controls', onClick: ->(action) do
22
- # action.windows_open url: json_ui_garage_url(path: 'views/controls')
23
- # end
24
- # template.thumbnail title: 'Images', onClick: ->(action) do
25
- # action.windows_open url: json_ui_garage_url(path: 'views/images')
26
- # end
27
- # template.thumbnail title: 'Charts', onClick: ->(action) do
28
- # action.windows_open url: json_ui_garage_url(path: 'views/charts')
29
- # end
30
- # template.thumbnail title: 'Banners', onClick: ->(action) do
31
- # action.windows_open url: json_ui_garage_url(path: 'views/banners')
32
- # end
33
- # template.thumbnail title: 'Maps', onClick: ->(action) do
34
- # action.windows_open url: json_ui_garage_url(path: 'views/maps')
35
- # end
36
- # template.thumbnail title: 'Misc', onClick: ->(action) do
37
- # action.windows_open url: json_ui_garage_url(path: 'views/misc')
38
- # end
39
- # template.thumbnail title: 'Icons', onClick: ->(action) do
40
- # action.windows_open url: json_ui_garage_url(path: 'views/icons')
41
- # end
42
- end
43
- end,
44
- ->(section) do
45
- section.header padding: glib_json_padding_list, childViews: ->(header) do
46
- header.h2 text: 'Styling and Formatting'
47
- end
48
-
49
- section.rows builder: ->(template) do
50
- template.thumbnail title: 'Markdowns', onClick: ->(action) do
51
- action.windows_open url: json_ui_garage_url(path: 'views/markdowns')
52
- end
53
- template.thumbnail title: 'Links', onClick: ->(action) do
54
- action.windows_open url: json_ui_garage_url(path: 'views/links')
55
- end
56
- end
57
- end,
58
- ->(section) do
59
- section.header padding: glib_json_padding_list, childViews: ->(header) do
60
- header.h2 text: 'Android and iOS only (experimental)'
61
- end
62
-
63
- section.rows builder: ->(template) do
64
- template.thumbnail title: 'In-App Purchase', onClick: ->(action) do
65
- action.windows_open url: json_ui_garage_url(path: 'views/iap')
66
- end
67
- end
68
- end,
69
- ->(section) do
70
- section.header padding: glib_json_padding_list, childViews: ->(header) do
71
- header.h2 text: 'Reference'
72
- end
73
-
74
- section.rows builder: ->(template) do
75
- if !Rails.env.test? # Avoid slowing down tests
76
- template.thumbnail title: 'Icon Names', onClick: ->(action) do
77
- action.windows_open url: json_ui_garage_url(path: 'views/icon_names')
78
- end
79
- end
80
- end
81
- end
82
- ]
83
- end
1
+ json.title 'Views'
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: 'Components'
10
+ end
11
+
12
+ section.rows builder: ->(template) do
13
+ ['texts', 'controls', 'images', 'charts', 'banners', 'maps', 'misc', 'icons', 'progress'].each do |component|
14
+ template.thumbnail title: component.humanize, onClick: ->(action) do
15
+ action.windows_open url: json_ui_garage_url(path: "views/#{component}")
16
+ end
17
+ end
18
+ # template.thumbnail title: 'Texts', onClick: ->(action) do
19
+ # action.windows_open url: json_ui_garage_url(path: 'views/texts')
20
+ # end
21
+ # template.thumbnail title: 'Controls', onClick: ->(action) do
22
+ # action.windows_open url: json_ui_garage_url(path: 'views/controls')
23
+ # end
24
+ # template.thumbnail title: 'Images', onClick: ->(action) do
25
+ # action.windows_open url: json_ui_garage_url(path: 'views/images')
26
+ # end
27
+ # template.thumbnail title: 'Charts', onClick: ->(action) do
28
+ # action.windows_open url: json_ui_garage_url(path: 'views/charts')
29
+ # end
30
+ # template.thumbnail title: 'Banners', onClick: ->(action) do
31
+ # action.windows_open url: json_ui_garage_url(path: 'views/banners')
32
+ # end
33
+ # template.thumbnail title: 'Maps', onClick: ->(action) do
34
+ # action.windows_open url: json_ui_garage_url(path: 'views/maps')
35
+ # end
36
+ # template.thumbnail title: 'Misc', onClick: ->(action) do
37
+ # action.windows_open url: json_ui_garage_url(path: 'views/misc')
38
+ # end
39
+ # template.thumbnail title: 'Icons', onClick: ->(action) do
40
+ # action.windows_open url: json_ui_garage_url(path: 'views/icons')
41
+ # end
42
+ end
43
+ end,
44
+ ->(section) do
45
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
46
+ header.h2 text: 'Styling and Formatting'
47
+ end
48
+
49
+ section.rows builder: ->(template) do
50
+ template.thumbnail title: 'Markdowns', onClick: ->(action) do
51
+ action.windows_open url: json_ui_garage_url(path: 'views/markdowns')
52
+ end
53
+ template.thumbnail title: 'Links', onClick: ->(action) do
54
+ action.windows_open url: json_ui_garage_url(path: 'views/links')
55
+ end
56
+ end
57
+ end,
58
+ ->(section) do
59
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
60
+ header.h2 text: 'Android and iOS only (experimental)'
61
+ end
62
+
63
+ section.rows builder: ->(template) do
64
+ template.thumbnail title: 'In-App Purchase', onClick: ->(action) do
65
+ action.windows_open url: json_ui_garage_url(path: 'views/iap')
66
+ end
67
+ end
68
+ end,
69
+ ->(section) do
70
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
71
+ header.h2 text: 'Reference'
72
+ end
73
+
74
+ section.rows builder: ->(template) do
75
+ if !Rails.env.test? # Avoid slowing down tests
76
+ template.thumbnail title: 'Icon Names', onClick: ->(action) do
77
+ action.windows_open url: json_ui_garage_url(path: 'views/icon_names')
78
+ end
79
+ end
80
+ end
81
+ end
82
+ ]
83
+ end
@@ -1,70 +1,70 @@
1
- json.title 'Views'
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
-
8
- scroll.h2 text: 'Standard button'
9
- scroll.spacer height: 6
10
- scroll.button text: 'Button', onClick: ->(action) do
11
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
12
- end
13
-
14
- scroll.spacer height: 20
15
- scroll.h2 text: 'Button with icon'
16
- scroll.spacer height: 6
17
- scroll.button icon: 'info', text: 'Button', onClick: ->(action) do
18
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
19
- end
20
-
21
- scroll.spacer height: 20
22
- scroll.h2 text: 'Button with link style'
23
- scroll.spacer height: 6
24
- scroll.button text: 'Link Button', styleClass: 'link', onClick: ->(action) do
25
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
26
- end
27
-
28
- scroll.spacer height: 20
29
- scroll.h2 text: 'Button with icon style'
30
- scroll.spacer height: 6
31
- scroll.button icon: 'info', styleClass: 'icon', onClick: ->(action) do
32
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
33
- end
34
-
35
- scroll.spacer height: 20
36
- scroll.h2 text: 'Label with onClick URL'
37
- scroll.spacer height: 6
38
- scroll.label text: 'Clickable Link', onClick: ->(action) do
39
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
40
- end
41
-
42
- scroll.spacer height: 20
43
- scroll.h2 text: 'Avatar with onClick'
44
- # TODO: Make sure "open in new tab" works
45
- scroll.spacer height: 10
46
- scroll.avatar url: glib_json_image_avatar_url, styleClass: 'link', onClick: ->(action) do
47
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
48
- end
49
-
50
- scroll.spacer height: 20
51
- scroll.h2 text: 'Image with onClick'
52
- # TODO: Make sure "open in new tab" works
53
- scroll.spacer height: 10
54
- scroll.image width: 100, url: glib_json_image_standard_url, styleClass: 'link', onClick: ->(action) do
55
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
56
- end
57
-
58
- scroll.spacer height: 20
59
- scroll.h2 text: 'Icon with onClick'
60
- scroll.spacer height: 6
61
- scroll.icon spec: 'info', onClick: ->(action) do
62
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
63
- end
64
-
65
- scroll.fab icon: 'add', onClick: ->(action) do
66
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
67
- end
68
-
69
- end
70
- end
1
+ json.title 'Views'
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
+
8
+ scroll.h2 text: 'Standard button'
9
+ scroll.spacer height: 6
10
+ scroll.button text: 'Button', onClick: ->(action) do
11
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
12
+ end
13
+
14
+ scroll.spacer height: 20
15
+ scroll.h2 text: 'Button with icon'
16
+ scroll.spacer height: 6
17
+ scroll.button icon: 'info', text: 'Button', onClick: ->(action) do
18
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
19
+ end
20
+
21
+ scroll.spacer height: 20
22
+ scroll.h2 text: 'Button with link style'
23
+ scroll.spacer height: 6
24
+ scroll.button text: 'Link Button', styleClass: 'link', onClick: ->(action) do
25
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
26
+ end
27
+
28
+ scroll.spacer height: 20
29
+ scroll.h2 text: 'Button with icon style'
30
+ scroll.spacer height: 6
31
+ scroll.button icon: 'info', styleClass: 'icon', onClick: ->(action) do
32
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
33
+ end
34
+
35
+ scroll.spacer height: 20
36
+ scroll.h2 text: 'Label with onClick URL'
37
+ scroll.spacer height: 6
38
+ scroll.label text: 'Clickable Link', onClick: ->(action) do
39
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
40
+ end
41
+
42
+ scroll.spacer height: 20
43
+ scroll.h2 text: 'Avatar with onClick'
44
+ # TODO: Make sure "open in new tab" works
45
+ scroll.spacer height: 10
46
+ scroll.avatar url: glib_json_image_avatar_url, styleClass: 'link', onClick: ->(action) do
47
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
48
+ end
49
+
50
+ scroll.spacer height: 20
51
+ scroll.h2 text: 'Image with onClick'
52
+ # TODO: Make sure "open in new tab" works
53
+ scroll.spacer height: 10
54
+ scroll.image width: 100, url: glib_json_image_standard_url, styleClass: 'link', onClick: ->(action) do
55
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
56
+ end
57
+
58
+ scroll.spacer height: 20
59
+ scroll.h2 text: 'Icon with onClick'
60
+ scroll.spacer height: 6
61
+ scroll.icon spec: 'info', onClick: ->(action) do
62
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
63
+ end
64
+
65
+ scroll.fab icon: 'add', onClick: ->(action) do
66
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
67
+ end
68
+
69
+ end
70
+ end
@@ -1,41 +1,41 @@
1
-
2
- json.pins do
3
- locations = [
4
- { lat: -31.56391, lng: 147.154312 },
5
- { lat: -33.718234, lng: 150.363181 },
6
- { lat: -33.727111, lng: 150.371124 },
7
- { lat: -33.848588, lng: 151.209834 },
8
- { lat: -33.851702, lng: 151.216968 },
9
- { lat: -34.671264, lng: 150.863657 },
10
- { lat: -35.304724, lng: 148.662905 },
11
- { lat: -36.817685, lng: 175.699196 },
12
- { lat: -36.828611, lng: 175.790222 },
13
- { lat: -37.75, lng: 145.116667 },
14
- { lat: -37.759859, lng: 145.128708 },
15
- { lat: -37.765015, lng: 145.133858 },
16
- { lat: -37.770104, lng: 145.143299 },
17
- { lat: -37.7737, lng: 145.145187 },
18
- { lat: -37.774785, lng: 145.137978 },
19
- { lat: -37.819616, lng: 144.968119 },
20
- { lat: -38.330766, lng: 144.695692 },
21
- { lat: -39.927193, lng: 175.053218 },
22
- { lat: -41.330162, lng: 174.865694 },
23
- { lat: -42.734358, lng: 147.439506 },
24
- { lat: -42.734358, lng: 147.501315 },
25
- { lat: -42.735258, lng: 147.438 },
26
- { lat: -43.999792, lng: 170.463352 },
27
- { lat: 49.003109, lng: 108.490479, size: 3500000 },
28
- { lat: -6.611423, lng: 141.922091, size: 3700 },
29
- ];
30
-
31
- locations.each do |location|
32
- json.child! do
33
- json.latitude location[:lat]
34
- json.longitude location[:lng]
35
- json.clusterSize location[:size]
36
- json.infoWindow do
37
- json.title "TEST #{rand(1000)}"
38
- end
39
- end
40
- end
41
- end
1
+
2
+ json.pins do
3
+ locations = [
4
+ { lat: -31.56391, lng: 147.154312 },
5
+ { lat: -33.718234, lng: 150.363181 },
6
+ { lat: -33.727111, lng: 150.371124 },
7
+ { lat: -33.848588, lng: 151.209834 },
8
+ { lat: -33.851702, lng: 151.216968 },
9
+ { lat: -34.671264, lng: 150.863657 },
10
+ { lat: -35.304724, lng: 148.662905 },
11
+ { lat: -36.817685, lng: 175.699196 },
12
+ { lat: -36.828611, lng: 175.790222 },
13
+ { lat: -37.75, lng: 145.116667 },
14
+ { lat: -37.759859, lng: 145.128708 },
15
+ { lat: -37.765015, lng: 145.133858 },
16
+ { lat: -37.770104, lng: 145.143299 },
17
+ { lat: -37.7737, lng: 145.145187 },
18
+ { lat: -37.774785, lng: 145.137978 },
19
+ { lat: -37.819616, lng: 144.968119 },
20
+ { lat: -38.330766, lng: 144.695692 },
21
+ { lat: -39.927193, lng: 175.053218 },
22
+ { lat: -41.330162, lng: 174.865694 },
23
+ { lat: -42.734358, lng: 147.439506 },
24
+ { lat: -42.734358, lng: 147.501315 },
25
+ { lat: -42.735258, lng: 147.438 },
26
+ { lat: -43.999792, lng: 170.463352 },
27
+ { lat: 49.003109, lng: 108.490479, size: 3500000 },
28
+ { lat: -6.611423, lng: 141.922091, size: 3700 },
29
+ ];
30
+
31
+ locations.each do |location|
32
+ json.child! do
33
+ json.latitude location[:lat]
34
+ json.longitude location[:lng]
35
+ json.clusterSize location[:size]
36
+ json.infoWindow do
37
+ json.title "TEST #{rand(1000)}"
38
+ end
39
+ end
40
+ end
41
+ end