UNPKG

substance

Version:

Substance is a JavaScript library for web-based content editing. It provides building blocks for realizing custom text editors and web-based publishing system. It is developed to power our online editing platform [Substance](http://substance.io).

23 lines (19 loc) 690 B
import { InsertInlineNodeCommand } from '../editor' import { $$ } from '../dom' import CitationModal from './CitationModal' export default class CreateCitationCommand extends InsertInlineNodeCommand { getType () { return 'cite' } execute (params, context) { const editorSession = context.editorSession const document = editorSession.getDocument() editorSession.getRootComponent().send('requestModal', () => { return $$(CitationModal, { mode: 'create', document }) }).then(modal => { if (!modal) return const data = { references: modal.state.selectedReferences.map(ref => ref.id) } context.api.insertInlineNode('cite', data) }) } }