Sha256: 59687e4a5824e66694e8692858be73180937ab105177276816cc6b78714a32dd

Contents?: true

Size: 1.6 KB

Versions: 1

Compression:

Stored size: 1.6 KB

Contents

- model_class = defined?(record) ? record.model : model_class
- form_object = defined?(record) ? record : instance_variable_get("@#{object}_form")
- 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
  - if type != :hidden && input_params.dig(:options, :label) != false
    = form.label form_object.model.class.human_attribute_name property
  - case type
  - when :default
    = form.input property, **default_params(**input_params)
  - when :association
    = form.association property, **association_params(**input_params)
  - when :hidden_association
    = form.association property, **association_params(**input_params).merge(as: :hidden, input_html: { value: value || form_object.public_send(property).id })
  - when :polymorphic_association
    = form.input property, **polymorphic_association_params(**input_params.merge(value: value))
  - else
    - options = input_params[:options] || {}
    = form.input property, **simple_params(**input_params.merge(type: type)).merge(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

- if params[:errors].present? && params[:errors][property]&.first
  .alert.alert-danger
    = params[:errors][property]&.first

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tramway-core-4.0.1 app/views/tramway/core/shared/_input.html.haml