UNPKG

@universis/common

Version:

Universis - common directives and services

75 lines 8.05 kB
import { Input, EventEmitter, Component } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; export class RouterModal { constructor(router, activatedRoute) { this.router = router; this.activatedRoute = activatedRoute; this.modalChanges = new EventEmitter(); // } /** * Gets or modal window title */ get modalTitle() { return this._modalTitle; } set modalTitle(value) { this._modalTitle = value; this.modalChanges.emit({ modalTitle: this._modalTitle, modalClass: this._modalClass, }); } /** * Gets or sets modal window additional class */ get modalClass() { return this._modalClass; } set modalClass(value) { this._modalClass = value; this.modalChanges.emit({ modalTitle: this._modalTitle, modalClass: this._modalClass, }); } /** * Closes modal window */ close(navigationExtras) { return this.router.navigate([ { outlets: { modal: null } } ], { relativeTo: this.activatedRoute.parent, }).then(navigationEnd => { if (navigationEnd && navigationExtras) { if (this.activatedRoute.parent && this.activatedRoute.parent.component) { const finalNavigationExtras = Object.assign({ relativeTo: this.activatedRoute.parent }, navigationExtras); return this.router.navigate(['.'], finalNavigationExtras); } } return Promise.resolve(navigationEnd); }); } } RouterModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RouterModal, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); RouterModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RouterModal, selector: "ng-component", inputs: { modalTitle: "modalTitle", modalClass: "modalClass" }, ngImport: i0, template: '', isInline: true }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RouterModal, decorators: [{ type: Component, args: [{ template: '' }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; }, propDecorators: { modalTitle: [{ type: Input }], modalClass: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9yb3V0aW5nL3NyYy9Sb3V0ZXJNb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBb0IsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQVV6RSxNQUFNLE9BQWdCLFdBQVc7SUFDN0IsWUFBc0IsTUFBYyxFQUFZLGNBQThCO1FBQXhELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFLOUQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUo1RCxFQUFFO0lBQ04sQ0FBQztJQUtEOztPQUVHO0lBQ0gsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUF5QjtRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBeUI7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVztTQUMvQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQW1DO1FBQzVDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDeEI7Z0JBQ0ksT0FBTyxFQUFFO29CQUNMLEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7U0FDSixFQUFFO1lBQ0MsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTTtTQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ3JCLElBQUksYUFBYSxJQUFJLGdCQUFnQixFQUFFO2dCQUNuQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtvQkFDcEUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO3dCQUN4QyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNO3FCQUN6QyxFQUFFLGdCQUFnQixDQUFDLENBQUM7b0JBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUUsQ0FBRSxHQUFHLENBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2lCQUNoRTthQUNKO1lBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7eUdBNURpQixXQUFXOzZGQUFYLFdBQVcsb0hBRm5CLEVBQUU7NEZBRU0sV0FBVztrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswSEFhSyxVQUFVO3NCQURiLEtBQUs7Z0JBZ0JGLFVBQVU7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5wdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTW9kYWxDaGFuZ2VzIHtcbiAgICBtb2RhbFRpdGxlPzogc3RyaW5nO1xuICAgIG1vZGFsQ2xhc3M/OiBzdHJpbmc7XG59XG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJydcbiAgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb3V0ZXJNb2RhbCB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgICAgIC8vXG4gICAgfVxuICAgIHByaXZhdGUgX21vZGFsVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIF9tb2RhbENsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcHVibGljIHJlYWRvbmx5IG1vZGFsQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8TW9kYWxDaGFuZ2VzPigpO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBvciBtb2RhbCB3aW5kb3cgdGl0bGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBtb2RhbFRpdGxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RhbFRpdGxlO1xuICAgIH1cbiAgICBzZXQgbW9kYWxUaXRsZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX21vZGFsVGl0bGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5tb2RhbENoYW5nZXMuZW1pdCh7XG4gICAgICAgICAgICBtb2RhbFRpdGxlOiB0aGlzLl9tb2RhbFRpdGxlLFxuICAgICAgICAgICAgbW9kYWxDbGFzczogdGhpcy5fbW9kYWxDbGFzcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBvciBzZXRzIG1vZGFsIHdpbmRvdyBhZGRpdGlvbmFsIGNsYXNzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgbW9kYWxDbGFzcygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kYWxDbGFzcztcbiAgICB9XG4gICAgc2V0IG1vZGFsQ2xhc3ModmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9tb2RhbENsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMubW9kYWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICAgICAgbW9kYWxUaXRsZTogdGhpcy5fbW9kYWxUaXRsZSxcbiAgICAgICAgICAgIG1vZGFsQ2xhc3M6IHRoaXMuX21vZGFsQ2xhc3MsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgbW9kYWwgd2luZG93XG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3V0bGV0czoge1xuICAgICAgICAgICAgICAgICAgICBtb2RhbDogbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXSwge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJlbnQsXG4gICAgICAgIH0pLnRoZW4oIG5hdmlnYXRpb25FbmQgPT4ge1xuICAgICAgICAgICAgaWYgKG5hdmlnYXRpb25FbmQgJiYgbmF2aWdhdGlvbkV4dHJhcykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmVudCAmJiB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmVudC5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluYWxOYXZpZ2F0aW9uRXh0cmFzID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmVudFxuICAgICAgICAgICAgICAgICAgICB9LCBuYXZpZ2F0aW9uRXh0cmFzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKCBbICcuJyBdLCBmaW5hbE5hdmlnYXRpb25FeHRyYXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobmF2aWdhdGlvbkVuZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==