inline-editor.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 InlineEditor from '@ckeditor/ckeditor5-build-inline/src/ckeditor';
  7. import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
  8. const inlineInjectElements = document.querySelectorAll( '#snippet-inline-editor [data-inline-inject]' );
  9. Array.from( inlineInjectElements ).forEach( inlineElement => {
  10. const config = {
  11. image: {
  12. toolbar: [ 'imageTextAlternative', '|', 'imageStyle:alignLeft', 'imageStyle:full', 'imageStyle:alignRight' ],
  13. styles: [ 'full', 'alignLeft', 'alignRight' ]
  14. },
  15. toolbar: {
  16. viewportTopOffset: window.getViewportTopOffsetConfig()
  17. },
  18. cloudServices: CS_CONFIG
  19. };
  20. if ( inlineElement.tagName.toLowerCase() == 'header' ) {
  21. config.removePlugins = [
  22. 'Blockquote',
  23. 'Image',
  24. 'ImageCaption',
  25. 'ImageStyle',
  26. 'ImageToolbar',
  27. 'ImageUpload',
  28. 'List',
  29. 'EasyImage',
  30. 'CKFinder',
  31. 'CKFinderUploadAdapter'
  32. ];
  33. config.toolbar.items = [ 'heading', '|', 'bold', 'italic', 'link' ];
  34. }
  35. InlineEditor
  36. .create( inlineElement, config )
  37. .then( editor => {
  38. window.editor = editor;
  39. } )
  40. .catch( err => {
  41. console.error( err );
  42. } );
  43. } );