OSDN Git Service

fix: finder
[pettanr/pettanr.git] / app / assets / javascripts / models / picture.js.coffee
index a0f42e4..1a2d4e5 100644 (file)
@@ -1,5 +1,4 @@
 class Pettanr.Picture extends Peta.Content\r
-  url: '/pictures/'\r
   \r
   @singular: () ->\r
     'Picture'\r
@@ -11,7 +10,12 @@ class Pettanr.Picture extends Peta.Content
     id: null\r
   } \r
   \r
-  is_visible: (operators) ->\r
+  @trace_routes: () ->\r
+    {\r
+      resource_picture: ['resource_picture_picture', 'resource_picture']\r
+    }\r
+  \r
+  is_visible: (operators = Pettanr.cache.operators) ->\r
     return true\r
   \r
   filename: () ->\r
@@ -30,8 +34,12 @@ class Pettanr.Picture extends Peta.Content
     {src: @r_url(), width: @get('width'), height: @get('height')}\r
   \r
   tmb_opt_img_tag: () ->\r
-    wh = Pettanr.Imager.thumbnail_size(@get('width'), @get('height'))\r
-    new Pettanr.AppHelperImg({src: @r_url(), size: wh[0]})\r
+    new Pettanr.Image.SymbolPicture({\r
+      attr: {\r
+        src: @r_url()\r
+      },\r
+      picture: this\r
+    })\r
   \r
   tail_opt_img_tag: (img) ->\r
     {src: img, width: @get('width'), height: @get('height')}\r
@@ -45,10 +53,11 @@ class Pettanr.Picture extends Peta.Content
     ln = Pettanr.to_s(@license().get('caption'))\r
     lgn + '[' + ln + ']'\r
   \r
-  symbol_option: (cb) ->\r
-    _this = this\r
-    this.fetch().done ->\r
-      cb(_this.tmb_opt_img_tag())\r
+  symbol_option: (context, options) ->\r
+    @retrieve(this, {\r
+      success: (symbol_item) => \r
+        options.success.call(context, symbol_item.to_symbol())\r
+    })\r
   \r
   is_enable: () ->\r
     if @head().resource_picture()\r
@@ -71,15 +80,30 @@ class Pettanr.Picture extends Peta.Content
     else\r
       ['', 'v', 'h', 'vh']\r
   \r
-  is_showable: (operators = null) ->\r
+  is_showable: (operators = Pettanr.cache.operators) ->\r
     return false if not @original_picture()\r
     return true if @is_own(operators)\r
     #@is_enable() and @is_head()\r
   \r
-  initialize: () ->\r
+  history_view: () ->\r
+    new Pettanr.Views.Picture.History({item: this})\r
+  \r
+  credit_icon_view: () ->\r
+    new Pettanr.Views.Picture.CreditIcon({item: this})\r
+  \r
+  credit_view: (with_icon = true) ->\r
+    new Pettanr.Views.Picture.Credit({item: this, with_icon: with_icon})\r
+  \r
+  fetch: (options) ->\r
     if @id\r
-      @url = @url + @id\r
+      @credit_icon = @credit_icon_view()\r
+      @credit = null\r
+      f = (data, status) =>\r
+        @credit = data\r
+        @trigger('ready')\r
+      $.get(@url + '/credit', null, f, 'html')\r
+    super(options)\r
+  \r
+  initialize: (attr = {}, options = {}) ->\r
+    super(attr, options)\r
   \r
-class Pettanr.Picture.Collection extends Backbone.Collection\r
-  model: Pettanr.Picture\r
-  url: '/pictures'\r