@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
46 lines • 7.45 kB
JavaScript
import { Injector } from '@angular/core';
import { ComponentPortal } from '@angular/cdk/portal';
import { ReplaySubject } from 'rxjs';
import { NAE_NAVIGATION_ITEM_TASK_DATA } from '../model/filter-case-injection-token';
import { HttpErrorResponse } from '@angular/common/http';
export class GroupNavigationComponentResolverService {
_taskResourceService;
_pathService;
_log;
constructor(_taskResourceService, _pathService, _log) {
this._taskResourceService = _taskResourceService;
this._pathService = _pathService;
this._log = _log;
}
createResolvedViewComponentPortal(taskId, parentInjector) {
const result = new ReplaySubject(1);
this._taskResourceService.getData(taskId).subscribe(taskData => {
try {
if (!this._pathService.isMenuResolverClosed) {
this._pathService.datafieldsForMenuResolver = taskData;
}
result.next(new ComponentPortal(this.resolveViewComponent(taskData), null, Injector.create({
providers: [
{ provide: NAE_NAVIGATION_ITEM_TASK_DATA, useValue: taskData },
],
parent: parentInjector
})));
result.complete();
}
catch (e) {
this.forwardError(result, e);
}
}, e => {
this.forwardError(result, e);
});
return result.asObservable();
}
forwardError(result, error) {
if (!this._pathService.isMenuResolverClosed) {
this._pathService.datafieldsForMenuResolverError = error;
}
result.error(error instanceof HttpErrorResponse ? error.error.message : error.message);
result.complete();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFJbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsTUFBTSxPQUFnQix1Q0FBdUM7SUFFekI7SUFDQTtJQUNBO0lBRmhDLFlBQWdDLG9CQUF5QyxFQUN6QyxZQUF5QixFQUN6QixJQUFtQjtRQUZuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFNBQUksR0FBSixJQUFJLENBQWU7SUFDbkQsQ0FBQztJQUlNLGlDQUFpQyxDQUFDLE1BQWMsRUFBRSxjQUF3QjtRQUM3RSxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBdUIsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0QsSUFBSTtnQkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsR0FBRyxRQUFRLENBQUM7aUJBQzFEO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFDbkMsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ1osU0FBUyxFQUFFO3dCQUNQLEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUM7cUJBQy9EO29CQUNELE1BQU0sRUFBRSxjQUFjO2lCQUN6QixDQUFDLENBQ0wsQ0FBQyxDQUFDO2dCQUNILE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNyQjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQW9CLEVBQUUsS0FBWTtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztTQUM1RDtRQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxZQUFZLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBfSBmcm9tICcuLi9tb2RlbC9maWx0ZXItY2FzZS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3Rhc2stcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0RhdGFHcm91cH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9kYXRhLWdyb3Vwcyc7XG5pbXBvcnQge0h0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBQYXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvcGF0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdyb3VwTmF2aWdhdGlvbkNvbXBvbmVudFJlc29sdmVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhdGhTZXJ2aWNlOiBQYXRoU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzb2x2ZVZpZXdDb21wb25lbnQobmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogQXJyYXk8RGF0YUdyb3VwPik6IFR5cGU8YW55PjtcblxuICAgIHB1YmxpYyBjcmVhdGVSZXNvbHZlZFZpZXdDb21wb25lbnRQb3J0YWwodGFza0lkOiBzdHJpbmcsIHBhcmVudEluamVjdG9yOiBJbmplY3Rvcik6IE9ic2VydmFibGU8Q29tcG9uZW50UG9ydGFsPGFueT4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFJlcGxheVN1YmplY3Q8Q29tcG9uZW50UG9ydGFsPGFueT4+KDEpO1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmdldERhdGEodGFza0lkKS5zdWJzY3JpYmUodGFza0RhdGEgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3BhdGhTZXJ2aWNlLmlzTWVudVJlc29sdmVyQ2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmRhdGFmaWVsZHNGb3JNZW51UmVzb2x2ZXIgPSB0YXNrRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzdWx0Lm5leHQobmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlVmlld0NvbXBvbmVudCh0YXNrRGF0YSksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvdmlkZTogTkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEEsIHVzZVZhbHVlOiB0YXNrRGF0YX0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBwYXJlbnRJbmplY3RvclxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9yd2FyZEVycm9yKHJlc3VsdCwgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3J3YXJkRXJyb3IocmVzdWx0LCBlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcndhcmRFcnJvcihyZXN1bHQ6IFN1YmplY3Q8YW55PiwgZXJyb3I6IEVycm9yKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fcGF0aFNlcnZpY2UuaXNNZW51UmVzb2x2ZXJDbG9zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmRhdGFmaWVsZHNGb3JNZW51UmVzb2x2ZXJFcnJvciA9IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5lcnJvcihlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gZXJyb3IuZXJyb3IubWVzc2FnZSA6IGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICByZXN1bHQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=