X-Git-Url: https://scm.cri.ensmp.fr/git/ckeditor.git/blobdiff_plain/871bad8291b6dbc29d489d95d185458caab25158..14d450d78a2d67ec1decd64c928151851961dd36:/_source/plugins/pastefromword/plugin.js?ds=sidebyside diff --git a/_source/plugins/pastefromword/plugin.js b/_source/plugins/pastefromword/plugin.js deleted file mode 100644 index c9bd2ec..0000000 --- a/_source/plugins/pastefromword/plugin.js +++ /dev/null @@ -1,141 +0,0 @@ -/* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ -(function() -{ - function forceHtmlMode( evt ) { evt.data.mode = 'html'; } - - CKEDITOR.plugins.add( 'pastefromword', - { - init : function( editor ) - { - - // Flag indicate this command is actually been asked instead of a generic - // pasting. - var forceFromWord = 0; - var resetFromWord = function( evt ) - { - evt && evt.removeListener(); - editor.removeListener( 'beforePaste', forceHtmlMode ); - forceFromWord && setTimeout( function() { forceFromWord = 0; }, 0 ); - }; - - // Features bring by this command beside the normal process: - // 1. No more bothering of user about the clean-up. - // 2. Perform the clean-up even if content is not from MS-Word. - // (e.g. from a MS-Word similar application.) - editor.addCommand( 'pastefromword', - { - canUndo : false, - exec : function() - { - // Ensure the received data format is HTML and apply content filtering. (#6718) - forceFromWord = 1; - editor.on( 'beforePaste', forceHtmlMode ); - - if ( editor.execCommand( 'paste', 'html' ) === false ) - { - editor.on( 'dialogShow', function ( evt ) - { - evt.removeListener(); - evt.data.on( 'cancel', resetFromWord ); - }); - - editor.on( 'dialogHide', function( evt ) - { - evt.data.removeListener( 'cancel', resetFromWord ); - } ); - } - - editor.on( 'afterPaste', resetFromWord ); - } - }); - - // Register the toolbar button. - editor.ui.addButton( 'PasteFromWord', - { - label : editor.lang.pastefromword.toolbar, - command : 'pastefromword' - }); - - editor.on( 'pasteState', function( evt ) - { - editor.getCommand( 'pastefromword' ).setState( evt.data ); - }); - - editor.on( 'paste', function( evt ) - { - var data = evt.data, - mswordHtml; - - // MS-WORD format sniffing. - if ( ( mswordHtml = data[ 'html' ] ) - && ( forceFromWord || ( /(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/ ).test( mswordHtml ) ) ) - { - var isLazyLoad = this.loadFilterRules( function() - { - // Event continuation with the original data. - if ( isLazyLoad ) - editor.fire( 'paste', data ); - else if ( !editor.config.pasteFromWordPromptCleanup - || ( forceFromWord || confirm( editor.lang.pastefromword.confirmCleanup ) ) ) - { - data[ 'html' ] = CKEDITOR.cleanWord( mswordHtml, editor ); - } - }); - - // The cleanup rules are to be loaded, we should just cancel - // this event. - isLazyLoad && evt.cancel(); - } - }, this ); - }, - - loadFilterRules : function( callback ) - { - - var isLoaded = CKEDITOR.cleanWord; - - if ( isLoaded ) - callback(); - else - { - var filterFilePath = CKEDITOR.getUrl( - CKEDITOR.config.pasteFromWordCleanupFile - || ( this.path + 'filter/default.js' ) ); - - // Load with busy indicator. - CKEDITOR.scriptLoader.load( filterFilePath, callback, null, true ); - } - - return !isLoaded; - }, - - requires : [ 'clipboard' ] - }); -})(); - -/** - * Whether to prompt the user about the clean up of content being pasted from - * MS Word. - * @name CKEDITOR.config.pasteFromWordPromptCleanup - * @since 3.1 - * @type Boolean - * @default undefined - * @example - * config.pasteFromWordPromptCleanup = true; - */ - -/** - * The file that provides the MS Word cleanup function for pasting operations. - * Note: This is a global configuration shared by all editor instances present - * in the page. - * @name CKEDITOR.config.pasteFromWordCleanupFile - * @since 3.1 - * @type String - * @default 'default' - * @example - * // Load from 'pastefromword' plugin 'filter' sub folder (custom.js file). - * CKEDITOR.config.pasteFromWordCleanupFile = 'custom'; - */