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
@@ -1,19 +1,19 @@
1
- json.title 'Forms'
2
-
3
- options = {
4
- url: json_ui_garage_url(path: 'forms/generic_post'),
5
- method: 'post',
6
- padding: { top: 12, left: 20, right: 20, bottom: 12 }
7
- }
8
-
9
- page = json_ui_page json
10
- render "#{@path_prefix}/nav_menu", json: json, page: page
11
-
12
- page.form options.merge(childViews: ->(form) do
13
- form.label text: 'Demonstrates the use Floating Action Button on a form with footer'
14
- 30.times do |i|
15
- form.fields_text name: "user[field#{i}]", width: 'matchParent', label: "Field#{i}"
16
- end
17
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
- form.fab icon: 'send', onClick: ->(action) { action.forms_submit }
19
- end)
1
+ json.title 'Forms'
2
+
3
+ options = {
4
+ url: json_ui_garage_url(path: 'forms/generic_post'),
5
+ method: 'post',
6
+ padding: { top: 12, left: 20, right: 20, bottom: 12 }
7
+ }
8
+
9
+ page = json_ui_page json
10
+ render "#{@path_prefix}/nav_menu", json: json, page: page
11
+
12
+ page.form options.merge(childViews: ->(form) do
13
+ form.label text: 'Demonstrates the use Floating Action Button on a form with footer'
14
+ 30.times do |i|
15
+ form.fields_text name: "user[field#{i}]", width: 'matchParent', label: "Field#{i}"
16
+ end
17
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
+ form.fab icon: 'send', onClick: ->(action) { action.forms_submit }
19
+ end)
@@ -1,3 +1,3 @@
1
- json_ui_response json do |action|
2
- render "#{@path_prefix}/forms/alert_post_data", action: action
3
- end
1
+ json_ui_response json do |action|
2
+ render "#{@path_prefix}/forms/alert_post_data", action: action
3
+ end
@@ -1,27 +1,27 @@
1
- json.title 'Forms'
2
-
3
- data = params[:user] || {}
4
-
5
- page = json_ui_page json
6
- render "#{@path_prefix}/nav_menu", json: json, page: page
7
-
8
- page.form url: json_ui_garage_url(path: 'forms/get_request'), method: 'get', padding: glib_json_padding_body, childViews: ->(form) do
9
- # TODO: Potential improvement:
10
- # Use `reload` behaviour instead of `open` (i.e. don't keep adding URL to history).
11
- # Probably introduce a flag to panels_form so developer can enable/disable this behaviour.
12
- form.h3 text: "Hello #{ data[:name] }"
13
- form.spacer height: 6
14
- form.label text: 'On the web, upon submit, URL needs to change on the browser'
15
- form.spacer height: 10
16
- form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
17
-
18
- # form.panels_split width: 'matchParent', rightViews: ->(split) do
19
- # split.button text: 'Submit', onClick: ->(action) { action.forms_submit }
20
- # end
21
-
22
- form.panels_split width: 'matchParent', content: ->(split) do
23
- split.right childViews: ->(right) do
24
- right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
25
- end
26
- end
27
- end
1
+ json.title 'Forms'
2
+
3
+ data = params[:user] || {}
4
+
5
+ page = json_ui_page json
6
+ render "#{@path_prefix}/nav_menu", json: json, page: page
7
+
8
+ page.form url: json_ui_garage_url(path: 'forms/get_request'), method: 'get', padding: glib_json_padding_body, childViews: ->(form) do
9
+ # TODO: Potential improvement:
10
+ # Use `reload` behaviour instead of `open` (i.e. don't keep adding URL to history).
11
+ # Probably introduce a flag to panels_form so developer can enable/disable this behaviour.
12
+ form.h3 text: "Hello #{ data[:name] }"
13
+ form.spacer height: 6
14
+ form.label text: 'On the web, upon submit, URL needs to change on the browser'
15
+ form.spacer height: 10
16
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
17
+
18
+ # form.panels_split width: 'matchParent', rightViews: ->(split) do
19
+ # split.button text: 'Submit', onClick: ->(action) { action.forms_submit }
20
+ # end
21
+
22
+ form.panels_split width: 'matchParent', content: ->(split) do
23
+ split.right childViews: ->(right) do
24
+ right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
25
+ end
26
+ end
27
+ end
@@ -1,113 +1,113 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
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: 'Submission Logics'
10
- end
11
-
12
- section.rows builder: ->(template) do
13
- template.thumbnail title: 'Basic Logic', onClick: ->(action) do
14
- action.windows_open url: json_ui_garage_url(path: 'forms/basic')
15
- end
16
- template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
17
- action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
18
- end
19
- template.thumbnail title: 'Submission Indicator', onClick: ->(action) do
20
- action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
21
- end
22
- template.thumbnail title: 'GET Request', onClick: ->(action) do
23
- action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
24
- end
25
-
26
- end
27
- end, ->(section) do
28
- section.header padding: glib_json_padding_list, childViews: ->(header) do
29
- header.h2 text: 'Form Logics'
30
- end
31
-
32
- section.rows builder: ->(template) do
33
- template.thumbnail title: 'Text Validation', onClick: ->(action) do
34
- action.windows_open url: json_ui_garage_url(path: 'forms/text_validation')
35
- end
36
- template.thumbnail title: 'Show/Hide', onClick: ->(action) do
37
- action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
38
- end
39
- template.thumbnail title: 'Conditional Value', onClick: ->(action) do
40
- action.windows_open url: json_ui_garage_url(path: 'forms/conditional_value')
41
- end
42
-
43
- end
44
- end, ->(section) do
45
- section.header padding: glib_json_padding_list, childViews: ->(header) do
46
- header.h2 text: 'Form Fields'
47
- end
48
-
49
- section.rows builder: ->(template) do
50
- template.thumbnail title: 'Pickers', onClick: ->(action) do
51
- action.windows_open url: json_ui_garage_url(path: 'forms/pickers')
52
- end
53
- template.thumbnail title: 'Select Fields', onClick: ->(action) do
54
- action.windows_open url: json_ui_garage_url(path: 'forms/selects')
55
- end
56
- template.thumbnail title: 'File Upload', onClick: ->(action) do
57
- action.windows_open url: json_ui_garage_url(path: 'forms/file_upload')
58
- end
59
- template.thumbnail title: 'Floating Submit', onClick: ->(action) do
60
- action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
61
- end
62
- template.thumbnail title: 'Ratings', onClick: ->(action) do
63
- action.windows_open url: json_ui_garage_url(path: 'forms/ratings')
64
- end
65
- template.thumbnail title: 'Timers', onClick: ->(action) do
66
- action.windows_open url: json_ui_garage_url(path: 'forms/timers')
67
- end
68
- end
69
- end, ->(section) do
70
- section.header padding: glib_json_padding_list, childViews: ->(header) do
71
- header.h2 text: 'Styling'
72
- end
73
- section.rows builder: ->(template) do
74
- template.thumbnail title: 'Text Boxes', onClick: ->(action) do
75
- action.windows_open url: json_ui_garage_url(path: 'forms/styled_boxes')
76
- end
77
- end
78
- end, ->(section) do
79
- section.header padding: glib_json_padding_list, childViews: ->(header) do
80
- header.h2 text: 'Web Only'
81
- end
82
-
83
- section.rows builder: ->(template) do
84
- template.thumbnail title: 'Rich Text Editor', onClick: ->(action) do
85
- action.windows_open url: json_ui_garage_url(path: 'forms/rich_text')
86
- end
87
- end
88
-
89
- section.rows builder: ->(template) do
90
- template.thumbnail title: 'New Rich Text Editor', onClick: ->(action) do
91
- action.windows_open url: json_ui_garage_url(path: 'forms/new_rich_text')
92
- end
93
-
94
- end
95
- end, ->(section) do
96
- section.header padding: glib_json_padding_list, childViews: ->(header) do
97
- header.h2 text: 'Experimental (not required yet)'
98
- end
99
-
100
- section.rows builder: ->(template) do
101
- template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
102
- action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_group')
103
- end
104
- template.thumbnail title: 'Dynamic Select', onClick: ->(action) do
105
- action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_select')
106
- end
107
- template.thumbnail title: 'Checkboxes', onClick: ->(action) do
108
- action.windows_open url: json_ui_garage_url(path: 'forms/checkboxes')
109
- end
110
-
111
- end
112
- end
113
- ]
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
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: 'Submission Logics'
10
+ end
11
+
12
+ section.rows builder: ->(template) do
13
+ template.thumbnail title: 'Basic Logic', onClick: ->(action) do
14
+ action.windows_open url: json_ui_garage_url(path: 'forms/basic')
15
+ end
16
+ template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
17
+ action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
18
+ end
19
+ template.thumbnail title: 'Submission Indicator', onClick: ->(action) do
20
+ action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
21
+ end
22
+ template.thumbnail title: 'GET Request', onClick: ->(action) do
23
+ action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
24
+ end
25
+
26
+ end
27
+ end, ->(section) do
28
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
29
+ header.h2 text: 'Form Logics'
30
+ end
31
+
32
+ section.rows builder: ->(template) do
33
+ template.thumbnail title: 'Text Validation', onClick: ->(action) do
34
+ action.windows_open url: json_ui_garage_url(path: 'forms/text_validation')
35
+ end
36
+ template.thumbnail title: 'Show/Hide', onClick: ->(action) do
37
+ action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
38
+ end
39
+ template.thumbnail title: 'Conditional Value', onClick: ->(action) do
40
+ action.windows_open url: json_ui_garage_url(path: 'forms/conditional_value')
41
+ end
42
+
43
+ end
44
+ end, ->(section) do
45
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
46
+ header.h2 text: 'Form Fields'
47
+ end
48
+
49
+ section.rows builder: ->(template) do
50
+ template.thumbnail title: 'Pickers', onClick: ->(action) do
51
+ action.windows_open url: json_ui_garage_url(path: 'forms/pickers')
52
+ end
53
+ template.thumbnail title: 'Select Fields', onClick: ->(action) do
54
+ action.windows_open url: json_ui_garage_url(path: 'forms/selects')
55
+ end
56
+ template.thumbnail title: 'File Upload', onClick: ->(action) do
57
+ action.windows_open url: json_ui_garage_url(path: 'forms/file_upload')
58
+ end
59
+ template.thumbnail title: 'Floating Submit', onClick: ->(action) do
60
+ action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
61
+ end
62
+ template.thumbnail title: 'Ratings', onClick: ->(action) do
63
+ action.windows_open url: json_ui_garage_url(path: 'forms/ratings')
64
+ end
65
+ template.thumbnail title: 'Timers', onClick: ->(action) do
66
+ action.windows_open url: json_ui_garage_url(path: 'forms/timers')
67
+ end
68
+ end
69
+ end, ->(section) do
70
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
71
+ header.h2 text: 'Styling'
72
+ end
73
+ section.rows builder: ->(template) do
74
+ template.thumbnail title: 'Text Boxes', onClick: ->(action) do
75
+ action.windows_open url: json_ui_garage_url(path: 'forms/styled_boxes')
76
+ end
77
+ end
78
+ end, ->(section) do
79
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
80
+ header.h2 text: 'Web Only'
81
+ end
82
+
83
+ section.rows builder: ->(template) do
84
+ template.thumbnail title: 'Rich Text Editor', onClick: ->(action) do
85
+ action.windows_open url: json_ui_garage_url(path: 'forms/rich_text')
86
+ end
87
+ end
88
+
89
+ section.rows builder: ->(template) do
90
+ template.thumbnail title: 'New Rich Text Editor', onClick: ->(action) do
91
+ action.windows_open url: json_ui_garage_url(path: 'forms/new_rich_text')
92
+ end
93
+
94
+ end
95
+ end, ->(section) do
96
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
97
+ header.h2 text: 'Experimental (not required yet)'
98
+ end
99
+
100
+ section.rows builder: ->(template) do
101
+ template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
102
+ action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_group')
103
+ end
104
+ template.thumbnail title: 'Dynamic Select', onClick: ->(action) do
105
+ action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_select')
106
+ end
107
+ template.thumbnail title: 'Checkboxes', onClick: ->(action) do
108
+ action.windows_open url: json_ui_garage_url(path: 'forms/checkboxes')
109
+ end
110
+
111
+ end
112
+ end
113
+ ]
@@ -1,39 +1,39 @@
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 url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
7
- form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
8
-
9
- # images = [
10
- # {
11
- # value: "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4",
12
- # fileUrl: "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
13
- # }
14
- # ]
15
- # form.fields_richText name: 'user[bio]', width: 'matchParent', label: 'Content', images: images, value: '<p>Test {{image1}}</p>'
16
-
17
- json.child! do
18
- json.view 'fields/newRichText-v1'
19
- json.width 'matchParent'
20
- json.label 'Content'
21
- json.name 'user[bio]'
22
- json.value '<p>Test {{image1}}</p>'
23
-
24
- json.images do
25
- json.child! do
26
- json.value "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4"
27
- # json.fileTitle "hita i hanom hg.jpg"
28
- json.fileUrl "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
29
- end
30
- end
31
-
32
- json.imageUploader do
33
- json.accepts(fileType: "image/*", maxFileSize: 5000)
34
- json.directUploadUrl rails_direct_uploads_url
35
- end
36
- end
37
-
38
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
39
- 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 url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
7
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
8
+
9
+ # images = [
10
+ # {
11
+ # value: "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4",
12
+ # fileUrl: "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
13
+ # }
14
+ # ]
15
+ # form.fields_richText name: 'user[bio]', width: 'matchParent', label: 'Content', images: images, value: '<p>Test {{image1}}</p>'
16
+
17
+ json.child! do
18
+ json.view 'fields/newRichText-v1'
19
+ json.width 'matchParent'
20
+ json.label 'Content'
21
+ json.name 'user[bio]'
22
+ json.value '<p>Test {{image1}}</p>'
23
+
24
+ json.images do
25
+ json.child! do
26
+ json.value "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4"
27
+ # json.fileTitle "hita i hanom hg.jpg"
28
+ json.fileUrl "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
29
+ end
30
+ end
31
+
32
+ json.imageUploader do
33
+ json.accepts(fileType: "image/*", maxFileSize: 5000)
34
+ json.directUploadUrl rails_direct_uploads_url
35
+ end
36
+ end
37
+
38
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
39
+ 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
- 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