PrivateconstructorPrivate constructor to enforce singleton pattern. Subscribes to panel-cycle / panel-hide events on the cross-layer event bus so lower layers (input, scene) can drive the data-monitor without importing this UI module directly, which keeps the layer order clean.
Private StaticinstancePrivatemonitorsPrivatedefaultPrivatebusStaticgetGet the singleton instance of DataMonitorManager
Create a new DataLoadingMonitor instance
Unique identifier for this monitor
DOM container element
Optionalconfig: MonitorConfig
Optional monitor configuration
Whether to set this as the default monitor; the first monitor registered also becomes the default even when this is false
The created DataLoadingMonitor instance
Get a DataLoadingMonitor by ID
The monitor ID
The DataLoadingMonitor instance or null if not found
Get the default DataLoadingMonitor
The default DataLoadingMonitor instance or null
Destroy a specific monitor
The monitor ID to destroy
Destroy all monitors and reset the manager.
HIGH-8: also releases the cross-layer event-bus subscriptions taken in
the constructor. Without this, destroyAll() (called outside the
disposeInstance path — e.g. between dataset switches in tests) left
stale handlers wired on the bus, keeping references to a monitor-less
singleton alive and crashing on later panel-cycle / panel-hide
emissions. The subscriptions list is cleared so this is idempotent.
Check if a monitor exists
The monitor ID to check
True if the monitor exists
Get the number of active monitors
The number of active monitors
Show the default monitor or a specific monitor
Optionalid: string
Optional monitor ID, defaults to default monitor
Hide the default monitor or a specific monitor
Optionalid: string
Optional monitor ID, defaults to default monitor
Toggle the default monitor or a specific monitor
Optionalid: string
Optional monitor ID, defaults to default monitor
Cycle through monitor states: hidden → mini → expanded → hidden
Optionalid: string
Optional monitor ID, defaults to default monitor
StaticdisposeDispose the current instance and clear the singleton slot.
Used at app shutdown and between tests. The next getInstance() call
lazily constructs a fresh manager.
Manager for DataLoadingMonitor instances. Provides centralized access to monitor instances without global variables.