activescaffold/active_scaffold

View on GitHub
app/views/active_scaffold_overrides/_render_field.js.erb

Summary

Maintainability
Test Coverage
<%
  column = if render_field.is_a? ActiveScaffold::DataStructures::Column
    render_field
  else
    active_scaffold_config.columns[render_field]
  end
  return unless @main_columns.include? column.name
  @rendered ||= Set.new
  return if @rendered.include? column.name
  @rendered << column.name
  if @form_action == :field_search
    form_ui = column.search_ui
  else
    renders_as = column_renders_as(column)
    form_ui = column.form_ui
  end
  options = {field_class: "#{column.name}-input", hidden: form_ui == :hidden}
  options[:subform_class] = "#{column.name}-sub-form" if column.association
  options[:attrs] =
    if renders_as == :subform
      active_scaffold_subform_attributes(column, (column.css_class unless column.css_class.is_a?(Proc)))
    else
      {class: 'form-element', id: ''}
    end
  html =
    if scope
      readonly = @record.readonly? || !@record.authorized_for?(:crud_type => :update)
      crud_type = @record.new_record? ? :create : (readonly ? :read : :update)
      # subform.columns.to_a.include? so it doesn't check inside subgroups
      active_scaffold_render_subform_column(column, scope, crud_type, readonly, !active_scaffold_config.subform.columns.to_a.include?(column.name), @record)
    elsif @form_action == :field_search
      search_attribute(column, @record)
    else
      render_column(column, @record, renders_as, scope)
    end
-%>

ActiveScaffold.render_form_field('<%= source_id %>','<%= escape_javascript(html) %>', <%= options.to_json.html_safe %>);
<%if column.update_columns && !column.update_columns.empty?%>
<%=  render(partial: "render_field", collection: column.update_columns, locals: {source_id: source_id, scope: scope})%>
<%end%>