@leodigital/ckeditor5
Version:
LeoDigital CKEditor 5.
237 lines (224 loc) • 8.26 kB
JavaScript
/**
* @license Copyright (c) 2014-2022, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js';
import Alignment from '@ckeditor/ckeditor5-alignment/src/alignment.js';
import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat.js';
import Autosave from '@ckeditor/ckeditor5-autosave/src/autosave.js';
import BlockQuote from '@ckeditor/ckeditor5-block-quote/src/blockquote.js';
import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold.js';
import Code from '@ckeditor/ckeditor5-basic-styles/src/code.js';
import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock.js';
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials.js';
import FontBackgroundColor from '@ckeditor/ckeditor5-font/src/fontbackgroundcolor.js';
import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js';
import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily.js';
import FontSize from '@ckeditor/ckeditor5-font/src/fontsize.js';
import Heading from '@ckeditor/ckeditor5-heading/src/heading.js';
import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js';
import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline.js';
import Image from '@ckeditor/ckeditor5-image/src/image.js';
import ImageCaption from '@ckeditor/ckeditor5-image/src/imagecaption.js';
import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize.js';
import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle.js';
import ImageToolbar from '@ckeditor/ckeditor5-image/src/imagetoolbar.js';
import ImageUpload from '@ckeditor/ckeditor5-image/src/imageupload.js';
import Indent from '@ckeditor/ckeditor5-indent/src/indent.js';
import IndentBlock from '@ckeditor/ckeditor5-indent/src/indentblock.js';
import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic.js';
import Link from '@ckeditor/ckeditor5-link/src/link.js';
import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage.js';
import List from '@ckeditor/ckeditor5-list/src/list.js';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph.js';
import PasteFromOffice from '@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice.js';
import RemoveFormat from '@ckeditor/ckeditor5-remove-format/src/removeformat.js';
import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters.js';
import SpecialCharactersArrows from '@ckeditor/ckeditor5-special-characters/src/specialcharactersarrows.js';
import SpecialCharactersCurrency from '@ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency.js';
import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials.js';
import SpecialCharactersLatin from '@ckeditor/ckeditor5-special-characters/src/specialcharacterslatin.js';
import SpecialCharactersMathematical from '@ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical.js';
import SpecialCharactersText from '@ckeditor/ckeditor5-special-characters/src/specialcharacterstext.js';
import StandardEditingMode from '@ckeditor/ckeditor5-restricted-editing/src/standardeditingmode.js';
import Strikethrough from '@ckeditor/ckeditor5-basic-styles/src/strikethrough.js';
import Subscript from '@ckeditor/ckeditor5-basic-styles/src/subscript.js';
import Superscript from '@ckeditor/ckeditor5-basic-styles/src/superscript.js';
import Table from '@ckeditor/ckeditor5-table/src/table.js';
import TableCaption from '@ckeditor/ckeditor5-table/src/tablecaption.js';
import TableCellProperties from '@ckeditor/ckeditor5-table/src/tablecellproperties';
import TableProperties from '@ckeditor/ckeditor5-table/src/tableproperties';
import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar.js';
import TextTransformation from '@ckeditor/ckeditor5-typing/src/texttransformation.js';
import TodoList from '@ckeditor/ckeditor5-list/src/todolist';
import Underline from '@ckeditor/ckeditor5-basic-styles/src/underline.js';
import WordCount from '@ckeditor/ckeditor5-word-count/src/wordcount.js';
import Emoji from './plugins/ckeditor5-emoji/src/emoji';
import EmojiActivity from './plugins/ckeditor5-emoji/src/emoji-activity';
// import EmojiFlags from './plugins/ckeditor5-emoji/src/emoji-flags';
import EmojiFood from './plugins/ckeditor5-emoji/src/emoji-food';
import EmojiNature from './plugins/ckeditor5-emoji/src/emoji-nature';
import EmojiObjects from './plugins/ckeditor5-emoji/src/emoji-objects';
import EmojiPeople from './plugins/ckeditor5-emoji/src/emoji-people';
import EmojiPlaces from './plugins/ckeditor5-emoji/src/emoji-places';
import EmojiSymbols from './plugins/ckeditor5-emoji/src/emoji-symbols';
import MediaEmbed from './plugins/ckeditor5-media-embed/src/mediaembed.js';
import MediaEmbedToolbar from './plugins/ckeditor5-media-embed/src/mediaembedtoolbar.js';
import { leoUpload } from './plugins/ckeditor5-leo-upload/src';
// function MyUploadAdapter(loaderIn, config) {
// this.loaderXccjh = loaderIn;
// this.config = config;
// }
// MyUploadAdapter.prototype.upload = function () {
// return this.loaderXccjh.file.then(
// (file) =>
// new Promise((resolve, reject) => {
// if (typeof this.config.imageUpload === 'function') {
// this.config.imageUpload(file).then(res => {
// resolve({
// default: res.url,
// });
// }, err => {
// reject(
// err
// );
// })
// }
// })
// );
// }
// MyUploadAdapter.prototype.abort = function () {
// }
// export function myCustomUploadAdapterPlugin(editor) {
// editor.plugins.get('FileRepository').createUploadAdapter = (loaderIn) => {
// return new MyUploadAdapter(loaderIn, editor.config._config);
// };
// }
class Editor extends ClassicEditor {}
// Plugins to include in the build.
Editor.builtinPlugins = [
Alignment,
Autoformat,
Autosave,
BlockQuote,
Bold,
Code,
CodeBlock,
Essentials,
FontBackgroundColor,
FontColor,
FontFamily,
FontSize,
Heading,
Highlight,
HorizontalLine,
Image,
ImageCaption,
ImageResize,
ImageStyle,
ImageToolbar,
ImageUpload,
Indent,
IndentBlock,
Italic,
Link,
LinkImage,
List,
Paragraph,
PasteFromOffice,
RemoveFormat,
SpecialCharacters,
SpecialCharactersArrows,
SpecialCharactersCurrency,
SpecialCharactersEssentials,
SpecialCharactersLatin,
SpecialCharactersMathematical,
SpecialCharactersText,
StandardEditingMode,
Strikethrough,
Subscript,
Superscript,
Table,
TableCaption,
TableCellProperties,
TableProperties,
TableToolbar,
TextTransformation,
TodoList,
Underline,
WordCount,
Emoji,
EmojiActivity,
// EmojiFlags,
EmojiFood,
EmojiNature,
EmojiObjects,
EmojiPeople,
EmojiPlaces,
EmojiSymbols,
MediaEmbed,
MediaEmbedToolbar,
leoUpload
];
// Editor configuration.
// Editor.defaultConfig = {
// toolbar: {
// items: [
// 'heading',
// '|',
// 'bold',
// 'italic',
// 'underline',
// 'fontBackgroundColor',
// 'fontColor',
// 'fontSize',
// 'fontFamily',
// 'link',
// 'insertTable',
// 'imageUpload',
// 'mediaEmbed',
// '|',
// 'indent',
// 'outdent',
// 'alignment',
// '|',
// 'blockQuote',
// 'code',
// 'codeBlock',
// 'highlight',
// 'horizontalLine',
// 'numberedList',
// 'bulletedList',
// 'removeFormat',
// 'specialCharacters',
// 'emoji',
// 'restrictedEditingException',
// 'strikethrough',
// 'subscript',
// 'superscript',
// 'todoList',
// 'undo',
// 'redo'
// ]
// },
// language: 'zh-cn',
// image: {
// toolbar: [
// 'imageTextAlternative',
// 'imageStyle:inline',
// 'imageStyle:block',
// 'imageStyle:side',
// 'linkImage'
// ]
// },
// table: {
// contentToolbar: [
// 'tableColumn',
// 'tableRow',
// 'mergeTableCells',
// 'tableCellProperties',
// 'tableProperties'
// ]
// }
// };
export default Editor;