Improve emoji blot and override clipboard behavior

This commit is contained in:
Sidney Keese 2020-11-06 12:11:18 -08:00 committed by GitHub
parent d4d9688447
commit 91beef7797
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 181 additions and 84 deletions

View file

@ -31,11 +31,13 @@ import {
isMentionBlot,
getDeltaToRestartMention,
} from '../quill/util';
import { SignalClipboard } from '../quill/signal-clipboard';
Quill.register('formats/emoji', EmojiBlot);
Quill.register('formats/mention', MentionBlot);
Quill.register('modules/emojiCompletion', EmojiCompletion);
Quill.register('modules/mentionCompletion', MentionCompletion);
Quill.register('modules/signalClipboard', SignalClipboard);
const Block = Quill.import('blots/block');
Block.tagName = 'DIV';
@ -556,10 +558,11 @@ export const CompositionInput: React.ComponentType<Props> = props => {
defaultValue={delta}
modules={{
toolbar: false,
signalClipboard: true,
clipboard: {
matchers: [
['IMG', matchEmojiImage],
['SPAN', matchEmojiBlot],
['IMG', matchEmojiBlot],
['SPAN', matchReactEmoji],
['SPAN', matchMention(memberRepositoryRef)],
],