@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
58 lines • 8.54 kB
JavaScript
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