glib-web 3.20.5 → 3.21.0
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/json/libs.rb +38 -12
- data/app/helpers/glib/json_ui/action_builder/fields.rb +4 -0
- data/app/helpers/glib/json_ui/view_builder/fields.rb +1 -0
- data/app/views/json_ui/garage/forms/pickers.json.jbuilder +2 -1
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +8 -0
- data/app/views/json_ui/garage/views/icons.json.jbuilder +4 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a1d6390dceb59db91cdb5fea9a123375d9442af6941b74770881736a6f25de0
|
4
|
+
data.tar.gz: 46bfd89ea540dfd8fc125c5c486595fad64d5a40fc55de365b66bf1fb8dbccce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e3536a448117c3c53b26899cc02457dff0326386d187fd1f538d1169f677a2d231a1b3238ace6d53cca7ebbe0effd4b0319c59ec4477f90ec691a571a4c62ea
|
7
|
+
data.tar.gz: 32ecff8bb25917bd35605764f4e34c8d52f17e5d89be17738aa5c5230bac8fec4bab40d69c32e470473ad1425338197e0c201b6026985443f6ed4d14a383d4b9
|
@@ -68,6 +68,11 @@ module Glib::Json::Libs
|
|
68
68
|
redirect_to url
|
69
69
|
end
|
70
70
|
format.json do
|
71
|
+
if __json_ui_rendering?
|
72
|
+
redirect_to url
|
73
|
+
return
|
74
|
+
end
|
75
|
+
|
71
76
|
json_ui_redirect_to url
|
72
77
|
end
|
73
78
|
end
|
@@ -91,6 +96,10 @@ module Glib::Json::Libs
|
|
91
96
|
|
92
97
|
REDIRECT_BACK_KEY = :glib_return_to_url
|
93
98
|
|
99
|
+
def json_ui_save_return_url(url = nil)
|
100
|
+
session[REDIRECT_BACK_KEY] = url || url_for(params.to_unsafe_h.merge(format: nil))
|
101
|
+
end
|
102
|
+
|
94
103
|
def glib_handle_401(sign_in_url)
|
95
104
|
if !glib_json_dialog_mode? && request.get?
|
96
105
|
session[REDIRECT_BACK_KEY] = url_for(params.to_unsafe_h.merge(format: nil))
|
@@ -172,10 +181,29 @@ module Glib::Json::Libs
|
|
172
181
|
}
|
173
182
|
end
|
174
183
|
|
175
|
-
def glib_json_handle_500(exception)
|
176
|
-
if json_ui_activated?
|
177
|
-
|
178
|
-
|
184
|
+
def glib_json_handle_500(exception, preview_mode)
|
185
|
+
if json_ui_activated?
|
186
|
+
if Rails.env.production? || preview_mode
|
187
|
+
if defined?(Rollbar) && !preview_mode
|
188
|
+
Rollbar.error(exception, :use_exception_level_filters => true)
|
189
|
+
end
|
190
|
+
|
191
|
+
render file: Rails.root.join('public', '500.html'), status: :internal_server_error
|
192
|
+
else
|
193
|
+
raise exception
|
194
|
+
end
|
195
|
+
else
|
196
|
+
raise exception
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
def glib_json_handle_404(exception, preview_mode)
|
201
|
+
if json_ui_activated?
|
202
|
+
if Rails.env.production? || preview_mode
|
203
|
+
render file: Rails.root.join('public', '404.html'), status: :not_found
|
204
|
+
else
|
205
|
+
raise exception
|
206
|
+
end
|
179
207
|
else
|
180
208
|
raise exception
|
181
209
|
end
|
@@ -262,18 +290,16 @@ module Glib::Json::Libs
|
|
262
290
|
|
263
291
|
# Call this before other rescues. Later rescue_from statements will take precedence, so more specific
|
264
292
|
# rescues have to be declared later.
|
265
|
-
def json_libs_rescue_500
|
293
|
+
def json_libs_rescue_500(preview_mode: false)
|
266
294
|
rescue_from StandardError do |exception|
|
267
|
-
glib_json_handle_500(exception)
|
295
|
+
glib_json_handle_500(exception, preview_mode)
|
268
296
|
end
|
269
297
|
end
|
270
298
|
|
271
|
-
def json_libs_rescue_404
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
# end
|
299
|
+
def json_libs_rescue_404(preview_mode: false)
|
300
|
+
rescue_from ActiveRecord::RecordNotFound do |exception|
|
301
|
+
glib_json_handle_404(exception, preview_mode)
|
302
|
+
end
|
276
303
|
end
|
277
|
-
|
278
304
|
end
|
279
305
|
end
|
@@ -82,7 +82,8 @@ page.form \
|
|
82
82
|
form.h2 text: 'Country'
|
83
83
|
form.spacer height: 6
|
84
84
|
region_field = { name: 'user[city]', label: 'City' }
|
85
|
-
form.fields_country name: 'user[country]', width: 'matchParent', label: 'Country', region:
|
85
|
+
form.fields_country name: 'user[country]', width: 'matchParent', label: 'Country', region: nil
|
86
|
+
form.fields_country name: 'user[country_with_region]', width: 'matchParent', label: 'Country with region', region: region_field
|
86
87
|
|
87
88
|
form.spacer height: 20
|
88
89
|
form.h2 text: 'Map'
|
@@ -72,6 +72,14 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
|
|
72
72
|
end
|
73
73
|
accessory.footer padding: { x: 16, y: 10 }, childViews: ->(footer) do
|
74
74
|
footer.label text: 'Footer'
|
75
|
+
footer.spacer height: 14
|
76
|
+
footer.label text: 'Click me', onClick: ->(action) do
|
77
|
+
action.components_findClosest view: 'fields/select', onFind: ->(subaction) do
|
78
|
+
subaction.components_set data: { value: 'pt' }, onSet: ->(subsubaction) do
|
79
|
+
subsubaction.fields_blur
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
75
83
|
end
|
76
84
|
end
|
77
85
|
|
@@ -16,4 +16,8 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
16
16
|
scroll.spacer height: 20
|
17
17
|
scroll.h2 text: 'Icon with badge'
|
18
18
|
scroll.icon name: 'home', badge: { text: '22', backgroundColor: '#00ff00' }
|
19
|
+
|
20
|
+
scroll.spacer height: 20
|
21
|
+
scroll.h2 text: 'Icon with styleClasses'
|
22
|
+
scroll.icon name: 'home', styleClasses: ['small']
|
19
23
|
end
|