OSDN Git Service

change: cache system
[pettanr/pettanr.git] / app / assets / javascripts / views / balloons / summary.js.coffee
index 5027f4e..12ab246 100644 (file)
@@ -3,20 +3,26 @@ class Pettanr.Views.Balloon.Summary extends Pettanr.Views.Common.Summary
   initialize: (options) ->\r
     super(options)\r
     @item = options.item\r
-    @load()\r
-  \r
-  load: () ->\r
-    @speech_balloon = @item.speech_balloon()\r
-    @speech_balloon.fetch({cache: true}).done =>\r
-      panel = @speech_balloon.panel()\r
-      panel.fetch({cache: true}).done =>\r
-        @panel_icon = new Pettanr.Views.Common.Icon({item: panel, half: true})\r
-        @listenTo(@panel_icon, 'click', @panel_click)\r
-        author = panel.author()\r
-        author.fetch({cache: true}).done =>\r
-          @author_icon_with_caption = author.icon_with_caption_view(true, 'name', 12)\r
-          @listenTo(@author_icon_with_caption, 'click', @author_click)\r
-          @trigger('ready')\r
+    retriever = @item.speech_balloon()\r
+    @listenTo(retriever, 'retrieve', @retrieve_speech_balloon)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_speech_balloon: (@speech_balloon) ->\r
+    retriever = @speech_balloon.panel()\r
+    @listenTo(retriever, 'retrieve', @retrieve_panel)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_panel: (@panel) ->\r
+    @panel_icon = new Pettanr.Views.Common.Icon({item: @panel, half: true})\r
+    @listenTo(@panel_icon, 'click', @panel_click)\r
+    retriever = @panel.author()\r
+    @listenTo(retriever, 'retrieve', @retrieve_author)\r
+    retriever.retrieve()\r
+  \r
+  retrieve_author: (@author) ->\r
+    @author_icon_with_caption = @author.icon_with_caption_view(true, 'name', 12)\r
+    @listenTo(@author_icon_with_caption, 'click', @author_click)\r
+    @trigger('ready')\r
   \r
   render: () ->\r
     this.$el.html('')\r
@@ -25,8 +31,8 @@ class Pettanr.Views.Balloon.Summary extends Pettanr.Views.Common.Summary
     this\r
   \r
   panel_click: () ->\r
-    @trigger('navigate', @panel_icon.url())\r
+    @trigger('http_get', @panel_icon.url())\r
   \r
   author_click: () ->\r
-    @trigger('navigate', @author_icon_with_caption.url())\r
+    @trigger('http_get', @author_icon_with_caption.url())\r
   \r