OSDN Git Service

fix form save & done event
[pettanr/pettanr.git] / app / assets / javascripts / controllers / panels.js.coffee
index ffea984..6d8819d 100644 (file)
@@ -3,22 +3,27 @@ class Pettanr.PanelsController extends Pettanr.AppController
   index: () ->\r
     @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   by_author: () ->\r
     @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   by_scroll: () ->\r
     @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   by_sheet: () ->\r
     @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   by_speech_balloon_template: () ->\r
     @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   show_html: () ->\r
     @item = new Pettanr.Panel.WithElements({id: @item.get('id')}) # retake panel for 'with_elements' mode\r
@@ -31,6 +36,7 @@ class Pettanr.PanelsController extends Pettanr.AppController
       })\r
       show.render()\r
       @trigger('ready', show)\r
+      @trigger('done', @params)\r
       false\r
   \r
   show: () ->\r
@@ -46,7 +52,9 @@ class Pettanr.PanelsController extends Pettanr.AppController
   new: () ->\r
     @trigger('title', @params)\r
     @set_new()\r
+    Pettanr.History.lock_url = @item.new_url()\r
     @editor()\r
+    @trigger('done', @params)\r
   \r
   edit: () ->\r
     @trigger('title', @params)\r
@@ -54,20 +62,25 @@ class Pettanr.PanelsController extends Pettanr.AppController
     panel = new Pettanr.Panel({id: @params['id']})\r
     @item = panel.with_elements()\r
     @item.fetch({cache: false}).done =>\r
-      editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
-      #editor.render()\r
-      @trigger('ready', editor)\r
+      Pettanr.History.lock_url = @item.edit_url()\r
+      @editor()\r
+      @trigger('done', @params)\r
   \r
   editor: () ->\r
+    editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
+    editor.render()\r
+    @trigger('ready', editor)\r
   \r
   create: () ->\r
-    @form.item.overwrite({operators: @operators})\r
+    # @form is editor\r
+    @form.panel.overwrite({operators: @operators})\r
     @listenTo(@form, 'success', @post_success)\r
     @listenTo(@form, 'fail', @post_fail)\r
     @form.save()\r
   \r
   update: () ->\r
-    @form.item.overwrite({operators: @operators})\r
+    # @form is editor\r
+    @form.panel.overwrite({operators: @operators})\r
     @listenTo(@form, 'success', @post_success)\r
     @listenTo(@form, 'fail', @post_fail)\r
     @form.save()\r