dts-backoffice-util 3.0.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dts-backoffice-util.d.ts +1 -0
- package/esm2020/dts-backoffice-util.mjs +5 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs +7 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +183 -0
- package/esm2020/lib/dts-backoffice-util.module.mjs +56 -0
- package/esm2020/lib/interfaces/filter-range.interface.mjs +2 -0
- package/esm2020/lib/interfaces/totvs-response.interface.mjs +2 -0
- package/esm2020/lib/model/session-info.model.mjs +67 -0
- package/esm2020/lib/pipes/dts-date-format.pipe.mjs +20 -0
- package/esm2020/lib/services/breadcrumb-control.service.mjs +82 -0
- package/esm2020/lib/services/cache-params.service.mjs +25 -0
- package/esm2020/lib/services/menu-datasul.service.mjs +41 -0
- package/esm2020/lib/services/profile.service.mjs +55 -0
- package/esm2020/lib/services/report.service.mjs +57 -0
- package/esm2020/lib/services/session-info.service.mjs +36 -0
- package/esm2020/lib/services/translate.service.mjs +23 -0
- package/esm2020/lib/utils/date.util.mjs +56 -0
- package/esm2020/lib/utils/disclaimer.util.mjs +453 -0
- package/esm2020/lib/utils/field-validation.util.mjs +179 -0
- package/esm2020/lib/utils/file.util.mjs +122 -0
- package/esm2020/lib/utils/filter-range.util.mjs +33 -0
- package/esm2020/lib/utils/generic-functions.utils.mjs +170 -0
- package/esm2020/public-api.mjs +34 -0
- package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +230 -1626
- package/fesm2015/dts-backoffice-util.mjs.map +1 -0
- package/fesm2020/dts-backoffice-util.mjs +1844 -0
- package/fesm2020/dts-backoffice-util.mjs.map +1 -0
- package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +3 -0
- package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +3 -0
- package/lib/dts-backoffice-util.module.d.ts +10 -0
- package/lib/pipes/dts-date-format.pipe.d.ts +3 -0
- package/lib/services/breadcrumb-control.service.d.ts +3 -0
- package/lib/services/cache-params.service.d.ts +3 -0
- package/lib/services/menu-datasul.service.d.ts +3 -0
- package/lib/services/profile.service.d.ts +3 -0
- package/lib/services/report.service.d.ts +3 -0
- package/lib/services/session-info.service.d.ts +3 -0
- package/lib/services/translate.service.d.ts +3 -0
- package/package.json +23 -11
- package/CHANGELOG.md +0 -159
- package/bundles/dts-backoffice-util.umd.js +0 -3296
- package/bundles/dts-backoffice-util.umd.js.map +0 -1
- package/bundles/dts-backoffice-util.umd.min.js +0 -2
- package/bundles/dts-backoffice-util.umd.min.js.map +0 -1
- package/dts-backoffice-util.metadata.json +0 -1
- package/esm2015/dts-backoffice-util.js +0 -10
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -391
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js +0 -132
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -344
- package/esm2015/lib/dts-backoffice-util.module.js +0 -47
- package/esm2015/lib/interfaces/filter-range.interface.js +0 -48
- package/esm2015/lib/interfaces/totvs-response.interface.js +0 -17
- package/esm2015/lib/model/session-info.model.js +0 -183
- package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -27
- package/esm2015/lib/services/breadcrumb-control.service.js +0 -124
- package/esm2015/lib/services/cache-params.service.js +0 -47
- package/esm2015/lib/services/menu-datasul.service.js +0 -57
- package/esm2015/lib/services/profile.service.js +0 -127
- package/esm2015/lib/services/report.service.js +0 -127
- package/esm2015/lib/services/session-info.service.js +0 -62
- package/esm2015/lib/services/translate.service.js +0 -35
- package/esm2015/lib/utils/date.util.js +0 -95
- package/esm2015/lib/utils/disclaimer.util.js +0 -738
- package/esm2015/lib/utils/field-validation.util.js +0 -275
- package/esm2015/lib/utils/file.util.js +0 -224
- package/esm2015/lib/utils/filter-range.util.js +0 -53
- package/esm2015/lib/utils/generic-functions.utils.js +0 -296
- package/esm2015/public-api.js +0 -38
- package/fesm2015/dts-backoffice-util.js.map +0 -1
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/report.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import { HttpClient } from '@angular/common/http';
|
|
8
|
-
import { map } from 'rxjs/operators';
|
|
9
|
-
/**
|
|
10
|
-
* @record
|
|
11
|
-
*/
|
|
12
|
-
export function IProperty() { }
|
|
13
|
-
if (false) {
|
|
14
|
-
/** @type {?} */
|
|
15
|
-
IProperty.prototype.name;
|
|
16
|
-
/** @type {?} */
|
|
17
|
-
IProperty.prototype.value;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @record
|
|
21
|
-
*/
|
|
22
|
-
export function IReportServiceParams() { }
|
|
23
|
-
if (false) {
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
IReportServiceParams.prototype.reportName;
|
|
26
|
-
/** @type {?} */
|
|
27
|
-
IReportServiceParams.prototype.programName;
|
|
28
|
-
/** @type {?} */
|
|
29
|
-
IReportServiceParams.prototype.properties;
|
|
30
|
-
/** @type {?} */
|
|
31
|
-
IReportServiceParams.prototype.dialect;
|
|
32
|
-
/** @type {?} */
|
|
33
|
-
IReportServiceParams.prototype.downloadName;
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
IReportServiceParams.prototype.download;
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
IReportServiceParams.prototype.format;
|
|
38
|
-
}
|
|
39
|
-
/** @enum {string} */
|
|
40
|
-
const ReportFormats = {
|
|
41
|
-
XLSX: "xlsx",
|
|
42
|
-
PDF: "pdf",
|
|
43
|
-
DOCX: "docx",
|
|
44
|
-
HTML: "html",
|
|
45
|
-
};
|
|
46
|
-
export { ReportFormats };
|
|
47
|
-
export class ReportService {
|
|
48
|
-
/**
|
|
49
|
-
* @param {?} httpClient
|
|
50
|
-
*/
|
|
51
|
-
constructor(httpClient) {
|
|
52
|
-
this.httpClient = httpClient;
|
|
53
|
-
this.URL = window.location.href.indexOf('totvs-menu') > 0 ? '/totvs-menu/rest/report/run/'
|
|
54
|
-
: '/dts/datasul-report/resources/run/';
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @param {?} params
|
|
58
|
-
* @param {?=} showLoading
|
|
59
|
-
* @return {?}
|
|
60
|
-
*/
|
|
61
|
-
generate(params, showLoading = true) {
|
|
62
|
-
/** @type {?} */
|
|
63
|
-
const headers = { 'X-PO-Screen-Lock': showLoading ? 'true' : 'false' };
|
|
64
|
-
/** @type {?} */
|
|
65
|
-
let reportURL = `${this.URL}${params.reportName}`;
|
|
66
|
-
if (params.properties.length > 0) {
|
|
67
|
-
reportURL += '?';
|
|
68
|
-
params.properties.forEach((/**
|
|
69
|
-
* @param {?} property
|
|
70
|
-
* @param {?} index
|
|
71
|
-
* @return {?}
|
|
72
|
-
*/
|
|
73
|
-
(property, index) => {
|
|
74
|
-
if (index > 0) {
|
|
75
|
-
reportURL += '&';
|
|
76
|
-
}
|
|
77
|
-
reportURL += `c_properties=${property.name}&c_values=${property.value}`;
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
reportURL += `&dialect=${params.dialect}&format=${params.format}`;
|
|
81
|
-
reportURL += `&program=${params.programName}&resultFileName=${params.downloadName}`;
|
|
82
|
-
return this.httpClient.post(reportURL, {}, { headers, responseType: 'blob' })
|
|
83
|
-
.pipe(map((/**
|
|
84
|
-
* @param {?} report
|
|
85
|
-
* @return {?}
|
|
86
|
-
*/
|
|
87
|
-
report => {
|
|
88
|
-
if (params.download) {
|
|
89
|
-
this.download(report, `${params.downloadName}.${params.format}`);
|
|
90
|
-
}
|
|
91
|
-
return report;
|
|
92
|
-
})));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* @param {?} file
|
|
96
|
-
* @param {?} fileName
|
|
97
|
-
* @return {?}
|
|
98
|
-
*/
|
|
99
|
-
download(file, fileName) {
|
|
100
|
-
/** @type {?} */
|
|
101
|
-
const binaryData = [file];
|
|
102
|
-
/** @type {?} */
|
|
103
|
-
const downloadLink = document.createElement('a');
|
|
104
|
-
/** @type {?} */
|
|
105
|
-
const urlDownload = window.URL.createObjectURL(new Blob(binaryData, { type: file.type }));
|
|
106
|
-
downloadLink.href = urlDownload;
|
|
107
|
-
downloadLink.setAttribute('download', fileName);
|
|
108
|
-
document.body.appendChild(downloadLink);
|
|
109
|
-
downloadLink.click();
|
|
110
|
-
window.URL.revokeObjectURL(urlDownload);
|
|
111
|
-
downloadLink.remove();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
ReportService.decorators = [
|
|
115
|
-
{ type: Injectable }
|
|
116
|
-
];
|
|
117
|
-
/** @nocollapse */
|
|
118
|
-
ReportService.ctorParameters = () => [
|
|
119
|
-
{ type: HttpClient }
|
|
120
|
-
];
|
|
121
|
-
if (false) {
|
|
122
|
-
/** @type {?} */
|
|
123
|
-
ReportService.prototype.URL;
|
|
124
|
-
/** @type {?} */
|
|
125
|
-
ReportService.prototype.httpClient;
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9yZXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQywrQkFHQzs7O0lBRkMseUJBQWE7O0lBQ2IsMEJBQWM7Ozs7O0FBR2hCLDBDQVFDOzs7SUFQQywwQ0FBbUI7O0lBQ25CLDJDQUFvQjs7SUFDcEIsMENBQTZCOztJQUM3Qix1Q0FBZ0I7O0lBQ2hCLDRDQUFxQjs7SUFDckIsd0NBQWtCOztJQUNsQixzQ0FBc0I7OztBQUd4QixNQUFZLGFBQWE7SUFDdkIsSUFBSSxRQUFTO0lBQ2IsR0FBRyxPQUFRO0lBQ1gsSUFBSSxRQUFTO0lBQ2IsSUFBSSxRQUFTO0VBQ2Q7O0FBSUQsTUFBTSxPQUFPLGFBQWE7Ozs7SUFJeEIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCO1lBQy9FLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUVoQixDQUFDOzs7Ozs7SUFFOUMsUUFBUSxDQUFDLE1BQTRCLEVBQUUsY0FBdUIsSUFBSTs7Y0FDMUQsT0FBTyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTs7WUFFbEUsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBRWpELElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLFNBQVMsSUFBSSxHQUFHLENBQUM7WUFFakIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7OztZQUFDLENBQUMsUUFBbUIsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDL0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO29CQUNiLFNBQVMsSUFBSSxHQUFHLENBQUM7aUJBQ2xCO2dCQUNELFNBQVMsSUFBSSxnQkFBZ0IsUUFBUSxDQUFDLElBQUksYUFBYSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUUsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUVELFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxPQUFPLFdBQVcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xFLFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxXQUFXLG1CQUFtQixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7OztJQUVELFFBQVEsQ0FBQyxJQUFVLEVBQUUsUUFBZ0I7O2NBQzdCLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQzs7Y0FDbkIsWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDOztjQUMxQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLFlBQVksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7O1lBL0NGLFVBQVU7Ozs7WUExQkYsVUFBVTs7OztJQTZCakIsNEJBQzZEOztJQUVqRCxtQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvcGVydHkge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXBvcnRTZXJ2aWNlUGFyYW1zIHtcclxuICByZXBvcnROYW1lOiBzdHJpbmc7IC8vIE5vbWUgZG8gcnB0RGVzaWduXHJcbiAgcHJvZ3JhbU5hbWU6IHN0cmluZzsgLy8gUHJvZ3JhbWEgUHJvZ3Jlc3NcclxuICBwcm9wZXJ0aWVzOiBBcnJheTxJUHJvcGVydHk+O1xyXG4gIGRpYWxlY3Q6IHN0cmluZztcclxuICBkb3dubG9hZE5hbWU6IHN0cmluZztcclxuICBkb3dubG9hZDogYm9vbGVhbjtcclxuICBmb3JtYXQ6IFJlcG9ydEZvcm1hdHM7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFJlcG9ydEZvcm1hdHMge1xyXG4gIFhMU1ggPSAneGxzeCcsXHJcbiAgUERGID0gJ3BkZicsXHJcbiAgRE9DWCA9ICdkb2N4JyxcclxuICBIVE1MID0gJ2h0bWwnXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRTZXJ2aWNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgVVJMID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigndG90dnMtbWVudScpID4gMCA/ICcvdG90dnMtbWVudS9yZXN0L3JlcG9ydC9ydW4vJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcvZHRzL2RhdGFzdWwtcmVwb3J0L3Jlc291cmNlcy9ydW4vJztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICBnZW5lcmF0ZShwYXJhbXM6IElSZXBvcnRTZXJ2aWNlUGFyYW1zLCBzaG93TG9hZGluZzogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICdYLVBPLVNjcmVlbi1Mb2NrJzogc2hvd0xvYWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnIH07XHJcblxyXG4gICAgbGV0IHJlcG9ydFVSTCA9IGAke3RoaXMuVVJMfSR7cGFyYW1zLnJlcG9ydE5hbWV9YDtcclxuXHJcbiAgICBpZiAocGFyYW1zLnByb3BlcnRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXBvcnRVUkwgKz0gJz8nO1xyXG5cclxuICAgICAgcGFyYW1zLnByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHk6IElQcm9wZXJ0eSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmIChpbmRleCA+IDApIHtcclxuICAgICAgICAgIHJlcG9ydFVSTCArPSAnJic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcG9ydFVSTCArPSBgY19wcm9wZXJ0aWVzPSR7cHJvcGVydHkubmFtZX0mY192YWx1ZXM9JHtwcm9wZXJ0eS52YWx1ZX1gO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXBvcnRVUkwgKz0gYCZkaWFsZWN0PSR7cGFyYW1zLmRpYWxlY3R9JmZvcm1hdD0ke3BhcmFtcy5mb3JtYXR9YDtcclxuICAgIHJlcG9ydFVSTCArPSBgJnByb2dyYW09JHtwYXJhbXMucHJvZ3JhbU5hbWV9JnJlc3VsdEZpbGVOYW1lPSR7cGFyYW1zLmRvd25sb2FkTmFtZX1gO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChyZXBvcnRVUkwsIHt9LCB7IGhlYWRlcnMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pXHJcbiAgICAgIC5waXBlKG1hcChyZXBvcnQgPT4ge1xyXG4gICAgICAgIGlmIChwYXJhbXMuZG93bmxvYWQpIHtcclxuICAgICAgICAgIHRoaXMuZG93bmxvYWQocmVwb3J0LCBgJHtwYXJhbXMuZG93bmxvYWROYW1lfS4ke3BhcmFtcy5mb3JtYXR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXBvcnQ7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkKGZpbGU6IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGJpbmFyeURhdGEgPSBbZmlsZV07XHJcbiAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBjb25zdCB1cmxEb3dubG9hZCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKGJpbmFyeURhdGEsIHsgdHlwZTogZmlsZS50eXBlIH0pKTtcclxuXHJcbiAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybERvd25sb2FkO1xyXG4gICAgZG93bmxvYWRMaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSk7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvd25sb2FkTGluayk7XHJcbiAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcclxuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybERvd25sb2FkKTtcclxuICAgIGRvd25sb2FkTGluay5yZW1vdmUoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/session-info.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import { HttpClient } from '@angular/common/http';
|
|
8
|
-
import { of } from 'rxjs';
|
|
9
|
-
import { map } from 'rxjs/operators';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common/http";
|
|
12
|
-
export class UserLoginService {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} http
|
|
15
|
-
*/
|
|
16
|
-
constructor(http) {
|
|
17
|
-
this.http = http;
|
|
18
|
-
this.apiUrl = '/totvs-menu/rest/getSessionInfo';
|
|
19
|
-
this.userLogin = undefined;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
getUserLogin() {
|
|
25
|
-
if (localStorage.getItem('username')) {
|
|
26
|
-
return of(localStorage.getItem('username'));
|
|
27
|
-
}
|
|
28
|
-
if (this.userLogin) {
|
|
29
|
-
return of(this.userLogin);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return this.http.get(`${this.apiUrl}`)
|
|
33
|
-
.pipe(map((/**
|
|
34
|
-
* @param {?} response
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
(response) => {
|
|
38
|
-
this.userLogin = response.userName;
|
|
39
|
-
return response.userName;
|
|
40
|
-
})));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
UserLoginService.decorators = [
|
|
45
|
-
{ type: Injectable, args: [{
|
|
46
|
-
providedIn: 'root'
|
|
47
|
-
},] }
|
|
48
|
-
];
|
|
49
|
-
/** @nocollapse */
|
|
50
|
-
UserLoginService.ctorParameters = () => [
|
|
51
|
-
{ type: HttpClient }
|
|
52
|
-
];
|
|
53
|
-
/** @nocollapse */ UserLoginService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserLoginService_Factory() { return new UserLoginService(i0.ɵɵinject(i1.HttpClient)); }, token: UserLoginService, providedIn: "root" });
|
|
54
|
-
if (false) {
|
|
55
|
-
/** @type {?} */
|
|
56
|
-
UserLoginService.prototype.apiUrl;
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
UserLoginService.prototype.userLogin;
|
|
59
|
-
/** @type {?} */
|
|
60
|
-
UserLoginService.prototype.http;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zZXNzaW9uLWluZm8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLckMsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUt6QixZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDFCLFdBQU0sR0FBRyxpQ0FBaUMsQ0FBQztRQUNwRCxjQUFTLEdBQUcsU0FBUyxDQUFDO0lBRWlCLENBQUM7Ozs7SUFFeEMsWUFBWTtRQUNSLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsR0FBRzs7OztZQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDbkMsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQzdCLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDWDtJQUNMLENBQUM7OztZQXhCSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7Ozs7WUFQUSxVQUFVOzs7OztJQVVmLGtDQUFvRDs7SUFDcEQscUNBQXNCOztJQUVWLGdDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSVNlc3Npb25JbmZvIH0gZnJvbSAnLi4vbW9kZWwvc2Vzc2lvbi1pbmZvLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTG9naW5TZXJ2aWNlIHtcclxuXHJcbiAgICByZWFkb25seSBhcGlVcmwgPSAnL3RvdHZzLW1lbnUvcmVzdC9nZXRTZXNzaW9uSW5mbyc7XHJcbiAgICB1c2VyTG9naW4gPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICAgIGdldFVzZXJMb2dpbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudXNlckxvZ2luKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnVzZXJMb2dpbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlc3Npb25JbmZvPihgJHt0aGlzLmFwaVVybH1gKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckxvZ2luID0gcmVzcG9uc2UudXNlck5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnVzZXJOYW1lO1xyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/translate.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
export class TranslateService {
|
|
8
|
-
/**
|
|
9
|
-
* @return {?}
|
|
10
|
-
*/
|
|
11
|
-
static getSuportLanguage() {
|
|
12
|
-
return ['pt-BR', 'pt', 'en-US', 'en', 'es'];
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @return {?}
|
|
16
|
-
*/
|
|
17
|
-
static getDefaultCurrencyCode() {
|
|
18
|
-
return '$';
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @return {?}
|
|
22
|
-
*/
|
|
23
|
-
static getCurrentLanguage() {
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
const locale = localStorage.getItem('user.language') || navigator.language;
|
|
26
|
-
if (locale && this.getSuportLanguage().includes(locale)) {
|
|
27
|
-
return locale;
|
|
28
|
-
}
|
|
29
|
-
return 'en-US';
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
TranslateService.decorators = [
|
|
33
|
-
{ type: Injectable }
|
|
34
|
-
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUV6QixNQUFNLENBQUMsaUJBQWlCO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVELE1BQU0sQ0FBQyxzQkFBc0I7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLGtCQUFrQjs7Y0FDZixNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUTtRQUUxRSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFBRSxPQUFPLE1BQU0sQ0FBQztTQUFFO1FBRTNFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OztZQWpCSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSB7XHJcblxyXG4gICAgc3RhdGljIGdldFN1cG9ydExhbmd1YWdlKCkge1xyXG4gICAgICAgIHJldHVybiBbJ3B0LUJSJywgJ3B0JywgJ2VuLVVTJywgJ2VuJywgJ2VzJ107XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldERlZmF1bHRDdXJyZW5jeUNvZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuICckJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q3VycmVudExhbmd1YWdlKCkge1xyXG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLmxhbmd1YWdlJykgfHwgbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG5cclxuICAgICAgICBpZiAobG9jYWxlICYmIHRoaXMuZ2V0U3Vwb3J0TGFuZ3VhZ2UoKS5pbmNsdWRlcyhsb2NhbGUpKSB7IHJldHVybiBsb2NhbGU7IH1cclxuXHJcbiAgICAgICAgcmV0dXJuICdlbi1VUyc7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/utils/date.util.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
/*
|
|
7
|
-
Versão: 1.000
|
|
8
|
-
Data Criação: 18/04/2019
|
|
9
|
-
*/
|
|
10
|
-
export class DateUtil {
|
|
11
|
-
constructor() { }
|
|
12
|
-
/* Transforma data para o padrão YYYY-MM-DD */
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} date
|
|
15
|
-
* @return {?}
|
|
16
|
-
*/
|
|
17
|
-
static dateToQueryParam(date) {
|
|
18
|
-
/** @type {?} */
|
|
19
|
-
const iDay = date.getDate();
|
|
20
|
-
/** @type {?} */
|
|
21
|
-
const iMonth = date.getMonth() + 1;
|
|
22
|
-
/** @type {?} */
|
|
23
|
-
const iYear = date.getFullYear();
|
|
24
|
-
return `${iYear}-${this.pad(iMonth)}-${this.pad(iDay)}`;
|
|
25
|
-
}
|
|
26
|
-
/* Transforma data no padrão YYYY-MM-DD para DATE */
|
|
27
|
-
/**
|
|
28
|
-
* @param {?} param
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
static queryParamToDate(param) {
|
|
32
|
-
/** @type {?} */
|
|
33
|
-
const iDay = +param.split('-')[2];
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
const iMonth = +param.split('-')[1];
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
const iYear = +param.split('-')[0];
|
|
38
|
-
return new Date(iYear, iMonth - 1, iDay);
|
|
39
|
-
}
|
|
40
|
-
/* Valida se foi informado uma data válida */
|
|
41
|
-
/**
|
|
42
|
-
* @param {?} date
|
|
43
|
-
* @return {?}
|
|
44
|
-
*/
|
|
45
|
-
static isValidDate(date) {
|
|
46
|
-
return date instanceof Date && !isNaN(date.getTime());
|
|
47
|
-
}
|
|
48
|
-
/* Ajusta a data retornando o padrão DATE */
|
|
49
|
-
/**
|
|
50
|
-
* @param {?} param
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
static ajustDate(param) {
|
|
54
|
-
if (param instanceof Date) {
|
|
55
|
-
return param;
|
|
56
|
-
}
|
|
57
|
-
if (!param) {
|
|
58
|
-
return param;
|
|
59
|
-
}
|
|
60
|
-
return this.queryParamToDate(param.split('T')[0]);
|
|
61
|
-
}
|
|
62
|
-
/* Ajusta a data para o padrão DATE - utilizada nos construtores dos modelos */
|
|
63
|
-
/**
|
|
64
|
-
* @param {?=} values
|
|
65
|
-
* @param {?=} fieldName
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
static ajustDateToModel(values = {}, fieldName) {
|
|
69
|
-
if (values.hasOwnProperty(fieldName) && (values[fieldName])) {
|
|
70
|
-
if (values[fieldName].indexOf('T') >= 0) {
|
|
71
|
-
return new Date(values[fieldName]);
|
|
72
|
-
}
|
|
73
|
-
/** @type {?} */
|
|
74
|
-
const iDay = +values[fieldName].split('-')[2];
|
|
75
|
-
/** @type {?} */
|
|
76
|
-
const iMonth = +values[fieldName].split('-')[1];
|
|
77
|
-
/** @type {?} */
|
|
78
|
-
const iYear = +values[fieldName].split('-')[0];
|
|
79
|
-
return new Date(iYear, iMonth - 1, iDay);
|
|
80
|
-
}
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
/* Adicona zero a esquerda do número */
|
|
84
|
-
/**
|
|
85
|
-
* @param {?} number
|
|
86
|
-
* @return {?}
|
|
87
|
-
*/
|
|
88
|
-
static pad(number) {
|
|
89
|
-
if (number < 10) {
|
|
90
|
-
return '0' + number;
|
|
91
|
-
}
|
|
92
|
-
return number;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IkM6L0RhdGFzdWwvVEhGL2R0cy1iYWNrb2ZmaWNlLXV0aWwtdjMvcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvZGF0ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLE1BQU0sT0FBTyxRQUFRO0lBRWpCLGdCQUNJLENBQUM7Ozs7OztJQUdMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVOztjQUN4QixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTs7Y0FDckIsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDOztjQUM1QixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUVoQyxPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7Ozs7OztJQUdELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFhOztjQUMzQixJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Y0FDM0IsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O2NBQzdCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7Ozs7O0lBR0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFVO1FBQ3pCLE9BQU8sSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUU3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7OztJQUdELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLEVBQUUsU0FBaUI7UUFDMUQsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUN0Qzs7a0JBRUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O2tCQUN2QyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7a0JBQ3pDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU07UUFDYixJQUFJLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDdkI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5WZXJzw6NvOiAxLjAwMFxyXG5EYXRhIENyaWHDp8OjbzogMTgvMDQvMjAxOVxyXG4qL1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyogVHJhbnNmb3JtYSBkYXRhIHBhcmEgbyBwYWRyw6NvIFlZWVktTU0tREQgKi9cclxuICAgIHN0YXRpYyBkYXRlVG9RdWVyeVBhcmFtKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGlEYXkgPSBkYXRlLmdldERhdGUoKTtcclxuICAgICAgICBjb25zdCBpTW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICAgIGNvbnN0IGlZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICAgICAgICByZXR1cm4gYCR7aVllYXJ9LSR7dGhpcy5wYWQoaU1vbnRoKX0tJHt0aGlzLnBhZChpRGF5KX1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRyYW5zZm9ybWEgZGF0YSBubyBwYWRyw6NvIFlZWVktTU0tREQgcGFyYSBEQVRFICovXHJcbiAgICBzdGF0aWMgcXVlcnlQYXJhbVRvRGF0ZShwYXJhbTogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICAgICAgY29uc3QgaURheSA9ICtwYXJhbS5zcGxpdCgnLScpWzJdO1xyXG4gICAgICAgIGNvbnN0IGlNb250aCA9ICtwYXJhbS5zcGxpdCgnLScpWzFdO1xyXG4gICAgICAgIGNvbnN0IGlZZWFyID0gK3BhcmFtLnNwbGl0KCctJylbMF07XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShpWWVhciwgaU1vbnRoIC0gMSwgaURheSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVmFsaWRhIHNlIGZvaSBpbmZvcm1hZG8gdW1hIGRhdGEgdsOhbGlkYSAqL1xyXG4gICAgc3RhdGljIGlzVmFsaWREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBanVzdGEgYSBkYXRhIHJldG9ybmFuZG8gbyBwYWRyw6NvIERBVEUgKi9cclxuICAgIHN0YXRpYyBhanVzdERhdGUocGFyYW06IGFueSk6IERhdGUge1xyXG4gICAgICAgIGlmIChwYXJhbSBpbnN0YW5jZW9mIERhdGUpIHsgcmV0dXJuIHBhcmFtOyB9XHJcbiAgICAgICAgaWYgKCFwYXJhbSkgeyByZXR1cm4gcGFyYW07IH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbVRvRGF0ZShwYXJhbS5zcGxpdCgnVCcpWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBanVzdGEgYSBkYXRhIHBhcmEgbyBwYWRyw6NvIERBVEUgLSB1dGlsaXphZGEgbm9zIGNvbnN0cnV0b3JlcyBkb3MgbW9kZWxvcyAqL1xyXG4gICAgc3RhdGljIGFqdXN0RGF0ZVRvTW9kZWwodmFsdWVzOiBPYmplY3QgPSB7fSwgZmllbGROYW1lOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgICAgICBpZiAodmFsdWVzLmhhc093blByb3BlcnR5KGZpZWxkTmFtZSkgJiYgKHZhbHVlc1tmaWVsZE5hbWVdKSkge1xyXG4gICAgICAgICAgICBpZiAodmFsdWVzW2ZpZWxkTmFtZV0uaW5kZXhPZignVCcpID49IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZXNbZmllbGROYW1lXSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGlEYXkgPSArdmFsdWVzW2ZpZWxkTmFtZV0uc3BsaXQoJy0nKVsyXTtcclxuICAgICAgICAgICAgY29uc3QgaU1vbnRoID0gK3ZhbHVlc1tmaWVsZE5hbWVdLnNwbGl0KCctJylbMV07XHJcbiAgICAgICAgICAgIGNvbnN0IGlZZWFyID0gK3ZhbHVlc1tmaWVsZE5hbWVdLnNwbGl0KCctJylbMF07XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShpWWVhciwgaU1vbnRoIC0gMSwgaURheSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBZGljb25hIHplcm8gYSBlc3F1ZXJkYSBkbyBuw7ptZXJvICovXHJcbiAgICBzdGF0aWMgcGFkKG51bWJlcikge1xyXG4gICAgICAgIGlmIChudW1iZXIgPCAxMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJzAnICsgbnVtYmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|