@graphty/graphty-element / index / EventManager
Class: EventManager ​
Defined in: graphty-element/src/managers/EventManager.ts:37
Centralized event management for the Graph system Handles all graph, node, and edge events with type safety
Implements ​
Constructors ​
Constructor ​
new EventManager():
EventManager
Returns ​
EventManager
Accessors ​
onGraphError ​
Get Signature ​
get onGraphError():
Observable<GraphErrorEvent>
Defined in: graphty-element/src/managers/EventManager.ts:69
Gets the graph error observable for direct subscription
Returns ​
Observable<GraphErrorEvent>
Observable for graph error events
onGraphEvent ​
Get Signature ​
get onGraphEvent():
Observable<GraphEvent>
Defined in: graphty-element/src/managers/EventManager.ts:48
Gets the graph event observable for direct subscription
Returns ​
Observable<GraphEvent>
Observable for graph events
onNodeEvent ​
Get Signature ​
get onNodeEvent():
Observable<NodeEvent>
Defined in: graphty-element/src/managers/EventManager.ts:61
Gets the node event observable for direct subscription.
The element forwards it to the DOM the way it forwards EventManager.onGraphEvent, which is what makes a click, a hover and a drag reachable by a consumer holding only the tag. Before that forwarder existed, every node event was emitted onto a private observable and landed nowhere.
Returns ​
Observable<NodeEvent>
Observable for node events
Methods ​
addListener() ​
addListener(
type,callback):symbol
Defined in: graphty-element/src/managers/EventManager.ts:488
Add a listener for a specific event type Returns a symbol that can be used to remove the listener
Parameters ​
type ​
Event type to listen for
callback ​
Callback function to invoke when event occurs
Returns ​
symbol
Symbol ID that can be used to remove the listener
dispose() ​
dispose():
void
Defined in: graphty-element/src/managers/EventManager.ts:102
Disposes of the event manager and cleans up all resources
Returns ​
void
Implementation of ​
emitDataAdded() ​
emitDataAdded(
dataType,count,shouldStartLayout,shouldZoomToFit,cause?):void
Defined in: graphty-element/src/managers/EventManager.ts:204
Emits a data added event when nodes or edges are added
Parameters ​
dataType ​
"edges" | "nodes"
Type of data added (nodes or edges)
count ​
number
Number of items added
shouldStartLayout ​
boolean
Whether layout should be started
shouldZoomToFit ​
boolean
Whether to zoom to fit the data
cause? ​
what added them, when it came through the history
Returns ​
void
emitDataCleared() ​
emitDataCleared():
void
Defined in: graphty-element/src/managers/EventManager.ts:265
Emits the public announcement that the graph's data was cleared.
Returns ​
void
emitDataLoadingComplete() ​
emitDataLoadingComplete(
format,nodesLoaded,edgesLoaded,duration,errors,warnings,success,report,loadId?):void
Defined in: graphty-element/src/managers/EventManager.ts:408
Emits a data loading complete event when import finishes
Parameters ​
format ​
string
Data format that was loaded
nodesLoaded ​
number
How many nodes the graph HOLDS, not how many records arrived
edgesLoaded ​
number
How many edges the graph HOLDS, not how many records arrived
duration ​
number
Time taken to load in milliseconds
errors ​
number
Number of errors encountered
warnings ​
number
Number of warnings encountered
success ​
boolean
Whether loading was successful
report ​
What the load did, including which endpoint spelling resolved
loadId? ​
number
Which load this is, when it is one
Returns ​
void
emitDataLoadingError() ​
emitDataLoadingError(
error,context,format,details):void
Defined in: graphty-element/src/managers/EventManager.ts:342
Emits a data loading error event when an error occurs during import
Parameters ​
error ​
Error
Error object
context ​
"detection" | "validation" | "parsing"
Error context category
format ​
string | undefined
Data format being loaded
details ​
Error details
canContinue ​
boolean
Whether loading can continue after this error
edgeId? ​
string
Edge ID related to error
line? ​
number
Line number where error occurred
loadId? ​
number
Which load this is, when it is one
nodeId? ​
unknown
Node ID related to error
Returns ​
void
emitDataLoadingErrorSummary() ​
emitDataLoadingErrorSummary(
format,totalErrors,message,detailedReport,primaryCategory?,suggestion?,loadId?):void
Defined in: graphty-element/src/managers/EventManager.ts:374
Emits a summary of all data loading errors after import completes
Parameters ​
format ​
string
Data format that was loaded
totalErrors ​
number
Total number of errors encountered
message ​
string
Summary message describing errors
detailedReport ​
string
Detailed error report
primaryCategory? ​
string
Primary error category
suggestion? ​
string
Suggested fix for the errors
loadId? ​
number
Which load this is, when it is one
Returns ​
void
emitDataLoadingProgress() ​
emitDataLoadingProgress(
format,bytesProcessed,totalBytes,nodeRecordsLoaded,edgeRecordsLoaded,chunksProcessed,loadId?):void
Defined in: graphty-element/src/managers/EventManager.ts:307
Emits a data loading progress event during data import
Parameters ​
format ​
string
Data format being loaded
bytesProcessed ​
number
Number of bytes processed so far
totalBytes ​
number | undefined
Total bytes to process (if known)
nodeRecordsLoaded ​
number
How many node RECORDS the source has handed over so far
edgeRecordsLoaded ​
number
How many edge RECORDS the source has handed over so far
chunksProcessed ​
number
Number of data chunks processed
loadId? ​
number
Which load this is, when it is one
Returns ​
void
emitEdgeEvent() ​
emitEdgeEvent(
type,eventData):void
Defined in: graphty-element/src/managers/EventManager.ts:474
Emits an edge event
Parameters ​
type ​
"edge-update-after" | "edge-update-before" | "edge-add-before"
Edge event type
eventData ​
object
Event data (excluding type field)
Returns ​
void
emitElementsRemoved() ​
emitElementsRemoved(
nodes,edges,cause?):void
Defined in: graphty-element/src/managers/EventManager.ts:186
Emits the removal event naming every node and edge one removal call took away.
Parameters ​
nodes ​
NodeId[]
the nodes that were removed
edges ​
string[]
every edge that was attached to one of them
cause? ​
what removed them, when it came through the history
Returns ​
void
emitGraphDataLoaded() ​
emitGraphDataLoaded(
graph,chunksLoaded,dataSourceType,report,loadId?):void
Defined in: graphty-element/src/managers/EventManager.ts:160
Emits a data loaded event when data has been loaded from a source
Parameters ​
graph ​
Graph or GraphContext instance
chunksLoaded ​
number
Number of data chunks loaded
dataSourceType ​
string
Type of data source used
report ​
What the load did, including which endpoint spelling resolved
loadId? ​
number
Which load this is, when it is one
Returns ​
void
emitGraphError() ​
emitGraphError(
graph,error,context,details?):void
Defined in: graphty-element/src/managers/EventManager.ts:136
Emits a graph error event
Parameters ​
graph ​
Graph | GraphContext | null
Graph or GraphContext instance where the error occurred
error ​
Error
Error object
context ​
"layout" | "algorithm" | "other" | "xr" | "init" | "data-loading"
Error context category
details? ​
Record<string, unknown>
Additional error details
Returns ​
void
emitGraphEvent() ​
emitGraphEvent(
type,data):void
Defined in: graphty-element/src/managers/EventManager.ts:290
Emits a generic graph event for custom internal events
Parameters ​
type ​
string
Event type identifier
data ​
Record<string, unknown>
Event data payload
Returns ​
void
emitGraphSettled() ​
emitGraphSettled(
graph):void
Defined in: graphty-element/src/managers/EventManager.ts:121
Emits a graph settled event when the graph layout has stabilized
Parameters ​
graph ​
Graph instance that has settled
Returns ​
void
emitLayoutInitialized() ​
emitLayoutInitialized(
layoutType,shouldZoomToFit):void
Defined in: graphty-element/src/managers/EventManager.ts:275
Emits a layout initialized event when a layout is ready
Parameters ​
layoutType ​
string
Type of layout that was initialized
shouldZoomToFit ​
boolean
Whether to zoom to fit after initialization
Returns ​
void
emitNodeEvent() ​
emitNodeEvent(
type,eventData):void
Defined in: graphty-element/src/managers/EventManager.ts:462
Emits a node event
Parameters ​
type ​
"node-update-after" | "node-update-before" | "node-add-before" | "node-click" | "node-hover" | "node-drag-start" | "node-drag-end"
Node event type
eventData ​
object
Event data (excluding type field)
Returns ​
void
emitSelectionChanged() ​
emitSelectionChanged(
previousNode,currentNode):void
Defined in: graphty-element/src/managers/EventManager.ts:441
Emits a selection changed event when node selection changes
Parameters ​
previousNode ​
Node | null
Previously selected node (or null)
currentNode ​
Node | null
Currently selected node (or null)
Returns ​
void
emitSnapshotDropped() ​
emitSnapshotDropped():
void
Defined in: graphty-element/src/managers/EventManager.ts:257
Emit snapshot-dropped: the store was discarded and every snapshot it froze is gone.
ELEMENT-INTERNAL, for the same reason snapshot-replaced is. Emitted while the outgoing store is still alive, so a listener releasing a snapshot can still derive from it.
Returns ​
void
emitSnapshotReplaced() ​
emitSnapshotReplaced(
graph,previous,next,report):void
Defined in: graphty-element/src/managers/EventManager.ts:235
Emit snapshot-replaced (graph-format design 14.4 rule 11).
ELEMENT-INTERNAL. This event is listed in INTERNAL_EVENT_TYPES (events.ts) and therefore never reaches the DOM: its payload is a Graph plus two typed-array-backed snapshots, which a CustomEvent detail cannot carry across a structured clone. Internal listeners still get it through onGraphEvent and addListener as usual.
Parameters ​
graph ​
the graph whose data changed; DataManager holds a GraphContext, so this takes the same union emitGraphError takes and casts once, here
previous ​
GraphSnapshot | null
the superseded snapshot, or null on the first freeze
next ​
the new snapshot, with the element position column already attached
report ​
FreezeReport
freezeWithReport's report
Returns ​
void
init() ​
init():
Promise<void>
Defined in: graphty-element/src/managers/EventManager.ts:94
Initializes the event manager
Returns ​
Promise<void>
Promise that resolves when initialization is complete
Implementation of ​
listenerCount() ​
listenerCount():
number
Defined in: graphty-element/src/managers/EventManager.ts:611
Get the total number of registered listeners
Returns ​
number
Number of active listeners
once() ​
once(
type,callback):symbol
Defined in: graphty-element/src/managers/EventManager.ts:621
Add a one-time listener that automatically removes itself after firing
Parameters ​
type ​
Event type to listen for
callback ​
Callback function to invoke when event occurs
Returns ​
symbol
Symbol ID that can be used to remove the listener
removeListener() ​
removeListener(
id):boolean
Defined in: graphty-element/src/managers/EventManager.ts:596
Remove a listener by its ID
Parameters ​
id ​
symbol
Symbol ID returned from addListener
Returns ​
boolean
True if listener was removed, false if not found
waitFor() ​
waitFor(
type,timeout?):Promise<NodeEvent|EdgeEvent|GraphEvent|AiEvent>
Defined in: graphty-element/src/managers/EventManager.ts:636
Wait for a specific event to occur Returns a promise that resolves with the event
Parameters ​
type ​
Event type to wait for
timeout? ​
number
Optional timeout in milliseconds
Returns ​
Promise<NodeEvent | EdgeEvent | GraphEvent | AiEvent>
Promise that resolves with the event or rejects on timeout
withRetry() ​
withRetry<
T>(operation,context,graph,details?):Promise<T>
Defined in: graphty-element/src/managers/EventManager.ts:669
Execute an async operation with automatic retry on failure Emits error events for each failure
Type Parameters ​
T ​
T
Parameters ​
operation ​
() => Promise<T>
Async operation to execute
context ​
"layout" | "algorithm" | "other" | "xr" | "init" | "data-loading"
Error context category
graph ​
Graph | GraphContext | null
Graph or GraphContext instance
details? ​
Record<string, unknown>
Additional error details
Returns ​
Promise<T>
Promise that resolves with operation result or rejects after all retries fail