marty 1.0.32 → 1.0.33
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/components/marty/config_view.rb +11 -19
- data/app/components/marty/extras/layout.rb +16 -0
- data/lib/marty/data_conversion.rb +2 -2
- data/lib/marty/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f81ea6f27f1cb8c9671b8e4dc1c6d32ab3e782e
|
4
|
+
data.tar.gz: 839a0aa364eb2a4991d3b49bbb729e63c620ea45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2bde0eae1e81e2189f3d5d53c88a25d6c317f40fe46309a0b330f0fdb71c77414230bd62a211f98f348c20807985b167c8a8bf38e9e8ce8a0b7105630c1060f
|
7
|
+
data.tar.gz: 3b49c4026098a1ff32e15c8684096fd8fe786361dafca179ce60eeb793fc1166fbd91fd7193d4c7b39fc479269bf16ca0d99d93751fac61feb1755323b702e4e
|
@@ -17,14 +17,17 @@ class Marty::ConfigView < Marty::Grid
|
|
17
17
|
c.editing = :both
|
18
18
|
end
|
19
19
|
|
20
|
-
# need a getter / setter to call the []= and [] methods now
|
21
|
-
# since value is no longer stored as is
|
22
20
|
def my_jsonb_getter
|
23
|
-
lambda { |r| Marty::Config[r.key].to_json }
|
21
|
+
lambda { |r| v = Marty::Config[r.key]; v && v.to_json || '' }
|
22
|
+
end
|
23
|
+
def my_jsonb_pretty_getter
|
24
|
+
lambda { |r| v = Marty::Config[r.key]
|
25
|
+
v && JSON.pretty_generate(v) || '' }
|
24
26
|
end
|
25
27
|
|
26
28
|
def my_jsonb_setter
|
27
29
|
lambda { |r, v|
|
30
|
+
return r.set_value(nil) if v.blank?
|
28
31
|
decoded = ActiveSupport::JSON.decode(v) rescue nil
|
29
32
|
r.set_value(decoded)
|
30
33
|
}
|
@@ -33,21 +36,10 @@ class Marty::ConfigView < Marty::Grid
|
|
33
36
|
def default_form_items
|
34
37
|
[
|
35
38
|
:key,
|
36
|
-
{
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
xtype: :textareafield,
|
41
|
-
auto_scroll: true,
|
42
|
-
spellcheck: false,
|
43
|
-
allow_blank: false,
|
44
|
-
field_style: {
|
45
|
-
font_family: 'courier new',
|
46
|
-
font_size: '12px'
|
47
|
-
},
|
48
|
-
getter: my_jsonb_getter,
|
49
|
-
setter: my_jsonb_setter,
|
50
|
-
},
|
39
|
+
jsonb_field(:value, {
|
40
|
+
getter: my_jsonb_pretty_getter,
|
41
|
+
setter: my_jsonb_setter,
|
42
|
+
}),
|
51
43
|
textarea_field(:description),
|
52
44
|
]
|
53
45
|
end
|
@@ -56,7 +48,7 @@ class Marty::ConfigView < Marty::Grid
|
|
56
48
|
c.flex = 1
|
57
49
|
end
|
58
50
|
|
59
|
-
|
51
|
+
column :value do |c|
|
60
52
|
c.flex = 3
|
61
53
|
c.getter = my_jsonb_getter
|
62
54
|
c.setter = my_jsonb_setter
|
@@ -54,6 +54,22 @@ module Layout
|
|
54
54
|
} + options
|
55
55
|
end
|
56
56
|
|
57
|
+
def jsonb_field(name, options={})
|
58
|
+
{
|
59
|
+
name: name,
|
60
|
+
width: "100%",
|
61
|
+
height: 150,
|
62
|
+
xtype: :textareafield,
|
63
|
+
auto_scroll: true,
|
64
|
+
spellcheck: false,
|
65
|
+
allow_blank: false,
|
66
|
+
field_style: {
|
67
|
+
font_family: 'courier new',
|
68
|
+
font_size: '12px'
|
69
|
+
},
|
70
|
+
}.merge(options)
|
71
|
+
end
|
72
|
+
|
57
73
|
######################################################################
|
58
74
|
# PG ENUM field handling
|
59
75
|
|
@@ -72,7 +72,8 @@ class Marty::DataConversion
|
|
72
72
|
when :numrange, :int4range, :int8range
|
73
73
|
v.to_s
|
74
74
|
when :float_array, :json, :jsonb
|
75
|
-
|
75
|
+
# v might be base64 or might be a readable string
|
76
|
+
JSON.parse Marty::DataExporter.decode_json(v) rescue JSON.parse(v)
|
76
77
|
else
|
77
78
|
raise "unknown type #{type} for #{v.inspect}}"
|
78
79
|
end
|
@@ -189,7 +190,6 @@ class Marty::DataConversion
|
|
189
190
|
|(k,v), h|
|
190
191
|
h[k.to_s] = v == '' ? nil : v
|
191
192
|
}
|
192
|
-
|
193
193
|
key_groups.each_with_object({}) do
|
194
194
|
|(ga, g), h|
|
195
195
|
|
data/lib/marty/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arman Bostani
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2017-07-
|
17
|
+
date: 2017-07-13 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: pg
|