@senior-gestao-pessoas/payroll-core 9.8.0-feature-hcmgdp-12459-4d08efe5 → 9.9.0-feature-hcmgdp-12490-b88ad694
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/senior-gestao-pessoas-payroll-core.umd.js +531 -15
- package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
- package/components/transportation-voucher-scale-lookup/autocomplete.service.d.ts +31 -0
- package/components/transportation-voucher-scale-lookup/index.d.ts +5 -0
- package/components/transportation-voucher-scale-lookup/lookup.service.d.ts +47 -0
- package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.d.ts +80 -0
- package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.d.ts +8 -0
- package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.d.ts +2 -0
- package/esm2015/components/transportation-voucher-scale-lookup/autocomplete.service.js +114 -0
- package/esm2015/components/transportation-voucher-scale-lookup/index.js +6 -0
- package/esm2015/components/transportation-voucher-scale-lookup/lookup.service.js +147 -0
- package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +215 -0
- package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +17 -0
- package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +31 -0
- package/esm2015/public_api.js +2 -1
- package/esm5/components/transportation-voucher-scale-lookup/autocomplete.service.js +128 -0
- package/esm5/components/transportation-voucher-scale-lookup/index.js +6 -0
- package/esm5/components/transportation-voucher-scale-lookup/lookup.service.js +152 -0
- package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +223 -0
- package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +19 -0
- package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +34 -0
- package/esm5/public_api.js +2 -1
- package/fesm2015/senior-gestao-pessoas-payroll-core.js +497 -17
- package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-payroll-core.js +528 -17
- package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/locale/en-US.json +5 -1
- package/locale/es-ES.json +5 -1
- package/locale/pt-BR.json +5 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { HttpClientService } from '../shared/http-client.service';
|
|
2
|
+
import { ServiceType } from '../../core/enums/serviceType';
|
|
3
|
+
export declare class AutocompleteService {
|
|
4
|
+
private httpClienteService;
|
|
5
|
+
constructor(httpClienteService: HttpClientService);
|
|
6
|
+
getAutoComplete(entity: string, params: object, searchFields: any, codeIsString: boolean, service: ServiceType): import("rxjs").Observable<any>;
|
|
7
|
+
getAutoCompleteQuery(query: string, params: object, service?: ServiceType): import("rxjs").Observable<any>;
|
|
8
|
+
/**
|
|
9
|
+
* Gera os parametros de pesquisa via pesquisa na grid
|
|
10
|
+
* @param filterData
|
|
11
|
+
*/
|
|
12
|
+
private generateGridParameters;
|
|
13
|
+
/**
|
|
14
|
+
* Gera a string de consulta CRUD de um campo.
|
|
15
|
+
* @param type Tipo do campo.
|
|
16
|
+
* @param attribute Nome do atribute da entidade
|
|
17
|
+
* @param value Valor do campo
|
|
18
|
+
*/
|
|
19
|
+
private getParameterByType;
|
|
20
|
+
/**
|
|
21
|
+
* Retorna o filtro formatador para ser chamdo no endpoint
|
|
22
|
+
* @param valueFilterSearch valor pra adicionar no filtro
|
|
23
|
+
*/
|
|
24
|
+
private getParameterBySearchType;
|
|
25
|
+
/**
|
|
26
|
+
* Formata o filtro quando for "Ou"
|
|
27
|
+
* @param attribute Nome do atributo da entidade.
|
|
28
|
+
* @param value Valor da propriedade do objeto.
|
|
29
|
+
*/
|
|
30
|
+
private getSearchFilterString;
|
|
31
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HttpClient } from "@angular/common/http";
|
|
2
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
3
|
+
import { FormField } from "@seniorsistemas/angular-components";
|
|
4
|
+
import { MessageService } from "primeng/api";
|
|
5
|
+
import { Observable } from "rxjs";
|
|
6
|
+
export declare class LookupService {
|
|
7
|
+
private http;
|
|
8
|
+
private messageService;
|
|
9
|
+
private translateService;
|
|
10
|
+
private concatFields;
|
|
11
|
+
private concatOtherFields;
|
|
12
|
+
private lookupDisplayField;
|
|
13
|
+
private httpPostParams;
|
|
14
|
+
private page;
|
|
15
|
+
constructor(http: HttpClient, messageService: MessageService, translateService: TranslateService);
|
|
16
|
+
lookupRequestPost(httpPostParams: any, endpoint: string, concatFields: Array<FormField>, lookupDisplayField: string): Observable<any>;
|
|
17
|
+
postConfigPageSize(httpPostParams: any): void;
|
|
18
|
+
/**
|
|
19
|
+
* POST
|
|
20
|
+
* @param endpoint Busca e faz o tratamento dos dados do lookup.
|
|
21
|
+
* @param httpParams HttpParams
|
|
22
|
+
*/
|
|
23
|
+
private postDataLookup;
|
|
24
|
+
/**
|
|
25
|
+
* Converte o valor do campo para apresentação no lookup.
|
|
26
|
+
*
|
|
27
|
+
* @param content Valor do campo para conversão.
|
|
28
|
+
* @param field FormField do campo.
|
|
29
|
+
*/
|
|
30
|
+
private convertLookupFieldValue;
|
|
31
|
+
/**
|
|
32
|
+
* Converte os dados para visualização na grid
|
|
33
|
+
* @param content
|
|
34
|
+
*/
|
|
35
|
+
private convertGridFieldValue;
|
|
36
|
+
/**
|
|
37
|
+
* Faz a concatenação de valores do registro para ser apresentado no lookup ao selecionar o dado.
|
|
38
|
+
* @param contentValue Valor do registro.
|
|
39
|
+
*/
|
|
40
|
+
private generateDisplayFieldValue;
|
|
41
|
+
/**
|
|
42
|
+
* Faz a requisição POST na URL do lookup.
|
|
43
|
+
* @param endpoint - URL do endpoint.
|
|
44
|
+
* @param httpParams - Parâmetros HTTP.
|
|
45
|
+
*/
|
|
46
|
+
private postUrlDataLookup;
|
|
47
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { OnDestroy, OnInit, ElementRef, EventEmitter, AfterViewInit, ChangeDetectorRef } from "@angular/core";
|
|
2
|
+
import { FormGroup } from "@angular/forms";
|
|
3
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
4
|
+
import { FieldType, FormField } from "@seniorsistemas/angular-components";
|
|
5
|
+
import { BehaviorSubject } from "rxjs";
|
|
6
|
+
import { AutocompleteService } from "./autocomplete.service";
|
|
7
|
+
import { LookupService } from "./lookup.service";
|
|
8
|
+
export declare class TransportationVoucherScaleLookupComponent implements OnInit, OnDestroy, AfterViewInit {
|
|
9
|
+
private autocompleteService;
|
|
10
|
+
private lookupService;
|
|
11
|
+
private translate;
|
|
12
|
+
private cdr;
|
|
13
|
+
transportationVoucherScaleEl: ElementRef;
|
|
14
|
+
required: boolean;
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
form: FormGroup;
|
|
17
|
+
name: string;
|
|
18
|
+
onSelect: EventEmitter<any>;
|
|
19
|
+
onClear: EventEmitter<any>;
|
|
20
|
+
onBlur: EventEmitter<any>;
|
|
21
|
+
lookupSuggestions: any[];
|
|
22
|
+
searchGridData: FormField[];
|
|
23
|
+
suggestionsObservable: BehaviorSubject<any>;
|
|
24
|
+
totalRecords: number;
|
|
25
|
+
private concatFieldsName;
|
|
26
|
+
private concatName;
|
|
27
|
+
gridFields: FormField[];
|
|
28
|
+
searchFields: (FormField | {
|
|
29
|
+
name: string;
|
|
30
|
+
label: any;
|
|
31
|
+
type: FieldType;
|
|
32
|
+
dataKey?: undefined;
|
|
33
|
+
appendTo?: undefined;
|
|
34
|
+
fullWidth?: undefined;
|
|
35
|
+
onSearch?: undefined;
|
|
36
|
+
suggestionsObservable?: undefined;
|
|
37
|
+
displayField?: undefined;
|
|
38
|
+
} | {
|
|
39
|
+
name: string;
|
|
40
|
+
type: FieldType;
|
|
41
|
+
label: any;
|
|
42
|
+
dataKey: string;
|
|
43
|
+
appendTo: string;
|
|
44
|
+
fullWidth: boolean;
|
|
45
|
+
onSearch: (val: string) => void;
|
|
46
|
+
suggestionsObservable: BehaviorSubject<any>;
|
|
47
|
+
displayField: string;
|
|
48
|
+
})[];
|
|
49
|
+
transportationVoucherScaleFilterForm: FormGroup;
|
|
50
|
+
private unsubscribe;
|
|
51
|
+
private initialLoad;
|
|
52
|
+
constructor(autocompleteService: AutocompleteService, lookupService: LookupService, translate: TranslateService, cdr: ChangeDetectorRef);
|
|
53
|
+
ngOnInit(): void;
|
|
54
|
+
ngAfterViewInit(): void;
|
|
55
|
+
ngOnDestroy(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Evento disparado ao selecionar um item no lookup
|
|
58
|
+
*/
|
|
59
|
+
selectOption(event: any): void;
|
|
60
|
+
/**
|
|
61
|
+
* Evento disparado ao limpar o campo
|
|
62
|
+
*/
|
|
63
|
+
onClearItem(event: any): void;
|
|
64
|
+
/**
|
|
65
|
+
* Requisição de busca no lookup
|
|
66
|
+
*/
|
|
67
|
+
searchRequest($event: any): void;
|
|
68
|
+
/**
|
|
69
|
+
* Formata o evento de pesquisa
|
|
70
|
+
*/
|
|
71
|
+
private getValueEvent;
|
|
72
|
+
/**
|
|
73
|
+
* Busca dados do autocomplete
|
|
74
|
+
*/
|
|
75
|
+
private getAutoComplete;
|
|
76
|
+
/**
|
|
77
|
+
* Busca dados via query customizada
|
|
78
|
+
*/
|
|
79
|
+
private getAutocompleteQuery;
|
|
80
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { HttpClientService } from '../shared/http-client.service';
|
|
4
|
+
import { CoreFieldType } from '../../core/enums/coreFieldType';
|
|
5
|
+
import { FieldType } from '@seniorsistemas/angular-components';
|
|
6
|
+
import * as _moment from 'moment';
|
|
7
|
+
import { map } from 'rxjs/operators';
|
|
8
|
+
import { ServiceType } from '../../core/enums/serviceType';
|
|
9
|
+
const moment = _moment;
|
|
10
|
+
let AutocompleteService = class AutocompleteService {
|
|
11
|
+
constructor(httpClienteService) {
|
|
12
|
+
this.httpClienteService = httpClienteService;
|
|
13
|
+
}
|
|
14
|
+
getAutoComplete(entity, params, searchFields, codeIsString, service) {
|
|
15
|
+
const getParams = this.generateGridParameters(params, searchFields, codeIsString);
|
|
16
|
+
return this.httpClienteService.getAutoComplete(entity, getParams, service)
|
|
17
|
+
.pipe(map((result) => result && result.contents));
|
|
18
|
+
}
|
|
19
|
+
getAutoCompleteQuery(query, params, service = ServiceType.PAYROLL) {
|
|
20
|
+
return this.httpClienteService.query(query, params, service)
|
|
21
|
+
.pipe(map((data) => data && data.result));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Gera os parametros de pesquisa via pesquisa na grid
|
|
25
|
+
* @param filterData
|
|
26
|
+
*/
|
|
27
|
+
generateGridParameters(filterData, searchFields, codeIsString) {
|
|
28
|
+
let gridParameters = "";
|
|
29
|
+
Object.keys(filterData).forEach((attribute) => {
|
|
30
|
+
const filterSearchField = searchFields && searchFields.filter(field => attribute === field.name)[0];
|
|
31
|
+
let filterQueryString = null;
|
|
32
|
+
let operatorsQuery = "";
|
|
33
|
+
let searchField = filterSearchField && filterSearchField.type;
|
|
34
|
+
if (!filterSearchField && attribute != CoreFieldType.searchValue)
|
|
35
|
+
searchField = FieldType.String;
|
|
36
|
+
if (!filterSearchField && attribute === CoreFieldType.searchValue)
|
|
37
|
+
searchField = CoreFieldType.searchValue;
|
|
38
|
+
if (gridParameters)
|
|
39
|
+
operatorsQuery = " and ";
|
|
40
|
+
filterQueryString = this.getParameterByType(searchField, attribute, filterData[attribute], codeIsString);
|
|
41
|
+
if (filterQueryString)
|
|
42
|
+
gridParameters += ` ${operatorsQuery} ${filterQueryString}`;
|
|
43
|
+
});
|
|
44
|
+
return gridParameters;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Gera a string de consulta CRUD de um campo.
|
|
48
|
+
* @param type Tipo do campo.
|
|
49
|
+
* @param attribute Nome do atribute da entidade
|
|
50
|
+
* @param value Valor do campo
|
|
51
|
+
*/
|
|
52
|
+
getParameterByType(type, attribute, value, codeIsString) {
|
|
53
|
+
if (!value && type != CoreFieldType.searchValue)
|
|
54
|
+
return `${attribute} is null`;
|
|
55
|
+
if (value && value === 'not null' && type != CoreFieldType.searchValue)
|
|
56
|
+
return `${attribute} is not null`;
|
|
57
|
+
switch (type) {
|
|
58
|
+
case FieldType.Date:
|
|
59
|
+
return `${attribute} eq '${moment(value).format('YYYY-MM-DD')}'`;
|
|
60
|
+
case FieldType.Enum:
|
|
61
|
+
return `${attribute} eq '${value}'`;
|
|
62
|
+
case FieldType.Integer:
|
|
63
|
+
return `${attribute} eq ${value}`;
|
|
64
|
+
case FieldType.Autocomplete:
|
|
65
|
+
return `${attribute} eq '${value.id}'`;
|
|
66
|
+
case CoreFieldType.searchValue:
|
|
67
|
+
return `${this.getParameterBySearchType(value, codeIsString)}`;
|
|
68
|
+
default:
|
|
69
|
+
return this.getSearchFilterString(attribute, value);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Retorna o filtro formatador para ser chamdo no endpoint
|
|
74
|
+
* @param valueFilterSearch valor pra adicionar no filtro
|
|
75
|
+
*/
|
|
76
|
+
getParameterBySearchType(valueFilterSearch, codeIsString) {
|
|
77
|
+
let searchFilter = "";
|
|
78
|
+
if (valueFilterSearch) {
|
|
79
|
+
for (const [key, value] of Object.entries(valueFilterSearch)) {
|
|
80
|
+
if (key === "code" && Number(value)) {
|
|
81
|
+
const hasQuote = codeIsString ? "'" : "";
|
|
82
|
+
if (searchFilter)
|
|
83
|
+
searchFilter += ` or ${key} eq ${hasQuote}${value}${hasQuote}`;
|
|
84
|
+
else
|
|
85
|
+
searchFilter += `${key} eq ${hasQuote}${value}${hasQuote}`;
|
|
86
|
+
}
|
|
87
|
+
else if (key != "code") {
|
|
88
|
+
if (searchFilter)
|
|
89
|
+
searchFilter += ` or ${this.getSearchFilterString(key, value)}`;
|
|
90
|
+
else
|
|
91
|
+
searchFilter += this.getSearchFilterString(key, value);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
searchFilter = searchFilter ? `(${searchFilter})` : '';
|
|
95
|
+
}
|
|
96
|
+
return searchFilter;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Formata o filtro quando for "Ou"
|
|
100
|
+
* @param attribute Nome do atributo da entidade.
|
|
101
|
+
* @param value Valor da propriedade do objeto.
|
|
102
|
+
*/
|
|
103
|
+
getSearchFilterString(attribute, value) {
|
|
104
|
+
return `contains(tolower(${attribute}), '${value.toLowerCase()}')`;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
AutocompleteService.ctorParameters = () => [
|
|
108
|
+
{ type: HttpClientService }
|
|
109
|
+
];
|
|
110
|
+
AutocompleteService = tslib_1.__decorate([
|
|
111
|
+
Injectable()
|
|
112
|
+
], AutocompleteService);
|
|
113
|
+
export { AutocompleteService };
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvYXV0b2NvbXBsZXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUd2QixJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQUU1QixZQUFvQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtJQUFJLENBQUM7SUFFdkQsZUFBZSxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQUUsWUFBaUIsRUFBRSxZQUFxQixFQUFFLE9BQW9CO1FBQ2pILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQzthQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxN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RUFBRSxLQUFVO1FBQ3ZELE9BQU8sb0JBQW9CLFNBQVMsT0FBTyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztJQUN2RSxDQUFDO0NBQ0osQ0FBQTs7WUE1RjJDLGlCQUFpQjs7QUFGaEQsbUJBQW1CO0lBRC9CLFVBQVUsRUFBRTtHQUNBLG1CQUFtQixDQThGL0I7U0E5RlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvaHR0cC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb3JlRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9jb3JlRmllbGRUeXBlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcblxuY29uc3QgbW9tZW50ID0gX21vbWVudDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50ZVNlcnZpY2U6IEh0dHBDbGllbnRTZXJ2aWNlKSB7IH1cblxuICAgIHB1YmxpYyBnZXRBdXRvQ29tcGxldGUoZW50aXR5OiBzdHJpbmcsIHBhcmFtczogb2JqZWN0LCBzZWFyY2hGaWVsZHM6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuLCBzZXJ2aWNlOiBTZXJ2aWNlVHlwZSkge1xuICAgICAgICBjb25zdCBnZXRQYXJhbXMgPSB0aGlzLmdlbmVyYXRlR3JpZFBhcmFtZXRlcnMocGFyYW1zLCBzZWFyY2hGaWVsZHMsIGNvZGVJc1N0cmluZyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRlU2VydmljZS5nZXRBdXRvQ29tcGxldGUoZW50aXR5LCBnZXRQYXJhbXMsIHNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0ICYmIHJlc3VsdC5jb250ZW50cykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBdXRvQ29tcGxldGVRdWVyeShxdWVyeTogc3RyaW5nLCBwYXJhbXM6IG9iamVjdCwgc2VydmljZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRlU2VydmljZS5xdWVyeShxdWVyeSwgcGFyYW1zLCBzZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUobWFwKChkYXRhKSA9PiBkYXRhICYmIGRhdGEucmVzdWx0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VyYSBvcyBwYXJhbWV0cm9zIGRlIHBlc3F1aXNhIHZpYSBwZXNxdWlzYSBuYSBncmlkXG4gICAgICogQHBhcmFtIGZpbHRlckRhdGFcbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlR3JpZFBhcmFtZXRlcnMoZmlsdGVyRGF0YTogb2JqZWN0LCBzZWFyY2hGaWVsZHM6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGdyaWRQYXJhbWV0ZXJzID0gXCJcIjtcbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyRGF0YSkuZm9yRWFjaCgoYXR0cmlidXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclNlYXJjaEZpZWxkID0gc2VhcmNoRmllbGRzICYmIHNlYXJjaEZpZWxkcy5maWx0ZXIoZmllbGQgPT4gYXR0cmlidXRlID09PSBmaWVsZC5uYW1lKVswXTtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJRdWVyeVN0cmluZyA9IG51bGw7XG4gICAgICAgICAgICBsZXQgb3BlcmF0b3JzUXVlcnkgPSBcIlwiO1xuICAgICAgICAgICAgbGV0IHNlYXJjaEZpZWxkOiBhbnkgPSBmaWx0ZXJTZWFyY2hGaWVsZCAmJiBmaWx0ZXJTZWFyY2hGaWVsZC50eXBlO1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXJTZWFyY2hGaWVsZCAmJiBhdHRyaWJ1dGUgIT0gQ29yZUZpZWxkVHlwZS5zZWFyY2hWYWx1ZSkgc2VhcmNoRmllbGQgPSBGaWVsZFR5cGUuU3RyaW5nO1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXJTZWFyY2hGaWVsZCAmJiBhdHRyaWJ1dGUgPT09IENvcmVGaWVsZFR5cGUuc2VhcmNoVmFsdWUpIHNlYXJjaEZpZWxkID0gQ29yZUZpZWxkVHlwZS5zZWFyY2hWYWx1ZTtcbiAgICAgICAgICAgIGlmIChncmlkUGFyYW1ldGVycykgb3BlcmF0b3JzUXVlcnkgPSBcIiBhbmQgXCI7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeVN0cmluZyA9IHRoaXMuZ2V0UGFyYW1ldGVyQnlUeXBlKHNlYXJjaEZpZWxkLCBhdHRyaWJ1dGUsIGZpbHRlckRhdGFbYXR0cmlidXRlXSwgY29kZUlzU3RyaW5nKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJRdWVyeVN0cmluZykgZ3JpZFBhcmFtZXRlcnMgKz0gYCAke29wZXJhdG9yc1F1ZXJ5fSAke2ZpbHRlclF1ZXJ5U3RyaW5nfWA7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZ3JpZFBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VyYSBhIHN0cmluZyBkZSBjb25zdWx0YSBDUlVEIGRlIHVtIGNhbXBvLlxuICAgICAqIEBwYXJhbSB0eXBlIFRpcG8gZG8gY2FtcG8uXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZSBOb21lIGRvIGF0cmlidXRlIGRhIGVudGlkYWRlXG4gICAgICogQHBhcmFtIHZhbHVlIFZhbG9yIGRvIGNhbXBvXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeVR5cGUodHlwZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiB0eXBlICE9IENvcmVGaWVsZFR5cGUuc2VhcmNoVmFsdWUpIHJldHVybiBgJHthdHRyaWJ1dGV9IGlzIG51bGxgO1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUgPT09ICdub3QgbnVsbCcgJiYgdHlwZSAhPSBDb3JlRmllbGRUeXBlLnNlYXJjaFZhbHVlKSByZXR1cm4gYCR7YXR0cmlidXRlfSBpcyBub3QgbnVsbGA7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpfSdgO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkludGVnZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2F0dHJpYnV0ZX0gZXEgJHt2YWx1ZX1gO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHthdHRyaWJ1dGV9IGVxICcke3ZhbHVlLmlkfSdgO1xuICAgICAgICAgICAgY2FzZSBDb3JlRmllbGRUeXBlLnNlYXJjaFZhbHVlOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLmdldFBhcmFtZXRlckJ5U2VhcmNoVHlwZSh2YWx1ZSwgY29kZUlzU3RyaW5nKX1gO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWFyY2hGaWx0ZXJTdHJpbmcoYXR0cmlidXRlLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRvcm5hIG8gZmlsdHJvIGZvcm1hdGFkb3IgcGFyYSBzZXIgY2hhbWRvIG5vIGVuZHBvaW50XG4gICAgICogQHBhcmFtIHZhbHVlRmlsdGVyU2VhcmNoIHZhbG9yIHByYSBhZGljaW9uYXIgbm8gZmlsdHJvXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeVNlYXJjaFR5cGUodmFsdWVGaWx0ZXJTZWFyY2g6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHNlYXJjaEZpbHRlciA9IFwiXCI7XG4gICAgICAgIGlmICh2YWx1ZUZpbHRlclNlYXJjaCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWVGaWx0ZXJTZWFyY2gpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gXCJjb2RlXCIgJiYgTnVtYmVyKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXNRdW90ZSA9IGNvZGVJc1N0cmluZyA/IFwiJ1wiIDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlYXJjaEZpbHRlcilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZpbHRlciArPSBgIG9yICR7a2V5fSBlcSAke2hhc1F1b3RlfSR7dmFsdWV9JHtoYXNRdW90ZX1gO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hGaWx0ZXIgKz0gYCR7a2V5fSBlcSAke2hhc1F1b3RlfSR7dmFsdWV9JHtoYXNRdW90ZX1gO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ICE9IFwiY29kZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWFyY2hGaWx0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hGaWx0ZXIgKz0gYCBvciAke3RoaXMuZ2V0U2VhcmNoRmlsdGVyU3RyaW5nKGtleSwgdmFsdWUpfWA7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZpbHRlciArPSB0aGlzLmdldFNlYXJjaEZpbHRlclN0cmluZyhrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWFyY2hGaWx0ZXIgPSBzZWFyY2hGaWx0ZXIgPyBgKCR7c2VhcmNoRmlsdGVyfSlgIDogJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlYXJjaEZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXRhIG8gZmlsdHJvIHF1YW5kbyBmb3IgXCJPdVwiXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZSBOb21lIGRvIGF0cmlidXRvIGRhIGVudGlkYWRlLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWxvciBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8uXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRTZWFyY2hGaWx0ZXJTdHJpbmcoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGNvbnRhaW5zKHRvbG93ZXIoJHthdHRyaWJ1dGV9KSwgJyR7dmFsdWUudG9Mb3dlckNhc2UoKX0nKWA7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./transportation-voucher-scale-lookup.component";
|
|
2
|
+
export * from "./transportation-voucher-scale-lookup.module";
|
|
3
|
+
export * from "./transportation-voucher-scale-lookup.dto";
|
|
4
|
+
export * from "./autocomplete.service";
|
|
5
|
+
export * from "./lookup.service";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90cmFuc3BvcnRhdGlvbi12b3VjaGVyLXNjYWxlLWxvb2t1cC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYW5zcG9ydGF0aW9uLXZvdWNoZXItc2NhbGUtbG9va3VwLmR0b1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0b2NvbXBsZXRlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb2t1cC5zZXJ2aWNlXCI7XG4iXX0=
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { HttpClient } from "@angular/common/http";
|
|
3
|
+
import { Injectable } from "@angular/core";
|
|
4
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
5
|
+
import { FieldType } from "@seniorsistemas/angular-components";
|
|
6
|
+
import * as moment_ from "moment";
|
|
7
|
+
import { MessageService } from "primeng/api";
|
|
8
|
+
import { throwError } from "rxjs";
|
|
9
|
+
import { map, catchError } from "rxjs/operators";
|
|
10
|
+
const moment = moment_;
|
|
11
|
+
let LookupService = class LookupService {
|
|
12
|
+
constructor(http, messageService, translateService) {
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.messageService = messageService;
|
|
15
|
+
this.translateService = translateService;
|
|
16
|
+
}
|
|
17
|
+
lookupRequestPost(httpPostParams, endpoint, concatFields = null, lookupDisplayField) {
|
|
18
|
+
this.httpPostParams = httpPostParams;
|
|
19
|
+
this.postConfigPageSize(httpPostParams);
|
|
20
|
+
this.lookupDisplayField = lookupDisplayField;
|
|
21
|
+
this.concatFields = concatFields;
|
|
22
|
+
return this.postDataLookup(endpoint);
|
|
23
|
+
}
|
|
24
|
+
postConfigPageSize(httpPostParams) {
|
|
25
|
+
if (httpPostParams) {
|
|
26
|
+
this.httpPostParams.page.size = httpPostParams.page && httpPostParams.page.size ? httpPostParams.page.size : 10;
|
|
27
|
+
this.httpPostParams.page.current = httpPostParams.page && httpPostParams.page.current ? httpPostParams.page.current : 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* POST
|
|
32
|
+
* @param endpoint Busca e faz o tratamento dos dados do lookup.
|
|
33
|
+
* @param httpParams HttpParams
|
|
34
|
+
*/
|
|
35
|
+
postDataLookup(endpoint) {
|
|
36
|
+
return this.postUrlDataLookup(endpoint, this.httpPostParams).pipe(map((payload) => {
|
|
37
|
+
const { contents } = payload;
|
|
38
|
+
if (this.concatFields && this.concatFields.length) {
|
|
39
|
+
contents.map(value => {
|
|
40
|
+
if (this.concatOtherFields) {
|
|
41
|
+
this.convertGridFieldValue(value);
|
|
42
|
+
}
|
|
43
|
+
value[this.lookupDisplayField] = this.generateDisplayFieldValue(Object.assign({}, value));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return payload;
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Converte o valor do campo para apresentação no lookup.
|
|
51
|
+
*
|
|
52
|
+
* @param content Valor do campo para conversão.
|
|
53
|
+
* @param field FormField do campo.
|
|
54
|
+
*/
|
|
55
|
+
convertLookupFieldValue(content, field) {
|
|
56
|
+
if (content) {
|
|
57
|
+
switch (field.type) {
|
|
58
|
+
case FieldType.Date:
|
|
59
|
+
content = moment(content).format("L");
|
|
60
|
+
break;
|
|
61
|
+
case FieldType.Enum:
|
|
62
|
+
const enumValue = field.options.filter((enumeration) => enumeration.value === content)[0];
|
|
63
|
+
content = enumValue ? enumValue.label : content;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return content;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Converte os dados para visualização na grid
|
|
71
|
+
* @param content
|
|
72
|
+
*/
|
|
73
|
+
convertGridFieldValue(content) {
|
|
74
|
+
if (content) {
|
|
75
|
+
this.concatOtherFields.forEach((field) => {
|
|
76
|
+
switch (field.type) {
|
|
77
|
+
case FieldType.Enum:
|
|
78
|
+
const enumValue = field.options.filter((enumeration) => enumeration.value === content[field.name])[0];
|
|
79
|
+
content[field.name] = enumValue ? enumValue.label : content[field.name];
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Faz a concatenação de valores do registro para ser apresentado no lookup ao selecionar o dado.
|
|
87
|
+
* @param contentValue Valor do registro.
|
|
88
|
+
*/
|
|
89
|
+
generateDisplayFieldValue(contentValue) {
|
|
90
|
+
let displayField = "";
|
|
91
|
+
this.concatFields.forEach((field) => {
|
|
92
|
+
const fieldValue = this.convertLookupFieldValue(contentValue[field.name], field);
|
|
93
|
+
if (fieldValue) {
|
|
94
|
+
if (displayField) {
|
|
95
|
+
displayField += ` - ${fieldValue}`;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
displayField = fieldValue;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return displayField;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Faz a requisição POST na URL do lookup.
|
|
106
|
+
* @param endpoint - URL do endpoint.
|
|
107
|
+
* @param httpParams - Parâmetros HTTP.
|
|
108
|
+
*/
|
|
109
|
+
postUrlDataLookup(endpoint, httpParams) {
|
|
110
|
+
if (httpParams) {
|
|
111
|
+
return this.http.post(`${endpoint}`, Object.assign({}, httpParams)).pipe(catchError((exception) => {
|
|
112
|
+
if (exception.status === 403) {
|
|
113
|
+
this.messageService.add({
|
|
114
|
+
severity: "error",
|
|
115
|
+
summary: this.translateService.instant("hcm.payroll.error"),
|
|
116
|
+
detail: this.translateService.instant("hcm.payroll.permission_error_not_allowed"),
|
|
117
|
+
sticky: true,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return throwError(exception);
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return this.http.post(`${endpoint}`, {}).pipe(catchError((exception) => {
|
|
125
|
+
if (exception.status === 403) {
|
|
126
|
+
this.messageService.add({
|
|
127
|
+
severity: "error",
|
|
128
|
+
summary: this.translateService.instant("hcm.payroll.error"),
|
|
129
|
+
detail: this.translateService.instant("hcm.payroll.permission_error_not_allowed"),
|
|
130
|
+
sticky: true,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return throwError(exception);
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
LookupService.ctorParameters = () => [
|
|
139
|
+
{ type: HttpClient },
|
|
140
|
+
{ type: MessageService },
|
|
141
|
+
{ type: TranslateService }
|
|
142
|
+
];
|
|
143
|
+
LookupService = tslib_1.__decorate([
|
|
144
|
+
Injectable()
|
|
145
|
+
], LookupService);
|
|
146
|
+
export { LookupService };
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvbG9va3VwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFHdkIsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQVF0QixZQUFvQixJQUFnQixFQUFVLGNBQThCLEVBQVUsZ0JBQWtDO1FBQXBHLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3hILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxjQUFtQixFQUFFLFFBQWdCLEVBQUUsZUFBaUMsSUFBSSxFQUFFLGtCQUEwQjtRQUN0SCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGtC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T0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7d0JBQzNELE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO3dCQUNqRixNQUFNLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUM7aUJBQ047Z0JBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6QyxVQUFVLENBQUMsQ0FBQyxTQUFjLEVBQU8sRUFBRTtnQkFDL0IsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7d0JBQ3BCLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUM7d0JBQ2pGLE1BQU0sRUFBRSxJQUFJO3FCQUNmLENBQUMsQ0FBQztpQkFDTjtnQkFDRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUExSTZCLFVBQVU7WUFBMEIsY0FBYztZQUE0QixnQkFBZ0I7O0FBUi9HLGFBQWE7SUFEekIsVUFBVSxFQUFFO0dBQ0EsYUFBYSxDQWtKekI7U0FsSlksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkRhdGEgfSBmcm9tIFwiLi4vLi4vY29yZS9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb29rdXBTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgY29uY2F0RmllbGRzOiBhbnk7XG4gICAgcHJpdmF0ZSBjb25jYXRPdGhlckZpZWxkczogYW55O1xuICAgIHByaXZhdGUgbG9va3VwRGlzcGxheUZpZWxkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBodHRwUG9zdFBhcmFtczogYW55O1xuICAgIHByaXZhdGUgcGFnZTogUGFnaW5hdGlvbkRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBsb29rdXBSZXF1ZXN0UG9zdChodHRwUG9zdFBhcmFtczogYW55LCBlbmRwb2ludDogc3RyaW5nLCBjb25jYXRGaWVsZHM6IEFycmF5PEZvcm1GaWVsZD4gPSBudWxsLCBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmh0dHBQb3N0UGFyYW1zID0gaHR0cFBvc3RQYXJhbXM7XG4gICAgICAgIHRoaXMucG9zdENvbmZpZ1BhZ2VTaXplKGh0dHBQb3N0UGFyYW1zKTtcbiAgICAgICAgdGhpcy5sb29rdXBEaXNwbGF5RmllbGQgPSBsb29rdXBEaXNwbGF5RmllbGQ7XG4gICAgICAgIHRoaXMuY29uY2F0RmllbGRzID0gY29uY2F0RmllbGRzO1xuICAgICAgICByZXR1cm4gdGhpcy5wb3N0RGF0YUxvb2t1cChlbmRwb2ludCk7XG4gICAgfVxuXG4gICAgcG9zdENvbmZpZ1BhZ2VTaXplKGh0dHBQb3N0UGFyYW1zOiBhbnkpIHtcbiAgICAgICAgaWYgKGh0dHBQb3N0UGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLmh0dHBQb3N0UGFyYW1zLnBhZ2Uuc2l6ZSA9IGh0dHBQb3N0UGFyYW1zLnBhZ2UgJiYgaHR0cFBvc3RQYXJhbXMucGFnZS5zaXplID8gaHR0cFBvc3RQYXJhbXMucGFnZS5zaXplIDogMTA7XG4gICAgICAgICAgICB0aGlzLmh0dHBQb3N0UGFyYW1zLnBhZ2UuY3VycmVudCA9IGh0dHBQb3N0UGFyYW1zLnBhZ2UgJiYgaHR0cFBvc3RQYXJhbXMucGFnZS5jdXJyZW50ID8gaHR0cFBvc3RQYXJhbXMucGFnZS5jdXJyZW50IDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBPU1RcbiAgICAgKiBAcGFyYW0gZW5kcG9pbnQgQnVzY2EgZSBmYXogbyB0cmF0YW1lbnRvIGRvcyBkYWRvcyBkbyBsb29rdXAuXG4gICAgICogQHBhcmFtIGh0dHBQYXJhbXMgSHR0cFBhcmFtc1xuICAgICAqL1xuICAgIHByaXZhdGUgcG9zdERhdGFMb29rdXAoZW5kcG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFVybERhdGFMb29rdXAoZW5kcG9pbnQsIHRoaXMuaHR0cFBvc3RQYXJhbXMpLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyBjb250ZW50cyB9ID0gcGF5bG9hZDtcblxuICAgICAgICAgICAgICBpZiAodGhpcy5jb25jYXRGaWVsZHMgJiYgdGhpcy5jb25jYXRGaWVsZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50cy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmNhdE90aGVyRmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udmVydEdyaWRGaWVsZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVbdGhpcy5sb29rdXBEaXNwbGF5RmllbGRdID0gdGhpcy5nZW5lcmF0ZURpc3BsYXlGaWVsZFZhbHVlKHsgLi4udmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRlIG8gdmFsb3IgZG8gY2FtcG8gcGFyYSBhcHJlc2VudGHDp8OjbyBubyBsb29rdXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudCBWYWxvciBkbyBjYW1wbyBwYXJhIGNvbnZlcnPDo28uXG4gICAgICogQHBhcmFtIGZpZWxkIEZvcm1GaWVsZCBkbyBjYW1wby5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbnZlcnRMb29rdXBGaWVsZFZhbHVlKGNvbnRlbnQ6IGFueSwgZmllbGQ6IEZvcm1GaWVsZCk6IGFueSB7XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gbW9tZW50KGNvbnRlbnQpLmZvcm1hdChcIkxcIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkVudW06XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGZpZWxkLm9wdGlvbnMuZmlsdGVyKChlbnVtZXJhdGlvbjogYW55KSA9PiBlbnVtZXJhdGlvbi52YWx1ZSA9PT0gY29udGVudClbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBlbnVtVmFsdWUgPyBlbnVtVmFsdWUubGFiZWwgOiBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRlIG9zIGRhZG9zIHBhcmEgdmlzdWFsaXphw6fDo28gbmEgZ3JpZFxuICAgICAqIEBwYXJhbSBjb250ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBjb252ZXJ0R3JpZEZpZWxkVmFsdWUoY29udGVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmNvbmNhdE90aGVyRmllbGRzLmZvckVhY2goKGZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGZpZWxkLm9wdGlvbnMuZmlsdGVyKChlbnVtZXJhdGlvbjogYW55KSA9PiBlbnVtZXJhdGlvbi52YWx1ZSA9PT0gY29udGVudFtmaWVsZC5uYW1lXSlbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50W2ZpZWxkLm5hbWVdID0gZW51bVZhbHVlID8gZW51bVZhbHVlLmxhYmVsIDogY29udGVudFtmaWVsZC5uYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmF6IGEgY29uY2F0ZW5hw6fDo28gZGUgdmFsb3JlcyBkbyByZWdpc3RybyBwYXJhIHNlciBhcHJlc2VudGFkbyBubyBsb29rdXAgYW8gc2VsZWNpb25hciBvIGRhZG8uXG4gICAgICogQHBhcmFtIGNvbnRlbnRWYWx1ZSBWYWxvciBkbyByZWdpc3Ryby5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlRGlzcGxheUZpZWxkVmFsdWUoY29udGVudFZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZGlzcGxheUZpZWxkID0gXCJcIjtcblxuICAgICAgICB0aGlzLmNvbmNhdEZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5jb252ZXJ0TG9va3VwRmllbGRWYWx1ZShjb250ZW50VmFsdWVbZmllbGQubmFtZV0sIGZpZWxkKTtcbiAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BsYXlGaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQgKz0gYCAtICR7IGZpZWxkVmFsdWUgfWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkID0gZmllbGRWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkaXNwbGF5RmllbGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmF6IGEgcmVxdWlzacOnw6NvIFBPU1QgbmEgVVJMIGRvIGxvb2t1cC5cbiAgICAgKiBAcGFyYW0gZW5kcG9pbnQgLSBVUkwgZG8gZW5kcG9pbnQuXG4gICAgICogQHBhcmFtIGh0dHBQYXJhbXMgLSBQYXLDom1ldHJvcyBIVFRQLlxuICAgICAqL1xuICAgIHByaXZhdGUgcG9zdFVybERhdGFMb29rdXAoZW5kcG9pbnQ6IHN0cmluZywgaHR0cFBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKGh0dHBQYXJhbXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtlbmRwb2ludH1gLCB7IC4uLmh0dHBQYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChleGNlcHRpb246IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChleGNlcHRpb24uc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpY2t5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhjZXB0aW9uKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7ZW5kcG9pbnR9YCwge30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXhjZXB0aW9uOiBhbnkpOiBhbnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXhjZXB0aW9uLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0aWNreTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4Y2VwdGlvbik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|