OSDN Git Service

fix: show's destroy button
[pettanr/pettanr.git] / app / assets / javascripts / models / resource_picture.js.coffee
index 42409da..183ebdb 100644 (file)
@@ -1,5 +1,4 @@
 class Pettanr.ResourcePicture extends Peta.Content\r
-  url: '/resource_pictures/'\r
   \r
   @singular: () ->\r
     'ResourcePicture'\r
@@ -11,10 +10,16 @@ class Pettanr.ResourcePicture extends Peta.Content
     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
@@ -27,14 +32,16 @@ class Pettanr.ResourcePicture extends Peta.Content
     '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
@@ -49,10 +56,13 @@ class Pettanr.ResourcePicture extends Peta.Content
     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
@@ -60,10 +70,6 @@ class Pettanr.ResourcePicture extends Peta.Content
   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