--- /dev/null
+<div class="field">
+ <%= render field.label.template_name, :label => field.label %>
+ <%= render field.tag.template_name, :tag => field.tag %>
+ <% field.helpers.each do |helper_name, helper| %>
+ <%= render helper.template_name, :helper => helper %>
+ <% end %>
+</div>
--- /dev/null
+<%= form_for(form.element, :html => form.element.tag_attributes('form', 'data-form-name' => form.name)) do |f| %>
+ <% form.each_field do |field| %>
+ <%= render field.template_name, :field => field %>
+ <%= render field.row_break.template_name, :row_break => field.row_break %>
+ <% end %>
+<% end %>
--- /dev/null
+ <span id="<%= form.element.tag_id 'helpers' -%>">
+ <% field.helpers.each do |helper| %>
+ <% if helper.wrapper %>
+ <div class="<%= helper.wrapper -%>">
+ <% end %>
+ <%= render helper.path, :helper => helper %>
+ <% if helper.wrapper %>
+ </div>
+ <% end %>
+ <% end %>
+ </span>
--- /dev/null
+<% if field.row_break? %>
+ <div class="row_break"></div>
+<% end %>
--- /dev/null
+<label>
+<%= field.label self %>
+<% if field.label_break? %>
+ <br>
+<% end %>
+</label>
@model_name = @args['model_name']
@column_name = @args['column_name']
@label = LabelFactory.factory(self, @args['label'])
- @field = TagFactory.factory(self, @args['tag'])
+ @tag = TagFactory.factory(self, @args['tag'])
@helper = HelperFactory.factory(self, @args['helper'])
@row_break = @args['row_break']
end
require_dependency "manifest/local/view/filer"
+require_dependency "manifest/local/view/form"
module Manifest
class View
attr :manifest,
- :filers, :caption, :summary, :icon, :date, :edit
+ :filers, :forms, :summary, :icon, :date, :edit
def initialize manifest
@manifest = manifest
@filers = ViewModule::Filer.manager(@manifest.filers)
+ @forms = ViewModule::Form.manager(@manifest.forms)
end
end
--- /dev/null
+require_dependency "manifest/local/view/form/field"
+module Manifest
+ module ViewModule
+ module FormModule
+ class FormView
+ attr :filer_manifest, :item_name, :manifest, :filer_conf,
+ :fields, :label, :helper, :row_break
+ def initialize form_manager, item, operators, mounted
+ @form_manifest = form_manifest
+ @fields = @items.map {|item|
+ FieldView.new self, @filer_manifest
+ }
+ end
+
+ def render view
+ end
+
+ end
+ end
+
+ class Form
+ include FormModule
+ def self.manager forms
+ form_views = {}
+ forms.each {|form_name, form_manifest|
+ form_views[form_name] = self.new(form_name, form_manifest)
+ }
+ form_views
+ end
+
+ attr :form_name, :form_manifest
+ def initialize form_name, form_manifest
+ @form_name = form_name
+ @form_manifest = form_manifest
+ end
+
+ def open element, operators, mounted
+ FormView.new @form_manifest, item, operators, mounted
+ end
+
+ end
+ end
+
+end
--- /dev/null
+module Manifest
+ module ViewModule
+ module FormModule
+ class FieldView
+ attr :filer_manifest, :item_name, :manifest, :filer_conf,
+ :label, :tag, :helpers, :row_break
+ def initialize form_manager, item, operators, mounted
+ @form_manifest = form_manifest
+ @label = LabelView
+ @tag = TagView
+ @helpers = HelperView
+ @row_break = View
+ end
+
+ def render view
+ end
+
+ end
+ end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module HelperModule
+ class Base
+ attr :field, :helper_manifest
+
+ def initialize field, helper_manifest
+ @field = field
+ @helper_manifest = helper_manifest
+ self.set_default
+ self.init
+ end
+
+ def set_default
+ @helper_manifest['args'] ||= {}
+ end
+
+ def init
+ @args = @helper_manifest['args']
+ end
+
+ def form_name
+ @field.form_name
+ end
+
+ def field_name
+ @field.field_name
+ end
+
+ end
+
+ class Default < Base
+ end
+
+ class None < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module LabelModule
+ class Base
+ attr :field, :label_manifest
+
+ def initialize field, label_manifest
+ @field = field
+ @label_manifest = label_manifest
+ self.set_default
+ self.init
+ end
+
+ def set_default
+ @label_manifest['args'] ||= {}
+ end
+
+ def init
+ @args = @label_manifest['args']
+ end
+
+ def form_name
+ @field.form_name
+ end
+
+ def field_name
+ @field.field_name
+ end
+
+ end
+
+ class Default < Base
+ end
+
+ class None < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module TagModule
+ class Base
+ attr :field, :tag_manifest,
+ :size
+
+ def initialize field, tag_manifest
+ @field = field
+ @tag_manifest = tag_manifest
+ self.set_default
+ self.init
+ end
+
+ def set_default
+ @tag_manifest['args'] ||= {}
+ end
+
+ def init
+ @args = @tag_manifest['args']
+ @size = @args['size']
+ end
+
+ def form_name
+ @field.form_name
+ end
+
+ def field_name
+ @field.field_name
+ end
+
+ end
+
+ class TextTag < Base
+ end
+
+ class NumberTag < Base
+ end
+
+ class TextAreaTag < Base
+ end
+
+ class SelectTag < Base
+ end
+
+ class HiddenTag < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module TagModule
+ class HiddenTag < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module TagModule
+ class NumberTag < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module TagModule
+ class SelectTag < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module TagModule
+ class TextTag < Base
+ end
+
+ end
+ end
+ end
+end
--- /dev/null
+module Manifest
+ module FormModule
+ module FieldModule
+ module TagModule
+ class TextAreaTag < Base
+ end
+
+ end
+ end
+ end
+end