1 class Locmare.Bucket extends Backbone.View
\r
4 @factory: (bucket_or_form_name, use_name, item, mounted, submit, operators) ->
\r
5 bucket = LocalManifest.manifest().buckets[bucket_or_form_name]
\r
6 if bucket and bucket.has_member()
\r
8 bucket_name: bucket_or_form_name,
\r
13 operators: operators,
\r
14 action: '/' + item.table_name() + '/' + Pettanr.to_s(item.get('id'))
\r
17 Locmare.Form.factory({
\r
18 form_name: bucket_or_form_name,
\r
23 operators: operators,
\r
24 action: '/' + item.table_name() + '/' + Pettanr.to_s(item.get('id'))
\r
27 initialize: (options) ->
\r
28 @bucket_name = options.bucket_name
\r
29 @use_name = options.use_name
\r
30 @item = options.item
\r
31 @mounted = options.mounted
\r
32 @submit = options.submit
\r
33 @operators = options.operators
\r
36 @manifest = LocalManifest.manifest().buckets[@bucket_name]
\r
39 @forms[@item.item_name()] = new Locmare.Form({
\r
40 form_name: @item.item_name(),
\r
41 use_name: @use_name,
\r
45 operators: @operators
\r
47 @init_forms(@item.item_name(), @manifest, @item)
\r
52 @div_fields = new Locmare.FormModule.Fields({
\r
53 fields: @form_fields
\r
55 this.$el.append(@div_fields.render().el)
\r
58 fold_extend_settings: (params) ->
\r
59 @item.my_class().fold_extend_settings params[@item.item_name()]
\r
60 @members_fold_extend_settings @item, params[@item.item_name()], @manifest
\r
62 members_fold_extend_settings: (fold_item, attr, man) ->
\r
63 _.each man.members, (member_manifest, member_name) =>
\r
64 member_item = fold_item[member_name]()
\r
65 member_item.my_class().fold_extend_settings attr[member_name + '_attributes']
\r
66 @members_fold_extend_settings member_item, attr[member_name + '_attributes'], member_manifest
\r
68 push_form: (key, form_name, item) ->
\r
70 init_forms: (key, man, item) ->
\r
71 _.each man.members, (member_manifest, member_name) =>
\r
72 form_name = member_name # write exchange function if you want
\r
73 member_item = item.get(form_name)
\r
74 new_key = key + '.' + form_name
\r
75 @forms[new_key] = new Locmare.Form({
\r
76 form_name: new_key,
\r
80 operators: @operators
\r
82 @init_forms(new_key, member_manifest, member_item)
\r
85 _.each @manifest.form_field_names, (form_field_name) =>
\r
86 r = if Pettanr.is_blank(form_field_name.form_name)
\r
89 '.' + form_field_name.form_name
\r
90 key = @item.item_name() + r
\r
92 field = form.fields[form_field_name.field_name]
\r
93 @form_fields.push(field)
\r
100 @item.table_name() + '.submit.new'
\r
102 @item.table_name() + '.submit.edit'
\r
107 class Locmare.BucketModule
\r