glib-web 0.5.75 → 0.5.76

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 (188) 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/panels.rb +14 -14
  23. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  24. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  25. data/app/helpers/glib/json_ui/action_builder/windows.rb +33 -33
  26. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  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/banners.rb +26 -26
  38. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  39. data/app/helpers/glib/json_ui/view_builder/fields.rb +278 -278
  40. data/app/helpers/glib/json_ui/view_builder/panels.rb +256 -256
  41. data/app/helpers/glib/json_ui/view_builder.rb +240 -240
  42. data/app/helpers/glib/urls_helper.rb +12 -12
  43. data/app/models/concerns/glib/soft_deletable.rb +68 -68
  44. data/app/models/glib/active_storage/attachment.rb +9 -9
  45. data/app/models/glib/active_storage/blob.rb +9 -9
  46. data/app/models/glib/application_record.rb +18 -18
  47. data/app/models/glib/dynamic_text_record.rb +9 -9
  48. data/app/models/glib/text.rb +95 -95
  49. data/app/policies/glib/application_policy.rb +161 -161
  50. data/app/validators/email_typo_validator.rb +38 -38
  51. data/app/validators/email_validator.rb +7 -7
  52. data/app/validators/url_validator.rb +20 -20
  53. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  54. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  55. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  56. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  57. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  58. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  59. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  60. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  61. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  62. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  63. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  64. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  65. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  66. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  67. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  68. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  69. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  70. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
  71. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  72. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -32
  73. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  74. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  75. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  76. data/app/views/json_ui/garage/forms/index.json.jbuilder +113 -113
  77. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  78. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  79. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  80. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
  81. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  82. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  83. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -91
  84. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
  85. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  86. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  87. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  88. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  89. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  90. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
  91. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  92. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  93. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  94. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  95. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  96. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  97. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  98. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  99. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  100. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  101. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  102. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  103. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  104. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  105. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  106. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  107. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  108. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  109. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  110. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  111. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  112. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  113. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  114. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  115. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  116. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  117. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  118. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  119. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  120. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  121. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  122. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  123. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  124. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  125. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  126. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  127. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  128. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  129. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  130. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  131. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  132. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  133. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  134. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  135. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  136. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  137. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  138. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  139. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  140. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  141. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  142. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  143. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  144. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  145. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  146. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  147. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  148. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  149. data/app/views/json_ui/garage/views/index.json.jbuilder +67 -67
  150. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  151. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  152. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  153. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  154. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  155. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  156. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  157. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  158. data/config/routes.rb +7 -7
  159. data/lib/generators/glib/install_generator.rb +24 -24
  160. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  161. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  162. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  163. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  164. data/lib/generators/templates/database.yml +107 -107
  165. data/lib/generators/templates/dynamic_text.rb +2 -2
  166. data/lib/glib/crypt/utils.rb +26 -26
  167. data/lib/glib/crypt.rb +0 -0
  168. data/lib/glib/dynamic_text/config.rb +21 -21
  169. data/lib/glib/dynamic_text.rb +0 -0
  170. data/lib/glib/engine.rb +7 -7
  171. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  172. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  173. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  174. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  175. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  176. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  177. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  178. data/lib/glib/json_crawler/coverage.rb +20 -20
  179. data/lib/glib/json_crawler/http.rb +120 -120
  180. data/lib/glib/json_crawler/router.rb +90 -98
  181. data/lib/glib/json_crawler.rb +11 -11
  182. data/lib/glib/mailer_tester.rb +36 -36
  183. data/lib/glib/test_helpers.rb +52 -52
  184. data/lib/glib/value.rb +7 -7
  185. data/lib/glib/version.rb +5 -5
  186. data/lib/glib-web.rb +9 -9
  187. data/lib/tasks/db.rake +95 -95
  188. metadata +1 -1
@@ -1,58 +1,58 @@
1
- class Glib::JsonUi::ActionBuilder
2
- module Dialogs
3
- class Alert < Action
4
- string :message
5
- action :onLoad
6
- action :onClose
7
- end
8
-
9
- class Show < Action
10
- string :body
11
- action :onLoad
12
- action :onClose
13
- end
14
-
15
- # Deprecated in favour of `sheets/select`
16
- class Options < Action
17
- string :message
18
-
19
- def buttons(block)
20
- json.buttons do
21
- block.call page.menu_builder
22
- end
23
- end
24
- end
25
-
26
- class Show < Action
27
- panels_builder :content, :body
28
-
29
- # Future plan
30
- # panels_builder :content, :body, :footer
31
- end
32
-
33
- class Open < Action
34
- string :url, cache: true
35
- end
36
-
37
- class Close < Action
38
- action :onClose
39
- end
40
-
41
- class Oauth < Action
42
- hash :provider
43
- action :onSuccess
44
- string :providerParamName
45
- string :callbackUrlParamName
46
- end
47
-
48
- # TODO: Consider switching to `notifications/alert`
49
- class Notification < Action
50
- string :title
51
- string :message
52
- string :tag
53
- int :timeout
54
- action :onClick
55
- end
56
-
57
- end
58
- end
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Dialogs
3
+ class Alert < Action
4
+ string :message
5
+ action :onLoad
6
+ action :onClose
7
+ end
8
+
9
+ class Show < Action
10
+ string :body
11
+ action :onLoad
12
+ action :onClose
13
+ end
14
+
15
+ # Deprecated in favour of `sheets/select`
16
+ class Options < Action
17
+ string :message
18
+
19
+ def buttons(block)
20
+ json.buttons do
21
+ block.call page.menu_builder
22
+ end
23
+ end
24
+ end
25
+
26
+ class Show < Action
27
+ panels_builder :content, :body
28
+
29
+ # Future plan
30
+ # panels_builder :content, :body, :footer
31
+ end
32
+
33
+ class Open < Action
34
+ string :url, cache: true
35
+ end
36
+
37
+ class Close < Action
38
+ action :onClose
39
+ end
40
+
41
+ class Oauth < Action
42
+ hash :provider
43
+ action :onSuccess
44
+ string :providerParamName
45
+ string :callbackUrlParamName
46
+ end
47
+
48
+ # TODO: Consider switching to `notifications/alert`
49
+ class Notification < Action
50
+ string :title
51
+ string :message
52
+ string :tag
53
+ int :timeout
54
+ action :onClick
55
+ end
56
+
57
+ end
58
+ end
@@ -1,39 +1,39 @@
1
- class Glib::JsonUi::ActionBuilder
2
- module Http
3
- class AbstractHttp < Action
4
- string :url, cache: true
5
-
6
- def formData(hash)
7
- form_data = {}
8
- hash.each do |key, value|
9
- flatten_nested_params(form_data, key, value)
10
- end
11
- json.formData form_data
12
- end
13
-
14
- def flatten_nested_params(form_data, key, value)
15
- if value.is_a?(Hash)
16
- value.each do |nested_key, nested_value|
17
- flatten_nested_params(form_data, "#{key}[#{nested_key}]", nested_value)
18
- end
19
- else
20
- form_data[key] = value
21
- end
22
- end
23
- end
24
-
25
- class Post < AbstractHttp
26
- end
27
-
28
- class Patch < AbstractHttp
29
- # string :url, cache: true
30
- # hash :formData
31
- end
32
-
33
- class Delete < AbstractHttp
34
- # string :url, cache: true
35
- # hash :formData
36
- end
37
-
38
- end
39
- end
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Http
3
+ class AbstractHttp < Action
4
+ string :url, cache: true
5
+
6
+ def formData(hash)
7
+ form_data = {}
8
+ hash.each do |key, value|
9
+ flatten_nested_params(form_data, key, value)
10
+ end
11
+ json.formData form_data
12
+ end
13
+
14
+ def flatten_nested_params(form_data, key, value)
15
+ if value.is_a?(Hash)
16
+ value.each do |nested_key, nested_value|
17
+ flatten_nested_params(form_data, "#{key}[#{nested_key}]", nested_value)
18
+ end
19
+ else
20
+ form_data[key] = value
21
+ end
22
+ end
23
+ end
24
+
25
+ class Post < AbstractHttp
26
+ end
27
+
28
+ class Patch < AbstractHttp
29
+ # string :url, cache: true
30
+ # hash :formData
31
+ end
32
+
33
+ class Delete < AbstractHttp
34
+ # string :url, cache: true
35
+ # hash :formData
36
+ end
37
+
38
+ end
39
+ end
@@ -1,14 +1,14 @@
1
- class Glib::JsonUi::ActionBuilder
2
- module Panels
3
- class ScrollToBottom < Action
4
- action :onScroll
5
- bool :animate
6
- end
7
-
8
- class ScrollTo < Action
9
- string :viewId
10
- action :onScroll
11
- bool :animate
12
- end
13
- end
14
- end
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Panels
3
+ class ScrollToBottom < Action
4
+ action :onScroll
5
+ bool :animate
6
+ end
7
+
8
+ class ScrollTo < Action
9
+ string :viewId
10
+ action :onScroll
11
+ bool :animate
12
+ end
13
+ end
14
+ end
@@ -1,15 +1,15 @@
1
- class Glib::JsonUi::ActionBuilder
2
- module Sheets
3
-
4
- class Select < Action
5
- string :message
6
-
7
- def buttons(block)
8
- json.buttons do
9
- block.call page.menu_builder
10
- end
11
- end
12
- end
13
-
14
- end
15
- end
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Sheets
3
+
4
+ class Select < Action
5
+ string :message
6
+
7
+ def buttons(block)
8
+ json.buttons do
9
+ block.call page.menu_builder
10
+ end
11
+ end
12
+ end
13
+
14
+ end
15
+ end
@@ -1,41 +1,41 @@
1
- class Glib::JsonUi::ActionBuilder
2
-
3
- module Snackbars
4
- class Alert < Action
5
- string :message
6
- # string :message_format
7
- action :onClose
8
-
9
- string :verticalPosition
10
- string :horizontalPosition
11
- singleton_array :styleClass, :styleClasses
12
- end
13
-
14
- # class Confirm < Action
15
- # string :message
16
- # action :onConfirm
17
- # action :onCancel
18
-
19
- # string :verticalPosition
20
- # string :horizontalPosition
21
- # singleton_array :styleClass, :styleClasses
22
- # end
23
-
24
- class Select < Action
25
- string :message
26
-
27
- string :verticalPosition
28
- string :horizontalPosition
29
- singleton_array :styleClass, :styleClasses
30
-
31
- def buttons(block)
32
- json.buttons do
33
- block.call page.menu_builder
34
- end
35
- end
36
-
37
- end
38
-
39
- end
40
-
41
- end
1
+ class Glib::JsonUi::ActionBuilder
2
+
3
+ module Snackbars
4
+ class Alert < Action
5
+ string :message
6
+ # string :message_format
7
+ action :onClose
8
+
9
+ string :verticalPosition
10
+ string :horizontalPosition
11
+ singleton_array :styleClass, :styleClasses
12
+ end
13
+
14
+ # class Confirm < Action
15
+ # string :message
16
+ # action :onConfirm
17
+ # action :onCancel
18
+
19
+ # string :verticalPosition
20
+ # string :horizontalPosition
21
+ # singleton_array :styleClass, :styleClasses
22
+ # end
23
+
24
+ class Select < Action
25
+ string :message
26
+
27
+ string :verticalPosition
28
+ string :horizontalPosition
29
+ singleton_array :styleClass, :styleClasses
30
+
31
+ def buttons(block)
32
+ json.buttons do
33
+ block.call page.menu_builder
34
+ end
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+
41
+ end
@@ -1,33 +1,33 @@
1
- class Glib::JsonUi::ActionBuilder
2
- module Windows
3
- class Close < Action
4
- action :onClose
5
- # action :onAfterClose
6
- end
7
-
8
- class CloseAll < Action
9
- action :onClose
10
- end
11
-
12
- class Open < Action
13
- string :url, cache: true
14
- action :onOpen
15
- end
16
-
17
- class OpenWeb < Action
18
- string :url
19
- end
20
-
21
- class Reload < Action
22
- string :url, cache: true
23
- action :onReload
24
- end
25
-
26
- class CloseWithReload < Action
27
- string :fallbackUrl
28
- action :onReload
29
-
30
- required :fallbackUrl
31
- end
32
- end
33
- end
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Windows
3
+ class Close < Action
4
+ action :onClose
5
+ # action :onAfterClose
6
+ end
7
+
8
+ class CloseAll < Action
9
+ action :onClose
10
+ end
11
+
12
+ class Open < Action
13
+ string :url, cache: true
14
+ action :onOpen
15
+ end
16
+
17
+ class OpenWeb < Action
18
+ string :url
19
+ end
20
+
21
+ class Reload < Action
22
+ string :url, cache: true
23
+ action :onReload
24
+ end
25
+
26
+ class CloseWithReload < Action
27
+ string :fallbackUrl
28
+ action :onReload
29
+
30
+ required :fallbackUrl
31
+ end
32
+ end
33
+ end
@@ -1,140 +1,140 @@
1
- module Glib
2
- module JsonUi
3
- class ActionBuilder < AbstractBuilder
4
- def initialize(json, page, multiple)
5
- super(json, page)
6
-
7
- @multiple = multiple
8
- end
9
-
10
- def method_missing(m, *args)
11
- if @multiple
12
- add_element_to_array_v1 'action', m, *args
13
- else
14
- add_singleton_element_v1 'action', m, *args
15
- end
16
- end
17
-
18
- class Action < JsonUiElement
19
- # def analytics(value)
20
- # if value.is_a?(String)
21
- # @analyticsEnabled = true
22
- # @analyticsId = value
23
- # else
24
- # @analyticsEnabled = value == true
25
- # end
26
- # end
27
-
28
- # # Override
29
- # def created
30
- # if @analyticsEnabled
31
- # suffix = @analyticsId
32
- # # TODO: recognize_path() needs `method` as a second argument for POST request
33
- # if suffix.nil? && @url && (route = Rails.application.routes.recognize_path(@url))
34
- # suffix = "#{route[:controller]}_#{route[:action]}"
35
- # end
36
-
37
- # if suffix
38
- # json.analytics do
39
- # json.track :event
40
- # json.nameSuffix suffix
41
- # end
42
- # end
43
-
44
- # end
45
- # end
46
- end
47
-
48
- ### Action definitions
49
-
50
- class RunMultiple < Action
51
- def childActions(block)
52
- json.childActions do
53
- block.call ActionBuilder.new(json, page, true)
54
- end
55
- end
56
- end
57
-
58
- module Forms
59
- class Submit < Action
60
- end
61
- end
62
-
63
- module Auth
64
- class SaveCsrfToken < Action
65
- string :token
66
- action :onSave
67
- end
68
-
69
- class Restart < Action
70
- end
71
-
72
- class CreditCard < Action
73
- string :publicKey
74
- string :clientSecret
75
- action :onSuccess
76
- action :onFailure
77
- bool :setupOnly
78
- end
79
- end
80
-
81
- module Devices
82
- class GetPushToken < Action
83
- string :postUrl
84
- string :paramNameForToken
85
-
86
- # Use postUrl instead
87
- # action :onGet
88
- end
89
- end
90
-
91
- module Analytics
92
- class LogEvent < Action
93
- string :name
94
- hash :params
95
- end
96
- end
97
-
98
- module Cables
99
- class Push < Action
100
- string :channel
101
- string :event
102
- hash :payload
103
- end
104
- end
105
-
106
- module Timeouts
107
- class Set < Action
108
- int :interval # Milliseconds
109
- action :onTimeout
110
- bool :repeat
111
- end
112
-
113
- # FUTURE
114
- class Remove < Action
115
- end
116
-
117
- # FUTURE
118
- class Clear < Action
119
- end
120
- end
121
-
122
- # FUTURE
123
- module Data
124
- class Save < Action
125
- string :key
126
- string :value
127
- action :onSave
128
- end
129
-
130
- class Remove < Action
131
- end
132
-
133
- class Clear < Action
134
- end
135
- end
136
-
137
- ###
138
- end
139
- end
140
- end
1
+ module Glib
2
+ module JsonUi
3
+ class ActionBuilder < AbstractBuilder
4
+ def initialize(json, page, multiple)
5
+ super(json, page)
6
+
7
+ @multiple = multiple
8
+ end
9
+
10
+ def method_missing(m, *args)
11
+ if @multiple
12
+ add_element_to_array_v1 'action', m, *args
13
+ else
14
+ add_singleton_element_v1 'action', m, *args
15
+ end
16
+ end
17
+
18
+ class Action < JsonUiElement
19
+ # def analytics(value)
20
+ # if value.is_a?(String)
21
+ # @analyticsEnabled = true
22
+ # @analyticsId = value
23
+ # else
24
+ # @analyticsEnabled = value == true
25
+ # end
26
+ # end
27
+
28
+ # # Override
29
+ # def created
30
+ # if @analyticsEnabled
31
+ # suffix = @analyticsId
32
+ # # TODO: recognize_path() needs `method` as a second argument for POST request
33
+ # if suffix.nil? && @url && (route = Rails.application.routes.recognize_path(@url))
34
+ # suffix = "#{route[:controller]}_#{route[:action]}"
35
+ # end
36
+
37
+ # if suffix
38
+ # json.analytics do
39
+ # json.track :event
40
+ # json.nameSuffix suffix
41
+ # end
42
+ # end
43
+
44
+ # end
45
+ # end
46
+ end
47
+
48
+ ### Action definitions
49
+
50
+ class RunMultiple < Action
51
+ def childActions(block)
52
+ json.childActions do
53
+ block.call ActionBuilder.new(json, page, true)
54
+ end
55
+ end
56
+ end
57
+
58
+ module Forms
59
+ class Submit < Action
60
+ end
61
+ end
62
+
63
+ module Auth
64
+ class SaveCsrfToken < Action
65
+ string :token
66
+ action :onSave
67
+ end
68
+
69
+ class Restart < Action
70
+ end
71
+
72
+ class CreditCard < Action
73
+ string :publicKey
74
+ string :clientSecret
75
+ action :onSuccess
76
+ action :onFailure
77
+ bool :setupOnly
78
+ end
79
+ end
80
+
81
+ module Devices
82
+ class GetPushToken < Action
83
+ string :postUrl
84
+ string :paramNameForToken
85
+
86
+ # Use postUrl instead
87
+ # action :onGet
88
+ end
89
+ end
90
+
91
+ module Analytics
92
+ class LogEvent < Action
93
+ string :name
94
+ hash :params
95
+ end
96
+ end
97
+
98
+ module Cables
99
+ class Push < Action
100
+ string :channel
101
+ string :event
102
+ hash :payload
103
+ end
104
+ end
105
+
106
+ module Timeouts
107
+ class Set < Action
108
+ int :interval # Milliseconds
109
+ action :onTimeout
110
+ bool :repeat
111
+ end
112
+
113
+ # FUTURE
114
+ class Remove < Action
115
+ end
116
+
117
+ # FUTURE
118
+ class Clear < Action
119
+ end
120
+ end
121
+
122
+ # FUTURE
123
+ module Data
124
+ class Save < Action
125
+ string :key
126
+ string :value
127
+ action :onSave
128
+ end
129
+
130
+ class Remove < Action
131
+ end
132
+
133
+ class Clear < Action
134
+ end
135
+ end
136
+
137
+ ###
138
+ end
139
+ end
140
+ end