app/views/tramway/admin/shared/_input.html.haml in tramway-admin-1.27.0.2 vs app/views/tramway/admin/shared/_input.html.haml in tramway-admin-1.28
- old
+ new
@@ -1,32 +1,21 @@
- value = value_from_params(model_class: model_class, property: property, type: type)
- form_object = instance_variable_get "@#{object}_form"
-- if type.class.in? [ Symbol, String ]
+- input_params = { property: property, object: object, form_object: form_object, value: value }
+- if !type.class.in?([ Symbol, String ]) && type[:input_options]
+ - input_params.merge!(options: type[:input_options])
+ - type = type[:type]
+- if type.class.in?([ Symbol, String ]) || type&.dig(:input_options)
- type = type.to_sym
= form.label form_object.model.class.human_attribute_name property
- case type
- when :default
- = 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)
+ = form.input property, **default_params(**input_params)
- when :association
- = form.association property, **association_params(form_object: form_object, property: property, value: value, object: object)
+ = form.association property, **association_params(**input_params)
- when :polymorphic_association
- = form.input property, **polymorphic_association_params(object: object, form_object: form_object, property: property, value: value[:id])
- = 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[:type]) }, selected: (form_object.model.send("#{property}_type") || value[:type])
+ = form.input property, **polymorphic_association_params(**input_params.merge(value: value))
- else
- = 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) }
+ = form.input property, **else_params(**input_params.merge(type: type))
- else
- - if type[:input_options]
- - options = type[:input_options]
- = form.label form_object.model.class.human_attribute_name property
- - case type[:type]
- - when :default
- = 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), **options
- - when :association
- = form.association property, **association_params(form_object: form_object, property: property, value: value, object: object), **options
- - when :polymorphic_association
- = form.input property, **polymorphic_association_params(object: object, form_object: form_object, property: property, value: value[:id])
- = 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[:type]) }, selected: (form_object.model.send("#{property}_type") || value[:type]), **options
- - else
- = form.input property, as: type[:type].to_sym, label: false, input_html: { name: "#{object}[#{property}]", id: "#{object}_#{property}", value: (form_object.send(property) || form_object.model.send(property) || value) }, **options
- - else
- - property_value = form_object.model.values.present? && form_object.model.values[property.to_s]
- = render 'tramway/core/shared/input_extended', field: type[:extended_form_property], class_name: :record, value: property_value, f: form
+ - property_value = form_object.model.values.present? && form_object.model.values[property.to_s]
+ = render 'tramway/core/shared/input_extended', field: type[:extended_form_property], class_name: :record, value: property_value, f: form