ckeditor5-image-upload-base64
Version:
The development environment of CKEditor 5 – the best browser-based rich text editor.
77 lines (70 loc) • 1.79 kB
JavaScript
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/* globals console, window, document */
import InlineEditor from '@ckeditor/ckeditor5-build-inline/src/ckeditor';
import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize';
import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
const inlineInjectElements = document.querySelectorAll( '#snippet-inline-editor [data-inline-inject]' );
Array.from( inlineInjectElements ).forEach( inlineElement => {
const config = {
extraPlugins: [ ImageResize ],
image: {
resizeOptions: [
{
name: 'imageResize:original',
label: 'Original',
value: null
},
{
name: 'imageResize:50',
label: '50%',
value: '50'
},
{
name: 'imageResize:75',
label: '75%',
value: '75'
}
],
styles: [ 'full', 'alignLeft', 'alignRight' ],
toolbar: [
'imageStyle:alignLeft',
'imageStyle:full',
'imageStyle:alignRight',
'|',
'imageResize',
'|',
'imageTextAlternative'
]
},
toolbar: {
viewportTopOffset: window.getViewportTopOffsetConfig()
},
cloudServices: CS_CONFIG
};
if ( inlineElement.tagName.toLowerCase() == 'header' ) {
config.removePlugins = [
'Blockquote',
'Image',
'ImageCaption',
'ImageStyle',
'ImageToolbar',
'ImageUpload',
'List',
'EasyImage',
'CKFinder',
'CKFinderUploadAdapter'
];
config.toolbar.items = [ 'heading', '|', 'bold', 'italic', 'link' ];
}
InlineEditor
.create( inlineElement, config )
.then( editor => {
window.editor = editor;
} )
.catch( err => {
console.error( err );
} );
} );