glib-web 0.5.77 → 0.5.78

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 (190) 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 -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 -0
  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 +94 -94
  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/split_builders.rb +32 -32
  36. data/app/helpers/glib/json_ui/styling_helper.rb +55 -55
  37. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  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 +291 -291
  41. data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -0
  42. data/app/helpers/glib/json_ui/view_builder/panels.rb +256 -256
  43. data/app/helpers/glib/json_ui/view_builder.rb +240 -240
  44. data/app/helpers/glib/urls_helper.rb +12 -12
  45. data/app/models/concerns/glib/soft_deletable.rb +68 -68
  46. data/app/models/glib/active_storage/attachment.rb +9 -9
  47. data/app/models/glib/active_storage/blob.rb +9 -9
  48. data/app/models/glib/application_record.rb +18 -18
  49. data/app/models/glib/dynamic_text_record.rb +9 -9
  50. data/app/models/glib/text.rb +95 -95
  51. data/app/policies/glib/application_policy.rb +166 -166
  52. data/app/validators/email_typo_validator.rb +38 -38
  53. data/app/validators/email_validator.rb +7 -7
  54. data/app/validators/url_validator.rb +20 -20
  55. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  56. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  57. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  58. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  59. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  60. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  61. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  62. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  64. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  65. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  66. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +10 -7
  67. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  68. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  69. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  70. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  71. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  72. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
  73. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  74. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +37 -37
  75. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  76. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  77. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  78. data/app/views/json_ui/garage/forms/index.json.jbuilder +116 -113
  79. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
  80. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  81. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  82. data/app/views/json_ui/garage/forms/payments.json.jbuilder +34 -0
  83. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
  84. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  85. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  86. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -91
  87. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +150 -150
  88. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  89. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  90. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  91. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  92. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  93. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +65 -81
  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 +28 -28
  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/chat_ui.json.jbuilder +94 -94
  102. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  103. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  104. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  105. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  106. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  107. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  108. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  109. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  110. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  111. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  112. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  113. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  114. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  115. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  116. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  117. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  118. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  119. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  120. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  121. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  122. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  123. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +38 -38
  124. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  125. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  126. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  127. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  128. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  129. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  130. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  131. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  132. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  133. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  134. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  135. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  136. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  137. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  138. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  139. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  140. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  141. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  142. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  143. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  144. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  145. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  146. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  147. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  148. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  149. data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -0
  150. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  151. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  152. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  153. data/app/views/json_ui/garage/views/index.json.jbuilder +78 -67
  154. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  155. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  156. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  157. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  158. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  159. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  160. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  161. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  162. data/config/routes.rb +7 -7
  163. data/lib/generators/glib/install_generator.rb +24 -24
  164. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  165. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  166. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  167. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  168. data/lib/generators/templates/database.yml +107 -107
  169. data/lib/generators/templates/dynamic_text.rb +2 -2
  170. data/lib/glib/crypt/utils.rb +26 -26
  171. data/lib/glib/dynamic_text/config.rb +21 -21
  172. data/lib/glib/engine.rb +7 -7
  173. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  174. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  175. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  176. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  177. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  178. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  179. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  180. data/lib/glib/json_crawler/coverage.rb +20 -20
  181. data/lib/glib/json_crawler/http.rb +120 -120
  182. data/lib/glib/json_crawler/router.rb +90 -90
  183. data/lib/glib/json_crawler.rb +11 -11
  184. data/lib/glib/mailer_tester.rb +36 -36
  185. data/lib/glib/test_helpers.rb +52 -52
  186. data/lib/glib/value.rb +7 -7
  187. data/lib/glib/version.rb +5 -5
  188. data/lib/glib-web.rb +9 -9
  189. data/lib/tasks/db.rake +95 -95
  190. metadata +6 -3
@@ -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,7 +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
- action.dialogs_alert message: info
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,43 +1,43 @@
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
-
8
- scroll.panels_form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
9
- form.spacer height: 20
10
- form.h2 text: 'Check Group'
11
- form.fields_checkGroup name: 'user[skills][]', uncheckValue: 1, childViews: ->(group) do
12
- form.fields_check value: 2, label: 'Game Development'
13
- form.fields_check value: 3, label: 'Web Development'
14
- form.fields_check value: 4, label: 'Mobile Development'
15
- end
16
-
17
- form.spacer height: 20
18
- form.h2 text: 'Rating'
19
- form.spacer height: 6
20
- form.fields_radioGroup name: 'user[rating1][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', childViews: ->(panel) do
21
- panel.panels_horizontal childViews: ->(panel) do
22
- panel.fields_radio value: 1
23
- panel.fields_radio value: 2
24
- panel.fields_radio value: 3
25
- panel.fields_radio value: 4
26
- panel.fields_radio value: 5
27
- end
28
- end
29
- form.fields_radioGroup name: 'user[rating2][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', value: 1, childViews: ->(panel) do
30
- panel.panels_horizontal childViews: ->(panel) do
31
- panel.fields_radio value: 1
32
- panel.fields_radio value: 2
33
- panel.fields_radio value: 3
34
- panel.fields_radio value: 4
35
- panel.fields_radio value: 5
36
- end
37
- end
38
-
39
- form.spacer height: 20
40
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
41
- end
42
-
43
- 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
+
8
+ scroll.panels_form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
9
+ form.spacer height: 20
10
+ form.h2 text: 'Check Group'
11
+ form.fields_checkGroup name: 'user[skills][]', uncheckValue: 1, childViews: ->(group) do
12
+ form.fields_check value: 2, label: 'Game Development'
13
+ form.fields_check value: 3, label: 'Web Development'
14
+ form.fields_check value: 4, label: 'Mobile Development'
15
+ end
16
+
17
+ form.spacer height: 20
18
+ form.h2 text: 'Rating'
19
+ form.spacer height: 6
20
+ form.fields_radioGroup name: 'user[rating1][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', childViews: ->(panel) do
21
+ panel.panels_horizontal childViews: ->(panel) do
22
+ panel.fields_radio value: 1
23
+ panel.fields_radio value: 2
24
+ panel.fields_radio value: 3
25
+ panel.fields_radio value: 4
26
+ panel.fields_radio value: 5
27
+ end
28
+ end
29
+ form.fields_radioGroup name: 'user[rating2][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', value: 1, childViews: ->(panel) do
30
+ panel.panels_horizontal childViews: ->(panel) do
31
+ panel.fields_radio value: 1
32
+ panel.fields_radio value: 2
33
+ panel.fields_radio value: 3
34
+ panel.fields_radio value: 4
35
+ panel.fields_radio value: 5
36
+ end
37
+ end
38
+
39
+ form.spacer height: 20
40
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
41
+ end
42
+
43
+ end
@@ -1,36 +1,36 @@
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.spacer height: 6
10
- form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
11
- form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
12
- "+": [
13
- {
14
- "var": 'user[date_start]'
15
- },
16
- 24 * 3600
17
- ]
18
- }
19
-
20
- form.spacer height: 20
21
- form.h2 text: 'Date/Time'
22
- form.spacer height: 6
23
- 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'
24
- form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
25
- "+": [
26
- {
27
- "var": 'user[datetime_start]'
28
- },
29
- 3600
30
- ]
31
- }
32
-
33
- form.spacer height: 20
34
- form.fields_submit text: 'Submit'
35
- form.spacer height: 40
36
- 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.spacer height: 6
10
+ form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
11
+ form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
12
+ "+": [
13
+ {
14
+ "var": 'user[date_start]'
15
+ },
16
+ 24 * 3600
17
+ ]
18
+ }
19
+
20
+ form.spacer height: 20
21
+ form.h2 text: 'Date/Time'
22
+ form.spacer height: 6
23
+ 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'
24
+ form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
25
+ "+": [
26
+ {
27
+ "var": 'user[datetime_start]'
28
+ },
29
+ 3600
30
+ ]
31
+ }
32
+
33
+ form.spacer height: 20
34
+ form.fields_submit text: 'Submit'
35
+ form.spacer height: 40
36
+ 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