glib-web 0.5.52 → 0.5.53

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 (173) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +28 -28
  3. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  4. data/app/controllers/concerns/glib/auth/policy.rb +148 -148
  5. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  6. data/app/controllers/concerns/glib/json/libs.rb +144 -144
  7. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  8. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  9. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  10. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  11. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  12. data/app/controllers/glib/home_controller.rb +16 -16
  13. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  14. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  15. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  16. data/app/helpers/glib/enum_helper.rb +8 -8
  17. data/app/helpers/glib/forms_helper.rb +15 -15
  18. data/app/helpers/glib/json_ui/abstract_builder.rb +294 -294
  19. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  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/sheets.rb +15 -15
  23. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  24. data/app/helpers/glib/json_ui/action_builder/windows.rb +26 -26
  25. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  26. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  27. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  28. data/app/helpers/glib/json_ui/list_builders.rb +109 -109
  29. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  30. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  31. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  32. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  33. data/app/helpers/glib/json_ui/styling_helper.rb +47 -47
  34. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  35. data/app/helpers/glib/json_ui/view_builder.rb +209 -209
  36. data/app/helpers/glib/json_ui/view_builder/banners.rb +25 -25
  37. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  38. data/app/helpers/glib/json_ui/view_builder/fields.rb +240 -240
  39. data/app/helpers/glib/json_ui/view_builder/panels.rb +250 -250
  40. data/app/helpers/glib/urls_helper.rb +12 -7
  41. data/app/models/glib/active_storage/attachment.rb +9 -9
  42. data/app/models/glib/active_storage/blob.rb +9 -9
  43. data/app/models/glib/application_record.rb +18 -18
  44. data/app/models/glib/dynamic_text_record.rb +9 -9
  45. data/app/models/glib/text.rb +95 -95
  46. data/app/policies/glib/application_policy.rb +161 -161
  47. data/app/validators/email_typo_validator.rb +38 -38
  48. data/app/validators/email_validator.rb +7 -7
  49. data/app/validators/url_validator.rb +20 -20
  50. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  51. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  52. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  53. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  54. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  55. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  56. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +18 -18
  57. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  58. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  59. data/app/views/json_ui/garage/actions/index.json.jbuilder +22 -22
  60. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  61. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  62. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  63. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  64. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  65. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  66. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +22 -22
  67. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  68. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -32
  69. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  70. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  71. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  72. data/app/views/json_ui/garage/forms/index.json.jbuilder +108 -108
  73. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  74. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +46 -46
  75. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  76. data/app/views/json_ui/garage/forms/selects.json.jbuilder +70 -70
  77. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +105 -105
  78. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +36 -36
  79. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  80. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +24 -24
  81. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  82. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  83. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +59 -59
  84. data/app/views/json_ui/garage/home/blank.json.jbuilder +11 -11
  85. data/app/views/json_ui/garage/home/index.json.jbuilder +32 -32
  86. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  87. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  88. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  89. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  90. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +93 -93
  91. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +54 -54
  92. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  93. data/app/views/json_ui/garage/lists/index.json.jbuilder +32 -32
  94. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  95. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  96. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +97 -97
  97. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  98. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  99. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  100. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  101. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  102. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  103. data/app/views/json_ui/garage/pages/index.json.jbuilder +58 -58
  104. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  105. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  106. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  107. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  108. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +27 -27
  109. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  110. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  111. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  112. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  113. data/app/views/json_ui/garage/panels/flow.json.jbuilder +49 -49
  114. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  115. data/app/views/json_ui/garage/panels/index.json.jbuilder +132 -132
  116. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  117. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  118. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  119. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +50 -50
  120. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  121. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  122. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  123. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  124. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  125. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  126. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  127. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  128. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  129. data/app/views/json_ui/garage/tables/layout.json.jbuilder +36 -36
  130. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  131. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  132. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  133. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  134. data/app/views/json_ui/garage/views/icons.json.jbuilder +1450 -1450
  135. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  136. data/app/views/json_ui/garage/views/index.json.jbuilder +54 -54
  137. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  138. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  139. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  140. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  141. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  142. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  143. data/app/views/json_ui/garage/views/texts.json.jbuilder +44 -44
  144. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  145. data/config/routes.rb +7 -7
  146. data/lib/generators/glib/install_generator.rb +24 -24
  147. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  148. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  149. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  150. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  151. data/lib/generators/templates/database.yml +107 -107
  152. data/lib/generators/templates/dynamic_text.rb +2 -2
  153. data/lib/glib-web.rb +9 -9
  154. data/lib/glib/crypt/utils.rb +26 -26
  155. data/lib/glib/dynamic_text/config.rb +21 -21
  156. data/lib/glib/engine.rb +7 -7
  157. data/lib/glib/json_crawler.rb +11 -11
  158. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  159. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  160. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  161. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  162. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  163. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  164. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  165. data/lib/glib/json_crawler/coverage.rb +20 -20
  166. data/lib/glib/json_crawler/http.rb +120 -120
  167. data/lib/glib/json_crawler/router.rb +98 -98
  168. data/lib/glib/mailer_tester.rb +36 -36
  169. data/lib/glib/test_helpers.rb +52 -52
  170. data/lib/glib/value.rb +7 -7
  171. data/lib/glib/version.rb +5 -5
  172. data/lib/tasks/db.rake +95 -95
  173. metadata +3 -8
@@ -1,29 +1,29 @@
1
- json.title 'Tables'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.table export: { label: 'Export', fileName: 'output' }, import: { submitUrl: json_ui_garage_url(path: 'forms/generic_post'), paramName: 'user' }, firstSection: ->(section) do
7
- section.header cellViews: ->(header) do
8
- header.label text: 'field1'
9
- header.label text: 'field2'
10
- header.label text: 'field3'
11
- header.label text: 'field4'
12
- header.label text: 'field5'
13
- header.label text: 'field6'
14
- end
15
-
16
- items = [1, 2, 3]
17
- section.rows objects: items, builder: ->(row, item, index) do
18
- row.default cellViews: ->(cell) do
19
- cell.label text: "Data #{item}"
20
- cell.label text: "Data 'A' #{item}"
21
- cell.label text: 'Data "B"' + " #{item}"
22
- cell.label text: "Data , #{item}"
23
- cell.label text: "Line A#{item}\nLine B#{item}"
24
- cell.label text: "Line A#{item}\rLine B#{item}"
25
- end, onClick: ->(action) do
26
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
27
- end
28
- end
29
- end
1
+ json.title 'Tables'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.table export: { label: 'Export', fileName: 'output' }, import: { submitUrl: json_ui_garage_url(path: 'forms/generic_post'), paramName: 'user' }, firstSection: ->(section) do
7
+ section.header cellViews: ->(header) do
8
+ header.label text: 'field1'
9
+ header.label text: 'field2'
10
+ header.label text: 'field3'
11
+ header.label text: 'field4'
12
+ header.label text: 'field5'
13
+ header.label text: 'field6'
14
+ end
15
+
16
+ items = [1, 2, 3]
17
+ section.rows objects: items, builder: ->(row, item, index) do
18
+ row.default cellViews: ->(cell) do
19
+ cell.label text: "Data #{item}"
20
+ cell.label text: "Data 'A' #{item}"
21
+ cell.label text: 'Data "B"' + " #{item}"
22
+ cell.label text: "Data , #{item}"
23
+ cell.label text: "Line A#{item}\nLine B#{item}"
24
+ cell.label text: "Line A#{item}\rLine B#{item}"
25
+ end, onClick: ->(action) do
26
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
27
+ end
28
+ end
29
+ end
@@ -1,26 +1,26 @@
1
- json.title 'Tables'
2
-
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- column_indexes = (1..20)
7
- page.table firstSection: ->(section) do
8
- section.header cellViews: ->(header) do
9
- column_indexes.each do |i|
10
- header.label text: "Heading#{i}"
11
- end
12
- end
13
-
14
- items = [1, 2, 3]
15
- section.rows objects: items, builder: ->(row, item, index) do
16
- row.default cellViews: ->(cell) do
17
- column_indexes.each do |i|
18
- cell.label text: "Data #{item}"
19
- end
20
- end, onClick: ->(action) do
21
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
22
- end
23
- end
24
- end
25
-
26
- end
1
+ json.title 'Tables'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ column_indexes = (1..20)
7
+ page.table firstSection: ->(section) do
8
+ section.header cellViews: ->(header) do
9
+ column_indexes.each do |i|
10
+ header.label text: "Heading#{i}"
11
+ end
12
+ end
13
+
14
+ items = [1, 2, 3]
15
+ section.rows objects: items, builder: ->(row, item, index) do
16
+ row.default cellViews: ->(cell) do
17
+ column_indexes.each do |i|
18
+ cell.label text: "Data #{item}"
19
+ end
20
+ end, onClick: ->(action) do
21
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
22
+ end
23
+ end
24
+ end
25
+
26
+ end
@@ -1,25 +1,25 @@
1
- json.title 'Tables'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
-
6
- page.list firstSection: ->(section) do
7
- section.rows builder: ->(template) do
8
- template.thumbnail title: 'Layout', onClick: ->(action) do
9
- action.windows_open url: json_ui_garage_url(path: 'tables/layout')
10
- end
11
- template.thumbnail title: 'Horizontal Scroll', onClick: ->(action) do
12
- action.windows_open url: json_ui_garage_url(path: 'tables/horizontal_scroll')
13
- end
14
- template.thumbnail title: 'Export/Import', onClick: ->(action) do
15
- action.windows_open url: json_ui_garage_url(path: 'tables/export_import')
16
- end
17
- template.thumbnail title: 'Autoload as Needed', onClick: ->(action) do
18
- action.windows_open url: json_ui_garage_url(path: 'tables/autoload_as_needed')
19
- end
20
- template.thumbnail title: 'Autoload All', onClick: ->(action) do
21
- action.windows_open url: json_ui_garage_url(path: 'tables/autoload_all')
22
- end
23
- end
24
-
25
- end
1
+ json.title 'Tables'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
+
6
+ page.list firstSection: ->(section) do
7
+ section.rows builder: ->(template) do
8
+ template.thumbnail title: 'Layout', onClick: ->(action) do
9
+ action.windows_open url: json_ui_garage_url(path: 'tables/layout')
10
+ end
11
+ template.thumbnail title: 'Horizontal Scroll', onClick: ->(action) do
12
+ action.windows_open url: json_ui_garage_url(path: 'tables/horizontal_scroll')
13
+ end
14
+ template.thumbnail title: 'Export/Import', onClick: ->(action) do
15
+ action.windows_open url: json_ui_garage_url(path: 'tables/export_import')
16
+ end
17
+ template.thumbnail title: 'Autoload as Needed', onClick: ->(action) do
18
+ action.windows_open url: json_ui_garage_url(path: 'tables/autoload_as_needed')
19
+ end
20
+ template.thumbnail title: 'Autoload All', onClick: ->(action) do
21
+ action.windows_open url: json_ui_garage_url(path: 'tables/autoload_all')
22
+ end
23
+ end
24
+
25
+ end
@@ -1,36 +1,36 @@
1
- json.title 'Tables'
2
-
3
- page = json_ui_page json
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- column_indexes = (1..5)
7
- page.table sections: [
8
- ->(section) do
9
- section.rows builder: ->(row) do
10
- row.default colSpans: [3, 2], cellViews: ->(cell) do
11
- cell.label text: 'Spans 3 columns'
12
- cell.panels_horizontal width: 'matchParent', backgroundColor: '#dddddd', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(horizontal) do
13
- horizontal.label text: 'Spans 2 columns'
14
- end
15
- end
16
- end
17
- end,
18
- ->(section) do
19
- section.header cellViews: ->(header) do
20
- column_indexes.each do |i|
21
- header.label text: "Heading#{i}"
22
- end
23
- end
24
-
25
- items = [1, 2, 3]
26
- section.rows objects: items, builder: ->(row, item, index) do
27
- row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
28
- column_indexes.each do |i|
29
- cell.label text: "Data #{item}"
30
- end
31
- end, onClick: ->(action) do
32
- action.windows_open url: json_ui_garage_url(path: 'home/blank')
33
- end
34
- end
35
- end
36
- ]
1
+ json.title 'Tables'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ column_indexes = (1..5)
7
+ page.table sections: [
8
+ ->(section) do
9
+ section.rows builder: ->(row) do
10
+ row.default colSpans: [3, 2], cellViews: ->(cell) do
11
+ cell.label text: 'Spans 3 columns'
12
+ cell.panels_horizontal width: 'matchParent', backgroundColor: '#dddddd', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(horizontal) do
13
+ horizontal.label text: 'Spans 2 columns'
14
+ end
15
+ end
16
+ end
17
+ end,
18
+ ->(section) do
19
+ section.header cellViews: ->(header) do
20
+ column_indexes.each do |i|
21
+ header.label text: "Heading#{i}"
22
+ end
23
+ end
24
+
25
+ items = [1, 2, 3]
26
+ section.rows objects: items, builder: ->(row, item, index) do
27
+ row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
28
+ column_indexes.each do |i|
29
+ cell.label text: "Data #{item}"
30
+ end
31
+ end, onClick: ->(action) do
32
+ action.windows_open url: json_ui_garage_url(path: 'home/blank')
33
+ end
34
+ end
35
+ end
36
+ ]
@@ -1,17 +1,17 @@
1
- page_index = params[:page].to_i
2
- next_page = {
3
- url: json_ui_garage_url(path: 'views/charts', page: page_index + 1, data_only: 'v1'),
4
- autoload: 'all'
5
- }
6
-
7
- if page_index < 3
8
- builder.charts_line nextPage: next_page, dataSeries: [
9
- -> do
10
- json.title "Page #{page_index + 1}"
11
-
12
- from = page_index + 1
13
- to = page_index
14
- json.points (from.month.ago.to_date..to.month.ago.to_date).map { |d| { x: d, y: 100 + rand(40) } }
15
- end
16
- ]
17
- end
1
+ page_index = params[:page].to_i
2
+ next_page = {
3
+ url: json_ui_garage_url(path: 'views/charts', page: page_index + 1, data_only: 'v1'),
4
+ autoload: 'all'
5
+ }
6
+
7
+ if page_index < 3
8
+ builder.charts_line nextPage: next_page, dataSeries: [
9
+ -> do
10
+ json.title "Page #{page_index + 1}"
11
+
12
+ from = page_index + 1
13
+ to = page_index
14
+ json.points (from.month.ago.to_date..to.month.ago.to_date).map { |d| { x: d, y: 100 + rand(40) } }
15
+ end
16
+ ]
17
+ end
@@ -1,63 +1,63 @@
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', 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,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