X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fmodels%2Fspeech_balloon.js.coffee;h=07a77e6d69bd9299d09553d9f745f407b4a133b1;hb=28197aecf803b9332afeebb4db14fb7042606f5e;hp=4d8e84b3dbeadfe3858021e3019df9cbb1a9a677;hpb=b16d4899d5e7332f572a40ba1ca32250a7952413;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/models/speech_balloon.js.coffee b/app/assets/javascripts/models/speech_balloon.js.coffee index 4d8e84b3..07a77e6d 100644 --- a/app/assets/javascripts/models/speech_balloon.js.coffee +++ b/app/assets/javascripts/models/speech_balloon.js.coffee @@ -16,15 +16,9 @@ class Pettanr.SpeechBalloon extends Peta.Element @pick_item_name: () -> 'speech_balloon_template' - @pick_model: () -> - Manifest.item_name_to_model(@pick_item_name()) - @traceable_item_names: () -> ['speech', 'balloon'] - @is_traceable: (item_name) -> - _.contains(@traceable_item_names(), item_name) - trace_from_speech: () -> trace_from_balloon: () -> @@ -38,26 +32,36 @@ class Pettanr.SpeechBalloon extends Peta.Element speech_balloon_template_settings: speech_balloon_template.get('settings') } - panel: (options = {}) -> - new Pettanr.Panel({id: @get('panel_id')}, options) + panel: () -> + new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id')) speech_balloon_template: () -> - new Pettanr.SpeechBalloonTemplate({id: @get('speech_balloon_template_id')}) + new Pettanr.Cache.Retriever(Pettanr.SpeechBalloonTemplate, @get('speech_balloon_template_id')) @has_picture: () -> false symbol_option: () -> - sbt = @speech_balloon_template() - sbt.fetch({cache: true}).done => - sp = sbt.system_picture() - sp.fetch({cache: true}).done => - @trigger('ready:symbol', sp.tmb_opt_img_tag()) + retriever = @speech_balloon_template() + @listenTo(retriever, 'retrieve', @retrieve_speech_balloon_template) + retriever.retrieve() + + retrieve_speech_balloon_template: (speech_balloon_template) -> + retriever = speech_balloon_template.system_picture() + @listenTo(retriever, 'retrieve', @retrieve_system_picture) + retriever.retrieve() + + retrieve_system_picture: (system_picture) -> + @trigger('ready:symbol', system_picture.tmb_opt_img_tag()) filer_caption: () -> - @fetch({cache: true}).done => - caption = @escape('caption') - @trigger('ready:caption', caption) + retriever = @retriever() + @listenTo(retriever, 'retrieve', @retrieve_filer_caption) + retriever.retrieve() + + retrieve_filer_caption: (item) -> + caption = item.escape('caption') + @trigger('ready:caption', caption) plain_scenario: () -> @get('caption')