UNPKG

@foblex/flow

Version:

An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.

29 lines 3.34 kB
import { FChannel } from './f-channel'; export class FResizeChannel extends FChannel { _htmlElement; _observer = new ResizeObserver(() => this.notify()); _isObserving = false; constructor(_htmlElement) { super(); this._htmlElement = _htmlElement; } listen(callback) { if (!this._isObserving) { this._observer.observe(this._htmlElement); this._isObserving = true; } return super.listen(callback); } stop(callback) { super.stop(callback); if (this._listeners.size === 0) { this._disconnect(); } } _disconnect() { this._observer.unobserve(this._htmlElement); this._observer.disconnect(); this._isObserving = false; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZXNpemUtY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvcmVhY3Rpdml0eS9mLXJlc2l6ZS1jaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBTXRCO0lBSlosU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRXBELFlBQVksR0FBRyxLQUFLLENBQUM7SUFFN0IsWUFBb0IsWUFBc0M7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFEVSxpQkFBWSxHQUFaLFlBQVksQ0FBMEI7SUFFMUQsQ0FBQztJQUVlLE1BQU0sQ0FBQyxRQUEwQjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFZSxJQUFJLENBQUMsUUFBMEI7UUFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNoYW5uZWxMaXN0ZW5lciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRkNoYW5uZWwgfSBmcm9tICcuL2YtY2hhbm5lbCc7XG5cbmV4cG9ydCBjbGFzcyBGUmVzaXplQ2hhbm5lbCBleHRlbmRzIEZDaGFubmVsIHtcblxuICBwcml2YXRlIF9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLm5vdGlmeSgpKTtcblxuICBwcml2YXRlIF9pc09ic2VydmluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0bWxFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGxpc3RlbihjYWxsYmFjazogRkNoYW5uZWxMaXN0ZW5lcik6ICgpID0+IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNPYnNlcnZpbmcpIHtcbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5faHRtbEVsZW1lbnQpO1xuICAgICAgdGhpcy5faXNPYnNlcnZpbmcgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIubGlzdGVuKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzdG9wKGNhbGxiYWNrOiBGQ2hhbm5lbExpc3RlbmVyKTogdm9pZCB7XG4gICAgc3VwZXIuc3RvcChjYWxsYmFjayk7XG4gICAgaWYgKHRoaXMuX2xpc3RlbmVycy5zaXplID09PSAwKSB7XG4gICAgICB0aGlzLl9kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlci51bm9ic2VydmUodGhpcy5faHRtbEVsZW1lbnQpO1xuICAgIHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9pc09ic2VydmluZyA9IGZhbHNlO1xuICB9XG59XG4iXX0=