You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
/**
|
|
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
( function() {
|
|
CKEDITOR.plugins.add( 'uploadfile', {
|
|
requires: 'uploadwidget,link',
|
|
init: function( editor ) {
|
|
// Do not execute this paste listener if it will not be possible to upload file.
|
|
if ( !this.isSupportedEnvironment() ) {
|
|
return;
|
|
}
|
|
|
|
var fileTools = CKEDITOR.fileTools,
|
|
uploadUrl = fileTools.getUploadUrl( editor.config );
|
|
|
|
if ( !uploadUrl ) {
|
|
CKEDITOR.error( 'uploadfile-config' );
|
|
return;
|
|
}
|
|
|
|
fileTools.addUploadWidget( editor, 'uploadfile', {
|
|
uploadUrl: fileTools.getUploadUrl( editor.config ),
|
|
|
|
fileToElement: function( file ) {
|
|
// Show a placeholder with an empty link during the upload.
|
|
var a = new CKEDITOR.dom.element( 'a' );
|
|
a.setText( file.name );
|
|
a.setAttribute( 'href', '#' );
|
|
return a;
|
|
},
|
|
|
|
onUploaded: function( upload ) {
|
|
this.replaceWith( '<a href="' + upload.url + '" target="_blank">' + upload.fileName + '</a>' );
|
|
}
|
|
} );
|
|
},
|
|
|
|
isSupportedEnvironment: function() {
|
|
return CKEDITOR.plugins.clipboard.isFileApiSupported;
|
|
}
|
|
} );
|
|
} )();
|