class Pettanr.GroundPicture extends Peta.Element\r
- url: '/ground_pictures/'\r
\r
@singular: () ->\r
'GroundPicture'\r
@repeat_texts: () -> \r
['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
\r
+ @pick_item_name: () ->\r
+ 'resource_picture'\r
+ \r
+ @traceable_item_names: () ->\r
+ ['panel_picture', 'picture']\r
+ \r
+ pick: (picked_item) ->\r
+ {picture_id: picked_item.get('picture_id')}\r
+ \r
panel: () ->\r
- new Pettanr.Panel({id: @get('panel_id')})\r
+ new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))\r
\r
picture: () ->\r
- new Pettanr.Picture({id: @get('picture_id')})\r
+ new Pettanr.Cache.Retriever(Pettanr.Picture, @get('picture_id'))\r
\r
@has_picture: () ->\r
true\r
})\r
\r
symbol_option: () ->\r
- i = @picture()\r
- i.fetch({cache: true}).done =>\r
- @symbol_picture = i.tmb_opt_img_tag()\r
- @trigger('ready:symbol')\r
+ retriever = @picture()\r
+ @listenTo(retriever, 'retrieve', @retrieve_symbol)\r
+ retriever.retrieve()\r
+ \r
+ retrieve_symbol: (picture) -> \r
+ @trigger('ready:symbol', picture.tmb_opt_img_tag())\r
\r
repeat_text: () ->\r
Pettanr.GroundPicture.repeat_texts()[@get('repeat')]\r
element_face: () ->\r
new Pettanr.Views.GroundPicture.ElementFace({element: this})\r
\r
- initialize: () ->\r
- if @id\r
- @url = @url + @id\r
+ initialize: (attr, options) ->\r
+ super(attr, options)\r
+ \r
+class Pettanr.GroundPicture.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.GroundPicture.TraceFromPanelPicture extends Pettanr.GroundPicture.TraceFromPicture\r
+ \r
+ trace: (panel_picture) ->\r
+ @panel_picture(panel_picture)\r
+ \r
+ panel_picture: (panel_picture) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.Picture, panel_picture.get('picture_id'))\r
+ @listenTo(retriever, 'retrieve', @picture)\r
+ retriever.retrieve()\r
+ \r
+ picture: (picture) ->\r
+ tracer = new Pettanr.GroundPicture.TraceFromPicture()\r
+ @listenTo(tracer, 'trace', @success)\r
+ tracer.trace(picture)\r
+ \r
+ success: (resource_picture) ->\r
+ @trigger('trace', resource_picture)\r
\r