glib-web 0.5.83 → 0.5.84

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 +149 -149
  6. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  7. data/app/controllers/concerns/glib/json/libs.rb +149 -149
  8. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  9. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  10. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  11. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  12. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  13. data/app/controllers/glib/home_controller.rb +54 -54
  14. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  15. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  16. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  17. data/app/helpers/glib/enum_helper.rb +18 -18
  18. data/app/helpers/glib/forms_helper.rb +15 -15
  19. data/app/helpers/glib/json_ui/abstract_builder.rb +309 -309
  20. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  21. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  22. data/app/helpers/glib/json_ui/action_builder/iap.rb +15 -15
  23. data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
  24. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  25. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  26. data/app/helpers/glib/json_ui/action_builder/windows.rb +38 -38
  27. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  28. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  29. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  30. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  31. data/app/helpers/glib/json_ui/list_builders.rb +110 -110
  32. data/app/helpers/glib/json_ui/menu_builder.rb +96 -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/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 +291 -291
  40. data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -11
  41. data/app/helpers/glib/json_ui/view_builder/panels.rb +258 -258
  42. data/app/helpers/glib/json_ui/view_builder.rb +248 -247
  43. data/app/helpers/glib/urls_helper.rb +12 -12
  44. data/app/models/concerns/glib/soft_deletable.rb +68 -68
  45. data/app/models/glib/active_storage/attachment.rb +9 -9
  46. data/app/models/glib/active_storage/blob.rb +9 -9
  47. data/app/models/glib/application_record.rb +18 -18
  48. data/app/models/glib/dynamic_text_record.rb +9 -9
  49. data/app/models/glib/text.rb +95 -95
  50. data/app/policies/glib/application_policy.rb +191 -191
  51. data/app/validators/email_typo_validator.rb +38 -38
  52. data/app/validators/email_validator.rb +7 -7
  53. data/app/validators/url_validator.rb +20 -20
  54. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  55. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  56. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  57. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
  58. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  59. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  60. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  61. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
  62. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  63. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  64. data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
  65. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +10 -10
  66. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  67. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  68. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  69. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  70. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  71. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
  72. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  73. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +37 -37
  74. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  75. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  76. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  77. data/app/views/json_ui/garage/forms/index.json.jbuilder +116 -116
  78. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
  79. data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
  80. data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
  81. data/app/views/json_ui/garage/forms/payments.json.jbuilder +34 -34
  82. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +81 -81
  83. data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
  84. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  85. data/app/views/json_ui/garage/forms/selects.json.jbuilder +91 -91
  86. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +150 -150
  87. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
  88. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  89. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
  90. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  91. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  92. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +65 -65
  93. data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
  94. data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
  95. data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
  96. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  97. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +30 -30
  98. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  99. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  100. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
  101. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
  102. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  103. data/app/views/json_ui/garage/lists/index.json.jbuilder +38 -38
  104. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  105. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  106. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -114
  107. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  108. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  109. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  110. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  111. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  112. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  113. data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
  114. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  115. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
  116. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  117. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  118. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  119. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +66 -31
  120. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  121. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  122. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +38 -38
  123. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  124. data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
  125. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  126. data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
  127. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  128. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  129. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  130. data/app/views/json_ui/garage/panels/ul.json.jbuilder +33 -33
  131. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
  132. data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
  133. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  134. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  135. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  136. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  137. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  138. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  139. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  140. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  141. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  142. data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
  143. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  144. data/app/views/json_ui/garage/views/banners.json.jbuilder +67 -63
  145. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  146. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  147. data/app/views/json_ui/garage/views/controls.json.jbuilder +37 -37
  148. data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -21
  149. data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
  150. data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
  151. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  152. data/app/views/json_ui/garage/views/index.json.jbuilder +83 -83
  153. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  154. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  155. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  156. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  157. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  158. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  159. data/app/views/json_ui/garage/views/progress.json.jbuilder +31 -31
  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 +2 -3
@@ -1,63 +1,67 @@
1
- json.title 'Views'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
-
8
- scroll.spacer height: 20
9
- scroll.h2 text: 'Basic'
10
- scroll.spacer height: 6
11
- scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner'
12
-
13
- scroll.spacer height: 20
14
- scroll.h2 text: 'With color styling'
15
- scroll.spacer height: 6
16
- scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'success'
17
-
18
- scroll.spacer height: 20
19
- scroll.h2 text: 'With select options'
20
- scroll.spacer height: 6
21
- scroll.banners_select width: 'matchParent', icon: 'info', message: 'This is a select banner', buttons: ->(menu) do
22
- menu.button icon: 'add', text: 'Add', onClick: ->(action) do
23
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
24
- end
25
- menu.button icon: 'edit', text: 'Edit', onClick: ->(action) do
26
- action.windows_open url: json_ui_garage_url(path: 'home/slow')
27
- end
28
- menu.button icon: 'delete', text: 'Delete', onClick: ->(action) do
29
- action.dialogs_alert message: 'Alert'
30
- end
31
-
32
- menu.button icon: 'more_vert', childButtons: ->(submenu) do
33
- submenu.button icon: 'add', text: 'Option1', onClick: ->(action) do
34
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
35
- end
36
- submenu.button icon: 'edit', text: 'Option2', onClick: ->(action) do
37
- action.windows_open url: json_ui_garage_url(path: 'home/slow')
38
- end
39
- submenu.button icon: 'delete', text: 'Option3', onClick: ->(action) do
40
- action.dialogs_alert message: 'Alert'
41
- end
42
- end
43
- end
44
-
45
- scroll.spacer height: 20
46
- scroll.h2 text: 'Alert banner with frameless styling (Experimental)'
47
- scroll.spacer height: 6
48
- scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'frameless'
49
-
50
- # # TODO: Deprecate in favour of `banners/custom` and `markdown`
51
- # markdown = '## Emphasis' + "\n" +
52
- # "\n" +
53
- # '**This is bold text**' + "\n" +
54
- # "\n" +
55
- # '*This is italic text*' + "\n" +
56
- # "\n" +
57
- # '~~Strikethrough~~'
58
- # scroll.spacer height: 20
59
- # scroll.h2 text: 'Alert banner with markdown'
60
- # scroll.spacer height: 6
61
- # scroll.banners_alert width: 'matchParent', icon: 'info', message: markdown, message_format: 'markdown'
62
- end
63
- end
1
+ json.title 'Views'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+
8
+ scroll.spacer height: 20
9
+ scroll.h2 text: 'Basic'
10
+ scroll.spacer height: 6
11
+ scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner'
12
+
13
+ scroll.spacer height: 20
14
+ scroll.h2 text: 'With color styling'
15
+ scroll.spacer height: 6
16
+ scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'success'
17
+
18
+ scroll.spacer height: 20
19
+ scroll.h2 text: 'With select options'
20
+ scroll.spacer height: 6
21
+ scroll.banners_select width: 'matchParent', icon: 'info', message: 'This is a select banner', buttons: ->(menu) do
22
+ menu.button icon: 'add', text: 'Add', badgeContent: 80, onClick: ->(action) do
23
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
24
+ end
25
+ menu.button icon: 'edit', text: 'Edit', onClick: ->(action) do
26
+ action.windows_open url: json_ui_garage_url(path: 'home/slow')
27
+ end
28
+ menu.button icon: 'delete', text: 'Delete', onClick: ->(action) do
29
+ action.dialogs_alert message: 'Alert'
30
+ end
31
+
32
+ menu.button icon: 'more_vert', childButtons: ->(submenu) do
33
+ submenu.button \
34
+ icon: 'add',
35
+ text: 'Option1',
36
+ badgeContent: 3,
37
+ onClick: ->(action) do
38
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
39
+ end
40
+ submenu.button icon: 'edit', text: 'Option2', onClick: ->(action) do
41
+ action.windows_open url: json_ui_garage_url(path: 'home/slow')
42
+ end
43
+ submenu.button icon: 'delete', text: 'Option3', onClick: ->(action) do
44
+ action.dialogs_alert message: 'Alert'
45
+ end
46
+ end
47
+ end
48
+
49
+ scroll.spacer height: 20
50
+ scroll.h2 text: 'Alert banner with frameless styling (Experimental)'
51
+ scroll.spacer height: 6
52
+ scroll.banners_alert width: 'matchParent', icon: 'info', message: 'This is an alert banner', styleClass: 'frameless'
53
+
54
+ # # TODO: Deprecate in favour of `banners/custom` and `markdown`
55
+ # markdown = '## Emphasis' + "\n" +
56
+ # "\n" +
57
+ # '**This is bold text**' + "\n" +
58
+ # "\n" +
59
+ # '*This is italic text*' + "\n" +
60
+ # "\n" +
61
+ # '~~Strikethrough~~'
62
+ # scroll.spacer height: 20
63
+ # scroll.h2 text: 'Alert banner with markdown'
64
+ # scroll.spacer height: 6
65
+ # scroll.banners_alert width: 'matchParent', icon: 'info', message: markdown, message_format: 'markdown'
66
+ end
67
+ end
@@ -1,30 +1,30 @@
1
- section = json_ui_section json
2
- section.rows builder: ->(row) do
3
- row.custom title: 'Hackathon',
4
- extra: {
5
- start: '2018-12-14',
6
- end: '2018-12-17'
7
- },
8
- onClick: ->(action) do
9
- action.dialogs_alert message: 'At Town Hall'
10
- end
11
-
12
- row.custom title: 'Birthday',
13
- extra: {
14
- start: '2018-12-30',
15
- end: '2018-12-30'
16
- },
17
- onClick: ->(action) do
18
- action.dialogs_alert message: 'At home'
19
- end
20
-
21
- row.custom title: 'Conference',
22
- extra: {
23
- start: '2018-12-31',
24
- end: '2019-01-02'
25
- },
26
- onClick: ->(action) do
27
- action.dialogs_alert message: 'In Perth'
28
- end
29
-
30
- end
1
+ section = json_ui_section json
2
+ section.rows builder: ->(row) do
3
+ row.custom title: 'Hackathon',
4
+ extra: {
5
+ start: '2018-12-14',
6
+ end: '2018-12-17'
7
+ },
8
+ onClick: ->(action) do
9
+ action.dialogs_alert message: 'At Town Hall'
10
+ end
11
+
12
+ row.custom title: 'Birthday',
13
+ extra: {
14
+ start: '2018-12-30',
15
+ end: '2018-12-30'
16
+ },
17
+ onClick: ->(action) do
18
+ action.dialogs_alert message: 'At home'
19
+ end
20
+
21
+ row.custom title: 'Conference',
22
+ extra: {
23
+ start: '2018-12-31',
24
+ end: '2019-01-02'
25
+ },
26
+ onClick: ->(action) do
27
+ action.dialogs_alert message: 'In Perth'
28
+ end
29
+
30
+ end
@@ -1,115 +1,115 @@
1
-
2
- if params[:data_only].present?
3
- json_ui_page json do |page|
4
- page.data content: ->(data) do
5
- render "#{@path_prefix}/views/chart_data", json: json, builder: data
6
- end
7
- end
8
- else
9
- json.title 'Views'
10
-
11
- json_ui_page json do |page|
12
- render "#{@path_prefix}/nav_menu", json: json, page: page
13
-
14
- page.scroll padding: {top: 20, left: 20, right: 20, bottom: 20}, childViews: ->(scroll) do
15
- scroll.h1 text: 'Line chart'
16
- scroll.charts_line dataSeries: [
17
- -> do
18
- json.title 'Line 1'
19
-
20
- points = {
21
- 'Sat, 10 Nov 2018' => 1,
22
- 'Sun, 11 Nov 2018' => 7,
23
- 'Mon, 12 Nov 2018' => 2,
24
- 'Tue, 13 Nov 2018' => 0,
25
- 'Wed, 14 Nov 2018' => 1,
26
- 'Thu, 15 Nov 2018' => 1,
27
- 'Fri, 16 Nov 2018' => 5,
28
- }
29
- json.points points.map { |k, v| { x: k, y: v } }
30
- end,
31
- -> do
32
- json.title 'Line 2'
33
-
34
- points = {
35
- 'Sat, 10 Nov 2018' => 5,
36
- 'Sun, 11 Nov 2018' => 3,
37
- 'Mon, 12 Nov 2018' => 8,
38
- 'Tue, 13 Nov 2018' => 5,
39
- 'Wed, 14 Nov 2018' => 3,
40
- 'Thu, 15 Nov 2018' => 5,
41
- 'Fri, 16 Nov 2018' => 1,
42
- }
43
- json.points points.map { |k, v| { x: k, y: v } }
44
- end
45
- ]
46
-
47
- scroll.spacer height: 20
48
- scroll.h1 text: 'Line chart using remote data'
49
- render "#{@path_prefix}/views/chart_data", json: json, builder: scroll
50
-
51
- scroll.h2 text: 'Column chart (Clustered)'
52
- scroll.charts_column dataGroups: [
53
- -> do
54
- json.title 'Column 1'
55
-
56
- points = {
57
- '2010' => 10,
58
- '2020' => 16,
59
- }
60
- json.points points
61
- end,
62
- -> do
63
- json.title 'Column 2'
64
-
65
- points = {
66
- '2010' => 24,
67
- '2020' => 22,
68
- }
69
- json.points points
70
- end,
71
- -> do
72
- json.title 'Column 3'
73
-
74
- points = {
75
- '2010' => 20,
76
- '2020' => 23,
77
- }
78
- json.points points
79
- end
80
- ]
81
-
82
- scroll.h2 text: 'Column chart (Stacked)'
83
- scroll.charts_column stacked: true, dataGroups: [
84
- -> do
85
- json.title 'Column 1'
86
-
87
- points = {
88
- '2010' => 10,
89
- '2020' => 16,
90
- }
91
- json.points points
92
- end,
93
- -> do
94
- json.title 'Column 2'
95
-
96
- points = {
97
- '2010' => 24,
98
- '2020' => 22,
99
- }
100
- json.points points
101
- end,
102
- -> do
103
- json.title 'Column 3'
104
-
105
- points = {
106
- '2010' => 20,
107
- '2020' => 23,
108
- }
109
- json.points points
110
- end
111
- ]
112
- end
113
- end
114
-
115
- end
1
+
2
+ if params[:data_only].present?
3
+ json_ui_page json do |page|
4
+ page.data content: ->(data) do
5
+ render "#{@path_prefix}/views/chart_data", json: json, builder: data
6
+ end
7
+ end
8
+ else
9
+ json.title 'Views'
10
+
11
+ json_ui_page json do |page|
12
+ render "#{@path_prefix}/nav_menu", json: json, page: page
13
+
14
+ page.scroll padding: {top: 20, left: 20, right: 20, bottom: 20}, childViews: ->(scroll) do
15
+ scroll.h1 text: 'Line chart'
16
+ scroll.charts_line dataSeries: [
17
+ -> do
18
+ json.title 'Line 1'
19
+
20
+ points = {
21
+ 'Sat, 10 Nov 2018' => 1,
22
+ 'Sun, 11 Nov 2018' => 7,
23
+ 'Mon, 12 Nov 2018' => 2,
24
+ 'Tue, 13 Nov 2018' => 0,
25
+ 'Wed, 14 Nov 2018' => 1,
26
+ 'Thu, 15 Nov 2018' => 1,
27
+ 'Fri, 16 Nov 2018' => 5,
28
+ }
29
+ json.points points.map { |k, v| { x: k, y: v } }
30
+ end,
31
+ -> do
32
+ json.title 'Line 2'
33
+
34
+ points = {
35
+ 'Sat, 10 Nov 2018' => 5,
36
+ 'Sun, 11 Nov 2018' => 3,
37
+ 'Mon, 12 Nov 2018' => 8,
38
+ 'Tue, 13 Nov 2018' => 5,
39
+ 'Wed, 14 Nov 2018' => 3,
40
+ 'Thu, 15 Nov 2018' => 5,
41
+ 'Fri, 16 Nov 2018' => 1,
42
+ }
43
+ json.points points.map { |k, v| { x: k, y: v } }
44
+ end
45
+ ]
46
+
47
+ scroll.spacer height: 20
48
+ scroll.h1 text: 'Line chart using remote data'
49
+ render "#{@path_prefix}/views/chart_data", json: json, builder: scroll
50
+
51
+ scroll.h2 text: 'Column chart (Clustered)'
52
+ scroll.charts_column dataGroups: [
53
+ -> do
54
+ json.title 'Column 1'
55
+
56
+ points = {
57
+ '2010' => 10,
58
+ '2020' => 16,
59
+ }
60
+ json.points points
61
+ end,
62
+ -> do
63
+ json.title 'Column 2'
64
+
65
+ points = {
66
+ '2010' => 24,
67
+ '2020' => 22,
68
+ }
69
+ json.points points
70
+ end,
71
+ -> do
72
+ json.title 'Column 3'
73
+
74
+ points = {
75
+ '2010' => 20,
76
+ '2020' => 23,
77
+ }
78
+ json.points points
79
+ end
80
+ ]
81
+
82
+ scroll.h2 text: 'Column chart (Stacked)'
83
+ scroll.charts_column stacked: true, dataGroups: [
84
+ -> do
85
+ json.title 'Column 1'
86
+
87
+ points = {
88
+ '2010' => 10,
89
+ '2020' => 16,
90
+ }
91
+ json.points points
92
+ end,
93
+ -> do
94
+ json.title 'Column 2'
95
+
96
+ points = {
97
+ '2010' => 24,
98
+ '2020' => 22,
99
+ }
100
+ json.points points
101
+ end,
102
+ -> do
103
+ json.title 'Column 3'
104
+
105
+ points = {
106
+ '2010' => 20,
107
+ '2020' => 23,
108
+ }
109
+ json.points points
110
+ end
111
+ ]
112
+ end
113
+ end
114
+
115
+ end
@@ -1,37 +1,37 @@
1
- json.title 'Views'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
- scroll.h2 text: 'Button'
8
- scroll.spacer height: 6
9
- scroll.button text: 'Click me', onClick: ->(action) do
10
- action.dialogs_alert message: 'Perform action'
11
- end
12
-
13
- scroll.spacer height: 20
14
- scroll.h2 text: 'Chip'
15
- scroll.spacer height: 6
16
- scroll.chip styleClass: 'success', text: 'pending'
17
- scroll.spacer height: 6
18
- scroll.chip text: 'Skills', onClick: ->(action) do
19
- action.dialogs_alert message: 'Perform action'
20
- end
21
-
22
- scroll.spacer height: 20
23
- scroll.h2 text: 'Switch'
24
- scroll.spacer height: 6
25
- scroll.switch \
26
- text: 'Email notification',
27
- onEnabled: ->(action) do
28
- action.dialogs_alert message: 'Enabled'
29
- end
30
- scroll.switch \
31
- enabled: true,
32
- text: 'Push notification',
33
- onDisabled: ->(action) do
34
- action.dialogs_alert message: 'Disabled'
35
- end
36
-
37
- end
1
+ json.title 'Views'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.h2 text: 'Button'
8
+ scroll.spacer height: 6
9
+ scroll.button text: 'Click me', onClick: ->(action) do
10
+ action.dialogs_alert message: 'Perform action'
11
+ end
12
+
13
+ scroll.spacer height: 20
14
+ scroll.h2 text: 'Chip'
15
+ scroll.spacer height: 6
16
+ scroll.chip styleClass: 'success', text: 'pending'
17
+ scroll.spacer height: 6
18
+ scroll.chip text: 'Skills', onClick: ->(action) do
19
+ action.dialogs_alert message: 'Perform action'
20
+ end
21
+
22
+ scroll.spacer height: 20
23
+ scroll.h2 text: 'Switch'
24
+ scroll.spacer height: 6
25
+ scroll.switch \
26
+ text: 'Email notification',
27
+ onEnabled: ->(action) do
28
+ action.dialogs_alert message: 'Enabled'
29
+ end
30
+ scroll.switch \
31
+ enabled: true,
32
+ text: 'Push notification',
33
+ onDisabled: ->(action) do
34
+ action.dialogs_alert message: 'Disabled'
35
+ end
36
+
37
+ end
@@ -1,21 +1,21 @@
1
- json.title 'Views'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
-
8
- product_id = 'APP_STORE_PRODUCT_KEY'
9
-
10
- scroll.h2 text: 'IAP product button'
11
- scroll.spacer height: 6
12
- scroll.iap_productButton text: 'GET', productId: product_id, onClick: ->(action) do
13
- action.iap_initiatePurchase mode: 'purchase', productId: product_id, onSuccess: ->(subaction) do
14
- subaction.dialogs_alert message: 'Success'
15
- end, onFailure: ->(subaction) do
16
- subaction.dialogs_alert message: 'Failure'
17
- end
18
- end
19
-
20
- end
21
- end
1
+ json.title 'Views'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+
8
+ product_id = 'APP_STORE_PRODUCT_KEY'
9
+
10
+ scroll.h2 text: 'IAP product button'
11
+ scroll.spacer height: 6
12
+ scroll.iap_productButton text: 'GET', productId: product_id, onClick: ->(action) do
13
+ action.iap_initiatePurchase mode: 'purchase', productId: product_id, onSuccess: ->(subaction) do
14
+ subaction.dialogs_alert message: 'Success'
15
+ end, onFailure: ->(subaction) do
16
+ subaction.dialogs_alert message: 'Failure'
17
+ end
18
+ end
19
+
20
+ end
21
+ end