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: (@item) -> switch @params['format'] when 'prof' @show_prof() when 'html' @show_html() show_html: () -> @item = @item.play() # retake panel for 'with_elements' mode @item.fetch({ cache: false success: (@parent_item, response, opt) => @item.attributes = @item.decoded_attributes() @trigger('title', @params, @item.get('caption')) show = new Pettanr.Views.Panel.Show(@item, { spot: null }) show.render() @trigger('ready', show) @trigger('done', @params) error: (item, response, opt) => @trigger('fail', response, opt) }) count: () -> new: () -> @trigger('title', @params) @set_new() @item = @item.edit({ context: this, success: (@item) -> @item.boosts 'post' @render_form() fail: (response, opt) -> @trigger('fail', response, opt) }) @trigger('done', @params) edit: () -> @trigger('title', @params) @set_edit() @trigger('done', @params) render_edit: (item) -> item.edit({ context: this, success: (@item) -> @item.boosts 'post' @render_form() fail: (response, opt) -> @trigger('fail', response, opt) }) render_form: () -> @form = new Editor.PanelEditor({root_item: @item}) @form.render() @trigger('lock', @params, @form) @trigger('ready', @form) create: () -> # @form is editor @form.panel.overwrite({}) @listenTo(@form, 'success', @post_success) @listenTo(@form, 'fail', @post_fail) @form.save() update: () -> # @form is editor @form.panel.overwrite({}) @listenTo(@form, 'success', @post_success) @listenTo(@form, 'fail', @post_fail) @form.save() destroy: () -> @set_show(@render_destroy) render_destroy: (@item) -> @listenTo(@item, 'destroy:success', @destroy_success) @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() @is_deny_action_on_picker: (params) -> switch params['action'] when 'new' true when 'edit' true else false