OSDN Git Service

fix:balloon r
[pettanr/pettanr.git] / app / assets / javascripts / models / speech_balloon.js.coffee
1 class Pettanr.SpeechBalloon extends Peta.Element\r
2   url: '/speech_balloons/'\r
3   \r
4   @singular: () ->\r
5     'SpeechBalloon'\r
6   \r
7   @plural: () ->\r
8     'SpeechBalloons'\r
9   \r
10   defaults: {\r
11     id: null,\r
12     z: null,\r
13     t: null\r
14   } \r
15   \r
16   @pick_item_name: () ->\r
17     'speech_balloon_template'\r
18   \r
19   @traceable_item_names: () ->\r
20     ['speech', 'balloon']\r
21   \r
22   pick: () ->\r
23     # \r
24     speech_balloon_template = @templates.speech_balloon_template\r
25     {\r
26       speech_balloon_template_id: speech_balloon_template.get('id'),\r
27       speech_balloon_template_module_name: speech_balloon_template.get('module_name')\r
28     }\r
29   \r
30   panel: () ->\r
31     new Pettanr.Cache.Retriever(Pettanr.Panel, @get('panel_id'))\r
32   \r
33   speech_balloon_template: () ->\r
34     new Pettanr.Cache.Retriever(Pettanr.SpeechBalloonTemplate, @get('speech_balloon_template_id'))\r
35   \r
36   @has_picture: () ->\r
37     false\r
38   \r
39   symbol_option: () ->\r
40     retriever = @speech_balloon_template()\r
41     @listenTo(retriever, 'retrieve', @retrieve_speech_balloon_template)\r
42     retriever.retrieve()\r
43   \r
44   retrieve_speech_balloon_template: (speech_balloon_template) -> \r
45     retriever = speech_balloon_template.system_picture()\r
46     @listenTo(retriever, 'retrieve', @retrieve_system_picture)\r
47     retriever.retrieve()\r
48   \r
49   retrieve_system_picture: (system_picture) -> \r
50     @trigger('ready:symbol', system_picture.tmb_opt_img_tag())\r
51   \r
52   filer_caption: () ->\r
53     retriever = @retriever()\r
54     @listenTo(retriever, 'retrieve', @retrieve_filer_caption)\r
55     retriever.retrieve()\r
56   \r
57   retrieve_filer_caption: (item) -> \r
58     caption = item.escape('caption')\r
59     @trigger('ready:caption', caption)\r
60   \r
61   plain_scenario: () ->\r
62     @get('caption')\r
63   \r
64   element_face: () ->\r
65     new Pettanr.Views.SpeechBalloon.ElementFace({element: this})\r
66   \r
67   initialize: (attr, options) ->\r
68     super(attr, options)\r
69     if @id\r
70       @url = @url + @id\r
71   \r
72 class Pettanr.SpeechBalloon.TraceFromBalloon\r
73   \r
74   constructor: (options) ->\r
75     _.extend(this, Backbone.Events)\r
76   \r
77   trace: (balloon) ->\r
78     @balloon(balloon)\r
79   \r
80   balloon: (balloon) ->\r
81     retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloon, balloon.get('speech_balloon_id'))\r
82     @listenTo(retriever, 'retrieve', @speech_balloon)\r
83     retriever.retrieve()\r
84   \r
85   speech_balloon: (speech_balloon) ->\r
86     @trigger('trace', speech_balloon)\r
87   \r
88 class Pettanr.SpeechBalloon.TraceFromSpeech\r
89   \r
90   constructor: (options) ->\r
91     _.extend(this, Backbone.Events)\r
92   \r
93   trace: (speech) ->\r
94     @speech(speech)\r
95   \r
96   speech: (speech) ->\r
97     retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloon, speech.get('speech_balloon_id'))\r
98     @listenTo(retriever, 'retrieve', @speech_balloon)\r
99     retriever.retrieve()\r
100   \r
101   speech_balloon: (speech_balloon) ->\r
102     @trigger('trace', speech_balloon)\r
103   \r