tramway-admin 1.28.0.1 → 1.28.1

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: 374edd0b18c286dc1420409c506829049c419ead74336b62b907a95e4b7667fb
4
- data.tar.gz: 4991e8bd1cf2d706a75bb0861e9ea34f88ac4fb7eb7f7c32bae3aec057f163b8
3
+ metadata.gz: 014b33b22a49ea50a02c62acc74843d3a10f1bedf145c23bf1f551d3cbe19f25
4
+ data.tar.gz: 1876e573d17d2a4f23000b30f9552a56db789583fb913f12e53da233757fa48e
5
5
  SHA512:
6
- metadata.gz: 91afe926391ff2bfc6253fb3b80d7ee7f57e7fe0d4c9cf6b2a3be1aeb1620e1fd82da4883a144eff61a417a7a20593328bb8f7cb866d5059782e0e8be5837d53
7
- data.tar.gz: 856d74e90b384d4e31f3ae751cf0196d0d40ac881904e1afdf001cbf91f571526c4a53891bf6766f700afb348f6cca75f6290f1423db17ffc6c6c6f748c861d5
6
+ metadata.gz: 44158cd39d3f13f265dee522c363f0c64abe296227300ab645f45882153a09e2b63687122f0e41b9f84fd30b1743480a2f88d7516fe9f83022f9d37692282bce
7
+ data.tar.gz: 0ebf861138c441f5bd94ac2edce8551c40b03cc24732dc21c02c2fc11b44fed8ea4ee1b70b5b858d6aa1be7f6d7afd29c86f87e27ceaabeb61d501f66a5cff96
@@ -12,7 +12,7 @@ module Tramway
12
12
  include ::Tramway::Admin::RecordsHelper
13
13
  include ::Tramway::Admin::SingletonHelper
14
14
  include ::Tramway::Admin::NavbarHelper
15
- include ::Tramway::Admin::InputsHelper
15
+ include ::Tramway::Core::InputsHelper
16
16
  include ::Tramway::Admin::FocusGeneratorHelper
17
17
  include ::Tramway::Admin::ActionsHelper
18
18
  include ::Tramway::Collections::Helper
@@ -10,7 +10,7 @@
10
10
  .col-lg-12
11
11
  = simple_form_for @record_form, url: { controller: :records, action: action, model: @record_form.model.class }, method: method, input_html: { class: 'form-horizontal' } do |f|
12
12
  - @record_form.properties.each do |property, type|
13
- = render 'tramway/admin/shared/input', property: property, object: :record, type: type, form: f
13
+ = render 'tramway/core/shared/input', property: property, object: :record, type: type, form: f, destination: :admin
14
14
  = hidden_field_tag :redirect, params[:redirect]
15
15
  = f.button :submit, t('helpers.links.save'), class: 'btn-success'
16
16
  = link_to t('helpers.links.back'), current_model_records_path, class: 'btn btn-secondary'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Admin
5
- VERSION = '1.28.0.1'
5
+ VERSION = '1.28.1'
6
6
  end
7
7
  end
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.28.0.1
4
+ version: 1.28.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-19 00:00:00.000000000 Z
11
+ date: 2020-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootstrap-kaminari-views
@@ -191,7 +191,6 @@ files:
191
191
  - app/helpers/tramway/admin/application_helper.rb
192
192
  - app/helpers/tramway/admin/cases_helper.rb
193
193
  - app/helpers/tramway/admin/focus_generator_helper.rb
194
- - app/helpers/tramway/admin/inputs_helper.rb
195
194
  - app/helpers/tramway/admin/navbar_helper.rb
196
195
  - app/helpers/tramway/admin/records_helper.rb
197
196
  - app/helpers/tramway/admin/russian_cases_helper.rb
@@ -208,7 +207,6 @@ files:
208
207
  - app/views/tramway/admin/records/index.html.haml
209
208
  - app/views/tramway/admin/records/new.html.haml
210
209
  - app/views/tramway/admin/records/show.html.haml
211
- - app/views/tramway/admin/shared/_input.html.haml
212
210
  - app/views/tramway/admin/shared/_show.html.haml
213
211
  - app/views/tramway/admin/shared/errors/server_error.html.haml
214
212
  - app/views/tramway/admin/shared/show/_attribute_tr.html.haml
@@ -1,97 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Tramway
4
- module Admin
5
- module InputsHelper
6
- def association_params(form_object:, property:, value:, object:, options: {})
7
- full_class_name_association = form_object.class.full_class_name_association(property)
8
- unless full_class_name_association
9
- raise "It seems you've defined association attributes with `property` method. Please, use `association` method. `association :#{property}`"
10
- end
11
- if full_class_name_association.is_a? Array
12
- raise "It seems you've used `association` input type in the Form. Please, use `polymorphic_association` type. `#{property}: :polymorphic_association`"
13
- end
14
-
15
- {
16
- label: false,
17
- input_html: {
18
- name: "#{object}[#{property}]",
19
- id: "#{object}_#{property}",
20
- value: (form_object.send(property) || form_object.model.send("#{property}_id") || value)
21
- },
22
- selected: (form_object.model.send("#{property}_id") || value),
23
- collection: full_class_name_association.active.map do |obj|
24
- decorator_class(full_class_name_association).decorate obj
25
- end.sort_by(&:name)
26
- }.merge options
27
- end
28
-
29
- def polymorphic_association_params(object:, form_object:, property:, value:, options: {})
30
- full_class_names = form_object.model.class.send("#{property}_type").values.map &:constantize
31
- collection = full_class_names.map do |class_name|
32
- class_name.active.map do |obj|
33
- decorator_class(class_name).decorate obj
34
- end
35
- end.flatten.sort_by { |obj| obj.name.to_s }
36
- builded_value = if form_object.send(property).present?
37
- "#{form_object.send(property).class.to_s.underscore}_#{form_object.send(property).id}"
38
- else
39
- "#{value[:type]&.underscore}_#{value[:id]}"
40
- end
41
- {
42
- as: :select,
43
- label: false,
44
- input_html: {
45
- name: "#{object}[#{property}]",
46
- id: "#{object}_#{property}",
47
- value: builded_value
48
- },
49
- selected: builded_value,
50
- collection: collection,
51
- label_method: lambda do |obj|
52
- "#{obj.class.model_name.human} | #{obj.name}"
53
- end,
54
- value_method: lambda do |obj|
55
- "#{obj.class.to_s.underscore.sub(/_decorator$/, '')}_#{obj.id}"
56
- end
57
- }.merge options
58
- end
59
-
60
- def value_from_params(model_class:, property:, type:)
61
- case type
62
- when :polymorphic_association, 'polymorphic_association'
63
- {
64
- id: params.dig(model_class.to_s.underscore, property.to_s),
65
- type: params.dig(model_class.to_s.underscore, "#{property}_type")
66
- }
67
- else
68
- params.dig(model_class.to_s.underscore, property.to_s)
69
- end
70
- end
71
-
72
- def default_params(property:, object:, form_object:, value:, options: {})
73
- {
74
- label: false,
75
- input_html: {
76
- name: "#{object}[#{property}]",
77
- id: "#{object}_#{property}",
78
- value: (form_object.send(property) || form_object.model.send(property) || value)
79
- },
80
- selected: (form_object.model.send(property) || value)
81
- }.merge options
82
- end
83
-
84
- def else_params(property:, object:, type:, form_object:, value:, options: {})
85
- {
86
- as: type,
87
- label: false,
88
- input_html: {
89
- name: "#{object}[#{property}]",
90
- id: "#{object}_#{property}",
91
- value: (form_object.send(property) || form_object.model.send(property) || value)
92
- }
93
- }.merge options
94
- end
95
- end
96
- end
97
- end
@@ -1,21 +0,0 @@
1
- - value = value_from_params(model_class: model_class, property: property, type: type)
2
- - form_object = instance_variable_get "@#{object}_form"
3
- - input_params = { property: property, object: object, form_object: form_object, value: value }
4
- - if !type.class.in?([ Symbol, String ]) && type[:input_options]
5
- - input_params.merge!(options: type[:input_options])
6
- - type = type[:type]
7
- - if type.class.in?([ Symbol, String ]) || type&.dig(:input_options)
8
- - type = type.to_sym
9
- = form.label form_object.model.class.human_attribute_name property
10
- - case type
11
- - when :default
12
- = form.input property, **default_params(**input_params)
13
- - when :association
14
- = form.association property, **association_params(**input_params)
15
- - when :polymorphic_association
16
- = form.input property, **polymorphic_association_params(**input_params.merge(value: value))
17
- - else
18
- = form.input property, **else_params(**input_params.merge(type: type))
19
- - else
20
- - property_value = form_object.model.values.present? && form_object.model.values[property.to_s]
21
- = render 'tramway/core/shared/input_extended', field: type[:extended_form_property], class_name: :record, value: property_value, f: form