OSDN Git Service

fix:retrive
[pettanr/pettanr.git] / app / assets / javascripts / views / balloons / summary.js.coffee
index 12ab246..099b047 100644 (file)
@@ -3,26 +3,20 @@ class Pettanr.Views.Balloon.Summary extends Pettanr.Views.Common.Summary
   initialize: (options) ->\r
     super(options)\r
     @item = options.item\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
+    @item.get_parent('speech_balloon', this, {\r
+      success: (@speech_balloon) =>\r
+        @speech_balloon.get_parent('panel', this, {\r
+          success: (@panel) =>\r
+            @panel_icon = new Pettanr.Views.Common.Icon({item: @panel, half: true})\r
+            @listenTo(@panel_icon, 'click', @panel_click)\r
+            @panel.get_parent('author', this, {\r
+              success: (@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
+        })\r
+    })\r
   \r
   render: () ->\r
     this.$el.html('')\r