OSDN Git Service

add: success inspire
[pettanr/pettanr.git] / app / assets / javascripts / controllers / folders.js.coffee
index aa49de5..a47d6dc 100644 (file)
@@ -7,37 +7,24 @@ class Pettanr.FoldersController extends Pettanr.AppController
   \r
   root: () ->\r
     @set_model()\r
-    @empty_item = new Pettanr.Folder.Root()\r
-    @item = Pettanr.cache.restore(@empty_item)\r
-    if @item\r
-      # got cached item\r
-        @children_html()\r
-    else\r
-      # built empty item\r
-      @item = @empty_item\r
-      Pettanr.cache.store(@item)\r
-      @item.fetch({}).done =>\r
-        @children_html()\r
+    retriever = new Pettanr.Cache.Retriever(Pettanr.Folder.Root)\r
+    @listenTo(retriever, 'retrieve', @retrieve_root)\r
+    retriever.retrieve(true)\r
+  \r
+  retrieve_root: (item) -> \r
+    @item = item\r
+    @children_html()\r
   \r
   show_html_format: (format) -> \r
   \r
-  # override app controller's set_show\r
-  set_show: (render_func) ->\r
+  show: () ->\r
     @set_model()\r
-    @empty_item = new Pettanr.FolderWatch({id: @params['id']})\r
-    @item = Pettanr.cache.restore(@empty_item)\r
-    if @item\r
-      # got cached item\r
-      render_func.call(this)\r
-    else\r
-      # built empty item\r
-      @item = @empty_item\r
-      Pettanr.cache.store(@item)\r
-      @item.fetch().done =>\r
-        render_func.call(this)\r
+    retriever = new Pettanr.Cache.Retriever(Pettanr.FolderWatch, @params['id'])\r
+    @listenTo(retriever, 'retrieve', @retrieve_show)\r
+    retriever.retrieve(true)\r
   \r
-  show: () ->\r
-    @set_show(@render_show)\r
+  retrieve_show: (@item) -> \r
+    @render_show()\r
   \r
   render_show: () -> \r
     switch @params['format']\r
@@ -48,11 +35,7 @@ class Pettanr.FoldersController extends Pettanr.AppController
   \r
   show_html: () -> \r
     if @item.is_remote()\r
-      proxy = new Pettanr.Proxy({operators: @operators})\r
-      @listenTo(proxy, 'ready', @refresh)\r
-      @listenTo(proxy, 'title', @title)\r
-      @listenTo(proxy, 'done', @done)\r
-      proxy.http_get(@item.remote_url())\r
+      @trigger('other', @item.remote_url())\r
     else\r
       @children_html()\r
   \r
@@ -64,7 +47,6 @@ class Pettanr.FoldersController extends Pettanr.AppController
         item_name: 'folder', \r
         items: collection.models, \r
         pager: null, \r
-        operators: @operators\r
       })\r
       filer.render()\r
       @trigger('ready', filer)\r
@@ -92,3 +74,15 @@ class Pettanr.FoldersController extends Pettanr.AppController
   done: (params) ->\r
     @trigger('done', params)\r
   \r
+  deny: (params, form, safe_url) ->\r
+    @trigger('deny', params, form, safe_url)\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