tramway-admin 1.6.3 → 1.7
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b79d54ce69a7ec52260303f4ff460312ea36aee4a51dcdb8e64392c88f2bc445
|
4
|
+
data.tar.gz: 4ad934c6776f7377dd7169ae2e494420ea61516ba475868e6f858b7c6f2ea697
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9517c3a67708efc8e6fa9bf7dae48530b4246dd8f69015d220968e73e6cf759ef03128ef0a0266cce1cbdee529b7eca111324d60e2970908dd1d97f1ee852a12
|
7
|
+
data.tar.gz: e8c9edafdcdb8b3da555ffe2a201d03a280a41e391c6b5e71b0a301106f3bb281bc287c2ced31b3b05c6d2448a204673508631697c5a9f8bff78685da145e303
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Tramway
|
2
|
+
module Admin
|
3
|
+
module InputsHelper
|
4
|
+
def association_params(form_object:, property:, value:, object:)
|
5
|
+
full_class_name_association = form_object.class.full_class_name_association(property)
|
6
|
+
{
|
7
|
+
label: false,
|
8
|
+
input_html: {
|
9
|
+
name: "#{object}[#{property}]",
|
10
|
+
id: "#{object}_#{property}",
|
11
|
+
value: (form_object.send(property) || form_object.model.send("#{property}_id") || value)
|
12
|
+
},
|
13
|
+
selected: (form_object.model.send("#{property}_id") || value),
|
14
|
+
collection: full_class_name_association.active.map do |obj|
|
15
|
+
decorator_class(full_class_name_association).decorate obj
|
16
|
+
end
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def polymorphic_association_params(object:, form_object:, property:, value:)
|
21
|
+
full_class_names = form_object.model.class.send("#{property}_type").values.map &:constantize
|
22
|
+
collection = full_class_names.map do |class_name|
|
23
|
+
class_name.active.map do |obj|
|
24
|
+
decorator_class(class_name).decorate obj
|
25
|
+
end
|
26
|
+
end.flatten
|
27
|
+
{
|
28
|
+
as: :select,
|
29
|
+
label: false,
|
30
|
+
input_html: {
|
31
|
+
name: "#{object}[#{property}]",
|
32
|
+
id: "#{object}_#{property}",
|
33
|
+
value: (form_object.send(property) || form_object.model.send("#{property}_id") || value)
|
34
|
+
},
|
35
|
+
selected: (form_object.model.send("#{property}_id") || value),
|
36
|
+
collection: collection,
|
37
|
+
label_method: lambda do |obj|
|
38
|
+
"#{obj.class.model_name.human} | #{obj.name}"
|
39
|
+
end
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -6,8 +6,10 @@
|
|
6
6
|
- when :default
|
7
7
|
= form.input property, label: false, input_html: { name: "#{object}[#{property}]", id: "#{object}_#{property}", value: (form_object.send(property) || form_object.model.send(property) || value) }, selected: (form_object.model.send(property) || value)
|
8
8
|
- when :association
|
9
|
-
|
10
|
-
|
9
|
+
= form.association property, **association_params(form_object: form_object, property: property, value: value, object: object)
|
10
|
+
- when :polymorphic_association
|
11
|
+
= form.input property, **polymorphic_association_params(object: object, form_object: form_object, property: property, value: value)
|
12
|
+
= form.input "#{property}_type", input_html: { name: "#{object}[#{property}_type]", id: "#{object}_#{property}_type", value: (form_object.send(property) || form_object.model.send("#{property}_type") || value) }, selected: (form_object.model.send("#{property}_type") || value)
|
11
13
|
- else
|
12
14
|
= form.input property, as: type, label: false, input_html: { name: "#{object}[#{property}]", id: "#{object}_#{property}", value: (form_object.send(property) || form_object.model.send(property) || value) }
|
13
15
|
- else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tramway-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.7'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kalashnikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bootstrap-kaminari-views
|
@@ -212,6 +212,7 @@ files:
|
|
212
212
|
- app/controllers/tramway/admin/welcome_controller.rb
|
213
213
|
- app/helpers/tramway/admin/additional_buttons_builder.rb
|
214
214
|
- app/helpers/tramway/admin/application_helper.rb
|
215
|
+
- app/helpers/tramway/admin/inputs_helper.rb
|
215
216
|
- app/helpers/tramway/admin/navbar_helper.rb
|
216
217
|
- app/helpers/tramway/admin/records_helper.rb
|
217
218
|
- app/helpers/tramway/admin/russian_cases_helper.rb
|