| 123456789101112131415161718192021222324252627 |
- class TooltipManager {
- private activeCloser: (() => void) | null = null
-
- register(closeFn: () => void) {
- if (this.activeCloser)
- this.activeCloser()
- this.activeCloser = closeFn
- }
-
- clear(closeFn: () => void) {
- if (this.activeCloser === closeFn)
- this.activeCloser = null
- }
-
- /**
- * Closes the currently active tooltip by calling its closer function
- * and clearing the reference to it
- */
- closeActiveTooltip() {
- if (this.activeCloser) {
- this.activeCloser()
- this.activeCloser = null
- }
- }
- }
-
- export const tooltipManager = new TooltipManager()
|