add addMark command
This commit is contained in:
15
packages/core/src/commands/addMark.ts
Normal file
15
packages/core/src/commands/addMark.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { MarkType } from 'prosemirror-model'
|
||||||
|
import { Command } from '../types'
|
||||||
|
import getMarkType from '../utils/getMarkType'
|
||||||
|
|
||||||
|
export default (typeOrName: string | MarkType, attributes?: {}): Command => ({ tr, state, dispatch }) => {
|
||||||
|
const { selection } = tr
|
||||||
|
const type = getMarkType(typeOrName, state.schema)
|
||||||
|
const { from, to } = selection
|
||||||
|
|
||||||
|
if (dispatch) {
|
||||||
|
tr.addMark(from, to, type.create(attributes))
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import { Extension } from '../Extension'
|
import { Extension } from '../Extension'
|
||||||
|
import addMark from '../commands/addMark'
|
||||||
import blur from '../commands/blur'
|
import blur from '../commands/blur'
|
||||||
import clearContent from '../commands/clearContent'
|
import clearContent from '../commands/clearContent'
|
||||||
import command from '../commands/command'
|
import command from '../commands/command'
|
||||||
@@ -32,6 +33,10 @@ import wrapInList from '../commands/wrapInList'
|
|||||||
export const Commands = Extension.create({
|
export const Commands = Extension.create({
|
||||||
addCommands() {
|
addCommands() {
|
||||||
return {
|
return {
|
||||||
|
/**
|
||||||
|
* Add a mark.
|
||||||
|
*/
|
||||||
|
addMark,
|
||||||
/**
|
/**
|
||||||
* Removes focus from the editor.
|
* Removes focus from the editor.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user