Location Ref
API reference for location references in Slate.
Location references are objects that keep specific locations (paths, points, or ranges) in a document synced over time as new operations are applied to the editor. You can access their current
property at any time for the up-to-date location value. You can access their current
property at any time for the up-to-date location value.
Types
PathRef
Path reference objects keep a specific path in a document synced over time. Created using editor.api.pathRef
.
'forward'
: Prefer the position after inserted content'backward'
: Prefer the position before inserted contentnull
: No preference
The current path value, updated as operations are applied.
The direction to prefer when transforming the path:
Call this when you no longer need to sync this path. Returns the final path value.
PointRef
Point reference objects keep a specific point in a document synced over time. Created using editor.api.pointRef
.
'forward'
: Prefer the position after inserted content'backward'
: Prefer the position before inserted contentnull
: No preference
The current point value, updated as operations are applied.
The direction to prefer when transforming the point:
Call this when you no longer need to sync this point. Returns the final point value.
RangeRef
Range reference objects keep a specific range in a document synced over time. Created using editor.api.rangeRef
.
'forward'
: Both points prefer after inserted content'backward'
: Both points prefer before inserted content'inward'
: Range tends to stay same size when content is inserted at edges'outward'
: Range tends to grow when content is inserted at edgesnull
: No preference
The current range value, updated as operations are applied.
The direction to prefer when transforming the range:
Call this when you no longer need to sync this range. Returns the final range value.
Example usage of a RangeRef:
const selectionRef = editor.api.rangeRef(editor.selection, {
affinity: 'inward',
})
// Operations that might change the selection
Transforms.unwrapNodes(editor)
// Restore the selection using the ref
Transforms.select(editor, selectionRef.unref())
PathRefApi
transform
Transform a path reference by an operation.
PointRefApi
transform
Transform a point reference by an operation.
RangeRefApi
transform
Transform a range reference by an operation.