glib-web 0.4.20 → 0.4.21
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.
- checksums.yaml +5 -5
- data/app/controllers/concerns/glib/auth/policy.rb +0 -0
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
- data/app/controllers/concerns/glib/json/traversal.rb +0 -0
- data/app/controllers/concerns/glib/json/ui.rb +3 -1
- data/app/controllers/glib/home_controller.rb +0 -0
- data/app/helpers/glib/dynamic_images_helper.rb +0 -0
- data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
- data/app/helpers/glib/json_ui/abstract_builder.rb +71 -68
- data/app/helpers/glib/json_ui/action_builder.rb +0 -0
- data/app/helpers/glib/json_ui/list_builders.rb +3 -2
- data/app/helpers/glib/json_ui/menu_builder.rb +0 -0
- data/app/helpers/glib/json_ui/page_helper.rb +0 -0
- data/app/helpers/glib/json_ui/response_helper.rb +0 -0
- data/app/helpers/glib/json_ui/split_builders.rb +0 -0
- data/app/helpers/glib/json_ui/styling_helper.rb +0 -0
- data/app/helpers/glib/json_ui/table_builders.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder/banners.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder/fields.rb +14 -0
- data/app/helpers/glib/json_ui/view_builder/panels.rb +8 -8
- data/app/models/glib/active_storage/attachment.rb +0 -0
- data/app/models/glib/active_storage/blob.rb +0 -0
- data/app/models/glib/dynamic_text_record.rb +0 -0
- data/app/models/glib/text.rb +0 -0
- data/app/policies/glib/application_policy.rb +148 -148
- data/app/views/app/views/json_ui/vue/renderer.html.erb +4 -0
- data/app/views/json_ui/garage/_nav_menu.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/basic.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +33 -0
- data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +2 -1
- data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/index.json.jbuilder +7 -4
- data/app/views/json_ui/garage/forms/pickers.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +5 -1
- data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
- data/app/views/json_ui/garage/home/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/_infinite_scroll_section.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/infinite_scroll.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/templating.json.jbuilder +9 -1
- data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +6 -6
- data/app/views/json_ui/garage/pages/full_width.json.jbuilder +7 -7
- data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/card.json.jbuilder +11 -34
- data/app/views/json_ui/garage/panels/carousel.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/index.json.jbuilder +21 -7
- data/app/views/json_ui/garage/panels/responsive.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/split.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/banners.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/carousels.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/charts.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/images.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/misc.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/texts.json.jbuilder +0 -0
- data/app/views/layouts/json_ui/renderer.html.erb +32 -0
- data/config/routes.rb +0 -0
- data/lib/generators/glib/install_generator.rb +0 -0
- data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
- data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
- data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
- data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
- data/lib/generators/templates/database.yml +0 -0
- data/lib/generators/templates/dynamic_text.rb +0 -0
- data/lib/glib-web.rb +0 -0
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +0 -0
- data/lib/glib/engine.rb +0 -0
- data/lib/glib/json_crawler.rb +0 -0
- data/lib/glib/json_crawler/action_crawler.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
- data/lib/glib/json_crawler/http.rb +0 -0
- data/lib/glib/json_crawler/router.rb +0 -0
- data/lib/glib/value.rb +0 -0
- data/lib/glib/version.rb +0 -0
- metadata +4 -6
- data/app/controllers/concerns/application/json/libs.rb +0 -94
- data/app/controllers/concerns/application/json/transformation.rb +0 -11
- data/app/controllers/concerns/application/json/ui.rb +0 -66
- data/app/controllers/concerns/application/json/validation.rb +0 -13
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|
|
File without changes
|
|
File without changes
|
|
@@ -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.
|
|
24
|
+
form.fields_submit text: 'Submit'
|
|
25
|
+
# form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
25
26
|
end)
|
|
26
27
|
end
|
|
27
28
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.
|
|
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
|
|
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.
|
|
10
|
-
|
|
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.
|
|
18
|
-
|
|
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.
|
|
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.
|
|
10
|
-
|
|
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.
|
|
18
|
-
|
|
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.
|
|
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
|
+
vertical.label text: 'Content'
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
end
|
|
File without changes
|
|
File without changes
|
|
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
|
-
|
|
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
|
|
File without changes
|
|
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
|