glib-web 0.4.20 → 0.4.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +5 -5
  2. data/app/controllers/concerns/glib/auth/policy.rb +0 -0
  3. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
  4. data/app/controllers/concerns/glib/json/traversal.rb +0 -0
  5. data/app/controllers/concerns/glib/json/ui.rb +3 -1
  6. data/app/controllers/glib/home_controller.rb +0 -0
  7. data/app/helpers/glib/dynamic_images_helper.rb +0 -0
  8. data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
  9. data/app/helpers/glib/json_ui/abstract_builder.rb +71 -68
  10. data/app/helpers/glib/json_ui/action_builder.rb +0 -0
  11. data/app/helpers/glib/json_ui/list_builders.rb +3 -2
  12. data/app/helpers/glib/json_ui/menu_builder.rb +0 -0
  13. data/app/helpers/glib/json_ui/page_helper.rb +0 -0
  14. data/app/helpers/glib/json_ui/response_helper.rb +0 -0
  15. data/app/helpers/glib/json_ui/split_builders.rb +0 -0
  16. data/app/helpers/glib/json_ui/styling_helper.rb +0 -0
  17. data/app/helpers/glib/json_ui/table_builders.rb +0 -0
  18. data/app/helpers/glib/json_ui/view_builder.rb +0 -0
  19. data/app/helpers/glib/json_ui/view_builder/banners.rb +0 -0
  20. data/app/helpers/glib/json_ui/view_builder/fields.rb +14 -0
  21. data/app/helpers/glib/json_ui/view_builder/panels.rb +8 -8
  22. data/app/models/glib/active_storage/attachment.rb +0 -0
  23. data/app/models/glib/active_storage/blob.rb +0 -0
  24. data/app/models/glib/dynamic_text_record.rb +0 -0
  25. data/app/models/glib/text.rb +0 -0
  26. data/app/policies/glib/application_policy.rb +148 -148
  27. data/app/views/app/views/json_ui/vue/renderer.html.erb +4 -0
  28. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +0 -0
  29. data/app/views/json_ui/garage/actions/index.json.jbuilder +0 -0
  30. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +0 -0
  31. data/app/views/json_ui/garage/forms/basic.json.jbuilder +0 -0
  32. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
  33. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +0 -0
  34. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +33 -0
  35. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +0 -0
  36. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
  37. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +2 -1
  38. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +0 -0
  39. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
  40. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
  41. data/app/views/json_ui/garage/forms/index.json.jbuilder +7 -4
  42. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +0 -0
  43. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +0 -0
  44. data/app/views/json_ui/garage/forms/selects.json.jbuilder +0 -0
  45. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
  46. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
  47. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
  48. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
  49. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +5 -1
  50. data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
  51. data/app/views/json_ui/garage/home/index.json.jbuilder +0 -0
  52. data/app/views/json_ui/garage/lists/_infinite_scroll_section.json.jbuilder +0 -0
  53. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +0 -0
  54. data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
  55. data/app/views/json_ui/garage/lists/index.json.jbuilder +0 -0
  56. data/app/views/json_ui/garage/lists/infinite_scroll.json.jbuilder +0 -0
  57. data/app/views/json_ui/garage/lists/templating.json.jbuilder +9 -1
  58. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +6 -6
  59. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +7 -7
  60. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
  61. data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
  62. data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
  63. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +0 -0
  64. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +0 -0
  65. data/app/views/json_ui/garage/panels/card.json.jbuilder +11 -34
  66. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +0 -0
  67. data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
  68. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +0 -0
  69. data/app/views/json_ui/garage/panels/index.json.jbuilder +21 -7
  70. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +0 -0
  71. data/app/views/json_ui/garage/panels/split.json.jbuilder +0 -0
  72. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
  73. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
  74. data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
  75. data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
  76. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
  77. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
  78. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
  79. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +0 -0
  80. data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
  81. data/app/views/json_ui/garage/views/banners.json.jbuilder +0 -0
  82. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
  83. data/app/views/json_ui/garage/views/carousels.json.jbuilder +0 -0
  84. data/app/views/json_ui/garage/views/charts.json.jbuilder +0 -0
  85. data/app/views/json_ui/garage/views/images.json.jbuilder +0 -0
  86. data/app/views/json_ui/garage/views/index.json.jbuilder +0 -0
  87. data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
  88. data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
  89. data/app/views/json_ui/garage/views/misc.json.jbuilder +0 -0
  90. data/app/views/json_ui/garage/views/texts.json.jbuilder +0 -0
  91. data/app/views/layouts/json_ui/renderer.html.erb +32 -0
  92. data/config/routes.rb +0 -0
  93. data/lib/generators/glib/install_generator.rb +0 -0
  94. data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
  95. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
  96. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
  97. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
  98. data/lib/generators/templates/database.yml +0 -0
  99. data/lib/generators/templates/dynamic_text.rb +0 -0
  100. data/lib/glib-web.rb +0 -0
  101. data/lib/glib/dynamic_text.rb +0 -0
  102. data/lib/glib/dynamic_text/config.rb +0 -0
  103. data/lib/glib/engine.rb +0 -0
  104. data/lib/glib/json_crawler.rb +0 -0
  105. data/lib/glib/json_crawler/action_crawler.rb +0 -0
  106. data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
  107. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +0 -0
  108. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +0 -0
  109. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
  110. data/lib/glib/json_crawler/http.rb +0 -0
  111. data/lib/glib/json_crawler/router.rb +0 -0
  112. data/lib/glib/value.rb +0 -0
  113. data/lib/glib/version.rb +0 -0
  114. metadata +4 -6
  115. data/app/controllers/concerns/application/json/libs.rb +0 -94
  116. data/app/controllers/concerns/application/json/transformation.rb +0 -11
  117. data/app/controllers/concerns/application/json/ui.rb +0 -66
  118. data/app/controllers/concerns/application/json/validation.rb +0 -13
@@ -1,3 +1,4 @@
1
+ <!-- Deprecated. Use layouts instead
1
2
  <!DOCTYPE html>
2
3
  <html>
3
4
 
@@ -26,6 +27,9 @@
26
27
  <script>
27
28
  var __page = <%= raw @__json_ui_orig_page%>;
28
29
  </script>
30
+
31
+ <% locals[:footer_block]&.call %>
29
32
  </body>
30
33
 
31
34
  </html>
35
+ -->
File without changes
File without changes
File without changes
@@ -0,0 +1,33 @@
1
+ json.title 'Forms'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
+ form.h2 text: 'Dynamic Group'
8
+ form.spacer height: 6
9
+
10
+ value = [
11
+ {
12
+ 'question': 'Punctuality',
13
+ 'type': 'rating'
14
+ },
15
+ {
16
+ 'question': 'Quality of work',
17
+ 'type': 'rating'
18
+ },
19
+ {
20
+ 'question': 'Satisfied?',
21
+ 'type': 'yes_no'
22
+ }
23
+ ]
24
+ form.fields_dynamicGroup width: 'matchParent', name: 'user[evaluation]', value: value, groupTitlePrefix: 'Entry', groupTemplateViews: ->(group) do
25
+ group.spacer height: 10
26
+ group.fields_text width: 'matchParent', name: 'question', label: 'Question'
27
+ group.fields_text width: 'matchParent', name: 'type', label: 'Answer type'
28
+ end
29
+
30
+ form.spacer height: 20
31
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
32
+ end
33
+ end
@@ -21,7 +21,8 @@ json_ui_page json do |page|
21
21
  form.fields_file name: 'user[photo][]', width: 'matchParent', label: 'Photo', accepts: rules2, directUploadUrl: rails_direct_uploads_url,
22
22
  placeholderView: { type: 'avatar', width: 100, height: 100 }
23
23
 
24
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
24
+ form.fields_submit text: 'Submit'
25
+ # form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
25
26
  end)
26
27
  end
27
28
 
@@ -2,7 +2,7 @@ json.title 'Forms'
2
2
 
3
3
  json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
-
5
+
6
6
  page.list sections: [
7
7
  ->(section) do
8
8
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -25,7 +25,7 @@ json_ui_page json do |page|
25
25
  template.thumbnail title: 'GET Request', onClick: ->(action) do
26
26
  action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
27
27
  end
28
-
28
+
29
29
  end
30
30
  end, ->(section) do
31
31
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -56,7 +56,7 @@ json_ui_page json do |page|
56
56
  template.thumbnail title: 'Rich Text Editor', onClick: ->(action) do
57
57
  action.windows_open url: json_ui_garage_url(path: 'forms/rich_text')
58
58
  end
59
-
59
+
60
60
  end
61
61
  end, ->(section) do
62
62
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -64,13 +64,16 @@ json_ui_page json do |page|
64
64
  end
65
65
 
66
66
  section.rows builder: ->(template) do
67
+ template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
68
+ action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_group')
69
+ end
67
70
  template.thumbnail title: 'Dynamic Select', onClick: ->(action) do
68
71
  action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_select')
69
72
  end
70
73
  template.thumbnail title: 'Checkboxes', onClick: ->(action) do
71
74
  action.windows_open url: json_ui_garage_url(path: 'forms/checkboxes')
72
75
  end
73
-
76
+
74
77
  end
75
78
  end
76
79
  ]
File without changes
File without changes
@@ -10,6 +10,10 @@ json_ui_page json do |page|
10
10
  form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
11
11
  form.fields_textarea name: 'user[textarea]', width: 'matchParent', label: 'Textarea with maxLength', maxLength: 50
12
12
 
13
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
13
+ form.spacer height: 20
14
+ form.fields_stripeToken name: 'user[stripe_token]', width: 'matchParent', publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
15
+
16
+ form.spacer height: 30
17
+ form.fields_submit text: 'Submit'
14
18
  end
15
19
  end
File without changes
File without changes
File without changes
File without changes
@@ -2,7 +2,7 @@ json.title 'Lists'
2
2
 
3
3
  json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
5
+
6
6
  page.list firstSection: ->(section) do
7
7
  section.header padding: { top: 12, left: 16, right: 16, bottom: 12 }, childViews: ->(header) do
8
8
  header.h3 text: 'Section Header'
@@ -14,6 +14,14 @@ json_ui_page json do |page|
14
14
  end
15
15
  template.thumbnail title: 'Item with subtitle', subtitle: 'Item subtitle'
16
16
  template.thumbnail title: 'Item with thumbnail image', subtitle: 'Item subtitle', imageUrl: glib_json_image_standard_url
17
+ template.thumbnail title: 'Item with accessories', subtitle: 'Item subtitle', accessoryViews: ->(thumbnail) do
18
+ thumbnail.panels_horizontal childViews: ->(horizontal) do
19
+ horizontal.chip text: 'finished'
20
+ horizontal.spacer width: 10
21
+ horizontal.chip text: 'succeeded'
22
+ end
23
+ end
24
+
17
25
  template.featured title: 'Featured with featured image', subtitle: 'Item subtitle', imageUrl: glib_json_image_standard_url
18
26
  end
19
27
  end
@@ -4,23 +4,23 @@ json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page
5
5
 
6
6
  page.template 'flatCentered'
7
-
7
+
8
8
  page.header childViews: ->(header) do
9
- header.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
10
- card.h1 text: 'Header'
9
+ header.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
10
+ vertical.h1 text: 'Header'
11
11
  end
12
12
  header.spacer height: 20
13
13
  end
14
14
 
15
15
  page.footer childViews: ->(footer) do
16
16
  footer.spacer height: 20
17
- footer.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
18
- card.h1 text: 'Footer'
17
+ footer.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
18
+ vertical.h1 text: 'Footer'
19
19
  end
20
20
  end
21
21
 
22
22
  page.body childViews: ->(scroll) do
23
- scroll.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
23
+ scroll.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
24
24
  (1..100).each do |index|
25
25
  scroll.label text: 'Content'
26
26
  end
@@ -4,25 +4,25 @@ json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page
5
5
 
6
6
  page.template 'fullWidth'
7
-
7
+
8
8
  page.header childViews: ->(header) do
9
- header.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
10
- card.h1 text: 'Header'
9
+ header.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
10
+ vertical.h1 text: 'Header'
11
11
  end
12
12
  header.spacer height: 10
13
13
  end
14
14
 
15
15
  page.footer childViews: ->(footer) do
16
16
  footer.spacer height: 10
17
- footer.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
18
- card.h1 text: 'Footer'
17
+ footer.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
18
+ vertical.h1 text: 'Footer'
19
19
  end
20
20
  end
21
21
 
22
22
  page.body childViews: ->(scroll) do
23
- scroll.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
23
+ scroll.panels_vertical width: 'matchParent', styleClass: 'card', padding: glib_json_padding_body, childViews: ->(vertical) do
24
24
  (1..100).each do |index|
25
- scroll.label text: 'Content'
25
+ vertical.label text: 'Content'
26
26
  end
27
27
  end
28
28
  end
File without changes
File without changes
File without changes
@@ -2,31 +2,8 @@ json.title 'Panels'
2
2
 
3
3
  json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
7
-
8
-
9
- # TODO: Deprecate in favour of styleClasses
10
- # scroll.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
11
- # card.h1 text: 'With Default Layout'
12
- # card.spacer height: 6
13
- # card.button text: 'Button1'
14
- # card.button text: 'Button2'
15
- # card.button text: 'Button3'
16
- # end
17
5
 
18
- # scroll.spacer height: 10
19
-
20
- # scroll.panels_card width: 'matchParent', padding: glib_json_padding_body, childViews: ->(card) do
21
- # card.h1 text: 'With Child Panel'
22
- # card.spacer height: 6
23
- # card.panels_horizontal backgroundColor: '#b3bac2', childViews: ->(panel) do
24
- # panel.button text: 'Button1'
25
- # panel.button text: 'Button2'
26
- # panel.button text: 'Button3'
27
- # end
28
- # end
29
-
6
+ page.scroll backgroundColor: '#fafafa', padding: { top: 10, right: 10, bottom: 10, left: 10 }, childViews: ->(scroll) do
30
7
  scroll.h2 text: 'Vertical panel'
31
8
  scroll.spacer height: 6
32
9
  scroll.panels_vertical styleClass: 'card', padding: glib_json_padding_body, width: 'matchParent', childViews: ->(panel) do
@@ -54,7 +31,7 @@ json_ui_page json do |page|
54
31
  # end, rightViews: ->(panel) do
55
32
  # panel.button text: '3'
56
33
  # end
57
-
34
+
58
35
  scroll.spacer height: 20
59
36
  scroll.h2 text: 'Split panel'
60
37
  scroll.spacer height: 6
@@ -69,16 +46,16 @@ json_ui_page json do |page|
69
46
  right.button text: '3'
70
47
  end
71
48
  end
72
-
49
+
73
50
 
74
51
  scroll.spacer height: 20
75
52
  scroll.h2 text: 'Responsive panel'
76
53
  scroll.spacer height: 6
77
- scroll.panels_responsive styleClass: 'card', padding: glib_json_padding_body, childViews: ->(horizontal) do
78
- horizontal.panels_column lg: 8, backgroundColor: '#c3cad2', childViews: ->(column) do
54
+ scroll.panels_responsive styleClass: 'card', padding: glib_json_padding_body, width: 'matchParent', childViews: ->(horizontal) do
55
+ horizontal.panels_column lg: { cols: 8 }, backgroundColor: '#c3cad2', childViews: ->(column) do
79
56
  column.button text: '1'
80
57
  end
81
- horizontal.panels_column lg: 4, backgroundColor: '#b3bac2', childViews: ->(column) do
58
+ horizontal.panels_column lg: { cols: 4 }, backgroundColor: '#b3bac2', childViews: ->(column) do
82
59
  column.button text: '2'
83
60
  end
84
61
  end
@@ -86,24 +63,24 @@ json_ui_page json do |page|
86
63
  scroll.spacer height: 20
87
64
  scroll.h2 text: 'Grid-like layout'
88
65
  scroll.spacer height: 6
89
- scroll.panels_responsive childViews: ->(horizontal) do
66
+ scroll.panels_responsive width: 'matchParent', childViews: ->(horizontal) do
90
67
  gap = { top: 12, left: 10, right: 10, bottom: 12 }
91
- horizontal.panels_column lg: 4, padding: gap, childViews: ->(column) do
68
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
92
69
  column.panels_vertical styleClass: 'card', width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
93
70
  column.button text: '1'
94
71
  end
95
72
  end
96
- horizontal.panels_column lg: 4, padding: gap, childViews: ->(column) do
73
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
97
74
  column.panels_vertical styleClass: 'card', width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
98
75
  column.button text: '2'
99
76
  end
100
77
  end
101
- horizontal.panels_column lg: 4, padding: gap, childViews: ->(column) do
78
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
102
79
  column.panels_vertical styleClass: 'card', width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
103
80
  column.button text: '3'
104
81
  end
105
82
  end
106
- horizontal.panels_column lg: 4, padding: gap, childViews: ->(column) do
83
+ horizontal.panels_column lg: { cols: 4 }, padding: gap, childViews: ->(column) do
107
84
  column.panels_vertical styleClass: 'card', width: 'matchParent', padding: glib_json_padding_body, childViews: ->(column) do
108
85
  column.button text: '4'
109
86
  end
File without changes
@@ -2,7 +2,7 @@ json.title 'Panels'
2
2
 
3
3
  json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
-
5
+
6
6
  page.list sections: [
7
7
  ->(section) do
8
8
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -24,7 +24,7 @@ json_ui_page json do |page|
24
24
  template.thumbnail title: 'Responsive', subtitle: 'Arrange *column panels* horizontally using flex', onClick: ->(action) do
25
25
  action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
26
26
  end
27
-
27
+
28
28
  end
29
29
  end, ->(section) do
30
30
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -54,7 +54,7 @@ json_ui_page json do |page|
54
54
  template.thumbnail title: 'List', subtitle: 'Rows without columns', onClick: ->(action) do
55
55
  action.windows_open url: json_ui_garage_url(path: 'lists/index')
56
56
  end
57
-
57
+
58
58
  end
59
59
  end, ->(section) do
60
60
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -73,7 +73,7 @@ json_ui_page json do |page|
73
73
  template.thumbnail title: 'Column', subtitle: 'Adds control over layout inside a responsive panel', onClick: ->(action) do
74
74
  action.windows_open url: json_ui_garage_url(path: 'panels/responsive')
75
75
  end
76
-
76
+
77
77
  end
78
78
  end, ->(section) do
79
79
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -84,7 +84,7 @@ json_ui_page json do |page|
84
84
  template.thumbnail title: 'Custom', onClick: ->(action) do
85
85
  action.windows_open url: json_ui_garage_url(path: 'panels/custom')
86
86
  end
87
-
87
+
88
88
  end
89
89
  end, ->(section) do
90
90
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -95,9 +95,23 @@ json_ui_page json do |page|
95
95
  template.thumbnail title: 'Card', onClick: ->(action) do
96
96
  action.windows_open url: json_ui_garage_url(path: 'panels/card')
97
97
  end
98
-
98
+
99
+ end
100
+ end, ->(section) do
101
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
102
+ header.h2 text: 'Uncategorized'
103
+ end
104
+
105
+ section.rows builder: ->(template) do
106
+ template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
107
+ # TODO
108
+ end
109
+
110
+ template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
111
+ # TODO
112
+ end
99
113
  end
100
- end,
114
+ end
101
115
  ]
102
116
 
103
117
  end