summaryrefslogtreecommitdiff
path: root/addons/website/static/lib/ckeditor/plugins/clipboard/dialogs/paste.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/static/lib/ckeditor/plugins/clipboard/dialogs/paste.js')
-rw-r--r--addons/website/static/lib/ckeditor/plugins/clipboard/dialogs/paste.js228
1 files changed, 0 insertions, 228 deletions
diff --git a/addons/website/static/lib/ckeditor/plugins/clipboard/dialogs/paste.js b/addons/website/static/lib/ckeditor/plugins/clipboard/dialogs/paste.js
deleted file mode 100644
index 3cf011ba0ea..00000000000
--- a/addons/website/static/lib/ckeditor/plugins/clipboard/dialogs/paste.js
+++ /dev/null
@@ -1,228 +0,0 @@
-/**
- * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or http://ckeditor.com/license
- */
-
-CKEDITOR.dialog.add( 'paste', function( editor ) {
- var lang = editor.lang.clipboard;
-
- function onPasteFrameLoad( win ) {
- var doc = new CKEDITOR.dom.document( win.document ),
- body = doc.getBody(),
- script = doc.getById( 'cke_actscrpt' );
-
- script && script.remove();
-
- body.setAttribute( 'contenteditable', true );
-
- // IE before version 8 will leave cursor blinking inside the document after
- // editor blurred unless we clean up the selection. (#4716)
- if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) {
- doc.getWindow().on( 'blur', function() {
- doc.$.selection.empty();
- });
- }
-
- doc.on( 'keydown', function( e ) {
- var domEvent = e.data,
- key = domEvent.getKeystroke(),
- processed;
-
- switch ( key ) {
- case 27:
- this.hide();
- processed = 1;
- break;
-
- case 9:
- case CKEDITOR.SHIFT + 9:
- this.changeFocus( 1 );
- processed = 1;
- }
-
- processed && domEvent.preventDefault();
- }, this );
-
- editor.fire( 'ariaWidget', new CKEDITOR.dom.element( win.frameElement ) );
-
- // Handle pending focus.
- if ( doc.getWindow().getFrame().removeCustomData( 'pendingFocus' ) )
- body.focus();
- }
-
- // If pasteDialogCommit wasn't canceled by e.g. editor.getClipboardData
- // then fire paste event.
- // Do not use editor#paste, because it would start from beforePaste event.
- editor.on( 'pasteDialogCommit', function( evt ) {
- if ( evt.data )
- editor.fire( 'paste', { type: 'auto', dataValue: evt.data } );
- }, null, null, 1000 );
-
- return {
- title: lang.title,
-
- minWidth: CKEDITOR.env.ie && CKEDITOR.env.quirks ? 370 : 350,
- minHeight: CKEDITOR.env.quirks ? 250 : 245,
- onShow: function() {
- // FIREFOX BUG: Force the browser to render the dialog to make the to-be-
- // inserted iframe editable. (#3366)
- this.parts.dialog.$.offsetHeight;
-
- this.setupContent();
-
- // Set dialog title to the custom value (set e.g. in editor.openDialog callback) and reset this value.
- // If custom title not set, use default one.
- this.parts.title.setHtml( this.customTitle || lang.title );
- this.customTitle = null;
- },
-
- onLoad: function() {
- if ( ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) && editor.lang.dir == 'rtl' )
- this.parts.contents.setStyle( 'overflow', 'hidden' );
- },
-
- onOk: function() {
- this.commitContent();
- },
-
- contents: [
- {
- id: 'general',
- label: editor.lang.common.generalTab,
- elements: [
- {
- type: 'html',
- id: 'securityMsg',
- html: '<div style="white-space:normal;width:340px">' + lang.securityMsg + '</div>'
- },
- {
- type: 'html',
- id: 'pasteMsg',
- html: '<div style="white-space:normal;width:340px">' + lang.pasteMsg + '</div>'
- },
- {
- type: 'html',
- id: 'editing_area',
- style: 'width:100%;height:100%',
- html: '',
- focus: function() {
- var iframe = this.getInputElement(),
- doc = iframe.getFrameDocument(),
- body = doc.getBody();
-
- // Frame content may not loaded at the moment.
- if ( !body || body.isReadOnly() )
- iframe.setCustomData( 'pendingFocus', 1 );
- else
- body.focus();
- },
- setup: function() {
- var dialog = this.getDialog();
- var htmlToLoad = '<html dir="' + editor.config.contentsLangDirection + '"' +
- ' lang="' + ( editor.config.contentsLanguage || editor.langCode ) + '">' +
- '<head><style>body{margin:3px;height:95%}</style></head><body>' +
- '<script id="cke_actscrpt" type="text/javascript">' +
- 'window.parent.CKEDITOR.tools.callFunction(' + CKEDITOR.tools.addFunction( onPasteFrameLoad, dialog ) + ',this);' +
- '</script></body>' +
- '</html>';
-
- var src =
- CKEDITOR.env.air ?
- 'javascript:void(0)' :
- CKEDITOR.env.ie ?
- 'javascript:void((function(){' + encodeURIComponent(
- 'document.open();' +
- '(' + CKEDITOR.tools.fixDomain + ')();' +
- 'document.close();'
- ) + '})())"'
- : '';
-
- var iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
- ' class="cke_pasteframe"' +
- ' frameborder="0" ' +
- ' allowTransparency="true"' +
- ' src="' + src + '"' +
- ' role="region"' +
- ' aria-label="' + lang.pasteArea + '"' +
- ' aria-describedby="' + dialog.getContentElement( 'general', 'pasteMsg' ).domId + '"' +
- ' aria-multiple="true"' +
- '></iframe>' );
-
- iframe.on( 'load', function( e ) {
- e.removeListener();
-
- var doc = iframe.getFrameDocument();
- doc.write( htmlToLoad );
-
- editor.focusManager.add( doc.getBody() );
-
- if ( CKEDITOR.env.air )
- onPasteFrameLoad.call( this, doc.getWindow().$ );
- }, dialog );
-
- iframe.setCustomData( 'dialog', dialog );
-
- var container = this.getElement();
- container.setHtml( '' );
- container.append( iframe );
-
- // IE need a redirect on focus to make
- // the cursor blinking inside iframe. (#5461)
- if ( CKEDITOR.env.ie ) {
- var focusGrabber = CKEDITOR.dom.element.createFromHtml( '<span tabindex="-1" style="position:absolute" role="presentation"></span>' );
- focusGrabber.on( 'focus', function() {
- // Since fixDomain is called in src attribute,
- // IE needs some slight delay to correctly move focus.
- setTimeout( function() {
- iframe.$.contentWindow.focus();
- } );
- } );
- container.append( focusGrabber );
-
- // Override focus handler on field.
- this.focus = function() {
- focusGrabber.focus();
- this.fire( 'focus' );
- };
- }
-
- this.getInputElement = function() {
- return iframe;
- };
-
- // Force container to scale in IE.
- if ( CKEDITOR.env.ie ) {
- container.setStyle( 'display', 'block' );
- container.setStyle( 'height', ( iframe.$.offsetHeight + 2 ) + 'px' );
- }
- },
- commit: function( data ) {
- var editor = this.getDialog().getParentEditor(),
- body = this.getInputElement().getFrameDocument().getBody(),
- bogus = body.getBogus(),
- html;
- bogus && bogus.remove();
-
- // Saving the contents so changes until paste is complete will not take place (#7500)
- html = body.getHtml();
-
- // Opera needs some time to think about what has happened and what it should do now.
- setTimeout( function() {
- editor.fire( 'pasteDialogCommit', html );
- }, 0 );
- }
- }
- ]
- }
- ]
- };
-});
-
-/**
- * Internal event to pass paste dialog's data to the listeners.
- *
- * @private
- * @event pasteDialogCommit
- * @member CKEDITOR.editor
- * @param {CKEDITOR.editor} editor This editor instance.
- */