本文整理匯總了TypeScript中prosemirror-state.Selection.near方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Selection.near方法的具體用法?TypeScript Selection.near怎麽用?TypeScript Selection.near使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類prosemirror-state.Selection
的用法示例。
在下文中一共展示了Selection.near方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: function
return function(state: EditorState, dispatch) {
let { tr } = state
const { $from, $to } = state.selection
const { paragraph } = state.schema.nodes
const { alignment, indentation } = state.schema.marks
/** Alignment or Indentation is not valid inside block types */
const removeAlignTr = removeBlockMarks(state, [alignment, indentation])
tr = removeAlignTr || tr
const range = $from.blockRange($to) as any
const wrapping = range && (findWrapping(range, type) as any)
if (range && wrapping) {
tr.wrap(range, wrapping).scrollIntoView()
} else {
/** We always want to append a block type */
tr.replaceRangeWith(
$to.pos + 1,
$to.pos + 1,
type.createAndFill({}, paragraph.create()),
)
tr.setSelection(Selection.near(tr.doc.resolve(state.selection.to + 1)))
}
if (dispatch) {
dispatch(tr)
}
return true
}
示例2: filterCommands
return filterCommands(canLinkBeCreatedInRange(from, to), (state, dispatch) => {
const link = state.schema.marks.link
if (href.trim()) {
const { tr } = state
if (from === to) {
const textContent = text || href
tr.insertText(textContent, from, to)
tr.addMark(
from,
from + textContent.length,
link.create({ href: normalizeUrl(href) }),
)
} else {
tr.addMark(from, to, link.create({ href: normalizeUrl(href) }))
tr.setSelection(Selection.near(tr.doc.resolve(to)))
}
// queueCardsFromChangedTr(state, tr);
if (dispatch) {
tr.setMeta(pluginKey, LinkAction.HIDE_TOOLBAR)
dispatch(tr)
}
return true
}
return false
})
示例3: function
return function(state: EditorState, dispatch) {
const { tr } = state
const { $to } = state.selection
const { codeBlock } = state.schema.nodes
const getNextNode = state.doc.nodeAt($to.pos + 1)
const addPos = getNextNode && getNextNode.isText ? 0 : 1
/** We always want to append a block type */
tr.replaceRangeWith($to.pos + addPos, $to.pos + addPos, codeBlock.createAndFill() as Node)
tr.setSelection(Selection.near(tr.doc.resolve(state.selection.to + addPos)))
if (dispatch) {
dispatch(tr)
}
return true
}