OSDN Git Service

fix editor
[pettanr/pettanr.git] / app / assets / javascripts / editor / panel_editor.js.coffee
1 class Editor.PanelEditor extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'panel-editor'\r
4   \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
9       panel: @root_item(),\r
10       operators: @operators,\r
11       spot: null\r
12     })\r
13     @dock = new Editor.PanelEditor.Dock({parent: this})\r
14     @credits = new Pettanr.Views.Panel.Show.Credits({panel: @root_item()})\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
20   \r
21   add_element: (element) ->\r
22     console.log(element)\r
23     panel_element_view = @body.add_element(element)\r
24     dock_element_view = @dock.add_element(element)\r
25     @dig(element, panel_element_view, dock_element_view)\r
26     #@credits.add_element(element)\r
27   \r
28   dig: (element, panel_element_view, dock_element_view) ->\r
29     console.log(element.elements_items())\r
30     _.each element.elements_items(), (child_element) =>\r
31       console.log(child_element)\r
32       child_element.fetch({cache: true}).done =>\r
33         child_panel_element_view = panel_element_view.add_element(child_element)\r
34         dock_element_view.add_element(child_element)\r
35         @dig(child_element, child_panel_element_view, dock_element_view)\r
36   \r
37   remove_element: (element) ->\r
38     \r
39   \r
40   render: () ->\r
41     this.$el.html('')\r
42     this.$el.append(@body.render().el)\r
43     this.$el.append(@dock.render().el)\r
44     this.$el.append(@credits.render().el)\r
45     rb = new Tag.RowBreak()\r
46     this.$el.append(rb.render().el)\r
47     this.$el.tabs()\r
48     this\r
49   \r
50   panel_resize: () ->\r
51     my = @body.$el\r
52     w = parseInt(my.width())\r
53     h = parseInt(my.height())\r
54     #$(trace + 'width').val(w)\r
55     #$(trace + 'height').val(h)\r
56   \r
57   root_item: () ->\r
58     @panel\r
59   \r
60   dom_id: () ->\r
61     'editor-' + Pettanr.to_s(@root_item().get('id'))\r
62   \r
63   dom_class: () ->\r
64     'editor'\r
65 \r