inline-editor.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /* globals console, window, document */
  6. import InlineEditor from '@ckeditor/ckeditor5-build-inline/src/ckeditor';
  7. import getToken from '@ckeditor/ckeditor5-easy-image/tests/_utils/gettoken';
  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', '|', 'imageStyleAlignLeft', 'imageStyleFull', 'imageStyleAlignRight' ],
  13. styles: [ 'imageStyleFull', 'imageStyleAlignLeft', 'imageStyleAlignRight' ]
  14. },
  15. toolbar: {
  16. viewportTopOffset: 60
  17. }
  18. };
  19. if ( inlineElement.tagName.toLowerCase() == 'header' ) {
  20. config.removePlugins = [
  21. 'Blockquote',
  22. 'Image',
  23. 'ImageCaption',
  24. 'ImageStyle',
  25. 'ImageToolbar',
  26. 'ImageUpload',
  27. 'List',
  28. 'EasyImage',
  29. 'CKFinderUploadAdapter'
  30. ];
  31. config.toolbar.items = [ 'headings', 'bold', 'italic', 'link' ];
  32. }
  33. getToken()
  34. .then( token => {
  35. config.cloudServices = { token };
  36. return InlineEditor
  37. .create( inlineElement, config )
  38. .then( editor => {
  39. window.editor = editor;
  40. } );
  41. } )
  42. .catch( err => {
  43. console.error( err );
  44. } );
  45. } );