fix chain again
This commit is contained in:
@@ -68,7 +68,6 @@ export default class CommandManager {
|
||||
const callbacks: boolean[] = []
|
||||
const hasStartTransaction = !!startTr
|
||||
const tr = startTr || state.tr
|
||||
const props = this.buildProps(tr, shouldDispatch)
|
||||
|
||||
return new Proxy({}, {
|
||||
get: (_, name: string, proxy) => {
|
||||
@@ -87,7 +86,9 @@ export default class CommandManager {
|
||||
}
|
||||
|
||||
return (...args: any) => {
|
||||
const props = this.buildProps(tr, shouldDispatch)
|
||||
const callback = command(...args)(props)
|
||||
|
||||
callbacks.push(callback)
|
||||
|
||||
return proxy
|
||||
@@ -118,6 +119,10 @@ export default class CommandManager {
|
||||
const { editor, commands } = this
|
||||
const { state, view } = editor
|
||||
|
||||
if (state.storedMarks) {
|
||||
tr.setStoredMarks(state.storedMarks)
|
||||
}
|
||||
|
||||
const props = {
|
||||
tr,
|
||||
editor,
|
||||
@@ -141,6 +146,10 @@ export default class CommandManager {
|
||||
}
|
||||
|
||||
public chainableState(tr: Transaction, state: EditorState): EditorState {
|
||||
let { selection } = tr
|
||||
let { doc } = tr
|
||||
let { storedMarks } = tr
|
||||
|
||||
return {
|
||||
...state,
|
||||
schema: state.schema,
|
||||
@@ -150,15 +159,19 @@ export default class CommandManager {
|
||||
reconfigure: state.reconfigure.bind(state),
|
||||
toJSON: state.toJSON.bind(state),
|
||||
get storedMarks() {
|
||||
return tr.storedMarks
|
||||
return storedMarks
|
||||
},
|
||||
get selection() {
|
||||
return tr.selection
|
||||
return selection
|
||||
},
|
||||
get doc() {
|
||||
return tr.doc
|
||||
return doc
|
||||
},
|
||||
get tr() {
|
||||
selection = tr.selection
|
||||
doc = tr.doc
|
||||
storedMarks = tr.storedMarks
|
||||
|
||||
return tr
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user