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: () -> @set_show(@render_show) render_show: () -> switch @params['format'] when 'prof' @show_prof() when 'html' @show_html() show_html: () -> @item = @item.with_elements() # retake panel for 'with_elements' mode @item.fetch({cache: true}).done => @item.attributes = @item.replaced_attributes() @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: () -> if @gate and @gate.is_lock() @trigger('lock', @params) else @trigger('title', @params) @set_new() @editor(@item.new_url()) @trigger('done', @params) 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.attributes = @item.replaced_attributes() @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()