OSDN Git Service

fix: show's destroy button
[pettanr/pettanr.git] / app / assets / javascripts / models / license.js.coffee
index c5f32eb..e3ba76f 100644 (file)
@@ -1,5 +1,4 @@
 class Pettanr.License extends Peta.SystemResource\r
-  url: '/licenses/'\r
   \r
   @singular: () ->\r
     'License'\r
@@ -12,32 +11,31 @@ class Pettanr.License extends Peta.SystemResource
   } \r
   \r
   license_group: () ->\r
-    r = new Pettanr.LicenseGroup({id: @get('license_group_id')})\r
+    new Pettanr.Cache.Retriever(Pettanr.LicenseGroup, @get('license_group_id'))\r
   \r
   system_picture: () ->\r
-    new Pettanr.SystemPicture({id: @get('system_picture_id')})\r
+    new Pettanr.Cache.Retriever(Pettanr.SystemPicture, @get('system_picture_id'))\r
   \r
-  symbol_option: (cb) ->\r
-    i = @system_picture()\r
-    i.fetch({cache: true}).done ->\r
-      cb(i.tmb_opt_img_tag())\r
+  symbol_option: () ->\r
+    retriever = @system_picture()\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
   caption_with_group: () ->\r
-    new Pettanr.License.Caption({license: this, license_group: @license_group()})\r
-  \r
-  initialize: () ->\r
-    if @id\r
-      @url = @url + @id\r
-  \r
-class Pettanr.License.Caption extends Backbone.View\r
-  tagName: 'span'\r
-  initialize: (options) ->\r
-    @license = options.license\r
-    @license_group = options.license_group\r
-    \r
-  render: () ->\r
-    _this = this\r
-    @license_group.fetch({cache: true}).done ->\r
-      _this.$el.html(_this.license_group.get('caption') + '/' + _this.license.get('caption'))\r
-    this\r
+    retriever = @license_group()\r
+    @listenTo(retriever, 'retrieve', @retrieve_license_group)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_license_group: (license_group) -> \r
+    caption = license_group.escape('caption') + '/' + @escape('caption')\r
+    @trigger('ready:caption', caption)\r
+  \r
+  is_own: () ->\r
+    true\r
+  \r
+  initialize: (attr = {}, options = {}) ->\r
+    super(attr, options)\r
   \r