OSDN Git Service

fix: fetch err
[pettanr/pettanr.git] / app / assets / javascripts / views / speech_balloons / element.js.coffee
index a83c086..4e79625 100644 (file)
@@ -1,4 +1,4 @@
-class Pettanr.Views.SpeechBalloon.Element extends Backbone.View\r
+class Pettanr.Views.SpeechBalloon.Element extends Pettanr.View\r
   tagName: 'div'\r
   className: 'pettanr-comic-balloon'\r
   \r
@@ -6,27 +6,7 @@ class Pettanr.Views.SpeechBalloon.Element extends Backbone.View
     @element = options.element\r
     @root = options.root\r
     @spot = options.spot\r
-    @collect_views()\r
-  \r
-  collect_views: () ->\r
-    @views = []\r
-    @add_element(@element.get('balloon'))\r
-    @add_element(@element.get('speech'))\r
-  \r
-  add_element: (element) ->\r
-    switch element.item_name()\r
-      when 'balloon'\r
-        @balloon = element\r
-        @ready_balloon()\r
-        view = @balloon_view\r
-      when 'speech'\r
-        @speech = element\r
-        @ready_speech()\r
-        view = @speech_view\r
-    view\r
-  \r
-  ready_balloon: () ->\r
-    @set_style()\r
+    @balloon = @element.get('balloon')\r
     klass = @balloon_class()\r
     @balloon_view = new klass({\r
       parent: this, \r
@@ -34,10 +14,7 @@ class Pettanr.Views.SpeechBalloon.Element extends Backbone.View
       root: @root,\r
       spot: @spot\r
     })\r
-    this.$el.append(@balloon_view.clear().el)\r
-    @balloon_view\r
-  \r
-  ready_speech: () ->\r
+    @speech = @element.get('speech')\r
     klass = @speech_class()\r
     @speech_view = new klass({\r
       parent: this, \r
@@ -45,13 +22,17 @@ class Pettanr.Views.SpeechBalloon.Element extends Backbone.View
       root: @root,\r
       spot: @spot\r
     })\r
-    this.$el.append(@speech_view.render().el)\r
-    @speech_view\r
   \r
   render: () ->\r
     this.$el.html('')\r
-    _.each @views, (view) =>\r
-      this.$el.append(view.clear().el)\r
+    @balloon.get_parent('system_picture', this, {\r
+      success: (system_picture) =>\r
+        @balloon_view.system_picture = system_picture\r
+        this.$el.append(@balloon_view.render().el)\r
+        @balloon_view.init_picture()\r
+    })\r
+    this.$el.append(@speech_view.render().el)\r
+    @set_style()\r
     this\r
   \r
   set_style: () ->\r
@@ -77,22 +58,17 @@ class Pettanr.Views.SpeechBalloon.Element.Edit extends Pettanr.Views.SpeechBallo
   \r
   initialize: (options) ->\r
     super(options)\r
-    @listenTo(this, 'active', @active)\r
-    @listenTo(this, 'inactive', @inactive)\r
-  \r
-  collect_views: () ->\r
-    @views = []  # elements collect by dock\r
-  \r
-  set_style: () ->\r
-    super()\r
-    \r
-  ready_balloon: () ->\r
-    super()\r
+    @listenTo(@element, 'sort', @set_style)\r
+    @listenTo(@element, 'active', @active)\r
+    @listenTo(@element, 'inactive', @inactive)\r
     @listenTo(@balloon, 'input:r', @input_r)\r
     @listenTo(@balloon, 'input:x', @set_style)\r
     @listenTo(@balloon, 'input:y', @set_style)\r
     @listenTo(@balloon, 'input:width', @set_style)\r
     @listenTo(@balloon, 'input:height', @set_style)\r
+  \r
+  render: () ->\r
+    super()\r
     bln = @balloon\r
     this.$el.draggable {\r
       stop: (event, ui) ->\r
@@ -101,8 +77,11 @@ class Pettanr.Views.SpeechBalloon.Element.Edit extends Pettanr.Views.SpeechBallo
         bln.set({x: left, y: top}, {silent: true})\r
         bln.trigger('move')\r
     }\r
+    this\r
+  \r
+  set_style: () ->\r
+    super()\r
   \r
-  # listen from speech\r
   input_r: () ->\r
     @trigger('input:r')\r
   \r