class Pettanr.PanelPicture extends Peta.Element\r
- url: '/panel_pictures/'\r
\r
@singular: () ->\r
'PanelPicture'\r
@pick_item_name: () ->\r
'resource_picture'\r
\r
- @pick_model: () ->\r
- Manifest.item_name_to_model(@pick_item_name())\r
- \r
@traceable_item_names: () ->\r
['ground_picture', 'picture']\r
\r
- @is_traceable: (item_name) ->\r
- _.contains(@traceable_item_names(), item_name)\r
- \r
- trace_from_ground_picture: () ->\r
- \r
- trace_from_picture: () ->\r
- \r
pick: (picked_item) ->\r
{\r
picture_id: picked_item.get('picture_id'),\r
}\r
\r
picture: () ->\r
- new Pettanr.Picture({id: @get('picture_id')})\r
+ new Pettanr.Cache.Retriever(Pettanr.Picture, @get('picture_id'))\r
\r
- panel: (options = {}) ->\r
- new Pettanr.Panel({id: @get('panel_id')}, options)\r
+ panel: () ->\r
+ new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))\r
\r
@has_picture: () ->\r
true\r
})\r
\r
symbol_option: () ->\r
- i = @picture()\r
- i.fetch({cache: true}).done =>\r
- @trigger('ready:symbol', i.tmb_opt_img_tag())\r
+ retriever = @picture()\r
+ @listenTo(retriever, 'retrieve', @retrieve_symbol)\r
+ retriever.retrieve()\r
+ \r
+ retrieve_symbol: (item) -> \r
+ @trigger('ready:symbol', item.tmb_opt_img_tag())\r
\r
element_face: () ->\r
new Pettanr.Views.PanelPicture.ElementFace({element: this})\r
\r
initialize: (attr, options) ->\r
super(attr, options)\r
- if @id\r
- @url = @url + @id\r
- @bind('change:width', () ->\r
- console.log('cng')\r
+ \r
+class Pettanr.PanelPicture.TraceFromPicture\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (picture) ->\r
+ @picture(picture)\r
+ \r
+ picture: (picture) ->\r
+ resource_picture_picture_list = picture.has_one('resource_picture_picture')\r
+ resource_picture_picture_list.open(() =>\r
+ resource_picture_picture = resource_picture_picture_list.items()[0]\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.ResourcePicture, resource_picture_picture.get('resource_picture_id'))\r
+ @listenTo(retriever, 'retrieve', @resource_picture)\r
+ retriever.retrieve()\r
)\r
\r
+ resource_picture: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
+ \r
+class Pettanr.PanelPicture.TraceFromGroundPicture extends Pettanr.PanelPicture.TraceFromPicture\r
+ \r
+ trace: (ground_picture) ->\r
+ @ground_picture(ground_picture)\r
+ \r
+ ground_picture: (ground_picture) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.Picture, ground_picture.get('picture_id'))\r
+ @listenTo(retriever, 'retrieve', @picture)\r
+ retriever.retrieve()\r
+ \r
+ picture: (picture) ->\r
+ tracer = new Pettanr.PanelPicture.TraceFromPicture()\r
+ @listenTo(tracer, 'trace', @success)\r
+ tracer.trace(picture)\r
+ \r
+ success: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
+ \r