1 class Locmare.FormModule.Field extends Backbone.View
\r
5 initialize: (options) ->
\r
7 @field_name = options.field_name
\r
8 @field_manifest = options.field_manifest
\r
9 @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label
\r
10 @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag
\r
11 @helpers = new Locmare.FormModule.FieldModule.Helpers({field: this, field_manifest: @field_manifest})
\r
13 @options = {'data-model': @field_manifest.form_name}
\r
14 @on('change', @change)
\r
15 @listenTo(@item(), 'resize', @refresh)
\r
16 @listenTo(@item(), 'move', @refresh)
\r
20 this.$el.append(@label.render().el) if not @label.hidden()
\r
21 this.$el.append(@tag.render().el)
\r
22 this.$el.append(@helpers.render().el)
\r
30 @set(@val(), {silent: true})
\r
31 @item().trigger('input:' + @field_name)
\r
32 @item().trigger('input')
\r
41 {'mount': @mounted()}
\r
50 @item().get(@field_manifest.column_name())
\r
52 set: (v, opt = null) ->
\r
54 a[@field_manifest.column_name()] = v
\r
57 options: (tag_options = {}) ->
\r
60 form_field_name: () ->
\r
61 @form.form_field_name @field_name
\r
67 if @field_manifest.row_break
\r
72 class Locmare.FormModule.FieldModule
\r
73 class Locmare.FormModule.FieldModule.Helpers extends Backbone.View
\r
76 initialize: (options) ->
\r
77 @field = options.field
\r
78 @field_manifest = options.field_manifest
\r
80 _.each @field_manifest.helpers, (helper_manifest, helper_name) =>
\r
81 @helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(@field, helper_manifest)
\r
85 _.each @helpers, (helper) =>
\r
86 this.$el.append(helper.render().el)
\r