X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fcontrollers%2Fpanels.js.coffee;h=2ea987a34a1c38210e2a6f081cb07a4829cbd97b;hb=46c48b27d7ea359151135e0327d820a4891981d9;hp=906723beaae572a1ac9508a073e07e8fc71e856e;hpb=bb97922e3c1f43e4af22fc8a7c8ebd202e64be82;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/controllers/panels.js.coffee b/app/assets/javascripts/controllers/panels.js.coffee index 906723be..2ea987a3 100644 --- a/app/assets/javascripts/controllers/panels.js.coffee +++ b/app/assets/javascripts/controllers/panels.js.coffee @@ -1,52 +1,103 @@ 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() - - show_html: () -> - _this = this - @item = new Pettanr.Panel({id: @item.get('id')}, {with_elements: true}) # retake panel for 'with_elements' mode - @item.fetch({cache: false}).done -> - view = new Pettanr.Views.Panel.Show({ - el: "#pettanr", - panel: _this.item, - operators: _this.operators, - spot: null - }) - view.render() - false + @trigger('done', @params) show: () -> - @set_show() + @set_show(@render_show) + + render_show: () -> switch @params['format'] when 'prof' @show_prof() - else + when 'html' @show_html() + show_html: () -> + @item = @item.with_elements() # retake panel for 'with_elements' mode + @item.fetch({cache: true}).done => + @item.replace_elements() + @trigger('title', @params, @item.get('caption')) + show = new Pettanr.Views.Panel.Show({ + panel: @item, + operators: @operators, + spot: null + }) + show.render() + @trigger('ready', show) + @trigger('done', @params) + count: () -> new: () -> - @form_new() + if @gate and @gate.is_lock() + @trigger('lock', @params) + else + @trigger('title', @params) + @set_new() + @editor(@item.new_url()) + @trigger('done', @params) edit: () -> - @form_edit() + if @gate and @gate.is_lock() + @trigger('lock', @params) + else + @trigger('title', @params) + @set_model() + panel = new Pettanr.Panel({id: @params['id']}) + @item = panel.with_elements() + @item.fetch({cache: false}).done => + @item.replace_elements() + @editor(@item.edit_url()) + @trigger('done', @params) + + editor: () -> + editor = new Editor.PanelEditor({root_item: @item, operators: @operators}) + editor.render() + @trigger('lock', @params, editor) + @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(@render_destroy) + + render_destroy: () -> + @listenTo(@item, 'destroy:success', @destroy_success) + @listenTo(@item, 'destroy:fail', @destroy_fail) + @item.destroy() +