snapshot of https://github.com/ueberdosis/tiptap.git (main, 2026-09-15; blobs > 131072B omitted)
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
This commit is contained in:
34
packages/extension-drag-handle/src/helpers/getOuterNode.ts
Normal file
34
packages/extension-drag-handle/src/helpers/getOuterNode.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import type { Node as PMNode } from '@tiptap/pm/model'
|
||||
|
||||
export const getOuterNodePos = (doc: PMNode, pos: number): number => {
|
||||
const resolvedPos = doc.resolve(pos)
|
||||
const { depth } = resolvedPos
|
||||
|
||||
if (depth === 0) {
|
||||
return pos
|
||||
}
|
||||
|
||||
const a = resolvedPos.pos - resolvedPos.parentOffset
|
||||
|
||||
return a - 1
|
||||
}
|
||||
|
||||
export const getOuterNode = (doc: PMNode, pos: number): PMNode | null => {
|
||||
const node = doc.nodeAt(pos)
|
||||
const resolvedPos = doc.resolve(pos)
|
||||
|
||||
let { depth } = resolvedPos
|
||||
let parent = node
|
||||
|
||||
while (depth > 0) {
|
||||
const currentNode = resolvedPos.node(depth)
|
||||
|
||||
depth -= 1
|
||||
|
||||
if (depth === 0) {
|
||||
parent = currentNode
|
||||
}
|
||||
}
|
||||
|
||||
return parent
|
||||
}
|
||||
Reference in New Issue
Block a user