UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

103 lines 15.5 kB
import { Component, Inject, Injector, Optional } from "@angular/core"; import { NAE_BASE_FILTER } from "../../../search/models/base-filter-injection-token"; import { SimpleFilter } from "../../../filter/models/simple-filter"; import { NAE_VIEW_ID_SEGMENT } from "../../../user/models/view-id-injection-tokens"; import { ViewIdService } from "../../../user/services/view-id.service"; import { AbstractBaseDataFieldComponent } from "../../base-component/abstract-base-data-field.component"; import { DATA_FIELD_PORTAL_DATA } from "../../models/data-field-portal-data-injection-token"; import { ComponentPortal } from "@angular/cdk/portal"; import { NAE_DEFAULT_HEADERS } from "../../../header/models/default-headers-token"; import { NAE_CLICKABLE_TASKS } from "../model/task-ref-injection-tokens"; import { NAE_DATAFIELD_ALLOWED_NETS } from "../../case-ref-field/model/case-ref-injection-tokens"; import * as i0 from "@angular/core"; export class AbstractTaskRefListFieldComponent extends AbstractBaseDataFieldComponent { injector; taskViewType; componentPortal; _sub; _subComp; constructor(injector, taskViewType, dataFieldPortalData) { super(dataFieldPortalData); this.injector = injector; this.taskViewType = taskViewType; } ngAfterViewInit() { this.createFilter(); this._sub = this.dataField.valueChanges().subscribe(() => { this.callCreateFilter(); }); this._subComp = this.dataField.componentChange$().subscribe(() => { this.callCreateFilter(); }); } callCreateFilter() { this.createFilter(); } createFilter() { let portalInjector; const filterProperty = this.dataField?.component?.properties?.filter === 'true'; let query; if (filterProperty) { try { query = JSON.parse(this.dataField?.component?.properties?.filterQuery); } catch { console.warn('Invalid filterQuery JSON on TaskRef field ', this.dataField?.stringId); query = undefined; } } let providers = [ { provide: NAE_DEFAULT_HEADERS, useValue: this.dataField.component?.properties?.headers?.split(',') }, { provide: NAE_CLICKABLE_TASKS, useValue: this.dataField.component?.properties?.clickable === undefined ? true : this.dataField.component?.properties?.clickable === "true" }, { provide: NAE_DATAFIELD_ALLOWED_NETS, useValue: this.dataField.component?.properties?.allowedNets === undefined ? [] : this.dataField.component?.properties?.allowedNets.split(',') }, { provide: NAE_BASE_FILTER, useValue: { filter: SimpleFilter.fromTaskQuery((filterProperty && query ? query : { stringId: this.dataField.value.length > 0 ? this.dataField.value : '' })) } }, { provide: NAE_VIEW_ID_SEGMENT, useValue: this.dataField.parentCaseId + '_' + this.dataField.parentTaskId + '_' + this.dataField.stringId }, { provide: ViewIdService, useClass: ViewIdService } ]; portalInjector = Injector.create({ providers, parent: this.injector }); this.componentPortal = new ComponentPortal(this.taskViewType, null, portalInjector); } ngOnDestroy() { super.ngOnDestroy(); if (this._sub) { this._sub.unsubscribe(); } if (this._subComp) { this._subComp.unsubscribe(); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTaskRefListFieldComponent, deps: [{ token: i0.Injector }, { token: i0.Type }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractTaskRefListFieldComponent, selector: "ncc-abstract-task-ref-list-field", usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTaskRefListFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-task-ref-list-field', template: '' }] }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.Type }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFzay1yZWYtbGlzdC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL3Rhc2stcmVmLWZpZWxkL3Rhc2stcmVmLWxpc3QtZmllbGQvYWJzdHJhY3QtdGFzay1yZWYtbGlzdC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYSxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLHFEQUFxRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQzs7QUFPaEcsTUFBTSxPQUFnQixpQ0FBa0MsU0FBUSw4QkFBNEM7SUFNeEU7SUFDQTtJQUx6QixlQUFlLENBQXVCO0lBQ25DLElBQUksQ0FBZTtJQUNuQixRQUFRLENBQWU7SUFFakMsWUFBZ0MsUUFBa0IsRUFD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QyxTQUFTLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7YUFDNUc7WUFDRCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtTQUN0RCxDQUFDO1FBQ0YsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDN0IsU0FBUztZQUNULE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQzlCO0lBQ0wsQ0FBQzt3R0EvRWlCLGlDQUFpQyw4REFRVCxzQkFBc0I7NEZBUjlDLGlDQUFpQywrRkFGekMsRUFBRTs7NEZBRU0saUNBQWlDO2tCQUp0RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFTMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCwgVHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7VGFza1JlZkZpZWxkfSBmcm9tIFwiLi4vbW9kZWwvdGFzay1yZWYtZmllbGRcIjtcbmltcG9ydCB7TkFFX0JBU0VfRklMVEVSfSBmcm9tIFwiLi4vLi4vLi4vc2VhcmNoL21vZGVscy9iYXNlLWZpbHRlci1pbmplY3Rpb24tdG9rZW5cIjtcbmltcG9ydCB7U2ltcGxlRmlsdGVyfSBmcm9tIFwiLi4vLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyXCI7XG5pbXBvcnQge0Jhc2VGaWx0ZXJ9IGZyb20gXCIuLi8uLi8uLi9zZWFyY2gvbW9kZWxzL2Jhc2UtZmlsdGVyXCI7XG5pbXBvcnQge05BRV9WSUVXX0lEX1NFR01FTlR9IGZyb20gXCIuLi8uLi8uLi91c2VyL21vZGVscy92aWV3LWlkLWluamVjdGlvbi10b2tlbnNcIjtcbmltcG9ydCB7Vmlld0lkU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3VzZXIvc2VydmljZXMvdmlldy1pZC5zZXJ2aWNlXCI7XG5pbXBvcnQge0Fic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50L2Fic3RyYWN0LWJhc2UtZGF0YS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7REFUQV9GSUVMRF9QT1JUQUxfREFUQSwgRGF0YUZpZWxkUG9ydGFsRGF0YX0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlblwiO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7TkFFX0RFRkFVTFRfSEVBREVSU30gZnJvbSBcIi4uLy4uLy4uL2hlYWRlci9tb2RlbHMvZGVmYXVsdC1oZWFkZXJzLXRva2VuXCI7XG5pbXBvcnQge05BRV9DTElDS0FCTEVfVEFTS1N9IGZyb20gXCIuLi9tb2RlbC90YXNrLXJlZi1pbmplY3Rpb24tdG9rZW5zXCI7XG5pbXBvcnQge05BRV9EQVRBRklFTERfQUxMT1dFRF9ORVRTfSBmcm9tIFwiLi4vLi4vY2FzZS1yZWYtZmllbGQvbW9kZWwvY2FzZS1yZWYtaW5qZWN0aW9uLXRva2Vuc1wiO1xuaW1wb3J0IHtUYXNrU2VhcmNoUmVxdWVzdEJvZHl9IGZyb20gXCIuLi8uLi8uLi9maWx0ZXIvbW9kZWxzL3Rhc2stc2VhcmNoLXJlcXVlc3QtYm9keVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC10YXNrLXJlZi1saXN0LWZpZWxkJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUYXNrUmVmTGlzdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50PFRhc2tSZWZGaWVsZD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHVibGljIGNvbXBvbmVudFBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG4gICAgcHJvdGVjdGVkIF9zdWI6IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgX3N1YkNvbXA6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgdGFza1ZpZXdUeXBlOiBUeXBlPGFueT4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9GSUVMRF9QT1JUQUxfREFUQSkgZGF0YUZpZWxkUG9ydGFsRGF0YTogRGF0YUZpZWxkUG9ydGFsRGF0YTxUYXNrUmVmRmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXIoKTtcbiAgICAgICAgdGhpcy5fc3ViID0gdGhpcy5kYXRhRmllbGQudmFsdWVDaGFuZ2VzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbENyZWF0ZUZpbHRlcigpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc3ViQ29tcCA9IHRoaXMuZGF0YUZpZWxkLmNvbXBvbmVudENoYW5nZSQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxsQ3JlYXRlRmlsdGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYWxsQ3JlYXRlRmlsdGVyKCkge1xuICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlcigpO1xuICAgIH1cblxuICAgIGNyZWF0ZUZpbHRlcigpIHtcbiAgICAgICAgbGV0IHBvcnRhbEluamVjdG9yO1xuICAgICAgICBjb25zdCBmaWx0ZXJQcm9wZXJ0eTogYm9vbGVhbiA9IHRoaXMuZGF0YUZpZWxkPy5jb21wb25lbnQ/LnByb3BlcnRpZXM/LmZpbHRlciA9PT0gJ3RydWUnO1xuICAgICAgICBsZXQgcXVlcnk6IFRhc2tTZWFyY2hSZXF1ZXN0Qm9keTtcbiAgICAgICAgaWYgKGZpbHRlclByb3BlcnR5KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHF1ZXJ5ID0gSlNPTi5wYXJzZSh0aGlzLmRhdGFGaWVsZD8uY29tcG9uZW50Py5wcm9wZXJ0aWVzPy5maWx0ZXJRdWVyeSkgYXMgVGFza1NlYXJjaFJlcXVlc3RCb2R5O1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIGZpbHRlclF1ZXJ5IEpTT04gb24gVGFza1JlZiBmaWVsZCAnLCB0aGlzLmRhdGFGaWVsZD8uc3RyaW5nSWQpO1xuICAgICAgICAgICAgICAgIHF1ZXJ5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCBwcm92aWRlcnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTkFFX0RFRkFVTFRfSEVBREVSUywgdXNlVmFsdWU6IHRoaXMuZGF0YUZpZWxkLmNvbXBvbmVudD8ucHJvcGVydGllcz8uaGVhZGVycz8uc3BsaXQoJywnKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQUVfQ0xJQ0tBQkxFX1RBU0tTLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQ/LnByb3BlcnRpZXM/LmNsaWNrYWJsZSA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IHRoaXMuZGF0YUZpZWxkLmNvbXBvbmVudD8ucHJvcGVydGllcz8uY2xpY2thYmxlID09PSBcInRydWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQUVfREFUQUZJRUxEX0FMTE9XRURfTkVUUyxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5kYXRhRmllbGQuY29tcG9uZW50Py5wcm9wZXJ0aWVzPy5hbGxvd2VkTmV0cyA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgICAgICAgICAgW10gOiB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQ/LnByb3BlcnRpZXM/LmFsbG93ZWROZXRzLnNwbGl0KCcsJylcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTkFFX0JBU0VfRklMVEVSLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7IGZpbHRlcjogU2ltcGxlRmlsdGVyLmZyb21UYXNrUXVlcnkoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyUHJvcGVydHkgJiYgcXVlcnkgPyBxdWVyeSA6IHtzdHJpbmdJZDogdGhpcy5kYXRhRmllbGQudmFsdWUubGVuZ3RoID4gMCA/IHRoaXMuZGF0YUZpZWxkLnZhbHVlIDogJyd9KVxuICAgICAgICAgICAgICAgICAgICApfSBhcyBCYXNlRmlsdGVyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9WSUVXX0lEX1NFR01FTlQsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMuZGF0YUZpZWxkLnBhcmVudENhc2VJZCArICdfJyArIHRoaXMuZGF0YUZpZWxkLnBhcmVudFRhc2tJZCArICdfJyArIHRoaXMuZGF0YUZpZWxkLnN0cmluZ0lkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBwcm92aWRlOiBWaWV3SWRTZXJ2aWNlLCB1c2VDbGFzczogVmlld0lkU2VydmljZSB9XG4gICAgICAgIF07XG4gICAgICAgIHBvcnRhbEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVycyxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMudGFza1ZpZXdUeXBlLCBudWxsLCBwb3J0YWxJbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIGlmICh0aGlzLl9zdWIpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9zdWJDb21wKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJDb21wLnVuc3Vic2NyaWJlKClcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==