class Pettanr.FoldersController extends Pettanr.AppController\r
\r
index: () ->\r
+ @trigger('title', @params)\r
@filer_list()\r
+ @trigger('done', @params)\r
\r
root: () ->\r
+ @set_model()\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
show: () ->\r
- console.log(@params)\r
- id = @params['id']\r
- item = new Pettanr.FolderWatch({id: id})\r
- _this = this\r
- item.fetch({}).done () ->\r
- if item.is_remote()\r
- c = item.get('controller_name')\r
- a = if Pettanr.is_blank(item.get('action_name'))\r
- 'index'\r
- else\r
- item.get('action_name')\r
- window.router['c_i'](c, a, '') # call action event in router for redirect\r
- else\r
- list_result = new Pettanr.Folder.Children({id: item.id})\r
- f = new Locmare.Filer({\r
- item_name: 'folder', \r
- items: [], \r
- list_result: list_result, \r
- pager_type: 'default', \r
- operators: window.operators\r
- })\r
- $("#pettanr").html(f.render().el)\r
+ @set_model()\r
+ retriever = new Pettanr.Cache.Retriever(Pettanr.FolderWatch, @params['id'])\r
+ @listenTo(retriever, 'retrieve', @retrieve_show)\r
+ retriever.retrieve(true)\r
+ \r
+ retrieve_show: (@item) -> \r
+ @render_show()\r
+ \r
+ render_show: () -> \r
+ switch @params['format']\r
+ when 'prof'\r
+ @show_prof()\r
+ when 'html'\r
+ @show_html()\r
+ \r
+ show_html: () -> \r
+ if @item.is_remote()\r
+ @trigger('other', @item.remote_url())\r
+ else\r
+ @children_html()\r
+ \r
+ children_html: () -> \r
+ @trigger('title', @params, @item.get('name'))\r
+ collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
+ collection.fetch({cache: true}).done =>\r
+ filer = new Locmare.Filer({\r
+ item_name: 'folder', \r
+ items: collection.models, \r
+ pager: null, \r
+ })\r
+ filer.render()\r
+ @trigger('ready', filer)\r
+ @trigger('done', @params)\r
\r
count: () ->\r
\r
new: () ->\r
+ @trigger('title', @params)\r
+ @form_new()\r
+ @trigger('done', @params)\r
\r
edit: () ->\r
+ @trigger('title', @params)\r
+ @form_edit()\r
+ @trigger('done', @params)\r
+ \r
+ # for remote folder\r
+ refresh: (view) ->\r
+ @trigger('ready', view)\r
+ \r
+ title: (params, str) ->\r
+ @trigger('title', params, str)\r
+ \r
+ 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