glib-web 0.0.2 → 0.0.3

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/home_controller.rb +11 -0
  3. data/app/views/_nav_menu.json.jbuilder +84 -0
  4. data/app/views/actions/index.json.jbuilder +25 -0
  5. data/app/views/app/views/json_ui/vue/renderer.html.slim +24 -0
  6. data/app/views/forms/basic.json.jbuilder +53 -0
  7. data/app/views/forms/basic_post.json.jbuilder +10 -0
  8. data/app/views/forms/floating_submit.json.jbuilder +48 -0
  9. data/app/views/forms/generic_post.json.jbuilder +6 -0
  10. data/app/views/forms/index.json.jbuilder +34 -0
  11. data/app/views/forms/submit_indicator.json.jbuilder +32 -0
  12. data/app/views/forms/submit_indicator_post.json.jbuilder +12 -0
  13. data/app/views/home/index.json.jbuilder +92 -0
  14. data/app/views/lists/_infinite_scroll_section.json.jbuilder +10 -0
  15. data/app/views/lists/index.json.jbuilder +25 -0
  16. data/app/views/lists/infinite_scroll.json.jbuilder +27 -0
  17. data/app/views/lists/templating.json.jbuilder +45 -0
  18. data/app/views/pages/full_width_height.json.jbuilder +39 -0
  19. data/app/views/pages/index.json.jbuilder +35 -0
  20. data/app/views/pages/layout.json.jbuilder +35 -0
  21. data/app/views/pages/nav_buttons.json.jbuilder +32 -0
  22. data/app/views/panels/horizontal.json.jbuilder +213 -0
  23. data/app/views/panels/index.json.jbuilder +34 -0
  24. data/app/views/panels/split.json.jbuilder +360 -0
  25. data/app/views/panels/vertical.json.jbuilder +94 -0
  26. data/app/views/views/basic.json.jbuilder +21 -0
  27. data/app/views/views/carousels.json.jbuilder +100 -0
  28. data/app/views/views/images.json.jbuilder +48 -0
  29. data/app/views/views/index.json.jbuilder +34 -0
  30. data/config/routes.rb +4 -0
  31. data/lib/glib/engine.rb +1 -1
  32. metadata +30 -1
@@ -0,0 +1,10 @@
1
+ json.rows do
2
+ batch_count = 30
3
+ batch_count.times do |i|
4
+ index = page * batch_count + i
5
+ json.child! do
6
+ json.template 'thumbnail-v1'
7
+ json.title "Item #{index}"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,25 @@
1
+ json.title 'Forms'
2
+
3
+ render './nav_menu', json: json
4
+
5
+ json_body_with_list json do
6
+ json.rows do
7
+ json.child! do
8
+ json.template 'thumbnail-v1'
9
+ json.title 'Templating'
10
+ json.onClick do
11
+ json.action 'windows/open-v1'
12
+ json.url Glib::Web::Engine.routes.url_helpers.json_ui_garage_path(_render: 'v1', path: 'lists/templating')
13
+ end
14
+ end
15
+
16
+ json.child! do
17
+ json.template 'thumbnail-v1'
18
+ json.title 'Infinite Scroll'
19
+ json.onClick do
20
+ json.action 'windows/open-v1'
21
+ json.url Glib::Web::Engine.routes.url_helpers.json_ui_garage_path(_render: 'v1', path: 'lists/infinite_scroll')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,27 @@
1
+
2
+ page = params[:page].to_i
3
+ nextPage = {
4
+ url: json_ui_garage_url(path: 'lists/infinite_scroll', page: page + 1, section_only: 'v1'),
5
+ autoLoad: true
6
+ }
7
+
8
+ # TODO: Cater
9
+ # - for SEO: one URL for a standalone page and one URL for pagination only
10
+ # - for generic approach, e.g. excluding nav_menu when there is no change
11
+ if params[:section_only].present?
12
+ json.nextPage nextPage
13
+ json.sections do
14
+ json.child! do
15
+ render 'json_ui/garage/lists/infinite_scroll_section', json: json, page: page
16
+ end
17
+ end
18
+ else
19
+ json.title 'Lists'
20
+
21
+ render './nav_menu', json: json
22
+
23
+ options = { nextPage: nextPage }
24
+ json_body_with_list json, nil, nil, options do
25
+ render 'json_ui/garage/lists/infinite_scroll_section', json: json, page: page
26
+ end
27
+ end
@@ -0,0 +1,45 @@
1
+ json.title 'Lists'
2
+
3
+ render './nav_menu', json: json
4
+
5
+ json_body_with_list json do
6
+ json.header do
7
+ json.subviews do
8
+ json.child! do
9
+ json.view 'label-v1'
10
+ json.text 'Section Header'
11
+ end
12
+ end
13
+ end
14
+
15
+ json.rows do
16
+ json.child! do
17
+ json.template 'thumbnail-v1'
18
+ json.title 'Click me'
19
+ json.onClick do
20
+ json.action 'dialogs/alert-v1'
21
+ json.message 'Perform action'
22
+ end
23
+ end
24
+
25
+ json.child! do
26
+ json.template 'thumbnail-v1'
27
+ json.title 'Item with subtitle'
28
+ json.subtitle 'Item subtitle'
29
+ end
30
+
31
+ json.child! do
32
+ json.template 'thumbnail-v1'
33
+ json.title 'Item with thumbnail image'
34
+ json.subtitle 'Item subtitle'
35
+ json.imageUrl @sample_image_url
36
+ end
37
+
38
+ json.child! do
39
+ json.template 'featured-v1'
40
+ json.title 'Featured with featured image'
41
+ json.subtitle 'Item subtitle'
42
+ json.imageUrl @sample_image_url
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,39 @@
1
+ json.title 'Pages'
2
+
3
+ render './nav_menu', json: json
4
+
5
+ json.header do
6
+ json.padding(left: 20, right: 20, top: 5, bottom: 5)
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
+ json.content do
17
+ json.height 'matchParent'
18
+ json.padding(top: 15, left: 20, right: 20, bottom: 15)
19
+ json.subviews do
20
+ json.child! do
21
+ json.view 'button-v1'
22
+ json.width 'matchParent'
23
+ json.height 'matchParent'
24
+ json.text 'Full Width/Height'
25
+ end
26
+ end
27
+ end
28
+
29
+ json.footer do
30
+ json.height 80
31
+ json.padding(left: 20, right: 20, top: 5, bottom: 5)
32
+ json.backgroundColor '#b3bac2'
33
+ json.subviews do
34
+ json.child! do
35
+ json.view 'h1-v1'
36
+ json.text 'Footer'
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,35 @@
1
+ json.title 'Pages'
2
+
3
+ render './nav_menu', json: json
4
+
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 Glib::Web::Engine.routes.url_helpers.json_ui_garage_path(_render: 'v1', path: 'pages/nav_buttons')
13
+ end
14
+ end
15
+
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 Glib::Web::Engine.routes.url_helpers.json_ui_garage_path(_render: 'v1', 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 Glib::Web::Engine.routes.url_helpers.json_ui_garage_path(_render: 'v1', path: 'pages/full_width_height')
31
+ end
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ json.title 'Pages'
2
+
3
+ render './nav_menu', json: json
4
+
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
@@ -0,0 +1,32 @@
1
+ json.title 'Pages'
2
+
3
+ render './nav_menu', json: json
4
+
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
+
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
@@ -0,0 +1,213 @@
1
+ json.title 'Components'
2
+
3
+ render './nav_menu', json: json
4
+
5
+ json_body_with_scroll json do
6
+ json.child! do
7
+ json.view 'h1-v1'
8
+ json.text 'Horizontal panel'
9
+ end
10
+ json.child! do
11
+ json.view 'panels/horizontal-v1'
12
+ json.backgroundColor '#b3bac2'
13
+ json.subviews do
14
+ json.child! do
15
+ json.view 'button-v1'
16
+ json.text '1'
17
+ end
18
+
19
+ json.child! do
20
+ json.view 'button-v1'
21
+ json.text '2'
22
+ end
23
+
24
+ json.child! do
25
+ json.view 'button-v1'
26
+ json.text '3'
27
+ end
28
+ end
29
+ end
30
+
31
+ json.child! do
32
+ json.view 'label-v1'
33
+ json.text "\n"
34
+ end
35
+ json.child! do
36
+ json.view 'h1-v1'
37
+ json.text 'Horizontal panel with equal filling'
38
+ end
39
+ json.child! do
40
+ json.view 'panels/horizontal-v1'
41
+ json.backgroundColor '#b3bac2'
42
+ json.width 300
43
+ json.distribution 'fillEqually'
44
+ json.subviews do
45
+ json.child! do
46
+ json.view 'button-v1'
47
+ json.text '1'
48
+ end
49
+
50
+ json.child! do
51
+ json.view 'button-v1'
52
+ json.text '2'
53
+ json.height 50
54
+ end
55
+
56
+ json.child! do
57
+ json.view 'button-v1'
58
+ json.text '3'
59
+ json.height 70
60
+ end
61
+ end
62
+ end
63
+
64
+ json.child! do
65
+ json.view 'label-v1'
66
+ json.text "\n"
67
+ end
68
+ json.child! do
69
+ json.view 'h1-v1'
70
+ json.text 'Horizontal panel with equal spacing'
71
+ end
72
+ json.child! do
73
+ json.view 'panels/horizontal-v1'
74
+ json.backgroundColor '#b3bac2'
75
+ json.width 300
76
+ json.distribution 'spaceEqually'
77
+ json.subviews do
78
+ json.child! do
79
+ json.view 'button-v1'
80
+ json.text '1'
81
+ end
82
+
83
+ json.child! do
84
+ json.view 'button-v1'
85
+ json.text '2'
86
+ end
87
+
88
+ json.child! do
89
+ json.view 'button-v1'
90
+ json.text '3'
91
+ end
92
+ end
93
+ end
94
+
95
+ json.child! do
96
+ json.view 'label-v1'
97
+ json.text "\n"
98
+ end
99
+ json.child! do
100
+ json.view 'h1-v1'
101
+ json.text 'Horizontal panel (containing vertical panel)'
102
+ end
103
+ json.child! do
104
+ json.view 'panels/horizontal-v1'
105
+ json.subviews do
106
+ json.child! do
107
+ json.view 'button-v1'
108
+ json.text '1'
109
+ end
110
+
111
+ json.child! do
112
+ json.view 'panels/vertical-v1'
113
+ json.subviews do
114
+ json.child! do
115
+ json.view 'button-v1'
116
+ json.text 'A'
117
+ end
118
+
119
+ json.child! do
120
+ json.view 'button-v1'
121
+ json.text 'B'
122
+ end
123
+ end
124
+ end
125
+
126
+ json.child! do
127
+ json.view 'button-v1'
128
+ json.text '3'
129
+ end
130
+ end
131
+ end
132
+
133
+ json.child! do
134
+ json.view 'label-v1'
135
+ json.text "\n"
136
+ end
137
+ json.child! do
138
+ json.view 'h1-v1'
139
+ json.text 'Horizontal panel with equal filling (containing vertical panel)'
140
+ end
141
+ json.child! do
142
+ json.view 'panels/horizontal-v1'
143
+ json.width 'matchParent'
144
+ json.distribution 'fillEqually'
145
+ json.subviews do
146
+ json.child! do
147
+ json.view 'button-v1'
148
+ json.text '1'
149
+ end
150
+
151
+ json.child! do
152
+ json.view 'panels/vertical-v1'
153
+ json.subviews do
154
+ json.child! do
155
+ json.view 'button-v1'
156
+ json.text 'A'
157
+ end
158
+
159
+ json.child! do
160
+ json.view 'button-v1'
161
+ json.text 'B'
162
+ end
163
+ end
164
+ end
165
+
166
+ json.child! do
167
+ json.view 'button-v1'
168
+ json.text '3'
169
+ end
170
+ end
171
+ end
172
+
173
+ json.child! do
174
+ json.view 'label-v1'
175
+ json.text "\n"
176
+ end
177
+ json.child! do
178
+ json.view 'h1-v1'
179
+ json.text 'Horizontal panel with equal spacing (containing vertical panel)'
180
+ end
181
+ json.child! do
182
+ json.view 'panels/horizontal-v1'
183
+ json.width 'matchParent'
184
+ json.distribution 'spaceEqually'
185
+ json.subviews do
186
+ json.child! do
187
+ json.view 'button-v1'
188
+ json.text '1'
189
+ end
190
+
191
+ json.child! do
192
+ json.view 'panels/vertical-v1'
193
+ json.subviews do
194
+ json.child! do
195
+ json.view 'button-v1'
196
+ json.text 'A'
197
+ end
198
+
199
+ json.child! do
200
+ json.view 'button-v1'
201
+ json.text 'B'
202
+ end
203
+ end
204
+ end
205
+
206
+ json.child! do
207
+ json.view 'button-v1'
208
+ json.text '3'
209
+ end
210
+ end
211
+ end
212
+
213
+ end