glib-web 0.6.1 → 0.6.2

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 (194) 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 +262 -262
  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 +154 -154
  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/crypt.rb +0 -0
  174. data/lib/glib/dynamic_text/config.rb +21 -21
  175. data/lib/glib/dynamic_text.rb +0 -0
  176. data/lib/glib/engine.rb +7 -7
  177. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  178. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  179. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  180. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  181. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  182. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  183. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  184. data/lib/glib/json_crawler/coverage.rb +20 -20
  185. data/lib/glib/json_crawler/http.rb +120 -120
  186. data/lib/glib/json_crawler/router.rb +95 -90
  187. data/lib/glib/json_crawler.rb +11 -11
  188. data/lib/glib/mailer_tester.rb +36 -36
  189. data/lib/glib/test_helpers.rb +52 -52
  190. data/lib/glib/value.rb +7 -7
  191. data/lib/glib/version.rb +5 -5
  192. data/lib/glib-web.rb +9 -9
  193. data/lib/tasks/db.rake +95 -95
  194. metadata +1 -1
@@ -1,33 +1,33 @@
1
-
2
- section.header padding: glib_json_padding_list, childViews: ->(header) do
3
- header.h3 text: 'Snackbars'
4
- end
5
-
6
- section.rows builder: ->(template) do
7
- template.thumbnail title: 'snackbars/alert', onClick: ->(action) do
8
- action.snackbars_alert message: 'This is an alert snackbar', onClose: ->(action) do
9
- action.dialogs_alert message: 'Closed'
10
- end
11
- end
12
-
13
- # template.thumbnail title: 'snackbars/alert with markdown', onClick: ->(action) do
14
- # action.snackbars_alert message: 'This is an *alert* snackbar', message_format: 'markdown'
15
- # end
16
-
17
- template.thumbnail title: 'snackbars/select', onClick: ->(action) do
18
- action.snackbars_select message: 'Select one', buttons: ->(menu) do
19
- menu.button text: 'Option1', onClick: ->(subaction) do
20
- subaction.dialogs_alert message: 'Option 1'
21
- end
22
- menu.button text: 'Option2', onClick: ->(subaction) do
23
- subaction.dialogs_alert message: 'Option 2'
24
- end
25
- menu.button text: 'Cancel'
26
- end
27
- end
28
-
29
- template.thumbnail title: 'snackbars with styling', onClick: ->(action) do
30
- action.snackbars_alert message: 'This is a styled snackbar', verticalPosition: 'top', styleClass: 'success'
31
- end
32
-
33
- end
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'Snackbars'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'snackbars/alert', onClick: ->(action) do
8
+ action.snackbars_alert message: 'This is an alert snackbar', onClose: ->(action) do
9
+ action.dialogs_alert message: 'Closed'
10
+ end
11
+ end
12
+
13
+ # template.thumbnail title: 'snackbars/alert with markdown', onClick: ->(action) do
14
+ # action.snackbars_alert message: 'This is an *alert* snackbar', message_format: 'markdown'
15
+ # end
16
+
17
+ template.thumbnail title: 'snackbars/select', onClick: ->(action) do
18
+ action.snackbars_select message: 'Select one', buttons: ->(menu) do
19
+ menu.button text: 'Option1', onClick: ->(subaction) do
20
+ subaction.dialogs_alert message: 'Option 1'
21
+ end
22
+ menu.button text: 'Option2', onClick: ->(subaction) do
23
+ subaction.dialogs_alert message: 'Option 2'
24
+ end
25
+ menu.button text: 'Cancel'
26
+ end
27
+ end
28
+
29
+ template.thumbnail title: 'snackbars with styling', onClick: ->(action) do
30
+ action.snackbars_alert message: 'This is a styled snackbar', verticalPosition: 'top', styleClass: 'success'
31
+ end
32
+
33
+ end
@@ -1,24 +1,24 @@
1
-
2
- section.header padding: glib_json_padding_list, childViews: ->(header) do
3
- header.h3 text: 'Timeouts', id: 'scroll_anchor'
4
- end
5
-
6
- section.rows builder: ->(template) do
7
- template.thumbnail title: 'timeouts/set', onClick: ->(action) do
8
- action.timeouts_set interval: 1000, onTimeout: ->(subaction) do
9
- subaction.snackbars_alert message: 'Timeout elapsed'
10
- end
11
- end
12
-
13
- template.thumbnail title: 'timeouts/set with repeat', onClick: ->(action) do
14
- action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
15
- subaction.snackbars_alert message: 'Timeout elapsed every 1 second'
16
- end
17
- end
18
- end
19
-
20
- # section.rows builder: ->(template) do
21
- # template.thumbnail title: 'timeouts/clear', onClick: ->(action) do
22
- # action.windows_open url: json_ui_garage_url(path: 'home/blank')
23
- # end
24
- # end
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'Timeouts', id: 'scroll_anchor'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'timeouts/set', onClick: ->(action) do
8
+ action.timeouts_set interval: 1000, onTimeout: ->(subaction) do
9
+ subaction.snackbars_alert message: 'Timeout elapsed'
10
+ end
11
+ end
12
+
13
+ template.thumbnail title: 'timeouts/set with repeat', onClick: ->(action) do
14
+ action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
15
+ subaction.snackbars_alert message: 'Timeout elapsed every 1 second'
16
+ end
17
+ end
18
+ end
19
+
20
+ # section.rows builder: ->(template) do
21
+ # template.thumbnail title: 'timeouts/clear', onClick: ->(action) do
22
+ # action.windows_open url: json_ui_garage_url(path: 'home/blank')
23
+ # end
24
+ # end
@@ -1,24 +1,24 @@
1
-
2
- section.header padding: glib_json_padding_list, childViews: ->(header) do
3
- header.h3 text: 'Windows'
4
- end
5
-
6
- section.rows builder: ->(template) do
7
- template.thumbnail title: 'windows/close', onClick: ->(action) do
8
- action.windows_close onClose: ->(subaction) do
9
- subaction.dialogs_alert message: 'Previous window closed'
10
- end
11
- end
12
- end
13
-
14
- section.rows builder: ->(template) do
15
- template.thumbnail title: 'windows/open', onClick: ->(action) do
16
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
17
- end
18
- end
19
-
20
- section.rows builder: ->(template) do
21
- template.thumbnail title: 'windows/openWeb', onClick: ->(action) do
22
- action.windows_openWeb url: 'http://www.google.com'
23
- end
24
- end
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'Windows'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'windows/close', onClick: ->(action) do
8
+ action.windows_close onClose: ->(subaction) do
9
+ subaction.dialogs_alert message: 'Previous window closed'
10
+ end
11
+ end
12
+ end
13
+
14
+ section.rows builder: ->(template) do
15
+ template.thumbnail title: 'windows/open', onClick: ->(action) do
16
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
17
+ end
18
+ end
19
+
20
+ section.rows builder: ->(template) do
21
+ template.thumbnail title: 'windows/openWeb', onClick: ->(action) do
22
+ action.windows_openWeb url: 'http://www.google.com'
23
+ end
24
+ end
@@ -1,6 +1,6 @@
1
- facebook_graph = Koala::Facebook::API.new(params[:credentials][:token])
2
- profile = facebook_graph.get_object('me')
3
-
4
- json_ui_response json do |action|
5
- action.dialogs_alert message: profile
6
- end
1
+ facebook_graph = Koala::Facebook::API.new(params[:credentials][:token])
2
+ profile = facebook_graph.get_object('me')
3
+
4
+ json_ui_response json do |action|
5
+ action.dialogs_alert message: profile
6
+ end
@@ -1,24 +1,24 @@
1
- json.title 'Actions'
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
- render "#{@path_prefix}/actions/reload", section: section
9
- end, ->(section) do
10
- render "#{@path_prefix}/actions/panels", section: section
11
- end, ->(section) do
12
- render "#{@path_prefix}/actions/dialogs", section: section
13
- end, ->(section) do
14
- render "#{@path_prefix}/actions/snackbars", section: section
15
- end, ->(section) do
16
- render "#{@path_prefix}/actions/sheets", section: section
17
- end, ->(section) do
18
- render "#{@path_prefix}/actions/windows", section: section
19
- end, ->(section) do
20
- render "#{@path_prefix}/actions/timeouts", section: section
21
- end, ->(section) do
22
- render "#{@path_prefix}/actions/http", section: section
23
- end
24
- ]
1
+ json.title 'Actions'
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
+ render "#{@path_prefix}/actions/reload", section: section
9
+ end, ->(section) do
10
+ render "#{@path_prefix}/actions/panels", section: section
11
+ end, ->(section) do
12
+ render "#{@path_prefix}/actions/dialogs", section: section
13
+ end, ->(section) do
14
+ render "#{@path_prefix}/actions/snackbars", section: section
15
+ end, ->(section) do
16
+ render "#{@path_prefix}/actions/sheets", section: section
17
+ end, ->(section) do
18
+ render "#{@path_prefix}/actions/windows", section: section
19
+ end, ->(section) do
20
+ render "#{@path_prefix}/actions/timeouts", section: section
21
+ end, ->(section) do
22
+ render "#{@path_prefix}/actions/http", section: section
23
+ end
24
+ ]
@@ -1,10 +1,10 @@
1
- info = "Method: #{request.method}\nForm Data:\n{\n"
2
- params.require(:user).each do |k, v|
3
- value = v.is_a?(String) ? '"' + v + '"' : v
4
- info += " #{k} => #{value}\n"
5
- end
6
- info += '}'
7
-
8
- action.dialogs_alert message: info, onClose: ->(action) do
9
- action.windows_refreshState
10
- end
1
+ info = "Method: #{request.method}\nForm Data:\n{\n"
2
+ params.require(:user).each do |k, v|
3
+ value = v.is_a?(String) ? '"' + v + '"' : v
4
+ info += " #{k} => #{value}\n"
5
+ end
6
+ info += '}'
7
+
8
+ action.dialogs_alert message: info, onClose: ->(action) do
9
+ action.windows_refreshState
10
+ end
@@ -1,21 +1,21 @@
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: glib_json_padding_body, childViews: ->(form) do
7
- form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
8
- form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
9
-
10
- form.panels_split width: 'matchParent', content: ->(split) do
11
- split.left childViews: ->(left) do
12
- if params[:mode] == 'dialog'
13
- left.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
14
- end
15
- end
16
- split.right childViews: ->(right) do
17
- # right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
- right.fields_submit text: 'Submit'
19
- end
20
- end
21
- 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: glib_json_padding_body, childViews: ->(form) do
7
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
8
+ form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
9
+
10
+ form.panels_split width: 'matchParent', content: ->(split) do
11
+ split.left childViews: ->(left) do
12
+ if params[:mode] == 'dialog'
13
+ left.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
14
+ end
15
+ end
16
+ split.right childViews: ->(right) do
17
+ # right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
+ right.fields_submit text: 'Submit'
19
+ end
20
+ end
21
+ end
@@ -1,8 +1,8 @@
1
- name, _ = params.require(:user).values_at(:name)
2
- json_ui_response json do |action|
3
- if !name.present?
4
- action.dialogs_alert message: 'Please enter name'
5
- else
6
- render "#{@path_prefix}/forms/alert_post_data", action: action
7
- end
8
- end
1
+ name, _ = params.require(:user).values_at(:name)
2
+ json_ui_response json do |action|
3
+ if !name.present?
4
+ action.dialogs_alert message: 'Please enter name'
5
+ else
6
+ render "#{@path_prefix}/forms/alert_post_data", action: action
7
+ end
8
+ end
@@ -1,27 +1,27 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll childViews: ->(scroll) do
7
- scroll.panels_form \
8
- url: json_ui_garage_url(path: 'forms/generic_post'),
9
- method: 'post',
10
- padding: glib_json_padding_body,
11
- childViews: ->(form) do
12
- form.spacer height: 20
13
- form.h2 text: 'Check Group'
14
- form.fields_checkGroup \
15
- name: 'user[skills][]',
16
- uncheckValue: 1,
17
- childViews: ->(group) do
18
- group.fields_check checkValue: 2, label: 'Game Development'
19
- group.fields_check checkValue: 3, label: 'Web Development'
20
- group.fields_check checkValue: 4, label: 'Mobile Development'
21
- end
22
-
23
- form.spacer height: 20
24
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
25
- end
26
-
27
- 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.scroll childViews: ->(scroll) do
7
+ scroll.panels_form \
8
+ url: json_ui_garage_url(path: 'forms/generic_post'),
9
+ method: 'post',
10
+ padding: glib_json_padding_body,
11
+ childViews: ->(form) do
12
+ form.spacer height: 20
13
+ form.h2 text: 'Check Group'
14
+ form.fields_checkGroup \
15
+ name: 'user[skills][]',
16
+ uncheckValue: 1,
17
+ childViews: ->(group) do
18
+ group.fields_check checkValue: 2, label: 'Game Development'
19
+ group.fields_check checkValue: 3, label: 'Web Development'
20
+ group.fields_check checkValue: 4, label: 'Mobile Development'
21
+ end
22
+
23
+ form.spacer height: 20
24
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
25
+ end
26
+
27
+ end
@@ -1,38 +1,38 @@
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
- form.spacer height: 20
8
- form.h2 text: 'Date'
9
- form.label text: 'End date will be adjusted automatically when start date changes'
10
- form.spacer height: 6
11
- form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
12
- form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
13
- "+": [
14
- {
15
- "var": 'user[date_start]'
16
- },
17
- 24 * 3600
18
- ]
19
- }
20
-
21
- form.spacer height: 20
22
- form.h2 text: 'Date/Time'
23
- form.label text: 'End date/time will be adjusted automatically when start date/time changes'
24
- form.spacer height: 6
25
- form.fields_datetime name: 'user[datetime_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01T01:00'
26
- form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
27
- "+": [
28
- {
29
- "var": 'user[datetime_start]'
30
- },
31
- 3600
32
- ]
33
- }
34
-
35
- form.spacer height: 20
36
- form.fields_submit text: 'Submit'
37
- form.spacer height: 40
38
- 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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
+ form.spacer height: 20
8
+ form.h2 text: 'Date'
9
+ form.label text: 'End date will be adjusted automatically when start date changes'
10
+ form.spacer height: 6
11
+ form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
12
+ form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
13
+ "+": [
14
+ {
15
+ "var": 'user[date_start]'
16
+ },
17
+ 24 * 3600
18
+ ]
19
+ }
20
+
21
+ form.spacer height: 20
22
+ form.h2 text: 'Date/Time'
23
+ form.label text: 'End date/time will be adjusted automatically when start date/time changes'
24
+ form.spacer height: 6
25
+ form.fields_datetime name: 'user[datetime_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01T01:00'
26
+ form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
27
+ "+": [
28
+ {
29
+ "var": 'user[datetime_start]'
30
+ },
31
+ 3600
32
+ ]
33
+ }
34
+
35
+ form.spacer height: 20
36
+ form.fields_submit text: 'Submit'
37
+ form.spacer height: 40
38
+ end
@@ -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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
- form.h2 text: 'Dynamic Group'
8
- form.spacer height: 6
9
-
10
- properties = [
11
- [
12
- { name: 'question', value: 'Punctuality' },
13
- { name: 'type', value: 'rating' },
14
- ],
15
- [
16
- { name: 'question', value: 'Quality of work' },
17
- { name: 'type', value: 'rating' },
18
- { name: 'enabled', value: '1', styleClasses: ['success'] },
19
- ],
20
- [
21
- { name: 'question', value: 'Satisfied?' },
22
- { name: 'type', value: 'yes_no' },
23
- ]
24
- ]
25
- form.fields_dynamicGroup width: 'matchParent', name: 'user[evaluation]', groupFieldProperties: properties, titlePrefix: 'Entry', content: ->(group) do
26
- group.template padding: { left: 32 }, childViews: ->(template) do
27
- template.spacer height: 10
28
- template.fields_text width: 'matchParent', name: 'question', label: 'Question', placeholder: 'Question'
29
- options = [ :rating, :yes_no ]
30
- template.fields_select width: 'matchParent', name: 'type', label: 'Answer Type', placeholder: 'Answer Type', options: options.map { |o| { text: o.to_s.humanize, value: o } }
31
- template.fields_check width: 'matchParent', name: 'enabled', label: 'Enable', checkValue: '1'
32
-
33
- template.spacer height: 14
34
- end
35
- end
36
-
37
- form.spacer height: 20
38
- form.fields_submit text: '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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
+ form.h2 text: 'Dynamic Group'
8
+ form.spacer height: 6
9
+
10
+ properties = [
11
+ [
12
+ { name: 'question', value: 'Punctuality' },
13
+ { name: 'type', value: 'rating' },
14
+ ],
15
+ [
16
+ { name: 'question', value: 'Quality of work' },
17
+ { name: 'type', value: 'rating' },
18
+ { name: 'enabled', value: '1', styleClasses: ['success'] },
19
+ ],
20
+ [
21
+ { name: 'question', value: 'Satisfied?' },
22
+ { name: 'type', value: 'yes_no' },
23
+ ]
24
+ ]
25
+ form.fields_dynamicGroup width: 'matchParent', name: 'user[evaluation]', groupFieldProperties: properties, titlePrefix: 'Entry', content: ->(group) do
26
+ group.template padding: { left: 32 }, childViews: ->(template) do
27
+ template.spacer height: 10
28
+ template.fields_text width: 'matchParent', name: 'question', label: 'Question', placeholder: 'Question'
29
+ options = [ :rating, :yes_no ]
30
+ template.fields_select width: 'matchParent', name: 'type', label: 'Answer Type', placeholder: 'Answer Type', options: options.map { |o| { text: o.to_s.humanize, value: o } }
31
+ template.fields_check width: 'matchParent', name: 'enabled', label: 'Enable', checkValue: '1'
32
+
33
+ template.spacer height: 14
34
+ end
35
+ end
36
+
37
+ form.spacer height: 20
38
+ form.fields_submit text: 'Submit'
39
+ end
@@ -1,24 +1,24 @@
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
- form.h2 text: 'Dynamic Select'
8
- form.spacer height: 6
9
- form.label text: 'Dynamically loads options from the server. Useful for a huge list (e.g. 1000+ items)'
10
- form.spacer height: 14
11
-
12
- form.fields_dynamicSelect name: 'user[primary_language]', width: 'matchParent', label: 'Primary Language',
13
- selectedOptions: [ { value: 'id3', text: 'Item 3' } ],
14
- url: json_ui_garage_url(path: 'forms/dynamic_select_data')
15
-
16
- form.spacer height: 14
17
- form.fields_dynamicSelect name: 'user[preferred_languages][]', width: 'matchParent', label: 'Preferred Languages',
18
- selectedOptions: [ { value: 'id3', text: 'Item 3' }, { value: 'id5', text: 'Item 5' } ],
19
- url: json_ui_garage_url(path: 'forms/dynamic_select_data'),
20
- multiple: true
21
-
22
- form.spacer height: 14
23
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
24
- 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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
+ form.h2 text: 'Dynamic Select'
8
+ form.spacer height: 6
9
+ form.label text: 'Dynamically loads options from the server. Useful for a huge list (e.g. 1000+ items)'
10
+ form.spacer height: 14
11
+
12
+ form.fields_dynamicSelect name: 'user[primary_language]', width: 'matchParent', label: 'Primary Language',
13
+ selectedOptions: [ { value: 'id3', text: 'Item 3' } ],
14
+ url: json_ui_garage_url(path: 'forms/dynamic_select_data')
15
+
16
+ form.spacer height: 14
17
+ form.fields_dynamicSelect name: 'user[preferred_languages][]', width: 'matchParent', label: 'Preferred Languages',
18
+ selectedOptions: [ { value: 'id3', text: 'Item 3' }, { value: 'id5', text: 'Item 5' } ],
19
+ url: json_ui_garage_url(path: 'forms/dynamic_select_data'),
20
+ multiple: true
21
+
22
+ form.spacer height: 14
23
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
24
+ end
@@ -1,38 +1,38 @@
1
-
2
- sleep 0.5
3
-
4
- page = params[:page].to_i
5
- if page < 2
6
- json.nextPageUrl json_ui_garage_url(path: 'forms/dynamic_select_data', page: page + 1)
7
- end
8
-
9
- # json.rows do
10
-
11
- # count_per_page = 20
12
- # count_per_page.times do |i|
13
- # json.child! do
14
- # index = page * count_per_page + i
15
- # json.template 'thumbnail'
16
- # json.title "City #{index} (#{params[:q]})"
17
- # json.subtitle "State #{index}"
18
- # json.subsubtitle "Country #{index}"
19
- # json.value "id#{index}"
20
- # json.text "Item #{index}"
21
- # end
22
- # end
23
- # end
24
-
25
- section = json_ui_section json
26
- section.rows builder: ->(row) do
27
- count_per_page = 20
28
- count_per_page.times do |i|
29
- index = page * count_per_page + i
30
- row.custom title: "City #{index} (#{params[:q]})",
31
- subtitle: "State #{index}",
32
- subsubtitle: "Country #{index}",
33
- extra: {
34
- value: "id#{index}",
35
- text: "Item #{index}"
36
- }
37
- end
38
- end
1
+
2
+ sleep 0.5
3
+
4
+ page = params[:page].to_i
5
+ if page < 2
6
+ json.nextPageUrl json_ui_garage_url(path: 'forms/dynamic_select_data', page: page + 1)
7
+ end
8
+
9
+ # json.rows do
10
+
11
+ # count_per_page = 20
12
+ # count_per_page.times do |i|
13
+ # json.child! do
14
+ # index = page * count_per_page + i
15
+ # json.template 'thumbnail'
16
+ # json.title "City #{index} (#{params[:q]})"
17
+ # json.subtitle "State #{index}"
18
+ # json.subsubtitle "Country #{index}"
19
+ # json.value "id#{index}"
20
+ # json.text "Item #{index}"
21
+ # end
22
+ # end
23
+ # end
24
+
25
+ section = json_ui_section json
26
+ section.rows builder: ->(row) do
27
+ count_per_page = 20
28
+ count_per_page.times do |i|
29
+ index = page * count_per_page + i
30
+ row.custom title: "City #{index} (#{params[:q]})",
31
+ subtitle: "State #{index}",
32
+ subsubtitle: "Country #{index}",
33
+ extra: {
34
+ value: "id#{index}",
35
+ text: "Item #{index}"
36
+ }
37
+ end
38
+ end