-require_dependency "manifest/form/field/helper/helper"
+require_dependency "manifest/form/field/helper/base"
+require_dependency "manifest/form/field/helper/size"
+require_dependency "manifest/form/field/helper/tail_angle"
+require_dependency "manifest/form/field/helper/color"
+require_dependency "manifest/form/field/helper/popup"
module Manifest
module FormModule
module FieldModule
class HelperFactory
include HelperModule
@@types = {
- 'default' => Default, 'none' => None
+ 'size' => Size, 'tail_angle' => TailAngle, 'color' => Color,
+ 'popup' => Popup
}
- def self.factory field, my_manifest
+ def self.factory field, helper_name, my_manifest
type = my_manifest['type'] || 'none'
- raise "undefined type for forms > #{field.form_name} > fields > #{field.field_name} > helper\n" unless type
+ raise "undefined type for forms > #{field.form_name} > fields > #{field.field_name} > helpers > #{helper_name}\n" unless type
my_class = @@types[type]
- raise "undefined class for forms > #{field.form_name} > fields > #{field.field_name} > helper > #{type}\n" unless my_class
- my_class.new(field, my_manifest)
+ raise "undefined class for forms > #{field.form_name} > fields > #{field.field_name} > helpers > #{helper_name} > #{type}\n" unless my_class
+ my_class.new(field, helper_name, my_manifest)
end
end