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