@seniorsistemas/exclusion-process-component 0.0.1-c049d10c-e93a-4d63-9c2a-b17bca40c324 → 0.1.0
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.
- package/bundles/seniorsistemas-exclusion-process-component.umd.js +554 -18
- package/bundles/seniorsistemas-exclusion-process-component.umd.js.map +1 -1
- package/bundles/seniorsistemas-exclusion-process-component.umd.min.js +2 -2
- package/bundles/seniorsistemas-exclusion-process-component.umd.min.js.map +1 -1
- package/esm2015/exclusion-details/exclusion-details.component.js +15 -5
- package/esm2015/exclusion-details/exclusion-details.module.js +4 -3
- package/esm2015/exclusion-details/protocols/show-details-information.js +1 -1
- package/esm2015/exclusions-list/exclusions-list.component.js +347 -0
- package/esm2015/exclusions-list/exclusions-list.module.js +47 -0
- package/esm2015/exclusions-list/exclusions-list.routing.js +115 -0
- package/esm2015/exclusions-list/index.js +4 -0
- package/esm2015/public-api.js +2 -1
- package/esm2015/seniorsistemas-exclusion-process-component.js +4 -2
- package/esm2015/services/filter.service.js +4 -1
- package/esm2015/services/index.js +2 -0
- package/esm2015/services/logical-delete.service.js +24 -9
- package/esm5/exclusion-details/exclusion-details.component.js +15 -5
- package/esm5/exclusion-details/exclusion-details.module.js +4 -3
- package/esm5/exclusion-details/protocols/show-details-information.js +1 -1
- package/esm5/exclusions-list/exclusions-list.component.js +362 -0
- package/esm5/exclusions-list/exclusions-list.module.js +50 -0
- package/esm5/exclusions-list/exclusions-list.routing.js +127 -0
- package/esm5/exclusions-list/index.js +4 -0
- package/esm5/public-api.js +2 -1
- package/esm5/seniorsistemas-exclusion-process-component.js +4 -2
- package/esm5/services/filter.service.js +4 -1
- package/esm5/services/index.js +2 -0
- package/esm5/services/logical-delete.service.js +24 -9
- package/exclusion-details/exclusion-details.component.d.ts +2 -0
- package/exclusion-details/protocols/show-details-information.d.ts +2 -1
- package/exclusions-list/exclusions-list.component.d.ts +69 -0
- package/exclusions-list/exclusions-list.module.d.ts +2 -0
- package/exclusions-list/exclusions-list.routing.d.ts +29 -0
- package/exclusions-list/index.d.ts +3 -0
- package/fesm2015/seniorsistemas-exclusion-process-component.js +517 -18
- package/fesm2015/seniorsistemas-exclusion-process-component.js.map +1 -1
- package/fesm5/seniorsistemas-exclusion-process-component.js +547 -18
- package/fesm5/seniorsistemas-exclusion-process-component.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/seniorsistemas-exclusion-process-component.d.ts +3 -1
- package/seniorsistemas-exclusion-process-component.metadata.json +1 -1
- package/services/index.d.ts +1 -0
- package/services/logical-delete.service.d.ts +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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/logical-delete.module.ts"],"names":["EnumExclusionProcessStatus","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","ProjectConfigsInjectionToken","InjectionToken","LogicalDeleteConfigService","projectConfigs","paramIndex","decorator","getDomain","domain","getService","service","getTranslationPrefix","translationPrefix","Inject","args","Injectable","LogicalDeleteService","http","messageService","translate","entityUrl","exclusionProcessUrl","listExclusionsUrl","defaultCatch","bind","_this","catchError","err","summary","status","String","detail","message","statusText","prefix","instant","add","severity","throwError","getListQueryParams","listParams","_a","page","_b","size","_c","sort","_d","filterQuery","_e","displayFields","params","HttpParams","append","map","order","field","join","getProcessDetails","recordId","filterParams","filter","get","pipe","contents","listExclusions","entityName","forEach","startDate","moment","toDate","finishDate","HttpClient","MessageService","TranslateService","ExclusionDetailsComponent","router","route","logicalDeleteService","_entityName","_isVisible","_isLoading","_processSummaryData","_processSummaryColumns","ngUnsubscribe","Subject","ngOnInit","data","takeUntil","subscribe","locale","localeConfig","getSummaryColumns","ngOnDestroy","complete","showDetails","details","processDetails","entityDescription","loadProcessDetails","closeDetails","openExclusions","navigate","queryParams","getRecordDescription","description","getInicialDate","format","getFinishDate","isFinished","getShowExclusionsButtonLabel","getCloseButtonLabel","getSummaryLabel","getStartDateLabel","getFinishDateLabel","getSidebarTitle","attributes","header","type","EnumColumnFieldType","STRING","style","width","ENUM","enumPrefix","tooltip","getColumnStatusTooltip","badgeConfigs","enumValue","ERROR","color","EnumBadgeColors","RED","PENDING","YELLOW","PROCESSING","BLUE","SUCCESS","GREEN","rowValue","errorMessage","finalize","process","loadProcessSummary","stepLogs","groups","group","steps","step","concat","__spread","Router","ActivatedRoute","Output","Component","selector","template","encapsulation","ViewEncapsulation","None","ExclusionDetailsModule","NgModule","imports","CommonModule","SidebarModule","ButtonModule","PanelModule","PrimeTableModule","TableModule","LoadingStateModule","LocaleModule","declarations","exports","entryComponents","FilterService","logicalDeleteConfigService","numberTypes","FieldType","Integer","Double","getEnumQuery","name","multiple","selected","createFilterString","formField","Date","Time","DateTime","LocalDateTime","Enum","replace","Lookup","id","createFilterTokens","label","searchFields","options","labelValue","getProp","Array","isArray","element","en","option","Boolean","getSuggestionValue","ownerEntity","separator","reduce","acc","val","obj","path","split","result","prop","undefined","getLabelValueRequest","item","isValidFilter","isTypeNumber","includes","isNumber","match","LogicalDeleteModule","forRoot","config","ngModule","LogicalDeleteModule_1","providers","provide","useValue"],"mappings":"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","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\n@Injectable()\nexport class LogicalDeleteService {\n private exclusionProcessUrl: string;\n private listExclusionsUrl: 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.listExclusionsUrl = `${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 && err.error.message) || err.statusText || err.message || \"Error\";\n\n if (err.status === 401) {\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\n });\n }\n\n return throwError(err);\n });\n }\n\n public getListQueryParams(listParams: ListParams) {\n const { page = 0, size = 10, 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(recordId: string): Observable<ExclusionProcess> {\n const filterParams = {\n filter: `recordId eq '${recordId}'`\n };\n\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 value.contents[0];\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.forEach(p => {\n if (p.startDate) {\n p.startDate = moment(p.startDate).toDate();\n }\n\n if (p.finishDate) {\n p.finishDate = moment(p.finishDate).toDate();\n }\n });\n return value;\n }));\n }\n}\n","import * as moment from \"moment\";\nimport { Component, Output, ViewEncapsulation, OnInit, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { EnumBadgeColors, EnumColumnFieldType, TableColumnLocaleOptions } from \"@seniorsistemas/angular-components\";\nimport { Subject } from \"rxjs\";\nimport { finalize, takeUntil } from \"rxjs/operators\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionDetails } from \"./protocols/exclusion-details\";\nimport { LogicalDeleteService } from \"../services/logical-delete.service\";\nimport { ExclusionProcess } from \"../models/index\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { ShowDetailsInformation } from \"./protocols\";\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 processSummaryData(): ExclusionDetails[] {\n return this._processSummaryData;\n }\n\n @Output()\n get processSummaryColumns(): any[] {\n return this._processSummaryColumns;\n }\n\n @Output()\n public processDetails: ExclusionProcess;\n\n @Output()\n public entityDescription: string;\n\n private _entityName = \"\";\n private _isVisible = false;\n private _isLoading = false;\n private _processSummaryData: ExclusionDetails[] = [];\n private _processSummaryColumns: any[] = [];\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 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._processSummaryColumns = this.getSummaryColumns();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public showDetails(details: ShowDetailsInformation) {\n this.processDetails = null;\n this._entityName = details.entityName;\n this._isVisible = true;\n this.entityDescription = details.entityDescription;\n\n this.loadProcessDetails(details.recordId);\n }\n\n public closeDetails() {\n this._isVisible = false;\n }\n\n public openExclusions() {\n this.closeDetails();\n this.router.navigate(\n [\"exclusions-list\", this._entityName],\n {\n queryParams: {\n entityDescription: this.entityDescription\n }\n }\n );\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\");\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\");\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 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 private getSummaryColumns() {\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 }\n\n private getColumnStatusTooltip(rowValue: ExclusionDetails) {\n if (rowValue.errorMessage) {\n return rowValue.errorMessage;\n }\n\n return null;\n }\n\n private loadProcessDetails(recordId: string) {\n this._isLoading = true;\n\n this.logicalDeleteService.getProcessDetails(recordId)\n .pipe(takeUntil(this.ngUnsubscribe))\n .pipe(finalize(() => this._isLoading = false))\n .subscribe((process: ExclusionProcess) => {\n this.processDetails = process;\n this.loadProcessSummary(process);\n });\n }\n\n private loadProcessSummary(process: ExclusionProcess) {\n const stepLogs: ExclusionDetails[] = [];\n\n process.groups.forEach(group => {\n const steps = group.steps.map(step => ({\n description: step.description,\n status: step.status,\n errorMessage: step.errorMessage\n } as ExclusionDetails));\n\n stepLogs.push(...steps);\n });\n\n this._processSummaryData = stepLogs;\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 { ButtonModule, LoadingStateModule, TableModule, SidebarModule, LocaleModule } 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 ],\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 }\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 { 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"]}
|
|
1
|
+
{"version":3,"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"],"names":["EnumExclusionProcessStatus","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","ProjectConfigsInjectionToken","InjectionToken","LogicalDeleteConfigService","projectConfigs","paramIndex","decorator","getDomain","domain","getService","service","getTranslationPrefix","translationPrefix","Inject","args","Injectable","LogicalDeleteService","http","messageService","translate","entityUrl","exclusionProcessUrl","listExclusionsUrl","defaultCatch","bind","_this","catchError","err","summary","status","String","detail","_a","message","statusText","prefix","instant","add","severity","throwError","getListQueryParams","listParams","page","_b","size","_c","sort","_d","filterQuery","_e","displayFields","params","HttpParams","append","map","order","field","join","getProcessDetails","id","doGetProcessDetails","filter","offset","getLatestProcessDetails","recordId","orderby","filterParams","get","pipe","contents","listExclusions","entityName","forEach","startDate","moment","toDate","finishDate","HttpClient","MessageService","TranslateService","ExclusionDetailsComponent","router","route","logicalDeleteService","_entityName","_isVisible","_isLoading","_processSummaryData","_processSummaryColumns","ngUnsubscribe","Subject","ngOnInit","data","takeUntil","subscribe","locale","localeConfig","getSummaryColumns","ngOnDestroy","complete","showDetails","details","processDetails","entityDescription","loadProcessDetails","closeDetails","openExclusions","navigate","queryParams","getRecordDescription","description","getInicialDate","format","getFinishDate","isFinished","getShowExclusionsButtonLabel","getCloseButtonLabel","getSummaryLabel","getStartDateLabel","getFinishDateLabel","getSidebarTitle","getEmptyStateTitle","getEmptyStateDescription","attributes","header","type","EnumColumnFieldType","STRING","style","width","ENUM","enumPrefix","tooltip","getColumnStatusTooltip","badgeConfigs","enumValue","ERROR","color","EnumBadgeColors","RED","PENDING","YELLOW","PROCESSING","BLUE","SUCCESS","GREEN","rowValue","errorMessage","processId","finalize","process","loadProcessSummary","stepLogs","groups","group","steps","step","Router","ActivatedRoute","Output","Component","selector","template","encapsulation","ViewEncapsulation","None","ExclusionDetailsModule","NgModule","imports","CommonModule","SidebarModule","ButtonModule","PanelModule","PrimeTableModule","TableModule","LoadingStateModule","LocaleModule","EmptyStateModule","declarations","exports","entryComponents","FilterService","logicalDeleteConfigService","numberTypes","FieldType","Integer","Double","getEnumQuery","name","multiple","selected","createFilterString","formField","Date","Time","DateTime","LocalDateTime","Enum","replace","Lookup","createFilterTokens","label","searchFields","options","labelValue","getProp","Array","isArray","element","en","option","Boolean","getSuggestionValue","ownerEntity","separator","reduce","acc","val","obj","path","split","result","prop","undefined","getLabelValueRequest","item","isValidFilter","isTypeNumber","includes","isNumber","match","ExclusionsListComponent","formBuilder","changeDetectorRef","filterService","currentListParams","filterData","showLoader","totalRecords","filtersPanelCollapsed","searchTokens","serverError","filterFormGroup","getFormBuilder","filterFields","getFilterFields","gridColumns","getGridColumns","showBasedOnRoute","exclusionDetailsComponent","Validators","compose","disabled","endDate","DATE","dateFormat","FormField","placeholder","getTitle","getDetailsButtonTitle","getFiltersTitle","getFilterButtonTitle","getClearButtonTitle","getErrorInvalid","getErrorServerTitle","getErrorServerDescription","getActionsColumnLabel","onSearch","getRawValue","resetGrid","onClear","reset","onRemoveToken","token","setValue","onGridChange","event","rows","first","multiSortMeta","updateGrid","getFilterTokens","getFilterQuery","dateQuery","dateFields","ExclusionsListComponent_1","DATE_FORMAT","column","detectChanges","list","gridData","totalElements","focusInput","elementId","document","getElementById","focus","table","onClickDetails","rowData","FormBuilder","ChangeDetectorRef","ViewChild","providers","ExclusionsListFeatureRoutingGuard","canActivate","ExclusionsListFeatureRoutingListTitleResolver","resolve","ExclusionsListFeatureRoutingPermissionResolver","permissionsService","PermissionsService","ExclusionsListFeatureRoutingLocaleResolver","localeService","LocaleService","EmptyComponent","routes","component","allPermissions","routeTitle","children","ExclusionsListFeatureRouting","RouterModule","forChild","ExclusionsListModule","FormsModule","ReactiveFormsModule","TranslateModule","ControlErrorsModule","InputTextModule","InfoSignModule","ConfirmDialogModule","DialogModule","DynamicFormModule","TokenListModule","LogicalDeleteModule","forRoot","config","ngModule","LogicalDeleteModule_1","provide","useValue"],"mappings":"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","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 private readonly listExclusionsUrl: 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.listExclusionsUrl = `${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 value.contents[0];\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.forEach(p => {\n if (p.startDate) {\n p.startDate = moment(p.startDate).toDate();\n }\n\n if (p.finishDate) {\n p.finishDate = moment(p.finishDate).toDate();\n }\n });\n return value;\n }));\n }\n}\n","import * as moment from \"moment\";\nimport { Component, Output, ViewEncapsulation, OnInit, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { EnumBadgeColors, EnumColumnFieldType, TableColumnLocaleOptions } from \"@seniorsistemas/angular-components\";\nimport { Subject } from \"rxjs\";\nimport { finalize, takeUntil } from \"rxjs/operators\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionDetails } from \"./protocols/exclusion-details\";\nimport { LogicalDeleteService } from \"../services/logical-delete.service\";\nimport { ExclusionProcess } from \"../models/index\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { ShowDetailsInformation } from \"./protocols\";\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 processSummaryData(): ExclusionDetails[] {\n return this._processSummaryData;\n }\n\n @Output()\n get processSummaryColumns(): any[] {\n return this._processSummaryColumns;\n }\n\n @Output()\n public processDetails: ExclusionProcess;\n\n @Output()\n public entityDescription: string;\n\n private _entityName = \"\";\n private _isVisible = false;\n private _isLoading = false;\n private _processSummaryData: ExclusionDetails[] = [];\n private _processSummaryColumns: any[] = [];\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 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._processSummaryColumns = this.getSummaryColumns();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public showDetails(details: ShowDetailsInformation) {\n this.processDetails = null;\n this._entityName = details.entityName;\n this._isVisible = true;\n this._processSummaryData = [];\n this.entityDescription = details.entityDescription;\n\n this.loadProcessDetails(details);\n }\n\n public closeDetails() {\n this._isVisible = false;\n }\n\n public openExclusions() {\n this.closeDetails();\n this.router.navigate(\n [\"exclusions-list\", this._entityName],\n {\n queryParams: {\n entityDescription: this.entityDescription\n }\n }\n );\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\");\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\");\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 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 getSummaryColumns() {\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 }\n\n private getColumnStatusTooltip(rowValue: ExclusionDetails) {\n if (rowValue.errorMessage) {\n return rowValue.errorMessage;\n }\n\n return null;\n }\n\n private loadProcessDetails(details: ShowDetailsInformation) {\n this._isLoading = true;\n\n const processObservable = details.processId\n ? this.logicalDeleteService.getProcessDetails(details.processId)\n : this.logicalDeleteService.getLatestProcessDetails(details.recordId);\n\n processObservable\n .pipe(takeUntil(this.ngUnsubscribe))\n .pipe(finalize(() => this._isLoading = false))\n .subscribe((process: ExclusionProcess) => {\n this.processDetails = process;\n this.loadProcessSummary(process);\n });\n }\n\n private loadProcessSummary(process: ExclusionProcess) {\n const stepLogs: ExclusionDetails[] = [];\n\n process.groups.forEach(group => {\n const steps = group.steps.map(step => ({\n description: step.description,\n status: step.status,\n errorMessage: step.errorMessage\n } as ExclusionDetails));\n\n stepLogs.push(...steps);\n });\n\n this._processSummaryData = stepLogs;\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 { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { LazyLoadEvent } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\nimport {\n EnumBadgeColors,\n EnumColumnFieldType,\n FieldType,\n FormField,\n IToken,\n TableColumnLocaleOptions\n} from \"@seniorsistemas/angular-components\";\nimport { EnumExclusionProcessStatus } from \"../enums/enum-exclusion-process-status\";\nimport { ExclusionProcess } from \"../models\";\nimport { Table } from \"primeng/table\";\nimport { LogicalDeleteService } from \"../services\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { ListParams } from \"../models/list-params\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\nimport { ExclusionDetailsComponent } from \"../exclusion-details\";\nimport { FilterService } from \"../services/filter.service\";\n\nconst HTTP_CODE_SERVER_ERROR_START = 500;\nconst HTTP_CODE_SERVER_ERROR_END = 600;\n\n@Component({\n templateUrl: \"./exclusions-list.component.html\",\n styleUrls: [],\n providers: []\n})\nexport class ExclusionsListComponent implements OnInit, OnDestroy {\n\n private static readonly DATE_FORMAT = \"YYYY-MM-DD\";\n\n public locale!: TableColumnLocaleOptions;\n public entityName: string;\n public entityDescription: string;\n public processId: string;\n\n public currentListParams: ListParams = { page: 0, size: 10, sort: [], filterData: {} };\n public gridData: ExclusionProcess[];\n public gridColumns: any[];\n public showLoader = false;\n public totalRecords = 0;\n\n public filterFields: FormField[];\n public filterFormGroup: FormGroup;\n public filtersPanelCollapsed = true;\n public searchTokens: IToken[] = [];\n public serverError = false;\n\n @ViewChild(\"exclusionsTable\")\n public table: Table;\n\n @ViewChild(ExclusionDetailsComponent)\n public exclusionDetailsComponent: ExclusionDetailsComponent;\n\n private readonly ngUnsubscribe = new Subject();\n\n constructor(\n private readonly 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 ) {\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.params\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((params: any) => {\n this.entityName = params.entityName;\n this.showBasedOnRoute();\n });\n this.route.queryParams\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((queryParams: any) => {\n this.entityDescription = queryParams.entityDescription;\n this.processId = queryParams.processId;\n this.showBasedOnRoute();\n });\n }\n\n private showBasedOnRoute() {\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 }\n }\n\n public ngOnDestroy() {\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: undefined, disabled: false }, Validators.compose([])],\n endDate: [{ value: undefined, 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 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\",\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\",\n style: {\n width: \"100px\"\n }\n }\n ];\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 placeholder: 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 .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 .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 ...this.gridColumns.map(column => column.field)\n ];\n\n this.listExclusions({ page, size, sort, filterQuery, displayFields });\n }\n\n public listExclusions(params: any) {\n this.showLoader = true;\n this.serverError = false;\n\n this.changeDetectorRef.detectChanges();\n\n this.logicalDeleteService\n .listExclusions(this.entityName, params)\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n if (err.status >= HTTP_CODE_SERVER_ERROR_START && err.status < HTTP_CODE_SERVER_ERROR_END) {\n this.serverError = true;\n }\n throw err;\n }),\n finalize(() => this.showLoader = false)\n )\n .subscribe((list: any) => {\n this.gridData = list.contents;\n this.totalRecords = list.totalElements;\n });\n }\n\n public focusInput(elementId: string) {\n const element: any = document.getElementById(`${elementId}`);\n if (element) {\n element.focus();\n }\n }\n\n public resetGrid(listParams?: ListParams) {\n if (listParams) {\n this.currentListParams = { ...this.currentListParams, ...listParams };\n }\n this.currentListParams = { ...this.currentListParams, page: 0, sort: [] };\n this.table.reset();\n }\n\n public onClickDetails(rowData: ExclusionProcess) {\n this.exclusionDetailsComponent.showDetails({\n processId: rowData.id,\n entityDescription: this.entityDescription,\n entityName: this.entityName\n });\n }\n}\n","import { NgModule, Injectable, Component } from \"@angular/core\";\nimport { RouterModule, Routes, CanActivate } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { PermissionsService } from \"@seniorsistemas/platform-components\";\nimport { LocaleService } from \"@seniorsistemas/angular-components\";\nimport { ExclusionsListComponent } from \"./exclusions-list.component\";\nimport { LogicalDeleteConfigService } from \"../services/logical-delete-config.service\";\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingGuard implements CanActivate {\n public canActivate() {\n return true;\n }\n}\n\n@Injectable()\nexport class ExclusionsListFeatureRoutingListTitleResolver {\n constructor(\n private readonly translate: TranslateService,\n private readonly projectConfigs: LogicalDeleteConfigService\n ) {}\n\n public resolve() {\n return this.translate.get(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_list_title`);\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 routeTitle: ExclusionsListFeatureRoutingListTitleResolver\n },\n children: [\n {\n path: \":entityName\",\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 ExclusionsListFeatureRoutingListTitleResolver\n ],\n declarations: [\n EmptyComponent\n ]\n})\nexport class ExclusionsListFeatureRouting {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { PanelModule } from \"primeng/panel\";\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\nimport {\n ButtonModule,\n LoadingStateModule,\n TableModule,\n LocaleModule,\n TokenListModule,\n DynamicFormModule,\n EmptyStateModule,\n ControlErrorsModule,\n InfoSignModule\n} from \"@seniorsistemas/angular-components\";\nimport { ExclusionsListComponent } from \"./exclusions-list.component\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { ExclusionDetailsModule } from \"../exclusion-details\";\nimport { ExclusionsListFeatureRouting } from \"./exclusions-list.routing\";\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 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"]}
|
|
@@ -51,8 +51,9 @@ let ExclusionDetailsComponent = class ExclusionDetailsComponent {
|
|
|
51
51
|
this.processDetails = null;
|
|
52
52
|
this._entityName = details.entityName;
|
|
53
53
|
this._isVisible = true;
|
|
54
|
+
this._processSummaryData = [];
|
|
54
55
|
this.entityDescription = details.entityDescription;
|
|
55
|
-
this.loadProcessDetails(details
|
|
56
|
+
this.loadProcessDetails(details);
|
|
56
57
|
}
|
|
57
58
|
closeDetails() {
|
|
58
59
|
this._isVisible = false;
|
|
@@ -108,6 +109,12 @@ let ExclusionDetailsComponent = class ExclusionDetailsComponent {
|
|
|
108
109
|
getSidebarTitle() {
|
|
109
110
|
return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_details_title`);
|
|
110
111
|
}
|
|
112
|
+
getEmptyStateTitle() {
|
|
113
|
+
return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_title`);
|
|
114
|
+
}
|
|
115
|
+
getEmptyStateDescription() {
|
|
116
|
+
return this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_empty_state_description`);
|
|
117
|
+
}
|
|
111
118
|
getSummaryColumns() {
|
|
112
119
|
return [
|
|
113
120
|
{
|
|
@@ -156,9 +163,12 @@ let ExclusionDetailsComponent = class ExclusionDetailsComponent {
|
|
|
156
163
|
}
|
|
157
164
|
return null;
|
|
158
165
|
}
|
|
159
|
-
loadProcessDetails(
|
|
166
|
+
loadProcessDetails(details) {
|
|
160
167
|
this._isLoading = true;
|
|
161
|
-
|
|
168
|
+
const processObservable = details.processId
|
|
169
|
+
? this.logicalDeleteService.getProcessDetails(details.processId)
|
|
170
|
+
: this.logicalDeleteService.getLatestProcessDetails(details.recordId);
|
|
171
|
+
processObservable
|
|
162
172
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
163
173
|
.pipe(finalize(() => this._isLoading = false))
|
|
164
174
|
.subscribe((process) => {
|
|
@@ -207,10 +217,10 @@ __decorate([
|
|
|
207
217
|
ExclusionDetailsComponent = __decorate([
|
|
208
218
|
Component({
|
|
209
219
|
selector: "s-exclusion-details",
|
|
210
|
-
template: "<s-sidebar [visible]=\"isVisible\" (visibleChange)=\"closeDetails()\" [header]=\"getSidebarTitle()\">\n <s-loading-state [loading]=\"isLoading\">\n <p-panel [showHeader]=\"false\" styleClass=\"s-exclusion-details-record-details-panel\">\n <div class=\"s-exclusion-details-record-details-container\">\n <div class=\"s-exclusion-details-record-icon-background\">\n <
|
|
220
|
+
template: "<s-sidebar [visible]=\"isVisible\" (visibleChange)=\"closeDetails()\" [header]=\"getSidebarTitle()\">\n <s-loading-state [loading]=\"isLoading\">\n <p-panel [showHeader]=\"false\" styleClass=\"s-exclusion-details-record-details-panel\">\n <div class=\"s-exclusion-details-record-details-container\">\n <div class=\"s-exclusion-details-record-icon-background\">\n <em class=\"far fa-file-alt s-exclusion-details-record-icon\"></em>\n </div>\n\n <div class=\"s-exclusion-details-record-details-recordinfo\">\n <span class=\"s-exclusion-details-record-details-type\">\n {{entityDescription}}\n </span>\n <span>\n {{getRecordDescription()}}\n </span>\n </div>\n\n <div class=\"s-exclusion-details-record-details-dateinfo\">\n <span>\n {{getStartDateLabel()}}: {{getInicialDate()}}\n </span>\n <span *ngIf=\"isFinished()\">\n {{getFinishDateLabel()}}: {{getFinishDate()}}\n </span>\n </div>\n </div>\n </p-panel>\n\n <p-panel>\n <p-header>\n {{getSummaryLabel()}}\n </p-header>\n\n <s-empty-state\n *ngIf=\"processSummaryData && !processSummaryData.length\"\n [title]=\"getEmptyStateTitle()\"\n [description]=\"getEmptyStateDescription()\">\n [showPrimaryAction]=\"false\"\n </s-empty-state>\n\n <p-table\n [value]=\"processSummaryData\"\n [columns]=\"processSummaryColumns\"\n dataKey=\"id\"\n [lazy]=\"false\"\n [scrollable]=\"false\"\n [paginator]=\"false\"\n *ngIf=\"processSummaryData && processSummaryData.length\">\n\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [ngStyle]=\"col.style\"\n [pSortableColumn]=\"col.field\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n <p-sortIcon [field]=\"col.field\" ></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr>\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n </tr>\n </ng-template>\n </p-table>\n </p-panel>\n </s-loading-state>\n\n <s-footer>\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <s-button [label]=\"getShowExclusionsButtonLabel()\" (onClick)=\"openExclusions()\"></s-button>\n <s-button [label]=\"getCloseButtonLabel()\" priority=\"link\" (onClick)=\"closeDetails()\"></s-button>\n </div>\n </div>\n </s-footer>\n</s-sidebar>\n",
|
|
211
221
|
encapsulation: ViewEncapsulation.None,
|
|
212
222
|
styles: [".s-exclusion-details-record-details-panel{margin-bottom:10px}.s-exclusion-details-record-details-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}.s-exclusion-details-record-details-recordinfo{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-left:10px;-ms-flex:1;flex:1}.s-exclusion-details-record-details-dateinfo{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-left:10px;-ms-flex-align:end;align-items:flex-end;font-size:12px}.s-exclusion-details-record-details-type{color:#999}.s-exclusion-details-record-icon{font-size:22pt;color:#7e8d95}.s-exclusion-details-record-icon-background{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:16px;background-color:#c1cad1;border-radius:50%;height:60px;width:60px}"]
|
|
213
223
|
})
|
|
214
224
|
], ExclusionDetailsComponent);
|
|
215
225
|
export { ExclusionDetailsComponent };
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBNEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFTdkYsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFvQ2xDLFlBQ3FCLE1BQWMsRUFDZCxLQUFxQixFQUNyQixTQUEyQixFQUMzQixvQkFBMEMsRUFDMUMsY0FBMEM7UUFKMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7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LGNBQWM7WUFDVixnQkFBZ0I7WUFDTCxvQkFBb0I7WUFDMUIsMEJBQTBCOztBQXJDL0Q7SUFEQyxNQUFNLEVBQUU7MERBR1I7QUFHRDtJQURDLE1BQU0sRUFBRTswREFHUjtBQUdEO0lBREMsTUFBTSxFQUFFO21FQUdSO0FBR0Q7SUFEQyxNQUFNLEVBQUU7c0VBR1I7QUFHRDtJQURDLE1BQU0sRUFBRTtpRUFDK0I7QUFHeEM7SUFEQyxNQUFNLEVBQUU7b0VBQ3dCO0FBM0J4Qix5QkFBeUI7SUFOckMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixvOUdBQWlEO1FBRWpELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztLQUN4QyxDQUFDO0dBQ1cseUJBQXlCLENBc05yQztTQXROWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgRW51bUJhZGdlQ29sb3JzLCBFbnVtQ29sdW1uRmllbGRUeXBlLCBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnMgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cyB9IGZyb20gXCIuLi9lbnVtcy9lbnVtLWV4Y2x1c2lvbi1wcm9jZXNzLXN0YXR1c1wiO1xuaW1wb3J0IHsgRXhjbHVzaW9uRGV0YWlscyB9IGZyb20gXCIuL3Byb3RvY29scy9leGNsdXNpb24tZGV0YWlsc1wiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhjbHVzaW9uUHJvY2VzcyB9IGZyb20gXCIuLi9tb2RlbHMvaW5kZXhcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNob3dEZXRhaWxzSW5mb3JtYXRpb24gfSBmcm9tIFwiLi9wcm90b2NvbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1leGNsdXNpb24tZGV0YWlsc1wiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBsb2NhbGUhOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnM7XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IHByb2Nlc3NTdW1tYXJ5RGF0YSgpOiBFeGNsdXNpb25EZXRhaWxzW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc1N1bW1hcnlEYXRhO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBwcm9jZXNzU3VtbWFyeUNvbHVtbnMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc1N1bW1hcnlDb2x1bW5zO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBwcm9jZXNzRGV0YWlsczogRXhjbHVzaW9uUHJvY2VzcztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBlbnRpdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfZW50aXR5TmFtZSA9IFwiXCI7XG4gICAgcHJpdmF0ZSBfaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcHJvY2Vzc1N1bW1hcnlEYXRhOiBFeGNsdXNpb25EZXRhaWxzW10gPSBbXTtcbiAgICBwcml2YXRlIF9wcm9jZXNzU3VtbWFyeUNvbHVtbnM6IGFueVtdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9naWNhbERlbGV0ZVNlcnZpY2U6IExvZ2ljYWxEZWxldGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2plY3RDb25maWdzOiBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLmRhdGFcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogeyBbY29uZmlnczogc3RyaW5nXTogYW55LCBsb2NhbGVDb25maWc6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgPSBkYXRhLmxvY2FsZUNvbmZpZztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9wcm9jZXNzU3VtbWFyeUNvbHVtbnMgPSB0aGlzLmdldFN1bW1hcnlDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RldGFpbHMoZGV0YWlsczogU2hvd0RldGFpbHNJbmZvcm1hdGlvbikge1xuICAgICAgICB0aGlzLnByb2Nlc3NEZXRhaWxzID0gbnVsbDtcbiAgICAgICAgdGhpcy5fZW50aXR5TmFtZSA9IGRldGFpbHMuZW50aXR5TmFtZTtcbiAgICAgICAgdGhpcy5faXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lbnRpdHlEZXNjcmlwdGlvbiA9IGRldGFpbHMuZW50aXR5RGVzY3JpcHRpb247XG5cbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHMoZGV0YWlscy5yZWNvcmRJZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5faXNWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5FeGNsdXNpb25zKCkge1xuICAgICAgICB0aGlzLmNsb3NlRGV0YWlscygpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgICAgICAgIFtcImV4Y2x1c2lvbnMtbGlzdFwiLCB0aGlzLl9lbnRpdHlOYW1lXSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICBlbnRpdHlEZXNjcmlwdGlvbjogdGhpcy5lbnRpdHlEZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVjb3JkRGVzY3JpcHRpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5wcm9jZXNzRGV0YWlscz8uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RldGFpbHMuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldEluaWNpYWxEYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMucHJvY2Vzc0RldGFpbHM/LnN0YXJ0RGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9tZW50KHRoaXMucHJvY2Vzc0RldGFpbHMuc3RhcnREYXRlKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaW5pc2hEYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMucHJvY2Vzc0RldGFpbHM/LmZpbmlzaERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnByb2Nlc3NEZXRhaWxzLmZpbmlzaERhdGUpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW1cIik7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRmluaXNoZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJvY2Vzc0RldGFpbHM/LmZpbmlzaERhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNob3dFeGNsdXNpb25zQnV0dG9uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc2hvd19kZWxldGlvbnNgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xvc2VCdXR0b25MYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9jbG9zZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdW1tYXJ5TGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3VtbWFyeWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdGFydERhdGVMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGFydGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaW5pc2hEYXRlTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZmluaXNoYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNpZGViYXJUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9kZXRhaWxzX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTdW1tYXJ5Q29sdW1ucygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcImRlc2NyaXB0aW9uXCJdLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2Rlc2NyaXB0aW9uYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMzAwcHhcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwic3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wic3RhdHVzXCJdLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0YXR1c2ApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuRU5VTSxcbiAgICAgICAgICAgICAgICBlbnVtUHJlZml4OiBgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX2AsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwcHhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdG9vbHRpcDogdGhpcy5nZXRDb2x1bW5TdGF0dXNUb29sdGlwLFxuICAgICAgICAgICAgICAgIGJhZGdlQ29uZmlnczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLkVSUk9SLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5SRURcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5QRU5ESU5HLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5ZRUxMT1dcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5QUk9DRVNTSU5HLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5CTFVFXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuR1JFRU5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtblN0YXR1c1Rvb2x0aXAocm93VmFsdWU6IEV4Y2x1c2lvbkRldGFpbHMpIHtcbiAgICAgICAgaWYgKHJvd1ZhbHVlLmVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd1ZhbHVlLmVycm9yTWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFByb2Nlc3NEZXRhaWxzKHJlY29yZElkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmxvZ2ljYWxEZWxldGVTZXJ2aWNlLmdldFByb2Nlc3NEZXRhaWxzKHJlY29yZElkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLl9pc0xvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwcm9jZXNzOiBFeGNsdXNpb25Qcm9jZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGV0YWlscyA9IHByb2Nlc3M7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc1N1bW1hcnkocHJvY2Vzcyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRQcm9jZXNzU3VtbWFyeShwcm9jZXNzOiBFeGNsdXNpb25Qcm9jZXNzKSB7XG4gICAgICAgIGNvbnN0IHN0ZXBMb2dzOiBFeGNsdXNpb25EZXRhaWxzW10gPSBbXTtcblxuICAgICAgICBwcm9jZXNzLmdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0ZXBzID0gZ3JvdXAuc3RlcHMubWFwKHN0ZXAgPT4gKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RlcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHN0ZXAuc3RhdHVzLFxuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZTogc3RlcC5lcnJvck1lc3NhZ2VcbiAgICAgICAgICAgIH0gYXMgRXhjbHVzaW9uRGV0YWlscykpO1xuXG4gICAgICAgICAgICBzdGVwTG9ncy5wdXNoKC4uLnN0ZXBzKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fcHJvY2Vzc1N1bW1hcnlEYXRhID0gc3RlcExvZ3M7XG4gICAgfVxufVxuIl19
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBNEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFTdkYsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFvQ2xDLFlBQ3FCLE1BQWMsRUFDZCxLQUFxQixFQUNyQixTQUEyQixFQUMzQixvQkFBMEMsRUFDMUMsY0FBMEM7UUFKMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7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QU0sUUFBUSxHQUF1QixFQUFFLENBQUM7UUFFeEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2FBQ2IsQ0FBQSxDQUFDLENBQUM7WUFFeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0NBQ0osQ0FBQTs7WUE5TGdDLE1BQU07WUFDUCxjQUFjO1lBQ1YsZ0JBQWdCO1lBQ0wsb0JBQW9CO1lBQzFCLDBCQUEwQjs7QUFyQy9EO0lBREMsTUFBTSxFQUFFOzBEQUdSO0FBR0Q7SUFEQyxNQUFNLEVBQUU7MERBR1I7QUFHRDtJQURDLE1BQU0sRUFBRTttRUFHUjtBQUdEO0lBREMsTUFBTSxFQUFFO3NFQUdSO0FBR0Q7SUFEQyxNQUFNLEVBQUU7aUVBQytCO0FBR3hDO0lBREMsTUFBTSxFQUFFO29FQUN3QjtBQTNCeEIseUJBQXlCO0lBTnJDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsMDBIQUFpRDtRQUVqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDeEMsQ0FBQztHQUNXLHlCQUF5QixDQW1PckM7U0FuT1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEVudW1CYWRnZUNvbG9ycywgRW51bUNvbHVtbkZpZWxkVHlwZSwgVGFibGVDb2x1bW5Mb2NhbGVPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMgfSBmcm9tIFwiLi4vZW51bXMvZW51bS1leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvbkRldGFpbHMgfSBmcm9tIFwiLi9wcm90b2NvbHMvZXhjbHVzaW9uLWRldGFpbHNcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3MgfSBmcm9tIFwiLi4vbW9kZWxzL2luZGV4XCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLWNvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTaG93RGV0YWlsc0luZm9ybWF0aW9uIH0gZnJvbSBcIi4vcHJvdG9jb2xzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtZXhjbHVzaW9uLWRldGFpbHNcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgbG9jYWxlITogVGFibGVDb2x1bW5Mb2NhbGVPcHRpb25zO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IGlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBwcm9jZXNzU3VtbWFyeURhdGEoKTogRXhjbHVzaW9uRGV0YWlsc1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NTdW1tYXJ5RGF0YTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgcHJvY2Vzc1N1bW1hcnlDb2x1bW5zKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NTdW1tYXJ5Q29sdW1ucztcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcHJvY2Vzc0RldGFpbHM6IEV4Y2x1c2lvblByb2Nlc3M7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZW50aXR5RGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIHByaXZhdGUgX2VudGl0eU5hbWUgPSBcIlwiO1xuICAgIHByaXZhdGUgX2lzVmlzaWJsZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Byb2Nlc3NTdW1tYXJ5RGF0YTogRXhjbHVzaW9uRGV0YWlsc1tdID0gW107XG4gICAgcHJpdmF0ZSBfcHJvY2Vzc1N1bW1hcnlDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2ljYWxEZWxldGVTZXJ2aWNlOiBMb2dpY2FsRGVsZXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnczogTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IHsgW2NvbmZpZ3M6IHN0cmluZ106IGFueSwgbG9jYWxlQ29uZmlnOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc1N1bW1hcnlDb2x1bW5zID0gdGhpcy5nZXRTdW1tYXJ5Q29sdW1ucygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEZXRhaWxzKGRldGFpbHM6IFNob3dEZXRhaWxzSW5mb3JtYXRpb24pIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGV0YWlscyA9IG51bGw7XG4gICAgICAgIHRoaXMuX2VudGl0eU5hbWUgPSBkZXRhaWxzLmVudGl0eU5hbWU7XG4gICAgICAgIHRoaXMuX2lzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NTdW1tYXJ5RGF0YSA9IFtdO1xuICAgICAgICB0aGlzLmVudGl0eURlc2NyaXB0aW9uID0gZGV0YWlscy5lbnRpdHlEZXNjcmlwdGlvbjtcblxuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyhkZXRhaWxzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VEZXRhaWxzKCkge1xuICAgICAgICB0aGlzLl9pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkV4Y2x1c2lvbnMoKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEZXRhaWxzKCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgICAgW1wiZXhjbHVzaW9ucy1saXN0XCIsIHRoaXMuX2VudGl0eU5hbWVdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIGVudGl0eURlc2NyaXB0aW9uOiB0aGlzLmVudGl0eURlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZWNvcmREZXNjcmlwdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByb2Nlc3NEZXRhaWxzPy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRGV0YWlscy5kZXNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW5pY2lhbERhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5wcm9jZXNzRGV0YWlscz8uc3RhcnREYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy5wcm9jZXNzRGV0YWlscy5zdGFydERhdGUpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW1cIik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbmlzaERhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5wcm9jZXNzRGV0YWlscz8uZmluaXNoRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9tZW50KHRoaXMucHJvY2Vzc0RldGFpbHMuZmluaXNoRGF0ZSkuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbVwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGaW5pc2hlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcm9jZXNzRGV0YWlscz8uZmluaXNoRGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2hvd0V4Y2x1c2lvbnNCdXR0b25MYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zaG93X2RlbGV0aW9uc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDbG9zZUJ1dHRvbkxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2Nsb3NlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN1bW1hcnlMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdW1tYXJ5YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0YXJ0RGF0ZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0YXJ0YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbmlzaERhdGVMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9maW5pc2hgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2lkZWJhclRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2RldGFpbHNfdGl0bGVgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RW1wdHlTdGF0ZVRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VtcHR5X3N0YXRlX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvbmApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U3VtbWFyeUNvbHVtbnMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJkZXNjcmlwdGlvblwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9kZXNjcmlwdGlvbmApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjMwMHB4XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXR1c1wiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkVOVU0sXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19gLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMHB4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcCxcbiAgICAgICAgICAgICAgICBiYWRnZUNvbmZpZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5FUlJPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuUkVEXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElORyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuWUVMTE9XXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUFJPQ0VTU0lORyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuQkxVRVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkdSRUVOXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5TdGF0dXNUb29sdGlwKHJvd1ZhbHVlOiBFeGNsdXNpb25EZXRhaWxzKSB7XG4gICAgICAgIGlmIChyb3dWYWx1ZS5lcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dWYWx1ZS5lcnJvck1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRQcm9jZXNzRGV0YWlscyhkZXRhaWxzOiBTaG93RGV0YWlsc0luZm9ybWF0aW9uKSB7XG4gICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgcHJvY2Vzc09ic2VydmFibGUgPSBkZXRhaWxzLnByb2Nlc3NJZFxuICAgICAgICAgICAgPyB0aGlzLmxvZ2ljYWxEZWxldGVTZXJ2aWNlLmdldFByb2Nlc3NEZXRhaWxzKGRldGFpbHMucHJvY2Vzc0lkKVxuICAgICAgICAgICAgOiB0aGlzLmxvZ2ljYWxEZWxldGVTZXJ2aWNlLmdldExhdGVzdFByb2Nlc3NEZXRhaWxzKGRldGFpbHMucmVjb3JkSWQpO1xuXG4gICAgICAgIHByb2Nlc3NPYnNlcnZhYmxlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuX2lzTG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3M6IEV4Y2x1c2lvblByb2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZXRhaWxzID0gcHJvY2VzcztcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzU3VtbWFyeShwcm9jZXNzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFByb2Nlc3NTdW1tYXJ5KHByb2Nlc3M6IEV4Y2x1c2lvblByb2Nlc3MpIHtcbiAgICAgICAgY29uc3Qgc3RlcExvZ3M6IEV4Y2x1c2lvbkRldGFpbHNbXSA9IFtdO1xuXG4gICAgICAgIHByb2Nlc3MuZ3JvdXBzLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RlcHMgPSBncm91cC5zdGVwcy5tYXAoc3RlcCA9PiAoe1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdGVwLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHN0YXR1czogc3RlcC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlOiBzdGVwLmVycm9yTWVzc2FnZVxuICAgICAgICAgICAgfSBhcyBFeGNsdXNpb25EZXRhaWxzKSk7XG5cbiAgICAgICAgICAgIHN0ZXBMb2dzLnB1c2goLi4uc3RlcHMpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9wcm9jZXNzU3VtbWFyeURhdGEgPSBzdGVwTG9ncztcbiAgICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { CommonModule } from "@angular/common";
|
|
|
3
3
|
import { NgModule } from "@angular/core";
|
|
4
4
|
import { PanelModule } from "primeng/panel";
|
|
5
5
|
import { TableModule as PrimeTableModule } from "primeng/table";
|
|
6
|
-
import { ButtonModule, LoadingStateModule, TableModule, SidebarModule, LocaleModule } from "@seniorsistemas/angular-components";
|
|
6
|
+
import { ButtonModule, LoadingStateModule, TableModule, SidebarModule, LocaleModule, EmptyStateModule } from "@seniorsistemas/angular-components";
|
|
7
7
|
import { ExclusionDetailsComponent } from "./exclusion-details.component";
|
|
8
8
|
let ExclusionDetailsModule = class ExclusionDetailsModule {
|
|
9
9
|
};
|
|
@@ -17,7 +17,8 @@ ExclusionDetailsModule = __decorate([
|
|
|
17
17
|
PrimeTableModule,
|
|
18
18
|
TableModule,
|
|
19
19
|
LoadingStateModule,
|
|
20
|
-
LocaleModule
|
|
20
|
+
LocaleModule,
|
|
21
|
+
EmptyStateModule
|
|
21
22
|
],
|
|
22
23
|
declarations: [ExclusionDetailsComponent],
|
|
23
24
|
exports: [ExclusionDetailsComponent],
|
|
@@ -25,4 +26,4 @@ ExclusionDetailsModule = __decorate([
|
|
|
25
26
|
})
|
|
26
27
|
], ExclusionDetailsModule);
|
|
27
28
|
export { ExclusionDetailsModule };
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxJQUFJLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFDSCxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGdCQUFnQixFQUNuQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBa0IxRSxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtDQUFHLENBQUE7QUFBekIsc0JBQXNCO0lBaEJsQyxRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxZQUFZO1lBQ1osYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGdCQUFnQjtTQUNuQjtRQUNELFlBQVksRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ3BDLGVBQWUsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0tBQy9DLENBQUM7R0FDVyxzQkFBc0IsQ0FBRztTQUF6QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3BhbmVsXCI7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSBhcyBQcmltZVRhYmxlTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7XG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIExvYWRpbmdTdGF0ZU1vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBTaWRlYmFyTW9kdWxlLFxuICAgIExvY2FsZU1vZHVsZSxcbiAgICBFbXB0eVN0YXRlTW9kdWxlXG59IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFNpZGViYXJNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGFuZWxNb2R1bGUsXG4gICAgICAgIFByaW1lVGFibGVNb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIExvY2FsZU1vZHVsZSxcbiAgICAgICAgRW1wdHlTdGF0ZU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRXhjbHVzaW9uRGV0YWlsc0NvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0V4Y2x1c2lvbkRldGFpbHNDb21wb25lbnRdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW0V4Y2x1c2lvbkRldGFpbHNDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbkRldGFpbHNNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class ShowDetailsInformation {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1kZXRhaWxzLWluZm9ybWF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL3Byb3RvY29scy9zaG93LWRldGFpbHMtaW5mb3JtYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHNCQUFzQjtDQUtsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTaG93RGV0YWlsc0luZm9ybWF0aW9uIHtcbiAgICByZWNvcmRJZD86IHN0cmluZztcbiAgICBwcm9jZXNzSWQ/OiBzdHJpbmc7XG4gICAgZW50aXR5TmFtZTogc3RyaW5nO1xuICAgIGVudGl0eURlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG4iXX0=
|