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