OSDN Git Service

fix:
[pettanr/pettanr.git] / app / assets / javascripts / controllers / scrolls.js.coffee
index 0351b22..3dadc42 100644 (file)
@@ -1,65 +1,91 @@
 class Pettanr.ScrollsController extends Pettanr.AppController\r
   \r
   index: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   by_author: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
+    @trigger('done', @params)\r
   \r
   by_panel: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @filer_list()\r
-  \r
-  show_html: () -> \r
-    _this = this\r
-    @item.fetch({cache: true}).done ->\r
-      _this.redraw_title(_this.params, _this.item.get('title'))\r
-      view = new Pettanr.Views.Scroll.Show({\r
-        el: "#pettanr",\r
-        item: _this.item,\r
-        operators: _this.operators\r
-      })\r
-      view.render()\r
+    @trigger('done', @params)\r
   \r
   show: () ->\r
-    @set_show()\r
+    @listenTo(@cache, 'retrieve', @render_show)\r
+    @set_show(@render_show)\r
+  \r
+  render_show: (@item) -> \r
     switch @params['format']\r
       when 'prof'\r
         @show_prof()\r
       when 'html'\r
         @show_html()\r
   \r
+  show_html: () -> \r
+    @trigger('title', @params, @item.get('title'))\r
+    show = new Pettanr.Views.Scroll.Show({\r
+      item: @item,\r
+    })\r
+    show.render()\r
+    @trigger('ready', show)\r
+    @trigger('done', @params)\r
+  \r
   play: () ->\r
-    @set_play()\r
-    _list = @list\r
-    _this = this\r
-    @item.fetch({cache: true}).done ->\r
-      _list.open(() ->\r
-        _this.redraw_title(_this.params, _this.item.get('title'))\r
-        view = new Pettanr.Views.Scroll.Play({\r
-          el: "#pettanr",\r
-          item: _this.item,\r
-          list: _this.list,\r
-          operators: _this.operators\r
-        })\r
-        view.render()\r
-      )\r
-  \r
-  count: () ->\r
+    @set_play(@render_play)\r
+  \r
+  render_play: (@item) ->\r
+    @list.open(() => \r
+      @trigger('title', @params, @item.get('title'))\r
+      show = new Pettanr.Views.Scroll.Play({\r
+        item: @item,\r
+        list: @list,\r
+      })\r
+      show.render()\r
+      @trigger('ready', show)\r
+    )\r
+    @trigger('done', @params)\r
   \r
   new: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @form_new()\r
+    @trigger('done', @params)\r
   \r
   edit: () ->\r
-    @redraw_title(@params)\r
+    @trigger('title', @params)\r
     @form_edit()\r
+    @trigger('done', @params)\r
   \r
   create: () ->\r
+    @form.item.overwrite({})\r
+    @listenTo(@form, 'success', @post_success)\r
+    @listenTo(@form, 'fail', @post_fail)\r
+    @form.save()\r
   \r
   update: () ->\r
+    @form.item.overwrite({})\r
+    @listenTo(@form, 'success', @post_success)\r
+    @listenTo(@form, 'fail', @post_fail)\r
+    @form.save()\r
   \r
   destroy: () ->\r
-    \r
+    @set_show(@render_destroy)\r
+  \r
+  render_destroy: (@item) ->\r
+    @listenTo(@item, 'destroy:success', @destroy_success)\r
+    @listenTo(@item, 'destroy:fail', @destroy_fail)\r
+    @item.destroy()\r
+  \r
+  @is_deny_action_on_picker: (params) ->\r
+    switch params['action']\r
+      when 'new'\r
+        true\r
+      when 'edit'\r
+        true\r
+      else\r
+        false\r
+  \r