glib-web 0.10.9 → 0.11.0
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/view_builder/panels.rb +10 -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
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b752fcae7cc608d5890e82e1d8684ef0c00bcb825d4048384c39a8436b1a0960
|
4
|
+
data.tar.gz: 27b120d2754f94a98733ade53e81208631fd30d0ee78c8122c295fe5fb171e55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d1970741807a9de81b871d4d88c3d7ffd20de6cf1a52f54e8e8d8c9de3fb121bf039c55b319218d08735b747f415bde933ec36fb9201f51d2bc6d075f5acec1
|
7
|
+
data.tar.gz: bf8e5cb1620b44914a692ea142733ce1eab9eab8207f1392e10ee37b9efe616cc88cef5b854a771c7654363ee94d88225a61602784ff4cde902756a1b24858e4
|
@@ -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
|
@@ -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
|
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.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -201,6 +201,7 @@ files:
|
|
201
201
|
- app/views/json_ui/garage/pages/tab_bar.json.jbuilder
|
202
202
|
- app/views/json_ui/garage/panels/_hover_views_content.json.jbuilder
|
203
203
|
- app/views/json_ui/garage/panels/_styled.json.jbuilder
|
204
|
+
- app/views/json_ui/garage/panels/_timeline_content.json.jbuilder
|
204
205
|
- app/views/json_ui/garage/panels/card.json.jbuilder
|
205
206
|
- app/views/json_ui/garage/panels/carousel.json.jbuilder
|
206
207
|
- app/views/json_ui/garage/panels/custom.json.jbuilder
|
@@ -212,6 +213,7 @@ files:
|
|
212
213
|
- app/views/json_ui/garage/panels/outlined.json.jbuilder
|
213
214
|
- app/views/json_ui/garage/panels/responsive.json.jbuilder
|
214
215
|
- app/views/json_ui/garage/panels/split.json.jbuilder
|
216
|
+
- app/views/json_ui/garage/panels/timeline.json.jbuilder
|
215
217
|
- app/views/json_ui/garage/panels/ul.json.jbuilder
|
216
218
|
- app/views/json_ui/garage/panels/vertical.json.jbuilder
|
217
219
|
- app/views/json_ui/garage/panels/web.json.jbuilder
|