OSDN Git Service

t#:
authoryasushiito <yas@pen-chan.jp>
Thu, 13 Aug 2015 02:57:27 +0000 (11:57 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 13 Aug 2015 02:57:27 +0000 (11:57 +0900)
26 files changed:
app/assets/javascripts/controllers/panels.js.coffee
app/assets/javascripts/editor/panel_editor/element.js.coffee
app/assets/javascripts/locmare/form.js.coffee
app/assets/javascripts/locmare/form/field.js.coffee
app/assets/javascripts/locmare/form/field/tag/file.js.coffee
app/assets/javascripts/locmare/form/field/tag/hidden.js.coffee
app/assets/javascripts/locmare/form/field/tag/number.js.coffee
app/assets/javascripts/locmare/form/field/tag/select.js.coffee
app/assets/javascripts/locmare/form/field/tag/text.js.coffee
app/assets/javascripts/locmare/form/field/tag/text_area.js.coffee
app/assets/javascripts/main.js.coffee
app/assets/javascripts/models/panel.js.coffee
app/assets/javascripts/peta/element_nestable_content.js.coffee
app/assets/javascripts/pettanr/inspire.js.coffee
app/assets/javascripts/views/authors/show.js.coffee
app/assets/javascripts/views/balloons/element.js.coffee
app/assets/javascripts/views/balloons/form.js.coffee
app/assets/javascripts/views/ground_colors/element.js.coffee
app/assets/javascripts/views/ground_pictures/element.js.coffee
app/assets/javascripts/views/panel_pictures/element.js.coffee
app/assets/javascripts/views/panel_pictures/show.js.coffee
app/assets/javascripts/views/panels/body.js.coffee
app/assets/javascripts/views/scrolls/play.js.coffee
app/assets/javascripts/views/speech_balloons/element.js.coffee
app/assets/javascripts/views/speeches/element.js.coffee
app/controllers/application_controller.rb

index 702ba50..e143e72 100644 (file)
@@ -36,9 +36,9 @@ class Pettanr.PanelsController extends Pettanr.AppController
         @show_html()\r
   \r
   show_html: () -> \r
-    @item = @item.with_elements() # retake panel for 'with_elements' mode\r
+    @item = @item.play() # retake panel for 'with_elements' mode\r
     @item.fetch({cache: false}).done =>\r
-      @item.attributes = @item.replaced_attributes()\r
+      @item.attributes = @item.decoded_attributes()\r
       @trigger('title', @params, @item.get('caption'))\r
       show = new Pettanr.Views.Panel.Show(@item, {\r
         spot: null\r
@@ -52,15 +52,27 @@ class Pettanr.PanelsController extends Pettanr.AppController
   new: () ->\r
     @trigger('title', @params)\r
     @set_new()\r
-    @item = @item.with_elements()\r
-    @render_form()\r
+    @item = @item.edit({\r
+      context: this, \r
+      success: (@item) ->\r
+        @item.boosts 'post'\r
+        @render_form()\r
+    })\r
     @trigger('done', @params)\r
   \r
   edit: () ->\r
     @trigger('title', @params)\r
-    @set_edit({with_elements: true})\r
+    @set_edit()\r
     @trigger('done', @params)\r
   \r
+  render_edit: (item) ->\r
+    item.edit({\r
+      context: this, \r
+      success: (@item) ->\r
+        @item.boosts 'post'\r
+        @render_form()\r
+    })\r
+  \r
   render_form: () ->\r
     @form = new Editor.PanelEditor({root_item: @item})\r
     @form.render()\r
index fe392be..a412975 100644 (file)
@@ -44,7 +44,6 @@ class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.Dock
     tab = @find_tab(element)\r
     tab.label.remove()\r
     tab.body.remove()\r
-    console.log @tabs.indexOf(tab)\r
     @tabs.splice(@tabs.indexOf(tab), 1)\r
     #@tabs = _.compact(@tabs)\r
     @unshift_z()\r
index c12a9ca..96830ba 100644 (file)
@@ -23,7 +23,6 @@ class Locmare.FormBase extends Pettanr.View
     @on('change:field', @change)\r
   \r
   change: (field) ->\r
-    console.log(field.field_name)\r
   \r
   fold_extend_settings: (params) ->\r
     @item.my_class().fold_extend_settings params[@item.item_name()]\r
index bb24fab..9dbd00a 100644 (file)
@@ -23,7 +23,7 @@ class Locmare.FormModule.Field extends Pettanr.View
     this\r
   \r
   refresh: () ->\r
-    @tag.render()\r
+    @tag.refresh()\r
     @helpers.refresh()\r
   \r
   change: () ->\r
index 30a15e9..a954868 100644 (file)
@@ -9,6 +9,9 @@ class Locmare.FormModule.FieldModule.TagModule.FileTag extends Locmare.FormModul
     this.$el.attr(@attr())\r
     this\r
   \r
+  refresh: () ->\r
+    @render()\r
+  \r
   change: (event) ->\r
   \r
   type: () ->\r
index ab61685..46f7b0f 100644 (file)
@@ -5,6 +5,9 @@ class Locmare.FormModule.FieldModule.TagModule.HiddenTag extends Locmare.FormMod
     this.$el.attr(@attr())\r
     this\r
   \r
+  refresh: () ->\r
+    @render()\r
+  \r
   val: () ->\r
     parseInt(super)  # humm... \r
   \r
index 4eab907..ea944d8 100644 (file)
@@ -11,6 +11,9 @@ class Locmare.FormModule.FieldModule.TagModule.NumberTag extends Locmare.FormMod
     this.$el.attr(@attr())\r
     this\r
   \r
+  refresh: () ->\r
+    @render()\r
+  \r
   change: () ->\r
     @field.helpers.refresh()\r
     @field.trigger('change')\r
index 96437e2..f7c43e8 100644 (file)
@@ -4,24 +4,37 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
     'change': 'change'\r
   }\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+    @option_tags = []\r
+  \r
   render: () ->\r
+    this.$el.html('')\r
+    this.$el.attr(@attr())\r
+    @option_tags = []\r
     @select_values((members) =>\r
       values = if @model_attribute_manifest().source.translate()\r
         Pettanr.AppHelper.t_select_items(members)\r
       else\r
         members\r
-      this.$el.html('')\r
-      this.$el.attr(@attr())\r
       _.each values, (member) =>\r
         selected = if @is_selected(member)\r
           ' selected'\r
         else\r
           ''\r
-        this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+        tag = '<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>'\r
+        @option_tags.push(tag)\r
+        this.$el.append(tag)\r
       @trigger('ready:select')\r
     )\r
     this\r
   \r
+  refresh: () ->\r
+    this.$el.html('')\r
+    this.$el.attr(@attr())\r
+    _.each @option_tags, (tag) =>\r
+      this.$el.append(tag)\r
+  \r
   val: () ->\r
     switch @model_attribute_manifest().type\r
       when 'number'\r
index 8971e12..ac6ac78 100644 (file)
@@ -10,6 +10,9 @@ class Locmare.FormModule.FieldModule.TagModule.TextTag extends Locmare.FormModul
     this.$el.val(@value())\r
     this\r
   \r
+  refresh: () ->\r
+    @render()\r
+  \r
   change: () ->\r
     @field.trigger('change')\r
   \r
index 8db5e16..155d08c 100644 (file)
@@ -10,6 +10,9 @@ class Locmare.FormModule.FieldModule.TagModule.TextAreaTag extends Locmare.FormM
     this.$el.val(@value())\r
     this\r
   \r
+  refresh: () ->\r
+    @render()\r
+  \r
   change: () ->\r
     @field.trigger('change')\r
   \r
index dc06e17..9798118 100644 (file)
@@ -24,8 +24,8 @@ $ ->
   loaded_manifest.init()\r
   loaded_local_manifest.init()\r
   \r
-  #window.onbeforeunload = (e)->\r
-  #  return('leave?')\r
+  window.onbeforeunload = (e)->\r
+    return('leave?')\r
   Backbone.history.start({silent: true, pushState: true, root: '/'})\r
   \r
   Pettanr.cache = new Pettanr.Cache({operators: new Pettanr.Operator({})})\r
index 22102c5..fec6673 100644 (file)
@@ -58,16 +58,30 @@ class Pettanr.Panel extends Peta.Root
   label: (shorten_length) ->\r
     @_label('caption', shorten_length)\r
   \r
+  play: () ->\r
+    new Pettanr.Panel.Play({id: @get('id')})\r
+  \r
+  edit: (options) ->\r
+    i = new Pettanr.Panel.Edit({id: @get('id')})\r
+    i.load(options)\r
+  \r
   initialize: (attr = {}, options = {}) ->\r
     super(attr, options)\r
     @set(attr)\r
   \r
-class Pettanr.Panel.WithElements extends Pettanr.Panel\r
+class Pettanr.Panel.Play extends Pettanr.Panel\r
   \r
   fetch: (options) ->\r
     @url = @default_url() + '?with_elements=true'\r
     super(options)\r
   \r
+class Pettanr.Panel.Edit extends Pettanr.Panel.Play\r
+  \r
+  load: (options) ->\r
+    @fetch().done =>\r
+      @attributes = @decoded_attributes()\r
+      @load_elements(options)\r
+  \r
   save: (attrs) ->\r
     @url = @default_url()\r
     method = if @isNew()\r
index 2087526..001e925 100644 (file)
@@ -13,53 +13,108 @@ class Peta.ElementNestableContent extends Peta.Content
     _.each @elements_items(), (item) =>\r
       item.boosts(level) if item\r
   \r
-  replaced_attributes: (options = {}) ->\r
+  dig_elements: () ->\r
+    items = []\r
+    @_dig_elements(items, @attributes)\r
+    items\r
+  \r
+  _dig_elements: (items, attributes) ->\r
+    _.each attributes, (attribute, name) =>\r
+      a = @my_class().my_manifest().associations\r
+      if a.has_many[name]\r
+        _.each attribute, (attr) =>\r
+          items.push(attr)\r
+          Array.prototype.push.apply(items, attr.dig_elements())\r
+      if a.has_one[name]\r
+        items.push(attribute)\r
+        Array.prototype.push.apply(items, attribute.dig_elements())\r
+  \r
+  load_elements: (options) ->\r
+    @_load_elements(@dig_elements(), options)\r
+  \r
+  _load_elements: (items, options) ->\r
+    if _.isEmpty(items)\r
+      options.success.call(options.context, this)\r
+      return\r
+    item = items.shift()\r
+    item.fetch().done =>\r
+      @_load_elements(items, options)\r
+  \r
+  decoded_attributes: () ->\r
     attributes = {}\r
     _.each @attributes, (attribute, name) =>\r
-      replaced = if _.isArray(attribute)\r
+      a = @my_class().my_manifest().associations\r
+      decoded = if a.has_many[name]\r
         # has many association\r
-        model = @my_class().my_manifest().associations.has_many[name].model()\r
+        model = a.has_many[name].model()\r
         _.map attribute, (attr) =>\r
+          child = @cache_child(model, attr)\r
+          child.attributes = child.decoded_attributes()\r
+          child\r
+      else if a.has_one[name]\r
+        # has one association\r
+        model = a.has_one[name].model()\r
+        child = @cache_child(model, attribute)\r
+        child.attributes = child.decoded_attributes()\r
+        child\r
+      else\r
+        attribute\r
+      attributes[name] = decoded\r
+    attributes\r
+  \r
+  replaced_attributes: (options = {}) ->\r
+    attributes = {}\r
+    _.each @attributes, (attribute, name) =>\r
+      console.log name\r
+      console.log attribute\r
+      a = @my_class().my_manifest().associations\r
+      replaced = if a.has_many[name]\r
+        # has many association\r
+        _.map attribute, (decoded) =>\r
           child = if options.hold\r
-            @replace_and_hold_element(model, attr)\r
+            @replace_and_hold_element(decoded)\r
           else\r
-            @replace_element(model, attr)\r
+            @replace_element(decoded)\r
+          console.log child\r
           child.attributes = child.replaced_attributes(options)\r
           child\r
-      else if _.isObject(attribute)\r
+      else if a.has_one[name]\r
         # has one association\r
-        model = @my_class().my_manifest().associations.has_one[name].model()\r
         child = if options.hold\r
-          @replace_and_hold_element(model, attribute)\r
+          @replace_and_hold_element(attribute)\r
         else\r
-          @replace_element(model, attribute)\r
+          @replace_element(attribute)\r
         child.attributes = child.replaced_attributes(options)\r
         child\r
       else\r
         attribute\r
+      console.log replaced\r
       attributes[name] = replaced\r
     attributes\r
   \r
-  replace_element: (model, attr) ->\r
-    empty_child = new model(attr)\r
-    cached_child = Pettanr.cache.restore(empty_child)\r
+  replace_element: (decoded_child) ->\r
+    cached_child = Pettanr.cache.restore(decoded_child)\r
     item = if cached_child\r
       cached_child\r
     else\r
-      Pettanr.cache.store(empty_child)\r
-    item.attributes = attr\r
+      model = decoded_child.my_class()\r
+      caching_item = new model()\r
+      Pettanr.cache.store(caching_item)\r
     item\r
   \r
-  replace_and_hold_element: (model, attr) ->\r
-    empty_child = new model(attr)\r
-    cached_child = Pettanr.cache.restore(empty_child)\r
-    item = if cached_child\r
-      cached_child\r
+  cache_child: (model, attr) ->\r
+    attr_without_element = {}\r
+    _.each attr, (a, n) ->\r
+      if !_.isObject(a) and !_.isArray(a)\r
+        attr_without_element[n] = a\r
+    decoded_child = new model(attr_without_element)\r
+    cached_child = Pettanr.cache.restore(decoded_child)\r
+    holden_item = if cached_child\r
+      cached_child.hold()\r
     else\r
-      Pettanr.cache.store(empty_child) \r
-    holden = item.hold()\r
-    holden.attributes = attr\r
-    holden\r
+      Pettanr.cache.store(decoded_child).hold()\r
+    holden_item.attributes = attr\r
+    holden_item\r
   \r
   hold: () ->\r
     super()\r
@@ -74,27 +129,28 @@ class Peta.ElementNestableContent extends Peta.Content
   \r
   release_elements: () ->\r
     _.each @attributes, (elements, name) =>\r
-      if _.isArray(elements)\r
+      a = @my_class().my_manifest().associations\r
+      if a.has_many[name]\r
         # has many association\r
-        model = @my_class().my_manifest().associations.has_many[name].model()\r
+        model = @my_class().my_manifest().associations.model()\r
         _.each elements, (element) =>\r
           element.release()\r
-      else if _.isObject(elements)\r
+      else if a.has_one[name]\r
         # has one association\r
         elements.release()\r
   \r
   fix_elements: () ->\r
     return \r
     _.each @attributes, (elements, name) =>\r
-      if _.isArray(elements)\r
+      a = @my_class().my_manifest().associations\r
+      if a.has_many[name]\r
         # has many association\r
-        model = @my_class().my_manifest().associations.has_many[name].model()\r
         _.each elements, (element) =>\r
           if @has('_destroy')\r
             element.release()  # destroy element by editor\r
           else\r
             element.fix()\r
-      else if _.isObject(elements)\r
+      else if a.has_one[name]\r
         # has one association\r
         if @has('_destroy')\r
           element.release()\r
index ba20848..c40cd93 100644 (file)
@@ -4,14 +4,16 @@ class Pettanr.Inspire
     _.extend(this, Backbone.Events)\r
   \r
   go: (context, options) -> \r
-    @item = @item.with_elements() # retake panel for 'with_elements' mode\r
-    @item.fetch({cache: false}).done =>\r
-      @item.attributes = @item.replaced_attributes()\r
-      delete @item.attributes['id']\r
-      @item.overwrite({})\r
-      @set_root()\r
-      @set_elements()\r
-      @save(context, options)\r
+    @item.edit({\r
+      context: this, \r
+      success: (@item) ->\r
+        @item.boosts 'post'\r
+        delete @item.attributes['id']\r
+        @item.overwrite({})\r
+        @set_root()\r
+        @set_elements()\r
+        @save(context, options)\r
+    })\r
   \r
   set_root: () ->\r
     @root_form = Locmare.Form.factory({\r
index 09f3aa8..27fa31c 100644 (file)
@@ -42,9 +42,9 @@ class Pettanr.Views.Author.ShowModule.PanelsBody extends Pettanr.View
       success: (items) => \r
         pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
         _.each items, (panel) =>\r
-          panel = panel.with_elements() # retake panel for 'with_elements' mode\r
+          panel = panel.play() # retake panel for 'with_elements' mode\r
           panel.fetch({cache: false}).done =>\r
-            panel.attributes = panel.replaced_attributes()\r
+            panel.attributes = panel.decoded_attributes()\r
             body = new Pettanr.Views.Panel.Body({\r
               panel: panel,\r
               spot: null\r
index d14426a..0faa2a5 100644 (file)
@@ -8,16 +8,14 @@ class Pettanr.Views.Balloon.Element extends Pettanr.View
     @spot = options.spot\r
     @speech_balloon = options.parent\r
   \r
-  clear: () ->\r
-    this\r
-  \r
   render: () ->\r
     this.$el.html('')\r
     @element.get_parent('system_picture', this, {\r
       success: (@system_picture) =>\r
-        @set_style()\r
         @init_picture()\r
+        @set_style()\r
     })\r
+    this\r
   \r
   init_picture: () ->\r
   \r
@@ -36,9 +34,6 @@ class Pettanr.Views.Balloon.Element extends Pettanr.View
       'z-index': 1  # play case\r
     }\r
   \r
-  add_element: (element) ->\r
-    null\r
-  \r
 class Pettanr.Views.Balloon.Element.Edit extends Pettanr.Views.Balloon.Element\r
   \r
   initialize: (options) ->\r
@@ -94,9 +89,12 @@ class Pettanr.Views.Balloon.Element.Edit extends Pettanr.Views.Balloon.Element
     }\r
   \r
   input_r: () ->\r
-    @render()\r
-    resize_div = this.$el.parent()\r
-    resize_div.css('z-index', 1)\r
+    @element.get_parent('system_picture', this, {\r
+      success: (@system_picture) =>\r
+        @set_style()\r
+        #resize_div = this.$el.parent()\r
+        #resize_div.css('z-index', 1)\r
+    })\r
   \r
   resize: () ->\r
     resize_div = this.$el.parent()\r
index 8a7b453..a320890 100644 (file)
@@ -2,7 +2,8 @@ class Pettanr.Views.Balloon.Form extends Locmare.Form
   \r
   initialize: (options) ->\r
     super(options)\r
-    @listenTo(@item, 'input:r', @input_r)\r
+    if @fields['r']    # passing scenario tab's event\r
+      @listenTo(@item, 'input:r', @input_r)\r
   \r
   render: () ->\r
     s = Form.__super__.render\r
index ec234a2..54965aa 100644 (file)
@@ -6,10 +6,6 @@ class Pettanr.Views.GroundColor.Element extends Pettanr.View
     @element = options.element\r
     @root = options.root\r
     @spot = options.spot\r
-    @add_element()\r
-  \r
-  clear: () ->\r
-    this\r
   \r
   render: () ->\r
     @restyle()\r
@@ -21,9 +17,6 @@ class Pettanr.Views.GroundColor.Element extends Pettanr.View
     }\r
     this.$el.attr(attr)\r
   \r
-  add_element: () ->\r
-    null\r
-  \r
   div_offset: () ->\r
     if @element.get('xy')\r
       @element.get('xy')\r
index 424d09a..52911b5 100644 (file)
@@ -6,18 +6,14 @@ class Pettanr.Views.GroundPicture.Element extends Pettanr.View
     @element = options.element\r
     @root = options.root\r
     @spot = options.spot\r
-    @add_element()\r
   \r
   init_picture: () ->\r
   \r
-  clear: () ->\r
-    this\r
-  \r
   render: () ->\r
     @element.get_parent('picture', this, {\r
       success: (@picture) =>\r
-        @restyle()\r
         @init_picture()\r
+        @restyle()\r
     })\r
     this\r
   \r
@@ -29,9 +25,6 @@ class Pettanr.Views.GroundPicture.Element extends Pettanr.View
     }\r
     this.$el.attr(attr)\r
   \r
-  add_element: () ->\r
-    null\r
-  \r
   style: (spot = null, opacity = 20) ->\r
     r = {\r
       position: 'absolute', \r
@@ -56,6 +49,7 @@ class Pettanr.Views.GroundPicture.Element.Edit extends Pettanr.Views.GroundPictu
     super(options)\r
   \r
   init_picture: () ->\r
+    super()\r
     @listenTo(@root, 'resize', @restyle)\r
     @listenTo(@root, 'input:width', @restyle)\r
     @listenTo(@root, 'input:height', @restyle)\r
@@ -65,7 +59,6 @@ class Pettanr.Views.GroundPicture.Element.Edit extends Pettanr.Views.GroundPictu
     @listenTo(@element, 'active', @active)\r
     @listenTo(@element, 'inactive', @inactive)\r
     @listenTo(@element, 'sort', @restyle)\r
-    super()\r
   \r
   active: () ->\r
     @root.trigger('active')\r
index 62c903c..174b382 100644 (file)
@@ -7,9 +7,6 @@ class Pettanr.Views.PanelPicture.Element extends Pettanr.View
     @root = options.root\r
     @spot = options.spot\r
   \r
-  clear: () ->\r
-    this\r
-  \r
   render: () ->\r
     @element.get_parent('picture', this, {\r
       success: (@picture) =>\r
@@ -33,9 +30,6 @@ class Pettanr.Views.PanelPicture.Element extends Pettanr.View
     attr = {style: Pettanr.to_style(@style())}\r
     this.$el.attr(attr)\r
   \r
-  add_element: () ->\r
-    null\r
-  \r
   style: () ->\r
     {\r
       'top': Pettanr.to_s(@element.get('y')) + 'px',\r
@@ -59,9 +53,6 @@ class Pettanr.Views.PanelPicture.Element.Img extends Pettanr.View
     @picture = options.picture\r
     @spot = options.spot\r
   \r
-  clear: () ->\r
-    this\r
-  \r
   render: () ->\r
     this.$el.html('')\r
     @restyle()\r
@@ -87,14 +78,14 @@ class Pettanr.Views.PanelPicture.Element.Edit extends Pettanr.Views.PanelPicture
   \r
   initialize: (options) ->\r
     super(options)\r
+  \r
+  init_picture: (img) ->\r
+    super(img)\r
     @listenTo(@element, 'input:x', @restyle)\r
     @listenTo(@element, 'input:y', @restyle)\r
     @listenTo(@element, 'sort', @restyle)\r
     @listenTo(@element, 'active', @active)\r
     @listenTo(@element, 'inactive', @inactive)\r
-  \r
-  init_picture: (img) ->\r
-    super(img)\r
     wrapper = this\r
     this.$el.draggable {\r
       stop: (event, ui) ->\r
index 5c71fc3..fd13938 100644 (file)
@@ -9,7 +9,7 @@ class Pettanr.Views.PanelPicture.Show extends Pettanr.View.Show
       success: (item) =>\r
         @panel = item.with_elements()\r
         @panel.fetch().done =>\r
-          @panel.attributes = @panel.replaced_attributes()\r
+          @panel.attributes = @panel.decoded_attributes()\r
           @authored_by = @panel.authored_by()\r
           @body = new Pettanr.Views.Panel.Body({\r
             panel: @panel,\r
index 48f79b6..d7949bb 100644 (file)
@@ -39,8 +39,7 @@ class Pettanr.Views.Panel.Body extends Pettanr.View
     view = new c({element: element, root: @panel, spot: @spot})\r
     @views.splice(index, 0, view)\r
     if @is_visible()\r
-      this.$el.append(view.clear().el)\r
-      view.render()\r
+      this.$el.append(view.render().el)\r
     view\r
   \r
   remove_element: (element) ->\r
index 250f348..20b4f5d 100644 (file)
@@ -151,7 +151,7 @@ class Pettanr.Views.Scroll.PlayModule.Panel extends Pettanr.View
   \r
   render: () ->\r
     this.$el.html('')\r
-    @panel = @panel.with_elements() # retake panel for 'with_elements' mode\r
+    @panel = @panel.play() # retake panel for 'with_elements' mode\r
     @panel.fetch({cache: true}).done =>\r
       @panel.attributes = @panel.replaced_attributes()\r
       body = new Pettanr.Views.Scroll.PlayModule.PanelBody({\r
index 017942c..7e88784 100644 (file)
@@ -6,15 +6,7 @@ class Pettanr.Views.SpeechBalloon.Element extends Pettanr.View
     @element = options.element\r
     @root = options.root\r
     @spot = options.spot\r
-    @add_element()\r
-  \r
-  add_element: () ->\r
-    @add_balloon()\r
-    @add_speech()\r
-  \r
-  add_balloon: () ->\r
     @balloon = @element.get('balloon')\r
-    @set_style()\r
     klass = @balloon_class()\r
     @balloon_view = new klass({\r
       parent: this, \r
@@ -22,8 +14,6 @@ class Pettanr.Views.SpeechBalloon.Element extends Pettanr.View
       root: @root,\r
       spot: @spot\r
     })\r
-  \r
-  add_speech: () ->\r
     @speech = @element.get('speech')\r
     klass = @speech_class()\r
     @speech_view = new klass({\r
@@ -33,15 +23,11 @@ class Pettanr.Views.SpeechBalloon.Element extends Pettanr.View
       spot: @spot\r
     })\r
   \r
-  clear: () ->\r
-    this\r
-  \r
   render: () ->\r
     this.$el.html('')\r
-    this.$el.append(@balloon_view.clear().el)\r
+    this.$el.append(@balloon_view.render().el)\r
     this.$el.append(@speech_view.render().el)\r
     @set_style()\r
-    @balloon_view.render()\r
     this\r
   \r
   set_style: () ->\r
@@ -70,14 +56,14 @@ class Pettanr.Views.SpeechBalloon.Element.Edit extends Pettanr.Views.SpeechBallo
     @listenTo(@element, 'sort', @set_style)\r
     @listenTo(@element, 'active', @active)\r
     @listenTo(@element, 'inactive', @inactive)\r
-  \r
-  render: () ->\r
-    super()\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
index 6993faf..9c4cfd1 100644 (file)
@@ -7,16 +7,12 @@ class Pettanr.Views.Speech.Element extends Pettanr.View
     @root = options.root\r
     @spot = options.spot\r
     @parent = options.parent\r
-    @listenTo(@parent, 'ready:balloon', @set_style)\r
     c = @inner_class()\r
     @inner = new c({\r
       element: @element,\r
       parent: this\r
     })\r
   \r
-  clear: () ->\r
-    @render()\r
-  \r
   render: () ->\r
     @set_style()\r
     this.$el.html(@inner.render().el)\r
index 57214ee..be0c189 100644 (file)
@@ -160,7 +160,6 @@ class ApplicationController < ActionController::Base
         :list => list.map{|i| i.attributes}
         # :list => @finder.to_json
       }
-      p res
       render json:  res.to_json
     }
   end