OSDN Git Service

fix event names
[pettanr/pettanr.git] / app / assets / javascripts / controllers / panels.js.coffee
index 66c174f..ffea984 100644 (file)
@@ -1,36 +1,36 @@
 class Pettanr.PanelsController extends Pettanr.AppController\r
   \r
   index: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
   \r
   by_author: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
   \r
   by_scroll: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
   \r
   by_sheet: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
   \r
   by_speech_balloon_template: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
   \r
   show_html: () ->\r
-    @item = new Pettanr.Panel({id: @item.get('id')}, {with_elements: true}) # retake panel for 'with_elements' mode\r
+    @item = new Pettanr.Panel.WithElements({id: @item.get('id')}) # retake panel for 'with_elements' mode\r
     @item.fetch({cache: false}).done =>\r
-      @redraw_title(@params, @item.get('caption'))\r
-      view = new Pettanr.Views.Panel.Show({\r
-        el: "#pettanr",\r
+      @trigger('title', @params, @item.get('caption'))\r
+      show = new Pettanr.Views.Panel.Show({\r
         panel: @item,\r
         operators: @operators,\r
         spot: null\r
       })\r
-      view.render()\r
+      show.render()\r
+      @trigger('ready', show)\r
       false\r
   \r
   show: () ->\r
@@ -44,37 +44,38 @@ class Pettanr.PanelsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @set_new()\r
     @editor()\r
   \r
   edit: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @set_model()\r
-    @item = new Pettanr.Panel({id: @params['id']}, {with_elements: true})\r
+    panel = new Pettanr.Panel({id: @params['id']})\r
+    @item = panel.with_elements()\r
     @item.fetch({cache: false}).done =>\r
-      @q = {}\r
-      _.each @item.my_class().child_models(), (element_model) =>\r
-        name = @item.my_class().my_manifest().associations.child_element_name(element_model)\r
-        if e = @item.get(name)\r
-          elm = new element_model(e)\r
-          @q[name + elm.dom_id()] = elm\r
-      @qf( )\r
-  \r
-  qf: ( ) ->\r
-    _.each @q, (e, name) =>\r
-      e.fetch({cache: true}).done =>\r
-        delete @q[name]\r
-        if _.isEmpty(@q)\r
-          @editor()\r
+      editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
+      #editor.render()\r
+      @trigger('ready', editor)\r
   \r
   editor: () ->\r
-    editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
-    $("#pettanr").html(editor.render().el)\r
   \r
   create: () ->\r
+    @form.item.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
+    @listenTo(@form, 'success', @post_success)\r
+    @listenTo(@form, 'fail', @post_fail)\r
+    @form.save()\r
   \r
   destroy: () ->\r
-    \r
+    @set_show()\r
+    @item.fetch({cache: true}).done =>\r
+      @listenTo(@item, 'destroy:success', @destroy_success)\r
+      @listenTo(@item, 'destroy:fail', @destroy_fail)\r
+      @item.destroy()\r
+  \r