glib-web 0.5.66 → 0.5.67

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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +34 -28
  3. data/app/channels/glib/channel/online_channel.rb +36 -29
  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 +8 -8
  18. data/app/helpers/glib/forms_helper.rb +15 -15
  19. data/app/helpers/glib/json_ui/abstract_builder.rb +294 -294
  20. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  21. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  22. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  23. data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
  24. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  25. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  26. data/app/helpers/glib/json_ui/action_builder/windows.rb +31 -31
  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 +47 -47
  36. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  37. data/app/helpers/glib/json_ui/view_builder.rb +232 -232
  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 +267 -263
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +251 -251
  42. data/app/helpers/glib/urls_helper.rb +12 -12
  43. data/app/models/glib/active_storage/attachment.rb +9 -9
  44. data/app/models/glib/active_storage/blob.rb +9 -9
  45. data/app/models/glib/application_record.rb +18 -18
  46. data/app/models/glib/dynamic_text_record.rb +9 -9
  47. data/app/models/glib/text.rb +95 -95
  48. data/app/policies/glib/application_policy.rb +161 -161
  49. data/app/validators/email_typo_validator.rb +38 -38
  50. data/app/validators/email_validator.rb +7 -7
  51. data/app/validators/url_validator.rb +20 -20
  52. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  53. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  54. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  55. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  56. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  57. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  59. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  60. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  61. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  62. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  65. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  66. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  67. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  68. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  69. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +22 -22
  70. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  71. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -32
  72. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  73. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  74. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  75. data/app/views/json_ui/garage/forms/index.json.jbuilder +116 -113
  76. data/app/views/json_ui/garage/forms/misc.json.jbuilder +57 -29
  77. data/app/views/json_ui/garage/forms/misc_two.json.jbuilder +61 -0
  78. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  79. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +79 -79
  80. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  81. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  82. data/app/views/json_ui/garage/forms/selects.json.jbuilder +83 -83
  83. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
  84. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  85. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  86. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  87. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  88. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  89. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
  90. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  91. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  92. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  93. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  94. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  95. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  96. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  97. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  98. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  99. data/app/views/json_ui/garage/lists/index.json.jbuilder +32 -32
  100. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  101. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  102. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -113
  103. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  104. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  105. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  106. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  107. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  108. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  109. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  110. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  111. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  112. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  113. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  114. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  115. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  116. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  117. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  118. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  119. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  120. data/app/views/json_ui/garage/panels/flow.json.jbuilder +49 -49
  121. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  122. data/app/views/json_ui/garage/panels/index.json.jbuilder +132 -132
  123. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  124. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  125. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  126. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  127. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  128. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  129. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  130. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  131. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  132. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  133. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  134. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  135. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  136. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  137. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  138. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  139. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  140. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  141. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  142. data/app/views/json_ui/garage/views/icons.json.jbuilder +14 -14
  143. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  144. data/app/views/json_ui/garage/views/index.json.jbuilder +64 -64
  145. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  146. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  147. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  148. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  149. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  150. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  151. data/app/views/json_ui/garage/views/texts.json.jbuilder +44 -44
  152. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  153. data/config/routes.rb +7 -7
  154. data/lib/generators/glib/install_generator.rb +24 -24
  155. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  156. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  157. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  158. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  159. data/lib/generators/templates/database.yml +107 -107
  160. data/lib/generators/templates/dynamic_text.rb +2 -2
  161. data/lib/glib-web.rb +9 -9
  162. data/lib/glib/crypt/utils.rb +26 -26
  163. data/lib/glib/dynamic_text/config.rb +21 -21
  164. data/lib/glib/engine.rb +7 -7
  165. data/lib/glib/json_crawler.rb +11 -11
  166. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  167. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  168. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  169. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  170. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  171. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  172. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  173. data/lib/glib/json_crawler/coverage.rb +20 -20
  174. data/lib/glib/json_crawler/http.rb +120 -120
  175. data/lib/glib/json_crawler/router.rb +98 -98
  176. data/lib/glib/mailer_tester.rb +36 -36
  177. data/lib/glib/test_helpers.rb +52 -52
  178. data/lib/glib/value.rb +7 -7
  179. data/lib/glib/version.rb +5 -5
  180. data/lib/tasks/db.rake +95 -95
  181. metadata +2 -1
@@ -1,25 +1,25 @@
1
- sleep 0.5
2
-
3
- json_ui_response json do |action|
4
- case params[:mode]
5
- when 'timeout_once'
6
- action.timeouts_set interval: 2000, onTimeout: ->(subaction) do
7
- subaction.dialogs_alert message: 'Success!'
8
- end
9
- when 'timeout_chain'
10
- count = params[:count].to_i
11
- if count > 3
12
- action.dialogs_alert message: 'Success!'
13
- else
14
- action.timeouts_set interval: 500, onTimeout: ->(subaction) do
15
- subaction.http_post url: json_ui_garage_url(path: 'forms/submission_indicator_post', mode: 'timeout_chain', count: count + 1)
16
- end
17
- end
18
- when 'slow_open'
19
- action.windows_open url: json_ui_garage_url(path: 'home/slow')
20
- when 'slow_openWeb'
21
- action.windows_openWeb url: 'https://www.google.com'
22
- else
23
- action.dialogs_alert message: 'Success!'
24
- end
25
- end
1
+ sleep 0.5
2
+
3
+ json_ui_response json do |action|
4
+ case params[:mode]
5
+ when 'timeout_once'
6
+ action.timeouts_set interval: 2000, onTimeout: ->(subaction) do
7
+ subaction.dialogs_alert message: 'Success!'
8
+ end
9
+ when 'timeout_chain'
10
+ count = params[:count].to_i
11
+ if count > 3
12
+ action.dialogs_alert message: 'Success!'
13
+ else
14
+ action.timeouts_set interval: 500, onTimeout: ->(subaction) do
15
+ subaction.http_post url: json_ui_garage_url(path: 'forms/submission_indicator_post', mode: 'timeout_chain', count: count + 1)
16
+ end
17
+ end
18
+ when 'slow_open'
19
+ action.windows_open url: json_ui_garage_url(path: 'home/slow')
20
+ when 'slow_openWeb'
21
+ action.windows_openWeb url: 'https://www.google.com'
22
+ else
23
+ action.dialogs_alert message: 'Success!'
24
+ end
25
+ end
@@ -1,81 +1,81 @@
1
- json.title 'Forms'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.form \
7
- url: json_ui_garage_url(path: 'forms/generic_post'),
8
- method: 'post',
9
- padding: glib_json_padding_body,
10
- childViews: ->(form) do
11
- form.fields_email \
12
- name: 'user[email]',
13
- width: 'matchParent',
14
- label: 'Email'
15
-
16
- form.fields_url \
17
- name: 'user[url]',
18
- width: 'matchParent',
19
- label: 'URL'
20
-
21
- form.fields_number \
22
- name: 'user[number]',
23
- width: 'matchParent',
24
- label: 'Number',
25
- validation: { required: { message: 'Required' } },
26
- leftText: 'USD',
27
- rightText: '.00'
28
-
29
- form.fields_phone \
30
- name: 'user[phone1]',
31
- width: 'matchParent',
32
- label: 'Phone field'
33
-
34
- form.fields_phone \
35
- name: 'user[phone2]',
36
- width: 'matchParent',
37
- label: "Phone field with Australia as the default country",
38
- disableAutoDetect: true, # Disable country auto detect by user IP
39
- defaultCountry: 'AU' # ISO Country code, see: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
40
-
41
- form.fields_password \
42
- name: 'user[password]',
43
- width: 'matchParent',
44
- label: 'Password',
45
- hint: 'Should contain at least 6 characters',
46
- leftIcon: 'lock'
47
-
48
- form.fields_textarea \
49
- name: 'user[textarea]',
50
- width: 'matchParent',
51
- label: 'Textarea with maxLength',
52
- maxLength: 50,
53
- validation: { required: { message: 'Required' } }
54
-
55
- options = ['male', 'female'].map { |i| { text: i.humanize, value: i } }
56
- form.fields_select \
57
- name: 'user[gender]',
58
- width: 'matchParent',
59
- label: 'Gender',
60
- validation: { required: { message: 'Required' } },
61
- options: options
62
-
63
- form.spacer height: 20
64
- form.fields_stripeToken \
65
- name: 'user[stripe_token]',
66
- width: 'matchParent',
67
- publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
68
-
69
- form.spacer height: 20
70
- form.fields_stripeExternalAccount \
71
- name: 'user[stripe_external_account]',
72
- width: 'matchParent',
73
- publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx',
74
- accountHolderName: 'John Doe',
75
- accountHolderType: 'individual',
76
- country: 'AU',
77
- currency: 'AUD'
78
-
79
- form.spacer height: 30
80
- form.fields_submit text: 'Submit'
81
- end
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.form \
7
+ url: json_ui_garage_url(path: 'forms/generic_post'),
8
+ method: 'post',
9
+ padding: glib_json_padding_body,
10
+ childViews: ->(form) do
11
+ form.fields_email \
12
+ name: 'user[email]',
13
+ width: 'matchParent',
14
+ label: 'Email'
15
+
16
+ form.fields_url \
17
+ name: 'user[url]',
18
+ width: 'matchParent',
19
+ label: 'URL'
20
+
21
+ form.fields_number \
22
+ name: 'user[number]',
23
+ width: 'matchParent',
24
+ label: 'Number',
25
+ validation: { required: { message: 'Required' } },
26
+ leftText: 'USD',
27
+ rightText: '.00'
28
+
29
+ form.fields_phone \
30
+ name: 'user[phone1]',
31
+ width: 'matchParent',
32
+ label: 'Phone field'
33
+
34
+ form.fields_phone \
35
+ name: 'user[phone2]',
36
+ width: 'matchParent',
37
+ label: "Phone field with Australia as the default country",
38
+ disableAutoDetect: true, # Disable country auto detect by user IP
39
+ defaultCountry: 'AU' # ISO Country code, see: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
40
+
41
+ form.fields_password \
42
+ name: 'user[password]',
43
+ width: 'matchParent',
44
+ label: 'Password',
45
+ hint: 'Should contain at least 6 characters',
46
+ leftIcon: 'lock'
47
+
48
+ form.fields_textarea \
49
+ name: 'user[textarea]',
50
+ width: 'matchParent',
51
+ label: 'Textarea with maxLength',
52
+ maxLength: 50,
53
+ validation: { required: { message: 'Required' } }
54
+
55
+ options = ['male', 'female'].map { |i| { text: i.humanize, value: i } }
56
+ form.fields_select \
57
+ name: 'user[gender]',
58
+ width: 'matchParent',
59
+ label: 'Gender',
60
+ validation: { required: { message: 'Required' } },
61
+ options: options
62
+
63
+ form.spacer height: 20
64
+ form.fields_stripeToken \
65
+ name: 'user[stripe_token]',
66
+ width: 'matchParent',
67
+ publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
68
+
69
+ form.spacer height: 20
70
+ form.fields_stripeExternalAccount \
71
+ name: 'user[stripe_external_account]',
72
+ width: 'matchParent',
73
+ publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx',
74
+ accountHolderName: 'John Doe',
75
+ accountHolderType: 'individual',
76
+ country: 'AU',
77
+ currency: 'AUD'
78
+
79
+ form.spacer height: 30
80
+ form.fields_submit text: 'Submit'
81
+ end
@@ -1,10 +1,10 @@
1
- sleep 0.5
2
-
3
- json.title 'Menu'
4
-
5
- page = json_ui_page json
6
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: false
7
-
8
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
9
- scroll.label text: 'Blank page'
10
- end
1
+ sleep 0.5
2
+
3
+ json.title 'Menu'
4
+
5
+ page = json_ui_page json
6
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: false
7
+
8
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
9
+ scroll.label text: 'Blank page'
10
+ end
@@ -1,36 +1,36 @@
1
- json.title 'Menu'
2
-
3
- page = json_ui_page json
4
-
5
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
6
-
7
- page.list firstSection: ->(section) do
8
- section.rows builder: ->(template) do
9
- template.thumbnail title: 'Pages', onClick: ->(action) do
10
- action.windows_open url: json_ui_garage_url(path: 'pages/index')
11
- end
12
- template.thumbnail title: 'Panels', onClick: ->(action) do
13
- action.windows_open url: json_ui_garage_url(path: 'panels/index')
14
- end
15
- template.thumbnail title: 'Lists', onClick: ->(action) do
16
- action.windows_open url: json_ui_garage_url(path: 'lists/index')
17
- end
18
- template.thumbnail title: 'Forms', onClick: ->(action) do
19
- action.windows_open url: json_ui_garage_url(path: 'forms/index')
20
- end
21
- template.thumbnail title: 'Views', onClick: ->(action) do
22
- action.windows_open url: json_ui_garage_url(path: 'views/index')
23
- end
24
- template.thumbnail title: 'Actions', onClick: ->(action) do
25
- action.windows_open url: json_ui_garage_url(path: 'actions/index')
26
- end
27
- template.thumbnail title: 'Tables (Web Only)', onClick: ->(action) do
28
- action.windows_open url: json_ui_garage_url(path: 'tables/index')
29
- end
30
- # Disabled to prevent errors in crawler tests due to external dependencies
31
- # template.thumbnail title: 'Services', onClick: ->(action) do
32
- # action.windows_open url: json_ui_garage_url(path: 'services/index')
33
- # end
34
- end
35
-
36
- end
1
+ json.title 'Menu'
2
+
3
+ page = json_ui_page json
4
+
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
6
+
7
+ page.list firstSection: ->(section) do
8
+ section.rows builder: ->(template) do
9
+ template.thumbnail title: 'Pages', onClick: ->(action) do
10
+ action.windows_open url: json_ui_garage_url(path: 'pages/index')
11
+ end
12
+ template.thumbnail title: 'Panels', onClick: ->(action) do
13
+ action.windows_open url: json_ui_garage_url(path: 'panels/index')
14
+ end
15
+ template.thumbnail title: 'Lists', onClick: ->(action) do
16
+ action.windows_open url: json_ui_garage_url(path: 'lists/index')
17
+ end
18
+ template.thumbnail title: 'Forms', onClick: ->(action) do
19
+ action.windows_open url: json_ui_garage_url(path: 'forms/index')
20
+ end
21
+ template.thumbnail title: 'Views', onClick: ->(action) do
22
+ action.windows_open url: json_ui_garage_url(path: 'views/index')
23
+ end
24
+ template.thumbnail title: 'Actions', onClick: ->(action) do
25
+ action.windows_open url: json_ui_garage_url(path: 'actions/index')
26
+ end
27
+ template.thumbnail title: 'Tables (Web Only)', onClick: ->(action) do
28
+ action.windows_open url: json_ui_garage_url(path: 'tables/index')
29
+ end
30
+ # Disabled to prevent errors in crawler tests due to external dependencies
31
+ # template.thumbnail title: 'Services', onClick: ->(action) do
32
+ # action.windows_open url: json_ui_garage_url(path: 'services/index')
33
+ # end
34
+ end
35
+
36
+ end
@@ -1,11 +1,11 @@
1
- sleep 2.0
2
-
3
- json.title 'Menu'
4
-
5
- page = json_ui_page json
6
-
7
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: false
8
-
9
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
- scroll.label text: 'Blank page'
11
- end
1
+ sleep 2.0
2
+
3
+ json.title 'Menu'
4
+
5
+ page = json_ui_page json
6
+
7
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: false
8
+
9
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
+ scroll.label text: 'Blank page'
11
+ end
@@ -1,28 +1,28 @@
1
-
2
- # json.rows do
3
- # batch_count = 30
4
- # batch_count.times do |i|
5
- # index = page * batch_count + i
6
- # json.child! do
7
- # json.template 'thumbnail'
8
- # json.title "Item #{index}"
9
- # end
10
- # end
11
- # end
12
-
13
- # section = json_ui_section json
14
-
15
- section = page.list_section_builder
16
- section.rows builder: ->(row) do
17
- batch_count = 30
18
- batch_count.times do |i|
19
- index = page_index * batch_count + i
20
- if local_assigns[:reorder]
21
- row.thumbnail title: "Item #{index}", onReorder: ->(action) do
22
- action.dialogs_notification title: "Item #{index}"
23
- end, paramNameForFormData: 'message', paramNameForNewIndex: 'new_index'
24
- else
25
- row.thumbnail title: "Item #{index}"
26
- end
27
- end
28
- end
1
+
2
+ # json.rows do
3
+ # batch_count = 30
4
+ # batch_count.times do |i|
5
+ # index = page * batch_count + i
6
+ # json.child! do
7
+ # json.template 'thumbnail'
8
+ # json.title "Item #{index}"
9
+ # end
10
+ # end
11
+ # end
12
+
13
+ # section = json_ui_section json
14
+
15
+ section = page.list_section_builder
16
+ section.rows builder: ->(row) do
17
+ batch_count = 30
18
+ batch_count.times do |i|
19
+ index = page_index * batch_count + i
20
+ if local_assigns[:reorder]
21
+ row.thumbnail title: "Item #{index}", onReorder: ->(action) do
22
+ action.dialogs_notification title: "Item #{index}"
23
+ end, paramNameForFormData: 'message', paramNameForNewIndex: 'new_index'
24
+ else
25
+ row.thumbnail title: "Item #{index}"
26
+ end
27
+ end
28
+ end
@@ -1,32 +1,32 @@
1
-
2
- page_index = params[:page].to_i
3
- next_page = {
4
- url: json_ui_garage_url(path: 'lists/autoload_all', page: page_index + 1, section_only: 'v1'),
5
- autoload: 'all'
6
- }
7
-
8
- page = json_ui_page json
9
-
10
- if params[:section_only].present?
11
- sleep 1
12
-
13
- json.nextPage next_page if page_index < 3
14
- json.sections do
15
- json.child! do
16
- render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index
17
- end
18
- end
19
- else
20
- json.title 'Lists'
21
-
22
- render "#{@path_prefix}/nav_menu", json: json, page: page
23
-
24
- page.list nextPage: next_page, firstSection: ->(section) do
25
- render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index
26
- end, onScrollToBottom: ->(action) do
27
- action.snackbars_alert message: 'Scrolled to Bottom'
28
- end, onScrollToTop: ->(action) do
29
- action.snackbars_alert message: 'Scrolled to Top'
30
- end
31
-
32
- end
1
+
2
+ page_index = params[:page].to_i
3
+ next_page = {
4
+ url: json_ui_garage_url(path: 'lists/autoload_all', page: page_index + 1, section_only: 'v1'),
5
+ autoload: 'all'
6
+ }
7
+
8
+ page = json_ui_page json
9
+
10
+ if params[:section_only].present?
11
+ sleep 1
12
+
13
+ json.nextPage next_page if page_index < 3
14
+ json.sections do
15
+ json.child! do
16
+ render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index
17
+ end
18
+ end
19
+ else
20
+ json.title 'Lists'
21
+
22
+ render "#{@path_prefix}/nav_menu", json: json, page: page
23
+
24
+ page.list nextPage: next_page, firstSection: ->(section) do
25
+ render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index
26
+ end, onScrollToBottom: ->(action) do
27
+ action.snackbars_alert message: 'Scrolled to Bottom'
28
+ end, onScrollToTop: ->(action) do
29
+ action.snackbars_alert message: 'Scrolled to Top'
30
+ end
31
+
32
+ end