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,25 +1,25 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- online_channel = 'OnlineChannel'
7
- event = 'online_status'
8
- first_user = User.first
9
-
10
- online_socket_config = {
11
- channel: online_channel,
12
- filterKey: nil,
13
- params: {}
14
- }
15
- json.actionCable online_socket_config
16
-
17
- page.on load: ->(action) do
18
- action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
19
- subaction.cables_push channel: online_channel, event: event, payload: { status: true, user_id: first_user.id, reset_value: 3 }
20
- end
21
- end
22
-
23
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
24
- scroll.label text: 'Participant One is now online'
25
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ online_channel = 'OnlineChannel'
7
+ event = 'online_status'
8
+ first_user = User.first
9
+
10
+ online_socket_config = {
11
+ channel: online_channel,
12
+ filterKey: nil,
13
+ params: {}
14
+ }
15
+ json.actionCable online_socket_config
16
+
17
+ page.on load: ->(action) do
18
+ action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
19
+ subaction.cables_push channel: online_channel, event: event, payload: { status: true, user_id: first_user.id, reset_value: 3 }
20
+ end
21
+ end
22
+
23
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
24
+ scroll.label text: 'Participant One is now online'
25
+ end
@@ -1,25 +1,25 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- online_channel = 'OnlineChannel'
7
- event = 'online_status'
8
- second_user = User.second
9
-
10
- online_socket_config = {
11
- channel: online_channel,
12
- filterKey: nil,
13
- params: {}
14
- }
15
- json.actionCable online_socket_config
16
-
17
- page.on load: ->(action) do
18
- action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
19
- subaction.cables_push channel: online_channel, event: event, payload: { status: true, user_id: second_user.id, reset_value: 3 }
20
- end
21
- end
22
-
23
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
24
- scroll.label text: 'Participant Two is now online'
25
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ online_channel = 'OnlineChannel'
7
+ event = 'online_status'
8
+ second_user = User.second
9
+
10
+ online_socket_config = {
11
+ channel: online_channel,
12
+ filterKey: nil,
13
+ params: {}
14
+ }
15
+ json.actionCable online_socket_config
16
+
17
+ page.on load: ->(action) do
18
+ action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
19
+ subaction.cables_push channel: online_channel, event: event, payload: { status: true, user_id: second_user.id, reset_value: 3 }
20
+ end
21
+ end
22
+
23
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
24
+ scroll.label text: 'Participant Two is now online'
25
+ end
@@ -1,34 +1,34 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- # Pass `refresh_state` to refresh the CC token after submission.
7
- page.form \
8
- url: json_ui_garage_url(path: 'forms/generic_post', refresh_state: true),
9
- method: 'post',
10
- padding: glib_json_padding_body,
11
- childViews: ->(form) do
12
- form.spacer height: 20
13
- form.h2 text: 'Credit card'
14
- form.spacer height: 6
15
- form.fields_stripeToken \
16
- name: 'user[stripe_token]',
17
- width: 'matchParent',
18
- publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
19
-
20
- form.spacer height: 20
21
- form.h2 text: 'Bank account'
22
- form.spacer height: 6
23
- form.fields_stripeExternalAccount \
24
- name: 'user[stripe_external_account]',
25
- width: 'matchParent',
26
- publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx',
27
- accountHolderName: 'John Doe',
28
- accountHolderType: 'individual',
29
- country: 'AU',
30
- currency: 'AUD'
31
-
32
- form.spacer height: 30
33
- form.fields_submit text: 'Submit'
34
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ # Pass `refresh_state` to refresh the CC token after submission.
7
+ page.form \
8
+ url: json_ui_garage_url(path: 'forms/generic_post', refresh_state: true),
9
+ method: 'post',
10
+ padding: glib_json_padding_body,
11
+ childViews: ->(form) do
12
+ form.spacer height: 20
13
+ form.h2 text: 'Credit card'
14
+ form.spacer height: 6
15
+ form.fields_stripeToken \
16
+ name: 'user[stripe_token]',
17
+ width: 'matchParent',
18
+ publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
19
+
20
+ form.spacer height: 20
21
+ form.h2 text: 'Bank account'
22
+ form.spacer height: 6
23
+ form.fields_stripeExternalAccount \
24
+ name: 'user[stripe_external_account]',
25
+ width: 'matchParent',
26
+ publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx',
27
+ accountHolderName: 'John Doe',
28
+ accountHolderType: 'individual',
29
+ country: 'AU',
30
+ currency: 'AUD'
31
+
32
+ form.spacer height: 30
33
+ form.fields_submit text: 'Submit'
34
+ end
@@ -1,89 +1,89 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.form \
7
- url: json_ui_garage_url(path: 'forms/generic_post'),
8
- method: 'post',
9
- padding: glib_json_padding_body,
10
- childViews: ->(form) do
11
-
12
- form.h2 text: 'Radio Group'
13
- form.spacer height: 6
14
- form.h4 text: 'Gender'
15
- form.fields_radioGroup name: 'user[gender]', value: 'F', childViews: ->(group) do
16
- group.fields_radio value: '', label: 'Unknown'
17
- group.fields_radio value: 'M', label: 'Male'
18
- group.fields_radio value: 'F', label: 'Female'
19
- end
20
-
21
- form.spacer height: 20
22
- form.h2 text: 'Single Checkbox'
23
- form.fields_check \
24
- name: 'user[age_range]',
25
- value: '16+',
26
- checkValue: '16+',
27
- uncheckValue: '0-16',
28
- label: 'I am over 16 (has default value)'
29
- form.fields_check \
30
- name: 'user[employer]',
31
- checkValue: 1,
32
- label: 'I am an employer (no default value)'
33
-
34
- # Use `switch` component instead.
35
- # form.fields_check \
36
- # name: 'user[enabled]',
37
- # styleClass: 'switch',
38
- # checkValue: true,
39
- # label: 'Enable',
40
- # value: 'true'
41
-
42
- form.spacer height: 20
43
- form.h2 text: 'Date/Time'
44
- form.spacer height: 6
45
- form.fields_date \
46
- name: 'user[date]',
47
- width: 'matchParent',
48
- label: 'Date',
49
- min: '2010-01-01',
50
- max: '2010-01-15',
51
- value: '2010-02-01'
52
- form.fields_datetime \
53
- name: 'user[date_time]',
54
- width: 'matchParent',
55
- label: 'Date Time',
56
- min: '2018-06-09T00:00',
57
- max: '2018-06-17T00:00',
58
- value: '2018-06-15T19:30'
59
- form.fields_date \
60
- name: 'user[month]',
61
- width: 'matchParent',
62
- label: 'Month',
63
- type: 'month',
64
- min: '2021-01-01',
65
- max: '2021-03-01',
66
- value: '2021-11'
67
-
68
- form.spacer height: 20
69
- form.h2 text: 'Country'
70
- form.spacer height: 6
71
- region_field = { name: 'user[city]', label: 'City' }
72
- form.fields_country name: 'user[country]', width: 'matchParent', label: 'Country', region: region_field
73
-
74
- form.spacer height: 20
75
- form.h2 text: 'Map'
76
- form.spacer height: 6
77
- form.fields_location \
78
- name: 'user[address]',
79
- width: 'matchParent',
80
- label: 'Type an address',
81
- value: 'Sydney Harbour Bridge',
82
- autocompleteOptions: { componentRestrictions: { country: 'au' }, types: ['(cities)'] },
83
- latitudeField: { view: 'fields/text', name: 'user[latitude]', label: 'Lat', value: -33.8523063, readOnly: true },
84
- longitudeField: { view: 'fields/text', name: 'user[longitude]', label: 'Long', value: 151.21078710000006, readOnly: true },
85
- zoomField: { view: 'fields/text', name: 'user[zoom]', label: 'Zoom' }
86
-
87
- form.spacer height: 20
88
- form.fields_submit text: 'Submit'
89
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.form \
7
+ url: json_ui_garage_url(path: 'forms/generic_post'),
8
+ method: 'post',
9
+ padding: glib_json_padding_body,
10
+ childViews: ->(form) do
11
+
12
+ form.h2 text: 'Radio Group'
13
+ form.spacer height: 6
14
+ form.h4 text: 'Gender'
15
+ form.fields_radioGroup name: 'user[gender]', value: 'F', childViews: ->(group) do
16
+ group.fields_radio value: '', label: 'Unknown'
17
+ group.fields_radio value: 'M', label: 'Male'
18
+ group.fields_radio value: 'F', label: 'Female'
19
+ end
20
+
21
+ form.spacer height: 20
22
+ form.h2 text: 'Single Checkbox'
23
+ form.fields_check \
24
+ name: 'user[age_range]',
25
+ value: '16+',
26
+ checkValue: '16+',
27
+ uncheckValue: '0-16',
28
+ label: 'I am over 16 (has default value)'
29
+ form.fields_check \
30
+ name: 'user[employer]',
31
+ checkValue: 1,
32
+ label: 'I am an employer (no default value)'
33
+
34
+ # Use `switch` component instead.
35
+ # form.fields_check \
36
+ # name: 'user[enabled]',
37
+ # styleClass: 'switch',
38
+ # checkValue: true,
39
+ # label: 'Enable',
40
+ # value: 'true'
41
+
42
+ form.spacer height: 20
43
+ form.h2 text: 'Date/Time'
44
+ form.spacer height: 6
45
+ form.fields_date \
46
+ name: 'user[date]',
47
+ width: 'matchParent',
48
+ label: 'Date',
49
+ min: '2010-01-01',
50
+ max: '2010-01-15',
51
+ value: '2010-02-01'
52
+ form.fields_datetime \
53
+ name: 'user[date_time]',
54
+ width: 'matchParent',
55
+ label: 'Date Time',
56
+ min: '2018-06-09T00:00',
57
+ max: '2018-06-17T00:00',
58
+ value: '2018-06-15T19:30'
59
+ form.fields_date \
60
+ name: 'user[month]',
61
+ width: 'matchParent',
62
+ label: 'Month',
63
+ type: 'month',
64
+ min: '2021-01-01',
65
+ max: '2021-03-01',
66
+ value: '2021-11'
67
+
68
+ form.spacer height: 20
69
+ form.h2 text: 'Country'
70
+ form.spacer height: 6
71
+ region_field = { name: 'user[city]', label: 'City' }
72
+ form.fields_country name: 'user[country]', width: 'matchParent', label: 'Country', region: region_field
73
+
74
+ form.spacer height: 20
75
+ form.h2 text: 'Map'
76
+ form.spacer height: 6
77
+ form.fields_location \
78
+ name: 'user[address]',
79
+ width: 'matchParent',
80
+ label: 'Type an address',
81
+ value: 'Sydney Harbour Bridge',
82
+ autocompleteOptions: { componentRestrictions: { country: 'au' }, types: ['(cities)'] },
83
+ latitudeField: { view: 'fields/text', name: 'user[latitude]', label: 'Lat', value: -33.8523063, readOnly: true },
84
+ longitudeField: { view: 'fields/text', name: 'user[longitude]', label: 'Long', value: 151.21078710000006, readOnly: true },
85
+ zoomField: { view: 'fields/text', name: 'user[zoom]', label: 'Zoom' }
86
+
87
+ form.spacer height: 20
88
+ form.fields_submit text: 'Submit'
89
+ end
@@ -1,49 +1,49 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.form \
7
- url: json_ui_garage_url(path: 'forms/generic_post'),
8
- method: 'post',
9
- padding: glib_json_padding_body,
10
- childViews: ->(form) do
11
-
12
- form.spacer height: 20
13
- form.h2 text: 'Full Increments'
14
- form.spacer height: 6
15
- form.fields_rating \
16
- name: 'user[rating_summary1]',
17
- value: 1,
18
- color: 'primary'
19
-
20
- form.spacer height: 20
21
- form.h2 text: 'Half Increments'
22
- form.spacer height: 6
23
- form.fields_rating \
24
- name: 'user[rating_summary2]',
25
- value: 1.5,
26
- halfIncrements: true,
27
- color: 'secondary'
28
-
29
- form.spacer height: 20
30
- form.h2 text: 'Custom Size'
31
- form.spacer height: 6
32
- form.fields_rating \
33
- name: 'user[rating_summary3]',
34
- value: 2,
35
- color: 'ternary',
36
- size: 35
37
-
38
- form.spacer height: 20
39
- form.h2 text: 'Read Only'
40
- form.spacer height: 6
41
- form.fields_rating \
42
- name: 'user[rating_summary4]',
43
- value: 3,
44
- readOnly: true,
45
- size: 40
46
-
47
- form.spacer height: 20
48
- form.fields_submit text: 'Submit'
49
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.form \
7
+ url: json_ui_garage_url(path: 'forms/generic_post'),
8
+ method: 'post',
9
+ padding: glib_json_padding_body,
10
+ childViews: ->(form) do
11
+
12
+ form.spacer height: 20
13
+ form.h2 text: 'Full Increments'
14
+ form.spacer height: 6
15
+ form.fields_rating \
16
+ name: 'user[rating_summary1]',
17
+ value: 1,
18
+ color: 'primary'
19
+
20
+ form.spacer height: 20
21
+ form.h2 text: 'Half Increments'
22
+ form.spacer height: 6
23
+ form.fields_rating \
24
+ name: 'user[rating_summary2]',
25
+ value: 1.5,
26
+ halfIncrements: true,
27
+ color: 'secondary'
28
+
29
+ form.spacer height: 20
30
+ form.h2 text: 'Custom Size'
31
+ form.spacer height: 6
32
+ form.fields_rating \
33
+ name: 'user[rating_summary3]',
34
+ value: 2,
35
+ color: 'ternary',
36
+ size: 35
37
+
38
+ form.spacer height: 20
39
+ form.h2 text: 'Read Only'
40
+ form.spacer height: 6
41
+ form.fields_rating \
42
+ name: 'user[rating_summary4]',
43
+ value: 3,
44
+ readOnly: true,
45
+ size: 40
46
+
47
+ form.spacer height: 20
48
+ form.fields_submit text: 'Submit'
49
+ end
@@ -1,40 +1,40 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
-
5
- render "#{@path_prefix}/nav_menu", json: json, page: page
6
-
7
- page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
8
- form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name', value: 'Rich Text Editor'
9
-
10
- # images = [
11
- # {
12
- # value: "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4",
13
- # fileUrl: "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
14
- # }
15
- # ]
16
- # form.fields_richText name: 'user[bio]', width: 'matchParent', label: 'Content', images: images, value: '<p>Test {{image1}}</p>'
17
-
18
- json.child! do
19
- json.view 'fields/richText-v1'
20
- json.width 'matchParent'
21
- json.label 'Content'
22
- json.name 'user[bio]'
23
- json.value '<p>Test {{image1}}</p>'
24
-
25
- json.images do
26
- json.child! do
27
- json.value "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4"
28
- # json.fileTitle "hita i hanom hg.jpg"
29
- json.fileUrl "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
30
- end
31
- end
32
-
33
- json.imageUploader do
34
- json.accepts(fileType: "image/*", maxFileSize: 5000)
35
- json.directUploadUrl rails_direct_uploads_url
36
- end
37
- end
38
-
39
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
40
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page
6
+
7
+ page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
8
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name', value: 'Rich Text Editor'
9
+
10
+ # images = [
11
+ # {
12
+ # value: "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4",
13
+ # fileUrl: "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
14
+ # }
15
+ # ]
16
+ # form.fields_richText name: 'user[bio]', width: 'matchParent', label: 'Content', images: images, value: '<p>Test {{image1}}</p>'
17
+
18
+ json.child! do
19
+ json.view 'fields/richText-v1'
20
+ json.width 'matchParent'
21
+ json.label 'Content'
22
+ json.name 'user[bio]'
23
+ json.value '<p>Test {{image1}}</p>'
24
+
25
+ json.images do
26
+ json.child! do
27
+ json.value "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4"
28
+ # json.fileTitle "hita i hanom hg.jpg"
29
+ json.fileUrl "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
30
+ end
31
+ end
32
+
33
+ json.imageUploader do
34
+ json.accepts(fileType: "image/*", maxFileSize: 5000)
35
+ json.directUploadUrl rails_direct_uploads_url
36
+ end
37
+ end
38
+
39
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
40
+ end