app/views/media_resources/edit/_field.html.haml

Summary

Maintainability
Test Coverage
:ruby
  @i ||= 0
  @i += 1
  meta_datum = defined?(meta_datum) ? meta_datum : nil

%fieldset.ui-form-group.columned.prh{'class' => (not meta_datum.nil? and meta_datum.keep_original_value) ? "highlight" : "",
                                 'data-type' => definition.meta_key.meta_datum_object_type.underscore,
                                 'data-index' => @i,
                                 'data-is-extensible-list' => definition.meta_key.is_extensible_list,
                                 'data-meta-key' => definition.meta_key}

  %input{:type => :hidden, :name => "resource[meta_data_attributes][#{@i}][id]", :value => meta_datum.nil? ? nil : meta_datum.id}
  %input{:type => :hidden, :name => "resource[meta_data_attributes][#{@i}][meta_key_id]", :value => definition.meta_key.id}

  - if not meta_datum.nil? and meta_datum.keep_original_value
    %input{:type => :hidden, :name => "resource[meta_data_attributes][#{@i}][keep_original_value]", :value => true}

  %label.form-label{:for => "resource[meta_data_attributes][#{@i}][value]"}
    = definition.label
    - if definition.is_required
      %span{:title => "Required field - please fill in"} *
    - unless definition.description.to_s.blank?
      %span.ui-form-ui-ttip-toggle.ui-ttip-toggle{"data-original-title" => definition.description, "data-placement" => "top", :rel => "tooltip"}
        %i.icon-question
    %small= definition.hint

  .form-item= render :partial => "media_resources/edit/fields/#{definition.meta_key.meta_datum_object_type.underscore}", :locals => {:definition => definition, :meta_datum => meta_datum}

  .ui-thumbnail-dropdown.apply-to-all
    .dropdown.ui-dropdown.stick-right
      %a.button.dropdown-toggle.ui-drop-toggle{"data-toggle" => "dropdown", :title => "Metadatum auf die gesamte Auswahl übertragen"}
        %i.icon-applytoall
      %ul.dropdown-menu.ui-drop-menu{"aria-labelledby" => "dLabel", :role => "menu"}
        %li.ui-drop-item
          .ui-container.overlaid
            .title-s.separated.phs.pvs
              Werte übertragen
          %a{:"data-overwrite" => "true"}
            Werte auf alle Inhalte übertragen
          %a{:"data-overwrite" => "false"}
            Freie Felder füllen