1 class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Pettanr.View
\r
4 initialize: (options) ->
\r
5 @association = options.association
\r
6 @belongs_to_manifest = options.belongs_to_manifest
\r
10 retriever = new Pettanr.Cache.Retriever(@parent_model(), @parent_id())
\r
11 @listenTo(retriever, 'retrieve', @retrieve_parent_item)
\r
12 retriever.retrieve()
\r
15 retrieve_parent_item: (@parent_item) ->
\r
21 this.$el.append(@filer.el)
\r
25 @filer = new Locmare.Filer({
\r
26 item_name: @parent_item.item_name(),
\r
27 items: [@parent_item],
\r
31 @listenTo(@filer, 'http_get', @http_get)
\r
32 @listenTo(@filer, 'pick', @pick)
\r
38 @belongs_to_manifest.model()
\r
41 c = @model_belongs_to_manifest().id_column
\r
44 model_manifest: () ->
\r
45 Manifest.manifest().models[@profiler().item_name]
\r
47 model_belongs_to_manifest: () ->
\r
48 @model_manifest().associations.belongs_to[@belongs_to_manifest.item_name]
\r
51 @association.profiler
\r
53 add_pick: (target_model) ->
\r
54 retrieve_pick_item = (@parent_item) =>
\r
57 @filer.add_pick(target_model)
\r
58 retriever = new Pettanr.Cache.Retriever(@parent_model(), @parent_id())
\r
59 @listenTo(retriever, 'retrieve', retrieve_pick_item)
\r
60 retriever.retrieve()
\r
62 retrieve_pick_item: (@parent_item) ->
\r
65 @filer.add_pick(target_model)
\r
68 @trigger('http_get', url)
\r
71 @trigger('pick', item)
\r