Utils
import {
cloneFragment,
findDOMNode,
findDOMRange,
findNode,
findRange,
getEventRange,
getEventTransfer,
setEventTransfer,
} from 'slate-react'React-specific utility functions for Slate that may be useful in certain use cases.
Functions
cloneFragment
cloneFragmentcloneFragment(event: DOMEvent|ReactEvent, editor: Editor, fragment: Document)
During a cut or copy event, sets fragment as the Slate document fragment to be copied.
function onCopy(event, editor, next) {
const fragment = // ... create a fragment from a set of nodes ...
if (fragment) {
cloneFragment(event, editor, fragment)
return true
}
}Note that calling cloneFragment should be the last thing you do in your event handler. If you change the window selection after calling cloneFragment, the browser may copy the wrong content. If you need to perform an action after calling cloneFragment, wrap it in requestAnimationFrame:
findDOMNode
findDOMNodefindDOMNode(node: Node) => DOMElement
Find the DOM node from a Slate Node. Modelled after React's built-in findDOMNode helper.
findDOMRange
findDOMRangefindDOMRange(range: Range) => DOMRange
Find the DOM range from a Slate Range.
findNode
findNodefindNode(element: DOMElement, editor: Editor) => Node
Find the Slate node from a DOM element and Slate editor.
findRange
findRangefindRange(selection: DOMSelection, editor: Editor) => Range findRange(range: DOMRange, editor: Editor) => Range
Find the Slate range from a DOM range or selection and a Slate editor.
getEventRange
getEventRangegetEventRange(event: DOMEvent|ReactEvent, editor: Editor) => Range
Get the affected Slate range from a DOM event and Slate editor.
getEventTransfer
getEventTransfergetEventTransfer(event: DOMEvent|ReactEvent) => Object
Get the Slate-related data from a DOM event and Slate value.
setEventTransfer
setEventTransfersetEventTransfer(event: DOMEvent|ReactEvent, type: String, data: Any)
Sets the Slate-related data with type on an event. The type must be one of the types Slate recognizes: 'fragment', 'html', 'node', 'rich', or 'text'.
Last updated