todo-list.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /**
  2. * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  4. */
  5. /* globals console, window, document */
  6. import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
  7. import Enter from '@ckeditor/ckeditor5-enter/src/enter';
  8. import Typing from '@ckeditor/ckeditor5-typing/src/typing';
  9. import Heading from '@ckeditor/ckeditor5-heading/src/heading';
  10. import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold';
  11. import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight';
  12. import Link from '@ckeditor/ckeditor5-link/src/link';
  13. import Table from '@ckeditor/ckeditor5-table/src/table';
  14. import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
  15. import Undo from '@ckeditor/ckeditor5-undo/src/undo';
  16. import Clipboard from '@ckeditor/ckeditor5-clipboard/src/clipboard';
  17. import ShiftEnter from '@ckeditor/ckeditor5-enter/src/shiftenter';
  18. import FontSize from '@ckeditor/ckeditor5-font/src/fontsize';
  19. import List from '../../src/list';
  20. import TodoList from '../../src/todolist';
  21. ClassicEditor
  22. .create( document.querySelector( '#editor' ), {
  23. plugins: [ Enter, Typing, Heading, Highlight, Table, Bold, Paragraph, Undo, List, TodoList, Clipboard, Link, FontSize, ShiftEnter ],
  24. toolbar: [
  25. 'heading',
  26. '|',
  27. 'bulletedList', 'numberedList', 'todoList',
  28. '|',
  29. 'bold', 'link', 'highlight', 'insertTable', 'fontSize',
  30. '|',
  31. 'undo', 'redo'
  32. ],
  33. table: {
  34. contentToolbar: [
  35. 'tableColumn',
  36. 'tableRow',
  37. 'mergeTableCells'
  38. ]
  39. }
  40. } )
  41. .then( editor => {
  42. window.editor = editor;
  43. const contentPreviewBox = document.getElementById( 'preview' );
  44. contentPreviewBox.innerHTML = editor.getData();
  45. editor.model.document.on( 'change:data', () => {
  46. contentPreviewBox.innerHTML = editor.getData();
  47. } );
  48. } )
  49. .catch( err => {
  50. console.error( err.stack );
  51. } );