class Pettanr.FoldersController extends Pettanr.AppController\r
\r
index: () ->\r
+ @trigger('retitle', @params)\r
@filer_list()\r
\r
root: () ->\r
+ @trigger('retitle', @params)\r
@set_model()\r
@item = new Pettanr.Folder.Root()\r
- _this = this\r
- @item.fetch({}).done () ->\r
- _this.children_html()\r
+ @item.fetch({cache: true}).done =>\r
+ @children_html()\r
\r
show_html_format: (format) -> \r
\r
children_html: () -> \r
+ @trigger('retitle', @params, @item.get('name'))\r
collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
- f = new Locmare.Filer({\r
- item_name: 'folder', \r
- collection: collection, \r
- pager: null, \r
- operators: window.operators\r
- })\r
- $("#pettanr").html(f.render().el)\r
+ collection.fetch({cache: true}).done =>\r
+ filer = new Locmare.Filer({\r
+ item_name: 'folder', \r
+ items: collection.models, \r
+ pager: null, \r
+ operators: @operators\r
+ })\r
+ @listenTo(filer, 'navigate', @navigate)\r
+ @trigger('ready', filer)\r
\r
show: () ->\r
- console.log(@params)\r
- id = @params['id']\r
if @params['format'] == 'prof'\r
@set_show()\r
+ @item = new Pettanr.FolderWatch({id: @params['id']}) # replace refference item\r
@show_prof()\r
else\r
- @item = new Pettanr.FolderWatch({id: id})\r
- _this = this\r
- @item.fetch({}).done () ->\r
- if _this.item.is_remote()\r
- c = _this.item.get('controller_name')\r
- a = if Pettanr.is_blank(_this.item.get('action_name'))\r
+ @item = new Pettanr.FolderWatch({id: @params['id']})\r
+ @item.fetch({cache: true}).done () =>\r
+ if @item.is_remote()\r
+ # redirect to remote item list\r
+ params = {}\r
+ params['controller'] = @item.get('controller_name')\r
+ params['action'] = if Pettanr.is_blank(@item.get('action_name'))\r
'index'\r
else\r
- _this.item.get('action_name')\r
- window.router['c_i'](c, a, '') # call action event in router for redirect\r
+ @item.get('action_name')\r
+ # self fire\r
+ c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
+ controller = new c(@operators)\r
+ controller.params = params\r
+ @listenTo(controller, 'ready', @refresh)\r
+ @listenTo(controller, 'retitle', @retitle)\r
+ controller[params['action']]()\r
else\r
- _this.children_html()\r
+ @children_html()\r
+ \r
+ refresh: (view) ->\r
+ @trigger('ready', view)\r
+ \r
+ retitle: (params, str = null) ->\r
+ @trigger('retitle', @params, str = null)\r
\r
count: () ->\r
\r
new: () ->\r
+ @trigger('retitle', @params)\r
@form_new()\r
\r
edit: () ->\r
+ @trigger('retitle', @params)\r
@form_edit()\r
\r