mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-12-23 08:47:50 +08:00
723b955cec
* refactoring * improve link regex * WIP: add new markPasteRule und linkify to image mark * move copy of inputrule to core * trigger codeblock inputrule on enter * refactoring * add regex match to markpasterulematch * refactoring * improve link regex * WIP: add new markPasteRule und linkify to image mark * move copy of inputrule to core * trigger codeblock inputrule on enter * refactoring * add regex match to markpasterulematch * update linkify * wip * wip * log * wip * remove debug code * wip * wip * wip * wip * wip * wip * wip * wip * rename matcher * add data to ExtendedRegExpMatchArray * remove logging * add code option to marks, prevent inputrules in code mark * remove link regex * fix codeblock inputrule on enter * refactoring * refactoring * refactoring * refactoring * fix position bug * add test * export InputRule and PasteRule * clean up link demo * fix types
38 lines
897 B
TypeScript
38 lines
897 B
TypeScript
import { EditorState, Transaction } from 'prosemirror-state'
|
|
|
|
export default function createChainableState(config: {
|
|
transaction: Transaction,
|
|
state: EditorState,
|
|
}): EditorState {
|
|
const { state, transaction } = config
|
|
let { selection } = transaction
|
|
let { doc } = transaction
|
|
let { storedMarks } = transaction
|
|
|
|
return {
|
|
...state,
|
|
schema: state.schema,
|
|
plugins: state.plugins,
|
|
apply: state.apply.bind(state),
|
|
applyTransaction: state.applyTransaction.bind(state),
|
|
reconfigure: state.reconfigure.bind(state),
|
|
toJSON: state.toJSON.bind(state),
|
|
get storedMarks() {
|
|
return storedMarks
|
|
},
|
|
get selection() {
|
|
return selection
|
|
},
|
|
get doc() {
|
|
return doc
|
|
},
|
|
get tr() {
|
|
selection = transaction.selection
|
|
doc = transaction.doc
|
|
storedMarks = transaction.storedMarks
|
|
|
|
return transaction
|
|
},
|
|
}
|
|
}
|