1 class Editor.PanelEditor extends Backbone.View
\r
3 className: 'panel-editor'
\r
5 initialize: (options) ->
\r
6 @panel = options.root_item
\r
7 @operators = options.operators
\r
8 @body = new Pettanr.Views.Panel.Body.Edit({
\r
10 operators: @operators,
\r
13 @dock = new Editor.PanelEditor.Dock({parent: this})
\r
14 @credits = new Pettanr.Views.Panel.Show.Credits({pictures: {}})
\r
15 _.each @panel.zorderd_elements(), (element) =>
\r
16 element.fetch({cache: true}).done =>
\r
17 @add_element(element)
\r
18 #@dock.add_new_tab()
\r
19 @body.on('panel:resize', @panel_resize)
\r
21 add_element: (element) ->
\r
22 console.log(element)
\r
23 panel_element_view = @body.add_element(element)
\r
24 element_form = @dock.add_element(element)
\r
25 @dig(element, panel_element_view, element_form)
\r
26 if element.constructor.has_picture()
\r
27 @credits.add_picture(element.picture())
\r
29 dig: (element, panel_element_view, element_form) ->
\r
30 console.log(element.elements_items())
\r
31 _.each element.elements_items(), (child_element) =>
\r
32 console.log(child_element)
\r
33 child_element.fetch({cache: true}).done =>
\r
34 child_panel_element_view = panel_element_view.add_element(child_element)
\r
35 child_element_form = element_form.add_element(child_element)
\r
36 @dig(child_element, child_panel_element_view, child_element_form)
\r
38 remove_element: (element) ->
\r
43 this.$el.append(@body.render().el)
\r
44 this.$el.append(@dock.render().el)
\r
45 this.$el.append(@credits.render().el)
\r
46 rb = new Tag.RowBreak()
\r
47 this.$el.append(rb.render().el)
\r
53 w = parseInt(my.width())
\r
54 h = parseInt(my.height())
\r
55 #$(trace + 'width').val(w)
\r
56 #$(trace + 'height').val(h)
\r
62 'editor-' + Pettanr.to_s(@root_item().get('id'))
\r