X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fmodels%2Fspeech_balloon.js.coffee;h=4cb0e9c38d16df606a468e29145fda8860c30b87;hp=565f695b253e088350cd8b7f3d770a2ca818ca91;hb=d7c8065be895b67dc453b0e11ad0f259f1ca6706;hpb=eec19634998fd448e4bb1be831260537199d8271 diff --git a/app/assets/javascripts/models/speech_balloon.js.coffee b/app/assets/javascripts/models/speech_balloon.js.coffee index 565f695b..4cb0e9c3 100644 --- a/app/assets/javascripts/models/speech_balloon.js.coffee +++ b/app/assets/javascripts/models/speech_balloon.js.coffee @@ -1,5 +1,4 @@ class Pettanr.SpeechBalloon extends Peta.Element - url: '/speech_balloons/' @singular: () -> 'SpeechBalloon' @@ -13,30 +12,48 @@ class Pettanr.SpeechBalloon extends Peta.Element t: null } - panel: () -> - new Pettanr.Panel({id: @get('panel_id')}) + @pick_item_name: () -> + 'speech_balloon_template' - speech_balloon_template: () -> - new Pettanr.SpeechBalloonTemplate({id: @get('speech_balloon_template_id')}) + @traceable_item_names: () -> + ['speech', 'balloon'] + + pick: () -> + # + speech_balloon_template = @templates.speech_balloon_template + { + speech_balloon_template_id: speech_balloon_template.get('id'), + speech_balloon_template_module_name: speech_balloon_template.get('module_name') + } + + @trace_routes: () -> + { + symbol: ['speech_balloon_template', 'system_picture'], + } @has_picture: () -> false - symbol_option: (cb) -> - sbt = @speech_balloon_template() - sbt.fetch().done -> - sp = sbt.system_picture() - sp.fetch().done -> - cb(sp.tmb_opt_img_tag()) + filer_caption: (context, options) -> + @get_child('balloon', this, { + success: (balloon) => + @get_child('speech', this, { + success: (speech) => + plain_scenario = @plain_scenario() + balloon.plain_scenario() + speech.plain_scenario() + options.success.call(context, plain_scenario) + fail: (response, opt) => + options.fail.call(context, response, opt) + }) + fail: (response, opt) => + options.fail.call(context, response, opt) + }) plain_scenario: () -> - @get('caption') + @escape('caption') - initialize: () -> - if @id - @url = @url + @id + element_face: () -> + new Pettanr.Views.SpeechBalloon.ElementFace({element: this}) -class Pettanr.SpeechBalloon.Collection extends Backbone.Collection - model: Pettanr.SpeechBalloon - url: '/speech_balloons/' + initialize: (attr, options) -> + super(attr, options)