UNPKG

@netgrif/components

Version:

Netgrif Application Engine frontend Angular components

90 lines 17.1 kB
import { Component } from '@angular/core'; import { ActivatedRoute } from "@angular/router"; import { AsyncPipe } from "@angular/common"; import { combineLatest } from "rxjs"; import { map } from "rxjs/operators"; import { TaskViewService, PublicTaskLoadingService, SearchService, RedirectService, ChangedFieldsService, ProcessServiceProvider, TaskResourceServiceProvider, CaseResourceServiceProvider, BaseFilterFactoryProvider, AllowedNetsService, AllowedNetsServiceFactory, NAE_VIEW_ID_SEGMENT, ViewIdService, TaskContentService, SingleTaskContentService, TaskDataService, FinishTaskService, TaskRequestStateService, TaskEventService, NAE_TASK_OPERATIONS, SubjectTaskOperations, AbstractSingleTaskViewComponent } from '@netgrif/components-core'; import * as i0 from "@angular/core"; import * as i1 from "@netgrif/components-core"; import * as i2 from "@angular/router"; import * as i3 from "@ngbracket/ngx-layout"; import * as i4 from "../../../../../panel/task-panel-single/single-task.component"; const localAllowedNetsServiceFactory = (factory, route) => { const array = []; if (route.snapshot.paramMap.get('petriNetId') !== null) { array.push(route.snapshot.paramMap.get('petriNetId')); } return factory.createFromArray(array); }; export class DefaultPublicSingleTaskViewComponent extends AbstractSingleTaskViewComponent { _router; hidden; constructor(taskViewService, publicTaskLoadingService, activatedRoute, _router) { super(taskViewService, activatedRoute); this._router = _router; this.hidden = false; this.loading$ = combineLatest(taskViewService.loading$, publicTaskLoadingService.loading$).pipe(map(sources => { return sources[0] || sources[1]; })); } ngOnInit() { this._router.routeReuseStrategy.shouldReuseRoute = () => false; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultPublicSingleTaskViewComponent, deps: [{ token: i1.TaskViewService }, { token: i1.PublicTaskLoadingService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultPublicSingleTaskViewComponent, selector: "nc-default-public-single-task-view", providers: [ TaskViewService, PublicTaskLoadingService, SearchService, RedirectService, ChangedFieldsService, ProcessServiceProvider, TaskResourceServiceProvider, CaseResourceServiceProvider, BaseFilterFactoryProvider, { provide: AllowedNetsService, useFactory: localAllowedNetsServiceFactory, deps: [AllowedNetsServiceFactory, ActivatedRoute] }, { provide: NAE_VIEW_ID_SEGMENT, useValue: 'publicTaskView' }, ViewIdService, { provide: TaskContentService, useClass: SingleTaskContentService }, TaskDataService, FinishTaskService, TaskRequestStateService, TaskEventService, { provide: NAE_TASK_OPERATIONS, useClass: SubjectTaskOperations }, { provide: AllowedNetsServiceFactory, useClass: AllowedNetsServiceFactory }, AsyncPipe ], usesInheritance: true, ngImport: i0, template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-single-task [task$]=\"task$\" [loading$]=\"loading$\" [selectedHeaders$]=\"selectedHeaders$\"\n [actionRowJustifyContent]='\"center\"' [hideActionRow]=\"false\" fxFlex></nc-single-task>\n </div>\n</div>\n\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.content-margin{margin:0 8px}.task-panel-padding-mini{padding-bottom:8px;padding-top:8px}.full-height{height:100%}\n"], dependencies: [{ kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.SingleTaskComponent, selector: "nc-single-task" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultPublicSingleTaskViewComponent, decorators: [{ type: Component, args: [{ selector: 'nc-default-public-single-task-view', providers: [ TaskViewService, PublicTaskLoadingService, SearchService, RedirectService, ChangedFieldsService, ProcessServiceProvider, TaskResourceServiceProvider, CaseResourceServiceProvider, BaseFilterFactoryProvider, { provide: AllowedNetsService, useFactory: localAllowedNetsServiceFactory, deps: [AllowedNetsServiceFactory, ActivatedRoute] }, { provide: NAE_VIEW_ID_SEGMENT, useValue: 'publicTaskView' }, ViewIdService, { provide: TaskContentService, useClass: SingleTaskContentService }, TaskDataService, FinishTaskService, TaskRequestStateService, TaskEventService, { provide: NAE_TASK_OPERATIONS, useClass: SubjectTaskOperations }, { provide: AllowedNetsServiceFactory, useClass: AllowedNetsServiceFactory }, AsyncPipe ], template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-single-task [task$]=\"task$\" [loading$]=\"loading$\" [selectedHeaders$]=\"selectedHeaders$\"\n [actionRowJustifyContent]='\"center\"' [hideActionRow]=\"false\" fxFlex></nc-single-task>\n </div>\n</div>\n\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.content-margin{margin:0 8px}.task-panel-padding-mini{padding-bottom:8px;padding-top:8px}.full-height{height:100%}\n"] }] }], ctorParameters: () => [{ type: i1.TaskViewService }, { type: i1.PublicTaskLoadingService }, { type: i2.ActivatedRoute }, { type: i2.Router }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wdWJsaWMtc2luZ2xlLXRhc2stdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy9wdWJsaWMvZGVmYXVsdC1wdWJsaWMtc2luZ2xlLXRhc2stdmlldy9kZWZhdWx0LXB1YmxpYy1zaW5nbGUtdGFzay12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL3B1YmxpYy9kZWZhdWx0LXB1YmxpYy1zaW5nbGUtdGFzay12aWV3L2RlZmF1bHQtcHVibGljLXNpbmdsZS10YXNrLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIseUJB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QkFBeUIsRUFBRSxjQUFjLENBQUM7eUJBQ3BEO3dCQUNELEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQzt3QkFDMUQsYUFBYTt3QkFDYixFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUM7d0JBQ2pFLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFDO3dCQUMvRCxFQUFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUM7d0JBQ3pFLFNBQVM7cUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7bWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7XG4gICAgVGFza1ZpZXdTZXJ2aWNlLFxuICAgIFB1YmxpY1Rhc2tMb2FkaW5nU2VydmljZSxcbiAgICBTZWFyY2hTZXJ2aWNlLFxuICAgIFJlZGlyZWN0U2VydmljZSxcbiAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICBQcm9jZXNzU2VydmljZVByb3ZpZGVyLFxuICAgIFRhc2tSZXNvdXJjZVNlcnZpY2VQcm92aWRlcixcbiAgICBDYXNlUmVzb3VyY2VTZXJ2aWNlUHJvdmlkZXIsXG4gICAgQmFzZUZpbHRlckZhY3RvcnlQcm92aWRlcixcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBOQUVfVklFV19JRF9TRUdNRU5ULFxuICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgIFNpbmdsZVRhc2tDb250ZW50U2VydmljZSxcbiAgICBUYXNrRGF0YVNlcnZpY2UsXG4gICAgRmluaXNoVGFza1NlcnZpY2UsXG4gICAgVGFza1JlcXVlc3RTdGF0ZVNlcnZpY2UsXG4gICAgVGFza0V2ZW50U2VydmljZSxcbiAgICBOQUVfVEFTS19PUEVSQVRJT05TLFxuICAgIFN1YmplY3RUYXNrT3BlcmF0aW9ucyxcbiAgICBBYnN0cmFjdFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50XG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbmNvbnN0IGxvY2FsQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSA9IChmYWN0b3J5OiBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LCByb3V0ZTogQWN0aXZhdGVkUm91dGUpID0+IHtcbiAgICBjb25zdCBhcnJheSA9IFtdO1xuICAgIGlmIChyb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3BldHJpTmV0SWQnKSAhPT0gbnVsbCkge1xuICAgICAgICBhcnJheS5wdXNoKHJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgncGV0cmlOZXRJZCcpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRnJvbUFycmF5KGFycmF5KTtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZGVmYXVsdC1wdWJsaWMtc2luZ2xlLXRhc2stdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtcHVibGljLXNpbmdsZS10YXNrLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlZmF1bHQtcHVibGljLXNpbmdsZS10YXNrLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVGFza1ZpZXdTZXJ2aWNlLFxuICAgICAgICBQdWJsaWNUYXNrTG9hZGluZ1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIFJlZGlyZWN0U2VydmljZSxcbiAgICAgICAgQ2hhbmdlZEZpZWxkc1NlcnZpY2UsXG4gICAgICAgIFByb2Nlc3NTZXJ2aWNlUHJvdmlkZXIsXG4gICAgICAgIFRhc2tSZXNvdXJjZVNlcnZpY2VQcm92aWRlcixcbiAgICAgICAgQ2FzZVJlc291cmNlU2VydmljZVByb3ZpZGVyLFxuICAgICAgICBCYXNlRmlsdGVyRmFjdG9yeVByb3ZpZGVyLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgQWN0aXZhdGVkUm91dGVdXG4gICAgICAgIH0sXG4gICAgICAgIHtwcm92aWRlOiBOQUVfVklFV19JRF9TRUdNRU5ULCB1c2VWYWx1ZTogJ3B1YmxpY1Rhc2tWaWV3J30sXG4gICAgICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgICAgIHtwcm92aWRlOiBUYXNrQ29udGVudFNlcnZpY2UsIHVzZUNsYXNzOiBTaW5nbGVUYXNrQ29udGVudFNlcnZpY2V9LFxuICAgICAgICBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgIEZpbmlzaFRhc2tTZXJ2aWNlLFxuICAgICAgICBUYXNrUmVxdWVzdFN0YXRlU2VydmljZSxcbiAgICAgICAgVGFza0V2ZW50U2VydmljZSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9UQVNLX09QRVJBVElPTlMsIHVzZUNsYXNzOiBTdWJqZWN0VGFza09wZXJhdGlvbnN9LFxuICAgICAgICB7cHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgdXNlQ2xhc3M6IEFsbG93ZWROZXRzU2VydmljZUZhY3Rvcnl9LFxuICAgICAgICBBc3luY1BpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRQdWJsaWNTaW5nbGVUYXNrVmlld0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2luZ2xlVGFza1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgaGlkZGVuOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IodGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHVibGljVGFza0xvYWRpbmdTZXJ2aWNlOiBQdWJsaWNUYXNrTG9hZGluZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAgICAgc3VwZXIodGFza1ZpZXdTZXJ2aWNlLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMubG9hZGluZyQgPSBjb21iaW5lTGF0ZXN0KHRhc2tWaWV3U2VydmljZS5sb2FkaW5nJCwgcHVibGljVGFza0xvYWRpbmdTZXJ2aWNlLmxvYWRpbmckKS5waXBlKFxuICAgICAgICAgICAgbWFwKHNvdXJjZXMgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2VzWzBdIHx8IHNvdXJjZXNbMV07XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YXNrLXRhYi1iYWNrZ3JvdW5kIGZ1bGwtaGVpZ2h0XCI+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCIgY2xhc3M9XCJjb250ZW50LW1hcmdpbiBmdWxsLWhlaWdodFwiID5cbiAgICAgICAgPG5jLXNpbmdsZS10YXNrIFt0YXNrJF09XCJ0YXNrJFwiIFtsb2FkaW5nJF09XCJsb2FkaW5nJFwiIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGlvblJvd0p1c3RpZnlDb250ZW50XT0nXCJjZW50ZXJcIicgW2hpZGVBY3Rpb25Sb3ddPVwiZmFsc2VcIiBmeEZsZXg+PC9uYy1zaW5nbGUtdGFzaz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=