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 (20 loc) • 731 B
JavaScript
import { $$ } from '../dom'
import { Command } from '../editor'
import CitationModal from './CitationModal'
export default class EditCitationCommand extends Command {
getCommandState (params, context) {
return { disabled: false }
}
execute (params, context) {
const editorSession = context.editorSession
const document = editorSession.getDocument()
const node = params.node
context.editorSession.getRootComponent().send('requestModal', () => {
return $$(CitationModal, { mode: 'edit', document, node })
}).then(modal => {
if (!modal) return
const data = { references: modal.state.selectedReferences.map(ref => ref.id) }
context.api.updateCitation(node.id, data)
})
}
}