@seniorsistemas/exclusion-process-component 0.0.1-40efacd8-8a6c-4d38-8102-8c977c14410a
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 +1205 -0
- package/bundles/seniorsistemas-exclusion-process-component.umd.js.map +1 -0
- package/bundles/seniorsistemas-exclusion-process-component.umd.min.js +16 -0
- package/bundles/seniorsistemas-exclusion-process-component.umd.min.js.map +1 -0
- package/enums/enum-exclusion-process-status.d.ts +6 -0
- package/esm2015/enums/enum-exclusion-process-status.js +8 -0
- package/esm2015/exclusion-details/exclusion-details.component.js +216 -0
- package/esm2015/exclusion-details/exclusion-details.module.js +28 -0
- package/esm2015/exclusion-details/index.js +3 -0
- package/esm2015/exclusion-details/protocols/exclusion-details.js +1 -0
- package/esm2015/exclusion-details/protocols/index.js +2 -0
- package/esm2015/exclusion-details/protocols/show-details-information.js +3 -0
- package/esm2015/exclusions-list/exclusions-list.component.js +299 -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/logical-delete.module.js +27 -0
- package/esm2015/models/exclusion-process-step-group.js +1 -0
- package/esm2015/models/exclusion-process-step.js +1 -0
- package/esm2015/models/exclusion-process.js +1 -0
- package/esm2015/models/index.js +1 -0
- package/esm2015/models/list-params.js +1 -0
- package/esm2015/models/list-result.js +1 -0
- package/esm2015/models/project-config.js +3 -0
- package/esm2015/public-api.js +4 -0
- package/esm2015/seniorsistemas-exclusion-process-component.js +11 -0
- package/esm2015/services/filter.service.js +104 -0
- package/esm2015/services/index.js +2 -0
- package/esm2015/services/logical-delete-config.service.js +29 -0
- package/esm2015/services/logical-delete.service.js +109 -0
- package/esm5/enums/enum-exclusion-process-status.js +8 -0
- package/esm5/exclusion-details/exclusion-details.component.js +235 -0
- package/esm5/exclusion-details/exclusion-details.module.js +31 -0
- package/esm5/exclusion-details/index.js +3 -0
- package/esm5/exclusion-details/protocols/exclusion-details.js +1 -0
- package/esm5/exclusion-details/protocols/index.js +2 -0
- package/esm5/exclusion-details/protocols/show-details-information.js +7 -0
- package/esm5/exclusions-list/exclusions-list.component.js +313 -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/logical-delete.module.js +31 -0
- package/esm5/models/exclusion-process-step-group.js +1 -0
- package/esm5/models/exclusion-process-step.js +1 -0
- package/esm5/models/exclusion-process.js +1 -0
- package/esm5/models/index.js +1 -0
- package/esm5/models/list-params.js +1 -0
- package/esm5/models/list-result.js +1 -0
- package/esm5/models/project-config.js +3 -0
- package/esm5/public-api.js +4 -0
- package/esm5/seniorsistemas-exclusion-process-component.js +11 -0
- package/esm5/services/filter.service.js +109 -0
- package/esm5/services/index.js +2 -0
- package/esm5/services/logical-delete-config.service.js +30 -0
- package/esm5/services/logical-delete.service.js +112 -0
- package/exclusion-details/exclusion-details.component.d.ts +49 -0
- package/exclusion-details/exclusion-details.module.d.ts +2 -0
- package/exclusion-details/index.d.ts +2 -0
- package/exclusion-details/protocols/exclusion-details.d.ts +6 -0
- package/exclusion-details/protocols/index.d.ts +2 -0
- package/exclusion-details/protocols/show-details-information.d.ts +5 -0
- package/exclusions-list/exclusions-list.component.d.ts +59 -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 +917 -0
- package/fesm2015/seniorsistemas-exclusion-process-component.js.map +1 -0
- package/fesm5/seniorsistemas-exclusion-process-component.js +981 -0
- package/fesm5/seniorsistemas-exclusion-process-component.js.map +1 -0
- package/logical-delete.module.d.ts +5 -0
- package/models/exclusion-process-step-group.d.ts +13 -0
- package/models/exclusion-process-step.d.ts +9 -0
- package/models/exclusion-process.d.ts +13 -0
- package/models/index.d.ts +4 -0
- package/models/list-params.d.ts +9 -0
- package/models/list-result.d.ts +5 -0
- package/models/project-config.d.ts +7 -0
- package/package.json +63 -0
- package/public-api.d.ts +4 -0
- package/seniorsistemas-exclusion-process-component.d.ts +10 -0
- package/seniorsistemas-exclusion-process-component.metadata.json +1 -0
- package/services/filter.service.d.ts +19 -0
- package/services/index.d.ts +1 -0
- package/services/logical-delete-config.service.d.ts +8 -0
- package/services/logical-delete.service.d.ts +20 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seniorsistemas-exclusion-process-component.js","sources":["ng://@seniorsistemas/exclusion-process-component/enums/enum-exclusion-process-status.ts","ng://@seniorsistemas/exclusion-process-component/models/project-config.ts","ng://@seniorsistemas/exclusion-process-component/services/logical-delete-config.service.ts","ng://@seniorsistemas/exclusion-process-component/services/logical-delete.service.ts","ng://@seniorsistemas/exclusion-process-component/exclusion-details/exclusion-details.component.ts","ng://@seniorsistemas/exclusion-process-component/exclusion-details/exclusion-details.module.ts","ng://@seniorsistemas/exclusion-process-component/services/filter.service.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.component.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.routing.ts","ng://@seniorsistemas/exclusion-process-component/exclusions-list/exclusions-list.module.ts","ng://@seniorsistemas/exclusion-process-component/logical-delete.module.ts","ng://@seniorsistemas/exclusion-process-component/seniorsistemas-exclusion-process-component.ts"],"sourcesContent":["export enum EnumExclusionProcessStatus {\n PENDING = \"PENDING\",\n PROCESSING = \"PROCESSING\",\n ERROR = \"ERROR\",\n SUCCESS = \"SUCCESS\"\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const ProjectConfigsInjectionToken = new InjectionToken<ProjectConfigs>(\"projectConfigs\");\n\nexport interface ProjectConfigs {\n domain: string;\n service: string;\n translationPrefix?: string;\n}\n","import { Inject, Injectable } from \"@angular/core\";\nimport { ProjectConfigs, ProjectConfigsInjectionToken } from \"../models/project-config\";\n\n@Injectable()\nexport class LogicalDeleteConfigService {\n constructor(\n @Inject(ProjectConfigsInjectionToken)\n private readonly projectConfigs: ProjectConfigs) {\n }\n\n public getDomain() {\n return this.projectConfigs.domain;\n }\n\n public getService() {\n return this.projectConfigs.service;\n }\n\n public getTranslationPrefix() {\n if (this.projectConfigs.translationPrefix) {\n return this.projectConfigs.translationPrefix;\n }\n return `${this.projectConfigs.domain}.${this.projectConfigs.service}`;\n }\n}\n","import * as moment from \"moment\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MessageService } from \"primeng/api\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { ListResult, ExclusionProcess } from \"../models/index\";\nimport { LogicalDeleteConfigService } from \"./logical-delete-config.service\";\nimport { ListParams } from \"../models/list-params\";\n\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 * 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 { EnumBadgeColors, EnumColumnFieldType, FieldType, FormField, IToken, TableColumnLocaleOptions } 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\n@Component({\n templateUrl: \"./exclusions-list.component.html\",\n styleUrls: [],\n providers: []\n})\nexport class ExclusionsListComponent implements OnInit, OnDestroy {\n public locale!: TableColumnLocaleOptions;\n public entityName: string;\n public entityDescription: string;\n\n public currentListParams: ListParams = { page: 0, size: 10, sort: [], filterData: {} };\n public gridData: ExclusionProcess[];\n public gridColumns: any[];\n public showLoader: boolean = 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: boolean = false;\n\n @ViewChild(\"exclusionsTable\")\n public table: Table;\n\n @ViewChild(ExclusionDetailsComponent)\n public exclusionDetailsComponent: ExclusionDetailsComponent;\n\n private 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 });\n this.route.queryParams\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((queryParams: any) => {\n this.entityDescription = queryParams.entityDescription;\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 state: [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 return [\n new FormField({\n type: FieldType.String,\n name: \"description\",\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_description`)\n }),\n new FormField({\n type: FieldType.Enum,\n name: \"state\",\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n placeholder: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_status`),\n multiple: true,\n options: [\n {\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_error`),\n value: EnumExclusionProcessStatus.ERROR\n },\n {\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_pending`),\n value: EnumExclusionProcessStatus.PENDING\n },\n {\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_enum_exclusion_process_status_processing`),\n value: EnumExclusionProcessStatus.PROCESSING\n },\n {\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.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(`${this.projectConfigs.getTranslationPrefix()}.logical_delete_start`)\n }),\n\n new FormField({\n type: FieldType.Date,\n name: \"endDate\",\n label: this.translate.instant(`${this.projectConfigs.getTranslationPrefix()}.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 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] !== \"\")\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)\n .map(formField => this.filterService.createFilterString(formField, filterData[formField.name]))\n .join(\" and \");\n\n if (filterData.startDate && filterData.endDate) {\n const startDate = moment(filterData.startDate).format('YYYY-MM-DD');\n const endDate = moment(filterData.endDate).format('YYYY-MM-DD');\n const dateQuery = `startDate between '${startDate}' and '${endDate}'`;\n if (filterQuery) {\n filterQuery += ` and ${dateQuery}`;\n } else {\n filterQuery = dateQuery;\n }\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 >= 500 && err.status < 600) {\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) this.currentListParams = { ...this.currentListParams, ...listParams };\n this.currentListParams = { ...this.currentListParams, page: 0, sort: [] };\n this.table.reset();\n }\n\n public onClickDetails(rowData: ExclusionProcess) {\n this.exclusionDetailsComponent.showDetails({\n recordId: rowData.recordId,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ExclusionDetailsComponent as ɵf,ExclusionDetailsModule as ɵe} from './exclusion-details';\nexport {ProjectConfigs as ɵd,ProjectConfigsInjectionToken as ɵc} from './models/project-config';\nexport {LogicalDeleteService as ɵg} from './services';\nexport {FilterService as ɵh} from './services/filter.service';\nexport {LogicalDeleteConfigService as ɵb} from './services/logical-delete-config.service';\nexport {LogicalDeleteService as ɵa} from './services/logical-delete.service';"],"names":["PrimeTableModule","TableModule"],"mappings":"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"}
|