glib-web 0.11.8 → 0.11.11
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/dynamic_images_helper.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/dialogs.rb +12 -5
- data/app/helpers/glib/json_ui/view_builder/fields.rb +4 -0
- data/app/helpers/glib/json_ui/view_builder/panels.rb +10 -0
- data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +1 -17
- data/app/views/json_ui/garage/actions/_dialogs_show.json.jbuilder +28 -0
- data/app/views/json_ui/garage/forms/basic.json.jbuilder +9 -2
- data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/_timeline_content.json.jbuilder +24 -0
- data/app/views/json_ui/garage/panels/index.json.jbuilder +3 -0
- data/app/views/json_ui/garage/panels/timeline.json.jbuilder +70 -0
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
- metadata +4 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 85abe76e3d1977c064f2e86fdbb94762e1876847a81fca85846c7081f6ccb863
|
|
4
|
+
data.tar.gz: '0192085bf3a998491f3090afc395a953d31d4c66d8199e6754fd9f0e1c71c430'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 030c770a4d216aa32c5ca2f01d662112de29646adbe92777bdf4eed1e3b027896c4bbf9fe201780190c9d964f1c0a500cb7f3aaded8d337565b7ad249dc96d00
|
|
7
|
+
data.tar.gz: 191d5d6e515722fdf0bb53f84c4c689dba91c5fb4112c850d9b6540ab5b3e376b8c7eda433a80e2b577efd74c838459cbe900cca27590557473b4a952942c09c
|
|
File without changes
|
|
@@ -6,11 +6,11 @@ class Glib::JsonUi::ActionBuilder
|
|
|
6
6
|
action :onClose
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
class Show < Action
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
end
|
|
9
|
+
# class Show < Action
|
|
10
|
+
# string :body
|
|
11
|
+
# action :onLoad
|
|
12
|
+
# action :onClose
|
|
13
|
+
# end
|
|
14
14
|
|
|
15
15
|
# Deprecated in favour of `sheets/select`
|
|
16
16
|
class Options < Action
|
|
@@ -25,6 +25,7 @@ class Glib::JsonUi::ActionBuilder
|
|
|
25
25
|
|
|
26
26
|
class Show < Action
|
|
27
27
|
panels_builder :content, :body
|
|
28
|
+
bool :showClose
|
|
28
29
|
|
|
29
30
|
# Future plan
|
|
30
31
|
# panels_builder :content, :body, :footer
|
|
@@ -35,6 +36,12 @@ class Glib::JsonUi::ActionBuilder
|
|
|
35
36
|
bool :showClose
|
|
36
37
|
end
|
|
37
38
|
|
|
39
|
+
class Reload < Action
|
|
40
|
+
panels_builder :content, :body
|
|
41
|
+
string :url, cache: true
|
|
42
|
+
bool :showClose
|
|
43
|
+
end
|
|
44
|
+
|
|
38
45
|
class Close < Action
|
|
39
46
|
action :onClose
|
|
40
47
|
end
|
|
@@ -200,6 +200,7 @@ class Glib::JsonUi::ViewBuilder
|
|
|
200
200
|
# string :name
|
|
201
201
|
# string :value
|
|
202
202
|
views :childViews
|
|
203
|
+
bool :row
|
|
203
204
|
|
|
204
205
|
# Override
|
|
205
206
|
def value(value)
|
|
@@ -215,6 +216,9 @@ class Glib::JsonUi::ViewBuilder
|
|
|
215
216
|
class Radio < View
|
|
216
217
|
string :label
|
|
217
218
|
string :value
|
|
219
|
+
action :onClick
|
|
220
|
+
string :offIcon
|
|
221
|
+
string :onIcon
|
|
218
222
|
end
|
|
219
223
|
|
|
220
224
|
class File < Text
|
|
@@ -144,6 +144,16 @@ class Glib::JsonUi::ViewBuilder
|
|
|
144
144
|
end
|
|
145
145
|
end
|
|
146
146
|
|
|
147
|
+
class Timeline < View
|
|
148
|
+
color :completedColor
|
|
149
|
+
color :uncompletedColor
|
|
150
|
+
singleton_array :styleClass, :styleClasses
|
|
151
|
+
string :uncompletedIcon
|
|
152
|
+
string :completedIcon
|
|
153
|
+
array :items
|
|
154
|
+
views :childViews
|
|
155
|
+
end
|
|
156
|
+
|
|
147
157
|
class Table < View
|
|
148
158
|
hash :nextPage
|
|
149
159
|
hash :export
|
|
@@ -54,24 +54,8 @@ section.rows builder: ->(template) do
|
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
markdown = '## Emphasis' + "\n" +
|
|
58
|
-
'**This is bold text**' + "\n" +
|
|
59
|
-
"\n" +
|
|
60
|
-
'*This is italic text*' + "\n" +
|
|
61
|
-
"\n" +
|
|
62
|
-
'~~Strikethrough~~' + "\n"
|
|
63
57
|
template.thumbnail title: 'dialogs/show', onClick: ->(action) do
|
|
64
|
-
|
|
65
|
-
dialog.body padding: glib_json_padding_body, childViews: ->(body) do
|
|
66
|
-
body.markdown text: markdown
|
|
67
|
-
|
|
68
|
-
body.panels_split width: 'matchParent', content: ->(split) do
|
|
69
|
-
split.right childViews: ->(right) do
|
|
70
|
-
right.button text: 'OK', onClick: ->(subaction) { subaction.dialogs_close }
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
58
|
+
render 'json_ui/garage/actions/dialogs_show', json: json, action: action, dialog_mode: :show
|
|
75
59
|
end
|
|
76
60
|
|
|
77
61
|
template.thumbnail title: 'dialogs/open', onClick: ->(action) do
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
markdown = '## Emphasis' + "\n" +
|
|
2
|
+
'**This is bold text**' + "\n" +
|
|
3
|
+
"\n" +
|
|
4
|
+
'*This is italic text*' + "\n" +
|
|
5
|
+
"\n" +
|
|
6
|
+
'~~Strikethrough~~' + "\n"
|
|
7
|
+
|
|
8
|
+
action.send "dialogs_#{dialog_mode}", showClose: true, content: ->(dialog) do
|
|
9
|
+
dialog.body padding: glib_json_padding_body, childViews: ->(body) do
|
|
10
|
+
body.markdown text: markdown
|
|
11
|
+
|
|
12
|
+
body.panels_split width: 'matchParent', content: ->(split) do
|
|
13
|
+
split.left childViews: ->(left) do
|
|
14
|
+
left.panels_horizontal height: 'matchParent', align: 'middle', childViews: ->(horizontal) do
|
|
15
|
+
horizontal.label text: 'Open current', onClick: ->(subaction) do
|
|
16
|
+
subaction.dialogs_reload url: json_ui_garage_url(path: 'forms/basic', mode: 'dialog_reload')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
split.right childViews: ->(right) do
|
|
22
|
+
right.button text: 'Open New', onClick: ->(subaction) do
|
|
23
|
+
subaction.dialogs_open url: json_ui_garage_url(path: 'forms/basic', mode: 'dialog')
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -9,8 +9,15 @@ page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', pad
|
|
|
9
9
|
|
|
10
10
|
form.panels_split width: 'matchParent', content: ->(split) do
|
|
11
11
|
split.left childViews: ->(left) do
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
left.panels_horizontal height: 'matchParent', align: 'middle', childViews: ->(horizontal) do
|
|
13
|
+
case params[:mode]
|
|
14
|
+
when 'dialog'
|
|
15
|
+
horizontal.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
|
|
16
|
+
when 'dialog_reload'
|
|
17
|
+
horizontal.button styleClass: 'link', text: 'back', onClick: ->(action) do
|
|
18
|
+
render 'json_ui/garage/actions/dialogs_show', json: json, action: action, dialog_mode: :reload
|
|
19
|
+
end
|
|
20
|
+
end
|
|
14
21
|
end
|
|
15
22
|
end
|
|
16
23
|
split.right childViews: ->(right) do
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
progress = params[:progress]&.to_i&.between?(0, 5) ? params[:progress].to_i : 0
|
|
2
|
+
|
|
3
|
+
tview.panels_responsive \
|
|
4
|
+
width: 400,
|
|
5
|
+
childViews: ->(res) do
|
|
6
|
+
res.panels_column sm: { cols: 11 }, childViews: ->(subcolumn) do
|
|
7
|
+
subcolumn.panels_column sm: { cols: 2, padding: { right: 10 } }, childViews: ->(inner_column) do
|
|
8
|
+
inner_column.spacer height: 10
|
|
9
|
+
inner_column.progressBar value: progress/5.to_f, height: 5, styleClass: 'no-text'
|
|
10
|
+
inner_column.spacer height: 10
|
|
11
|
+
end
|
|
12
|
+
subcolumn.panels_column sm: { cols: 9 }, childViews: ->(inner_column) do
|
|
13
|
+
inner_column.h4 \
|
|
14
|
+
text: "Progress #{progress}/5"
|
|
15
|
+
end
|
|
16
|
+
subcolumn.p text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
|
|
17
|
+
end
|
|
18
|
+
res.panels_column sm: { cols: 1 }, childViews: ->(subcolumn) do
|
|
19
|
+
subcolumn.icon name: 'add', size: 50
|
|
20
|
+
end
|
|
21
|
+
end, onClick: ->(action) do
|
|
22
|
+
action.windows_reload url: json_ui_garage_url(path: 'panels/timeline', progress: progress + 1)
|
|
23
|
+
end
|
|
24
|
+
tview.spacer height: 12
|
|
@@ -30,6 +30,9 @@ json_ui_page json do |page|
|
|
|
30
30
|
template.thumbnail title: 'Unordered List', subtitle: 'Bullet points similar to HTML\'s <ul> tag', onClick: ->(action) do
|
|
31
31
|
action.windows_open url: json_ui_garage_url(path: 'panels/ul')
|
|
32
32
|
end
|
|
33
|
+
template.thumbnail title: 'Timeline', subtitle: 'Timeline component with responsive panel as the childviews', onClick: ->(action) do
|
|
34
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/timeline')
|
|
35
|
+
end
|
|
33
36
|
end
|
|
34
37
|
end, ->(section) do
|
|
35
38
|
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
json.title 'Timeline Panels'
|
|
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: 'Basic timeline'
|
|
8
|
+
scroll.spacer height: 8
|
|
9
|
+
|
|
10
|
+
timeline_items = [
|
|
11
|
+
{ name: :submitted, label: 'Order submitted' },
|
|
12
|
+
{ name: :finding, label: 'Finding you a driver' },
|
|
13
|
+
{ name: :driver_assigned, label: 'Driver found, picking you up..' },
|
|
14
|
+
{ name: :otw, label: 'On the way' },
|
|
15
|
+
{ name: :arrived, label: 'Arrived' }
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
# Defining active or completed item
|
|
19
|
+
active_name = :driver_assigned
|
|
20
|
+
timeline_items.each_with_index do |h, i|
|
|
21
|
+
if h[:name] == active_name
|
|
22
|
+
h[:active] = true
|
|
23
|
+
break
|
|
24
|
+
else
|
|
25
|
+
h[:completed] = true
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
scroll.panels_timeline items: timeline_items
|
|
30
|
+
scroll.spacer height: 32
|
|
31
|
+
|
|
32
|
+
custom_completed_item = {
|
|
33
|
+
name: :custom,
|
|
34
|
+
label: 'Completed item with a custom icon',
|
|
35
|
+
completed: true,
|
|
36
|
+
uncompletedIcon: 'place',
|
|
37
|
+
completedIcon: 'place'
|
|
38
|
+
}
|
|
39
|
+
custom_uncompleted_item = {
|
|
40
|
+
name: :custom,
|
|
41
|
+
label: 'Uncompleted item with a custom icon',
|
|
42
|
+
uncompletedIcon: 'flag',
|
|
43
|
+
completedIcon: 'flag'
|
|
44
|
+
}
|
|
45
|
+
scroll.h2 text: 'Timeline with outlined dots, custom icons and custom colors'
|
|
46
|
+
scroll.spacer height: 8
|
|
47
|
+
scroll.panels_timeline \
|
|
48
|
+
items: [custom_completed_item] + timeline_items + [custom_uncompleted_item],
|
|
49
|
+
completedColor: '#4BB543',
|
|
50
|
+
uncompletedColor: '#FFA500',
|
|
51
|
+
styleClasses: ['outlined'],
|
|
52
|
+
completedIcon: 'check',
|
|
53
|
+
uncompletedIcon: 'hourglass_empty'
|
|
54
|
+
scroll.spacer height: 32
|
|
55
|
+
|
|
56
|
+
scroll.h2 text: 'Timeline with childViews'
|
|
57
|
+
scroll.panels_timeline \
|
|
58
|
+
items: timeline_items,
|
|
59
|
+
childViews: ->(tview) do
|
|
60
|
+
tview.spacer height: 16
|
|
61
|
+
render 'json_ui/garage/panels/timeline_content', tview: tview
|
|
62
|
+
tview.spacer height: 16
|
|
63
|
+
|
|
64
|
+
tview.button text: 'Reset', onClick: ->(action) do
|
|
65
|
+
action.windows_reload url: json_ui_garage_url(path: 'panels/timeline')
|
|
66
|
+
end
|
|
67
|
+
tview.spacer height: 16
|
|
68
|
+
end
|
|
69
|
+
scroll.spacer height: 32
|
|
70
|
+
end
|
|
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.11.
|
|
4
|
+
version: 0.11.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ''
|
|
@@ -129,6 +129,7 @@ files:
|
|
|
129
129
|
- app/views/json_ui/garage/_nav_menu.json.jbuilder
|
|
130
130
|
- app/views/json_ui/garage/actions/_commands.json.jbuilder
|
|
131
131
|
- app/views/json_ui/garage/actions/_dialogs.json.jbuilder
|
|
132
|
+
- app/views/json_ui/garage/actions/_dialogs_show.json.jbuilder
|
|
132
133
|
- app/views/json_ui/garage/actions/_http.json.jbuilder
|
|
133
134
|
- app/views/json_ui/garage/actions/_panels.json.jbuilder
|
|
134
135
|
- app/views/json_ui/garage/actions/_reload.json.jbuilder
|
|
@@ -201,6 +202,7 @@ files:
|
|
|
201
202
|
- app/views/json_ui/garage/pages/tab_bar.json.jbuilder
|
|
202
203
|
- app/views/json_ui/garage/panels/_hover_views_content.json.jbuilder
|
|
203
204
|
- app/views/json_ui/garage/panels/_styled.json.jbuilder
|
|
205
|
+
- app/views/json_ui/garage/panels/_timeline_content.json.jbuilder
|
|
204
206
|
- app/views/json_ui/garage/panels/card.json.jbuilder
|
|
205
207
|
- app/views/json_ui/garage/panels/carousel.json.jbuilder
|
|
206
208
|
- app/views/json_ui/garage/panels/custom.json.jbuilder
|
|
@@ -212,6 +214,7 @@ files:
|
|
|
212
214
|
- app/views/json_ui/garage/panels/outlined.json.jbuilder
|
|
213
215
|
- app/views/json_ui/garage/panels/responsive.json.jbuilder
|
|
214
216
|
- app/views/json_ui/garage/panels/split.json.jbuilder
|
|
217
|
+
- app/views/json_ui/garage/panels/timeline.json.jbuilder
|
|
215
218
|
- app/views/json_ui/garage/panels/ul.json.jbuilder
|
|
216
219
|
- app/views/json_ui/garage/panels/vertical.json.jbuilder
|
|
217
220
|
- app/views/json_ui/garage/panels/web.json.jbuilder
|