| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * @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 document, window, console */
- import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
- import ArticlePluginSet from '@ckeditor/ckeditor5-core/tests/_utils/articlepluginset';
- import Autosave from '../../src/autosave';
- ClassicEditor
- .create( document.querySelector( '#editor' ), {
- plugins: [ ArticlePluginSet, Autosave ],
- toolbar: [ 'heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'blockQuote', 'undo', 'redo' ],
- image: {
- toolbar: [ 'imageStyle:full', 'imageStyle:side', '|', 'imageTextAlternative' ]
- }
- } )
- .then( editor => {
- window.editor = editor;
- const destroyButton = document.getElementById( 'destroy-editor-button' );
- destroyButton.addEventListener( 'click', () => editor.destroy() );
- const autosave = editor.plugins.get( Autosave );
- autosave.adapter = {
- save() {
- const data = editor.getData();
- return wait( 1000 )
- .then( () => console.log( `${ getTime() } Saved content: ${ data }` ) );
- }
- };
- autosave.listenTo( autosave, 'change:state',
- ( evt, propName, newValue, oldValue ) => console.log( `${ getTime() } Changed state: ${ oldValue } -> ${ newValue }` ) );
- } );
- function wait( time ) {
- return new Promise( res => {
- window.setTimeout( res, time );
- } );
- }
- function getTime() {
- const date = new Date();
- return '[' +
- date.getHours() + ':' +
- setDigitSize( date.getMinutes(), 2 ) + ':' +
- setDigitSize( date.getSeconds(), 2 ) + '.' +
- setDigitSize( date.getMilliseconds(), 2 ) +
- ']';
- }
- function setDigitSize( number, size ) {
- const string = String( number );
- if ( string.length >= size ) {
- return string.slice( 0, size );
- }
- return '0'.repeat( size - string.length ) + string;
- }
|