X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fiframedialog%2Fplugin.js;fp=_source%2Fplugins%2Fiframedialog%2Fplugin.js;h=0000000000000000000000000000000000000000;hb=4625dba05116026713fee9008dd93306be0d1553;hp=e95c4c06e05e41764236f48358cc82957c4747f2;hpb=3fe9cac293e090ea459a3ee10d78cbe9e1dd0e03;p=ckeditor.git diff --git a/_source/plugins/iframedialog/plugin.js b/_source/plugins/iframedialog/plugin.js deleted file mode 100644 index e95c4c0..0000000 --- a/_source/plugins/iframedialog/plugin.js +++ /dev/null @@ -1,188 +0,0 @@ -/* -Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -/** - * @fileOverview Plugin for making iframe based dialogs. - */ - -CKEDITOR.plugins.add( 'iframedialog', -{ - requires : [ 'dialog' ], - onLoad : function() - { - /** - * An iframe base dialog. - * @param {String} name Name of the dialog - * @param {String} title Title of the dialog - * @param {Number} minWidth Minimum width of the dialog - * @param {Number} minHeight Minimum height of the dialog - * @param {Function} [onContentLoad] Function called when the iframe has been loaded. - * If it isn't specified, the inner frame is notified of the dialog events ('load', - * 'resize', 'ok' and 'cancel') on a function called 'onDialogEvent' - * @param {Object} [userDefinition] Additional properties for the dialog definition - * @example - */ - CKEDITOR.dialog.addIframe = function( name, title, src, minWidth, minHeight, onContentLoad, userDefinition ) - { - var element = - { - type : 'iframe', - src : src, - width : '100%', - height : '100%' - }; - - if ( typeof( onContentLoad ) == 'function' ) - element.onContentLoad = onContentLoad; - else - element.onContentLoad = function() - { - var element = this.getElement(), - childWindow = element.$.contentWindow; - - // If the inner frame has defined a "onDialogEvent" function, setup listeners - if ( childWindow.onDialogEvent ) - { - var dialog = this.getDialog(), - notifyEvent = function(e) - { - return childWindow.onDialogEvent(e); - }; - - dialog.on( 'ok', notifyEvent ); - dialog.on( 'cancel', notifyEvent ); - dialog.on( 'resize', notifyEvent ); - - // Clear listeners - dialog.on( 'hide', function(e) - { - dialog.removeListener( 'ok', notifyEvent ); - dialog.removeListener( 'cancel', notifyEvent ); - dialog.removeListener( 'resize', notifyEvent ); - - e.removeListener(); - } ); - - // Notify child iframe of load: - childWindow.onDialogEvent( { - name : 'load', - sender : this, - editor : dialog._.editor - } ); - } - }; - - var definition = - { - title : title, - minWidth : minWidth, - minHeight : minHeight, - contents : - [ - { - id : 'iframe', - label : title, - expand : true, - elements : [ element ] - } - ] - }; - - for ( var i in userDefinition ) - definition[i] = userDefinition[i]; - - this.add( name, function(){ return definition; } ); - }; - - (function() - { - /** - * An iframe element. - * @extends CKEDITOR.ui.dialog.uiElement - * @example - * @constructor - * @param {CKEDITOR.dialog} dialog - * Parent dialog object. - * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition - * The element definition. Accepted fields: - * - * @param {Array} htmlList - * List of HTML code to output to. - */ - var iframeElement = function( dialog, elementDefinition, htmlList ) - { - if ( arguments.length < 3 ) - return; - - var _ = ( this._ || ( this._ = {} ) ), - contentLoad = elementDefinition.onContentLoad && CKEDITOR.tools.bind( elementDefinition.onContentLoad, this ), - cssWidth = CKEDITOR.tools.cssLength( elementDefinition.width ), - cssHeight = CKEDITOR.tools.cssLength( elementDefinition.height ); - _.frameId = CKEDITOR.tools.getNextId() + '_iframe'; - - // IE BUG: Parent container does not resize to contain the iframe automatically. - dialog.on( 'load', function() - { - var iframe = CKEDITOR.document.getById( _.frameId ), - parentContainer = iframe.getParent(); - - parentContainer.setStyles( - { - width : cssWidth, - height : cssHeight - } ); - } ); - - var attributes = - { - src : '%2', - id : _.frameId, - frameborder : 0, - allowtransparency : true - }; - var myHtml = []; - - if ( typeof( elementDefinition.onContentLoad ) == 'function' ) - attributes.onload = 'CKEDITOR.tools.callFunction(%1);'; - - CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, myHtml, 'iframe', - { - width : cssWidth, - height : cssHeight - }, attributes, '' ); - - // Put a placeholder for the first time. - htmlList.push( '
' ); - - // Iframe elements should be refreshed whenever it is shown. - myHtml = myHtml.join( '' ); - dialog.on( 'show', function() - { - var iframe = CKEDITOR.document.getById( _.frameId ), - parentContainer = iframe.getParent(), - callIndex = CKEDITOR.tools.addFunction( contentLoad ), - html = myHtml.replace( '%1', callIndex ).replace( '%2', CKEDITOR.tools.htmlEncode( elementDefinition.src ) ); - parentContainer.setHtml( html ); - } ); - }; - - iframeElement.prototype = new CKEDITOR.ui.dialog.uiElement; - - CKEDITOR.dialog.addUIElement( 'iframe', - { - build : function( dialog, elementDefinition, output ) - { - return new iframeElement( dialog, elementDefinition, output ); - } - } ); - })(); - } -} );