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