JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.4.2
[ckeditor.git] / _source / plugins / panelbutton / plugin.js
index 9d84fa2..5821c88 100644 (file)
@@ -57,6 +57,11 @@ CKEDITOR.UI_PANELBUTTON = 4;
                                                                && panelDefinition.parent.getDocument() )\r
                                                        || CKEDITOR.document;\r
 \r
+                       panelDefinition.block =\r
+                       {\r
+                               attributes : panelDefinition.attributes\r
+                       };\r
+\r
                        this.hasArrow = true;\r
 \r
                        this.click = clickFn;\r
@@ -88,8 +93,10 @@ CKEDITOR.UI_PANELBUTTON = 4;
                                        return;\r
 \r
                                var panelDefinition = this._.panelDefinition || {},\r
+                                        panelBlockDefinition = this._.panelDefinition.block,\r
                                        panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(),\r
                                        panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ),\r
+                                       block = panel.addBlock( _.id, panelBlockDefinition ),\r
                                        me = this;\r
 \r
                                panel.onShow = function()\r
@@ -106,7 +113,7 @@ CKEDITOR.UI_PANELBUTTON = 4;
                                                        me.onOpen();\r
                                        };\r
 \r
-                               panel.onHide = function()\r
+                               panel.onHide = function( preventOnClose )\r
                                        {\r
                                                if ( me.className )\r
                                                        this.element.getFirst().removeClass( me.className + '_panel' );\r
@@ -115,7 +122,7 @@ CKEDITOR.UI_PANELBUTTON = 4;
 \r
                                                _.on = 0;\r
 \r
-                                               if ( me.onClose )\r
+                                               if ( !preventOnClose && me.onClose )\r
                                                        me.onClose();\r
                                        };\r
 \r
@@ -126,9 +133,9 @@ CKEDITOR.UI_PANELBUTTON = 4;
                                        };\r
 \r
                                if ( this.onBlock )\r
-                                       this.onBlock( panel, _.id );\r
+                                       this.onBlock( panel, block );\r
 \r
-                               panel.getBlock( _.id ).onHide = function()\r
+                               block.onHide = function()\r
                                                {\r
                                                                _.on = 0;\r
                                                                me.setState( CKEDITOR.TRISTATE_OFF );\r