@express-document-sdk / Context
Class: Context
Contains the user's current selection state, indicating the content they are focused on.
Accessors
currentPage
• get
currentPage(): PageNode
Returns
The currently viewed page.
hasSelection
• get
hasSelection(): boolean
Returns
boolean
false if the current editable selection does not contain any nodes, otherwise true.
insertionParent
• get
insertionParent(): ContainerNode
Returns
the preferred parent to insert newly added content into (i.e., the location content would get inserted if a user were to Paste or use the Shapes panel in the UI). This will vary depending on the user's current selection and other UI state.
selection
• get
selection(): readonly Node
[]
• set
selection(nodes
): void
Sets the current selection to an array of Node.
Accepts a single node as a shortcut for a length-1 array [node]
or
undefined
as a shortcut for []
, which clears the selection.
Only node(s) that meet the following criteria can be selected:
- Nodes must be within the current artboard (nodes outside the active artboard are filtered out).
- A node cannot be selected if its ancestor is also selected (descendants are filtered out).
- Locked nodes are filtered out (but will still be included in selectionIncludingNonEditable).
Parameters
• nodes: undefined
| Node
| readonly Node
[]
Returns
readonly Node
[]
the current selection. Nodes that are locked or otherwise non-editable are never included in the selection.
selectionIncludingNonEditable
• get
selectionIncludingNonEditable(): readonly Node
[]
Returns
readonly Node
[]
the current selection and any locked nodes the user has attempted to select at the same time. This can happen for example if the user clicks on a locked node or if the user drags a selection marquee that overlaps locked nodes in addition to regular unlocked nodes.
Methods
off()
• off(eventName
, handlerId
): void
Unregisters handlers for editor events like selection change.
Parameters
• eventName: selectionChange
an editor event name.
• handlerId: string
a unique ID returned by editor.context.on
API.
Callback that was previously registered will be removed and will no more be invoked when the event occurs.
Returns
void
on()
• on(eventName
, callback
): string
Registers a handler for editor events such as selection change. The registered callback will be invoked when the specified event occurs. Note: Do not attempt to make changes to the document in response to a selection change callback because it may destabilize the application.
Parameters
• eventName: selectionChange
an editor event name.
• callback: EditorEventHandler
a callback to be registered for an editor event.
Returns
string
a unique ID for the registered event handler.