UNPKG

angular-rich-text-editor

Version:

A lightweight, configurable rich-text editor component for Angular applications.

28 lines 3.38 kB
export class EditorEventManager { editorInstance; listeners = []; constructor(editorInstance) { this.editorInstance = editorInstance; } attach(event, handler) { if (this.editorInstance?.attachEvent) { this.editorInstance.attachEvent(event, handler); this.listeners.push({ event, handler }); } } attachMany(events, handler) { events.forEach(event => this.attach(event, handler)); } detachAll() { if (this.editorInstance?.detachEvent) { this.listeners.forEach(({ event, handler }) => { try { this.editorInstance.detachEvent(event, handler); } catch { } }); } this.listeners = []; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWV2ZW50LW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaWNoLXRleHQtZWRpdG9yL3NyYy9saWIvdXRpbHMvZWRpdG9yLWV2ZW50LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGtCQUFrQjtJQUdUO0lBRlosU0FBUyxHQUFrQixFQUFFLENBQUM7SUFFdEMsWUFBb0IsY0FBbUI7UUFBbkIsbUJBQWMsR0FBZCxjQUFjLENBQUs7SUFBRyxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxLQUFhLEVBQUUsT0FBMkI7UUFDL0MsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWdCLEVBQUUsT0FBMkI7UUFDdEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUM7b0JBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxDQUFDO2dCQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFZGl0b3JFdmVudEhhbmRsZXIgPSAoKSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvckV2ZW50IHtcbiAgZXZlbnQ6IHN0cmluZztcbiAgaGFuZGxlcjogRWRpdG9yRXZlbnRIYW5kbGVyO1xufVxuXG5leHBvcnQgY2xhc3MgRWRpdG9yRXZlbnRNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBsaXN0ZW5lcnM6IEVkaXRvckV2ZW50W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvckluc3RhbmNlOiBhbnkpIHt9XG5cbiAgYXR0YWNoKGV2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEVkaXRvckV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRvckluc3RhbmNlPy5hdHRhY2hFdmVudCkge1xuICAgICAgdGhpcy5lZGl0b3JJbnN0YW5jZS5hdHRhY2hFdmVudChldmVudCwgaGFuZGxlcik7XG4gICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHsgZXZlbnQsIGhhbmRsZXIgfSk7XG4gICAgfVxuICB9XG5cbiAgYXR0YWNoTWFueShldmVudHM6IHN0cmluZ1tdLCBoYW5kbGVyOiBFZGl0b3JFdmVudEhhbmRsZXIpOiB2b2lkIHtcbiAgICBldmVudHMuZm9yRWFjaChldmVudCA9PiB0aGlzLmF0dGFjaChldmVudCwgaGFuZGxlcikpO1xuICB9XG5cbiAgZGV0YWNoQWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRvckluc3RhbmNlPy5kZXRhY2hFdmVudCkge1xuICAgICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgoeyBldmVudCwgaGFuZGxlciB9KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5lZGl0b3JJbnN0YW5jZS5kZXRhY2hFdmVudChldmVudCwgaGFuZGxlcik7XG4gICAgICAgIH0gY2F0Y2gge31cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmxpc3RlbmVycyA9IFtdO1xuICB9XG59XG4iXX0=