class Pettanr.SpeechBalloon extends Peta.Element\r
- url: '/speech_balloons/'\r
\r
@singular: () ->\r
'SpeechBalloon'\r
speech_balloon_template_module_name: speech_balloon_template.get('module_name')\r
}\r
\r
- panel: () ->\r
- new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))\r
- \r
- speech_balloon_template: () ->\r
- new Pettanr.Cache.Retriever(Pettanr.SpeechBalloonTemplate, @get('speech_balloon_template_id'))\r
+ @trace_routes: () ->\r
+ {\r
+ symbol: ['speech_balloon_template', 'system_picture'],\r
+ }\r
\r
@has_picture: () ->\r
false\r
\r
- symbol_option: () ->\r
- retriever = @speech_balloon_template()\r
- @listenTo(retriever, 'retrieve', @retrieve_speech_balloon_template)\r
- retriever.retrieve()\r
- \r
- retrieve_speech_balloon_template: (speech_balloon_template) -> \r
- retriever = speech_balloon_template.system_picture()\r
- @listenTo(retriever, 'retrieve', @retrieve_system_picture)\r
- retriever.retrieve()\r
- \r
- retrieve_system_picture: (system_picture) -> \r
- @trigger('ready:symbol', system_picture.tmb_opt_img_tag())\r
- \r
- filer_caption: () ->\r
- retriever = @retriever()\r
- @listenTo(retriever, 'retrieve', @retrieve_filer_caption)\r
- retriever.retrieve()\r
- \r
- retrieve_filer_caption: (item) -> \r
- caption = item.escape('caption')\r
- @trigger('ready:caption', caption)\r
+ filer_caption: (context, options) ->\r
+ @get_child('balloon', this, {\r
+ success: (balloon) => \r
+ @get_child('speech', this, {\r
+ success: (speech) => \r
+ plain_scenario = @plain_scenario() + balloon.plain_scenario() + speech.plain_scenario()\r
+ options.success.call(context, plain_scenario)\r
+ fail: (response, opt) =>\r
+ options.fail.call(context, response, opt)\r
+ })\r
+ fail: (response, opt) =>\r
+ options.fail.call(context, response, opt)\r
+ })\r
\r
plain_scenario: () ->\r
- @get('caption')\r
+ @escape('caption')\r
\r
element_face: () ->\r
new Pettanr.Views.SpeechBalloon.ElementFace({element: this})\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