X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fcontrollers.js.coffee;h=79794b4e1c2cde938a53d15c437fbbe11c04a7fb;hp=08f3925d6c60da4ac170aa358658096430e9112f;hb=d7c8065be895b67dc453b0e11ad0f259f1ca6706;hpb=689d83c6bf755e7fa4912b48773ef6cfb0f64b13 diff --git a/app/assets/javascripts/controllers.js.coffee b/app/assets/javascripts/controllers.js.coffee index 08f3925d..79794b4e 100644 --- a/app/assets/javascripts/controllers.js.coffee +++ b/app/assets/javascripts/controllers.js.coffee @@ -18,42 +18,31 @@ class Pettanr.AppController set_list: () -> @set_model() - @my_list_model = Manifest.manifest().models[@my_action.item_name] - @my_list_model_class = @my_list_model.classify() - @list = Locmare.ListGroup.list( - @my_action.path_name(), @my_action.name, @params - ) + @list = @my_action.find(@params) set_show: (render_func) -> @set_model() - retriever = new Pettanr.Cache.Retriever(@my_model_class, @params['id']) - @listenTo(retriever, 'retrieve', render_func) - retriever.retrieve() + @my_model_class.retrieve(@params['id'], this, { + success: render_func + fail: (response, options) => + @trigger('fail', response, options) + }) filer_list: () -> @set_list() - @list.open(() => - pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, @params) - filer = new Locmare.Filer({ - item_name: @list.item_name, - items: @list.items(), - pager: pager - }) - @listenTo(filer, 'navigate', @navigate) - filer.render() - @trigger('ready', filer) - ) + @list.to_filer(this, { + success: (filer) => + @listenTo(filer, 'navigate', @navigate) + filer.render() + @trigger('ready', filer) + fail: (response, options) => + @trigger('fail', response, options) + }) false set_play: (render_func) -> @set_list() - @binder_action = @my_action.original - @binder_controller = @binder_action.controller() - @binder_model = Manifest.manifest().models[@binder_action.item_name] - @binder_model_class = @binder_model.classify() - retriever = new Pettanr.Cache.Retriever(@binder_model_class, @params['id']) - @listenTo(retriever, 'retrieve', render_func) - retriever.retrieve() + @my_model_class.retrieve(@params['id'], this, {success: render_func}) show_prof: () -> @item.boosts 'post' @@ -77,6 +66,9 @@ class Pettanr.AppController @set_model() retriever = new Pettanr.Cache.Retriever(@my_model_class, @params['id']) @listenTo(retriever, 'retrieve', @render_edit) + @listenTo(retriever, 'fail', (response, opt) => + @trigger('fail', response, opt) + ) retriever.edit(options) render_edit: (@item) -> @@ -111,7 +103,7 @@ class Pettanr.AppController @trigger('fail', response) destroy_success: (model, response) -> - @trigger('redirect', '/home/' + model.path_name()) + @trigger('redirect', 'home/' + model.path_name()) @trigger('success', model, response) destroy_fail: (model, response) ->