/** * @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:false, document, window */ import ClassicEditor from '../../src/classiceditor'; import Enter from '@ckeditor/ckeditor5-enter/src/enter'; import Typing from '@ckeditor/ckeditor5-typing/src/typing'; import Heading from '@ckeditor/ckeditor5-heading/src/heading'; import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import Undo from '@ckeditor/ckeditor5-undo/src/undo'; import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold'; import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic'; window.editors = []; let counter = 1; const container = document.querySelector( '.container' ); function initEditor() { ClassicEditor .create( `

Hello world! #${ counter }

This is an editor instance.

`, { plugins: [ Enter, Typing, Paragraph, Undo, Heading, Bold, Italic ], toolbar: [ 'heading', '|', 'bold', 'italic', 'undo', 'redo' ] } ) .then( editor => { counter += 1; window.editors.push( editor ); container.appendChild( editor.ui.element ); } ) .catch( err => { console.error( err.stack ); } ); } function destroyEditors() { window.editors.forEach( editor => { editor.destroy() .then( () => { editor.ui.element.remove(); } ); } ); window.editors = []; counter = 1; } document.getElementById( 'initEditor' ).addEventListener( 'click', initEditor ); document.getElementById( 'destroyEditors' ).addEventListener( 'click', destroyEditors );