@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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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EnumExclusionProcessStatus } from "../enums/enum-exclusion-process-status";
|
|
2
|
+
import { ExclusionProcess } from "./exclusion-process";
|
|
3
|
+
import { ExclusionProcessStep } from "./exclusion-process-step";
|
|
4
|
+
export interface ExclusionProcessStepGroup {
|
|
5
|
+
id: string;
|
|
6
|
+
description: string;
|
|
7
|
+
status: EnumExclusionProcessStatus;
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
startDate?: Date;
|
|
10
|
+
finishDate?: Date;
|
|
11
|
+
exclusionProcess: ExclusionProcess;
|
|
12
|
+
steps: ExclusionProcessStep[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EnumExclusionProcessStatus } from "../enums/enum-exclusion-process-status";
|
|
2
|
+
export interface ExclusionProcessStep {
|
|
3
|
+
id: string;
|
|
4
|
+
description: string;
|
|
5
|
+
status: EnumExclusionProcessStatus;
|
|
6
|
+
startDate?: Date;
|
|
7
|
+
finishDate?: Date;
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EnumExclusionProcessStatus } from "../enums/enum-exclusion-process-status";
|
|
2
|
+
import { ExclusionProcessStepGroup } from "./exclusion-process-step-group";
|
|
3
|
+
export interface ExclusionProcess {
|
|
4
|
+
id: string;
|
|
5
|
+
entityName: string;
|
|
6
|
+
recordId: string;
|
|
7
|
+
description: string;
|
|
8
|
+
status: EnumExclusionProcessStatus;
|
|
9
|
+
startDate?: Date;
|
|
10
|
+
finishDate?: Date;
|
|
11
|
+
errorMessage?: string;
|
|
12
|
+
groups: ExclusionProcessStepGroup[];
|
|
13
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/ng-packagr/package.schema.json",
|
|
3
|
+
"name": "@seniorsistemas/exclusion-process-component",
|
|
4
|
+
"version": "0.0.1-40efacd8-8a6c-4d38-8102-8c977c14410a",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://git.senior.com.br/one-senior/exclusion-process-component"
|
|
8
|
+
},
|
|
9
|
+
"peerDependencies": {
|
|
10
|
+
"@angular/animations": "~9.1.13",
|
|
11
|
+
"@angular/cdk": "~9.2.4",
|
|
12
|
+
"@angular/common": "~9.1.13",
|
|
13
|
+
"@angular/compiler": "~9.1.13",
|
|
14
|
+
"@angular/core": "~9.1.13",
|
|
15
|
+
"@angular/forms": "~9.1.13",
|
|
16
|
+
"@angular/platform-browser": "~9.1.13",
|
|
17
|
+
"@angular/platform-browser-dynamic": "~9.1.13",
|
|
18
|
+
"@angular/router": "~9.1.13",
|
|
19
|
+
"@codemirror/autocomplete": "^0.19.13",
|
|
20
|
+
"@codemirror/gutter": "^0.19.9",
|
|
21
|
+
"@codemirror/highlight": "^0.19.7",
|
|
22
|
+
"@codemirror/language": "^0.19.7",
|
|
23
|
+
"@codemirror/lint": "^0.19.3",
|
|
24
|
+
"@codemirror/state": "^0.19.6",
|
|
25
|
+
"@codemirror/tooltip": "^0.19.16",
|
|
26
|
+
"@codemirror/view": "^0.19.42",
|
|
27
|
+
"@fortawesome/fontawesome-pro": "^5.15.3",
|
|
28
|
+
"@lezer/generator": "^0.15.4",
|
|
29
|
+
"@ngx-translate/core": "^12.1.2",
|
|
30
|
+
"@ngx-translate/http-loader": "^5.0.0",
|
|
31
|
+
"@seniorsistemas/ng2-currency-mask": "0.4.2",
|
|
32
|
+
"@seniorsistemas/platform-components": "^5.0.4",
|
|
33
|
+
"@seniorsistemas/primeng-theme": "^8.1.0",
|
|
34
|
+
"@seniorsistemas/senior-platform-data": "^4.0.0",
|
|
35
|
+
"@seniorsistemas/angular-components": "16.2.1",
|
|
36
|
+
"angular2-hotkeys": "^2.3.2",
|
|
37
|
+
"bignumber.js": "^9.0.1",
|
|
38
|
+
"cropperjs": "~1.4.1",
|
|
39
|
+
"element-resize-detector": "~1.2.0",
|
|
40
|
+
"json-cycle": "1.3.0",
|
|
41
|
+
"moment": "~2.22.2",
|
|
42
|
+
"ng2-currency-mask": "~9.0.1",
|
|
43
|
+
"primeng": "~9.1.3",
|
|
44
|
+
"quill": "^1.3.7",
|
|
45
|
+
"rxjs": "~6.6.3",
|
|
46
|
+
"rxjs-compat": "^6.6.7",
|
|
47
|
+
"web-animations-js": "^2.3.2",
|
|
48
|
+
"zone.js": "~0.10.2"
|
|
49
|
+
},
|
|
50
|
+
"main": "bundles/seniorsistemas-exclusion-process-component.umd.js",
|
|
51
|
+
"module": "fesm5/seniorsistemas-exclusion-process-component.js",
|
|
52
|
+
"es2015": "fesm2015/seniorsistemas-exclusion-process-component.js",
|
|
53
|
+
"esm5": "esm5/seniorsistemas-exclusion-process-component.js",
|
|
54
|
+
"esm2015": "esm2015/seniorsistemas-exclusion-process-component.js",
|
|
55
|
+
"fesm5": "fesm5/seniorsistemas-exclusion-process-component.js",
|
|
56
|
+
"fesm2015": "fesm2015/seniorsistemas-exclusion-process-component.js",
|
|
57
|
+
"typings": "seniorsistemas-exclusion-process-component.d.ts",
|
|
58
|
+
"metadata": "seniorsistemas-exclusion-process-component.metadata.json",
|
|
59
|
+
"sideEffects": false,
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"tslib": "^1.10.0"
|
|
62
|
+
}
|
|
63
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
export { ExclusionDetailsComponent as ɵf, ExclusionDetailsModule as ɵe } from './exclusion-details';
|
|
6
|
+
export { ProjectConfigs as ɵd, ProjectConfigsInjectionToken as ɵc } from './models/project-config';
|
|
7
|
+
export { LogicalDeleteService as ɵg } from './services';
|
|
8
|
+
export { FilterService as ɵh } from './services/filter.service';
|
|
9
|
+
export { LogicalDeleteConfigService as ɵb } from './services/logical-delete-config.service';
|
|
10
|
+
export { LogicalDeleteService as ɵa } from './services/logical-delete.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ExclusionDetailsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"SidebarModule","line":10,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ButtonModule","line":11,"character":8},{"__symbolic":"reference","module":"primeng/panel","name":"PanelModule","line":12,"character":8},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":13,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"TableModule","line":14,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LoadingStateModule","line":15,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LocaleModule","line":16,"character":8}],"declarations":[{"__symbolic":"reference","name":"ExclusionDetailsComponent"}],"exports":[{"__symbolic":"reference","name":"ExclusionDetailsComponent"}],"entryComponents":[{"__symbolic":"reference","name":"ExclusionDetailsComponent"}]}]}],"members":{}},"ExclusionDetailsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"s-exclusion-details","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":18,"character":19},"member":"None"},"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 <i class=\"far fa-file-alt s-exclusion-details-record-icon\"></i>\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 <p-table\n [value]=\"processSummaryData\"\n [columns]=\"processSummaryColumns\"\n dataKey=\"id\"\n [lazy]=\"false\"\n [scrollable]=\"false\"\n [paginator]=\"false\">\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","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}"]}]}],"members":{"isVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":5}}]}],"processSummaryData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"processSummaryColumns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":5}}]}],"processDetails":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"entityDescription":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":57,"character":33},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":58,"character":32},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":59,"character":36},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"showDetails":[{"__symbolic":"method"}],"closeDetails":[{"__symbolic":"method"}],"openExclusions":[{"__symbolic":"method"}],"getRecordDescription":[{"__symbolic":"method"}],"getInicialDate":[{"__symbolic":"method"}],"getFinishDate":[{"__symbolic":"method"}],"isFinished":[{"__symbolic":"method"}],"getShowExclusionsButtonLabel":[{"__symbolic":"method"}],"getCloseButtonLabel":[{"__symbolic":"method"}],"getSummaryLabel":[{"__symbolic":"method"}],"getStartDateLabel":[{"__symbolic":"method"}],"getFinishDateLabel":[{"__symbolic":"method"}],"getSidebarTitle":[{"__symbolic":"method"}],"getSummaryColumns":[{"__symbolic":"method"}],"getColumnStatusTooltip":[{"__symbolic":"method"}],"loadProcessDetails":[{"__symbolic":"method"}],"loadProcessSummary":[{"__symbolic":"method"}]}},"ExclusionsListModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":24,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":26,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":27,"character":8},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":29,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ControlErrorsModule","line":30,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ButtonModule","line":31,"character":8},{"__symbolic":"reference","module":"primeng/panel","name":"PanelModule","line":32,"character":8},{"__symbolic":"reference","module":"primeng/inputtext","name":"InputTextModule","line":33,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"InfoSignModule","line":34,"character":8},{"__symbolic":"reference","module":"primeng/confirmdialog","name":"ConfirmDialogModule","line":35,"character":8},{"__symbolic":"reference","module":"primeng/dialog","name":"DialogModule","line":36,"character":8},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":37,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"TableModule","line":38,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LoadingStateModule","line":39,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"EmptyStateModule","line":40,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"DynamicFormModule","line":41,"character":8},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"TokenListModule","line":42,"character":8},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LocaleModule","line":43,"character":8},"member":"forChild"}},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ExclusionsListFeatureRouting"}],"declarations":[{"__symbolic":"reference","name":"ExclusionsListComponent"}],"exports":[{"__symbolic":"reference","name":"ExclusionsListComponent"}],"entryComponents":[{"__symbolic":"reference","name":"ExclusionsListComponent"}]}]}],"members":{}},"ExclusionsListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"styleUrls":[],"providers":[],"template":"<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ 'filters' | translate }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: 'error_invalid' | translate }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"'filter' | translate\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"'clear' | translate\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ 'error_server_title' | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ 'error_server_description' | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{'Ações'}}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details></s-exclusion-details>"}]}],"members":{"table":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":5},"arguments":["exclusionsTable"]}]}],"exclusionDetailsComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":43,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":49,"character":32},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":50,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":51,"character":38},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":52,"character":44},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getFormBuilder":[{"__symbolic":"method"}],"getGridColumns":[{"__symbolic":"method"}],"getFilterFields":[{"__symbolic":"method"}],"getEmptyStateTitle":[{"__symbolic":"method"}],"getEmptyStateDescription":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"getDetailsButtonTitle":[{"__symbolic":"method"}],"onSearch":[{"__symbolic":"method"}],"onClear":[{"__symbolic":"method"}],"onRemoveToken":[{"__symbolic":"method"}],"onGridChange":[{"__symbolic":"method"}],"getFilterTokens":[{"__symbolic":"method"}],"getFilterQuery":[{"__symbolic":"method"}],"updateGrid":[{"__symbolic":"method"}],"listExclusions":[{"__symbolic":"method"}],"focusInput":[{"__symbolic":"method"}],"resetGrid":[{"__symbolic":"method"}],"onClickDetails":[{"__symbolic":"method"}]}},"ExclusionsListFeatureRoutingGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"canActivate":[{"__symbolic":"method"}]}},"ExclusionsListFeatureRoutingListTitleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":18,"character":36},{"__symbolic":"reference","name":"ɵb"}]}],"resolve":[{"__symbolic":"method"}]}},"ExclusionsListFeatureRoutingPermissionResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":27,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@seniorsistemas/platform-components","name":"PermissionsService","line":29,"character":53}]}],"resolve":[{"__symbolic":"method"}]}},"ExclusionsListFeatureRoutingLocaleResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":36,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LocaleService","line":38,"character":48}]}],"resolve":[{"__symbolic":"method"}]}},"EmptyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":45,"character":1},"arguments":[{"template":"<router-outlet></router-outlet>"}]}],"members":{}},"routes":[{"path":"exclusions-list","component":{"__symbolic":"reference","name":"EmptyComponent"},"canActivate":[{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingGuard"}],"resolve":{"allPermissions":{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingPermissionResolver"},"localeConfig":{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingLocaleResolver"},"routeTitle":{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingListTitleResolver"}},"children":[{"path":":entityName","component":{"__symbolic":"reference","name":"ExclusionsListComponent"}}]}],"ExclusionsListFeatureRouting":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":71,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":73,"character":8},"member":"forChild"},"arguments":[{"__symbolic":"reference","name":"routes"}]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":76,"character":8}],"providers":[{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingGuard"},{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingPermissionResolver"},{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingLocaleResolver"},{"__symbolic":"reference","name":"ExclusionsListFeatureRoutingListTitleResolver"}],"declarations":[{"__symbolic":"reference","name":"EmptyComponent"}]}]}],"members":{}},"ExclusionProcess":{"__symbolic":"interface"},"ExclusionProcessStep":{"__symbolic":"interface"},"ExclusionProcessStepGroup":{"__symbolic":"interface"},"ListResult":{"__symbolic":"interface"},"LogicalDeleteModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵh"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"LogicalDeleteModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":17,"character":31},{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":18,"character":41},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":19,"character":36},{"__symbolic":"reference","name":"ɵb"}]}],"defaultCatch":[{"__symbolic":"method"}],"getListQueryParams":[{"__symbolic":"method"}],"getProcessDetails":[{"__symbolic":"method"}],"listExclusions":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":6,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"getDomain":[{"__symbolic":"method"}],"getService":[{"__symbolic":"method"}],"getTranslationPrefix":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":48},"arguments":["projectConfigs"]},"ɵd":{"__symbolic":"interface"},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":12,"character":36}]}],"getEnumQuery":[{"__symbolic":"method"}],"createFilterString":[{"__symbolic":"method"}],"createFilterTokens":[{"__symbolic":"method"}],"getSuggestionValue":[{"__symbolic":"method"}],"getProp":[{"__symbolic":"method"}],"getLabelValueRequest":[{"__symbolic":"method"}],"isValidFilter":[{"__symbolic":"method"}]}}},"origins":{"ExclusionDetailsModule":"./exclusion-details/exclusion-details.module","ExclusionDetailsComponent":"./exclusion-details/exclusion-details.component","ExclusionsListModule":"./exclusions-list/exclusions-list.module","ExclusionsListComponent":"./exclusions-list/exclusions-list.component","ExclusionsListFeatureRoutingGuard":"./exclusions-list/exclusions-list.routing","ExclusionsListFeatureRoutingListTitleResolver":"./exclusions-list/exclusions-list.routing","ExclusionsListFeatureRoutingPermissionResolver":"./exclusions-list/exclusions-list.routing","ExclusionsListFeatureRoutingLocaleResolver":"./exclusions-list/exclusions-list.routing","EmptyComponent":"./exclusions-list/exclusions-list.routing","routes":"./exclusions-list/exclusions-list.routing","ExclusionsListFeatureRouting":"./exclusions-list/exclusions-list.routing","ExclusionProcess":"./models/exclusion-process","ExclusionProcessStep":"./models/exclusion-process-step","ExclusionProcessStepGroup":"./models/exclusion-process-step-group","ListResult":"./models/list-result","LogicalDeleteModule":"./logical-delete.module","ɵa":"./services/logical-delete.service","ɵb":"./services/logical-delete-config.service","ɵc":"./models/project-config","ɵd":"./models/project-config","ɵe":"./exclusion-details","ɵf":"./exclusion-details","ɵg":"./services","ɵh":"./services/filter.service"},"importAs":"@seniorsistemas/exclusion-process-component"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FieldType, FormField } from "@seniorsistemas/angular-components";
|
|
2
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
3
|
+
import { LogicalDeleteConfigService } from "./logical-delete-config.service";
|
|
4
|
+
export declare class FilterService {
|
|
5
|
+
private readonly logicalDeleteConfigService;
|
|
6
|
+
private readonly translate;
|
|
7
|
+
private readonly numberTypes;
|
|
8
|
+
constructor(logicalDeleteConfigService: LogicalDeleteConfigService, translate: TranslateService);
|
|
9
|
+
getEnumQuery(name: string, value: any, multiple?: boolean): string;
|
|
10
|
+
createFilterString(formField: FormField, value: any): string;
|
|
11
|
+
createFilterTokens(formField: FormField, value: any): {
|
|
12
|
+
id: any;
|
|
13
|
+
label: string;
|
|
14
|
+
};
|
|
15
|
+
getSuggestionValue(displayFields: string[], ownerEntity: string, value: any, separator: string): string;
|
|
16
|
+
getProp(obj: any, path: any): any;
|
|
17
|
+
getLabelValueRequest(contents: any[], displayFields: any[]): any[];
|
|
18
|
+
isValidFilter(type: FieldType, value: any): boolean;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./logical-delete.service";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ProjectConfigs } from "../models/project-config";
|
|
2
|
+
export declare class LogicalDeleteConfigService {
|
|
3
|
+
private readonly projectConfigs;
|
|
4
|
+
constructor(projectConfigs: ProjectConfigs);
|
|
5
|
+
getDomain(): string;
|
|
6
|
+
getService(): string;
|
|
7
|
+
getTranslationPrefix(): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { HttpClient, HttpParams } from "@angular/common/http";
|
|
2
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
3
|
+
import { MessageService } from "primeng/api";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
import { ListResult, ExclusionProcess } from "../models/index";
|
|
6
|
+
import { LogicalDeleteConfigService } from "./logical-delete-config.service";
|
|
7
|
+
import { ListParams } from "../models/list-params";
|
|
8
|
+
export declare class LogicalDeleteService {
|
|
9
|
+
private readonly http;
|
|
10
|
+
private readonly messageService;
|
|
11
|
+
private readonly translate;
|
|
12
|
+
private readonly projectConfigs;
|
|
13
|
+
private exclusionProcessUrl;
|
|
14
|
+
private listExclusionsUrl;
|
|
15
|
+
constructor(http: HttpClient, messageService: MessageService, translate: TranslateService, projectConfigs: LogicalDeleteConfigService);
|
|
16
|
+
defaultCatch(): import("rxjs").OperatorFunction<any, any>;
|
|
17
|
+
getListQueryParams(listParams: ListParams): HttpParams;
|
|
18
|
+
getProcessDetails(recordId: string): Observable<ExclusionProcess>;
|
|
19
|
+
listExclusions(entityName: string, params?: ListParams): Observable<ListResult<ExclusionProcess>>;
|
|
20
|
+
}
|