Add Emojis to Special Characters input of CKEDITOR

This commit is contained in:
Jan Böhmer 2022-07-26 21:41:30 +02:00
parent fdcfb95ac7
commit 41b1d8b59e
5 changed files with 39 additions and 1 deletions

View file

@ -63,6 +63,7 @@ import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js';
import TodoList from '@ckeditor/ckeditor5-list/src/todolist';
import ExtendedMarkdown from "./plugins/extendedMarkdown.js";
import SpecialCharactersEmoji from "./plugins/special_characters_emoji";
class Editor extends ClassicEditor {}
@ -115,7 +116,10 @@ Editor.builtinPlugins = [
TableToolbar,
Underline,
TodoList,
ExtendedMarkdown
//Our own extensions
ExtendedMarkdown,
SpecialCharactersEmoji
];
// Editor configuration.

View file

@ -30,6 +30,7 @@ import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js';
import ExtendedMarkdownInline from "./plugins/extendedMarkdownInline";
import SingleLinePlugin from "./plugins/singleLine";
import SpecialCharactersEmoji from "./plugins/special_characters_emoji";
class Editor extends ClassicEditor {}
@ -61,6 +62,7 @@ Editor.builtinPlugins = [
ExtendedMarkdownInline,
SingleLinePlugin,
SpecialCharactersEmoji
];
// Editor configuration.

View file

@ -0,0 +1,26 @@
import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters';
import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials';
import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
const emoji = require('emoji.json');
export default class SpecialCharactersEmoji extends Plugin {
init() {
const editor = this.editor;
const specialCharsPlugin = editor.plugins.get('SpecialCharacters');
specialCharsPlugin.addItems('Emoji', this.getEmojis());
}
getEmojis() {
//Map our emoji data to the format the plugin expects
return emoji.map(emoji => {
return {
title: emoji.name,
character: emoji.char
};
});
}
}