OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[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('retitle', @params)\r
5     @filer_list()\r
6   \r
7   root: () ->\r
8     @trigger('retitle', @params)\r
9     @set_model()\r
10     @item = new Pettanr.Folder.Root()\r
11     @item.fetch({cache: true}).done =>\r
12       @children_html()\r
13   \r
14   show_html_format: (format) -> \r
15   \r
16   children_html: () -> \r
17     @trigger('retitle', @params, @item.get('name'))\r
18     collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
19     collection.fetch({cache: true}).done =>\r
20       filer = new Locmare.Filer({\r
21         item_name: 'folder', \r
22         items: collection.models, \r
23         pager: null, \r
24         operators: @operators\r
25       })\r
26       @listenTo(filer, 'navigate', @navigate)\r
27       @trigger('ready', filer)\r
28   \r
29   show: () ->\r
30     if @params['format'] == 'prof'\r
31       @set_show()\r
32       @item = new Pettanr.FolderWatch({id: @params['id']})  # replace refference item\r
33       @show_prof()\r
34     else\r
35       @item = new Pettanr.FolderWatch({id: @params['id']})\r
36       @item.fetch({cache: true}).done () =>\r
37         if @item.is_remote()\r
38           # redirect to remote item list\r
39           params = {}\r
40           params['controller'] = @item.get('controller_name')\r
41           params['action'] = if Pettanr.is_blank(@item.get('action_name'))\r
42             'index'\r
43           else\r
44             @item.get('action_name')\r
45           # self fire\r
46           c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
47           controller = new c(@operators)\r
48           controller.params = params\r
49           @listenTo(controller, 'ready', @refresh)\r
50           @listenTo(controller, 'retitle', @retitle)\r
51           controller[params['action']]()\r
52         else\r
53           @children_html()\r
54   \r
55   refresh: (view) ->\r
56     @trigger('ready', view)\r
57   \r
58   retitle: (params, str = null) ->\r
59     @trigger('retitle', @params, str = null)\r
60   \r
61   count: () ->\r
62   \r
63   new: () ->\r
64     @trigger('retitle', @params)\r
65     @form_new()\r
66   \r
67   edit: () ->\r
68     @trigger('retitle', @params)\r
69     @form_edit()\r
70   \r