OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / controllers / panels.js.coffee
index 9bca9e5..685bf07 100644 (file)
@@ -1,5 +1,121 @@
 class Pettanr.PanelsController extends Pettanr.AppController\r
   \r
   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: () ->\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
+    @item = @item.play() # retake panel for 'with_elements' mode\r
+    @item.fetch({\r
+      cache: false\r
+      success: (@parent_item, response, opt) =>\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
+        })\r
+        show.render()\r
+        @trigger('ready', show)\r
+        @trigger('done', @params)\r
+      error: (item, response, opt) =>\r
+        @trigger('fail', response, opt)\r
+    })\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+    @trigger('title', @params)\r
+    @set_new()\r
+    @item = @item.edit({\r
+      context: this, \r
+      success: (@item) ->\r
+        @item.boosts 'post'\r
+        @render_form()\r
+      fail: (response, opt) ->\r
+        @trigger('fail', response, opt)\r
+    })\r
+    @trigger('done', @params)\r
+  \r
+  edit: () ->\r
+    @trigger('title', @params)\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
+      fail: (response, opt) ->\r
+        @trigger('fail', response, opt)\r
+    })\r
+  \r
+  render_form: () ->\r
+    @form = new Editor.PanelEditor({root_item: @item})\r
+    @form.render()\r
+    @trigger('lock', @params, @form)\r
+    @trigger('ready', @form)\r
+  \r
+  create: () ->\r
+    # @form is editor\r
+    @form.panel.overwrite({})\r
+    @listenTo(@form, 'success', @post_success)\r
+    @listenTo(@form, 'fail', @post_fail)\r
+    @form.save()\r
+  \r
+  update: () ->\r
+    # @form is editor\r
+    @form.panel.overwrite({})\r
+    @listenTo(@form, 'success', @post_success)\r
+    @listenTo(@form, 'fail', @post_fail)\r
+    @form.save()\r
+  \r
+  destroy: () ->\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