class Pettanr.SpeechBalloon extends Peta.Element\r
- url: '/speech_balloons/'\r
\r
@singular: () ->\r
'SpeechBalloon'\r
@traceable_item_names: () ->\r
['speech', 'balloon']\r
\r
- trace_from_speech: () ->\r
- \r
- trace_from_balloon: () ->\r
- \r
- pick: (templates) ->\r
+ pick: () ->\r
# \r
- speech_balloon_template = templates.speech_balloon_template\r
+ speech_balloon_template = @templates.speech_balloon_template\r
{\r
speech_balloon_template_id: speech_balloon_template.get('id'),\r
speech_balloon_template_module_name: speech_balloon_template.get('module_name')\r
\r
initialize: (attr, options) ->\r
super(attr, options)\r
- if @id\r
- @url = @url + @id\r
+ \r
+class Pettanr.SpeechBalloon.TraceFromBalloon\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (balloon) ->\r
+ @balloon(balloon)\r
+ \r
+ balloon: (balloon) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloon, balloon.get('speech_balloon_id'))\r
+ @listenTo(retriever, 'retrieve', @speech_balloon)\r
+ retriever.retrieve()\r
+ \r
+ speech_balloon: (speech_balloon) ->\r
+ @trigger('trace', speech_balloon)\r
+ \r
+class Pettanr.SpeechBalloon.TraceFromSpeech\r
+ \r
+ constructor: (options) ->\r
+ _.extend(this, Backbone.Events)\r
+ \r
+ trace: (speech) ->\r
+ @speech(speech)\r
+ \r
+ speech: (speech) ->\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloon, speech.get('speech_balloon_id'))\r
+ @listenTo(retriever, 'retrieve', @speech_balloon)\r
+ retriever.retrieve()\r
+ \r
+ speech_balloon: (speech_balloon) ->\r
+ @trigger('trace', speech_balloon)\r
\r