dts-backoffice-util 4.0.0 → 6.0.1
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/{esm2015/dts-backoffice-util.js → esm2020/dts-backoffice-util.mjs} +0 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
- package/{esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js → esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs} +0 -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/{esm2015/lib/interfaces/filter-range.interface.js → esm2020/lib/interfaces/filter-range.interface.mjs} +0 -0
- package/{esm2015/lib/interfaces/totvs-response.interface.js → esm2020/lib/interfaces/totvs-response.interface.mjs} +0 -0
- package/{esm2015/lib/model/session-info.model.js → esm2020/lib/model/session-info.model.mjs} +0 -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/{esm2015/lib/utils/date.util.js → esm2020/lib/utils/date.util.mjs} +0 -0
- package/{esm2015/lib/utils/disclaimer.util.js → esm2020/lib/utils/disclaimer.util.mjs} +0 -0
- package/{esm2015/lib/utils/field-validation.util.js → esm2020/lib/utils/field-validation.util.mjs} +0 -0
- package/esm2020/lib/utils/file.util.mjs +129 -0
- package/{esm2015/lib/utils/filter-range.util.js → esm2020/lib/utils/filter-range.util.mjs} +0 -0
- package/{esm2015/lib/utils/generic-functions.utils.js → esm2020/lib/utils/generic-functions.utils.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +131 -111
- package/fesm2015/dts-backoffice-util.mjs.map +1 -0
- package/fesm2020/dts-backoffice-util.mjs +1851 -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 +22 -10
- package/bundles/dts-backoffice-util.umd.js +0 -1935
- 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/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -266
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -183
- package/esm2015/lib/dts-backoffice-util.module.js +0 -39
- package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -16
- package/esm2015/lib/services/breadcrumb-control.service.js +0 -81
- package/esm2015/lib/services/cache-params.service.js +0 -25
- package/esm2015/lib/services/menu-datasul.service.js +0 -40
- package/esm2015/lib/services/profile.service.js +0 -58
- package/esm2015/lib/services/report.service.js +0 -58
- package/esm2015/lib/services/session-info.service.js +0 -39
- package/esm2015/lib/services/translate.service.js +0 -20
- package/esm2015/lib/utils/file.util.js +0 -128
- package/fesm2015/dts-backoffice-util.js.map +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class DtsDateFormatPipe {
|
|
3
|
-
transform(value, format = 'dd/MM/yyyy') {
|
|
4
|
-
const { 0: year, 1: month, 2: day } = value.split('-');
|
|
5
|
-
const formattedDate = format.replace('dd', day)
|
|
6
|
-
.replace('MM', month)
|
|
7
|
-
.replace('yyyy', year);
|
|
8
|
-
return formattedDate;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
DtsDateFormatPipe.decorators = [
|
|
12
|
-
{ type: Pipe, args: [{
|
|
13
|
-
name: 'dtsDateFormat'
|
|
14
|
-
},] }
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRzLWRhdGUtZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvcGlwZXMvZHRzLWRhdGUtZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWlCLFlBQVk7UUFDakQsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7YUFDbEIsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7YUFDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVuRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzs7WUFkRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7YUFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2R0c0RhdGVGb3JtYXQnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHRzRGF0ZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGZvcm1hdDogc3RyaW5nID0gJ2RkL01NL3l5eXknKTogYW55IHtcclxuICAgIGNvbnN0IHsgMDogeWVhciwgMTogbW9udGgsIDI6IGRheSB9ID0gdmFsdWUuc3BsaXQoJy0nKTtcclxuXHJcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0LnJlcGxhY2UoJ2RkJywgZGF5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdNTScsIG1vbnRoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCd5eXl5JywgeWVhcik7XHJcblxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZERhdGU7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Versão: 1.003
|
|
3
|
-
Data Criação: 06/08/2018
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
6
|
-
export class BreadcrumbControlService {
|
|
7
|
-
constructor() { }
|
|
8
|
-
newBreadcrumb() {
|
|
9
|
-
this.breadcrumb = { items: [] };
|
|
10
|
-
}
|
|
11
|
-
addBreadcrumb(literal, activatedRoute) {
|
|
12
|
-
this.addBreadcrumbURL(literal, decodeURIComponent(activatedRoute.snapshot['_routerState'].url));
|
|
13
|
-
}
|
|
14
|
-
addBreadcrumbURL(literal, url) {
|
|
15
|
-
if (!literal || literal === '') {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (!this.breadcrumb) {
|
|
19
|
-
this.newBreadcrumb();
|
|
20
|
-
}
|
|
21
|
-
const breadcrumbAux = { items: [] };
|
|
22
|
-
let idx = 0;
|
|
23
|
-
for (idx = 0; idx < this.breadcrumb.items.length; idx++) {
|
|
24
|
-
if (this.breadcrumb.items[idx].label !== literal) {
|
|
25
|
-
breadcrumbAux.items.push(this.breadcrumb.items[idx]);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
breadcrumbAux.items.push({ label: literal, link: url });
|
|
32
|
-
this.breadcrumb = breadcrumbAux;
|
|
33
|
-
}
|
|
34
|
-
updBreadcrumbURL(literal, valueOld, valueNew) {
|
|
35
|
-
let currentRouterURL = this.getCurrentRouter();
|
|
36
|
-
if (!currentRouterURL) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (!valueOld) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (!valueNew) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
currentRouterURL = currentRouterURL.replace(valueOld, valueNew);
|
|
46
|
-
this.addBreadcrumbURL(literal, currentRouterURL);
|
|
47
|
-
}
|
|
48
|
-
getBreadcrumb() {
|
|
49
|
-
if (!this.breadcrumb) {
|
|
50
|
-
this.newBreadcrumb();
|
|
51
|
-
}
|
|
52
|
-
return this.breadcrumb;
|
|
53
|
-
}
|
|
54
|
-
getCurrentRouter() {
|
|
55
|
-
if (!this.breadcrumb) {
|
|
56
|
-
this.newBreadcrumb();
|
|
57
|
-
}
|
|
58
|
-
if (this.breadcrumb.items.length <= 0) {
|
|
59
|
-
return '';
|
|
60
|
-
}
|
|
61
|
-
return this.breadcrumb.items[this.breadcrumb.items.length - 1].link;
|
|
62
|
-
}
|
|
63
|
-
getPrevRouter() {
|
|
64
|
-
if (!this.breadcrumb) {
|
|
65
|
-
this.newBreadcrumb();
|
|
66
|
-
}
|
|
67
|
-
if (this.breadcrumb.items.length <= 1) {
|
|
68
|
-
return '';
|
|
69
|
-
}
|
|
70
|
-
return this.breadcrumb.items[this.breadcrumb.items.length - 2].link;
|
|
71
|
-
}
|
|
72
|
-
hasPreviousRouter() {
|
|
73
|
-
return this.breadcrumb.items.length > 1;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
BreadcrumbControlService.decorators = [
|
|
77
|
-
{ type: Injectable }
|
|
78
|
-
];
|
|
79
|
-
/** @nocollapse */
|
|
80
|
-
BreadcrumbControlService.ctorParameters = () => [];
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1jb250cm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvYnJlYWRjcnVtYi1jb250cm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztFQUdFO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxNQUFNLE9BQU8sd0JBQXdCO0lBR2pDLGdCQUFnQixDQUFDO0lBRVYsYUFBYTtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZSxFQUFFLGNBQThCO1FBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsR0FBVztRQUNoRCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FBRTtRQUUvQyxNQUFNLGFBQWEsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUVwQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixLQUFLLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7Z0JBQzlDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDeEQ7aUJBQU07Z0JBQ0gsTUFBTTthQUNUO1NBQ0o7UUFFRCxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDcEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE9BQWUsRUFBRSxRQUFnQixFQUFFLFFBQWdCO1FBQ3ZFLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUUxQixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sYUFBYTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUFFO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRU0sZ0JBQWdCO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQUU7UUFDL0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUM7U0FBRTtRQUVyRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEUsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQztTQUFFO1FBRXJELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7WUFsRUosVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblZlcnPDo286IDEuMDAzXHJcbkRhdGEgQ3JpYcOnw6NvOiAwNi8wOC8yMDE4XHJcbiovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBvQnJlYWRjcnVtYiB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbnRyb2xTZXJ2aWNlIHtcclxuICAgIGJyZWFkY3J1bWI6IFBvQnJlYWRjcnVtYjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIHB1YmxpYyBuZXdCcmVhZGNydW1iKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYiA9IHsgaXRlbXM6IFtdIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEJyZWFkY3J1bWIobGl0ZXJhbDogc3RyaW5nLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFkZEJyZWFkY3J1bWJVUkwobGl0ZXJhbCwgZGVjb2RlVVJJQ29tcG9uZW50KGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90Wydfcm91dGVyU3RhdGUnXS51cmwpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkQnJlYWRjcnVtYlVSTChsaXRlcmFsOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFsaXRlcmFsIHx8IGxpdGVyYWwgPT09ICcnKSB7IHJldHVybjsgfVxyXG4gICAgICAgIGlmICghdGhpcy5icmVhZGNydW1iKSB7IHRoaXMubmV3QnJlYWRjcnVtYigpOyB9XHJcblxyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJBdXggPSB7IGl0ZW1zOiBbXSB9O1xyXG5cclxuICAgICAgICBsZXQgaWR4ID0gMDtcclxuICAgICAgICBmb3IgKGlkeCA9IDA7IGlkeCA8IHRoaXMuYnJlYWRjcnVtYi5pdGVtcy5sZW5ndGg7IGlkeCsrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmJyZWFkY3J1bWIuaXRlbXNbaWR4XS5sYWJlbCAhPT0gbGl0ZXJhbCkge1xyXG4gICAgICAgICAgICAgICAgYnJlYWRjcnVtYkF1eC5pdGVtcy5wdXNoKHRoaXMuYnJlYWRjcnVtYi5pdGVtc1tpZHhdKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhZGNydW1iQXV4Lml0ZW1zLnB1c2goeyBsYWJlbDogbGl0ZXJhbCwgbGluazogdXJsIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSBicmVhZGNydW1iQXV4O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRCcmVhZGNydW1iVVJMKGxpdGVyYWw6IHN0cmluZywgdmFsdWVPbGQ6IHN0cmluZywgdmFsdWVOZXc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGxldCBjdXJyZW50Um91dGVyVVJMID0gdGhpcy5nZXRDdXJyZW50Um91dGVyKCk7XHJcblxyXG4gICAgICAgIGlmICghY3VycmVudFJvdXRlclVSTCkgeyByZXR1cm47IH1cclxuICAgICAgICBpZiAoIXZhbHVlT2xkKSB7IHJldHVybjsgfVxyXG4gICAgICAgIGlmICghdmFsdWVOZXcpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgICAgIGN1cnJlbnRSb3V0ZXJVUkwgPSBjdXJyZW50Um91dGVyVVJMLnJlcGxhY2UodmFsdWVPbGQsIHZhbHVlTmV3KTtcclxuICAgICAgICB0aGlzLmFkZEJyZWFkY3J1bWJVUkwobGl0ZXJhbCwgY3VycmVudFJvdXRlclVSTCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEJyZWFkY3J1bWIoKTogUG9CcmVhZGNydW1iIHtcclxuICAgICAgICBpZiAoIXRoaXMuYnJlYWRjcnVtYikgeyB0aGlzLm5ld0JyZWFkY3J1bWIoKTsgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmJyZWFkY3J1bWI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEN1cnJlbnRSb3V0ZXIoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuYnJlYWRjcnVtYikgeyB0aGlzLm5ld0JyZWFkY3J1bWIoKTsgfVxyXG4gICAgICAgIGlmICh0aGlzLmJyZWFkY3J1bWIuaXRlbXMubGVuZ3RoIDw9IDApIHsgcmV0dXJuICcnOyB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmJyZWFkY3J1bWIuaXRlbXNbdGhpcy5icmVhZGNydW1iLml0ZW1zLmxlbmd0aCAtIDFdLmxpbms7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFByZXZSb3V0ZXIoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuYnJlYWRjcnVtYikgeyB0aGlzLm5ld0JyZWFkY3J1bWIoKTsgfVxyXG4gICAgICAgIGlmICh0aGlzLmJyZWFkY3J1bWIuaXRlbXMubGVuZ3RoIDw9IDEpIHsgcmV0dXJuICcnOyB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmJyZWFkY3J1bWIuaXRlbXNbdGhpcy5icmVhZGNydW1iLml0ZW1zLmxlbmd0aCAtIDJdLmxpbms7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhc1ByZXZpb3VzUm91dGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJyZWFkY3J1bWIuaXRlbXMubGVuZ3RoID4gMTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CacheParamsService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.values = {};
|
|
6
|
-
}
|
|
7
|
-
setValue(key, value) {
|
|
8
|
-
this.values[key] = value;
|
|
9
|
-
}
|
|
10
|
-
getValue(key) {
|
|
11
|
-
return this.values[key];
|
|
12
|
-
}
|
|
13
|
-
removeValue(key) {
|
|
14
|
-
delete this.values[key];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** @nocollapse */ CacheParamsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CacheParamsService_Factory() { return new CacheParamsService(); }, token: CacheParamsService, providedIn: "root" });
|
|
18
|
-
CacheParamsService.decorators = [
|
|
19
|
-
{ type: Injectable, args: [{
|
|
20
|
-
providedIn: 'root'
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
/** @nocollapse */
|
|
24
|
-
CacheParamsService.ctorParameters = () => [];
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcGFyYW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvY2FjaGUtcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQjtRQUZBLFdBQU0sR0FBRyxFQUFFLENBQUM7SUFFSSxDQUFDO0lBRVYsUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxRQUFRLENBQUMsR0FBVztRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7O1lBcEJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIENhY2hlUGFyYW1zU2VydmljZSB7XHJcblxyXG4gICAgdmFsdWVzID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgc2V0VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlc1trZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFZhbHVlKGtleTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXNba2V5XTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlVmFsdWUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBkZWxldGUgdGhpcy52YWx1ZXNba2V5XTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
export class MenuDatasulService {
|
|
3
|
-
constructor() { }
|
|
4
|
-
/**
|
|
5
|
-
* var program = {};
|
|
6
|
-
* program['prg'] = "cd0210";
|
|
7
|
-
* program['params'] = '01|123456'
|
|
8
|
-
*/
|
|
9
|
-
callProgress(program) {
|
|
10
|
-
parent.postMessage({ program }, '*');
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* var notification = {};
|
|
14
|
-
* notification['type'] = 'success';
|
|
15
|
-
* notification['title'] = 'Notification Title'
|
|
16
|
-
* notification['detail'] = 'Notification Detail'
|
|
17
|
-
*/
|
|
18
|
-
sendNotification(notification) {
|
|
19
|
-
parent.postMessage({ notification }, '*');
|
|
20
|
-
}
|
|
21
|
-
openPath(programName, params, parent = true) {
|
|
22
|
-
const datasulPath = document.referrer.indexOf('totvs-menu') > 0 ? 'totvs-menu' : 'menu-html';
|
|
23
|
-
let baseUrl = `/${datasulPath}/#/${datasulPath}/program-html/${programName}/#`;
|
|
24
|
-
if (params) {
|
|
25
|
-
baseUrl = `${baseUrl}/${params}`;
|
|
26
|
-
}
|
|
27
|
-
if (parent) {
|
|
28
|
-
window.open(baseUrl, '_parent');
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
window.open(baseUrl);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
MenuDatasulService.decorators = [
|
|
36
|
-
{ type: Injectable }
|
|
37
|
-
];
|
|
38
|
-
/** @nocollapse */
|
|
39
|
-
MenuDatasulService.ctorParameters = () => [];
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kYXRhc3VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvbWVudS1kYXRhc3VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLGdCQUFnQixDQUFDO0lBRWpCOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsT0FBTztRQUN2QixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0JBQWdCLENBQUMsWUFBWTtRQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxXQUFtQixFQUFFLE1BQVcsRUFBRSxNQUFNLEdBQUcsSUFBSTtRQUMzRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzdGLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxNQUFNLFdBQVcsaUJBQWlCLFdBQVcsSUFBSSxDQUFDO1FBRS9FLElBQUksTUFBTSxFQUFFO1lBQ1IsT0FBTyxHQUFHLEdBQUcsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7OztZQXJDSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWVudURhdGFzdWxTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFyIHByb2dyYW0gPSB7fTtcclxuICAgICAqIHByb2dyYW1bJ3ByZyddID0gXCJjZDAyMTBcIjtcclxuICAgICAqIHByb2dyYW1bJ3BhcmFtcyddID0gJzAxfDEyMzQ1NidcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNhbGxQcm9ncmVzcyhwcm9ncmFtKSB7XHJcbiAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKHsgcHJvZ3JhbSB9LCAnKicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFyIG5vdGlmaWNhdGlvbiA9IHt9O1xyXG4gICAgICogbm90aWZpY2F0aW9uWyd0eXBlJ10gPSAnc3VjY2Vzcyc7XHJcbiAgICAgKiBub3RpZmljYXRpb25bJ3RpdGxlJ10gPSAnTm90aWZpY2F0aW9uIFRpdGxlJ1xyXG4gICAgICogbm90aWZpY2F0aW9uWydkZXRhaWwnXSA9ICdOb3RpZmljYXRpb24gRGV0YWlsJ1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VuZE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pIHtcclxuICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoeyBub3RpZmljYXRpb24gfSwgJyonKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlblBhdGgocHJvZ3JhbU5hbWU6IHN0cmluZywgcGFyYW1zOiBhbnksIHBhcmVudCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRhc3VsUGF0aCA9IGRvY3VtZW50LnJlZmVycmVyLmluZGV4T2YoJ3RvdHZzLW1lbnUnKSA+IDAgPyAndG90dnMtbWVudScgOiAnbWVudS1odG1sJztcclxuICAgICAgICBsZXQgYmFzZVVybCA9IGAvJHtkYXRhc3VsUGF0aH0vIy8ke2RhdGFzdWxQYXRofS9wcm9ncmFtLWh0bWwvJHtwcm9ncmFtTmFtZX0vI2A7XHJcblxyXG4gICAgICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgICAgICAgYmFzZVVybCA9IGAke2Jhc2VVcmx9LyR7cGFyYW1zfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGJhc2VVcmwsICdfcGFyZW50Jyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oYmFzZVVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
var EDataType;
|
|
7
|
-
(function (EDataType) {
|
|
8
|
-
EDataType[EDataType["STRING"] = 1] = "STRING";
|
|
9
|
-
EDataType[EDataType["JSON"] = 2] = "JSON";
|
|
10
|
-
})(EDataType || (EDataType = {}));
|
|
11
|
-
export class ProfileService {
|
|
12
|
-
constructor(http) {
|
|
13
|
-
this.http = http;
|
|
14
|
-
this.apiURL = '/dts/datasul-rest/resources/api/btb/btapi930za';
|
|
15
|
-
}
|
|
16
|
-
setProfile(profile) {
|
|
17
|
-
const headers = { 'X-PO-Screen-Lock': 'true' };
|
|
18
|
-
const { pageId, userCode } = profile;
|
|
19
|
-
return this.http
|
|
20
|
-
.post(`${this.apiURL}/setProfile?userCode=${userCode}&pageId=${pageId}`, profile, { headers });
|
|
21
|
-
}
|
|
22
|
-
getProfileAsString(profile, showLoading) {
|
|
23
|
-
return this.getProfile(profile, EDataType.STRING, showLoading ? 'true' : 'false');
|
|
24
|
-
}
|
|
25
|
-
getProfileAsJSON(profile, showLoading) {
|
|
26
|
-
return this.getProfile(profile, EDataType.JSON, showLoading ? 'true' : 'false');
|
|
27
|
-
}
|
|
28
|
-
getProfile(profile, dataType, showLoading) {
|
|
29
|
-
const headers = { 'X-PO-Screen-Lock': showLoading };
|
|
30
|
-
const { pageId, dataCode, userCode } = profile;
|
|
31
|
-
return this.http
|
|
32
|
-
.get(`${this.apiURL}/getProfile?userCode=${userCode}&pageId=${pageId}&dataCode=${dataCode}`, { headers })
|
|
33
|
-
.pipe(map(preference => {
|
|
34
|
-
if (preference.data[0]) {
|
|
35
|
-
if (dataType === EDataType.STRING) {
|
|
36
|
-
return preference.data[0].dataValue;
|
|
37
|
-
}
|
|
38
|
-
if (dataType === EDataType.JSON) {
|
|
39
|
-
return JSON.parse(preference.data[0].dataValue);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/** @nocollapse */ ProfileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(i0.ɵɵinject(i1.HttpClient)); }, token: ProfileService, providedIn: "root" });
|
|
49
|
-
ProfileService.decorators = [
|
|
50
|
-
{ type: Injectable, args: [{
|
|
51
|
-
providedIn: 'root'
|
|
52
|
-
},] }
|
|
53
|
-
];
|
|
54
|
-
/** @nocollapse */
|
|
55
|
-
ProfileService.ctorParameters = () => [
|
|
56
|
-
{ type: HttpClient }
|
|
57
|
-
];
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWVyQyxJQUFLLFNBR0o7QUFIRCxXQUFLLFNBQVM7SUFDViw2Q0FBVSxDQUFBO0lBQ1YseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFISSxTQUFTLEtBQVQsU0FBUyxRQUdiO0FBS0QsTUFBTSxPQUFPLGNBQWM7SUFJdkIsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUYxQixXQUFNLEdBQUcsZ0RBQWdELENBQUM7SUFFNUIsQ0FBQztJQUV4QyxVQUFVLENBQUMsT0FBaUI7UUFDeEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sd0JBQXdCLFFBQVEsV0FBVyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTVHLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFpQixFQUFFLFdBQXFCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWlCLEVBQUUsV0FBcUI7UUFDckQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWlCLEVBQUUsUUFBbUIsRUFBRSxXQUFvQjtRQUMzRSxNQUFNLE9BQU8sR0FBRyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3BELE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLHdCQUF3QixRQUFRLFdBQVcsTUFBTSxhQUFhLFFBQVEsRUFBRSxFQUN6RyxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuQixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksUUFBUSxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7b0JBQy9CLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7aUJBQ3ZDO2dCQUVELElBQUksUUFBUSxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUU7b0JBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUNuRDthQUNKO2lCQUFNO2dCQUNILE9BQU8sU0FBUyxDQUFDO2FBQ3BCO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7Ozs7WUE5Q0osVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7O1lBdkJRLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvZmlsZSB7XHJcbiAgICBwYWdlSWQ6IHN0cmluZztcclxuICAgIGRhdGFDb2RlOiBzdHJpbmc7XHJcbiAgICB1c2VyQ29kZTogc3RyaW5nO1xyXG4gICAgZGF0YVZhbHVlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9maWxlUmVzcG9uc2Uge1xyXG4gICAgbWVzc2FnZTogQXJyYXk8c3RyaW5nPjtcclxuICAgIGxlbmd0aDogbnVtYmVyO1xyXG4gICAgZGF0YTogQXJyYXk8YW55PjtcclxufVxyXG5cclxuZW51bSBFRGF0YVR5cGUge1xyXG4gICAgU1RSSU5HID0gMSxcclxuICAgIEpTT04gPSAyXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IGFwaVVSTCA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvYXBpL2J0Yi9idGFwaTkzMHphJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgc2V0UHJvZmlsZShwcm9maWxlOiBJUHJvZmlsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiAndHJ1ZScgfTtcclxuICAgICAgICBjb25zdCB7IHBhZ2VJZCwgdXNlckNvZGUgfSA9IHByb2ZpbGU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmFwaVVSTH0vc2V0UHJvZmlsZT91c2VyQ29kZT0ke3VzZXJDb2RlfSZwYWdlSWQ9JHtwYWdlSWR9YCwgcHJvZmlsZSwgeyBoZWFkZXJzIH0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9maWxlQXNTdHJpbmcocHJvZmlsZTogSVByb2ZpbGUsIHNob3dMb2FkaW5nPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvZmlsZShwcm9maWxlLCBFRGF0YVR5cGUuU1RSSU5HLCBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2ZpbGVBc0pTT04ocHJvZmlsZTogSVByb2ZpbGUsIHNob3dMb2FkaW5nPzogYm9vbGVhbik6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvZmlsZShwcm9maWxlLCBFRGF0YVR5cGUuSlNPTiwgc2hvd0xvYWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFByb2ZpbGUocHJvZmlsZTogSVByb2ZpbGUsIGRhdGFUeXBlOiBFRGF0YVR5cGUsIHNob3dMb2FkaW5nPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBoZWFkZXJzID0geyAnWC1QTy1TY3JlZW4tTG9jayc6IHNob3dMb2FkaW5nIH07XHJcbiAgICAgICAgY29uc3QgeyBwYWdlSWQsIGRhdGFDb2RlLCB1c2VyQ29kZSB9ID0gcHJvZmlsZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PElQcm9maWxlUmVzcG9uc2U+KGAke3RoaXMuYXBpVVJMfS9nZXRQcm9maWxlP3VzZXJDb2RlPSR7dXNlckNvZGV9JnBhZ2VJZD0ke3BhZ2VJZH0mZGF0YUNvZGU9JHtkYXRhQ29kZX1gLFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXJzIH0pXHJcbiAgICAgICAgICAgIC5waXBlKG1hcChwcmVmZXJlbmNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChwcmVmZXJlbmNlLmRhdGFbMF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEVEYXRhVHlwZS5TVFJJTkcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZlcmVuY2UuZGF0YVswXS5kYXRhVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEVEYXRhVHlwZS5KU09OKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHByZWZlcmVuY2UuZGF0YVswXS5kYXRhVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
export var ReportFormats;
|
|
5
|
-
(function (ReportFormats) {
|
|
6
|
-
ReportFormats["XLSX"] = "xlsx";
|
|
7
|
-
ReportFormats["PDF"] = "pdf";
|
|
8
|
-
ReportFormats["DOCX"] = "docx";
|
|
9
|
-
ReportFormats["HTML"] = "html";
|
|
10
|
-
})(ReportFormats || (ReportFormats = {}));
|
|
11
|
-
export class ReportService {
|
|
12
|
-
constructor(httpClient) {
|
|
13
|
-
this.httpClient = httpClient;
|
|
14
|
-
this.URL = window.location.href.indexOf('totvs-menu') > 0 ? '/totvs-menu/rest/report/run/'
|
|
15
|
-
: '/dts/datasul-report/resources/run/';
|
|
16
|
-
}
|
|
17
|
-
generate(params, showLoading = true) {
|
|
18
|
-
const headers = { 'X-PO-Screen-Lock': showLoading ? 'true' : 'false' };
|
|
19
|
-
let reportURL = `${this.URL}${params.reportName}`;
|
|
20
|
-
if (params.properties.length > 0) {
|
|
21
|
-
reportURL += '?';
|
|
22
|
-
params.properties.forEach((property, index) => {
|
|
23
|
-
if (index > 0) {
|
|
24
|
-
reportURL += '&';
|
|
25
|
-
}
|
|
26
|
-
reportURL += `c_properties=${property.name}&c_values=${property.value}`;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
reportURL += `&dialect=${params.dialect}&format=${params.format}`;
|
|
30
|
-
reportURL += `&program=${params.programName}&resultFileName=${params.downloadName}`;
|
|
31
|
-
return this.httpClient.post(reportURL, {}, { headers, responseType: 'blob' })
|
|
32
|
-
.pipe(map(report => {
|
|
33
|
-
if (params.download) {
|
|
34
|
-
this.download(report, `${params.downloadName}.${params.format}`);
|
|
35
|
-
}
|
|
36
|
-
return report;
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
download(file, fileName) {
|
|
40
|
-
const binaryData = [file];
|
|
41
|
-
const downloadLink = document.createElement('a');
|
|
42
|
-
const urlDownload = window.URL.createObjectURL(new Blob(binaryData, { type: file.type }));
|
|
43
|
-
downloadLink.href = urlDownload;
|
|
44
|
-
downloadLink.setAttribute('download', fileName);
|
|
45
|
-
document.body.appendChild(downloadLink);
|
|
46
|
-
downloadLink.click();
|
|
47
|
-
window.URL.revokeObjectURL(urlDownload);
|
|
48
|
-
downloadLink.remove();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
ReportService.decorators = [
|
|
52
|
-
{ type: Injectable }
|
|
53
|
-
];
|
|
54
|
-
/** @nocollapse */
|
|
55
|
-
ReportService.ctorParameters = () => [
|
|
56
|
-
{ type: HttpClient }
|
|
57
|
-
];
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvcmVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBaUJyQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLDhCQUFhLENBQUE7SUFDYiw0QkFBVyxDQUFBO0lBQ1gsOEJBQWEsQ0FBQTtJQUNiLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFJRCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSHpCLFFBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7WUFDL0UsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDO0lBRWhCLENBQUM7SUFFOUMsUUFBUSxDQUFDLE1BQTRCLEVBQUUsY0FBdUIsSUFBSTtRQUNoRSxNQUFNLE9BQU8sR0FBRyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV2RSxJQUFJLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxELElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLFNBQVMsSUFBSSxHQUFHLENBQUM7WUFFakIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFtQixFQUFFLEtBQWEsRUFBRSxFQUFFO2dCQUMvRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQ2IsU0FBUyxJQUFJLEdBQUcsQ0FBQztpQkFDbEI7Z0JBQ0QsU0FBUyxJQUFJLGdCQUFnQixRQUFRLENBQUMsSUFBSSxhQUFhLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxRSxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsU0FBUyxJQUFJLFlBQVksTUFBTSxDQUFDLE9BQU8sV0FBVyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEUsU0FBUyxJQUFJLFlBQVksTUFBTSxDQUFDLFdBQVcsbUJBQW1CLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDbEU7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFVLEVBQUUsUUFBZ0I7UUFDbkMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFGLFlBQVksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7O1lBL0NGLFVBQVU7Ozs7WUExQkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wZXJ0eSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydFNlcnZpY2VQYXJhbXMge1xyXG4gIHJlcG9ydE5hbWU6IHN0cmluZzsgLy8gTm9tZSBkbyBycHREZXNpZ25cclxuICBwcm9ncmFtTmFtZTogc3RyaW5nOyAvLyBQcm9ncmFtYSBQcm9ncmVzc1xyXG4gIHByb3BlcnRpZXM6IEFycmF5PElQcm9wZXJ0eT47XHJcbiAgZGlhbGVjdDogc3RyaW5nO1xyXG4gIGRvd25sb2FkTmFtZTogc3RyaW5nO1xyXG4gIGRvd25sb2FkOiBib29sZWFuO1xyXG4gIGZvcm1hdDogUmVwb3J0Rm9ybWF0cztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUmVwb3J0Rm9ybWF0cyB7XHJcbiAgWExTWCA9ICd4bHN4JyxcclxuICBQREYgPSAncGRmJyxcclxuICBET0NYID0gJ2RvY3gnLFxyXG4gIEhUTUwgPSAnaHRtbCdcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBVUkwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCd0b3R2cy1tZW51JykgPiAwID8gJy90b3R2cy1tZW51L3Jlc3QvcmVwb3J0L3J1bi8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy9kdHMvZGF0YXN1bC1yZXBvcnQvcmVzb3VyY2VzL3J1bi8nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdlbmVyYXRlKHBhcmFtczogSVJlcG9ydFNlcnZpY2VQYXJhbXMsIHNob3dMb2FkaW5nOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScgfTtcclxuXHJcbiAgICBsZXQgcmVwb3J0VVJMID0gYCR7dGhpcy5VUkx9JHtwYXJhbXMucmVwb3J0TmFtZX1gO1xyXG5cclxuICAgIGlmIChwYXJhbXMucHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJlcG9ydFVSTCArPSAnPyc7XHJcblxyXG4gICAgICBwYXJhbXMucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eTogSVByb3BlcnR5LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gMCkge1xyXG4gICAgICAgICAgcmVwb3J0VVJMICs9ICcmJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVwb3J0VVJMICs9IGBjX3Byb3BlcnRpZXM9JHtwcm9wZXJ0eS5uYW1lfSZjX3ZhbHVlcz0ke3Byb3BlcnR5LnZhbHVlfWA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcG9ydFVSTCArPSBgJmRpYWxlY3Q9JHtwYXJhbXMuZGlhbGVjdH0mZm9ybWF0PSR7cGFyYW1zLmZvcm1hdH1gO1xyXG4gICAgcmVwb3J0VVJMICs9IGAmcHJvZ3JhbT0ke3BhcmFtcy5wcm9ncmFtTmFtZX0mcmVzdWx0RmlsZU5hbWU9JHtwYXJhbXMuZG93bmxvYWROYW1lfWA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHJlcG9ydFVSTCwge30sIHsgaGVhZGVycywgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcG9ydCA9PiB7XHJcbiAgICAgICAgaWYgKHBhcmFtcy5kb3dubG9hZCkge1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZChyZXBvcnQsIGAke3BhcmFtcy5kb3dubG9hZE5hbWV9LiR7cGFyYW1zLmZvcm1hdH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcG9ydDtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWQoZmlsZTogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYmluYXJ5RGF0YSA9IFtmaWxlXTtcclxuICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGNvbnN0IHVybERvd25sb2FkID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoYmluYXJ5RGF0YSwgeyB0eXBlOiBmaWxlLnR5cGUgfSkpO1xyXG5cclxuICAgIGRvd25sb2FkTGluay5ocmVmID0gdXJsRG93bmxvYWQ7XHJcbiAgICBkb3dubG9hZExpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICAgIGRvd25sb2FkTGluay5jbGljaygpO1xyXG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsRG93bmxvYWQpO1xyXG4gICAgZG93bmxvYWRMaW5rLnJlbW92ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class UserLoginService {
|
|
8
|
-
constructor(http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.apiUrl = '/totvs-menu/rest/getSessionInfo';
|
|
11
|
-
this.userLogin = undefined;
|
|
12
|
-
}
|
|
13
|
-
getUserLogin() {
|
|
14
|
-
if (localStorage.getItem('username')) {
|
|
15
|
-
return of(localStorage.getItem('username'));
|
|
16
|
-
}
|
|
17
|
-
if (this.userLogin) {
|
|
18
|
-
return of(this.userLogin);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
return this.http.get(`${this.apiUrl}`)
|
|
22
|
-
.pipe(map((response) => {
|
|
23
|
-
this.userLogin = response.userName;
|
|
24
|
-
return response.userName;
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/** @nocollapse */ UserLoginService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserLoginService_Factory() { return new UserLoginService(i0.ɵɵinject(i1.HttpClient)); }, token: UserLoginService, providedIn: "root" });
|
|
30
|
-
UserLoginService.decorators = [
|
|
31
|
-
{ type: Injectable, args: [{
|
|
32
|
-
providedIn: 'root'
|
|
33
|
-
},] }
|
|
34
|
-
];
|
|
35
|
-
/** @nocollapse */
|
|
36
|
-
UserLoginService.ctorParameters = () => [
|
|
37
|
-
{ type: HttpClient }
|
|
38
|
-
];
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvc2Vzc2lvbi1pbmZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtyQyxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCLFlBQW1CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFIMUIsV0FBTSxHQUFHLGlDQUFpQyxDQUFDO1FBQ3BELGNBQVMsR0FBRyxTQUFTLENBQUM7SUFFaUIsQ0FBQztJQUV4QyxZQUFZO1FBQ1IsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUNuQyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNYO0lBQ0wsQ0FBQzs7OztZQXhCSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7Ozs7WUFQUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9tb2RlbC9zZXNzaW9uLWluZm8ubW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJMb2dpblNlcnZpY2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IGFwaVVybCA9ICcvdG90dnMtbWVudS9yZXN0L2dldFNlc3Npb25JbmZvJztcclxuICAgIHVzZXJMb2dpbiA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgZ2V0VXNlckxvZ2luKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy51c2VyTG9naW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMudXNlckxvZ2luKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2Vzc2lvbkluZm8+KGAke3RoaXMuYXBpVXJsfWApXHJcbiAgICAgICAgICAgICAgICAucGlwZShtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTG9naW4gPSByZXNwb25zZS51c2VyTmFtZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudXNlck5hbWU7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
export class TranslateService {
|
|
3
|
-
static getSuportLanguage() {
|
|
4
|
-
return ['pt-BR', 'pt', 'en-US', 'en', 'es'];
|
|
5
|
-
}
|
|
6
|
-
static getDefaultCurrencyCode() {
|
|
7
|
-
return '$';
|
|
8
|
-
}
|
|
9
|
-
static getCurrentLanguage() {
|
|
10
|
-
const locale = localStorage.getItem('user.language') || navigator.language;
|
|
11
|
-
if (locale && this.getSuportLanguage().includes(locale)) {
|
|
12
|
-
return locale;
|
|
13
|
-
}
|
|
14
|
-
return 'en-US';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
TranslateService.decorators = [
|
|
18
|
-
{ type: Injectable }
|
|
19
|
-
];
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLE1BQU0sQ0FBQyxpQkFBaUI7UUFDcEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQjtRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUUzRSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFBRSxPQUFPLE1BQU0sQ0FBQztTQUFFO1FBRTNFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OztZQWpCSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSB7XHJcblxyXG4gICAgc3RhdGljIGdldFN1cG9ydExhbmd1YWdlKCkge1xyXG4gICAgICAgIHJldHVybiBbJ3B0LUJSJywgJ3B0JywgJ2VuLVVTJywgJ2VuJywgJ2VzJ107XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldERlZmF1bHRDdXJyZW5jeUNvZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuICckJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q3VycmVudExhbmd1YWdlKCkge1xyXG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLmxhbmd1YWdlJykgfHwgbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG5cclxuICAgICAgICBpZiAobG9jYWxlICYmIHRoaXMuZ2V0U3Vwb3J0TGFuZ3VhZ2UoKS5pbmNsdWRlcyhsb2NhbGUpKSB7IHJldHVybiBsb2NhbGU7IH1cclxuXHJcbiAgICAgICAgcmV0dXJuICdlbi1VUyc7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
export class FileUtil {
|
|
2
|
-
constructor() { }
|
|
3
|
-
static downloadFile(data, fileName, contentType, base64) {
|
|
4
|
-
base64 = (base64 === false) ? false : true;
|
|
5
|
-
const dataBlob = base64 ? this.b64toBlob(data, contentType) : data;
|
|
6
|
-
this.download(dataBlob, fileName);
|
|
7
|
-
}
|
|
8
|
-
static downloadData(data, dwldDataParam = null) {
|
|
9
|
-
if (!data) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
if (!dwldDataParam) {
|
|
13
|
-
dwldDataParam = new DownloadDataParams();
|
|
14
|
-
}
|
|
15
|
-
if (!dwldDataParam.fileName) {
|
|
16
|
-
dwldDataParam.fileName = 'data.csv';
|
|
17
|
-
}
|
|
18
|
-
if (!dwldDataParam.literals) {
|
|
19
|
-
dwldDataParam.literals = {};
|
|
20
|
-
}
|
|
21
|
-
if (!dwldDataParam.columnDelimiter) {
|
|
22
|
-
dwldDataParam.columnDelimiter = ';';
|
|
23
|
-
}
|
|
24
|
-
if (!dwldDataParam.columnList) {
|
|
25
|
-
dwldDataParam.columnList = [];
|
|
26
|
-
}
|
|
27
|
-
if (!dwldDataParam.columnExclude) {
|
|
28
|
-
dwldDataParam.columnExclude = [];
|
|
29
|
-
}
|
|
30
|
-
const datab64 = btoa(this.jsonToString(data, dwldDataParam));
|
|
31
|
-
this.downloadFile(datab64, dwldDataParam.fileName, 'text/csv');
|
|
32
|
-
}
|
|
33
|
-
static download(file, fileName) {
|
|
34
|
-
const binaryData = [file];
|
|
35
|
-
const downloadLink = document.createElement('a');
|
|
36
|
-
const urlDownload = window.URL.createObjectURL(new Blob(binaryData, { type: file.type }));
|
|
37
|
-
/**Verifica se é ie ou edge, pois o mesmo tem tratamento próprio para arquivos blob */
|
|
38
|
-
if (navigator.userAgent.toUpperCase().indexOf('.NET') > 0 || navigator.userAgent.toUpperCase().indexOf('EDGE') > 0) {
|
|
39
|
-
window.navigator.msSaveOrOpenBlob(file, fileName);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
downloadLink.href = urlDownload;
|
|
43
|
-
downloadLink.setAttribute('download', fileName);
|
|
44
|
-
document.body.appendChild(downloadLink);
|
|
45
|
-
downloadLink.click();
|
|
46
|
-
window.URL.revokeObjectURL(urlDownload);
|
|
47
|
-
downloadLink.remove();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
static b64toBlob(b64Data, contentType, sliceSize) {
|
|
51
|
-
contentType = contentType || '';
|
|
52
|
-
sliceSize = sliceSize || 512;
|
|
53
|
-
const byteCharacters = atob(b64Data);
|
|
54
|
-
const byteArrays = [];
|
|
55
|
-
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
56
|
-
const slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
57
|
-
const byteNumbers = new Array(slice.length);
|
|
58
|
-
for (let i = 0; i < slice.length; i++) {
|
|
59
|
-
byteNumbers[i] = slice.charCodeAt(i);
|
|
60
|
-
}
|
|
61
|
-
const byteArray = new Uint8Array(byteNumbers);
|
|
62
|
-
byteArrays.push(byteArray);
|
|
63
|
-
}
|
|
64
|
-
const blob = new Blob(byteArrays, { type: contentType });
|
|
65
|
-
return blob;
|
|
66
|
-
}
|
|
67
|
-
static jsonToString(jsonData, dwldDataParam) {
|
|
68
|
-
if (!jsonData || jsonData.length === 0) {
|
|
69
|
-
return '';
|
|
70
|
-
}
|
|
71
|
-
const lineDelimiter = '\n';
|
|
72
|
-
let columnOrig = null;
|
|
73
|
-
let columnHeader = null;
|
|
74
|
-
const keys = [];
|
|
75
|
-
let includeKey;
|
|
76
|
-
if (dwldDataParam.columnList &&
|
|
77
|
-
dwldDataParam.columnList.length > 0) {
|
|
78
|
-
columnOrig = dwldDataParam.columnList;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
columnOrig = Object.keys(jsonData[0]);
|
|
82
|
-
}
|
|
83
|
-
columnOrig.forEach(key => {
|
|
84
|
-
includeKey = true;
|
|
85
|
-
if (dwldDataParam.columnExclude &&
|
|
86
|
-
dwldDataParam.columnExclude.length > 0 &&
|
|
87
|
-
dwldDataParam.columnExclude.indexOf(key) !== -1) {
|
|
88
|
-
includeKey = false;
|
|
89
|
-
}
|
|
90
|
-
if (includeKey) {
|
|
91
|
-
keys.push(key);
|
|
92
|
-
columnHeader = (!columnHeader) ? '' : columnHeader + dwldDataParam.columnDelimiter;
|
|
93
|
-
columnHeader += (dwldDataParam.literals[key]) ? dwldDataParam.literals[key] : key;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
const lineStr = jsonData.reduce((accLineStr, currentItem) => {
|
|
97
|
-
let first = true;
|
|
98
|
-
let columnValue = null;
|
|
99
|
-
keys.forEach(key => {
|
|
100
|
-
if (!first) {
|
|
101
|
-
accLineStr += dwldDataParam.columnDelimiter;
|
|
102
|
-
}
|
|
103
|
-
columnValue = currentItem[key];
|
|
104
|
-
if (columnValue === null || columnValue === undefined) {
|
|
105
|
-
columnValue = '';
|
|
106
|
-
}
|
|
107
|
-
switch (typeof (columnValue)) {
|
|
108
|
-
case 'number':
|
|
109
|
-
columnValue = columnValue.toLocaleString();
|
|
110
|
-
break;
|
|
111
|
-
case 'boolean':
|
|
112
|
-
columnValue = (dwldDataParam.literals[`${columnValue}`]) ?
|
|
113
|
-
dwldDataParam.literals[`${columnValue}`] : columnValue;
|
|
114
|
-
break;
|
|
115
|
-
case 'object':
|
|
116
|
-
columnValue = JSON.stringify(columnValue);
|
|
117
|
-
}
|
|
118
|
-
accLineStr += columnValue;
|
|
119
|
-
first = false;
|
|
120
|
-
});
|
|
121
|
-
return accLineStr + lineDelimiter;
|
|
122
|
-
}, columnHeader + lineDelimiter);
|
|
123
|
-
return lineStr;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
export class DownloadDataParams {
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3V0aWxzL2ZpbGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sUUFBUTtJQUVqQixnQkFDSSxDQUFDO0lBRUwsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFTLEVBQUUsUUFBZ0IsRUFBRSxXQUFvQixFQUFFLE1BQWdCO1FBQ25GLE1BQU0sR0FBRyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQWdCLEVBQUUsZ0JBQXFDLElBQUk7UUFDM0UsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV0QixJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsYUFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztTQUFFO1FBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQUUsYUFBYSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7U0FBRTtRQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUFFLGFBQWEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1NBQUU7UUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7WUFBRSxhQUFhLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztTQUFFO1FB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Z0JBQ0QsVUFBVSxJQUFJLFdBQVcsQ0FBQztnQkFFMUIsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUV0QyxDQUFDLEVBQUUsWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRWpDLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7Q0FDSjtBQVVELE1BQU0sT0FBTyxrQkFBa0I7Q0FNOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRmlsZVV0aWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBzdGF0aWMgZG93bmxvYWRGaWxlKGRhdGE6IGFueSwgZmlsZU5hbWU6IHN0cmluZywgY29udGVudFR5cGU/OiBzdHJpbmcsIGJhc2U2ND86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBiYXNlNjQgPSAoYmFzZTY0ID09PSBmYWxzZSkgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgY29uc3QgZGF0YUJsb2IgPSBiYXNlNjQgPyB0aGlzLmI2NHRvQmxvYihkYXRhLCBjb250ZW50VHlwZSkgOiBkYXRhO1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWQoZGF0YUJsb2IsIGZpbGVOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZG93bmxvYWREYXRhKGRhdGE6IEFycmF5PGFueT4sIGR3bGREYXRhUGFyYW06IElEb3dubG9hZERhdGFQYXJhbXMgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFkYXRhKSB7IHJldHVybjsgfVxyXG5cclxuICAgICAgICBpZiAoIWR3bGREYXRhUGFyYW0pIHsgZHdsZERhdGFQYXJhbSA9IG5ldyBEb3dubG9hZERhdGFQYXJhbXMoKTsgfVxyXG4gICAgICAgIGlmICghZHdsZERhdGFQYXJhbS5maWxlTmFtZSkgeyBkd2xkRGF0YVBhcmFtLmZpbGVOYW1lID0gJ2RhdGEuY3N2JzsgfVxyXG4gICAgICAgIGlmICghZHdsZERhdGFQYXJhbS5saXRlcmFscykgeyBkd2xkRGF0YVBhcmFtLmxpdGVyYWxzID0ge307IH1cclxuICAgICAgICBpZiAoIWR3bGREYXRhUGFyYW0uY29sdW1uRGVsaW1pdGVyKSB7IGR3bGREYXRhUGFyYW0uY29sdW1uRGVsaW1pdGVyID0gJzsnOyB9XHJcbiAgICAgICAgaWYgKCFkd2xkRGF0YVBhcmFtLmNvbHVtbkxpc3QpIHsgZHdsZERhdGFQYXJhbS5jb2x1bW5MaXN0ID0gW107IH1cclxuICAgICAgICBpZiAoIWR3bGREYXRhUGFyYW0uY29sdW1uRXhjbHVkZSkgeyBkd2xkRGF0YVBhcmFtLmNvbHVtbkV4Y2x1ZGUgPSBbXTsgfVxyXG5cclxuICAgICAgICBjb25zdCBkYXRhYjY0ID0gYnRvYSh0aGlzLmpzb25Ub1N0cmluZyhkYXRhLCBkd2xkRGF0YVBhcmFtKSk7XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZEZpbGUoZGF0YWI2NCwgZHdsZERhdGFQYXJhbS5maWxlTmFtZSwgJ3RleHQvY3N2Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZG93bmxvYWQoZmlsZTogQmxvYiwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGJpbmFyeURhdGEgPSBbZmlsZV07XHJcbiAgICAgICAgY29uc3QgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICAgIGNvbnN0IHVybERvd25sb2FkID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoYmluYXJ5RGF0YSwgeyB0eXBlOiBmaWxlLnR5cGUgfSkpO1xyXG5cclxuICAgICAgICAvKipWZXJpZmljYSBzZSDDqSBpZSBvdSBlZGdlLCBwb2lzIG8gbWVzbW8gdGVtIHRyYXRhbWVudG8gcHLDs3ByaW8gcGFyYSBhcnF1aXZvcyBibG9iICovXHJcbiAgICAgICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQudG9VcHBlckNhc2UoKS5pbmRleE9mKCcuTkVUJykgPiAwIHx8IG5hdmlnYXRvci51c2VyQWdlbnQudG9VcHBlckNhc2UoKS5pbmRleE9mKCdFREdFJykgPiAwKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYihmaWxlLCBmaWxlTmFtZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSB1cmxEb3dubG9hZDtcclxuICAgICAgICAgICAgZG93bmxvYWRMaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSk7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybERvd25sb2FkKTtcclxuICAgICAgICAgICAgZG93bmxvYWRMaW5rLnJlbW92ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBiNjR0b0Jsb2IoYjY0RGF0YTogYW55LCBjb250ZW50VHlwZT86IHN0cmluZywgc2xpY2VTaXplPzogbnVtYmVyKTogQmxvYiB7XHJcbiAgICAgICAgY29udGVudFR5cGUgPSBjb250ZW50VHlwZSB8fCAnJztcclxuICAgICAgICBzbGljZVNpemUgPSBzbGljZVNpemUgfHwgNTEyO1xyXG5cclxuICAgICAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYjY0RGF0YSk7XHJcbiAgICAgICAgY29uc3QgYnl0ZUFycmF5cyA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IG9mZnNldCArPSBzbGljZVNpemUpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2xpY2UgPSBieXRlQ2hhcmFjdGVycy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBieXRlTnVtYmVyc1tpXSA9IHNsaWNlLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuICAgICAgICAgICAgYnl0ZUFycmF5cy5wdXNoKGJ5dGVBcnJheSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoYnl0ZUFycmF5cywgeyB0eXBlOiBjb250ZW50VHlwZSB9KTtcclxuICAgICAgICByZXR1cm4gYmxvYjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBqc29uVG9TdHJpbmcoanNvbkRhdGE6IEFycmF5PGFueT4sIGR3bGREYXRhUGFyYW06IElEb3dubG9hZERhdGFQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghanNvbkRhdGEgfHwganNvbkRhdGEubGVuZ3RoID09PSAwKSB7IHJldHVybiAnJzsgfVxyXG5cclxuICAgICAgICBjb25zdCBsaW5lRGVsaW1pdGVyID0gJ1xcbic7XHJcblxyXG4gICAgICAgIGxldCBjb2x1bW5PcmlnID0gbnVsbDtcclxuICAgICAgICBsZXQgY29sdW1uSGVhZGVyID0gbnVsbDtcclxuICAgICAgICBjb25zdCBrZXlzID0gW107XHJcbiAgICAgICAgbGV0IGluY2x1ZGVLZXk6IGJvb2xlYW47XHJcblxyXG4gICAgICAgIGlmIChkd2xkRGF0YVBhcmFtLmNvbHVtbkxpc3QgJiZcclxuICAgICAgICAgICAgZHdsZERhdGFQYXJhbS5jb2x1bW5MaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29sdW1uT3JpZyA9IGR3bGREYXRhUGFyYW0uY29sdW1uTGlzdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb2x1bW5PcmlnID0gT2JqZWN0LmtleXMoanNvbkRhdGFbMF0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29sdW1uT3JpZy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgIGluY2x1ZGVLZXkgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKGR3bGREYXRhUGFyYW0uY29sdW1uRXhjbHVkZSAmJlxyXG4gICAgICAgICAgICAgICAgZHdsZERhdGFQYXJhbS5jb2x1bW5FeGNsdWRlLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgICAgICAgIGR3bGREYXRhUGFyYW0uY29sdW1uRXhjbHVkZS5pbmRleE9mKGtleSkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBpbmNsdWRlS2V5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpbmNsdWRlS2V5KSB7XHJcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcclxuICAgICAgICAgICAgICAgIGNvbHVtbkhlYWRlciA9ICghY29sdW1uSGVhZGVyKSA/ICcnIDogY29sdW1uSGVhZGVyICsgZHdsZERhdGFQYXJhbS5jb2x1bW5EZWxpbWl0ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW5IZWFkZXIgKz0gKGR3bGREYXRhUGFyYW0ubGl0ZXJhbHNba2V5XSkgPyBkd2xkRGF0YVBhcmFtLmxpdGVyYWxzW2tleV0gOiBrZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgbGluZVN0ciA9IGpzb25EYXRhLnJlZHVjZSgoYWNjTGluZVN0ciwgY3VycmVudEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGZpcnN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgbGV0IGNvbHVtblZhbHVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFmaXJzdCkgeyBhY2NMaW5lU3RyICs9IGR3bGREYXRhUGFyYW0uY29sdW1uRGVsaW1pdGVyOyB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29sdW1uVmFsdWUgPSBjdXJyZW50SXRlbVtrZXldO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtblZhbHVlID09PSBudWxsIHx8IGNvbHVtblZhbHVlID09PSB1bmRlZmluZWQpIHsgY29sdW1uVmFsdWUgPSAnJzsgfVxyXG4gICAgICAgICAgICAgICAgc3dpdGNoICh0eXBlb2YgKGNvbHVtblZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblZhbHVlID0gY29sdW1uVmFsdWUudG9Mb2NhbGVTdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblZhbHVlID0gKGR3bGREYXRhUGFyYW0ubGl0ZXJhbHNbYCR7Y29sdW1uVmFsdWV9YF0pID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR3bGREYXRhUGFyYW0ubGl0ZXJhbHNbYCR7Y29sdW1uVmFsdWV9YF0gOiBjb2x1bW5WYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb2JqZWN0JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uVmFsdWUgPSBKU09OLnN0cmluZ2lmeShjb2x1bW5WYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhY2NMaW5lU3RyICs9IGNvbHVtblZhbHVlO1xyXG5cclxuICAgICAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGFjY0xpbmVTdHIgKyBsaW5lRGVsaW1pdGVyO1xyXG5cclxuICAgICAgICB9LCBjb2x1bW5IZWFkZXIgKyBsaW5lRGVsaW1pdGVyKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGxpbmVTdHI7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURvd25sb2FkRGF0YVBhcmFtcyB7XHJcbiAgICBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgbGl0ZXJhbHM6IGFueTtcclxuICAgIGNvbHVtbkRlbGltaXRlcjogc3RyaW5nO1xyXG4gICAgY29sdW1uTGlzdDogQXJyYXk8c3RyaW5nPjtcclxuICAgIGNvbHVtbkV4Y2x1ZGU6IEFycmF5PHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEb3dubG9hZERhdGFQYXJhbXMgaW1wbGVtZW50cyBJRG93bmxvYWREYXRhUGFyYW1zIHtcclxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICBsaXRlcmFsczogYW55O1xyXG4gICAgY29sdW1uRGVsaW1pdGVyOiBzdHJpbmc7XHJcbiAgICBjb2x1bW5MaXN0OiBBcnJheTxzdHJpbmc+O1xyXG4gICAgY29sdW1uRXhjbHVkZTogQXJyYXk8c3RyaW5nPjtcclxufVxyXG4iXX0=
|