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.
information-system/wysiwyg/plugins/uploadfile/plugin.js

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;
}
} );
} )();