mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-08-18 13:11:17 +02:00
Use normalizNodeByKey instead of normalizeDocument when possible
This commit is contained in:
@@ -94,7 +94,12 @@ export function deleteAtRange(transform, range) {
|
|||||||
|
|
||||||
const lonely = document.getFurthest(endBlock, p => p.nodes.size == 1) || endBlock
|
const lonely = document.getFurthest(endBlock, p => p.nodes.size == 1) || endBlock
|
||||||
transform.removeNodeByKey(lonely.key)
|
transform.removeNodeByKey(lonely.key)
|
||||||
transform.normalizeDocument()
|
|
||||||
|
if (ancestor.kind == 'document') {
|
||||||
|
transform.normalizeDocument()
|
||||||
|
} else {
|
||||||
|
transform.normalizeNodeByKey(ancestor.key)
|
||||||
|
}
|
||||||
|
|
||||||
return transform
|
return transform
|
||||||
}
|
}
|
||||||
@@ -270,7 +275,11 @@ export function insertBlockAtRange(transform, range, block) {
|
|||||||
transform.insertNodeByKey(parent.key, index + 1, block)
|
transform.insertNodeByKey(parent.key, index + 1, block)
|
||||||
}
|
}
|
||||||
|
|
||||||
transform.normalizeDocument()
|
if (parent.kind == 'document') {
|
||||||
|
transform.normalizeDocument()
|
||||||
|
} else {
|
||||||
|
transform.normalizeNodeByKey(parent.key)
|
||||||
|
}
|
||||||
|
|
||||||
return transform
|
return transform
|
||||||
}
|
}
|
||||||
@@ -357,7 +366,11 @@ export function insertFragmentAtRange(transform, range, fragment) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
transform.normalizeDocument()
|
if (parent.kind == 'document') {
|
||||||
|
transform.normalizeDocument()
|
||||||
|
} else {
|
||||||
|
transform.normalizeNodeByKey(parent.key)
|
||||||
|
}
|
||||||
|
|
||||||
return transform
|
return transform
|
||||||
}
|
}
|
||||||
@@ -392,7 +405,12 @@ export function insertInlineAtRange(transform, range, inline) {
|
|||||||
|
|
||||||
transform.splitNodeByKey(startKey, startOffset)
|
transform.splitNodeByKey(startKey, startOffset)
|
||||||
transform.insertNodeByKey(parent.key, index + 1, inline)
|
transform.insertNodeByKey(parent.key, index + 1, inline)
|
||||||
transform.normalizeDocument()
|
|
||||||
|
if (parent.kind == 'document') {
|
||||||
|
transform.normalizeDocument()
|
||||||
|
} else {
|
||||||
|
transform.normalizeNodeByKey(parent.key)
|
||||||
|
}
|
||||||
|
|
||||||
return transform
|
return transform
|
||||||
}
|
}
|
||||||
@@ -519,6 +537,7 @@ export function splitBlockAtRange(transform, range, height = 1) {
|
|||||||
const { document } = state
|
const { document } = state
|
||||||
let node = document.assertDescendant(startKey)
|
let node = document.assertDescendant(startKey)
|
||||||
let parent = document.getClosestBlock(node)
|
let parent = document.getClosestBlock(node)
|
||||||
|
const firstParent = parent
|
||||||
let offset = startOffset
|
let offset = startOffset
|
||||||
let h = 0
|
let h = 0
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user