JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.1
[ckeditor.git] / _source / plugins / panel / plugin.js
index 920faa1..cb0a615 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
@@ -16,7 +16,7 @@ CKEDITOR.plugins.add( 'panel',
  * @constant\r
  * @example\r
  */\r
-CKEDITOR.UI_PANEL = 2;\r
+CKEDITOR.UI_PANEL = 'panel';\r
 \r
 CKEDITOR.ui.panel = function( document, definition )\r
 {\r
@@ -136,12 +136,6 @@ CKEDITOR.ui.panel.prototype =
                                        className = parentDiv.getParent().getAttribute( 'class' ),\r
                                        langCode = parentDiv.getParent().getAttribute( 'lang' ),\r
                                        doc = iframe.getFrameDocument();\r
-                               // Initialize the IFRAME document body.\r
-                               doc.$.open();\r
-\r
-                               // Support for custom document.domain in IE.\r
-                               if ( CKEDITOR.env.isCustomDomain() )\r
-                                       doc.$.domain = document.domain;\r
 \r
                                var onLoad = CKEDITOR.tools.addFunction( CKEDITOR.tools.bind( function( ev )\r
                                        {\r
@@ -150,7 +144,7 @@ CKEDITOR.ui.panel.prototype =
                                                        this.onLoad();\r
                                        }, this ) );\r
 \r
-                               doc.$.write(\r
+                               var data =\r
                                        '<!DOCTYPE html>' +\r
                                        '<html dir="' + dir + '" class="' + className + '_container" lang="' + langCode + '">' +\r
                                                '<head>' +\r
@@ -162,8 +156,9 @@ CKEDITOR.ui.panel.prototype =
                                                // after <body>, so it (body) becames immediatelly\r
                                                // available. (#3031)\r
                                                CKEDITOR.tools.buildStyleHtml( this.css ) +\r
-                                       '<\/html>' );\r
-                               doc.$.close();\r
+                                       '<\/html>';\r
+\r
+                               doc.write( data );\r
 \r
                                var win = doc.getWindow();\r
 \r
@@ -194,6 +189,7 @@ CKEDITOR.ui.panel.prototype =
 \r
                                holder = doc.getBody();\r
                                holder.unselectable();\r
+                               CKEDITOR.env.air && CKEDITOR.tools.callFunction( onLoad );\r
                        }\r
                        else\r
                                holder = this.document.getById( this.id );\r
@@ -384,11 +380,12 @@ CKEDITOR.ui.panel.block = CKEDITOR.tools.createClass(
                                        return false;\r
 \r
                                case 'click' :\r
+                               case 'mouseup' :\r
                                        index = this._.focusIndex;\r
                                        link = index >= 0 && this.element.getElementsByTag( 'a' ).getItem( index );\r
 \r
                                        if ( link )\r
-                                               link.$.click ? link.$.click() : link.$.onclick();\r
+                                               link.$[ keyAction ] ? link.$[ keyAction ]() : link.$[ 'on' + keyAction ]();\r
 \r
                                        return false;\r
                        }\r
@@ -397,3 +394,10 @@ CKEDITOR.ui.panel.block = CKEDITOR.tools.createClass(
                }\r
        }\r
 });\r
+\r
+/**\r
+ * Fired when a panel is added to the document\r
+ * @name CKEDITOR#ariaWidget\r
+ * @event\r
+ * @param {Object} holder The element wrapping the panel\r
+ */\r