UNPKG

ngx-modialog-11

Version:
58 lines 5.41 kB
import { Directive, Input, ElementRef, ViewContainerRef } from '@angular/core'; import { DialogRef } from '../models/dialog-ref'; import { vcRefStore } from '../models/vc-ref-store'; /** * A directive use to signal the overlay that the host of this directive * is a dialog boundary, i.e: over click outside of the element should close the modal * (if non blocking) */ // tslint:disable-next-line:directive-class-suffix export class OverlayDialogBoundary { constructor(el, dialogRef) { if (dialogRef && el.nativeElement) { dialogRef.overlayRef.instance.setClickBoundary(el.nativeElement); } } } OverlayDialogBoundary.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line:directive-selector selector: '[overlayDialogBoundary]' },] } ]; /** @nocollapse */ OverlayDialogBoundary.ctorParameters = () => [ { type: ElementRef }, { type: DialogRef } ]; // tslint:disable-next-line:directive-class-suffix export class OverlayTarget { constructor(vcRef) { this.vcRef = vcRef; } set targetKey(value) { this._targetKey = value; if (value) { vcRefStore.setVCRef(value, this.vcRef); } } ngOnDestroy() { if (this._targetKey) { vcRefStore.delVCRef(this._targetKey, this.vcRef); } } } OverlayTarget.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line:directive-selector selector: '[overlayTarget]' },] } ]; /** @nocollapse */ OverlayTarget.ctorParameters = () => [ { type: ViewContainerRef } ]; OverlayTarget.propDecorators = { targetKey: [{ type: Input, args: ['overlayTarget',] }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1vZGlhbG9nLTExL3NyYy9saWIvb3ZlcmxheS9vdmVybGF5LmRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLGdCQUFnQixFQUVqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BEOzs7O0dBSUc7QUFLSCxrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFZLEVBQWMsRUFBRSxTQUF5QjtRQUNuRCxJQUFJLFNBQVMsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFO1lBQ2pDLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSx5QkFBeUI7YUFDcEM7Ozs7WUFqQkMsVUFBVTtZQUtILFNBQVM7O0FBMkJsQixrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLGFBQWE7SUFVeEIsWUFBb0IsS0FBdUI7UUFBdkIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7SUFDM0MsQ0FBQztJQVZELElBQTRCLFNBQVMsQ0FBQyxLQUFhO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQU9ELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsOENBQThDO2dCQUM5QyxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCOzs7O1lBOUJDLGdCQUFnQjs7O3dCQWlDZixLQUFLLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIElucHV0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJy4uL21vZGVscy9kaWFsb2ctcmVmJztcclxuaW1wb3J0IHsgdmNSZWZTdG9yZSB9IGZyb20gJy4uL21vZGVscy92Yy1yZWYtc3RvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi9vdmVybGF5LnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgZGlyZWN0aXZlIHVzZSB0byBzaWduYWwgdGhlIG92ZXJsYXkgdGhhdCB0aGUgaG9zdCBvZiB0aGlzIGRpcmVjdGl2ZVxyXG4gKiBpcyBhIGRpYWxvZyBib3VuZGFyeSwgaS5lOiBvdmVyIGNsaWNrIG91dHNpZGUgb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGNsb3NlIHRoZSBtb2RhbFxyXG4gKiAoaWYgbm9uIGJsb2NraW5nKVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnW292ZXJsYXlEaWFsb2dCb3VuZGFyeV0nXHJcbn0pXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBPdmVybGF5RGlhbG9nQm91bmRhcnkge1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBkaWFsb2dSZWY6IERpYWxvZ1JlZjxhbnk+KSB7XHJcbiAgICBpZiAoZGlhbG9nUmVmICYmIGVsLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgZGlhbG9nUmVmLm92ZXJsYXlSZWYuaW5zdGFuY2Uuc2V0Q2xpY2tCb3VuZGFyeShlbC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdbb3ZlcmxheVRhcmdldF0nXHJcbn0pXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBPdmVybGF5VGFyZ2V0IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBASW5wdXQoJ292ZXJsYXlUYXJnZXQnKSBzZXQgdGFyZ2V0S2V5KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3RhcmdldEtleSA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHZjUmVmU3RvcmUuc2V0VkNSZWYodmFsdWUsIHRoaXMudmNSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0S2V5OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmNSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuX3RhcmdldEtleSkge1xyXG4gICAgICB2Y1JlZlN0b3JlLmRlbFZDUmVmKHRoaXMuX3RhcmdldEtleSwgdGhpcy52Y1JlZik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==