glib-web 3.17.1 → 3.17.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/glib/auth/response.rb +25 -9
- data/app/controllers/concerns/glib/json/libs.rb +1 -1
- data/app/helpers/glib/json_ui/action_builder/components.rb +23 -1
- data/app/helpers/glib/json_ui/action_builder/fields.rb +5 -0
- data/app/helpers/glib/json_ui/view_builder/panels.rb +1 -0
- data/app/helpers/glib/json_ui/view_builder.rb +6 -1
- data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +1 -1
- data/app/views/json_ui/garage/forms/rich_text_preview.json.jbuilder +2 -1
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +2 -3
- data/app/views/json_ui/garage/panels/index.json.jbuilder +0 -4
- data/app/views/json_ui/garage/tables/index.json.jbuilder +3 -0
- data/app/views/json_ui/garage/tables/panel_content.json.jbuilder +36 -0
- data/app/views/json_ui/garage/views/charts.json.jbuilder +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd24effaae205cda3bbaa562759d4e10ad6ec1a746bab48e09bd58e122750904
|
4
|
+
data.tar.gz: 0017f7bddf14f314f6d1d653bf9e8696e87e55931472a487a33374b430a77c39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 785f4c5cc7a5f118b83a1f51913cb5ad7f612610046841124361c3e11f123fa35ab7115195900dc62a01967a8ad0beb009d7478427d50fe7b45ce781022fab9e
|
7
|
+
data.tar.gz: e627ad1cb3d030a0ed2ed3059735899331e5f0137ad12dad13fa9c55de6cf84c0925ca9d63f381ad1cdb73f798f46e27818bb22af37fa92331bfbd05eb3ae070
|
@@ -11,7 +11,7 @@ module Glib::Auth
|
|
11
11
|
params[:_dialog].present? # E.g. _dialog=v1
|
12
12
|
end
|
13
13
|
|
14
|
-
def __glib_error_dialog(title, message)
|
14
|
+
def __glib_error_dialog(title, message, bottom_views = [])
|
15
15
|
{
|
16
16
|
action: 'dialogs/show',
|
17
17
|
# Don't show another dialog, just use the current one since it's a new dialog anyway, which means
|
@@ -21,23 +21,39 @@ module Glib::Auth
|
|
21
21
|
body: {
|
22
22
|
childViews: [
|
23
23
|
{
|
24
|
-
|
25
|
-
|
24
|
+
view: 'label',
|
25
|
+
text: message
|
26
26
|
},
|
27
|
-
],
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
].concat(bottom_views),
|
28
|
+
padding: {
|
29
|
+
x: 20,
|
30
|
+
y: 22,
|
31
31
|
},
|
32
32
|
}
|
33
33
|
}
|
34
34
|
end
|
35
35
|
|
36
|
-
def json_ui_401_response
|
36
|
+
def json_ui_401_response(sign_in_url)
|
37
37
|
{
|
38
38
|
# Handle dialogs_open and windows_open
|
39
39
|
glib_json_dialog_mode? ? :onLoad : :onResponse => __glib_error_dialog(
|
40
|
-
'Your session has ended', 'Please
|
40
|
+
'Your session has ended', 'Please re-login.', [
|
41
|
+
{
|
42
|
+
view: 'spacer',
|
43
|
+
height: 20
|
44
|
+
},
|
45
|
+
{
|
46
|
+
view: 'button',
|
47
|
+
text: 'Re-login',
|
48
|
+
onClick: {
|
49
|
+
action: 'dialogs/close',
|
50
|
+
onClose: {
|
51
|
+
action: 'windows/open',
|
52
|
+
url: sign_in_url
|
53
|
+
}
|
54
|
+
}
|
55
|
+
},
|
56
|
+
])
|
41
57
|
}
|
42
58
|
end
|
43
59
|
end
|
@@ -101,7 +101,7 @@ module Glib::Json::Libs
|
|
101
101
|
redirect_to sign_in_url
|
102
102
|
end
|
103
103
|
format.json do
|
104
|
-
render json: json_ui_401_response, status: Rails.env.test? ? :unauthorized : :ok
|
104
|
+
render json: json_ui_401_response(sign_in_url), status: Rails.env.test? ? :unauthorized : :ok
|
105
105
|
end
|
106
106
|
end
|
107
107
|
end
|
@@ -1,14 +1,36 @@
|
|
1
1
|
class Glib::JsonUi::ActionBuilder
|
2
2
|
module Components
|
3
|
-
|
4
3
|
class Find < Action
|
5
4
|
string :targetId
|
6
5
|
action :onFind
|
7
6
|
end
|
8
7
|
|
8
|
+
class FindClosest < Action
|
9
|
+
string :view
|
10
|
+
action :onFind
|
11
|
+
end
|
12
|
+
|
13
|
+
# Deprecated. Use components_replace instead
|
9
14
|
class Update < Action
|
10
15
|
string :targetId
|
11
16
|
views :views
|
12
17
|
end
|
18
|
+
|
19
|
+
class Replace < Action
|
20
|
+
string :targetId
|
21
|
+
action :onReplace
|
22
|
+
|
23
|
+
def newView(block)
|
24
|
+
json.newView do
|
25
|
+
block.call(page.sview_builder)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Set < Action
|
31
|
+
string :targetId
|
32
|
+
hash :data
|
33
|
+
action :onSet
|
34
|
+
end
|
13
35
|
end
|
14
36
|
end
|
@@ -40,9 +40,14 @@ module Glib
|
|
40
40
|
color :backgroundColor
|
41
41
|
hash :padding
|
42
42
|
singleton_array :styleClass, :styleClasses
|
43
|
-
|
43
|
+
|
44
44
|
hash :valueIf
|
45
|
+
|
46
|
+
hash :showIf
|
45
47
|
hash :loadIf
|
48
|
+
action :onIfTrue
|
49
|
+
action :onIfFalse
|
50
|
+
|
46
51
|
hash :analytics
|
47
52
|
# hash :tooltip
|
48
53
|
array :extensions
|
@@ -59,7 +59,7 @@ section.rows builder: ->(template) do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
template.thumbnail title: 'dialogs/open', onClick: ->(action) do
|
62
|
-
action.dialogs_open width: 950, url: json_ui_garage_url(path: 'forms/basic', mode: 'dialog')
|
62
|
+
action.dialogs_open width: 950, url: json_ui_garage_url(path: 'forms/basic', mode: 'dialog'), disableCloseButton: true
|
63
63
|
end
|
64
64
|
|
65
65
|
template.thumbnail title: 'dialogs/open (fullscreen on mobile)', onClick: ->(action) do
|
@@ -1,7 +1,8 @@
|
|
1
1
|
data = params[:user] || {}
|
2
2
|
|
3
3
|
json_ui_response_with_view json do |action|
|
4
|
-
|
4
|
+
# See if we can use components_set instead.
|
5
|
+
action.components_replace targetId: 'preview', newView: ->(update) do
|
5
6
|
update.panels_vertical childViews: ->(vertical) do
|
6
7
|
vertical.label text: "Hello #{data[:name]},"
|
7
8
|
vertical.spacer height: 18
|
@@ -70,10 +70,9 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
|
|
70
70
|
accessory.header padding: { x: 16, y: 10 }, childViews: ->(header) do
|
71
71
|
header.label text: 'Header'
|
72
72
|
end
|
73
|
-
accessory.footer padding: { x: 16, y: 10 }, childViews: ->(
|
74
|
-
|
73
|
+
accessory.footer padding: { x: 16, y: 10 }, childViews: ->(footer) do
|
74
|
+
footer.label text: 'Footer'
|
75
75
|
end
|
76
|
-
# footer.label text: 'TEST123'
|
77
76
|
end
|
78
77
|
|
79
78
|
form.fields_select \
|
@@ -131,10 +131,6 @@ json_ui_page json do |page|
|
|
131
131
|
action.windows_open url: json_ui_garage_url(path: 'panels/grid')
|
132
132
|
end
|
133
133
|
|
134
|
-
template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
|
135
|
-
# TODO
|
136
|
-
end
|
137
|
-
|
138
134
|
template.thumbnail title: 'List Template Accessory', onClick: ->(action) do
|
139
135
|
# TODO
|
140
136
|
end
|
@@ -20,6 +20,9 @@ page.list firstSection: ->(section) do
|
|
20
20
|
template.thumbnail title: 'Autoload All', onClick: ->(action) do
|
21
21
|
action.windows_open url: json_ui_garage_url(path: 'tables/autoload_all')
|
22
22
|
end
|
23
|
+
template.thumbnail title: 'Panel Content', onClick: ->(action) do
|
24
|
+
action.windows_open url: json_ui_garage_url(path: 'tables/panel_content')
|
25
|
+
end
|
23
26
|
end
|
24
27
|
|
25
28
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
json.title 'Tables'
|
2
|
+
|
3
|
+
page = json_ui_page json
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
5
|
+
|
6
|
+
page.table styleClass: 'table--grid', sections: [
|
7
|
+
->(section) do
|
8
|
+
section.header cellViews: ->(header) do
|
9
|
+
header.label text: 'Vertical'
|
10
|
+
header.label text: 'Horizontal'
|
11
|
+
header.label text: 'Unordered List'
|
12
|
+
end
|
13
|
+
|
14
|
+
items = [1, 2, 3]
|
15
|
+
section.rows objects: items, builder: ->(row, item, index) do
|
16
|
+
row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
|
17
|
+
cell.panels_vertical childViews: ->(vertical) do
|
18
|
+
vertical.h3 text: "Title #{item}"
|
19
|
+
vertical.spacer height: 4
|
20
|
+
vertical.label text: "Subtitle #{item}"
|
21
|
+
end
|
22
|
+
|
23
|
+
cell.panels_horizontal childViews: ->(vertical) do
|
24
|
+
vertical.label text: "Left #{item}"
|
25
|
+
vertical.spacer width: 10
|
26
|
+
vertical.label text: "Right #{item}"
|
27
|
+
end
|
28
|
+
|
29
|
+
cell.panels_ul childViews: ->(ul) do
|
30
|
+
ul.label text: "Item A#{item}"
|
31
|
+
ul.label text: "Item B#{item}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
]
|
@@ -129,6 +129,7 @@ else
|
|
129
129
|
plugins[:datalabels][:formatType] = 'label'
|
130
130
|
scroll.h2 text: 'Pie chart'
|
131
131
|
scroll.charts_pie \
|
132
|
+
legend: { display: false },
|
132
133
|
colors: ['#fc5a8d', '#F5E216'],
|
133
134
|
plugins: plugins,
|
134
135
|
dataPoints: [{ title: 'Strawberry', value: 25 }, { title: 'Banana', value: 75 }], legend: { display: false }
|
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: 3.17.
|
4
|
+
version: 3.17.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -254,6 +254,7 @@ files:
|
|
254
254
|
- app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder
|
255
255
|
- app/views/json_ui/garage/tables/index.json.jbuilder
|
256
256
|
- app/views/json_ui/garage/tables/layout.json.jbuilder
|
257
|
+
- app/views/json_ui/garage/tables/panel_content.json.jbuilder
|
257
258
|
- app/views/json_ui/garage/views/_chart_data.json.jbuilder
|
258
259
|
- app/views/json_ui/garage/views/banners.json.jbuilder
|
259
260
|
- app/views/json_ui/garage/views/calendar_data.json.jbuilder
|