UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

66 lines 2.29 kB
import { BaseEventObject } from "@aurigma/design-atoms-model/EventObject"; export class HoverHandler { constructor(_eventManager) { this._eventManager = _eventManager; this._currentPermanentHandler = null; this._currentHandler = null; this._hoverChangedEvent = new BaseEventObject(); this._onItemRemoved = (e) => { var _a; if (((_a = this._currentHandler) === null || _a === void 0 ? void 0 : _a.item) === e.item) this.hide(); }; this._eventManager.addItemRemoved(this._onItemRemoved); } get hoverChanged() { return this._hoverChangedEvent; } hide() { if (!this._currentHandler) return; this._currentHandler = null; this._hoverChangedEvent.notify(); } showPermanent(handler) { if (this._currentPermanentHandler === handler) return; this._currentPermanentHandler = handler; this._hoverChangedEvent.notify(); } hidePermanent() { if (!this._currentPermanentHandler) return; this._currentPermanentHandler = null; this._hoverChangedEvent.notify(); } show(handler) { if (handler === this._currentHandler) return; this._currentHandler = handler; this._hoverChangedEvent.notify(); } get currentHandler() { return this._currentHandler; } get label() { if (!this._currentHandler) return null; return this._currentHandler.item.name; } get labelPermanent() { if (!this._currentPermanentHandler) return null; if (this._currentPermanentHandler == this._currentHandler) return null; return this._currentPermanentHandler.item.name; } get rectanglePermanent() { if (!this._currentPermanentHandler) return null; if (this._currentPermanentHandler === this._currentHandler) return null; const rectangles = this._currentPermanentHandler.getHighlightRectangles({ includeChildren: false, includeParent: true }); return rectangles[0]; } } //# sourceMappingURL=HoverHandler.js.map