glib-web 3.16.2 → 3.16.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26d2c5c409ff911326efa81f445217d859f62b5350630c28185ca4e8a0ef85ad
|
4
|
+
data.tar.gz: edb315e653b13110b2cdfb896bdbc20e980adc593155ecb8527951a8cfaf232f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '05778a76d110933cd70d86343d645d680b19c48df67027affcfdd59a89cbfa7d74489826d116f450c881a9bb67059fbc83f04b22dd80edf228649e9515da0f89'
|
7
|
+
data.tar.gz: eb2db140e67e307c7cdd5a52ea48887bb5414b4949e6fa154a490822ea64863cfbe85369fc1695036976e49db0009015adb7593f600d53768ef856cbea820441
|
@@ -48,9 +48,6 @@ class Glib::JsonUi::ViewBuilder
|
|
48
48
|
# Override
|
49
49
|
def created
|
50
50
|
if @prop && (form = page.current_form)
|
51
|
-
association = form.nested_associations.last
|
52
|
-
context = association || form
|
53
|
-
|
54
51
|
context.field_assert_respond_to(@prop)
|
55
52
|
|
56
53
|
@name ||= context.field_name(@prop, @multiple || false)
|
@@ -61,7 +58,7 @@ class Glib::JsonUi::ViewBuilder
|
|
61
58
|
|
62
59
|
if form.current_dynamic_group.nil?
|
63
60
|
# This is not relevant inside a dynamic group
|
64
|
-
@value ||= context
|
61
|
+
@value ||= determine_value(context, @prop)
|
65
62
|
end
|
66
63
|
end
|
67
64
|
json.name @name
|
@@ -78,6 +75,16 @@ class Glib::JsonUi::ViewBuilder
|
|
78
75
|
# json.validation @validation if @validation
|
79
76
|
end
|
80
77
|
|
78
|
+
# To be overridden
|
79
|
+
def determine_value(context, prop)
|
80
|
+
context.field_value(prop)
|
81
|
+
end
|
82
|
+
|
83
|
+
def context
|
84
|
+
form = page.current_form
|
85
|
+
association = form.nested_associations.last
|
86
|
+
@context ||= association || form
|
87
|
+
end
|
81
88
|
end
|
82
89
|
|
83
90
|
class Text < AbstractField
|
@@ -168,6 +175,8 @@ class Glib::JsonUi::ViewBuilder
|
|
168
175
|
bool :multiple, cache: true
|
169
176
|
# bool :manualEntry
|
170
177
|
hash :append
|
178
|
+
|
179
|
+
panels_builder :accessory, :header, :footer
|
171
180
|
end
|
172
181
|
|
173
182
|
class TimeZone < AbstractField
|
@@ -274,8 +283,17 @@ class Glib::JsonUi::ViewBuilder
|
|
274
283
|
|
275
284
|
json.set! :buttonLabels, @buttonLabels
|
276
285
|
|
286
|
+
if @prop && context
|
287
|
+
json.fileTitle context.field_value(@prop).blob&.filename
|
288
|
+
end
|
289
|
+
|
277
290
|
super
|
278
291
|
end
|
292
|
+
|
293
|
+
@Override
|
294
|
+
def determine_value(context, prop)
|
295
|
+
context.field_value(prop)&.signed_id || ''
|
296
|
+
end
|
279
297
|
end
|
280
298
|
|
281
299
|
class MultiUpload < AbstractField
|
@@ -310,9 +328,9 @@ class Glib::JsonUi::ViewBuilder
|
|
310
328
|
json.placeholder @placeholder if @placeholder
|
311
329
|
json.hint @hint if @hint
|
312
330
|
|
313
|
-
if @prop &&
|
314
|
-
association = form.nested_associations.last
|
315
|
-
context = association || form
|
331
|
+
if @prop && context
|
332
|
+
# association = form.nested_associations.last
|
333
|
+
# context = association || form
|
316
334
|
|
317
335
|
@files ||= context.field_value(@prop, collect_ids: false).to_a.map { |file| { name: file.blob&.filename, signed_id: file.signed_id } }
|
318
336
|
end
|
@@ -60,8 +60,29 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
|
|
60
60
|
options << { type: 'divider' }
|
61
61
|
end
|
62
62
|
|
63
|
-
form.fields_select
|
64
|
-
|
63
|
+
form.fields_select \
|
64
|
+
name: 'user[language]',
|
65
|
+
width: 'matchParent',
|
66
|
+
label: 'Primary Language',
|
67
|
+
options: options,
|
68
|
+
value: 'nl',
|
69
|
+
accessory: ->(accessory) do
|
70
|
+
accessory.header padding: { x: 16, y: 10 }, childViews: ->(header) do
|
71
|
+
header.label text: 'Header'
|
72
|
+
end
|
73
|
+
accessory.footer padding: { x: 16, y: 10 }, childViews: ->(header) do
|
74
|
+
header.label text: 'Footer'
|
75
|
+
end
|
76
|
+
# footer.label text: 'TEST123'
|
77
|
+
end
|
78
|
+
|
79
|
+
form.fields_select \
|
80
|
+
name: 'user[languages][]',
|
81
|
+
width: 'matchParent',
|
82
|
+
label: 'Primary Language',
|
83
|
+
options: options,
|
84
|
+
value: ['ja', 'de'],
|
85
|
+
multiple: true
|
65
86
|
|
66
87
|
form.spacer height: 20
|
67
88
|
form.h2 text: 'Select fields with empty values'
|