X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Feditor%2Fpanel_editor.js.coffee;h=0148b919dbbcf949d2bc9091f543dc418474668f;hp=ddf3885fc882b910ccd8a6af081f440b36c9ebb3;hb=d7c8065be895b67dc453b0e11ad0f259f1ca6706;hpb=688bd2f8208226ced9eddae2280f289198a2de7c diff --git a/app/assets/javascripts/editor/panel_editor.js.coffee b/app/assets/javascripts/editor/panel_editor.js.coffee index ddf3885f..0148b919 100644 --- a/app/assets/javascripts/editor/panel_editor.js.coffee +++ b/app/assets/javascripts/editor/panel_editor.js.coffee @@ -1,19 +1,17 @@ -class Editor.PanelEditor extends Backbone.View +class Editor.PanelEditor extends Pettanr.View tagName: 'div' className: 'panel-editor' initialize: (options) -> @panel = options.root_item @item = @panel - @dialog = new Editor.PanelEditor.Dialog({ - parent: this - }) + @dialogs = {} @body = new Pettanr.Views.Panel.Body.Edit({ panel: @root_item(), spot: null }) @dock = new Editor.PanelEditor.Dock({parent: this}) - @credits = new Pettanr.Views.Panel.ShowModule.Credits({pictures: {}}) + @credits = new Pettanr.View.Credits(this, {icon: true}) @body.on('panel:resize', @panel_resize) @listenTo(@dock, 'http_post', @http_post) @@ -22,12 +20,23 @@ class Editor.PanelEditor extends Backbone.View @listenTo(@dock, 'add:element', @add_element) @listenTo(@dock, 'add:credit', @add_credit) @listenTo(@dock, 'destroy', @destroy) + @listenTo(@dock, 'dialog:open', @open_dialog) + @listenTo(@dock, 'dialog:close', @close_dialog) add_element: (element) -> @body.add_element(element) add_credit: (element) -> - @credits.add_picture(element.picture()) + r = {} + r[element.get('picture_id')] = null + @credits.push(r) + + open_dialog: (dialog) -> + @dialogs[dialog.cid] = dialog + + close_dialog: (dialog) -> + delete @dialogs[dialog.cid] + dialog.remove() destroy: (element, index) -> @remove_element(element) @@ -37,17 +46,10 @@ class Editor.PanelEditor extends Backbone.View render: () -> this.$el.html('') - this.$el.append(@dialog.render().el) - @dialog.$el.dialog({ - autoOpen: false, - width: 750, - height: 560 - }) this.$el.append(@body.render().el) this.$el.append(@dock.render().el) this.$el.append(@credits.render().el) - rb = new Tag.RowBreak() - this.$el.append(rb.render().el) + @append_rb() @dock.init_tabs() @dock.$el.tabs() this @@ -61,7 +63,8 @@ class Editor.PanelEditor extends Backbone.View quit: () -> @dock.quit() - @dialog.$el.dialog('destroy') + _.each @dialogs, (dialog) => + @close_dialog(dialog) http_post: (url, dock) -> @trigger('http_post', url, this) # send editor