-class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Backbone.View\r
+class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Pettanr.View\r
tagName: 'div'\r
\r
initialize: (options) ->\r
@association = options.association\r
@belongs_to_manifest = options.belongs_to_manifest\r
- pm = @parent_model()\r
- m = new pm({id: @parent_id()})\r
- _this = this\r
- m.fetch({cache: true}).done ->\r
- _this.filer = new Locmare.Filer({\r
- item_name: _this.parent_model().item_name(), \r
- items: [m], \r
- pager: null, \r
- operators: _this.profiler().operators\r
- })\r
- _this.render()\r
+ \r
+ clear: () ->\r
+ this.$el.html('')\r
+ @item().get_parent(@belongs_to_manifest.name, this, {\r
+ success: (@parent_item) =>\r
+ @set_filer()\r
+ @render()\r
+ fail: (response, opt) =>\r
+ @open_error_dialog(response, opt)\r
+ })\r
+ this\r
+ \r
\r
render: () ->\r
- this.$el.html(@filer.el) if @filer\r
+ this.$el.html('')\r
+ this.$el.append(@filer.el)\r
this\r
\r
+ set_filer: () ->\r
+ @filer = new Locmare.Filer({\r
+ item_name: @parent_item.item_name(), \r
+ items: [@parent_item], \r
+ pager: null, \r
+ })\r
+ @filer.render()\r
+ @listenTo(@filer, 'http_get', @http_get)\r
+ @listenTo(@filer, 'pick', @pick)\r
+ \r
item: () ->\r
@profiler().item\r
\r
Manifest.manifest().models[@profiler().item_name]\r
\r
model_belongs_to_manifest: () ->\r
- @model_manifest().associations.belongs_to[@belongs_to_manifest.model_name]\r
+ @model_manifest().associations.belongs_to[@belongs_to_manifest.item_name]\r
\r
profiler: () ->\r
@association.profiler\r
\r
+ add_pick: (target_model) ->\r
+ @parent_model().retrieve(@parent_id(), this, {\r
+ success: (@parent_item) =>\r
+ @set_filer()\r
+ @render()\r
+ @filer.add_pick(target_model)\r
+ fail: (response, opt) =>\r
+ @open_error_dialog(response, opt)\r
+ })\r
+ \r
+ http_get: (url) ->\r
+ @trigger('http_get', url)\r
+ \r
+ pick: (item) ->\r
+ @trigger('pick', item)\r
+ \r