@seniorsistemas/exclusion-process-component 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/bundles/seniorsistemas-exclusion-process-component.umd.js +7 -10
  2. package/bundles/seniorsistemas-exclusion-process-component.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-exclusion-process-component.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-exclusion-process-component.umd.min.js.map +1 -1
  5. package/esm2015/exclusion-details/exclusion-details.component.js +6 -6
  6. package/esm2015/exclusions-list/exclusions-list.component.js +4 -5
  7. package/esm2015/exclusions-list/exclusions-list.module.js +2 -2
  8. package/esm2015/exclusions-list/exclusions-list.routing.js +1 -1
  9. package/esm2015/seniorsistemas-exclusion-process-component.js +2 -4
  10. package/esm5/exclusion-details/exclusion-details.component.js +6 -6
  11. package/esm5/exclusions-list/exclusions-list.component.js +4 -5
  12. package/esm5/exclusions-list/exclusions-list.module.js +2 -2
  13. package/esm5/exclusions-list/exclusions-list.routing.js +1 -1
  14. package/esm5/seniorsistemas-exclusion-process-component.js +2 -4
  15. package/exclusion-details/exclusion-details.component.d.ts +5 -5
  16. package/exclusions-list/exclusions-list.component.d.ts +3 -3
  17. package/fesm2015/seniorsistemas-exclusion-process-component.js +5 -5
  18. package/fesm2015/seniorsistemas-exclusion-process-component.js.map +1 -1
  19. package/fesm5/seniorsistemas-exclusion-process-component.js +5 -5
  20. package/fesm5/seniorsistemas-exclusion-process-component.js.map +1 -1
  21. package/package.json +1 -1
  22. package/seniorsistemas-exclusion-process-component.d.ts +1 -3
  23. package/seniorsistemas-exclusion-process-component.metadata.json +1 -1
  24. package/esm2015/exclusion-details/protocols/index.js +0 -2
  25. package/esm5/exclusion-details/protocols/index.js +0 -2
  26. package/exclusion-details/protocols/index.d.ts +0 -2
@@ -4,12 +4,12 @@ import { InjectionToken, Inject, Injectable, EventEmitter, Output, Component, Vi
4
4
  import { PanelModule } from 'primeng/panel';
5
5
  import { TableModule } from 'primeng/table';
6
6
  import { EnumBadgeColors, EnumColumnFieldType, SidebarModule, ButtonModule, TableModule as TableModule$1, LoadingStateModule, LocaleModule, EmptyStateModule, FieldType, FormField, LocaleService, ControlErrorsModule, InfoSignModule, DynamicFormModule, TokenListModule } from '@seniorsistemas/angular-components';
7
- import * as moment from 'moment';
8
7
  import { ActivatedRoute, Router, RouterModule } from '@angular/router';
9
8
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
9
+ import { WebsocketService } from '@senior-gestao-empresarial/angular-components';
10
+ import * as moment from 'moment';
10
11
  import { throwError, Subject } from 'rxjs';
11
12
  import { catchError, map, takeUntil, finalize } from 'rxjs/operators';
12
- import { WebsocketService } from '@senior-gestao-empresarial/angular-components';
13
13
  import { HttpParams, HttpClient } from '@angular/common/http';
14
14
  import { MessageService } from 'primeng/api';
15
15
  import { Validators, FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -991,11 +991,11 @@ __decorate([
991
991
  ViewChild("exclusionsTable")
992
992
  ], ExclusionsListComponent.prototype, "table", void 0);
993
993
  __decorate([
994
- ViewChild(ExclusionDetailsComponent)
994
+ ViewChild("exclusionDetails")
995
995
  ], ExclusionsListComponent.prototype, "exclusionDetailsComponent", void 0);
996
996
  ExclusionsListComponent = ExclusionsListComponent_1 = __decorate([
997
997
  Component({
998
- template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n sortField=\"startDate\"\n sortOrder=\"-1\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th id=\"headerCheckbox\" class=\"centered-width-30\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"centered-width-30\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details></s-exclusion-details>\n",
998
+ template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n sortField=\"startDate\"\n sortOrder=\"-1\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th id=\"headerCheckbox\" class=\"centered-width-30\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"centered-width-30\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details #exclusionDetails></s-exclusion-details>\n",
999
999
  providers: [],
1000
1000
  styles: [".centered-width-30{width:30px;-ms-flex-align:center;align-items:center}"]
1001
1001
  })
@@ -1141,5 +1141,5 @@ LogicalDeleteModule = LogicalDeleteModule_1 = __decorate([
1141
1141
  * Generated bundle index. Do not edit.
1142
1142
  */
1143
1143
 
1144
- export { EmptyComponent, ExclusionDetailsComponent, ExclusionDetailsModule, ExclusionsListComponent, ExclusionsListFeatureRouting, ExclusionsListFeatureRoutingGuard, ExclusionsListFeatureRoutingLocaleResolver, ExclusionsListFeatureRoutingPermissionResolver, ExclusionsListModule, LogicalDeleteModule, routes, LogicalDeleteService as ɵa, LogicalDeleteConfigService as ɵb, ProjectConfigsInjectionToken as ɵc, ExclusionDetailsModule as ɵe, ExclusionDetailsComponent as ɵf, LogicalDeleteService as ɵg, FilterService as ɵh };
1144
+ export { EmptyComponent, ExclusionDetailsComponent, ExclusionDetailsModule, ExclusionsListComponent, ExclusionsListFeatureRouting, ExclusionsListFeatureRoutingGuard, ExclusionsListFeatureRoutingLocaleResolver, ExclusionsListFeatureRoutingPermissionResolver, ExclusionsListModule, LogicalDeleteModule, routes, LogicalDeleteService as ɵa, LogicalDeleteConfigService as ɵb, ProjectConfigsInjectionToken as ɵc, FilterService as ɵe };
1145
1145
  //# sourceMappingURL=seniorsistemas-exclusion-process-component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-exclusion-process-component.js","sources":["ng://@seniorsistemas/exclusion-process-component/enums/enum-exclusion-process-status.ts","ng://@seniorsistemas/exclusion-process-component/models/project-config.ts","ng://@seniorsistemas/exclusion-process-component/services/logical-delete-config.service.ts","ng://@seniorsistemas/exclusion-process-component/services/logical-delete.service.ts","ng://@seniorsistemas/exclusion-process-component/exclusion-details/exclusion-details.component.ts","ng://@seniorsistemas/exclusion-process-component/exclusion-details/exclusion-details.module.ts","ng://@seniorsistemas/exclusion-process-component/services/filter.service.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.component.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.routing.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.module.ts","ng://@seniorsistemas/exclusion-process-component/logical-delete.module.ts","ng://@seniorsistemas/exclusion-process-component/seniorsistemas-exclusion-process-component.ts"],"sourcesContent":["export enum EnumExclusionProcessStatus {\n PENDING = \"PENDING\",\n PROCESSING = \"PROCESSING\",\n ERROR = \"ERROR\",\n SUCCESS = \"SUCCESS\"\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const ProjectConfigsInjectionToken = new InjectionToken<ProjectConfigs>(\"projectConfigs\");\n\nexport interface ProjectConfigs {\n domain: string;\n service: string;\n translationPrefix?: string;\n}\n","import { Inject, Injectable } from \"@angular/core\";\nimport { ProjectConfigs, ProjectConfigsInjectionToken } from \"../models/project-config\";\n\n@Injectable()\nexport class LogicalDeleteConfigService {\n constructor(\n @Inject(ProjectConfigsInjectionToken)\n private readonly projectConfigs: ProjectConfigs) {\n }\n\n public getDomain() {\n return this.projectConfigs.domain;\n }\n\n public getService() {\n return this.projectConfigs.service;\n }\n\n public getTranslationPrefix() {\n if (this.projectConfigs.translationPrefix) {\n return this.projectConfigs.translationPrefix;\n }\n return `${this.projectConfigs.domain}.${this.projectConfigs.service}`;\n }\n}\n","import * as moment from \"moment\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MessageService } from \"primeng/api\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { ListResult, ExclusionProcess } from \"../models/index\";\nimport { LogicalDeleteConfigService } from \"./logical-delete-config.service\";\nimport { ListParams } from \"../models/list-params\";\n\nconst HTTP_UNAUTHORIZED_CODE = 401;\nconst DEFAULT_PAGE_SIZE = 10;\n\n@Injectable()\nexport class LogicalDeleteService {\n private readonly exclusionProcessUrl: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly messageService: MessageService,\n private readonly translate: TranslateService,\n private readonly projectConfigs: LogicalDeleteConfigService) {\n\n const entityUrl = `${projectConfigs.getDomain()}/${projectConfigs.getService()}`;\n this.exclusionProcessUrl = `${entityUrl}/entities/exclusionProcess`;\n this.defaultCatch = this.defaultCatch.bind(this);\n }\n\n public defaultCatch() {\n return catchError<any, any>((err: any) => {\n if (err) {\n let summary = err.status ? String(err.status) : \"Error\";\n let detail = err.error?.message || err.statusText || err.message;\n\n if (err.status === HTTP_UNAUTHORIZED_CODE) {\n const prefix = this.projectConfigs.getTranslationPrefix();\n summary = this.translate.instant(`${prefix}.error_unauthorized_title`);\n detail = this.translate.instant(`${prefix}.error_unauthorized_description`);\n }\n\n this.messageService.add({\n severity: \"error\",\n summary,\n detail: detail || \"Error\"\n });\n }\n\n return throwError(err);\n });\n }\n\n public getListQueryParams(listParams: ListParams) {\n const { page = 0, size = DEFAULT_PAGE_SIZE, sort = [], filterQuery = \"\", displayFields = [] } = listParams;\n\n let params = new HttpParams();\n params = params.append(\"size\", String(size));\n params = params.append(\"offset\", String(page));\n\n if (sort && sort.length) {\n params = params.append(\n \"orderby\",\n sort\n .map(s => {\n if (s.order === -1) {\n return `${s.field} desc`;\n }\n\n return `${s.field} asc`;\n })\n .join(\", \")\n );\n }\n\n if (filterQuery) {\n params = params.append(\"filter\", filterQuery);\n }\n\n if (displayFields && displayFields.length) {\n params = params.append(\"displayfields\", displayFields.join());\n }\n\n return params;\n }\n\n public getProcessDetails(id: string): Observable<ExclusionProcess> {\n return this.doGetProcessDetails({\n filter: `id eq '${id}'`,\n size: \"1\",\n offset: \"0\",\n });\n }\n\n public getLatestProcessDetails(recordId: string): Observable<ExclusionProcess> {\n return this.doGetProcessDetails({\n filter: `recordId eq '${recordId}'`,\n size: \"1\",\n offset: \"0\",\n orderby: \"startDate desc\"\n });\n }\n\n private doGetProcessDetails(filterParams: HttpParams | {\n [param: string]: string | string[];\n }): Observable<ExclusionProcess> {\n return this.http.get<ListResult<ExclusionProcess>>(this.exclusionProcessUrl, { params: filterParams })\n .pipe<ListResult<ExclusionProcess>>(this.defaultCatch())\n .pipe(map(value => {\n if (!value.contents?.length) {\n return null;\n }\n return this.mapExclusionsDates(value.contents[0]);\n }));\n }\n\n private mapExclusionsDates(exclusionProcess: ExclusionProcess) {\n return {\n ...exclusionProcess,\n startDate: exclusionProcess.startDate ? moment(exclusionProcess.startDate).toDate() : null,\n finishDate: exclusionProcess.finishDate ? moment(exclusionProcess.finishDate).toDate() : null,\n groups: exclusionProcess.groups?.map(group => ({\n ...group,\n startDate: group.startDate ? moment(group.startDate).toDate() : null,\n finishDate: group.finishDate ? moment(group.finishDate).toDate() : null,\n steps: group.steps?.map(step => ({\n ...step,\n startDate: step.startDate ? moment(step.startDate).toDate() : null,\n finishDate: step.finishDate ? moment(step.finishDate).toDate() : null,\n }))\n }))\n };\n }\n\n public listExclusions(entityName: string, params: ListParams = {}): Observable<ListResult<ExclusionProcess>> {\n if (params.filterQuery) {\n params.filterQuery += ` and lower(entityName) eq lower('${entityName}')`;\n } else {\n params.filterQuery = `lower(entityName) eq lower('${entityName}')`;\n }\n\n return this.http.get<ListResult<ExclusionProcess>>(this.exclusionProcessUrl, { params: this.getListQueryParams(params) })\n .pipe<ListResult<ExclusionProcess>>(this.defaultCatch())\n .pipe<ListResult<ExclusionProcess>>(map(value => {\n value.contents = value.contents.map(this.mapExclusionsDates);\n return value;\n }));\n }\n}\n","import * as moment from \"moment\";\nimport { Component, Output, ViewEncapsulation, OnInit, OnDestroy, EventEmitter } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subject, Subscription } from \"rxjs\";\nimport { finalize, takeUntil } from \"rxjs/operators\";\nimport { EnumBadgeColors, EnumColumnFieldType, TableColumnLocaleOptions } from \"@seniorsistemas/angular-components\";\nimport { WebsocketService } from \"@senior-gestao-empresarial/angular-components\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionDetails } from \"./protocols/exclusion-details\";\nimport { LogicalDeleteService } from \"../services/logical-delete.service\";\nimport { ExclusionProcess, ExclusionProcessStep, ExclusionProcessStepGroup } from \"../models/index\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { ShowDetailsInformation } from \"./protocols\";\nimport { ExclusionProcessStatusChanged } from \"./protocols/exclusion-process-status-changed\";\nimport { WebsocketEventData } from \"./protocols/web-socket-event-data\";\n\nconst EXCLUSION_PROCESS_STATUS_BADGE =[\n {\n enumValue: EnumExclusionProcessStatus.ERROR,\n color: EnumBadgeColors.RED\n },\n {\n enumValue: EnumExclusionProcessStatus.PENDING,\n color: EnumBadgeColors.YELLOW\n },\n {\n enumValue: EnumExclusionProcessStatus.PROCESSING,\n color: EnumBadgeColors.BLUE\n },\n {\n enumValue: EnumExclusionProcessStatus.SUCCESS,\n color: EnumBadgeColors.GREEN\n }\n];\n\n@Component({\n selector: \"s-exclusion-details\",\n templateUrl: \"./exclusion-details.component.html\",\n styleUrls: [\"./exclusion-details.component.scss\"],\n encapsulation: ViewEncapsulation.None\n})\nexport class ExclusionDetailsComponent implements OnInit, OnDestroy {\n public locale!: TableColumnLocaleOptions;\n\n @Output()\n get isVisible(): boolean {\n return this._isVisible;\n }\n\n @Output()\n get isLoading(): boolean {\n return this._isLoading;\n }\n\n @Output()\n get processGroupData(): ExclusionDetails[] {\n return this._processGroupData;\n }\n\n @Output()\n get processGroupColumns(): any[] {\n return this._processGroupColumns;\n }\n\n @Output()\n get processStepColumns(): any[] {\n return this._processStepColumns;\n }\n\n @Output()\n public processDetails: ExclusionProcess;\n\n @Output()\n public entityDescription: string;\n\n @Output()\n public expandedRows: any = {};\n\n @Output()\n public onProcessFinishedSuccessfully: EventEmitter<ExclusionProcess> = new EventEmitter();\n\n private _isVisible = false;\n private _isLoading = false;\n private _processGroupData: ExclusionProcessStepGroup[] = [];\n private _processGroupColumns: any[] = [];\n private _processStepColumns: any[] = [];\n private _websocketService: WebsocketService;\n private _exclusionProcessStatusChangedSubscribe: Subscription;\n private _exclusionDetails: ShowDetailsInformation;\n private readonly ngUnsubscribe = new Subject();\n private subscriptionLoadProcess: Subscription = null;\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly translate: TranslateService,\n private readonly logicalDeleteService: LogicalDeleteService,\n private readonly projectConfigs: LogicalDeleteConfigService\n ) {\n }\n\n ngOnInit(): void {\n this.route.data\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((data: { [configs: string]: any, localeConfig: TableColumnLocaleOptions }) => {\n this.locale = data.localeConfig;\n });\n this._processGroupColumns = this.getGroupColumns();\n this._processStepColumns = this.getStepColumns();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n this.disconnectWebSocket();\n }\n\n public showDetails(details: ShowDetailsInformation) {\n this._exclusionDetails = details;\n this._isVisible = true;\n this._processGroupData = [];\n\n this.processDetails = null;\n this.entityDescription = details.entityDescription;\n\n this.loadProcessDetails(details, true);\n\n this.connectWebSocket();\n }\n\n public onVisibilityChanged(event: any) {\n this.closeDetails();\n }\n\n public closeDetails() {\n this._isVisible = false;\n this._exclusionDetails = null;\n this._processGroupData = [];\n this.disconnectWebSocket();\n }\n\n public getRecordDescription() {\n if (!this.processDetails?.description) {\n return \"\";\n }\n\n return this.processDetails.description;\n }\n\n public getInicialDate() {\n if (!this.processDetails?.startDate) {\n return \"\";\n }\n\n return moment(this.processDetails.startDate).format(\"DD/MM/YYYY HH:mm:ss\");\n }\n\n public getFinishDate() {\n if (!this.processDetails?.finishDate) {\n return \"\";\n }\n\n return moment(this.processDetails.finishDate).format(\"DD/MM/YYYY HH:mm:ss\");\n }\n\n public isFinished() {\n return !!this.processDetails?.finishDate;\n }\n\n public getShowExclusionsButtonLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_show_deletions`);\n }\n\n public getCloseButtonLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_close`);\n }\n\n public getUpdateButtonLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_update`);\n }\n\n public getSummaryLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_summary`);\n }\n\n public getStartDateLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_start`);\n }\n\n public getFinishDateLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_finish`);\n }\n\n public getSidebarTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_details_title`);\n }\n\n public getEmptyStateTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_title`);\n }\n\n public getEmptyStateDescription() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_description`);\n }\n\n private getGroupColumns() {\n return [\n {\n field: \"description\",\n attributes: [\"description\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_group`),\n type: EnumColumnFieldType.STRING,\n style: {\n width: \"340px\"\n }\n },\n {\n field: \"status\",\n attributes: [\"status\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n type: EnumColumnFieldType.ENUM,\n enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,\n style: {\n width: \"100px\"\n },\n tooltip: this.getColumnStatusTooltip,\n badgeConfigs: EXCLUSION_PROCESS_STATUS_BADGE\n }\n ];\n }\n\n private getStepColumns() {\n return [\n {\n field: \"description\",\n attributes: [\"description\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_step`),\n type: EnumColumnFieldType.STRING,\n style: {\n width: \"340px\"\n }\n },\n {\n field: \"status\",\n attributes: [\"status\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n type: EnumColumnFieldType.ENUM,\n enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,\n style: {\n width: \"100px\"\n },\n tooltip: this.getColumnStatusTooltip,\n badgeConfigs: EXCLUSION_PROCESS_STATUS_BADGE\n }\n ];\n }\n\n private getColumnStatusTooltip(rowValue: ExclusionDetails) {\n if (rowValue.errorMessage) {\n return rowValue.errorMessage;\n }\n\n return null;\n }\n\n public updateDetails() {\n if (!this._exclusionDetails) {\n return;\n }\n this.loadProcessDetails(this._exclusionDetails);\n }\n\n private abortRunningLoadProcessCall() {\n if (this.subscriptionLoadProcess) {\n if (this.subscriptionLoadProcess.closed) {\n this.subscriptionLoadProcess = null;\n } else {\n this.subscriptionLoadProcess.unsubscribe();\n this.subscriptionLoadProcess = null;\n }\n }\n }\n\n private loadProcessDetails(details: ShowDetailsInformation, firstLoad = false) {\n this._isLoading = true;\n\n this.abortRunningLoadProcessCall();\n\n const processObservable = details.processId\n ? this.logicalDeleteService.getProcessDetails(details.processId)\n : this.logicalDeleteService.getLatestProcessDetails(details.recordId);\n\n this.subscriptionLoadProcess = processObservable\n .pipe(takeUntil(this.ngUnsubscribe))\n .pipe(finalize(() => this._isLoading = false))\n .subscribe((process: ExclusionProcess) => {\n if (!process) {\n return;\n }\n\n this.processDetails = process;\n this._processGroupData = this.sortGroupsByStartDate(process.groups)\n .map(p => ({\n ...p,\n steps: this.sortStepsByStartDate(p.steps)\n }));\n\n this.expandedRows = {};\n this._processGroupData\n .filter(p => p.status !== EnumExclusionProcessStatus.SUCCESS)\n .forEach(p => {\n this.expandedRows[p.id] = true;\n });\n\n if (this.isProcessFinished()) {\n this.disconnectWebSocket();\n }\n if (!firstLoad) {\n this.checkIfProcessWasSuccessuful();\n }\n });\n }\n\n private isProcessFinished() {\n if (!this._processGroupData.length) {\n return false;\n }\n\n return this._processGroupData\n .every(p => p.status === EnumExclusionProcessStatus.ERROR || p.status === EnumExclusionProcessStatus.SUCCESS);\n }\n\n private checkIfProcessWasSuccessuful() {\n const isProcessSuccessful = this._processGroupData\n .every(p => p.status === EnumExclusionProcessStatus.SUCCESS);\n if (isProcessSuccessful) {\n this.notifyProcessFinishedSuccessfully();\n }\n }\n\n private notifyProcessFinishedSuccessfully() {\n this.onProcessFinishedSuccessfully.emit(this.processDetails);\n }\n\n private sortByDate(firstDate: Date, secondDate: Date) {\n if (!firstDate || !secondDate) {\n return 1;\n }\n\n if (firstDate.getTime() > secondDate.getTime()) {\n return 1;\n }\n if (firstDate.getTime() < secondDate.getTime()) {\n return -1;\n }\n return 0;\n }\n\n private sortGroupsByStartDate(groups: ExclusionProcessStepGroup[]) {\n return groups?.length ? groups.sort((a, b) => this.sortByDate(a.startDate, b.startDate)) : groups;\n }\n\n private sortStepsByStartDate(steps: ExclusionProcessStep[]) {\n return steps?.length ? steps.sort((a, b) => this.sortByDate(a.startDate, b.startDate)) : steps;\n }\n\n private disconnectWebSocket() {\n if (this._exclusionProcessStatusChangedSubscribe) {\n this._exclusionProcessStatusChangedSubscribe.unsubscribe();\n this._exclusionProcessStatusChangedSubscribe = null;\n }\n\n if (this._websocketService) {\n this._websocketService.disconnect();\n this._websocketService = null;\n }\n }\n\n private connectWebSocket() {\n if (this._websocketService) {\n this.disconnectWebSocket();\n }\n\n this._websocketService = new WebsocketService();\n this._websocketService\n .onConnect()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.startListeningWebhookEvents();\n if (this.processDetails && !this.isProcessFinished()) {\n this.loadProcessDetails(this._exclusionDetails);\n }\n });\n }\n\n private startListeningWebhookEvents() {\n this._websocketService\n .onError()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((data: any) => console.error('onWSError', data));\n\n this._exclusionProcessStatusChangedSubscribe = this._websocketService\n .onEvent<WebsocketEventData<ExclusionProcessStatusChanged>>({\n domain: this.projectConfigs.getDomain(),\n service: this.projectConfigs.getService(),\n primitive: \"exclusionProcessStatusChanged\"\n })\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: WebsocketEventData<ExclusionProcessStatusChanged>) => {\n const { data } = event;\n\n if (this._exclusionDetails.processId && data.pid === this._exclusionDetails.processId) {\n this.loadProcessDetails(this._exclusionDetails);\n return;\n }\n\n if (this._exclusionDetails.recordId && data.recordId === this._exclusionDetails.recordId) {\n this.loadProcessDetails(this._exclusionDetails);\n }\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { PanelModule } from \"primeng/panel\";\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\nimport {\n ButtonModule,\n LoadingStateModule,\n TableModule,\n SidebarModule,\n LocaleModule,\n EmptyStateModule\n} from \"@seniorsistemas/angular-components\";\nimport { ExclusionDetailsComponent } from \"./exclusion-details.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n SidebarModule,\n ButtonModule,\n PanelModule,\n PrimeTableModule,\n TableModule,\n LoadingStateModule,\n LocaleModule,\n EmptyStateModule\n ],\n declarations: [ExclusionDetailsComponent],\n exports: [ExclusionDetailsComponent],\n entryComponents: [ExclusionDetailsComponent]\n})\nexport class ExclusionDetailsModule {}\n","import * as moment from \"moment\";\nimport { Injectable } from \"@angular/core\";\nimport { FieldType, FormField, Option } from \"@seniorsistemas/angular-components\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LogicalDeleteConfigService } from \"./logical-delete-config.service\";\n\n@Injectable()\nexport class FilterService {\n private readonly numberTypes = [FieldType.Integer, FieldType.Double];\n\n constructor(\n private readonly logicalDeleteConfigService: LogicalDeleteConfigService,\n private readonly translate: TranslateService\n ) {}\n\n getEnumQuery(name: string, value: any, multiple: boolean = false) {\n if (multiple) {\n const filter = value.map((selected: any) => `${name} eq '${selected}'`).join(\" or \");\n return `(${filter})`;\n }\n return `${name} eq '${value}'`;\n }\n\n createFilterString(formField: FormField, value: any) {\n const { name, type, multiple } = formField;\n if (typeof value == \"number\") {\n return `${name} eq ${value}`;\n }\n\n switch (type) {\n case FieldType.Date:\n return `${name} eq '${moment(value).format(\"YYYY-MM-DD\")}'`;\n case FieldType.Time:\n return `${name} eq '${moment(value).format(\"HH:mm:ss\")}'`;\n case FieldType.DateTime:\n return `${name} eq '${moment(value).format()}'`;\n case FieldType.LocalDateTime:\n return `${name} eq '${moment(value).format(\"YYYY-MM-DD[T]HH:mm:ss.SSS\")}'`;\n case FieldType.Enum:\n return this.getEnumQuery(name, value, multiple);\n case FieldType.String:\n return `containing(upper(${name}), upper('${value.replace(/'/g, \"'\")}'))`;\n case FieldType.Lookup:\n return `${name} eq '${value.id}'`;\n default:\n return `${name} eq '${value}'`;\n }\n }\n\n createFilterTokens(formField: FormField, value: any) {\n const { name, type, label, searchFields, options } = formField as any;\n let labelValue = value;\n\n switch (type) {\n case FieldType.Date:\n labelValue = moment(value).format(\"L\");\n break;\n case FieldType.Time:\n labelValue = moment(value).format(\"LTS\");\n break;\n case FieldType.LocalDateTime:\n case FieldType.DateTime:\n labelValue = moment(value).format(\"L LTS\");\n break;\n case FieldType.Lookup:\n labelValue = searchFields.map((field: FormField) => this.getProp(value, field.name)).join(\" - \");\n break;\n case FieldType.Enum:\n if (Array.isArray(value)) {\n labelValue = value.map((element: string) => {\n return options.filter((en: any) => en.value === element)[0].label;\n });\n } else {\n labelValue = options.filter((option: Option) => option.value === labelValue)[0].label;\n }\n break;\n case FieldType.Boolean:\n labelValue = value\n ? this.translate.instant(`${this.logicalDeleteConfigService.getTranslationPrefix()}.list_grid_boolean_true`)\n : this.translate.instant(`${this.logicalDeleteConfigService.getTranslationPrefix()}.list_grid_boolean_false`);\n break;\n default:\n labelValue = value;\n break;\n }\n\n return { id: name, label: `${label}: ${labelValue}` };\n }\n\n getSuggestionValue(displayFields: string[], ownerEntity: string, value: any, separator: string) {\n return displayFields.map(field => this.getProp(value, `${ownerEntity}.${field}`))\n .reduce((acc: any, val: any) => `${acc}${separator}${val}`) + \"\";\n }\n\n getProp(obj: any, path: any) {\n return path.split(\".\").reduce((result: any, prop: any) => (result[prop] === undefined ? \"\" : result[prop]), obj);\n }\n\n getLabelValueRequest(contents: any[], displayFields: any[]) {\n return contents.map((item: any) => ({\n ...item,\n label: displayFields.map(field => this.getProp(item, field)).join(\" - \")\n }));\n }\n\n isValidFilter(type: FieldType, value: any) {\n const isTypeNumber = this.numberTypes.includes(type);\n const numberPattern = /^\\d+\\b$/;\n const isNumber = value.match(numberPattern);\n return !(isTypeNumber && !isNumber);\n }\n}\n","import * as moment from \"moment\";\nimport { AfterViewInit, ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LazyLoadEvent } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\nimport {\n EnumBadgeColors,\n EnumColumnFieldType,\n FieldType,\n FormField,\n IToken,\n TableColumnLocaleOptions\n} from \"@seniorsistemas/angular-components\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionProcess } from \"../models\";\nimport { Table } from \"primeng/table\";\nimport { LogicalDeleteService } from \"../services\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ListParams } from \"../models/list-params\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { ExclusionDetailsComponent } from \"../exclusion-details\";\nimport { FilterService } from \"../services/filter.service\";\n\nconst HTTP_CODE_SERVER_ERROR_START = 500;\nconst HTTP_CODE_SERVER_ERROR_END = 600;\n\n@Component({\n templateUrl: \"./exclusions-list.component.html\",\n styleUrls: [\"./exclusions-list.component.scss\"],\n providers: []\n})\nexport class ExclusionsListComponent implements OnInit, OnDestroy, AfterViewInit {\n\n private static readonly DATE_FORMAT = \"YYYY-MM-DD\";\n\n public locale!: TableColumnLocaleOptions;\n public entityName: string;\n public entityDescription: string;\n public processId: string;\n\n public currentListParams: ListParams = { page: 0, size: 10, sort: [], filterData: {} };\n public gridData: ExclusionProcess[];\n public gridColumns: any[];\n public showLoader = false;\n public totalRecords = 0;\n\n public filterFields: FormField[];\n public filterFormGroup: FormGroup;\n public filtersPanelCollapsed = true;\n public searchTokens: IToken[] = [];\n public serverError = false;\n\n @ViewChild(\"exclusionsTable\")\n public table: Table;\n\n @ViewChild(ExclusionDetailsComponent)\n public exclusionDetailsComponent: ExclusionDetailsComponent;\n\n private readonly ngUnsubscribe = new Subject();\n\n constructor(\n private readonly router: Router,\n private readonly route: ActivatedRoute,\n private readonly translate: TranslateService,\n private readonly formBuilder: FormBuilder,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly logicalDeleteService: LogicalDeleteService,\n private readonly filterService: FilterService,\n private readonly projectConfigs: LogicalDeleteConfigService,\n private readonly cdr: ChangeDetectorRef,\n ) {\n }\n\n public ngOnInit() {\n this.filterFormGroup = this.getFormBuilder();\n this.filterFields = this.getFilterFields();\n this.gridColumns = this.getGridColumns();\n\n this.route.data\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((data: { [configs: string]: any, localeConfig: TableColumnLocaleOptions }) => {\n this.locale = data.localeConfig;\n });\n this.route.queryParams\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((queryParams: any) => {\n this.entityName = queryParams.entityName;\n this.entityDescription = queryParams.entityDescription;\n this.processId = queryParams.processId || queryParams.pid;\n });\n }\n\n public ngAfterViewInit() {\n if (this.entityName && this.entityDescription && this.processId) {\n this.exclusionDetailsComponent.showDetails({\n processId: this.processId,\n entityDescription: this.entityDescription,\n entityName: this.entityName\n });\n this.cdr.detectChanges();\n }\n }\n\n public ngOnDestroy() {\n const params = { ...this.route.snapshot?.queryParams };\n if (params) {\n delete params.entityName;\n delete params.entityDescription;\n this.router.navigate([], { queryParams: params });\n }\n\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n private getFormBuilder() {\n return this.formBuilder.group({\n description: [undefined, Validators.compose([])],\n status: [undefined, Validators.compose([])],\n startDate: [{ value: null, disabled: false }, Validators.compose([])],\n endDate: [{ value: null, disabled: false }, Validators.compose([])]\n });\n }\n\n private getGridColumns() {\n return [\n {\n field: \"description\",\n attributes: [\"description\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_description`),\n type: EnumColumnFieldType.STRING,\n style: {\n width: \"300px\"\n }\n },\n {\n field: \"status\",\n attributes: [\"status\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n type: EnumColumnFieldType.ENUM,\n enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,\n style: {\n width: \"100px\"\n },\n tooltip: this.getColumnStatusTooltip,\n badgeConfigs: [\n {\n enumValue: EnumExclusionProcessStatus.ERROR,\n color: EnumBadgeColors.RED\n },\n {\n enumValue: EnumExclusionProcessStatus.PENDING,\n color: EnumBadgeColors.YELLOW\n },\n {\n enumValue: EnumExclusionProcessStatus.PROCESSING,\n color: EnumBadgeColors.BLUE\n },\n {\n enumValue: EnumExclusionProcessStatus.SUCCESS,\n color: EnumBadgeColors.GREEN\n }\n ]\n },\n {\n field: \"startDate\",\n attributes: [\"startDate\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_start`),\n type: EnumColumnFieldType.DATE,\n dateFormat: \"DD/MM/YYYY HH:mm:ss\",\n style: {\n width: \"100px\"\n }\n },\n {\n field: \"finishDate\",\n attributes: [\"finishDate\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_finish`),\n type: EnumColumnFieldType.DATE,\n dateFormat: \"DD/MM/YYYY HH:mm:ss\",\n style: {\n width: \"100px\"\n }\n }\n ];\n }\n\n private getColumnStatusTooltip(rowValue: ExclusionProcess) {\n if (rowValue.errorMessage) {\n return rowValue.errorMessage;\n }\n\n return null;\n }\n\n private getFilterFields() {\n const translationPrefix = this.projectConfigs.getTranslationPrefix();\n\n return [\n new FormField({\n type: FieldType.String,\n name: \"description\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_description`)\n }),\n new FormField({\n type: FieldType.Enum,\n name: \"status\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_status`),\n multiple: true,\n options: [\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_error`),\n value: EnumExclusionProcessStatus.ERROR\n },\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_pending`),\n value: EnumExclusionProcessStatus.PENDING\n },\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_processing`),\n value: EnumExclusionProcessStatus.PROCESSING\n },\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_success`),\n value: EnumExclusionProcessStatus.SUCCESS\n }\n ]\n }),\n new FormField({\n type: FieldType.Date,\n name: \"startDate\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_start`)\n }),\n\n new FormField({\n type: FieldType.Date,\n name: \"endDate\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_finish`)\n })\n ];\n }\n\n public getEmptyStateTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_title`);\n }\n\n public getEmptyStateDescription() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_description`);\n }\n\n public getTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_list_title`);\n }\n\n public getDetailsButtonTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_details`);\n }\n\n public getFiltersTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.filters`);\n }\n\n public getFilterButtonTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.filter`);\n }\n\n public getClearButtonTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.clear`);\n }\n\n public getErrorInvalid() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_invalid`);\n }\n\n public getErrorServerTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_server_title`);\n }\n\n public getErrorServerDescription() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_server_description`);\n }\n\n public getActionsColumnLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.actions`);\n }\n\n public onSearch() {\n const filterData = this.filterFormGroup.getRawValue();\n this.filtersPanelCollapsed = true;\n this.resetGrid({ filterData });\n }\n\n public onClear() {\n this.filterFormGroup.reset();\n const filterData = this.filterFormGroup.getRawValue();\n this.resetGrid({ filterData });\n }\n\n public onRemoveToken(token: IToken) {\n this.filterFormGroup.get(token.id).setValue(undefined);\n const filterData = this.filterFormGroup.getRawValue();\n this.resetGrid({ filterData });\n }\n\n public onGridChange(event: LazyLoadEvent) {\n const size = event.rows;\n const page = event.first / size;\n const sort = event.multiSortMeta ? event.multiSortMeta : [];\n return this.updateGrid({ page, size, sort });\n }\n\n private getFilterTokens() {\n const filterData = this.filterFormGroup.value;\n\n return this.filterFields\n .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== \"\" && filterData[name] !== null)\n .filter(({ name }) => Array.isArray(filterData[name]) ? filterData[name]?.length > 0 : true)\n .map(formField => this.filterService.createFilterTokens(formField, filterData[formField.name]));\n }\n\n private getFilterQuery(): string {\n const { filterData } = this.currentListParams;\n const dateFields = [\"startDate\", \"endDate\"];\n\n let filterQuery = this.filterFields\n .filter(({ name }) => !dateFields.includes(name))\n .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== \"\" && filterData[name] !== null)\n .filter(({ name }) => Array.isArray(filterData[name]) ? filterData[name]?.length > 0 : true)\n .map(formField => this.filterService.createFilterString(formField, filterData[formField.name]))\n .join(\" and \");\n\n let dateQuery: string;\n if (filterData.startDate && filterData.endDate) {\n const startDate = moment(filterData.startDate).format(ExclusionsListComponent.DATE_FORMAT);\n const endDate = moment(filterData.endDate).format(ExclusionsListComponent.DATE_FORMAT);\n dateQuery = `startDate between '${startDate}T00:00:00Z' and '${endDate}T23:59:59Z'`;\n } else if (filterData.startDate) {\n const startDate = moment(filterData.startDate).format(ExclusionsListComponent.DATE_FORMAT);\n dateQuery = `startDate >= '${startDate}T00:00:00Z'`;\n } else if (filterData.endDate) {\n const endDate = moment(filterData.endDate).format(ExclusionsListComponent.DATE_FORMAT);\n dateQuery = `finishDate <= '${endDate}T23:59:59Z'`;\n } else {\n // Não é necessário nenhuma condição a mais no filtro.\n }\n\n if (dateQuery) {\n filterQuery += filterQuery ? ` and ${dateQuery}` : dateQuery;\n }\n\n return filterQuery;\n }\n\n private updateGrid(listParams: ListParams = {}) {\n this.currentListParams = { ...this.currentListParams, ...listParams };\n const { page, size, sort } = this.currentListParams;\n\n this.searchTokens = this.getFilterTokens();\n const filterQuery = this.getFilterQuery();\n const displayFields = [\n \"recordId\",\n \"errorMessage\",\n ...this.gridColumns.map(column => column.field)\n ];\n\n if (!sort.length) {\n sort.push({ field: 'startDate', order: -1 });\n }\n\n this.listExclusions({ page, size, sort, filterQuery, displayFields });\n }\n\n public listExclusions(params: any) {\n this.showLoader = true;\n this.serverError = false;\n\n this.changeDetectorRef.detectChanges();\n\n this.logicalDeleteService\n .listExclusions(this.entityName, params)\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n if (err.status >= HTTP_CODE_SERVER_ERROR_START && err.status < HTTP_CODE_SERVER_ERROR_END) {\n this.serverError = true;\n }\n throw err;\n }),\n finalize(() => this.showLoader = false)\n )\n .subscribe((list: any) => {\n this.gridData = list.contents;\n this.totalRecords = list.totalElements;\n });\n }\n\n public focusInput(elementId: string) {\n const element: any = document.getElementById(`${elementId}`);\n if (element) {\n element.focus();\n }\n }\n\n public resetGrid(listParams?: ListParams) {\n if (listParams) {\n this.currentListParams = { ...this.currentListParams, ...listParams };\n }\n this.currentListParams = { ...this.currentListParams, page: 0, sort: [] };\n this.table.reset();\n }\n\n public onClickDetails(rowData: ExclusionProcess) {\n this.exclusionDetailsComponent.showDetails({\n processId: rowData.id,\n entityDescription: this.entityDescription,\n entityName: this.entityName\n });\n }\n}\n","import { NgModule, Injectable, Component } from \"@angular/core\";\nimport { RouterModule, Routes, CanActivate } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { PermissionsService } from \"@seniorsistemas/platform-components\";\nimport { LocaleService } from \"@seniorsistemas/angular-components\";\nimport { ExclusionsListComponent } from \"./exclusions-list.component\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingGuard implements CanActivate {\n public canActivate() {\n return true;\n }\n}\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingPermissionResolver {\n constructor(private readonly permissionsService: PermissionsService) {}\n\n public resolve() {\n return this.permissionsService.get();\n }\n}\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingLocaleResolver {\n constructor(private readonly localeService: LocaleService) {}\n\n public resolve() {\n return this.localeService.get();\n }\n}\n\n@Component({\n template: `<router-outlet></router-outlet>`\n})\nexport class EmptyComponent {}\n\nexport const routes: Routes = [\n {\n path: \"exclusions-list\",\n component: EmptyComponent,\n canActivate: [\n ExclusionsListFeatureRoutingGuard\n ],\n resolve: {\n allPermissions: ExclusionsListFeatureRoutingPermissionResolver,\n localeConfig: ExclusionsListFeatureRoutingLocaleResolver\n },\n children: [\n {\n path: \"\",\n component: ExclusionsListComponent\n }\n ]\n }\n];\n\n@NgModule({\n imports: [\n RouterModule.forChild(routes)\n ],\n exports: [\n RouterModule\n ],\n providers: [\n ExclusionsListFeatureRoutingGuard,\n ExclusionsListFeatureRoutingPermissionResolver,\n ExclusionsListFeatureRoutingLocaleResolver\n ],\n declarations: [\n EmptyComponent\n ]\n})\nexport class ExclusionsListFeatureRouting {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { PanelModule } from \"primeng/panel\";\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\nimport {\n ButtonModule,\n LoadingStateModule,\n TableModule,\n LocaleModule,\n TokenListModule,\n DynamicFormModule,\n EmptyStateModule,\n ControlErrorsModule,\n InfoSignModule\n} from \"@seniorsistemas/angular-components\";\nimport { ExclusionsListComponent } from \"./exclusions-list.component\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { ExclusionDetailsModule } from \"../exclusion-details\";\nimport { ExclusionsListFeatureRouting } from \"./exclusions-list.routing\";\nimport { CheckboxModule } from \"primeng/checkbox\";\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n CommonModule,\n ControlErrorsModule,\n ButtonModule,\n PanelModule,\n InputTextModule,\n InfoSignModule,\n ConfirmDialogModule,\n DialogModule,\n PrimeTableModule,\n TableModule,\n LoadingStateModule,\n EmptyStateModule,\n DynamicFormModule,\n TokenListModule,\n CheckboxModule,\n LocaleModule.forChild(),\n ExclusionDetailsModule,\n ExclusionsListFeatureRouting\n ],\n declarations: [ExclusionsListComponent],\n exports: [ExclusionsListComponent],\n entryComponents: [ExclusionsListComponent]\n})\nexport class ExclusionsListModule {}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ProjectConfigs, ProjectConfigsInjectionToken } from \"./models/project-config\";\nimport { FilterService } from \"./services/filter.service\";\nimport { LogicalDeleteConfigService } from \"./services/logical-delete-config.service\";\nimport { LogicalDeleteService } from \"./services/logical-delete.service\";\n\n@NgModule({\n providers: [LogicalDeleteService, LogicalDeleteConfigService, FilterService]\n})\nexport class LogicalDeleteModule {\n static forRoot(config: ProjectConfigs): ModuleWithProviders<LogicalDeleteModule> {\n return {\n ngModule: LogicalDeleteModule,\n providers: [\n {\n provide: ProjectConfigsInjectionToken,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ExclusionDetailsComponent as ɵf,ExclusionDetailsModule as ɵe} from './exclusion-details';\nexport {ProjectConfigs as ɵd,ProjectConfigsInjectionToken as ɵc} from './models/project-config';\nexport {LogicalDeleteService as ɵg} from './services';\nexport {FilterService as ɵh} from './services/filter.service';\nexport {LogicalDeleteConfigService as ɵb} from './services/logical-delete-config.service';\nexport {LogicalDeleteService as ɵa} from './services/logical-delete.service';"],"names":["PrimeTableModule","TableModule"],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-exclusion-process-component.js","sources":["ng://@seniorsistemas/exclusion-process-component/enums/enum-exclusion-process-status.ts","ng://@seniorsistemas/exclusion-process-component/models/project-config.ts","ng://@seniorsistemas/exclusion-process-component/services/logical-delete-config.service.ts","ng://@seniorsistemas/exclusion-process-component/services/logical-delete.service.ts","ng://@seniorsistemas/exclusion-process-component/exclusion-details/exclusion-details.component.ts","ng://@seniorsistemas/exclusion-process-component/exclusion-details/exclusion-details.module.ts","ng://@seniorsistemas/exclusion-process-component/services/filter.service.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.component.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.routing.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.module.ts","ng://@seniorsistemas/exclusion-process-component/logical-delete.module.ts","ng://@seniorsistemas/exclusion-process-component/seniorsistemas-exclusion-process-component.ts"],"sourcesContent":["export enum EnumExclusionProcessStatus {\n PENDING = \"PENDING\",\n PROCESSING = \"PROCESSING\",\n ERROR = \"ERROR\",\n SUCCESS = \"SUCCESS\"\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const ProjectConfigsInjectionToken = new InjectionToken<ProjectConfigs>(\"projectConfigs\");\n\nexport interface ProjectConfigs {\n domain: string;\n service: string;\n translationPrefix?: string;\n}\n","import { Inject, Injectable } from \"@angular/core\";\nimport { ProjectConfigs, ProjectConfigsInjectionToken } from \"../models/project-config\";\n\n@Injectable()\nexport class LogicalDeleteConfigService {\n constructor(\n @Inject(ProjectConfigsInjectionToken)\n private readonly projectConfigs: ProjectConfigs) {\n }\n\n public getDomain() {\n return this.projectConfigs.domain;\n }\n\n public getService() {\n return this.projectConfigs.service;\n }\n\n public getTranslationPrefix() {\n if (this.projectConfigs.translationPrefix) {\n return this.projectConfigs.translationPrefix;\n }\n return `${this.projectConfigs.domain}.${this.projectConfigs.service}`;\n }\n}\n","import * as moment from \"moment\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MessageService } from \"primeng/api\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { ListResult, ExclusionProcess } from \"../models/index\";\nimport { LogicalDeleteConfigService } from \"./logical-delete-config.service\";\nimport { ListParams } from \"../models/list-params\";\n\nconst HTTP_UNAUTHORIZED_CODE = 401;\nconst DEFAULT_PAGE_SIZE = 10;\n\n@Injectable()\nexport class LogicalDeleteService {\n private readonly exclusionProcessUrl: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly messageService: MessageService,\n private readonly translate: TranslateService,\n private readonly projectConfigs: LogicalDeleteConfigService) {\n\n const entityUrl = `${projectConfigs.getDomain()}/${projectConfigs.getService()}`;\n this.exclusionProcessUrl = `${entityUrl}/entities/exclusionProcess`;\n this.defaultCatch = this.defaultCatch.bind(this);\n }\n\n public defaultCatch() {\n return catchError<any, any>((err: any) => {\n if (err) {\n let summary = err.status ? String(err.status) : \"Error\";\n let detail = err.error?.message || err.statusText || err.message;\n\n if (err.status === HTTP_UNAUTHORIZED_CODE) {\n const prefix = this.projectConfigs.getTranslationPrefix();\n summary = this.translate.instant(`${prefix}.error_unauthorized_title`);\n detail = this.translate.instant(`${prefix}.error_unauthorized_description`);\n }\n\n this.messageService.add({\n severity: \"error\",\n summary,\n detail: detail || \"Error\"\n });\n }\n\n return throwError(err);\n });\n }\n\n public getListQueryParams(listParams: ListParams) {\n const { page = 0, size = DEFAULT_PAGE_SIZE, sort = [], filterQuery = \"\", displayFields = [] } = listParams;\n\n let params = new HttpParams();\n params = params.append(\"size\", String(size));\n params = params.append(\"offset\", String(page));\n\n if (sort && sort.length) {\n params = params.append(\n \"orderby\",\n sort\n .map(s => {\n if (s.order === -1) {\n return `${s.field} desc`;\n }\n\n return `${s.field} asc`;\n })\n .join(\", \")\n );\n }\n\n if (filterQuery) {\n params = params.append(\"filter\", filterQuery);\n }\n\n if (displayFields && displayFields.length) {\n params = params.append(\"displayfields\", displayFields.join());\n }\n\n return params;\n }\n\n public getProcessDetails(id: string): Observable<ExclusionProcess> {\n return this.doGetProcessDetails({\n filter: `id eq '${id}'`,\n size: \"1\",\n offset: \"0\",\n });\n }\n\n public getLatestProcessDetails(recordId: string): Observable<ExclusionProcess> {\n return this.doGetProcessDetails({\n filter: `recordId eq '${recordId}'`,\n size: \"1\",\n offset: \"0\",\n orderby: \"startDate desc\"\n });\n }\n\n private doGetProcessDetails(filterParams: HttpParams | {\n [param: string]: string | string[];\n }): Observable<ExclusionProcess> {\n return this.http.get<ListResult<ExclusionProcess>>(this.exclusionProcessUrl, { params: filterParams })\n .pipe<ListResult<ExclusionProcess>>(this.defaultCatch())\n .pipe(map(value => {\n if (!value.contents?.length) {\n return null;\n }\n return this.mapExclusionsDates(value.contents[0]);\n }));\n }\n\n private mapExclusionsDates(exclusionProcess: ExclusionProcess) {\n return {\n ...exclusionProcess,\n startDate: exclusionProcess.startDate ? moment(exclusionProcess.startDate).toDate() : null,\n finishDate: exclusionProcess.finishDate ? moment(exclusionProcess.finishDate).toDate() : null,\n groups: exclusionProcess.groups?.map(group => ({\n ...group,\n startDate: group.startDate ? moment(group.startDate).toDate() : null,\n finishDate: group.finishDate ? moment(group.finishDate).toDate() : null,\n steps: group.steps?.map(step => ({\n ...step,\n startDate: step.startDate ? moment(step.startDate).toDate() : null,\n finishDate: step.finishDate ? moment(step.finishDate).toDate() : null,\n }))\n }))\n };\n }\n\n public listExclusions(entityName: string, params: ListParams = {}): Observable<ListResult<ExclusionProcess>> {\n if (params.filterQuery) {\n params.filterQuery += ` and lower(entityName) eq lower('${entityName}')`;\n } else {\n params.filterQuery = `lower(entityName) eq lower('${entityName}')`;\n }\n\n return this.http.get<ListResult<ExclusionProcess>>(this.exclusionProcessUrl, { params: this.getListQueryParams(params) })\n .pipe<ListResult<ExclusionProcess>>(this.defaultCatch())\n .pipe<ListResult<ExclusionProcess>>(map(value => {\n value.contents = value.contents.map(this.mapExclusionsDates);\n return value;\n }));\n }\n}\n","import { Component, EventEmitter, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { WebsocketService } from \"@senior-gestao-empresarial/angular-components\";\nimport { EnumBadgeColors, EnumColumnFieldType, TableColumnLocaleOptions } from \"@seniorsistemas/angular-components\";\nimport * as moment from \"moment\";\nimport { Subject, Subscription } from \"rxjs\";\nimport { finalize, takeUntil } from \"rxjs/operators\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionProcess } from \"../models/exclusion-process\";\nimport { ExclusionProcessStep } from \"../models/exclusion-process-step\";\nimport { ExclusionProcessStepGroup } from \"../models/exclusion-process-step-group\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { LogicalDeleteService } from \"../services/logical-delete.service\";\nimport { ExclusionDetails } from \"./protocols/exclusion-details\";\nimport { ExclusionProcessStatusChanged } from \"./protocols/exclusion-process-status-changed\";\nimport { ShowDetailsInformation } from \"./protocols/show-details-information\";\nimport { WebsocketEventData } from \"./protocols/web-socket-event-data\";\n\nconst EXCLUSION_PROCESS_STATUS_BADGE =[\n {\n enumValue: EnumExclusionProcessStatus.ERROR,\n color: EnumBadgeColors.RED\n },\n {\n enumValue: EnumExclusionProcessStatus.PENDING,\n color: EnumBadgeColors.YELLOW\n },\n {\n enumValue: EnumExclusionProcessStatus.PROCESSING,\n color: EnumBadgeColors.BLUE\n },\n {\n enumValue: EnumExclusionProcessStatus.SUCCESS,\n color: EnumBadgeColors.GREEN\n }\n];\n\n@Component({\n selector: \"s-exclusion-details\",\n templateUrl: \"./exclusion-details.component.html\",\n styleUrls: [\"./exclusion-details.component.scss\"],\n encapsulation: ViewEncapsulation.None\n})\nexport class ExclusionDetailsComponent implements OnInit, OnDestroy {\n public locale!: TableColumnLocaleOptions;\n\n @Output()\n get isVisible(): boolean {\n return this._isVisible;\n }\n\n @Output()\n get isLoading(): boolean {\n return this._isLoading;\n }\n\n @Output()\n get processGroupData(): ExclusionDetails[] {\n return this._processGroupData;\n }\n\n @Output()\n get processGroupColumns(): any[] {\n return this._processGroupColumns;\n }\n\n @Output()\n get processStepColumns(): any[] {\n return this._processStepColumns;\n }\n\n @Output()\n public processDetails: ExclusionProcess;\n\n @Output()\n public entityDescription: string;\n\n @Output()\n public expandedRows: any = {};\n\n @Output()\n public onProcessFinishedSuccessfully: EventEmitter<ExclusionProcess> = new EventEmitter();\n\n private _isVisible = false;\n private _isLoading = false;\n private _processGroupData: ExclusionProcessStepGroup[] = [];\n private _processGroupColumns: any[] = [];\n private _processStepColumns: any[] = [];\n private _websocketService: WebsocketService;\n private _exclusionProcessStatusChangedSubscribe: Subscription;\n private _exclusionDetails: ShowDetailsInformation;\n private readonly ngUnsubscribe = new Subject();\n private subscriptionLoadProcess: Subscription = null;\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly translate: TranslateService,\n private readonly logicalDeleteService: LogicalDeleteService,\n private readonly projectConfigs: LogicalDeleteConfigService\n ) {\n }\n\n ngOnInit(): void {\n this.route.data\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((data: { [configs: string]: any, localeConfig: TableColumnLocaleOptions }) => {\n this.locale = data.localeConfig;\n });\n this._processGroupColumns = this.getGroupColumns();\n this._processStepColumns = this.getStepColumns();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n this.disconnectWebSocket();\n }\n\n public showDetails(details: ShowDetailsInformation) {\n this._exclusionDetails = details;\n this._isVisible = true;\n this._processGroupData = [];\n\n this.processDetails = null;\n this.entityDescription = details.entityDescription;\n\n this.loadProcessDetails(details, true);\n\n this.connectWebSocket();\n }\n\n public onVisibilityChanged(event: any) {\n this.closeDetails();\n }\n\n public closeDetails() {\n this._isVisible = false;\n this._exclusionDetails = null;\n this._processGroupData = [];\n this.disconnectWebSocket();\n }\n\n public getRecordDescription() {\n if (!this.processDetails?.description) {\n return \"\";\n }\n\n return this.processDetails.description;\n }\n\n public getInicialDate() {\n if (!this.processDetails?.startDate) {\n return \"\";\n }\n\n return moment(this.processDetails.startDate).format(\"DD/MM/YYYY HH:mm:ss\");\n }\n\n public getFinishDate() {\n if (!this.processDetails?.finishDate) {\n return \"\";\n }\n\n return moment(this.processDetails.finishDate).format(\"DD/MM/YYYY HH:mm:ss\");\n }\n\n public isFinished() {\n return !!this.processDetails?.finishDate;\n }\n\n public getShowExclusionsButtonLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_show_deletions`);\n }\n\n public getCloseButtonLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_close`);\n }\n\n public getUpdateButtonLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_update`);\n }\n\n public getSummaryLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_summary`);\n }\n\n public getStartDateLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_start`);\n }\n\n public getFinishDateLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_finish`);\n }\n\n public getSidebarTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_details_title`);\n }\n\n public getEmptyStateTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_title`);\n }\n\n public getEmptyStateDescription() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_description`);\n }\n\n private getGroupColumns() {\n return [\n {\n field: \"description\",\n attributes: [\"description\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_group`),\n type: EnumColumnFieldType.STRING,\n style: {\n width: \"340px\"\n }\n },\n {\n field: \"status\",\n attributes: [\"status\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n type: EnumColumnFieldType.ENUM,\n enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,\n style: {\n width: \"100px\"\n },\n tooltip: this.getColumnStatusTooltip,\n badgeConfigs: EXCLUSION_PROCESS_STATUS_BADGE\n }\n ];\n }\n\n private getStepColumns() {\n return [\n {\n field: \"description\",\n attributes: [\"description\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_step`),\n type: EnumColumnFieldType.STRING,\n style: {\n width: \"340px\"\n }\n },\n {\n field: \"status\",\n attributes: [\"status\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n type: EnumColumnFieldType.ENUM,\n enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,\n style: {\n width: \"100px\"\n },\n tooltip: this.getColumnStatusTooltip,\n badgeConfigs: EXCLUSION_PROCESS_STATUS_BADGE\n }\n ];\n }\n\n private getColumnStatusTooltip(rowValue: ExclusionDetails) {\n if (rowValue.errorMessage) {\n return rowValue.errorMessage;\n }\n\n return null;\n }\n\n public updateDetails() {\n if (!this._exclusionDetails) {\n return;\n }\n this.loadProcessDetails(this._exclusionDetails);\n }\n\n private abortRunningLoadProcessCall() {\n if (this.subscriptionLoadProcess) {\n if (this.subscriptionLoadProcess.closed) {\n this.subscriptionLoadProcess = null;\n } else {\n this.subscriptionLoadProcess.unsubscribe();\n this.subscriptionLoadProcess = null;\n }\n }\n }\n\n private loadProcessDetails(details: ShowDetailsInformation, firstLoad = false) {\n this._isLoading = true;\n\n this.abortRunningLoadProcessCall();\n\n const processObservable = details.processId\n ? this.logicalDeleteService.getProcessDetails(details.processId)\n : this.logicalDeleteService.getLatestProcessDetails(details.recordId);\n\n this.subscriptionLoadProcess = processObservable\n .pipe(takeUntil(this.ngUnsubscribe))\n .pipe(finalize(() => this._isLoading = false))\n .subscribe((process: ExclusionProcess) => {\n if (!process) {\n return;\n }\n\n this.processDetails = process;\n this._processGroupData = this.sortGroupsByStartDate(process.groups)\n .map(p => ({\n ...p,\n steps: this.sortStepsByStartDate(p.steps)\n }));\n\n this.expandedRows = {};\n this._processGroupData\n .filter(p => p.status !== EnumExclusionProcessStatus.SUCCESS)\n .forEach(p => {\n this.expandedRows[p.id] = true;\n });\n\n if (this.isProcessFinished()) {\n this.disconnectWebSocket();\n }\n if (!firstLoad) {\n this.checkIfProcessWasSuccessuful();\n }\n });\n }\n\n private isProcessFinished() {\n if (!this._processGroupData.length) {\n return false;\n }\n\n return this._processGroupData\n .every(p => p.status === EnumExclusionProcessStatus.ERROR || p.status === EnumExclusionProcessStatus.SUCCESS);\n }\n\n private checkIfProcessWasSuccessuful() {\n const isProcessSuccessful = this._processGroupData\n .every(p => p.status === EnumExclusionProcessStatus.SUCCESS);\n if (isProcessSuccessful) {\n this.notifyProcessFinishedSuccessfully();\n }\n }\n\n private notifyProcessFinishedSuccessfully() {\n this.onProcessFinishedSuccessfully.emit(this.processDetails);\n }\n\n private sortByDate(firstDate: Date, secondDate: Date) {\n if (!firstDate || !secondDate) {\n return 1;\n }\n\n if (firstDate.getTime() > secondDate.getTime()) {\n return 1;\n }\n if (firstDate.getTime() < secondDate.getTime()) {\n return -1;\n }\n return 0;\n }\n\n private sortGroupsByStartDate(groups: ExclusionProcessStepGroup[]) {\n return groups?.length ? groups.sort((a, b) => this.sortByDate(a.startDate, b.startDate)) : groups;\n }\n\n private sortStepsByStartDate(steps: ExclusionProcessStep[]) {\n return steps?.length ? steps.sort((a, b) => this.sortByDate(a.startDate, b.startDate)) : steps;\n }\n\n private disconnectWebSocket() {\n if (this._exclusionProcessStatusChangedSubscribe) {\n this._exclusionProcessStatusChangedSubscribe.unsubscribe();\n this._exclusionProcessStatusChangedSubscribe = null;\n }\n\n if (this._websocketService) {\n this._websocketService.disconnect();\n this._websocketService = null;\n }\n }\n\n private connectWebSocket() {\n if (this._websocketService) {\n this.disconnectWebSocket();\n }\n\n this._websocketService = new WebsocketService();\n this._websocketService\n .onConnect()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.startListeningWebhookEvents();\n if (this.processDetails && !this.isProcessFinished()) {\n this.loadProcessDetails(this._exclusionDetails);\n }\n });\n }\n\n private startListeningWebhookEvents() {\n this._websocketService\n .onError()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((data: any) => console.error('onWSError', data));\n\n this._exclusionProcessStatusChangedSubscribe = this._websocketService\n .onEvent<WebsocketEventData<ExclusionProcessStatusChanged>>({\n domain: this.projectConfigs.getDomain(),\n service: this.projectConfigs.getService(),\n primitive: \"exclusionProcessStatusChanged\"\n })\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: WebsocketEventData<ExclusionProcessStatusChanged>) => {\n const { data } = event;\n\n if (this._exclusionDetails.processId && data.pid === this._exclusionDetails.processId) {\n this.loadProcessDetails(this._exclusionDetails);\n return;\n }\n\n if (this._exclusionDetails.recordId && data.recordId === this._exclusionDetails.recordId) {\n this.loadProcessDetails(this._exclusionDetails);\n }\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { PanelModule } from \"primeng/panel\";\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\nimport {\n ButtonModule,\n LoadingStateModule,\n TableModule,\n SidebarModule,\n LocaleModule,\n EmptyStateModule\n} from \"@seniorsistemas/angular-components\";\nimport { ExclusionDetailsComponent } from \"./exclusion-details.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n SidebarModule,\n ButtonModule,\n PanelModule,\n PrimeTableModule,\n TableModule,\n LoadingStateModule,\n LocaleModule,\n EmptyStateModule\n ],\n declarations: [ExclusionDetailsComponent],\n exports: [ExclusionDetailsComponent],\n entryComponents: [ExclusionDetailsComponent]\n})\nexport class ExclusionDetailsModule {}\n","import * as moment from \"moment\";\nimport { Injectable } from \"@angular/core\";\nimport { FieldType, FormField, Option } from \"@seniorsistemas/angular-components\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LogicalDeleteConfigService } from \"./logical-delete-config.service\";\n\n@Injectable()\nexport class FilterService {\n private readonly numberTypes = [FieldType.Integer, FieldType.Double];\n\n constructor(\n private readonly logicalDeleteConfigService: LogicalDeleteConfigService,\n private readonly translate: TranslateService\n ) {}\n\n getEnumQuery(name: string, value: any, multiple: boolean = false) {\n if (multiple) {\n const filter = value.map((selected: any) => `${name} eq '${selected}'`).join(\" or \");\n return `(${filter})`;\n }\n return `${name} eq '${value}'`;\n }\n\n createFilterString(formField: FormField, value: any) {\n const { name, type, multiple } = formField;\n if (typeof value == \"number\") {\n return `${name} eq ${value}`;\n }\n\n switch (type) {\n case FieldType.Date:\n return `${name} eq '${moment(value).format(\"YYYY-MM-DD\")}'`;\n case FieldType.Time:\n return `${name} eq '${moment(value).format(\"HH:mm:ss\")}'`;\n case FieldType.DateTime:\n return `${name} eq '${moment(value).format()}'`;\n case FieldType.LocalDateTime:\n return `${name} eq '${moment(value).format(\"YYYY-MM-DD[T]HH:mm:ss.SSS\")}'`;\n case FieldType.Enum:\n return this.getEnumQuery(name, value, multiple);\n case FieldType.String:\n return `containing(upper(${name}), upper('${value.replace(/'/g, \"'\")}'))`;\n case FieldType.Lookup:\n return `${name} eq '${value.id}'`;\n default:\n return `${name} eq '${value}'`;\n }\n }\n\n createFilterTokens(formField: FormField, value: any) {\n const { name, type, label, searchFields, options } = formField as any;\n let labelValue = value;\n\n switch (type) {\n case FieldType.Date:\n labelValue = moment(value).format(\"L\");\n break;\n case FieldType.Time:\n labelValue = moment(value).format(\"LTS\");\n break;\n case FieldType.LocalDateTime:\n case FieldType.DateTime:\n labelValue = moment(value).format(\"L LTS\");\n break;\n case FieldType.Lookup:\n labelValue = searchFields.map((field: FormField) => this.getProp(value, field.name)).join(\" - \");\n break;\n case FieldType.Enum:\n if (Array.isArray(value)) {\n labelValue = value.map((element: string) => {\n return options.filter((en: any) => en.value === element)[0].label;\n });\n } else {\n labelValue = options.filter((option: Option) => option.value === labelValue)[0].label;\n }\n break;\n case FieldType.Boolean:\n labelValue = value\n ? this.translate.instant(`${this.logicalDeleteConfigService.getTranslationPrefix()}.list_grid_boolean_true`)\n : this.translate.instant(`${this.logicalDeleteConfigService.getTranslationPrefix()}.list_grid_boolean_false`);\n break;\n default:\n labelValue = value;\n break;\n }\n\n return { id: name, label: `${label}: ${labelValue}` };\n }\n\n getSuggestionValue(displayFields: string[], ownerEntity: string, value: any, separator: string) {\n return displayFields.map(field => this.getProp(value, `${ownerEntity}.${field}`))\n .reduce((acc: any, val: any) => `${acc}${separator}${val}`) + \"\";\n }\n\n getProp(obj: any, path: any) {\n return path.split(\".\").reduce((result: any, prop: any) => (result[prop] === undefined ? \"\" : result[prop]), obj);\n }\n\n getLabelValueRequest(contents: any[], displayFields: any[]) {\n return contents.map((item: any) => ({\n ...item,\n label: displayFields.map(field => this.getProp(item, field)).join(\" - \")\n }));\n }\n\n isValidFilter(type: FieldType, value: any) {\n const isTypeNumber = this.numberTypes.includes(type);\n const numberPattern = /^\\d+\\b$/;\n const isNumber = value.match(numberPattern);\n return !(isTypeNumber && !isNumber);\n }\n}\n","import * as moment from \"moment\";\nimport { AfterViewInit, ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LazyLoadEvent } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\nimport {\n EnumBadgeColors,\n EnumColumnFieldType,\n FieldType,\n FormField,\n IToken,\n TableColumnLocaleOptions\n} from \"@seniorsistemas/angular-components\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionProcess } from \"../models/index\";\nimport { Table } from \"primeng/table\";\nimport { LogicalDeleteService } from \"../services/index\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ListParams } from \"../models/list-params\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { ExclusionDetailsComponent } from \"../exclusion-details/index\";\nimport { FilterService } from \"../services/filter.service\";\n\nconst HTTP_CODE_SERVER_ERROR_START = 500;\nconst HTTP_CODE_SERVER_ERROR_END = 600;\n\n@Component({\n templateUrl: \"./exclusions-list.component.html\",\n styleUrls: [\"./exclusions-list.component.scss\"],\n providers: []\n})\nexport class ExclusionsListComponent implements OnInit, OnDestroy, AfterViewInit {\n\n private static readonly DATE_FORMAT = \"YYYY-MM-DD\";\n\n public locale!: TableColumnLocaleOptions;\n public entityName: string;\n public entityDescription: string;\n public processId: string;\n\n public currentListParams: ListParams = { page: 0, size: 10, sort: [], filterData: {} };\n public gridData: ExclusionProcess[];\n public gridColumns: any[];\n public showLoader = false;\n public totalRecords = 0;\n\n public filterFields: FormField[];\n public filterFormGroup: FormGroup;\n public filtersPanelCollapsed = true;\n public searchTokens: IToken[] = [];\n public serverError = false;\n\n @ViewChild(\"exclusionsTable\")\n public table: Table;\n\n @ViewChild(\"exclusionDetails\")\n public exclusionDetailsComponent: ExclusionDetailsComponent;\n\n private readonly ngUnsubscribe = new Subject();\n\n constructor(\n private readonly router: Router,\n private readonly route: ActivatedRoute,\n private readonly translate: TranslateService,\n private readonly formBuilder: FormBuilder,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly logicalDeleteService: LogicalDeleteService,\n private readonly filterService: FilterService,\n private readonly projectConfigs: LogicalDeleteConfigService,\n private readonly cdr: ChangeDetectorRef,\n ) {\n }\n\n public ngOnInit() {\n this.filterFormGroup = this.getFormBuilder();\n this.filterFields = this.getFilterFields();\n this.gridColumns = this.getGridColumns();\n\n this.route.data\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((data: { [configs: string]: any, localeConfig: TableColumnLocaleOptions }) => {\n this.locale = data.localeConfig;\n });\n this.route.queryParams\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((queryParams: any) => {\n this.entityName = queryParams.entityName;\n this.entityDescription = queryParams.entityDescription;\n this.processId = queryParams.processId || queryParams.pid;\n });\n }\n\n public ngAfterViewInit() {\n if (this.entityName && this.entityDescription && this.processId) {\n this.exclusionDetailsComponent.showDetails({\n processId: this.processId,\n entityDescription: this.entityDescription,\n entityName: this.entityName\n });\n this.cdr.detectChanges();\n }\n }\n\n public ngOnDestroy() {\n const params = { ...this.route.snapshot?.queryParams };\n if (params) {\n delete params.entityName;\n delete params.entityDescription;\n this.router.navigate([], { queryParams: params });\n }\n\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n private getFormBuilder() {\n return this.formBuilder.group({\n description: [undefined, Validators.compose([])],\n status: [undefined, Validators.compose([])],\n startDate: [{ value: null, disabled: false }, Validators.compose([])],\n endDate: [{ value: null, disabled: false }, Validators.compose([])]\n });\n }\n\n private getGridColumns() {\n return [\n {\n field: \"description\",\n attributes: [\"description\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_description`),\n type: EnumColumnFieldType.STRING,\n style: {\n width: \"300px\"\n }\n },\n {\n field: \"status\",\n attributes: [\"status\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n type: EnumColumnFieldType.ENUM,\n enumPrefix: `${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_`,\n style: {\n width: \"100px\"\n },\n tooltip: this.getColumnStatusTooltip,\n badgeConfigs: [\n {\n enumValue: EnumExclusionProcessStatus.ERROR,\n color: EnumBadgeColors.RED\n },\n {\n enumValue: EnumExclusionProcessStatus.PENDING,\n color: EnumBadgeColors.YELLOW\n },\n {\n enumValue: EnumExclusionProcessStatus.PROCESSING,\n color: EnumBadgeColors.BLUE\n },\n {\n enumValue: EnumExclusionProcessStatus.SUCCESS,\n color: EnumBadgeColors.GREEN\n }\n ]\n },\n {\n field: \"startDate\",\n attributes: [\"startDate\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_start`),\n type: EnumColumnFieldType.DATE,\n dateFormat: \"DD/MM/YYYY HH:mm:ss\",\n style: {\n width: \"100px\"\n }\n },\n {\n field: \"finishDate\",\n attributes: [\"finishDate\"],\n header: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_finish`),\n type: EnumColumnFieldType.DATE,\n dateFormat: \"DD/MM/YYYY HH:mm:ss\",\n style: {\n width: \"100px\"\n }\n }\n ];\n }\n\n private getColumnStatusTooltip(rowValue: ExclusionProcess) {\n if (rowValue.errorMessage) {\n return rowValue.errorMessage;\n }\n\n return null;\n }\n\n private getFilterFields() {\n const translationPrefix = this.projectConfigs.getTranslationPrefix();\n\n return [\n new FormField({\n type: FieldType.String,\n name: \"description\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_description`)\n }),\n new FormField({\n type: FieldType.Enum,\n name: \"status\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_status`),\n multiple: true,\n options: [\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_error`),\n value: EnumExclusionProcessStatus.ERROR\n },\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_pending`),\n value: EnumExclusionProcessStatus.PENDING\n },\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_processing`),\n value: EnumExclusionProcessStatus.PROCESSING\n },\n {\n label: this.translate.instant(`${translationPrefix}.logical_delete_enum_exclusion_process_status_success`),\n value: EnumExclusionProcessStatus.SUCCESS\n }\n ]\n }),\n new FormField({\n type: FieldType.Date,\n name: \"startDate\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_start`)\n }),\n\n new FormField({\n type: FieldType.Date,\n name: \"endDate\",\n label: this.translate.instant(`${translationPrefix}.logical_delete_finish`)\n })\n ];\n }\n\n public getEmptyStateTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_title`);\n }\n\n public getEmptyStateDescription() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_description`);\n }\n\n public getTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_list_title`);\n }\n\n public getDetailsButtonTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_details`);\n }\n\n public getFiltersTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.filters`);\n }\n\n public getFilterButtonTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.filter`);\n }\n\n public getClearButtonTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.clear`);\n }\n\n public getErrorInvalid() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_invalid`);\n }\n\n public getErrorServerTitle() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_server_title`);\n }\n\n public getErrorServerDescription() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.error_server_description`);\n }\n\n public getActionsColumnLabel() {\n return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.actions`);\n }\n\n public onSearch() {\n const filterData = this.filterFormGroup.getRawValue();\n this.filtersPanelCollapsed = true;\n this.resetGrid({ filterData });\n }\n\n public onClear() {\n this.filterFormGroup.reset();\n const filterData = this.filterFormGroup.getRawValue();\n this.resetGrid({ filterData });\n }\n\n public onRemoveToken(token: IToken) {\n this.filterFormGroup.get(token.id).setValue(undefined);\n const filterData = this.filterFormGroup.getRawValue();\n this.resetGrid({ filterData });\n }\n\n public onGridChange(event: LazyLoadEvent) {\n const size = event.rows;\n const page = event.first / size;\n const sort = event.multiSortMeta ? event.multiSortMeta : [];\n return this.updateGrid({ page, size, sort });\n }\n\n private getFilterTokens() {\n const filterData = this.filterFormGroup.value;\n\n return this.filterFields\n .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== \"\" && filterData[name] !== null)\n .filter(({ name }) => Array.isArray(filterData[name]) ? filterData[name]?.length > 0 : true)\n .map(formField => this.filterService.createFilterTokens(formField, filterData[formField.name]));\n }\n\n private getFilterQuery(): string {\n const { filterData } = this.currentListParams;\n const dateFields = [\"startDate\", \"endDate\"];\n\n let filterQuery = this.filterFields\n .filter(({ name }) => !dateFields.includes(name))\n .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== \"\" && filterData[name] !== null)\n .filter(({ name }) => Array.isArray(filterData[name]) ? filterData[name]?.length > 0 : true)\n .map(formField => this.filterService.createFilterString(formField, filterData[formField.name]))\n .join(\" and \");\n\n let dateQuery: string;\n if (filterData.startDate && filterData.endDate) {\n const startDate = moment(filterData.startDate).format(ExclusionsListComponent.DATE_FORMAT);\n const endDate = moment(filterData.endDate).format(ExclusionsListComponent.DATE_FORMAT);\n dateQuery = `startDate between '${startDate}T00:00:00Z' and '${endDate}T23:59:59Z'`;\n } else if (filterData.startDate) {\n const startDate = moment(filterData.startDate).format(ExclusionsListComponent.DATE_FORMAT);\n dateQuery = `startDate >= '${startDate}T00:00:00Z'`;\n } else if (filterData.endDate) {\n const endDate = moment(filterData.endDate).format(ExclusionsListComponent.DATE_FORMAT);\n dateQuery = `finishDate <= '${endDate}T23:59:59Z'`;\n } else {\n // Não é necessário nenhuma condição a mais no filtro.\n }\n\n if (dateQuery) {\n filterQuery += filterQuery ? ` and ${dateQuery}` : dateQuery;\n }\n\n return filterQuery;\n }\n\n private updateGrid(listParams: ListParams = {}) {\n this.currentListParams = { ...this.currentListParams, ...listParams };\n const { page, size, sort } = this.currentListParams;\n\n this.searchTokens = this.getFilterTokens();\n const filterQuery = this.getFilterQuery();\n const displayFields = [\n \"recordId\",\n \"errorMessage\",\n ...this.gridColumns.map(column => column.field)\n ];\n\n if (!sort.length) {\n sort.push({ field: 'startDate', order: -1 });\n }\n\n this.listExclusions({ page, size, sort, filterQuery, displayFields });\n }\n\n public listExclusions(params: any) {\n this.showLoader = true;\n this.serverError = false;\n\n this.changeDetectorRef.detectChanges();\n\n this.logicalDeleteService\n .listExclusions(this.entityName, params)\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n if (err.status >= HTTP_CODE_SERVER_ERROR_START && err.status < HTTP_CODE_SERVER_ERROR_END) {\n this.serverError = true;\n }\n throw err;\n }),\n finalize(() => this.showLoader = false)\n )\n .subscribe((list: any) => {\n this.gridData = list.contents;\n this.totalRecords = list.totalElements;\n });\n }\n\n public focusInput(elementId: string) {\n const element: any = document.getElementById(`${elementId}`);\n if (element) {\n element.focus();\n }\n }\n\n public resetGrid(listParams?: ListParams) {\n if (listParams) {\n this.currentListParams = { ...this.currentListParams, ...listParams };\n }\n this.currentListParams = { ...this.currentListParams, page: 0, sort: [] };\n this.table.reset();\n }\n\n public onClickDetails(rowData: ExclusionProcess) {\n this.exclusionDetailsComponent.showDetails({\n processId: rowData.id,\n entityDescription: this.entityDescription,\n entityName: this.entityName\n });\n }\n}\n","import { NgModule, Injectable, Component } from \"@angular/core\";\nimport { RouterModule, Routes, CanActivate } from \"@angular/router\";\nimport { PermissionsService } from \"@seniorsistemas/platform-components\";\nimport { LocaleService } from \"@seniorsistemas/angular-components\";\nimport { ExclusionsListComponent } from \"./exclusions-list.component\";\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingGuard implements CanActivate {\n public canActivate() {\n return true;\n }\n}\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingPermissionResolver {\n constructor(private readonly permissionsService: PermissionsService) {}\n\n public resolve() {\n return this.permissionsService.get();\n }\n}\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingLocaleResolver {\n constructor(private readonly localeService: LocaleService) {}\n\n public resolve() {\n return this.localeService.get();\n }\n}\n\n@Component({\n template: `<router-outlet></router-outlet>`\n})\nexport class EmptyComponent {}\n\nexport const routes: Routes = [\n {\n path: \"exclusions-list\",\n component: EmptyComponent,\n canActivate: [\n ExclusionsListFeatureRoutingGuard\n ],\n resolve: {\n allPermissions: ExclusionsListFeatureRoutingPermissionResolver,\n localeConfig: ExclusionsListFeatureRoutingLocaleResolver\n },\n children: [\n {\n path: \"\",\n component: ExclusionsListComponent\n }\n ]\n }\n];\n\n@NgModule({\n imports: [\n RouterModule.forChild(routes)\n ],\n exports: [\n RouterModule\n ],\n providers: [\n ExclusionsListFeatureRoutingGuard,\n ExclusionsListFeatureRoutingPermissionResolver,\n ExclusionsListFeatureRoutingLocaleResolver\n ],\n declarations: [\n EmptyComponent\n ]\n})\nexport class ExclusionsListFeatureRouting {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { PanelModule } from \"primeng/panel\";\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\nimport {\n ButtonModule,\n LoadingStateModule,\n TableModule,\n LocaleModule,\n TokenListModule,\n DynamicFormModule,\n EmptyStateModule,\n ControlErrorsModule,\n InfoSignModule\n} from \"@seniorsistemas/angular-components\";\nimport { ExclusionsListComponent } from \"./exclusions-list.component\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { ExclusionDetailsModule } from \"../exclusion-details/index\";\nimport { ExclusionsListFeatureRouting } from \"./exclusions-list.routing\";\nimport { CheckboxModule } from \"primeng/checkbox\";\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n CommonModule,\n ControlErrorsModule,\n ButtonModule,\n PanelModule,\n InputTextModule,\n InfoSignModule,\n ConfirmDialogModule,\n DialogModule,\n PrimeTableModule,\n TableModule,\n LoadingStateModule,\n EmptyStateModule,\n DynamicFormModule,\n TokenListModule,\n CheckboxModule,\n LocaleModule.forChild(),\n ExclusionDetailsModule,\n ExclusionsListFeatureRouting\n ],\n declarations: [ExclusionsListComponent],\n exports: [ExclusionsListComponent],\n entryComponents: [ExclusionsListComponent]\n})\nexport class ExclusionsListModule {}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ProjectConfigs, ProjectConfigsInjectionToken } from \"./models/project-config\";\nimport { FilterService } from \"./services/filter.service\";\nimport { LogicalDeleteConfigService } from \"./services/logical-delete-config.service\";\nimport { LogicalDeleteService } from \"./services/logical-delete.service\";\n\n@NgModule({\n providers: [LogicalDeleteService, LogicalDeleteConfigService, FilterService]\n})\nexport class LogicalDeleteModule {\n static forRoot(config: ProjectConfigs): ModuleWithProviders<LogicalDeleteModule> {\n return {\n ngModule: LogicalDeleteModule,\n providers: [\n {\n provide: ProjectConfigsInjectionToken,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ProjectConfigs as ɵd,ProjectConfigsInjectionToken as ɵc} from './models/project-config';\nexport {FilterService as ɵe} from './services/filter.service';\nexport {LogicalDeleteConfigService as ɵb} from './services/logical-delete-config.service';\nexport {LogicalDeleteService as ɵa} from './services/logical-delete.service';"],"names":["PrimeTableModule","TableModule"],"mappings":"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"}
@@ -4,12 +4,12 @@ import { InjectionToken, Inject, Injectable, EventEmitter, Output, Component, Vi
4
4
  import { PanelModule } from 'primeng/panel';
5
5
  import { TableModule } from 'primeng/table';
6
6
  import { EnumBadgeColors, EnumColumnFieldType, SidebarModule, ButtonModule, TableModule as TableModule$1, LoadingStateModule, LocaleModule, EmptyStateModule, FieldType, FormField, LocaleService, ControlErrorsModule, InfoSignModule, DynamicFormModule, TokenListModule } from '@seniorsistemas/angular-components';
7
- import * as moment from 'moment';
8
7
  import { ActivatedRoute, Router, RouterModule } from '@angular/router';
9
8
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
9
+ import { WebsocketService } from '@senior-gestao-empresarial/angular-components';
10
+ import * as moment from 'moment';
10
11
  import { throwError, Subject } from 'rxjs';
11
12
  import { catchError, map, takeUntil, finalize } from 'rxjs/operators';
12
- import { WebsocketService } from '@senior-gestao-empresarial/angular-components';
13
13
  import { HttpParams, HttpClient } from '@angular/common/http';
14
14
  import { MessageService } from 'primeng/api';
15
15
  import { Validators, FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -1054,11 +1054,11 @@ var ExclusionsListComponent = /** @class */ (function () {
1054
1054
  ViewChild("exclusionsTable")
1055
1055
  ], ExclusionsListComponent.prototype, "table", void 0);
1056
1056
  __decorate([
1057
- ViewChild(ExclusionDetailsComponent)
1057
+ ViewChild("exclusionDetails")
1058
1058
  ], ExclusionsListComponent.prototype, "exclusionDetailsComponent", void 0);
1059
1059
  ExclusionsListComponent = ExclusionsListComponent_1 = __decorate([
1060
1060
  Component({
1061
- template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n sortField=\"startDate\"\n sortOrder=\"-1\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th id=\"headerCheckbox\" class=\"centered-width-30\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"centered-width-30\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details></s-exclusion-details>\n",
1061
+ template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n sortField=\"startDate\"\n sortOrder=\"-1\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th id=\"headerCheckbox\" class=\"centered-width-30\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"centered-width-30\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details #exclusionDetails></s-exclusion-details>\n",
1062
1062
  providers: [],
1063
1063
  styles: [".centered-width-30{width:30px;-ms-flex-align:center;align-items:center}"]
1064
1064
  })
@@ -1224,5 +1224,5 @@ var LogicalDeleteModule = /** @class */ (function () {
1224
1224
  * Generated bundle index. Do not edit.
1225
1225
  */
1226
1226
 
1227
- export { EmptyComponent, ExclusionDetailsComponent, ExclusionDetailsModule, ExclusionsListComponent, ExclusionsListFeatureRouting, ExclusionsListFeatureRoutingGuard, ExclusionsListFeatureRoutingLocaleResolver, ExclusionsListFeatureRoutingPermissionResolver, ExclusionsListModule, LogicalDeleteModule, routes, LogicalDeleteService as ɵa, LogicalDeleteConfigService as ɵb, ProjectConfigsInjectionToken as ɵc, ExclusionDetailsModule as ɵe, ExclusionDetailsComponent as ɵf, LogicalDeleteService as ɵg, FilterService as ɵh };
1227
+ export { EmptyComponent, ExclusionDetailsComponent, ExclusionDetailsModule, ExclusionsListComponent, ExclusionsListFeatureRouting, ExclusionsListFeatureRoutingGuard, ExclusionsListFeatureRoutingLocaleResolver, ExclusionsListFeatureRoutingPermissionResolver, ExclusionsListModule, LogicalDeleteModule, routes, LogicalDeleteService as ɵa, LogicalDeleteConfigService as ɵb, ProjectConfigsInjectionToken as ɵc, FilterService as ɵe };
1228
1228
  //# sourceMappingURL=seniorsistemas-exclusion-process-component.js.map