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