@seniorsistemas/exclusion-process-component 0.4.5-826622e7-b65b-4a6f-b6ca-88406889ccc8 → 0.4.5-d44b1622-9bfb-478e-a750-0ffe89ba31da

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.
@@ -947,19 +947,14 @@
947
947
  }
948
948
  };
949
949
  ExclusionsListComponent.prototype.ngOnDestroy = function () {
950
- var hash = globalThis.location.hash;
951
- if (!hash.includes('exclusions-list') && hash.includes('?')) {
952
- var _a = __read(hash.split('?'), 2), hashPath = _a[0], queryString = _a[1];
953
- if (queryString) {
954
- var urlParams = new URLSearchParams(queryString);
955
- if (urlParams.has('entityName') || urlParams.has('entityDescription')) {
956
- urlParams.delete('entityName');
957
- urlParams.delete('entityDescription');
958
- var cleanQuery = urlParams.toString();
959
- var cleanHash = cleanQuery ? hashPath + "?" + cleanQuery : hashPath;
960
- globalThis.history.replaceState(globalThis.history.state, '', "" + globalThis.location.pathname + cleanHash);
961
- }
962
- }
950
+ var _a;
951
+ var params = __assign({}, (_a = this.route.snapshot) === null || _a === void 0 ? void 0 : _a.queryParams);
952
+ if (params) {
953
+ delete params.entityName;
954
+ delete params.entityDescription;
955
+ var urlTree = this.router.parseUrl(this.router.url);
956
+ urlTree.queryParams = params;
957
+ globalThis.history.replaceState(globalThis.history.state, '', urlTree.toString());
963
958
  }
964
959
  this.ngUnsubscribe.next();
965
960
  this.ngUnsubscribe.complete();
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-exclusion-process-component.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","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"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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 hash = globalThis.location.hash;\n \n if (!hash.includes('exclusions-list') && hash.includes('?')) {\n const [hashPath, queryString] = hash.split('?');\n \n if (queryString) {\n const urlParams = new URLSearchParams(queryString);\n \n if (urlParams.has('entityName') || urlParams.has('entityDescription')) {\n urlParams.delete('entityName');\n urlParams.delete('entityDescription');\n \n const cleanQuery = urlParams.toString();\n const cleanHash = cleanQuery ? `${hashPath}?${cleanQuery}` : hashPath;\n \n globalThis.history.replaceState(\n globalThis.history.state,\n '',\n `${globalThis.location.pathname}${cleanHash}`\n );\n }\n }\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"],"names":["InjectionToken","Inject","Injectable","catchError","throwError","HttpParams","map","HttpClient","MessageService","TranslateService","EnumBadgeColors","EventEmitter","Subject","takeUntil","EnumColumnFieldType","finalize","WebsocketService","ActivatedRoute","Output","Component","ViewEncapsulation","NgModule","CommonModule","SidebarModule","ButtonModule","PanelModule","PrimeTableModule","TableModule","LoadingStateModule","LocaleModule","EmptyStateModule","FieldType","Validators","FormField","Router","FormBuilder","ChangeDetectorRef","ViewChild","PermissionsService","LocaleService","RouterModule","FormsModule","ReactiveFormsModule","TranslateModule","ControlErrorsModule","InputTextModule","InfoSignModule","ConfirmDialogModule","DialogModule","DynamicFormModule","TokenListModule","CheckboxModule"],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-exclusion-process-component.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","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"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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 const urlTree = this.router.parseUrl(this.router.url);\n urlTree.queryParams = params;\n \n globalThis.history.replaceState(\n globalThis.history.state,\n '',\n urlTree.toString()\n );\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"],"names":["InjectionToken","Inject","Injectable","catchError","throwError","HttpParams","map","HttpClient","MessageService","TranslateService","EnumBadgeColors","EventEmitter","Subject","takeUntil","EnumColumnFieldType","finalize","WebsocketService","ActivatedRoute","Output","Component","ViewEncapsulation","NgModule","CommonModule","SidebarModule","ButtonModule","PanelModule","PrimeTableModule","TableModule","LoadingStateModule","LocaleModule","EmptyStateModule","FieldType","Validators","FormField","Router","FormBuilder","ChangeDetectorRef","ViewChild","PermissionsService","LocaleService","RouterModule","FormsModule","ReactiveFormsModule","TranslateModule","ControlErrorsModule","InputTextModule","InfoSignModule","ConfirmDialogModule","DialogModule","DynamicFormModule","TokenListModule","CheckboxModule"],"mappings":"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"}