| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /**
- * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- /* globals console, window, document, setTimeout */
- import BaloonBlockEditor from '@ckeditor/ckeditor5-build-balloon-block/src/ckeditor';
- import Title from '@ckeditor/ckeditor5-heading/src/title';
- import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
- BaloonBlockEditor.builtinPlugins.push( Title );
- BaloonBlockEditor
- .create( document.querySelector( '#snippet-title' ), {
- cloudServices: CS_CONFIG,
- blockToolbar: [ 'bulletedList', 'numberedList', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed' ]
- } )
- .then( editor => {
- window.editor = editor;
- const titlePlugin = editor.plugins.get( 'Title' );
- const titleConsole = new Console( document.querySelector( '.title-console__title' ) );
- const bodyConsole = new Console( document.querySelector( '.title-console__body' ) );
- const dataConsole = new Console( document.querySelector( '.title-console__data' ) );
- editor.model.document.on( 'change:data', () => {
- titleConsole.update( titlePlugin.getTitle() );
- bodyConsole.update( titlePlugin.getBody() );
- dataConsole.update( editor.getData() );
- } );
- } )
- .catch( err => {
- console.error( err.stack );
- } );
- class Console {
- constructor( element ) {
- this.element = element;
- this.consoleUpdates = 0;
- this.previousData = '';
- }
- update( data ) {
- if ( this.previousData == data ) {
- return;
- }
- this.previousData = data;
- const element = this.element;
- this.consoleUpdates++;
- element.classList.add( 'updated' );
- element.textContent = `'${ data }'`;
- setTimeout( () => {
- if ( --this.consoleUpdates == 0 ) {
- element.classList.remove( 'updated' );
- }
- }, 500 );
- }
- }
|