class Pettanr.ResourcePicture extends Peta.Content\r
- url: '/resource_pictures/'\r
\r
@singular: () ->\r
'ResourcePicture'\r
id: null\r
} \r
\r
+ original_picture: () ->\r
+ new Pettanr.Cache.Retriever(Pettanr.OriginalPicture, @get('original_picture_id'))\r
+ \r
picture: () ->\r
- new Pettanr.Picture({id: @get('picture_id')})\r
+ new Pettanr.Cache.Retriever(Pettanr.Picture, @get('picture_id'))\r
+ \r
+ artist: () ->\r
+ new Pettanr.Cache.Retriever(Pettanr.Artist, @get('artist_id'))\r
\r
- is_visible: (operators) ->\r
+ is_visible: (operators = Pettanr.cache.operators) ->\r
@is_user_visible(operators)\r
\r
filename: () ->\r
'image/' + @get('ext')\r
\r
r_url: (subdir = null) ->\r
- opt = if Pettanr.to_s(@subdir).empty\r
+ opt = if _.isEmpty(subdir)\r
''\r
else\r
'?subdir=' + Pettanr.to_s(subdir)\r
'/resource_pictures/' + @filename() + opt\r
\r
tmb_opt_img_tag: () ->\r
- new Pettanr.Image.SymbolPicture({\r
+ klass = if true # thumbnail\r
+ Pettanr.Image.SymbolPicture\r
+ new klass({\r
attr: {\r
src: @r_url()\r
},\r
ln = Pettanr.to_s(@license().get('caption'))\r
lgn + '[' + ln + ']'\r
\r
- symbol_option: (cb) ->\r
- _this = this\r
- this.fetch({cache: true}).done ->\r
- cb(_this.tmb_opt_img_tag())\r
+ symbol_option: () ->\r
+ retriever = @retriever()\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
credit_icon_view: () ->\r
new Pettanr.Views.ResourcePicture.CreditIcon({item: this})\r
credit_view: (with_icon = true) ->\r
new Pettanr.Views.ResourcePicture.Credit({item: this, with_icon: with_icon})\r
\r
- initialize: () ->\r
- if @id\r
- @url = @url + @id\r
+ initialize: (attr = {}, options = {}) ->\r
+ super(attr, options)\r
\r
-class Pettanr.ResourcePicture.Collection extends Backbone.Collection\r
- model: Pettanr.ResourcePicture\r
- url: '/resource_pictures/'\r