glib-web 0.5.81 → 0.5.85
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 +4 -4
- data/app/helpers/glib/json_ui/menu_builder.rb +2 -0
- data/app/helpers/glib/json_ui/page_helper.rb +3 -3
- data/app/helpers/glib/json_ui/view_builder/panels.rb +5 -3
- data/app/helpers/glib/json_ui/view_builder.rb +9 -1
- data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +4 -2
- data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +77 -16
- data/app/views/json_ui/garage/views/banners.json.jbuilder +6 -2
- data/app/views/json_ui/garage/views/index.json.jbuilder +28 -23
- data/app/views/json_ui/garage/views/progress.json.jbuilder +31 -0
- metadata +2 -2
- data/app/helpers/glib/json_ui/split_builders.rb +0 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbc3d54d9b3330ceaf201ca6a3b1fe2a2c773eec342568356e7fa92962c3e3c3
|
4
|
+
data.tar.gz: 31c246e1afd7ee0a31eae925b3ddf227a7299c05b2b7972f85972768025527c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 065e4399ffd15e49e072b4c30c71b823d977397f6435ca112a8ad0e5aabf43c2c544e3806d9e93dd572cc7c9a3d2cafa79ec0f5f6d60fb02a075637e36635bf1
|
7
|
+
data.tar.gz: c55ace7298dd9294d003e5b55b778f8b384a6caf5a5cb69f6a0496e2ac59771e1f4a362777d4d4c48a3b0d9269920be2e8d6cd908a0b3244dce16a4f5ce4ba69
|
@@ -65,7 +65,7 @@ module Glib
|
|
65
65
|
|
66
66
|
class Page
|
67
67
|
attr_reader :json, :context, :view_builder, :action_builder, :menu_builder
|
68
|
-
attr_reader :list_section_builder, :table_section_builder, :drawer_content_builder
|
68
|
+
attr_reader :list_section_builder, :table_section_builder, :drawer_content_builder
|
69
69
|
|
70
70
|
# See Panels::Form
|
71
71
|
attr_accessor :current_form
|
@@ -81,7 +81,7 @@ module Glib
|
|
81
81
|
@list_section_builder = ListBuilders::Section.new(json, self, ListBuilders::Template.new(json, self))
|
82
82
|
@drawer_content_builder = ListBuilders::Section.new(json, self, @menu_builder)
|
83
83
|
@table_section_builder = TableBuilders::Section.new(json, self, TableBuilders::Template.new(json, self))
|
84
|
-
@split_content_builder = SplitBuilders::Content.new(json, self, @view_builder)
|
84
|
+
# @split_content_builder = SplitBuilders::Content.new(json, self, @view_builder)
|
85
85
|
|
86
86
|
# TODO: Deprecate
|
87
87
|
# For generic `body` builder. For others, use content_builder()
|
@@ -107,7 +107,7 @@ module Glib
|
|
107
107
|
|
108
108
|
def leftDrawer(options = {})
|
109
109
|
json.leftDrawer do
|
110
|
-
[:styleClasses].each do |name|
|
110
|
+
[:styleClasses, :backgroundColor].each do |name|
|
111
111
|
if (value = options.delete(name))
|
112
112
|
json.set! name, value
|
113
113
|
end
|
@@ -165,9 +165,11 @@ class Glib::JsonUi::ViewBuilder
|
|
165
165
|
end
|
166
166
|
|
167
167
|
class Split < View
|
168
|
-
def content(block)
|
169
|
-
|
170
|
-
end
|
168
|
+
# def content(block)
|
169
|
+
# block.call page.split_content_builder
|
170
|
+
# end
|
171
|
+
|
172
|
+
panels_builder :content, :left, :center, :right
|
171
173
|
end
|
172
174
|
|
173
175
|
class Responsive < View
|
@@ -75,7 +75,7 @@ module Glib
|
|
75
75
|
|
76
76
|
### View definitions
|
77
77
|
|
78
|
-
class AbstractText < View
|
78
|
+
class AbstractText < View
|
79
79
|
string :textAlign
|
80
80
|
text :text
|
81
81
|
color :color
|
@@ -204,6 +204,7 @@ module Glib
|
|
204
204
|
end
|
205
205
|
|
206
206
|
class TabBar < View
|
207
|
+
int :height
|
207
208
|
color :color
|
208
209
|
|
209
210
|
def buttons(block)
|
@@ -215,6 +216,7 @@ module Glib
|
|
215
216
|
|
216
217
|
class AppBar < View
|
217
218
|
color :color
|
219
|
+
panels_builder :content, :logo
|
218
220
|
|
219
221
|
# def leftButtons(block)
|
220
222
|
# json.leftButtons do
|
@@ -235,6 +237,12 @@ module Glib
|
|
235
237
|
bool :tick
|
236
238
|
end
|
237
239
|
|
240
|
+
class ProgressBar < View
|
241
|
+
float :value
|
242
|
+
color :color
|
243
|
+
color :backgroundColor
|
244
|
+
bool :reversed
|
245
|
+
end
|
238
246
|
end
|
239
247
|
end
|
240
248
|
end
|
@@ -12,9 +12,11 @@
|
|
12
12
|
|
13
13
|
# section = json_ui_section json
|
14
14
|
|
15
|
+
sleep 1
|
16
|
+
|
15
17
|
section = page.list_section_builder
|
16
18
|
section.rows builder: ->(row) do
|
17
|
-
batch_count =
|
19
|
+
batch_count = 1000
|
18
20
|
batch_count.times do |i|
|
19
21
|
index = page_index * batch_count + i
|
20
22
|
if local_assigns[:reorder]
|
@@ -22,7 +24,7 @@ section.rows builder: ->(row) do
|
|
22
24
|
action.dialogs_notification title: "Item #{index}"
|
23
25
|
end, paramNameForFormData: 'message', paramNameForNewIndex: 'new_index'
|
24
26
|
else
|
25
|
-
row.thumbnail title: "Item #{index}"
|
27
|
+
row.thumbnail title: "Item #{index}", subtitle: "Sub Item #{index}", subsubtitle: "Sub Sub Item #{index}"
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
@@ -3,28 +3,89 @@ json.title 'Pages'
|
|
3
3
|
json_ui_page json do |page|
|
4
4
|
render "#{@path_prefix}/nav_menu", json: json, page: page
|
5
5
|
|
6
|
-
page.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
6
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
7
|
+
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
8
|
+
column.h2 text: 'Tab Bar with Badge'
|
9
|
+
column.tabBar buttons: ->(menu) do
|
10
|
+
{
|
11
|
+
'FIRST' => 'home',
|
12
|
+
'SECOND' => 'schedule',
|
13
|
+
'THIRD' => 'analytics'
|
14
|
+
}.each_with_index do |(text, icon), index|
|
15
|
+
menu.button \
|
16
|
+
icon: icon,
|
17
|
+
text: text,
|
18
|
+
badgeContent: [nil, 8, '⭐⭐⭐'][index],
|
19
|
+
badgeColor: [nil, '#272551', '#008000'][index],
|
20
|
+
disabled: params[:tab].to_i == index,
|
21
|
+
onClick: ->(action) do
|
22
|
+
action.windows_reload \
|
23
|
+
url: json_ui_garage_url(
|
24
|
+
path: 'pages/tab_bar',
|
25
|
+
tab: index,
|
26
|
+
tab_2: params[:tab_2],
|
27
|
+
tab_3: params[:tab_3]
|
28
|
+
)
|
29
|
+
end
|
16
30
|
end
|
17
31
|
end
|
32
|
+
column.spacer height: 10
|
33
|
+
|
34
|
+
column.label text: "Tab index #{params[:tab].to_i} selected"
|
35
|
+
column.spacer height: 10
|
36
|
+
|
37
|
+
10.times do |i|
|
38
|
+
column.label text: "Line #{i + 1}"
|
39
|
+
end
|
40
|
+
column.spacer height: 40
|
18
41
|
end
|
19
|
-
end
|
20
42
|
|
21
|
-
|
22
|
-
|
43
|
+
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
44
|
+
column.h2 text: "Tab Bar with 'full-width-divider'"
|
45
|
+
column.tabBar styleClass: 'full-width-divider', buttons: ->(menu) do
|
46
|
+
5.times do |index|
|
47
|
+
menu.button \
|
48
|
+
text: "Tab #{index}",
|
49
|
+
disabled: params[:tab_2].to_i == index,
|
50
|
+
onClick: ->(action) do
|
51
|
+
action.windows_reload \
|
52
|
+
url: json_ui_garage_url(
|
53
|
+
path: 'pages/tab_bar',
|
54
|
+
tab: params[:tab],
|
55
|
+
tab_2: index,
|
56
|
+
tab_3: params[:tab_3]
|
57
|
+
)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
column.spacer height: 10
|
62
|
+
|
63
|
+
column.label text: "Tab-2 index #{params[:tab_2].to_i} selected"
|
64
|
+
column.spacer height: 40
|
65
|
+
end
|
23
66
|
|
24
|
-
scroll.
|
67
|
+
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
68
|
+
column.h2 text: "Tab Bar 'with no-grow'"
|
69
|
+
column.tabBar styleClass: 'no-grow', buttons: ->(menu) do
|
70
|
+
5.times do |index|
|
71
|
+
menu.button \
|
72
|
+
text: "Tab #{index}",
|
73
|
+
disabled: params[:tab_3].to_i == index,
|
74
|
+
onClick: ->(action) do
|
75
|
+
action.windows_reload \
|
76
|
+
url: json_ui_garage_url(
|
77
|
+
path: 'pages/tab_bar',
|
78
|
+
tab: params[:tab],
|
79
|
+
tab_2: params[:tab_2],
|
80
|
+
tab_3: index
|
81
|
+
)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
column.spacer height: 10
|
25
86
|
|
26
|
-
|
27
|
-
|
87
|
+
column.label text: "Tab-3 index #{params[:tab_3].to_i} selected"
|
88
|
+
column.spacer height: 40
|
28
89
|
end
|
29
90
|
end
|
30
91
|
|
@@ -19,7 +19,7 @@ json_ui_page json do |page|
|
|
19
19
|
scroll.h2 text: 'With select options'
|
20
20
|
scroll.spacer height: 6
|
21
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
|
22
|
+
menu.button icon: 'add', text: 'Add', badgeContent: 80, onClick: ->(action) do
|
23
23
|
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
24
24
|
end
|
25
25
|
menu.button icon: 'edit', text: 'Edit', onClick: ->(action) do
|
@@ -30,7 +30,11 @@ json_ui_page json do |page|
|
|
30
30
|
end
|
31
31
|
|
32
32
|
menu.button icon: 'more_vert', childButtons: ->(submenu) do
|
33
|
-
submenu.button
|
33
|
+
submenu.button \
|
34
|
+
icon: 'add',
|
35
|
+
text: 'Option1',
|
36
|
+
badgeContent: 3,
|
37
|
+
onClick: ->(action) do
|
34
38
|
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
35
39
|
end
|
36
40
|
submenu.button icon: 'edit', text: 'Option2', onClick: ->(action) do
|
@@ -10,30 +10,35 @@ json_ui_page json do |page|
|
|
10
10
|
end
|
11
11
|
|
12
12
|
section.rows builder: ->(template) do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
action.windows_open url: json_ui_garage_url(path: 'views/controls')
|
18
|
-
end
|
19
|
-
template.thumbnail title: 'Images', onClick: ->(action) do
|
20
|
-
action.windows_open url: json_ui_garage_url(path: 'views/images')
|
21
|
-
end
|
22
|
-
template.thumbnail title: 'Charts', onClick: ->(action) do
|
23
|
-
action.windows_open url: json_ui_garage_url(path: 'views/charts')
|
24
|
-
end
|
25
|
-
template.thumbnail title: 'Banners', onClick: ->(action) do
|
26
|
-
action.windows_open url: json_ui_garage_url(path: 'views/banners')
|
27
|
-
end
|
28
|
-
template.thumbnail title: 'Maps', onClick: ->(action) do
|
29
|
-
action.windows_open url: json_ui_garage_url(path: 'views/maps')
|
30
|
-
end
|
31
|
-
template.thumbnail title: 'Misc', onClick: ->(action) do
|
32
|
-
action.windows_open url: json_ui_garage_url(path: 'views/misc')
|
33
|
-
end
|
34
|
-
template.thumbnail title: 'Icons', onClick: ->(action) do
|
35
|
-
action.windows_open url: json_ui_garage_url(path: 'views/icons')
|
13
|
+
['texts', 'controls', 'images', 'charts', 'banners', 'maps', 'misc', 'icons', 'progress'].each do |component|
|
14
|
+
template.thumbnail title: component.humanize, onClick: ->(action) do
|
15
|
+
action.windows_open url: json_ui_garage_url(path: "views/#{component}")
|
16
|
+
end
|
36
17
|
end
|
18
|
+
# template.thumbnail title: 'Texts', onClick: ->(action) do
|
19
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/texts')
|
20
|
+
# end
|
21
|
+
# template.thumbnail title: 'Controls', onClick: ->(action) do
|
22
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/controls')
|
23
|
+
# end
|
24
|
+
# template.thumbnail title: 'Images', onClick: ->(action) do
|
25
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/images')
|
26
|
+
# end
|
27
|
+
# template.thumbnail title: 'Charts', onClick: ->(action) do
|
28
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/charts')
|
29
|
+
# end
|
30
|
+
# template.thumbnail title: 'Banners', onClick: ->(action) do
|
31
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/banners')
|
32
|
+
# end
|
33
|
+
# template.thumbnail title: 'Maps', onClick: ->(action) do
|
34
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/maps')
|
35
|
+
# end
|
36
|
+
# template.thumbnail title: 'Misc', onClick: ->(action) do
|
37
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/misc')
|
38
|
+
# end
|
39
|
+
# template.thumbnail title: 'Icons', onClick: ->(action) do
|
40
|
+
# action.windows_open url: json_ui_garage_url(path: 'views/icons')
|
41
|
+
# end
|
37
42
|
end
|
38
43
|
end,
|
39
44
|
->(section) do
|
@@ -0,0 +1,31 @@
|
|
1
|
+
json.title 'Views'
|
2
|
+
|
3
|
+
page = json_ui_page json
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
5
|
+
|
6
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
7
|
+
scroll.h2 text: 'Progress Bar'
|
8
|
+
scroll.spacer height: 6
|
9
|
+
scroll.progressBar value: 0.1
|
10
|
+
scroll.spacer height: 20
|
11
|
+
|
12
|
+
scroll.h2 text: 'Thin Progress Bar'
|
13
|
+
scroll.spacer height: 6
|
14
|
+
scroll.progressBar value: 0.25, height: 5, styleClass: 'no-text'
|
15
|
+
scroll.spacer height: 20
|
16
|
+
|
17
|
+
scroll.h2 text: 'Striped Progress Bar'
|
18
|
+
scroll.spacer height: 6
|
19
|
+
scroll.progressBar value: 0.5, styleClass: 'striped'
|
20
|
+
scroll.spacer height: 20
|
21
|
+
|
22
|
+
scroll.h2 text: 'Progress Bar with custom colors'
|
23
|
+
scroll.spacer height: 6
|
24
|
+
scroll.progressBar value: 0.75, color: '#272551', backgroundColor: '#FFFF00', styleClass: 'light'
|
25
|
+
scroll.spacer height: 20
|
26
|
+
|
27
|
+
scroll.h2 text: 'Reversed Progress Bar'
|
28
|
+
scroll.spacer height: 6
|
29
|
+
scroll.progressBar value: 0.1, reversed: true
|
30
|
+
scroll.spacer height: 20
|
31
|
+
end
|
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.5.
|
4
|
+
version: 0.5.85
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -105,7 +105,6 @@ files:
|
|
105
105
|
- app/helpers/glib/json_ui/menu_builder.rb
|
106
106
|
- app/helpers/glib/json_ui/page_helper.rb
|
107
107
|
- app/helpers/glib/json_ui/response_helper.rb
|
108
|
-
- app/helpers/glib/json_ui/split_builders.rb
|
109
108
|
- app/helpers/glib/json_ui/styling_helper.rb
|
110
109
|
- app/helpers/glib/json_ui/table_builders.rb
|
111
110
|
- app/helpers/glib/json_ui/view_builder.rb
|
@@ -230,6 +229,7 @@ files:
|
|
230
229
|
- app/views/json_ui/garage/views/maps.json.jbuilder
|
231
230
|
- app/views/json_ui/garage/views/markdowns.json.jbuilder
|
232
231
|
- app/views/json_ui/garage/views/misc.json.jbuilder
|
232
|
+
- app/views/json_ui/garage/views/progress.json.jbuilder
|
233
233
|
- app/views/json_ui/garage/views/texts.json.jbuilder
|
234
234
|
- app/views/layouts/json_ui/renderer.html.erb
|
235
235
|
- config/routes.rb
|
@@ -1,32 +0,0 @@
|
|
1
|
-
module Glib
|
2
|
-
module JsonUi
|
3
|
-
module SplitBuilders
|
4
|
-
|
5
|
-
class Content < AbstractBuilder
|
6
|
-
def initialize(json, page, template)
|
7
|
-
super json, page
|
8
|
-
@template = template
|
9
|
-
end
|
10
|
-
|
11
|
-
def left(options = {})
|
12
|
-
json.left do
|
13
|
-
page.vertical_content(options)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def center(options = {})
|
18
|
-
json.center do
|
19
|
-
page.vertical_content(options)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def right(options = {})
|
24
|
-
json.right do
|
25
|
-
page.vertical_content(options)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|