Skip to content

@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 ​

EventType

Event type to listen for

callback ​

EventCallbackType

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 ​

Manager.dispose


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? ​

HistoryCause

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 ​

ImportReport

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? ​

HistoryCause

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 | GraphContext

Graph or GraphContext instance

chunksLoaded ​

number

Number of data chunks loaded

dataSourceType ​

string

Type of data source used

report ​

ImportReport

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

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 ​

Graph | GraphContext

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 ​

GraphSnapshot

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 ​

Manager.init


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 ​

EventType

Event type to listen for

callback ​

EventCallbackType

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 ​

EventType

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