X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fcontrollers%2Fpanels.js.coffee;h=6d8819dc2b91c6a1b087c1e11236166f215b19b0;hb=6d09b21c6587732677ca4369b2ceede4e5eeb9fa;hp=a645252e5556c0d8a7abdc61971377c9aa328ee1;hpb=b922609711ac4713a21d2e64cac393765c0917e9;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/controllers/panels.js.coffee b/app/assets/javascripts/controllers/panels.js.coffee index a645252e..6d8819dc 100644 --- a/app/assets/javascripts/controllers/panels.js.coffee +++ b/app/assets/javascripts/controllers/panels.js.coffee @@ -1,32 +1,42 @@ class Pettanr.PanelsController extends Pettanr.AppController index: () -> + @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> + @trigger('title', @params) @filer_list() + @trigger('done', @params) by_scroll: () -> + @trigger('title', @params) @filer_list() + @trigger('done', @params) by_sheet: () -> + @trigger('title', @params) @filer_list() + @trigger('done', @params) by_speech_balloon_template: () -> + @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> - _this = this - @item = new Pettanr.Panel({id: @item.get('id')}, {with_elements: true}) # retake panel for 'with_elements' mode - @item.fetch().done -> - i = new Pettanr.RelationPanel(_this.item.attributes) - view = new Pettanr.Views.Panel.Body({ - el: "#pettanr", - panel: _this.item, - operators: _this.operators, + @item = new Pettanr.Panel.WithElements({id: @item.get('id')}) # retake panel for 'with_elements' mode + @item.fetch({cache: false}).done => + @trigger('title', @params, @item.get('caption')) + show = new Pettanr.Views.Panel.Show({ + panel: @item, + operators: @operators, spot: null }) - view.render() + show.render() + @trigger('ready', show) + @trigger('done', @params) false show: () -> @@ -40,14 +50,45 @@ class Pettanr.PanelsController extends Pettanr.AppController count: () -> new: () -> - @form_new() + @trigger('title', @params) + @set_new() + Pettanr.History.lock_url = @item.new_url() + @editor() + @trigger('done', @params) edit: () -> - @form_edit() + @trigger('title', @params) + @set_model() + panel = new Pettanr.Panel({id: @params['id']}) + @item = panel.with_elements() + @item.fetch({cache: false}).done => + Pettanr.History.lock_url = @item.edit_url() + @editor() + @trigger('done', @params) + + editor: () -> + editor = new Editor.PanelEditor({root_item: @item, operators: @operators}) + editor.render() + @trigger('ready', editor) create: () -> + # @form is editor + @form.panel.overwrite({operators: @operators}) + @listenTo(@form, 'success', @post_success) + @listenTo(@form, 'fail', @post_fail) + @form.save() update: () -> + # @form is editor + @form.panel.overwrite({operators: @operators}) + @listenTo(@form, 'success', @post_success) + @listenTo(@form, 'fail', @post_fail) + @form.save() destroy: () -> - + @set_show() + @item.fetch({cache: true}).done => + @listenTo(@item, 'destroy:success', @destroy_success) + @listenTo(@item, 'destroy:fail', @destroy_fail) + @item.destroy() +