glib-web 0.0.11 → 0.0.12
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/application/json/libs.rb +0 -0
- data/app/controllers/concerns/application/json/transformation.rb +0 -0
- data/app/controllers/concerns/application/json/ui.rb +0 -0
- data/app/controllers/concerns/application/json/validation.rb +0 -0
- data/app/controllers/glib/home_controller.rb +0 -0
- data/app/helpers/glib/json_ui/abstract_builder.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder.rb +6 -0
- data/app/helpers/glib/json_ui/json_ui_helper.rb +0 -0
- data/app/helpers/glib/json_ui/list_builders.rb +0 -0
- data/app/helpers/glib/json_ui/menu_builder.rb +0 -0
- data/app/helpers/glib/json_ui/page_helper.rb +10 -0
- data/app/helpers/glib/json_ui/response_helper.rb +0 -0
- data/app/helpers/glib/json_ui/table_builders.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder/fields.rb +63 -63
- data/app/helpers/glib/json_ui/view_builder/panels.rb +16 -12
- data/app/helpers/glib/json_ui/view_builder.rb +2 -1
- data/app/views/app/views/json_ui/vue/renderer.html.erb +0 -0
- data/app/views/json_ui/garage/_nav_menu.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/index.json.jbuilder +8 -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/file_upload.json.jbuilder +0 -0
- 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/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submit_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submit_indicator_post.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/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 +0 -0
- data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +14 -0
- data/app/views/json_ui/garage/pages/index.json.jbuilder +49 -25
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +40 -24
- data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +36 -21
- data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +37 -0
- data/app/views/json_ui/garage/panels/carousel.json.jbuilder +16 -0
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/index.json.jbuilder +6 -3
- 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/views/basic.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/carousels.json.jbuilder +5 -5
- 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/config/routes.rb +0 -0
- data/lib/glib/engine.rb +0 -0
- data/lib/glib/version.rb +0 -0
- data/lib/glib-web.rb +0 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0c5f212e754c0a5e435ed1dc5ccfe1829b90cbef5f76b0341f6d0230cc3e4867
|
4
|
+
data.tar.gz: 7345667f4b3ca65e822272f3f4ec9a6408b30d92e39ba4125ba1eab308a0b198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2dfa110a927c6762e5a9867380c052d1f1cfdbb78f1394c7499e85467786a6073e348d01439e1a5c8ecef505551441c17235a2b41bc97feba4a264ad06c7d722
|
7
|
+
data.tar.gz: 54305791082719325d20c9d05dfca87c3e0bce8cbb8dc452927d1bc61a6e4db95ded1e7ea35f3c730f1f09c9f59a818b345bb5c916ff475d7e0dd894865120bf
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -42,6 +42,16 @@ module Glib
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
+
def footer(options = {})
|
46
|
+
json.footer do
|
47
|
+
json.padding options[:padding]
|
48
|
+
json.backgroundColor options[:backgroundColor]
|
49
|
+
json.childViews do
|
50
|
+
options[:childViews]&.call @view_builder
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
45
55
|
def list(options = {})
|
46
56
|
json.content do
|
47
57
|
json.childViews do
|
File without changes
|
File without changes
|
@@ -1,64 +1,64 @@
|
|
1
|
-
class Glib::JsonUi::ViewBuilder
|
2
|
-
module Fields
|
3
|
-
class AbstractField < View
|
4
|
-
string :label
|
5
|
-
|
6
|
-
def name(name)
|
7
|
-
@name = name
|
8
|
-
end
|
9
|
-
|
10
|
-
def value(value)
|
11
|
-
@value = value
|
12
|
-
end
|
13
|
-
|
14
|
-
def prop(prop)
|
15
|
-
if (form = page.current_form)
|
16
|
-
@name ||= form.field_name(prop)
|
17
|
-
@value ||= form.field_value(prop)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
# Override
|
22
|
-
def created
|
23
|
-
json.name @name
|
24
|
-
json.value @value
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
class Text < AbstractField
|
30
|
-
int :maxlength
|
31
|
-
end
|
32
|
-
|
33
|
-
class Email < Text
|
34
|
-
end
|
35
|
-
|
36
|
-
class Password < Text
|
37
|
-
end
|
38
|
-
|
39
|
-
class Hidden < Text
|
40
|
-
end
|
41
|
-
|
42
|
-
class Textarea < Text
|
43
|
-
end
|
44
|
-
|
45
|
-
class Country < AbstractField
|
46
|
-
hash :region
|
47
|
-
end
|
48
|
-
|
49
|
-
class Select < AbstractField
|
50
|
-
array :options
|
51
|
-
end
|
52
|
-
|
53
|
-
class RadioGroup < View
|
54
|
-
string :name
|
55
|
-
views :childViews
|
56
|
-
end
|
57
|
-
|
58
|
-
class Radio < View
|
59
|
-
string :label
|
60
|
-
string :value
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
1
|
+
class Glib::JsonUi::ViewBuilder
|
2
|
+
module Fields
|
3
|
+
class AbstractField < View
|
4
|
+
string :label
|
5
|
+
|
6
|
+
def name(name)
|
7
|
+
@name = name
|
8
|
+
end
|
9
|
+
|
10
|
+
def value(value)
|
11
|
+
@value = value
|
12
|
+
end
|
13
|
+
|
14
|
+
def prop(prop)
|
15
|
+
if (form = page.current_form)
|
16
|
+
@name ||= form.field_name(prop)
|
17
|
+
@value ||= form.field_value(prop)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# Override
|
22
|
+
def created
|
23
|
+
json.name @name
|
24
|
+
json.value @value
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
class Text < AbstractField
|
30
|
+
int :maxlength
|
31
|
+
end
|
32
|
+
|
33
|
+
class Email < Text
|
34
|
+
end
|
35
|
+
|
36
|
+
class Password < Text
|
37
|
+
end
|
38
|
+
|
39
|
+
class Hidden < Text
|
40
|
+
end
|
41
|
+
|
42
|
+
class Textarea < Text
|
43
|
+
end
|
44
|
+
|
45
|
+
class Country < AbstractField
|
46
|
+
hash :region
|
47
|
+
end
|
48
|
+
|
49
|
+
class Select < AbstractField
|
50
|
+
array :options
|
51
|
+
end
|
52
|
+
|
53
|
+
class RadioGroup < View
|
54
|
+
string :name
|
55
|
+
views :childViews
|
56
|
+
end
|
57
|
+
|
58
|
+
class Radio < View
|
59
|
+
string :label
|
60
|
+
string :value
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
64
|
|
@@ -24,8 +24,8 @@ class Glib::JsonUi::ViewBuilder
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def model(models)
|
27
|
-
@model = models.is_a?(Array) ? models.last : models
|
28
|
-
@model_name ||= @model.class.model_name.singular
|
27
|
+
@model = models.is_a?(Array) ? models.last : models
|
28
|
+
@model_name ||= @model.class.model_name.singular
|
29
29
|
@url ||= page.context.polymorphic_url(models)
|
30
30
|
@method ||= if @model.persisted?
|
31
31
|
:patch
|
@@ -39,7 +39,7 @@ class Glib::JsonUi::ViewBuilder
|
|
39
39
|
json.url @url
|
40
40
|
json.method @method
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
def childViews(block)
|
44
44
|
# insert_method_field = false
|
45
45
|
# method = @args[:method].to_sym
|
@@ -50,14 +50,14 @@ class Glib::JsonUi::ViewBuilder
|
|
50
50
|
# else
|
51
51
|
# json.method method
|
52
52
|
# end
|
53
|
-
|
53
|
+
|
54
54
|
json.childViews do
|
55
55
|
json.child! do
|
56
56
|
json.view 'fields/hidden-v1'
|
57
57
|
json.name 'authenticity_token'
|
58
58
|
json.value page.context.form_authenticity_token
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
# if insert_method_field
|
62
62
|
# json.child! do
|
63
63
|
# json.view 'fields/hidden-v1'
|
@@ -73,17 +73,17 @@ class Glib::JsonUi::ViewBuilder
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
class List < View
|
78
78
|
hash :nextPage
|
79
|
-
|
79
|
+
|
80
80
|
def firstSection(block)
|
81
81
|
json.sections [1] do
|
82
82
|
block.call page.list_section_builder
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
class Table < View
|
88
88
|
def firstSection(block)
|
89
89
|
json.sections [1] do
|
@@ -95,23 +95,27 @@ class Glib::JsonUi::ViewBuilder
|
|
95
95
|
class Scroll < View
|
96
96
|
views :childViews
|
97
97
|
end
|
98
|
-
|
98
|
+
|
99
99
|
class Split < View
|
100
100
|
views :leftViews
|
101
101
|
views :centerViews
|
102
102
|
views :rightViews
|
103
103
|
end
|
104
|
-
|
104
|
+
|
105
105
|
class Vertical < View
|
106
106
|
views :childViews
|
107
107
|
string :distribution
|
108
108
|
end
|
109
|
-
|
109
|
+
|
110
110
|
class Horizontal < View
|
111
111
|
views :childViews
|
112
112
|
string :distribution
|
113
113
|
end
|
114
114
|
|
115
|
+
class Carousel < View
|
116
|
+
views :childViews
|
117
|
+
string :distribution
|
118
|
+
end
|
119
|
+
|
115
120
|
end
|
116
121
|
end
|
117
|
-
|
File without changes
|
File without changes
|
@@ -9,6 +9,14 @@ json_ui_page json do |page|
|
|
9
9
|
row.thumbnail title: 'dialogs/alert', onClick: ->(action) do
|
10
10
|
action.dialogs_alert message: 'This is an alert'
|
11
11
|
end
|
12
|
+
|
13
|
+
row.thumbnail title: 'dialogs/confirm (TODO)', onClick: ->(action) do
|
14
|
+
action.dialogs_confirm message: 'Confirm?', onConfirm: ->(action) do
|
15
|
+
action.dialogs_alert message: 'Good'
|
16
|
+
end, onCancel: ->(action) do
|
17
|
+
action.dialogs_alert message: 'Bad'
|
18
|
+
end
|
19
|
+
end
|
12
20
|
|
13
21
|
row.thumbnail title: 'dialogs/option', onClick: ->(action) do
|
14
22
|
action.dialogs_options message: 'Select one', buttons: ->(menu) do
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -37,3 +37,17 @@ json.footer do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
40
|
+
|
41
|
+
json_ui_page json do |page|
|
42
|
+
page.header padding: {top: 12, left: 20, right: 20, bottom: 12}, backgroundColor: '#b3bac2', childViews: ->(header) do
|
43
|
+
header.h1 text: 'Header'
|
44
|
+
end
|
45
|
+
|
46
|
+
page.footer height: 80, padding: {top: 12, left: 20, right: 20, bottom: 12}, backgroundColor: '#b3bac2', childViews: ->(footer) do
|
47
|
+
footer.h1 text: 'Footer'
|
48
|
+
end
|
49
|
+
|
50
|
+
page.scroll height: 'matchParent', padding: {top: 20, left: 20, right: 20, bottom: 20}, childViews: ->(scroll) do
|
51
|
+
scroll.button width: 'matchParent', height: 'matchParent', text: 'Full Width/Height'
|
52
|
+
end
|
53
|
+
end
|
@@ -2,34 +2,58 @@ json.title 'Pages'
|
|
2
2
|
|
3
3
|
render "#{@path_prefix}/nav_menu", json: json
|
4
4
|
|
5
|
-
json_body_with_list json do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
5
|
+
# json_body_with_list json do
|
6
|
+
# json.rows do
|
7
|
+
# json.child! do
|
8
|
+
# json.template 'thumbnail-v1'
|
9
|
+
# json.title 'Nav Buttons'
|
10
|
+
# json.onClick do
|
11
|
+
# json.action 'windows/open-v1'
|
12
|
+
# json.url json_ui_garage_url(path: 'pages/nav_buttons')
|
13
|
+
# end
|
14
|
+
# end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
# json.child! do
|
17
|
+
# json.template 'thumbnail-v1'
|
18
|
+
# json.title 'Hamburger Layout'
|
19
|
+
# json.onClick do
|
20
|
+
# json.action 'windows/open-v1'
|
21
|
+
# json.url json_ui_garage_url(path: 'pages/layout')
|
22
|
+
# end
|
23
|
+
# end
|
24
|
+
|
25
|
+
# json.child! do
|
26
|
+
# json.template 'thumbnail-v1'
|
27
|
+
# json.title 'Full Width/Height'
|
28
|
+
# json.onClick do
|
29
|
+
# json.action 'windows/open-v1'
|
30
|
+
# json.url json_ui_garage_url(path: 'pages/full_width_height')
|
31
|
+
# end
|
32
|
+
# end
|
24
33
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
34
|
+
# end
|
35
|
+
# end
|
36
|
+
|
37
|
+
json_ui_page json do |page|
|
38
|
+
|
39
|
+
page.list firstSection: ->(section) do
|
40
|
+
section.rows do |row|
|
41
|
+
row.thumbnail title: 'Nav Buttons', onClick: ->(action) do
|
42
|
+
action.windows_open url: json_ui_garage_url(path: 'pages/nav_buttons')
|
43
|
+
end
|
44
|
+
|
45
|
+
row.thumbnail title: 'Hamburger Layout', onClick: ->(action) do
|
46
|
+
action.windows_open url: json_ui_garage_url(path: 'pages/layout')
|
47
|
+
end
|
48
|
+
|
49
|
+
row.thumbnail title: 'Full Width/Height', onClick: ->(action) do
|
50
|
+
action.windows_open url: json_ui_garage_url(path: 'pages/full_width_height')
|
51
|
+
end
|
52
|
+
|
53
|
+
row.thumbnail title: 'Tab Bar (TODO: fix tab selection)', onClick: ->(action) do
|
54
|
+
action.windows_open url: json_ui_garage_url(path: 'pages/tab_bar')
|
31
55
|
end
|
32
56
|
end
|
33
|
-
|
57
|
+
|
34
58
|
end
|
35
59
|
end
|
@@ -2,34 +2,50 @@ json.title 'Pages'
|
|
2
2
|
|
3
3
|
render "#{@path_prefix}/nav_menu", json: json
|
4
4
|
|
5
|
-
header = Jbuilder.new do |json|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
# header = Jbuilder.new do |json|
|
6
|
+
# json.padding(top: 12, left: 20, right: 20, bottom: 12)
|
7
|
+
# json.backgroundColor '#b3bac2'
|
8
|
+
# json.subviews do
|
9
|
+
# json.child! do
|
10
|
+
# json.view 'h1-v1'
|
11
|
+
# json.text 'Header'
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
|
16
|
+
# footer = Jbuilder.new do |json|
|
17
|
+
# json.padding(top: 12, left: 20, right: 20, bottom: 12)
|
18
|
+
# json.backgroundColor '#b3bac2'
|
19
|
+
# json.subviews do
|
20
|
+
# json.child! do
|
21
|
+
# json.view 'h1-v1'
|
22
|
+
# json.text 'Footer'
|
23
|
+
# end
|
24
|
+
# end
|
25
|
+
# end
|
26
|
+
|
27
|
+
# options = {padding: {top: 20, left: 20, right: 20, bottom: 20}}
|
28
|
+
# json_body_with_scroll json, header, footer, options do
|
29
|
+
# (1..100).each do |index|
|
30
|
+
# json.child! do
|
31
|
+
# json.view 'label-v1'
|
32
|
+
# json.text 'Content'
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
# end
|
36
|
+
|
37
|
+
json_ui_page json do |page|
|
38
|
+
page.header padding: {top: 12, left: 20, right: 20, bottom: 12}, backgroundColor: '#b3bac2', childViews: ->(header) do
|
39
|
+
header.h1 text: 'Header'
|
13
40
|
end
|
14
|
-
end
|
15
41
|
|
16
|
-
footer
|
17
|
-
|
18
|
-
json.backgroundColor '#b3bac2'
|
19
|
-
json.subviews do
|
20
|
-
json.child! do
|
21
|
-
json.view 'h1-v1'
|
22
|
-
json.text 'Footer'
|
23
|
-
end
|
42
|
+
page.footer padding: {top: 12, left: 20, right: 20, bottom: 12}, backgroundColor: '#b3bac2', childViews: ->(footer) do
|
43
|
+
footer.h1 text: 'Footer'
|
24
44
|
end
|
25
|
-
end
|
26
45
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
json.child! do
|
31
|
-
json.view 'label-v1'
|
32
|
-
json.text 'Content'
|
46
|
+
page.scroll padding: {top: 20, left: 20, right: 20, bottom: 20}, childViews: ->(scroll) do
|
47
|
+
(1..100).each do |index|
|
48
|
+
scroll.label text: 'Content'
|
33
49
|
end
|
34
50
|
end
|
35
51
|
end
|
@@ -2,31 +2,46 @@ json.title 'Pages'
|
|
2
2
|
|
3
3
|
render "#{@path_prefix}/nav_menu", json: json
|
4
4
|
|
5
|
-
json.rightNavButtons do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
5
|
+
# json.rightNavButtons do
|
6
|
+
# json.child! do
|
7
|
+
# json.icon do
|
8
|
+
# json.materialName 'search'
|
9
|
+
# end
|
10
|
+
# json.onClick do
|
11
|
+
# json.action 'dialogs/alert-v1'
|
12
|
+
# json.message 'Perform some action'
|
13
|
+
# end
|
14
|
+
# end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
# json.child! do
|
17
|
+
# json.icon do
|
18
|
+
# json.materialName 'map'
|
19
|
+
# end
|
20
|
+
# json.onClick do
|
21
|
+
# json.action 'dialogs/alert-v1'
|
22
|
+
# json.message 'Perform some action'
|
23
|
+
# end
|
24
|
+
# end
|
25
|
+
# end
|
26
|
+
|
27
|
+
# json_body_with_scroll json do
|
28
|
+
# json.child! do
|
29
|
+
# json.view 'label-v1'
|
30
|
+
# json.text 'See the right menu buttons on the nav bar'
|
31
|
+
# end
|
32
|
+
# end
|
33
|
+
|
34
|
+
json_ui_page json do |page|
|
35
|
+
page.rightNavButtons do |menu|
|
36
|
+
menu.button icon: 'search', onClick: ->(action) do
|
37
|
+
action.dialogs_alert message: 'Perform some action'
|
19
38
|
end
|
20
|
-
|
21
|
-
|
22
|
-
json.message 'Perform some action'
|
39
|
+
menu.button icon: 'map', onClick: ->(action) do
|
40
|
+
action.dialogs_alert message: 'Perform some action'
|
23
41
|
end
|
24
42
|
end
|
25
|
-
end
|
26
43
|
|
27
|
-
|
28
|
-
|
29
|
-
json.view 'label-v1'
|
30
|
-
json.text 'See the right menu buttons on the nav bar'
|
44
|
+
page.scroll padding: {top: 20, left: 20, right: 20, bottom: 20}, childViews: ->(scroll) do
|
45
|
+
scroll.label text: 'See the right menu buttons on the nav bar'
|
31
46
|
end
|
32
47
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
json.title 'Pages'
|
2
|
+
|
3
|
+
render "#{@path_prefix}/nav_menu", json: json
|
4
|
+
|
5
|
+
json_ui_page json do |page|
|
6
|
+
page.header padding: {top: 12, left: 20, right: 20, bottom: 12}, childViews: ->(header) do
|
7
|
+
json.child! do
|
8
|
+
json.view 'tabBar-v1'
|
9
|
+
json.width 'matchParent'
|
10
|
+
json.backgroundColor '#ffca05'
|
11
|
+
json.color '#7f561b'
|
12
|
+
json.tabButtons do
|
13
|
+
json.child! do
|
14
|
+
json.text 'FIRST'
|
15
|
+
json.onClick do
|
16
|
+
json.action 'windows/open-v1'
|
17
|
+
json.url json_ui_garage_url(path: 'pages/tab_bar', tab: :first)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
json.child! do
|
21
|
+
json.text 'SECOND'
|
22
|
+
json.onClick do
|
23
|
+
json.action 'windows/open-v1'
|
24
|
+
json.url json_ui_garage_url(path: 'pages/tab_bar', tab: :second)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
json.child! do
|
28
|
+
json.text 'THIRD'
|
29
|
+
json.onClick do
|
30
|
+
json.action 'windows/open-v1'
|
31
|
+
json.url json_ui_garage_url(path: 'pages/tab_bar', tab: :third)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
json.title 'Panels'
|
2
|
+
|
3
|
+
render "#{@path_prefix}/nav_menu", json: json
|
4
|
+
|
5
|
+
image_url1 = 'http://ichef.bbci.co.uk/news/976/cpsprodpb/18106/production/_97266589_gettyimages-474547165.jpg'
|
6
|
+
image_url2 = 'https://s.abcnews.com/images/International/Guam03-gty-jrl-170809_16x9_992.jpg'
|
7
|
+
|
8
|
+
json_ui_page json do |page|
|
9
|
+
page.scroll childViews: ->(scroll) do
|
10
|
+
scroll.h1 text: 'Carousel panel'
|
11
|
+
scroll.panels_carousel width: 'matchParent', childViews: ->(carousel) do
|
12
|
+
carousel.image url: image_url1, width: 'matchParent'
|
13
|
+
carousel.image url: image_url2, width: 'matchParent'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
File without changes
|
@@ -5,15 +5,18 @@ render "#{@path_prefix}/nav_menu", json: json
|
|
5
5
|
json_ui_page json do |page|
|
6
6
|
page.list firstSection: ->(section) do
|
7
7
|
section.rows do |row|
|
8
|
-
row.thumbnail title: 'Vertical', onClick: ->(action) do
|
8
|
+
row.thumbnail title: 'Vertical', onClick: ->(action) do
|
9
9
|
action.windows_open url: json_ui_garage_url(path: 'panels/vertical')
|
10
10
|
end
|
11
|
-
row.thumbnail title: 'Horizontal', onClick: ->(action) do
|
11
|
+
row.thumbnail title: 'Horizontal', onClick: ->(action) do
|
12
12
|
action.windows_open url: json_ui_garage_url(path: 'panels/horizontal')
|
13
13
|
end
|
14
|
-
row.thumbnail title: 'Split', onClick: ->(action) do
|
14
|
+
row.thumbnail title: 'Split', onClick: ->(action) do
|
15
15
|
action.windows_open url: json_ui_garage_url(path: 'panels/split')
|
16
16
|
end
|
17
|
+
row.thumbnail title: 'Carousel', onClick: ->(action) do
|
18
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/carousel')
|
19
|
+
end
|
17
20
|
end
|
18
21
|
|
19
22
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -16,7 +16,7 @@ json_body_with_scroll json do
|
|
16
16
|
end
|
17
17
|
json.child! do
|
18
18
|
json.view 'panels/carousel-v1'
|
19
|
-
json.
|
19
|
+
json.childViews do
|
20
20
|
json.child! do
|
21
21
|
json.view 'label-v1'
|
22
22
|
json.text "Item 1"
|
@@ -39,7 +39,7 @@ json_body_with_scroll json do
|
|
39
39
|
end
|
40
40
|
json.child! do
|
41
41
|
json.view 'panels/carousel-v1'
|
42
|
-
json.
|
42
|
+
json.childViews do
|
43
43
|
json.child! do
|
44
44
|
json.view 'image-v1'
|
45
45
|
json.url image_url1
|
@@ -63,10 +63,10 @@ json_body_with_scroll json do
|
|
63
63
|
json.child! do
|
64
64
|
json.view 'panels/carousel-v1'
|
65
65
|
json.width 'matchParent'
|
66
|
-
json.
|
66
|
+
json.childViews do
|
67
67
|
json.child! do
|
68
68
|
json.view 'panels/vertical-v1'
|
69
|
-
json.
|
69
|
+
json.childViews do
|
70
70
|
json.child! do
|
71
71
|
json.view 'h3-v1'
|
72
72
|
json.text "Item 1"
|
@@ -81,7 +81,7 @@ json_body_with_scroll json do
|
|
81
81
|
|
82
82
|
json.child! do
|
83
83
|
json.view 'panels/vertical-v1'
|
84
|
-
json.
|
84
|
+
json.childViews do
|
85
85
|
json.child! do
|
86
86
|
json.view 'h3-v1'
|
87
87
|
json.text "Item 2"
|
File without changes
|
File without changes
|
data/config/routes.rb
CHANGED
File without changes
|
data/lib/glib/engine.rb
CHANGED
File without changes
|
data/lib/glib/version.rb
CHANGED
File without changes
|
data/lib/glib-web.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -66,6 +66,8 @@ files:
|
|
66
66
|
- app/views/json_ui/garage/pages/index.json.jbuilder
|
67
67
|
- app/views/json_ui/garage/pages/layout.json.jbuilder
|
68
68
|
- app/views/json_ui/garage/pages/nav_buttons.json.jbuilder
|
69
|
+
- app/views/json_ui/garage/pages/tab_bar.json.jbuilder
|
70
|
+
- app/views/json_ui/garage/panels/carousel.json.jbuilder
|
69
71
|
- app/views/json_ui/garage/panels/horizontal.json.jbuilder
|
70
72
|
- app/views/json_ui/garage/panels/index.json.jbuilder
|
71
73
|
- app/views/json_ui/garage/panels/split.json.jbuilder
|
@@ -97,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
99
|
version: '0'
|
98
100
|
requirements: []
|
99
101
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.6
|
102
|
+
rubygems_version: 2.7.6
|
101
103
|
signing_key:
|
102
104
|
specification_version: 4
|
103
105
|
summary: ''
|