@graphty/graphty-element / managers / EventManager
Class: EventManager
Defined in: src/managers/EventManager.ts:29
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: src/managers/EventManager.ts:48
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: src/managers/EventManager.ts:40
Gets the graph event observable for direct subscription
Returns
Observable<GraphEvent>
Observable for graph events
Methods
addListener()
addListener(
type,callback):symbol
Defined in: src/managers/EventManager.ts:380
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: src/managers/EventManager.ts:78
Disposes of the event manager and cleans up all resources
Returns
void
Implementation of
emitDataAdded()
emitDataAdded(
dataType,count,shouldStartLayout,shouldZoomToFit):void
Defined in: src/managers/EventManager.ts:157
Emits a data added event when nodes or edges are added
Parameters
dataType
Type of data added (nodes or edges)
"nodes" | "edges"
count
number
Number of items added
shouldStartLayout
boolean
Whether layout should be started
shouldZoomToFit
boolean
Whether to zoom to fit the data
Returns
void
emitDataLoadingComplete()
emitDataLoadingComplete(
format,nodesLoaded,edgesLoaded,duration,errors,warnings,success):void
Defined in: src/managers/EventManager.ts:304
Emits a data loading complete event when import finishes
Parameters
format
string
Data format that was loaded
nodesLoaded
number
Number of nodes loaded
edgesLoaded
number
Number of edges loaded
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
Returns
void
emitDataLoadingError()
emitDataLoadingError(
error,context,format,details):void
Defined in: src/managers/EventManager.ts:244
Emits a data loading error event when an error occurs during import
Parameters
error
Error
Error object
context
Error context category
"detection" | "validation" | "parsing"
format
Data format being loaded
string | undefined
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
nodeId?
unknown
Node ID related to error
Returns
void
emitDataLoadingErrorSummary()
emitDataLoadingErrorSummary(
format,totalErrors,message,detailedReport,primaryCategory?,suggestion?):void
Defined in: src/managers/EventManager.ts:274
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
Returns
void
emitDataLoadingProgress()
emitDataLoadingProgress(
format,bytesProcessed,totalBytes,nodesLoaded,edgesLoaded,chunksProcessed):void
Defined in: src/managers/EventManager.ts:212
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
Total bytes to process (if known)
number | undefined
nodesLoaded
number
Number of nodes loaded so far
edgesLoaded
number
Number of edges loaded so far
chunksProcessed
number
Number of data chunks processed
Returns
void
emitEdgeEvent()
emitEdgeEvent(
type,eventData):void
Defined in: src/managers/EventManager.ts:366
Emits an edge event
Parameters
type
Edge event type
"edge-update-after" | "edge-update-before" | "edge-add-before" | "edge-click"
eventData
Omit<EdgeEvent, "type">
Event data (excluding type field)
Returns
void
emitGraphDataLoaded()
emitGraphDataLoaded(
graph,chunksLoaded,dataSourceType):void
Defined in: src/managers/EventManager.ts:134
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
Returns
void
emitGraphError()
emitGraphError(
graph,error,context,details?):void
Defined in: src/managers/EventManager.ts:112
Emits a graph error event
Parameters
graph
Graph or GraphContext instance where the error occurred
GraphContext | Graph | null
error
Error
Error object
context
Error context category
"xr" | "layout" | "init" | "data-loading" | "algorithm" | "other"
details?
Record<string, unknown>
Additional error details
Returns
void
emitGraphEvent()
emitGraphEvent(
type,data):void
Defined in: src/managers/EventManager.ts:196
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: src/managers/EventManager.ts:97
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: src/managers/EventManager.ts:178
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: src/managers/EventManager.ts:354
Emits a node event
Parameters
type
Node event type
"node-update-after" | "node-update-before" | "node-add-before" | "node-click" | "node-hover" | "node-drag-start" | "node-drag-end"
eventData
Omit<NodeEvent, "type">
Event data (excluding type field)
Returns
void
emitSelectionChanged()
emitSelectionChanged(
previousNode,currentNode):void
Defined in: src/managers/EventManager.ts:333
Emits a selection changed event when node selection changes
Parameters
previousNode
Previously selected node (or null)
Node | null
currentNode
Currently selected node (or null)
Node | null
Returns
void
init()
init():
Promise<void>
Defined in: src/managers/EventManager.ts:70
Initializes the event manager
Returns
Promise<void>
Promise that resolves when initialization is complete
Implementation of
listenerCount()
listenerCount():
number
Defined in: src/managers/EventManager.ts:480
Get the total number of registered listeners
Returns
number
Number of active listeners
once()
once(
type,callback):symbol
Defined in: src/managers/EventManager.ts:490
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: src/managers/EventManager.ts:465
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|GraphEvent|EdgeEvent|AiEvent>
Defined in: src/managers/EventManager.ts:505
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 | GraphEvent | EdgeEvent | AiEvent>
Promise that resolves with the event or rejects on timeout
withRetry()
withRetry<
T>(operation,context,graph,details?):Promise<T>
Defined in: src/managers/EventManager.ts:533
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
Error context category
"xr" | "layout" | "init" | "data-loading" | "algorithm" | "other"
graph
Graph or GraphContext instance
GraphContext | Graph | null
details?
Record<string, unknown>
Additional error details
Returns
Promise<T>
Promise that resolves with operation result or rejects after all retries fail