Sha256: 4e990a0a9398e8c3084308c272caf892dc1bcd3d04f81adf9af8012749095293
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
module Basepack module Forms module Factories class RailsAdmin < Factories::Base class Bindings def initialize(form, view) @form = form @view = view end def [](param) case param when :object @form.resource when :view @view when :controller @view.controller when :form @form end end end def initialize(section, view, form_class = Forms::Base, group_class = Groups::Base) super(form_class, group_class) @section = section @view = view end def build_form(form) bindings = Bindings.new(form, @view) Basepack::Utils.model_config(form.resource_class).send(@section).with(bindings).visible_groups.map do |g| i = 0 fields = g.fields.sort_by {|f| [f.order, i += 1] } # stable sort form.group(g) do |group| fields.each do |f| group.field(f.name, f.with(bindings)) do |field| def field.partial_delegated partial = super.to_s partial.include?('/') ? partial : File.join('forms', 'edit', partial) end end end end end form end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
basepack-0.1.0 | lib/basepack/forms/factories/rails_admin.rb |
basepack-0.0.2 | lib/basepack/forms/factories/rails_admin.rb |