glib-web 0.5.71 → 0.5.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +34 -34
  3. data/app/channels/glib/channel/online_channel.rb +36 -36
  4. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  5. data/app/controllers/concerns/glib/auth/policy.rb +148 -148
  6. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  7. data/app/controllers/concerns/glib/json/libs.rb +149 -149
  8. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  9. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  10. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  11. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  12. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  13. data/app/controllers/glib/home_controller.rb +54 -54
  14. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  15. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  16. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  17. data/app/helpers/glib/enum_helper.rb +18 -8
  18. data/app/helpers/glib/forms_helper.rb +15 -15
  19. data/app/helpers/glib/json_ui/abstract_builder.rb +309 -309
  20. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  21. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  22. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  23. data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
  24. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  25. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  26. data/app/helpers/glib/json_ui/action_builder/windows.rb +33 -33
  27. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  28. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  29. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  30. data/app/helpers/glib/json_ui/list_builders.rb +110 -110
  31. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  32. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  33. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  34. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  35. data/app/helpers/glib/json_ui/styling_helper.rb +55 -55
  36. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  37. data/app/helpers/glib/json_ui/view_builder.rb +240 -240
  38. data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
  39. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  40. data/app/helpers/glib/json_ui/view_builder/fields.rb +278 -279
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +256 -256
  42. data/app/helpers/glib/urls_helper.rb +12 -12
  43. data/app/models/glib/active_storage/attachment.rb +9 -9
  44. data/app/models/glib/active_storage/blob.rb +9 -9
  45. data/app/models/glib/application_record.rb +18 -18
  46. data/app/models/glib/dynamic_text_record.rb +9 -9
  47. data/app/models/glib/text.rb +95 -95
  48. data/app/policies/glib/application_policy.rb +161 -161
  49. data/app/validators/email_typo_validator.rb +38 -38
  50. data/app/validators/email_validator.rb +7 -7
  51. data/app/validators/url_validator.rb +20 -20
  52. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  53. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  54. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  55. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  56. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  57. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  59. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  60. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  61. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  62. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  65. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  66. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  67. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  68. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  69. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -22
  70. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  71. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -37
  72. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  73. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  74. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  75. data/app/views/json_ui/garage/forms/index.json.jbuilder +113 -113
  76. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  77. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  78. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  79. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
  80. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  81. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  82. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -84
  83. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
  84. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  85. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  86. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  87. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  88. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  89. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
  90. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  91. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  92. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  93. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  94. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  95. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  96. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  97. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  98. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  99. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  100. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  101. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  102. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  103. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  104. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  105. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  106. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  107. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  108. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  109. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  110. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  111. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  112. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  113. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  114. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  115. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  116. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
  117. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  118. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  119. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  120. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  121. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  122. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  123. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -134
  124. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  125. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  126. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  127. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -0
  128. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  129. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  130. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  131. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  132. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  133. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  134. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  135. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  136. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  137. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  138. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  139. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  140. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  141. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  142. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  143. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  144. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  145. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  146. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -14
  147. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  148. data/app/views/json_ui/garage/views/index.json.jbuilder +67 -67
  149. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  150. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  151. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  152. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  153. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  154. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  155. data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
  156. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  157. data/config/routes.rb +7 -7
  158. data/lib/generators/glib/install_generator.rb +24 -24
  159. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  160. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  161. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  162. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  163. data/lib/generators/templates/database.yml +107 -107
  164. data/lib/generators/templates/dynamic_text.rb +2 -2
  165. data/lib/glib-web.rb +9 -9
  166. data/lib/glib/crypt/utils.rb +26 -26
  167. data/lib/glib/dynamic_text/config.rb +21 -21
  168. data/lib/glib/engine.rb +7 -7
  169. data/lib/glib/json_crawler.rb +11 -11
  170. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  171. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  172. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  173. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  174. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  175. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  176. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  177. data/lib/glib/json_crawler/coverage.rb +20 -20
  178. data/lib/glib/json_crawler/http.rb +120 -120
  179. data/lib/glib/json_crawler/router.rb +98 -98
  180. data/lib/glib/mailer_tester.rb +36 -36
  181. data/lib/glib/test_helpers.rb +52 -52
  182. data/lib/glib/value.rb +7 -7
  183. data/lib/glib/version.rb +5 -5
  184. data/lib/tasks/db.rake +95 -95
  185. metadata +3 -3
@@ -1,24 +1,24 @@
1
-
2
- section.header padding: glib_json_padding_list, childViews: ->(header) do
3
- header.h3 text: 'HTTP'
4
- end
5
-
6
- section.rows builder: ->(template) do
7
- template.thumbnail title: 'http/post', onClick: ->(action) do
8
- action.auth_saveCsrfToken token: form_authenticity_token, onSave: ->(subaction) do
9
- subaction.http_post url: json_ui_garage_url(path: 'forms/basic_post'), formData: { user: { name: { first: 'New', last: 'Joe' } } }
10
- end
11
- end
12
-
13
- template.thumbnail title: 'http/patch', onClick: ->(action) do
14
- action.auth_saveCsrfToken token: form_authenticity_token, onSave: ->(subaction) do
15
- subaction.http_patch url: json_ui_garage_url(path: 'forms/basic_post'), formData: { 'user[name]' => 'Edit Joe' }
16
- end
17
- end
18
-
19
- template.thumbnail title: 'http/delete', onClick: ->(action) do
20
- action.auth_saveCsrfToken token: form_authenticity_token, onSave: ->(subaction) do
21
- subaction.http_delete url: json_ui_garage_url(path: 'forms/basic_post'), formData: { 'user[name]' => 'Delete Joe' }
22
- end
23
- end
24
- end
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'HTTP'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'http/post', onClick: ->(action) do
8
+ action.auth_saveCsrfToken token: form_authenticity_token, onSave: ->(subaction) do
9
+ subaction.http_post url: json_ui_garage_url(path: 'forms/basic_post'), formData: { user: { name: { first: 'New', last: 'Joe' } } }
10
+ end
11
+ end
12
+
13
+ template.thumbnail title: 'http/patch', onClick: ->(action) do
14
+ action.auth_saveCsrfToken token: form_authenticity_token, onSave: ->(subaction) do
15
+ subaction.http_patch url: json_ui_garage_url(path: 'forms/basic_post'), formData: { 'user[name]' => 'Edit Joe' }
16
+ end
17
+ end
18
+
19
+ template.thumbnail title: 'http/delete', onClick: ->(action) do
20
+ action.auth_saveCsrfToken token: form_authenticity_token, onSave: ->(subaction) do
21
+ subaction.http_delete url: json_ui_garage_url(path: 'forms/basic_post'), formData: { 'user[name]' => 'Delete Joe' }
22
+ end
23
+ end
24
+ end
@@ -1,18 +1,18 @@
1
-
2
- section.header padding: glib_json_padding_list, childViews: ->(header) do
3
- header.h3 text: 'Panels'
4
- end
5
-
6
- section.rows builder: ->(template) do
7
- template.thumbnail title: 'panels/scrollToBottom', onClick: ->(action) do
8
- action.panels_scrollToBottom animate: true, onScroll: ->(subaction) do
9
- subaction.dialogs_alert message: 'Bottom reached'
10
- end
11
- end
12
-
13
- template.thumbnail title: 'panels/scrollTo', onClick: ->(action) do
14
- action.panels_scrollTo viewId: 'scroll_anchor', animate: true, onScroll: ->(subaction) do
15
- subaction.dialogs_alert message: 'Bottom reached'
16
- end
17
- end
18
- end
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'Panels'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'panels/scrollToBottom', onClick: ->(action) do
8
+ action.panels_scrollToBottom animate: true, onScroll: ->(subaction) do
9
+ subaction.dialogs_alert message: 'Bottom reached'
10
+ end
11
+ end
12
+
13
+ template.thumbnail title: 'panels/scrollTo', onClick: ->(action) do
14
+ action.panels_scrollTo viewId: 'scroll_anchor', animate: true, onScroll: ->(subaction) do
15
+ subaction.dialogs_alert message: 'Bottom reached'
16
+ end
17
+ end
18
+ end
@@ -1,17 +1,17 @@
1
- section.header padding: glib_json_padding_list, childViews: ->(header) do
2
- header.h3 text: 'Reload'
3
- header.spacer height: 6
4
- header.label text: 'Reload does not open a new page/screen. Click reload a few times, then click back and notice that it goes back to the page before the reload.'
5
- end
6
-
7
- section.rows builder: ->(template) do
8
- template.thumbnail title: "windows/reload (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
9
- action.windows_reload
10
- end
11
-
12
- reload_counter = params[:reload_counter].to_i
13
- reload_counter = 0 if reload_counter > 5
14
- template.thumbnail title: "windows/reload with URL (counter: #{reload_counter})", onClick: ->(action) do
15
- action.windows_reload url: json_ui_garage_url(path: 'actions/index', reload_counter: reload_counter + 1)
16
- end
17
- end
1
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
2
+ header.h3 text: 'Reload'
3
+ header.spacer height: 6
4
+ header.label text: 'Reload does not open a new page/screen. Click reload a few times, then click back and notice that it goes back to the page before the reload.'
5
+ end
6
+
7
+ section.rows builder: ->(template) do
8
+ template.thumbnail title: "windows/reload (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
9
+ action.windows_reload
10
+ end
11
+
12
+ reload_counter = params[:reload_counter].to_i
13
+ reload_counter = 0 if reload_counter > 5
14
+ template.thumbnail title: "windows/reload with URL (counter: #{reload_counter})", onClick: ->(action) do
15
+ action.windows_reload url: json_ui_garage_url(path: 'actions/index', reload_counter: reload_counter + 1)
16
+ end
17
+ end
@@ -1,18 +1,18 @@
1
-
2
- section.header padding: glib_json_padding_list, childViews: ->(header) do
3
- header.h3 text: 'Sheets'
4
- end
5
-
6
- section.rows builder: ->(template) do
7
- template.thumbnail title: 'sheets/select', onClick: ->(action) do
8
- action.sheets_select message: 'Select one', buttons: ->(menu) do
9
- menu.button text: 'Option1', onClick: ->(subaction) do
10
- subaction.dialogs_alert message: 'Option 1'
11
- end
12
- menu.button text: 'Option2', onClick: ->(subaction) do
13
- subaction.dialogs_alert message: 'Option 2'
14
- end
15
- end
16
- end
17
-
18
- end
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'Sheets'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'sheets/select', onClick: ->(action) do
8
+ action.sheets_select message: 'Select one', buttons: ->(menu) do
9
+ menu.button text: 'Option1', onClick: ->(subaction) do
10
+ subaction.dialogs_alert message: 'Option 1'
11
+ end
12
+ menu.button text: 'Option2', onClick: ->(subaction) do
13
+ subaction.dialogs_alert message: 'Option 2'
14
+ end
15
+ end
16
+ end
17
+
18
+ end
@@ -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,7 +1,7 @@
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 += "}"
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
7
  action.dialogs_alert message: info
@@ -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