UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

58 lines 8.54 kB
import { Component } from '@angular/core'; import { NavigationEnd } from '@angular/router'; import { GroupNavigationConstants } from '../model/group-navigation-constants'; import { filter } from 'rxjs/operators'; import { destroySubscription } from '../../utility/destroy-subscription'; import * as i0 from "@angular/core"; import * as i1 from "./group-navigation-component-resolver.service"; import * as i2 from "@angular/router"; import * as i3 from "../../logger/services/logger.service"; export class AbstractGroupNavigationComponentResolverComponent { _componentResolverService; _parentInjector; _activatedRoute; _router; _log; portal; initialized = false; errored = false; _portalSub; _routerSub; constructor(_componentResolverService, _parentInjector, _activatedRoute, _router, _log) { this._componentResolverService = _componentResolverService; this._parentInjector = _parentInjector; this._activatedRoute = _activatedRoute; this._router = _router; this._log = _log; } ngOnInit() { this.resolveComponent(); this._routerSub = this._router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => { this.resolveComponent(); }); } ngOnDestroy() { destroySubscription(this._portalSub); destroySubscription(this._routerSub); } resolveComponent() { this.initialized = false; this._portalSub = this._componentResolverService.createResolvedViewComponentPortal(this._activatedRoute.snapshot.paramMap.get(GroupNavigationConstants.GROUP_NAVIGATION_ROUTER_PARAM), this._parentInjector).subscribe(portal => { this.portal = portal; this.initialized = true; }, error => { this._log.error(error); this.errored = true; }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractGroupNavigationComponentResolverComponent, deps: [{ token: i1.GroupNavigationComponentResolverService }, { token: i0.Injector }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.LoggerService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractGroupNavigationComponentResolverComponent, selector: "ncc-abstract-group-nagiation-resolver", ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractGroupNavigationComponentResolverComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-group-nagiation-resolver', template: '' }] }], ctorParameters: () => [{ type: i1.GroupNavigationComponentResolverService }, { type: i0.Injector }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.LoggerService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2Fic3RyYWN0LWdyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQWlCLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFPdkUsTUFBTSxPQUFnQixpREFBaUQ7SUFTbkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVh6QixNQUFNLENBQXVCO0lBQzdCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVmLFVBQVUsQ0FBZTtJQUN6QixVQUFVLENBQWU7SUFFakMsWUFBZ0MseUJBQWtFLEVBQ2xFLGVBQXlCLEVBQ3pCLGVBQStCLEVBQy9CLE9BQWUsRUFDZixJQUFtQjtRQUpuQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQXlDO1FBQ2xFLG9CQUFlLEdBQWYsZUFBZSxDQUFVO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxpQ0FBaUMsQ0FDOUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyw2QkFBNkIsQ0FBQyxFQUNsRyxJQUFJLENBQUMsZUFBZSxDQUN2QixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBeENpQixpREFBaUQ7NEZBQWpELGlEQUFpRCw2RUFGekQsRUFBRTs7NEZBRU0saURBQWlEO2tCQUp0RSxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHcm91cE5hdmlnYXRpb25Db21wb25lbnRSZXNvbHZlclNlcnZpY2V9IGZyb20gJy4vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7R3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzfSBmcm9tICcuLi9tb2RlbC9ncm91cC1uYXZpZ2F0aW9uLWNvbnN0YW50cyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtkZXN0cm95U3Vic2NyaXB0aW9ufSBmcm9tICcuLi8uLi91dGlsaXR5L2Rlc3Ryb3ktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZ3JvdXAtbmFnaWF0aW9uLXJlc29sdmVyJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RHcm91cE5hdmlnYXRpb25Db21wb25lbnRSZXNvbHZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxhbnk+O1xuICAgIHB1YmxpYyBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBlcnJvcmVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9wb3J0YWxTdWI6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIF9yb3V0ZXJTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NvbXBvbmVudFJlc29sdmVyU2VydmljZTogR3JvdXBOYXZpZ2F0aW9uQ29tcG9uZW50UmVzb2x2ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhcmVudEluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb2x2ZUNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLl9yb3V0ZXJTdWIgPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVDb21wb25lbnQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGRlc3Ryb3lTdWJzY3JpcHRpb24odGhpcy5fcG9ydGFsU3ViKTtcbiAgICAgICAgZGVzdHJveVN1YnNjcmlwdGlvbih0aGlzLl9yb3V0ZXJTdWIpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlQ29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3BvcnRhbFN1YiA9IHRoaXMuX2NvbXBvbmVudFJlc29sdmVyU2VydmljZS5jcmVhdGVSZXNvbHZlZFZpZXdDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLkdST1VQX05BVklHQVRJT05fUk9VVEVSX1BBUkFNKSxcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudEluamVjdG9yXG4gICAgICAgICkuc3Vic2NyaWJlKHBvcnRhbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvcnRhbCA9IHBvcnRhbDtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5lcnJvcmVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19