1 class Pettanr.PanelPicture extends Peta.Element
\r
13 @pick_item_name: () ->
\r
16 @traceable_item_names: () ->
\r
17 ['ground_picture', 'picture']
\r
19 pick: (picked_item) ->
\r
21 picture_id: picked_item.get('picture_id'),
\r
22 width: picked_item.get('width'),
\r
23 height: picked_item.get('height')
\r
27 new Pettanr.Cache.Retriever(Pettanr.Picture, @get('picture_id'))
\r
30 new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))
\r
36 v = if @get('height') > 0
\r
40 h = if @get('width') > 0
\r
45 res = res # format of /1.png?subdir=v
\r
46 # res += '/' unless res.empty? # format of /v/1.png
\r
49 filename: (picture) ->
\r
50 q = if _.isEmpty(@flip())
\r
53 '?subdir=' + @flip()
\r
54 picture.filename() + q
\r
57 '/pictures/' + @filename(picture)
\r
59 tmb_opt_img_tag: (picture) ->
\r
60 new Pettanr.Image.SymbolPicture({
\r
62 src: picture.r_url(),
\r
63 alt: @escape('caption')
\r
68 symbol_option: () ->
\r
69 retriever = @picture()
\r
70 @listenTo(retriever, 'retrieve', @retrieve_symbol)
\r
71 retriever.retrieve()
\r
73 retrieve_symbol: (item) ->
\r
74 @trigger('ready:symbol', item.tmb_opt_img_tag())
\r
77 new Pettanr.Views.PanelPicture.ElementFace({element: this})
\r
79 initialize: (attr, options) ->
\r
80 super(attr, options)
\r
82 class Pettanr.PanelPicture.TraceFromPicture
\r
84 constructor: (options) ->
\r
85 _.extend(this, Backbone.Events)
\r
90 picture: (picture) ->
\r
91 resource_picture_picture_list = picture.has_one('resource_picture_picture')
\r
92 resource_picture_picture_list.open(() =>
\r
93 resource_picture_picture = resource_picture_picture_list.items()[0]
\r
94 retriever = new Pettanr.Cache.Retriever(Pettanr.ResourcePicture, resource_picture_picture.get('resource_picture_id'))
\r
95 @listenTo(retriever, 'retrieve', @resource_picture)
\r
96 retriever.retrieve()
\r
99 resource_picture: (resource_picture) ->
\r
100 @trigger('trace', resource_picture)
\r
102 class Pettanr.PanelPicture.TraceFromGroundPicture extends Pettanr.PanelPicture.TraceFromPicture
\r
104 trace: (ground_picture) ->
\r
105 @ground_picture(ground_picture)
\r
107 ground_picture: (ground_picture) ->
\r
108 retriever = new Pettanr.Cache.Retriever(Pettanr.Picture, ground_picture.get('picture_id'))
\r
109 @listenTo(retriever, 'retrieve', @picture)
\r
110 retriever.retrieve()
\r
112 picture: (picture) ->
\r
113 tracer = new Pettanr.PanelPicture.TraceFromPicture()
\r
114 @listenTo(tracer, 'trace', @success)
\r
115 tracer.trace(picture)
\r
117 success: (resource_picture) ->
\r
118 @trigger('trace', resource_picture)
\r