UNPKG

ngx-tiptap-editor

Version:

[![Build and Publish](https://github.com/HuiiBuh/ngx-tiptap-editor/actions/workflows/publish.yml/badge.svg)](https://github.com/HuiiBuh/ngx-tiptap-editor/actions/workflows/publish.yml) [![Deploy to Github Pages](https://github.com/HuiiBuh/ngx-tiptap-edito

73 lines 9.95 kB
import { Directive, InjectionToken } from '@angular/core'; import { fromEvent, Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; import * as i0 from "@angular/core"; export const TIP_DIALOG_DATA = new InjectionToken('DIALOG_DATA'); export class DialogRef { /* tslint:enable */ constructor(_component, appRef, dialogWrapperComponentRef, config) { this._component = _component; this.appRef = appRef; this.dialogWrapperComponentRef = dialogWrapperComponentRef; this.config = config; /* tslint:disable member-ordering*/ this.subject$ = new Subject(); this.result$ = this.subject$.asObservable(); this._done = false; } get component() { return this._component; } get done() { return this._done; } get dialogConfig() { const copy = { ...this.config }; delete copy.data; return copy; } get dialogWrapperComponent() { return this.dialogWrapperComponentRef.component; } submit(data) { this.sendResult(data, 'success'); } cancel() { this.sendResult(null, 'canceled'); } sendResult(data, status) { if (this.done) return; this.appRef.detachView(this.dialogWrapperComponent.hostView); this.dialogWrapperComponent.destroy(); this._done = true; this.subject$.next({ data, status }); this.subject$.complete(); } } // tslint:disable-next-line:directive-class-suffix export class DialogBaseClass { constructor() { this.destroy$ = new Subject(); } ngOnInit() { this.ngZone.runOutsideAngular(() => { fromEvent(this.document, 'keydown').pipe(filter(e => e.key === 'Escape'), takeUntil(this.destroy$)).subscribe(() => this.ngZone.run(() => this.closeDialog())); }); } ngOnDestroy() { this.destroy$.next(true); this.destroy$.complete(); } closeDialog() { if (!this.dialogRef.dialogConfig.autoClose) return; this.dialogRef.cancel(); } } DialogBaseClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DialogBaseClass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); DialogBaseClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: DialogBaseClass, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DialogBaseClass, decorators: [{ type: Directive }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGlwdGFwLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsU0FBUyxFQUFFLGNBQWMsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbkQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFrQixhQUFhLENBQUMsQ0FBQztBQTRCbEYsTUFBTSxPQUFPLFNBQVM7SUFNcEIsbUJBQW1CO0lBRW5CLFlBQ1UsVUFBcUIsRUFDckIsTUFBc0IsRUFDdEIseUJBQXdFLEVBQ3hFLE1BQTBEO1FBSDFELGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUErQztRQUN4RSxXQUFNLEdBQU4sTUFBTSxDQUFvRDtRQVhwRSxtQ0FBbUM7UUFDM0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUE2QixDQUFDO1FBQ3JELFlBQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLFVBQUssR0FBRyxLQUFLLENBQUM7SUFVdEIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVksc0JBQXNCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQW1CLEVBQUUsTUFBb0M7UUFDMUUsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBR0Qsa0RBQWtEO0FBQ2xELE1BQU0sT0FBZ0IsZUFBZTtJQUZyQztRQU1ZLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0tBcUI3QztJQW5CUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsU0FBUyxDQUFnQixJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDckQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsRUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7NEdBdkJtQixlQUFlO2dHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFGcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4sIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBUSVBfRElBTE9HX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlhbG9nRGF0YTxhbnk+PignRElBTE9HX0RBVEEnKTtcblxuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5RGF0YTxEPiB7XG4gIGRhdGE/OiBEO1xuICBhdXRvQ2xvc2U6IGJvb2xlYW47XG4gIG1heFdpZHRoOiBzdHJpbmc7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGJhY2tkcm9wQ29sb3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhPEQ+IGV4dGVuZHMgT3ZlcmxheURhdGE8RD4ge1xuICB0eXBlOiAnZGlhbG9nJztcbiAgcG9zaXRpb246ICd0b3AnIHwgJ2NlbnRlcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlckRhdGE8RD4gZXh0ZW5kcyBPdmVybGF5RGF0YTxEPiB7XG4gIHR5cGU6ICdwb3BvdmVyJztcbiAgcG9zaXRpb246IHtcbiAgICB4OiBudW1iZXIsXG4gICAgeTogbnVtYmVyLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3VsdERhdGE8RD4ge1xuICBkYXRhOiBSZXN1bHREYXRhPEQ+WydzdGF0dXMnXSBleHRlbmRzICdjYW5jZWxlZCcgPyBudWxsIDogRDtcbiAgc3RhdHVzOiAnc3VjY2VzcycgfCAnY2FuY2VsZWQnO1xufVxuXG5leHBvcnQgY2xhc3MgRGlhbG9nUmVmPFJFU1VMVCwgQ09ORklHX0RBVEEsIENPTVBPTkVOVD4ge1xuICAvKiB0c2xpbnQ6ZGlzYWJsZSBtZW1iZXItb3JkZXJpbmcqL1xuICBwcml2YXRlIHN1YmplY3QkID0gbmV3IFN1YmplY3Q8UmVzdWx0RGF0YTxSRVNVTFQgfCBudWxsPj4oKTtcbiAgcHVibGljIHJlc3VsdCQgPSB0aGlzLnN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIF9kb25lID0gZmFsc2U7XG5cbiAgLyogdHNsaW50OmVuYWJsZSAqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NvbXBvbmVudDogQ09NUE9ORU5ULFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIGRpYWxvZ1dyYXBwZXJDb21wb25lbnRSZWY6IHsgY29tcG9uZW50PzogQ29tcG9uZW50UmVmPERpYWxvZ0Jhc2VDbGFzcz4gfSxcbiAgICBwcml2YXRlIGNvbmZpZzogRGlhbG9nRGF0YTxDT05GSUdfREFUQT4gfCBQb3BvdmVyRGF0YTxDT05GSUdfREFUQT5cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudCgpOiBDT01QT05FTlQge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvbmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpYWxvZ0NvbmZpZygpOiBPbWl0PERpYWxvZ0RhdGE8Q09ORklHX0RBVEE+LCAnZGF0YSc+IHwgT21pdDxQb3BvdmVyRGF0YTxDT05GSUdfREFUQT4sICdkYXRhJz4ge1xuICAgIGNvbnN0IGNvcHkgPSB7Li4udGhpcy5jb25maWd9O1xuICAgIGRlbGV0ZSBjb3B5LmRhdGE7XG4gICAgcmV0dXJuIGNvcHk7XG4gIH1cblxuICBwcml2YXRlIGdldCBkaWFsb2dXcmFwcGVyQ29tcG9uZW50KCk6IENvbXBvbmVudFJlZjxEaWFsb2dCYXNlQ2xhc3M+IHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dXcmFwcGVyQ29tcG9uZW50UmVmLmNvbXBvbmVudCE7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KGRhdGE6IFJFU1VMVCk6IHZvaWQge1xuICAgIHRoaXMuc2VuZFJlc3VsdChkYXRhLCAnc3VjY2VzcycpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRSZXN1bHQobnVsbCwgJ2NhbmNlbGVkJyk7XG4gIH1cblxuICBwcml2YXRlIHNlbmRSZXN1bHQoZGF0YTogUkVTVUxUIHwgbnVsbCwgc3RhdHVzOiBSZXN1bHREYXRhPFJFU1VMVD5bJ3N0YXR1cyddKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZG9uZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmRpYWxvZ1dyYXBwZXJDb21wb25lbnQuaG9zdFZpZXcpO1xuICAgIHRoaXMuZGlhbG9nV3JhcHBlckNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgdGhpcy5fZG9uZSA9IHRydWU7XG4gICAgdGhpcy5zdWJqZWN0JC5uZXh0KHtkYXRhLCBzdGF0dXN9KTtcbiAgICB0aGlzLnN1YmplY3QkLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSgpXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERpYWxvZ0Jhc2VDbGFzcyBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG5nWm9uZTogTmdab25lO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55LCBhbnksIGFueT47XG4gIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLmRvY3VtZW50LCAna2V5ZG93bicpLnBpcGUoXG4gICAgICAgIGZpbHRlcihlID0+IGUua2V5ID09PSAnRXNjYXBlJyksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2xvc2VEaWFsb2coKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VEaWFsb2coKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpYWxvZ1JlZi5kaWFsb2dDb25maWcuYXV0b0Nsb3NlKSByZXR1cm47XG4gICAgdGhpcy5kaWFsb2dSZWYuY2FuY2VsKCk7XG4gIH1cblxufVxuIl19