1 class Editor.PanelEditor extends Pettanr.View
\r
3 className: 'panel-editor'
\r
5 initialize: (options) ->
\r
6 @panel = options.root_item
\r
9 @body = new Pettanr.Views.Panel.Body.Edit({
\r
10 panel: @root_item(),
\r
13 @dock = new Editor.PanelEditor.Dock({parent: this})
\r
14 @credits = new Pettanr.Views.Panel.ShowModule.Credits({pictures: {}})
\r
16 @body.on('panel:resize', @panel_resize)
\r
17 @listenTo(@dock, 'http_post', @http_post)
\r
18 @listenTo(@dock, 'save:success', @post_success)
\r
19 @listenTo(@dock, 'save:fail', @post_fail)
\r
20 @listenTo(@dock, 'add:element', @add_element)
\r
21 @listenTo(@dock, 'add:credit', @add_credit)
\r
22 @listenTo(@dock, 'destroy', @destroy)
\r
23 @listenTo(@dock, 'dialog:open', @open_dialog)
\r
24 @listenTo(@dock, 'dialog:close', @close_dialog)
\r
26 add_element: (element) ->
\r
27 @body.add_element(element)
\r
29 add_credit: (element) ->
\r
30 @credits.add_picture(element.picture())
\r
32 open_dialog: (dialog) ->
\r
33 @dialogs[dialog.cid] = dialog
\r
35 close_dialog: (dialog) ->
\r
36 delete @dialogs[dialog.cid]
\r
39 destroy: (element, index) ->
\r
40 @remove_element(element)
\r
42 remove_element: (element) ->
\r
43 @body.remove_element(element)
\r
47 this.$el.append(@body.render().el)
\r
48 this.$el.append(@dock.render().el)
\r
49 this.$el.append(@credits.render().el)
\r
57 w = parseInt(my.width())
\r
58 h = parseInt(my.height())
\r
59 #$(trace + 'width').val(w)
\r
60 #$(trace + 'height').val(h)
\r
64 _.each @dialogs, (dialog) =>
\r
65 @close_dialog(dialog)
\r
67 http_post: (url, dock) ->
\r
68 @trigger('http_post', url, this) # send editor
\r
74 post_success: (model, response) ->
\r
75 @trigger('success', model, response)
\r
77 post_fail: (model, response) ->
\r
78 @trigger('fail', response)
\r
84 'editor-' + Pettanr.to_s(@root_item().get('id'))
\r