@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.
Files changed (34) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +531 -15
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/transportation-voucher-scale-lookup/autocomplete.service.d.ts +31 -0
  6. package/components/transportation-voucher-scale-lookup/index.d.ts +5 -0
  7. package/components/transportation-voucher-scale-lookup/lookup.service.d.ts +47 -0
  8. package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.d.ts +80 -0
  9. package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.d.ts +8 -0
  10. package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.d.ts +2 -0
  11. package/esm2015/components/transportation-voucher-scale-lookup/autocomplete.service.js +114 -0
  12. package/esm2015/components/transportation-voucher-scale-lookup/index.js +6 -0
  13. package/esm2015/components/transportation-voucher-scale-lookup/lookup.service.js +147 -0
  14. package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +215 -0
  15. package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +17 -0
  16. package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +31 -0
  17. package/esm2015/public_api.js +2 -1
  18. package/esm5/components/transportation-voucher-scale-lookup/autocomplete.service.js +128 -0
  19. package/esm5/components/transportation-voucher-scale-lookup/index.js +6 -0
  20. package/esm5/components/transportation-voucher-scale-lookup/lookup.service.js +152 -0
  21. package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +223 -0
  22. package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +19 -0
  23. package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +34 -0
  24. package/esm5/public_api.js +2 -1
  25. package/fesm2015/senior-gestao-pessoas-payroll-core.js +497 -17
  26. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  27. package/fesm5/senior-gestao-pessoas-payroll-core.js +528 -17
  28. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  29. package/locale/en-US.json +5 -1
  30. package/locale/es-ES.json +5 -1
  31. package/locale/pt-BR.json +5 -1
  32. package/package.json +1 -1
  33. package/public_api.d.ts +1 -0
  34. 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,5 @@
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";
@@ -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,8 @@
1
+ export declare class TransportationVoucherScaleLookupDto {
2
+ private code?;
3
+ private searchText?;
4
+ private transportationVoucherScaleGroupId?;
5
+ private page;
6
+ constructor(payload: any);
7
+ getToFilter(): this;
8
+ }
@@ -0,0 +1,2 @@
1
+ export declare class TransportationVoucherScaleLookupModule {
2
+ }
@@ -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