OSDN Git Service

change: cache system
[pettanr/pettanr.git] / app / assets / javascripts / controllers / folders.js.coffee
1 class Pettanr.FoldersController extends Pettanr.AppController\r
2   \r
3   index: () ->\r
4     @trigger('title', @params)\r
5     @filer_list()\r
6     @trigger('done', @params)\r
7   \r
8   root: () ->\r
9     @set_model()\r
10     retriever = new Pettanr.Cache.Retriever(Pettanr.Folder.Root)\r
11     @listenTo(retriever, 'retrieve', @retrieve_root)\r
12     retriever.retrieve(true)\r
13   \r
14   retrieve_root: (item) -> \r
15     @item = item\r
16     @children_html()\r
17   \r
18   show_html_format: (format) -> \r
19   \r
20   show: () ->\r
21     @set_model()\r
22     retriever = new Pettanr.Cache.Retriever(Pettanr.FolderWatch, @params['id'])\r
23     @listenTo(retriever, 'retrieve', @retrieve_show)\r
24     retriever.retrieve(true)\r
25   \r
26   retrieve_show: (@item) -> \r
27     @render_show()\r
28   \r
29   render_show: () -> \r
30     switch @params['format']\r
31       when 'prof'\r
32         @show_prof()\r
33       when 'html'\r
34         @show_html()\r
35   \r
36   show_html: () -> \r
37     if @item.is_remote()\r
38       @trigger('other', @item.remote_url())\r
39     else\r
40       @children_html()\r
41   \r
42   children_html: () -> \r
43     @trigger('title', @params, @item.get('name'))\r
44     collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
45     collection.fetch({cache: true}).done =>\r
46       filer = new Locmare.Filer({\r
47         item_name: 'folder', \r
48         items: collection.models, \r
49         pager: null, \r
50         operators: @operators\r
51       })\r
52       filer.render()\r
53       @trigger('ready', filer)\r
54       @trigger('done', @params)\r
55   \r
56   count: () ->\r
57   \r
58   new: () ->\r
59     @trigger('title', @params)\r
60     @form_new()\r
61     @trigger('done', @params)\r
62   \r
63   edit: () ->\r
64     @trigger('title', @params)\r
65     @form_edit()\r
66     @trigger('done', @params)\r
67   \r
68   # for remote folder\r
69   refresh: (view) ->\r
70     @trigger('ready', view)\r
71   \r
72   title: (params, str) ->\r
73     @trigger('title', params, str)\r
74   \r
75   done: (params) ->\r
76     @trigger('done', params)\r
77   \r
78   deny: (params, form, safe_url) ->\r
79     @trigger('deny', params, form, safe_url)\r
80   \r
81   @is_deny_action_on_picker: (params) ->\r
82     switch params['action']\r
83       when 'new'\r
84         true\r
85       when 'edit'\r
86         true\r
87       else\r
88         false\r
89   \r