class Pettanr.PanelsController extends Pettanr.AppController\r
\r
index: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@filer_list()\r
\r
by_author: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@filer_list()\r
\r
by_scroll: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@filer_list()\r
\r
by_sheet: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@filer_list()\r
\r
by_speech_balloon_template: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@filer_list()\r
\r
show_html: () ->\r
- @item = new Pettanr.Panel({id: @item.get('id')}, {with_elements: true}) # retake panel for 'with_elements' mode\r
+ @item = new Pettanr.Panel.WithElements({id: @item.get('id')}) # retake panel for 'with_elements' mode\r
@item.fetch({cache: false}).done =>\r
- @redraw_title(@params, @item.get('caption'))\r
- view = new Pettanr.Views.Panel.Show({\r
- el: "#pettanr",\r
+ @trigger('title', @params, @item.get('caption'))\r
+ show = new Pettanr.Views.Panel.Show({\r
panel: @item,\r
operators: @operators,\r
spot: null\r
})\r
- view.render()\r
+ show.render()\r
+ @trigger('ready', show)\r
false\r
\r
show: () ->\r
count: () ->\r
\r
new: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@set_new()\r
@editor()\r
\r
edit: () ->\r
- @redraw_title(@params)\r
+ @trigger('title', @params)\r
@set_model()\r
- @item = new Pettanr.Panel({id: @params['id']}, {with_elements: true})\r
+ panel = new Pettanr.Panel({id: @params['id']})\r
+ @item = panel.with_elements()\r
@item.fetch({cache: false}).done =>\r
- @q = {}\r
- _.each @item.my_class().child_models(), (element_model) =>\r
- name = @item.my_class().my_manifest().associations.child_element_name(element_model)\r
- if e = @item.get(name)\r
- elm = new element_model(e)\r
- @q[name + elm.dom_id()] = elm\r
- @qf( )\r
- \r
- qf: ( ) ->\r
- _.each @q, (e, name) =>\r
- e.fetch({cache: true}).done =>\r
- delete @q[name]\r
- if _.isEmpty(@q)\r
- @editor()\r
+ editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
+ #editor.render()\r
+ @trigger('ready', editor)\r
\r
editor: () ->\r
- editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
- $("#pettanr").html(editor.render().el)\r
\r
create: () ->\r
+ @form.item.overwrite({operators: @operators})\r
+ @listenTo(@form, 'success', @post_success)\r
+ @listenTo(@form, 'fail', @post_fail)\r
+ @form.save()\r
\r
update: () ->\r
+ @form.item.overwrite({operators: @operators})\r
+ @listenTo(@form, 'success', @post_success)\r
+ @listenTo(@form, 'fail', @post_fail)\r
+ @form.save()\r
\r
destroy: () ->\r
- \r
+ @set_show()\r
+ @item.fetch({cache: true}).done =>\r
+ @listenTo(@item, 'destroy:success', @destroy_success)\r
+ @listenTo(@item, 'destroy:fail', @destroy_fail)\r
+ @item.destroy()\r
+ \r