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
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { ExecutionStatus } from './totvs-schedule-execution.model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class TotvsScheduleExecutionService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.headers = { headers: { 'X-PO-Screen-Lock': 'true' } };
|
|
11
|
+
this.urlCadServidor = '/dts/datasul-rest/resources/prg/btb/v1/servidoresExecucao';
|
|
12
|
+
this.urlJobScheduler = '/dts/datasul-rest/resources/prg/framework/v1/jobScheduler';
|
|
13
|
+
this.urlJobExecution = '/dts/datasul-rest/resources/prg/framework/v1/jobExecution';
|
|
14
|
+
}
|
|
15
|
+
getFilteredItems(params) {
|
|
16
|
+
const urlParams = new Array();
|
|
17
|
+
urlParams.push(`pageSize=${params.pageSize.toString()}`);
|
|
18
|
+
urlParams.push(`page=${params.page.toString()}`);
|
|
19
|
+
if (params.filter && params.filter.length > 0) {
|
|
20
|
+
urlParams.push(`quickSearch=${params.filter}`);
|
|
21
|
+
}
|
|
22
|
+
return this.http.get(`${this.urlCadServidor}?${urlParams.join('&')}`);
|
|
23
|
+
}
|
|
24
|
+
getObjectByValue(id) {
|
|
25
|
+
return this.http.get(`${this.urlCadServidor}/${id}`, this.headers);
|
|
26
|
+
}
|
|
27
|
+
createExecution(parameters, loading) {
|
|
28
|
+
const params = JSON.parse(JSON.stringify(parameters).replace(/\\\\/g, '*|'));
|
|
29
|
+
if (loading) {
|
|
30
|
+
return this.http.post(`${this.urlJobScheduler}`, params, this.headers);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return this.http.post(`${this.urlJobScheduler}`, params);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
createExecutionForNow(executionParams, loading) {
|
|
37
|
+
let jobScheduleParams;
|
|
38
|
+
const date = new Date();
|
|
39
|
+
const params = JSON.parse(JSON.stringify(executionParams).replace(/\\\\/g, '*|'));
|
|
40
|
+
if (!params.businessParams || params.businessParams.length === 0) {
|
|
41
|
+
params.businessParams = [{ chave: '', valor: '' }];
|
|
42
|
+
}
|
|
43
|
+
jobScheduleParams = {};
|
|
44
|
+
jobScheduleParams.status = 'active';
|
|
45
|
+
jobScheduleParams.processID = params.programName;
|
|
46
|
+
jobScheduleParams.firstExecution = `${date.getFullYear()}-${(date.getMonth() + 1)}-${date.getDate()}T${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}:00.000Z`;
|
|
47
|
+
jobScheduleParams.recurrent = false;
|
|
48
|
+
jobScheduleParams.executionParameter = {
|
|
49
|
+
parametros: [
|
|
50
|
+
{ chave: 'rpwServer', valor: params.executionServer },
|
|
51
|
+
{ chave: 'RPW_PROGRAM', valor: params.externalName },
|
|
52
|
+
{ chave: 'RPW_PRG_EMS5', valor: params.programEMS5 ? 'yes' : 'no' },
|
|
53
|
+
{ chave: 'RPW_PRG_VERS', valor: params.programVersion },
|
|
54
|
+
{ parametros_negocio: params.businessParams }
|
|
55
|
+
]
|
|
56
|
+
};
|
|
57
|
+
if (loading) {
|
|
58
|
+
return this.http.post(`${this.urlJobScheduler}`, jobScheduleParams, this.headers);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return this.http.post(`${this.urlJobScheduler}`, jobScheduleParams);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
getExecutionByJobScheduleID(jobScheduleID, loading = false) {
|
|
65
|
+
const url = `${this.urlJobExecution}?jobScheduleID=${jobScheduleID}`;
|
|
66
|
+
return this.getExecution(url, loading).pipe(map((response) => this.transformExecution('jobScheduleID', response)));
|
|
67
|
+
}
|
|
68
|
+
getExecutionByExecutionID(executionID, loading = false) {
|
|
69
|
+
const url = `${this.urlJobExecution}/${executionID}`;
|
|
70
|
+
return this.getExecution(url, loading).pipe(map((response) => this.transformExecution('executionID', response)));
|
|
71
|
+
}
|
|
72
|
+
getExecution(url, loading) {
|
|
73
|
+
if (loading) {
|
|
74
|
+
return this.http.get(url, this.headers);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return this.http.get(url);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
transformExecution(type, response) {
|
|
81
|
+
if (!response || !response.items || response.items.length === 0) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
response = response.items[0];
|
|
85
|
+
const execStatus = new ExecutionStatus();
|
|
86
|
+
execStatus.jobScheduleID = response.jobScheduleID;
|
|
87
|
+
execStatus.executionID = response.executionID;
|
|
88
|
+
execStatus.startedDate = response.startedDate;
|
|
89
|
+
execStatus.error = response.error;
|
|
90
|
+
execStatus.status = response.status;
|
|
91
|
+
return execStatus;
|
|
92
|
+
}
|
|
93
|
+
followUpExcByJobScheduleID(jobScheduleID, intervalNum, fncCallBack, loading = false) {
|
|
94
|
+
this.followUpExecution('jobScheduleID', jobScheduleID, intervalNum, fncCallBack, loading);
|
|
95
|
+
}
|
|
96
|
+
followUpExcByExecutionID(executionID, intervalNum, fncCallBack, loading = false) {
|
|
97
|
+
this.followUpExecution('executionID', executionID, intervalNum, fncCallBack, loading);
|
|
98
|
+
}
|
|
99
|
+
followUpExecution(type, execID, intervalNum, fncCallBack, loading) {
|
|
100
|
+
this.jobExecutionSubscription$ = null;
|
|
101
|
+
const intervalID = setInterval(() => {
|
|
102
|
+
const execStatus = new ExecutionStatus();
|
|
103
|
+
execStatus.jobScheduleID = (type === 'jobScheduleID') ? execID : '';
|
|
104
|
+
execStatus.executionID = (type === 'executionID') ? execID : '';
|
|
105
|
+
execStatus.startedDate = null;
|
|
106
|
+
execStatus.error = '';
|
|
107
|
+
execStatus.status = 'PENDING'; // PENDING, RUNNING, SUCCESS, FAILURE
|
|
108
|
+
if (this.jobExecutionSubscription$) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (type === 'jobScheduleID') {
|
|
112
|
+
this.jobExecutionSubscription$ = this.getExecutionByJobScheduleID(execID, loading)
|
|
113
|
+
.subscribe((response) => {
|
|
114
|
+
this.followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack);
|
|
115
|
+
}, (error) => {
|
|
116
|
+
this.followUpExecReturnError(error, execStatus, intervalID, fncCallBack);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
if (type === 'executionID') {
|
|
120
|
+
this.jobExecutionSubscription$ = this.getExecutionByExecutionID(execID, loading)
|
|
121
|
+
.subscribe((response) => {
|
|
122
|
+
this.followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack);
|
|
123
|
+
}, (error) => {
|
|
124
|
+
this.followUpExecReturnError(error, execStatus, intervalID, fncCallBack);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}, intervalNum);
|
|
128
|
+
}
|
|
129
|
+
followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack) {
|
|
130
|
+
if (response) {
|
|
131
|
+
execStatus = response;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
execStatus.error = `Agendamento não encontrado com ID: ${execID}`;
|
|
135
|
+
execStatus.status = 'FAILURE';
|
|
136
|
+
}
|
|
137
|
+
if (!fncCallBack(execStatus) ||
|
|
138
|
+
execStatus.status === 'SUCCESS' ||
|
|
139
|
+
execStatus.status === 'FAILURE') {
|
|
140
|
+
clearInterval(intervalID);
|
|
141
|
+
}
|
|
142
|
+
this.jobExecutionSubscription$ = null;
|
|
143
|
+
}
|
|
144
|
+
followUpExecReturnError(error, execStatus, intervalID, fncCallBack) {
|
|
145
|
+
let erroDesc = '';
|
|
146
|
+
if (error instanceof HttpErrorResponse) {
|
|
147
|
+
erroDesc = error.message;
|
|
148
|
+
if (error.error) {
|
|
149
|
+
erroDesc = '';
|
|
150
|
+
if (error.error.code) {
|
|
151
|
+
erroDesc = error.error.code;
|
|
152
|
+
}
|
|
153
|
+
if (error.error.message) {
|
|
154
|
+
erroDesc = `${erroDesc} - ${error.error.message}`;
|
|
155
|
+
}
|
|
156
|
+
if (error.error.detailedMessage) {
|
|
157
|
+
erroDesc = `${erroDesc} - ${error.error.detailedMessage}`;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
erroDesc = error;
|
|
163
|
+
}
|
|
164
|
+
execStatus.error = erroDesc;
|
|
165
|
+
execStatus.status = 'FAILURE';
|
|
166
|
+
fncCallBack(execStatus);
|
|
167
|
+
clearInterval(intervalID);
|
|
168
|
+
this.jobExecutionSubscription$ = null;
|
|
169
|
+
}
|
|
170
|
+
addZero(num) {
|
|
171
|
+
let str = `${num}`;
|
|
172
|
+
if (num < 10) {
|
|
173
|
+
str = `0${num}`;
|
|
174
|
+
}
|
|
175
|
+
return str;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/** @nocollapse */ TotvsScheduleExecutionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TotvsScheduleExecutionService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
179
|
+
/** @nocollapse */ TotvsScheduleExecutionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TotvsScheduleExecutionService });
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TotvsScheduleExecutionService, decorators: [{
|
|
181
|
+
type: Injectable
|
|
182
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvY29tcG9uZW50cy90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBMEMsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRzNHLE1BQU0sT0FBTyw2QkFBNkI7SUFhdEMsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVgzQixZQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRXRELG1CQUFjLEdBQUcsMkRBQTJELENBQUM7UUFDN0Usb0JBQWUsR0FBRywyREFBMkQsQ0FBQztRQUM5RSxvQkFBZSxHQUFHLDJEQUEyRCxDQUFDO0lBTy9DLENBQUM7SUFFeEMsZ0JBQWdCLENBQUMsTUFBbUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUV0QyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENB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RyxFQUFFLENBQUM7U0FBRTtRQUNsQyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7OzhJQXpNUSw2QkFBNkI7a0pBQTdCLDZCQUE2Qjs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUG9Mb29rdXBGaWx0ZXJlZEl0ZW1zUGFyYW1zIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBFeGVjdXRpb25TdGF0dXMsIElFeGVjdXRpb25QYXJhbWV0ZXJzLCBJRXhlY3V0aW9uU3RhdHVzIH0gZnJvbSAnLi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24ubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgaGVhZGVycyA9IHsgaGVhZGVyczogeyAnWC1QTy1TY3JlZW4tTG9jayc6ICd0cnVlJyB9IH07XHJcblxyXG4gICAgcHJpdmF0ZSB1cmxDYWRTZXJ2aWRvciA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvcHJnL2J0Yi92MS9zZXJ2aWRvcmVzRXhlY3VjYW8nO1xyXG4gICAgcHJpdmF0ZSB1cmxKb2JTY2hlZHVsZXIgPSAnL2R0cy9kYXRhc3VsLXJlc3QvcmVzb3VyY2VzL3ByZy9mcmFtZXdvcmsvdjEvam9iU2NoZWR1bGVyJztcclxuICAgIHByaXZhdGUgdXJsSm9iRXhlY3V0aW9uID0gJy9kdHMvZGF0YXN1bC1yZXN0L3Jlc291cmNlcy9wcmcvZnJhbWV3b3JrL3YxL2pvYkV4ZWN1dGlvbic7XHJcblxyXG4gICAgLy8gcHJpdmF0ZSB1cmxDYWRTZXJ2aWRvciA9ICcvZ2VuZXJpY3Nab29tJztcclxuICAgIC8vIHByaXZhdGUgdXJsSm9iU2NoZWR1bGVyID0gJy9qb2JTY2hlZHVsZXInO1xyXG5cclxuICAgIHByaXZhdGUgam9iRXhlY3V0aW9uU3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgICBnZXRGaWx0ZXJlZEl0ZW1zKHBhcmFtczogUG9Mb29rdXBGaWx0ZXJlZEl0ZW1zUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG5cclxuICAgICAgICB1cmxQYXJhbXMucHVzaChgcGFnZVNpemU9JHtwYXJhbXMucGFnZVNpemUudG9TdHJpbmcoKX1gKTtcclxuICAgICAgICB1cmxQYXJhbXMucHVzaChgcGFnZT0ke3BhcmFtcy5wYWdlLnRvU3RyaW5nKCl9YCk7XHJcblxyXG4gICAgICAgIGlmIChwYXJhbXMuZmlsdGVyICYmIHBhcmFtcy5maWx0ZXIubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB1cmxQYXJhbXMucHVzaChgcXVpY2tTZWFyY2g9JHtwYXJhbXMuZmlsdGVyfWApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51cmxDYWRTZXJ2aWRvcn0/JHt1cmxQYXJhbXMuam9pbignJicpfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE9iamVjdEJ5VmFsdWUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLnVybENhZFNlcnZpZG9yfS8ke2lkfWAsIHRoaXMuaGVhZGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRXhlY3V0aW9uKHBhcmFtZXRlcnM6IE9iamVjdCwgbG9hZGluZzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnKnwnKSk7XHJcblxyXG4gICAgICAgIGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVybEpvYlNjaGVkdWxlcn1gLCBwYXJhbXMsIHRoaXMuaGVhZGVycyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudXJsSm9iU2NoZWR1bGVyfWAsIHBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUV4ZWN1dGlvbkZvck5vdyhleGVjdXRpb25QYXJhbXM6IElFeGVjdXRpb25QYXJhbWV0ZXJzLCBsb2FkaW5nOiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBsZXQgam9iU2NoZWR1bGVQYXJhbXM6IGFueTtcclxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShleGVjdXRpb25QYXJhbXMpLnJlcGxhY2UoL1xcXFxcXFxcL2csICcqfCcpKTtcclxuICAgICAgICBpZiAoIXBhcmFtcy5idXNpbmVzc1BhcmFtcyB8fCBwYXJhbXMuYnVzaW5lc3NQYXJhbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcy5idXNpbmVzc1BhcmFtcyA9IFt7IGNoYXZlOiAnJywgdmFsb3I6ICcnIH1dO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMgPSB7fTtcclxuICAgICAgICBqb2JTY2hlZHVsZVBhcmFtcy5zdGF0dXMgPSAnYWN0aXZlJztcclxuICAgICAgICBqb2JTY2hlZHVsZVBhcmFtcy5wcm9jZXNzSUQgPSBwYXJhbXMucHJvZ3JhbU5hbWU7XHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMuZmlyc3RFeGVjdXRpb24gPSBgJHtkYXRlLmdldEZ1bGxZZWFyKCl9LSR7KGRhdGUuZ2V0TW9udGgoKSArIDEpfS0ke2RhdGUuZ2V0RGF0ZSgpfVQke3RoaXMuYWRkWmVybyhkYXRlLmdldEhvdXJzKCkpfToke3RoaXMuYWRkWmVybyhkYXRlLmdldE1pbnV0ZXMoKSl9OjAwLjAwMFpgO1xyXG4gICAgICAgIGpvYlNjaGVkdWxlUGFyYW1zLnJlY3VycmVudCA9IGZhbHNlO1xyXG5cclxuICAgICAgICBqb2JTY2hlZHVsZVBhcmFtcy5leGVjdXRpb25QYXJhbWV0ZXIgPSB7XHJcbiAgICAgICAgICAgIHBhcmFtZXRyb3M6IFtcclxuICAgICAgICAgICAgICAgIHsgY2hhdmU6ICdycHdTZXJ2ZXInLCB2YWxvcjogcGFyYW1zLmV4ZWN1dGlvblNlcnZlciB9LFxyXG4gICAgICAgICAgICAgICAgeyBjaGF2ZTogJ1JQV19QUk9HUkFNJywgdmFsb3I6IHBhcmFtcy5leHRlcm5hbE5hbWUgfSxcclxuICAgICAgICAgICAgICAgIHsgY2hhdmU6ICdSUFdfUFJHX0VNUzUnLCB2YWxvcjogcGFyYW1zLnByb2dyYW1FTVM1ID8gJ3llcycgOiAnbm8nIH0sXHJcbiAgICAgICAgICAgICAgICB7IGNoYXZlOiAnUlBXX1BSR19WRVJTJywgdmFsb3I6IHBhcmFtcy5wcm9ncmFtVmVyc2lvbiB9LFxyXG4gICAgICAgICAgICAgICAgeyBwYXJhbWV0cm9zX25lZ29jaW86IHBhcmFtcy5idXNpbmVzc1BhcmFtcyB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy51cmxKb2JTY2hlZHVsZXJ9YCwgam9iU2NoZWR1bGVQYXJhbXMsIHRoaXMuaGVhZGVycyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudXJsSm9iU2NoZWR1bGVyfWAsIGpvYlNjaGVkdWxlUGFyYW1zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RXhlY3V0aW9uQnlKb2JTY2hlZHVsZUlEKGpvYlNjaGVkdWxlSUQ6IHN0cmluZywgbG9hZGluZyA9IGZhbHNlKTogT2JzZXJ2YWJsZTxJRXhlY3V0aW9uU3RhdHVzPiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy51cmxKb2JFeGVjdXRpb259P2pvYlNjaGVkdWxlSUQ9JHtqb2JTY2hlZHVsZUlEfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXhlY3V0aW9uKHVybCwgbG9hZGluZykucGlwZShcclxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gdGhpcy50cmFuc2Zvcm1FeGVjdXRpb24oJ2pvYlNjaGVkdWxlSUQnLCByZXNwb25zZSkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRFeGVjdXRpb25CeUV4ZWN1dGlvbklEKGV4ZWN1dGlvbklEOiBzdHJpbmcsIGxvYWRpbmcgPSBmYWxzZSk6IE9ic2VydmFibGU8SUV4ZWN1dGlvblN0YXR1cz4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMudXJsSm9iRXhlY3V0aW9ufS8ke2V4ZWN1dGlvbklEfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXhlY3V0aW9uKHVybCwgbG9hZGluZykucGlwZShcclxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gdGhpcy50cmFuc2Zvcm1FeGVjdXRpb24oJ2V4ZWN1dGlvbklEJywgcmVzcG9uc2UpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRFeGVjdXRpb24odXJsOiBzdHJpbmcsIGxvYWRpbmc6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgdGhpcy5oZWFkZXJzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRyYW5zZm9ybUV4ZWN1dGlvbih0eXBlOiBzdHJpbmcsIHJlc3BvbnNlOiBhbnkpOiBJRXhlY3V0aW9uU3RhdHVzIHtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS5pdGVtcyB8fCByZXNwb25zZS5pdGVtcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZS5pdGVtc1swXTtcclxuXHJcbiAgICAgICAgY29uc3QgZXhlY1N0YXR1cyA9IG5ldyBFeGVjdXRpb25TdGF0dXMoKTtcclxuICAgICAgICBleGVjU3RhdHVzLmpvYlNjaGVkdWxlSUQgPSByZXNwb25zZS5qb2JTY2hlZHVsZUlEO1xyXG4gICAgICAgIGV4ZWNTdGF0dXMuZXhlY3V0aW9uSUQgPSByZXNwb25zZS5leGVjdXRpb25JRDtcclxuICAgICAgICBleGVjU3RhdHVzLnN0YXJ0ZWREYXRlID0gcmVzcG9uc2Uuc3RhcnRlZERhdGU7XHJcbiAgICAgICAgZXhlY1N0YXR1cy5lcnJvciA9IHJlc3BvbnNlLmVycm9yO1xyXG4gICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzO1xyXG5cclxuICAgICAgICByZXR1cm4gZXhlY1N0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICBmb2xsb3dVcEV4Y0J5Sm9iU2NoZWR1bGVJRChqb2JTY2hlZHVsZUlEOiBzdHJpbmcsIGludGVydmFsTnVtOiBudW1iZXIsIGZuY0NhbGxCYWNrOiBGdW5jdGlvbiwgbG9hZGluZyA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb2xsb3dVcEV4ZWN1dGlvbignam9iU2NoZWR1bGVJRCcsIGpvYlNjaGVkdWxlSUQsIGludGVydmFsTnVtLCBmbmNDYWxsQmFjaywgbG9hZGluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9sbG93VXBFeGNCeUV4ZWN1dGlvbklEKGV4ZWN1dGlvbklEOiBzdHJpbmcsIGludGVydmFsTnVtOiBudW1iZXIsIGZuY0NhbGxCYWNrOiBGdW5jdGlvbiwgbG9hZGluZyA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb2xsb3dVcEV4ZWN1dGlvbignZXhlY3V0aW9uSUQnLCBleGVjdXRpb25JRCwgaW50ZXJ2YWxOdW0sIGZuY0NhbGxCYWNrLCBsb2FkaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZvbGxvd1VwRXhlY3V0aW9uKHR5cGU6IHN0cmluZywgZXhlY0lEOiBzdHJpbmcsXHJcbiAgICAgICAgaW50ZXJ2YWxOdW06IG51bWJlciwgZm5jQ2FsbEJhY2s6IEZ1bmN0aW9uLCBsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XHJcblxyXG4gICAgICAgIHRoaXMuam9iRXhlY3V0aW9uU3Vic2NyaXB0aW9uJCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IGludGVydmFsSUQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4ZWNTdGF0dXMgPSBuZXcgRXhlY3V0aW9uU3RhdHVzKCk7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuam9iU2NoZWR1bGVJRCA9ICh0eXBlID09PSAnam9iU2NoZWR1bGVJRCcpID8gZXhlY0lEIDogJyc7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuZXhlY3V0aW9uSUQgPSAodHlwZSA9PT0gJ2V4ZWN1dGlvbklEJykgPyBleGVjSUQgOiAnJztcclxuICAgICAgICAgICAgZXhlY1N0YXR1cy5zdGFydGVkRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuZXJyb3IgPSAnJztcclxuICAgICAgICAgICAgZXhlY1N0YXR1cy5zdGF0dXMgPSAnUEVORElORyc7IC8vIFBFTkRJTkcsIFJVTk5JTkcsIFNVQ0NFU1MsIEZBSUxVUkVcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2pvYlNjaGVkdWxlSUQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSB0aGlzLmdldEV4ZWN1dGlvbkJ5Sm9iU2NoZWR1bGVJRChleGVjSUQsIGxvYWRpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IElFeGVjdXRpb25TdGF0dXMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xsb3dVcEV4ZWNSZXR1cm5PayhleGVjSUQsIGV4ZWNTdGF0dXMsIHJlc3BvbnNlLCBpbnRlcnZhbElELCBmbmNDYWxsQmFjayk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sbG93VXBFeGVjUmV0dXJuRXJyb3IoZXJyb3IsIGV4ZWNTdGF0dXMsIGludGVydmFsSUQsIGZuY0NhbGxCYWNrKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdleGVjdXRpb25JRCcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuam9iRXhlY3V0aW9uU3Vic2NyaXB0aW9uJCA9IHRoaXMuZ2V0RXhlY3V0aW9uQnlFeGVjdXRpb25JRChleGVjSUQsIGxvYWRpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IElFeGVjdXRpb25TdGF0dXMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xsb3dVcEV4ZWNSZXR1cm5PayhleGVjSUQsIGV4ZWNTdGF0dXMsIHJlc3BvbnNlLCBpbnRlcnZhbElELCBmbmNDYWxsQmFjayk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sbG93VXBFeGVjUmV0dXJuRXJyb3IoZXJyb3IsIGV4ZWNTdGF0dXMsIGludGVydmFsSUQsIGZuY0NhbGxCYWNrKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LCBpbnRlcnZhbE51bSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb2xsb3dVcEV4ZWNSZXR1cm5PayhleGVjSUQ6IHN0cmluZywgZXhlY1N0YXR1czogSUV4ZWN1dGlvblN0YXR1cywgcmVzcG9uc2U6IElFeGVjdXRpb25TdGF0dXMsXHJcbiAgICAgICAgaW50ZXJ2YWxJRDogYW55LCBmbmNDYWxsQmFjazogRnVuY3Rpb24pOiB2b2lkIHtcclxuXHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMgPSByZXNwb25zZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmVycm9yID0gYEFnZW5kYW1lbnRvIG7Do28gZW5jb250cmFkbyBjb20gSUQ6ICR7ZXhlY0lEfWA7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID0gJ0ZBSUxVUkUnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFmbmNDYWxsQmFjayhleGVjU3RhdHVzKSB8fFxyXG4gICAgICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9PT0gJ1NVQ0NFU1MnIHx8XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID09PSAnRkFJTFVSRScpIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuam9iRXhlY3V0aW9uU3Vic2NyaXB0aW9uJCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb2xsb3dVcEV4ZWNSZXR1cm5FcnJvcihlcnJvcjogYW55LCBleGVjU3RhdHVzOiBJRXhlY3V0aW9uU3RhdHVzLFxyXG4gICAgICAgIGludGVydmFsSUQ6IGFueSwgZm5jQ2FsbEJhY2s6IEZ1bmN0aW9uKTogdm9pZCB7XHJcblxyXG4gICAgICAgIGxldCBlcnJvRGVzYyA9ICcnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgICAgICBlcnJvRGVzYyA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIGlmIChlcnJvci5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgZXJyb0Rlc2MgPSAnJztcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvci5jb2RlKSB7IGVycm9EZXNjID0gZXJyb3IuZXJyb3IuY29kZTsgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yLmVycm9yLm1lc3NhZ2UpIHsgZXJyb0Rlc2MgPSBgJHtlcnJvRGVzY30gLSAke2Vycm9yLmVycm9yLm1lc3NhZ2V9YDsgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yLmVycm9yLmRldGFpbGVkTWVzc2FnZSkgeyBlcnJvRGVzYyA9IGAke2Vycm9EZXNjfSAtICR7ZXJyb3IuZXJyb3IuZGV0YWlsZWRNZXNzYWdlfWA7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVycm9EZXNjID0gZXJyb3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBleGVjU3RhdHVzLmVycm9yID0gZXJyb0Rlc2M7XHJcbiAgICAgICAgZXhlY1N0YXR1cy5zdGF0dXMgPSAnRkFJTFVSRSc7XHJcbiAgICAgICAgZm5jQ2FsbEJhY2soZXhlY1N0YXR1cyk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTtcclxuICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkWmVybyhudW06IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHN0ciA9IGAke251bX1gO1xyXG4gICAgICAgIGlmIChudW0gPCAxMCkgeyBzdHIgPSBgMCR7bnVtfWA7IH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TotvsScheduleExecutionComponent } from './components/totvs-schedule-execution/totvs-schedule-execution.component';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { PoModule } from '@po-ui/ng-components';
|
|
5
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
6
|
+
// import { BrowserModule } from '@angular/platform-browser';
|
|
7
|
+
import { TotvsScheduleExecutionService } from './components/totvs-schedule-execution/totvs-schedule-execution.service';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
import { DtsDateFormatPipe } from './pipes/dts-date-format.pipe';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class DtsBackofficeUtilsModule {
|
|
12
|
+
static forRoot() {
|
|
13
|
+
return {
|
|
14
|
+
ngModule: DtsBackofficeUtilsModule,
|
|
15
|
+
providers: [TotvsScheduleExecutionService]
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** @nocollapse */ DtsBackofficeUtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsBackofficeUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
/** @nocollapse */ DtsBackofficeUtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsBackofficeUtilsModule, declarations: [TotvsScheduleExecutionComponent,
|
|
21
|
+
DtsDateFormatPipe], imports: [CommonModule,
|
|
22
|
+
PoModule,
|
|
23
|
+
FormsModule,
|
|
24
|
+
HttpClientModule], exports: [TotvsScheduleExecutionComponent,
|
|
25
|
+
DtsDateFormatPipe] });
|
|
26
|
+
/** @nocollapse */ DtsBackofficeUtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsBackofficeUtilsModule, providers: [
|
|
27
|
+
TotvsScheduleExecutionService
|
|
28
|
+
], imports: [[
|
|
29
|
+
CommonModule,
|
|
30
|
+
PoModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
HttpClientModule
|
|
33
|
+
]] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsBackofficeUtilsModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
declarations: [
|
|
38
|
+
TotvsScheduleExecutionComponent,
|
|
39
|
+
DtsDateFormatPipe
|
|
40
|
+
],
|
|
41
|
+
imports: [
|
|
42
|
+
CommonModule,
|
|
43
|
+
PoModule,
|
|
44
|
+
FormsModule,
|
|
45
|
+
HttpClientModule
|
|
46
|
+
],
|
|
47
|
+
exports: [
|
|
48
|
+
TotvsScheduleExecutionComponent,
|
|
49
|
+
DtsDateFormatPipe
|
|
50
|
+
],
|
|
51
|
+
providers: [
|
|
52
|
+
TotvsScheduleExecutionService
|
|
53
|
+
]
|
|
54
|
+
}]
|
|
55
|
+
}] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRzLWJhY2tvZmZpY2UtdXRpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvZHRzLWJhY2tvZmZpY2UtdXRpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN2SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBc0JqRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7O3lJQU5VLHdCQUF3QjswSUFBeEIsd0JBQXdCLGlCQWxCakMsK0JBQStCO1FBQy9CLGlCQUFpQixhQUdqQixZQUFZO1FBQ1osUUFBUTtRQUNSLFdBQVc7UUFDWCxnQkFBZ0IsYUFHaEIsK0JBQStCO1FBQy9CLGlCQUFpQjswSUFPUix3QkFBd0IsYUFMeEI7UUFDVCw2QkFBNkI7S0FDOUIsWUFaUTtZQUNQLFlBQVk7WUFDWixRQUFRO1lBQ1IsV0FBVztZQUNYLGdCQUFnQjtTQUNqQjs0RkFVVSx3QkFBd0I7a0JBcEJwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwrQkFBK0I7d0JBQy9CLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixXQUFXO3dCQUNYLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLCtCQUErQjt3QkFDL0IsaUJBQWlCO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgVG90dnNTY2hlZHVsZUV4ZWN1dGlvbkNvbXBvbmVudFxyXG59IGZyb20gJy4vY29tcG9uZW50cy90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQb01vZHVsZSwgUG9JMThuU2VydmljZSB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuLy8gaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uU2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50cy90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEdHNEYXRlRm9ybWF0UGlwZSB9IGZyb20gJy4vcGlwZXMvZHRzLWRhdGUtZm9ybWF0LnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRvdHZzU2NoZWR1bGVFeGVjdXRpb25Db21wb25lbnQsXHJcbiAgICBEdHNEYXRlRm9ybWF0UGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRvdHZzU2NoZWR1bGVFeGVjdXRpb25Db21wb25lbnQsXHJcbiAgICBEdHNEYXRlRm9ybWF0UGlwZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uU2VydmljZVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEdHNCYWNrb2ZmaWNlVXRpbHNNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RHRzQmFja29mZmljZVV0aWxzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogRHRzQmFja29mZmljZVV0aWxzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtUb3R2c1NjaGVkdWxlRXhlY3V0aW9uU2VydmljZV1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
File without changes
|
|
File without changes
|
package/{esm2015/lib/model/session-info.model.js → esm2020/lib/model/session-info.model.mjs}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DtsDateFormatPipe {
|
|
4
|
+
transform(value, format = 'dd/MM/yyyy') {
|
|
5
|
+
const { 0: year, 1: month, 2: day } = value.split('-');
|
|
6
|
+
const formattedDate = format.replace('dd', day)
|
|
7
|
+
.replace('MM', month)
|
|
8
|
+
.replace('yyyy', year);
|
|
9
|
+
return formattedDate;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/** @nocollapse */ DtsDateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsDateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
/** @nocollapse */ DtsDateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsDateFormatPipe, name: "dtsDateFormat" });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DtsDateFormatPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
name: 'dtsDateFormat'
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRzLWRhdGUtZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvcGlwZXMvZHRzLWRhdGUtZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsU0FBUyxDQUFDLEtBQVUsRUFBRSxTQUFpQixZQUFZO1FBQ2pELE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2FBQ2xCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2FBQ3BCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbkQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzs7a0lBVlUsaUJBQWlCO2dJQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2R0c0RhdGVGb3JtYXQnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHRzRGF0ZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGZvcm1hdDogc3RyaW5nID0gJ2RkL01NL3l5eXknKTogYW55IHtcclxuICAgIGNvbnN0IHsgMDogeWVhciwgMTogbW9udGgsIDI6IGRheSB9ID0gdmFsdWUuc3BsaXQoJy0nKTtcclxuXHJcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0LnJlcGxhY2UoJ2RkJywgZGF5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCdNTScsIG1vbnRoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCd5eXl5JywgeWVhcik7XHJcblxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZERhdGU7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Versão: 1.003
|
|
3
|
+
Data Criação: 06/08/2018
|
|
4
|
+
*/
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class BreadcrumbControlService {
|
|
8
|
+
constructor() { }
|
|
9
|
+
newBreadcrumb() {
|
|
10
|
+
this.breadcrumb = { items: [] };
|
|
11
|
+
}
|
|
12
|
+
addBreadcrumb(literal, activatedRoute) {
|
|
13
|
+
this.addBreadcrumbURL(literal, decodeURIComponent(activatedRoute.snapshot['_routerState'].url));
|
|
14
|
+
}
|
|
15
|
+
addBreadcrumbURL(literal, url) {
|
|
16
|
+
if (!literal || literal === '') {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (!this.breadcrumb) {
|
|
20
|
+
this.newBreadcrumb();
|
|
21
|
+
}
|
|
22
|
+
const breadcrumbAux = { items: [] };
|
|
23
|
+
let idx = 0;
|
|
24
|
+
for (idx = 0; idx < this.breadcrumb.items.length; idx++) {
|
|
25
|
+
if (this.breadcrumb.items[idx].label !== literal) {
|
|
26
|
+
breadcrumbAux.items.push(this.breadcrumb.items[idx]);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
breadcrumbAux.items.push({ label: literal, link: url });
|
|
33
|
+
this.breadcrumb = breadcrumbAux;
|
|
34
|
+
}
|
|
35
|
+
updBreadcrumbURL(literal, valueOld, valueNew) {
|
|
36
|
+
let currentRouterURL = this.getCurrentRouter();
|
|
37
|
+
if (!currentRouterURL) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!valueOld) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!valueNew) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
currentRouterURL = currentRouterURL.replace(valueOld, valueNew);
|
|
47
|
+
this.addBreadcrumbURL(literal, currentRouterURL);
|
|
48
|
+
}
|
|
49
|
+
getBreadcrumb() {
|
|
50
|
+
if (!this.breadcrumb) {
|
|
51
|
+
this.newBreadcrumb();
|
|
52
|
+
}
|
|
53
|
+
return this.breadcrumb;
|
|
54
|
+
}
|
|
55
|
+
getCurrentRouter() {
|
|
56
|
+
if (!this.breadcrumb) {
|
|
57
|
+
this.newBreadcrumb();
|
|
58
|
+
}
|
|
59
|
+
if (this.breadcrumb.items.length <= 0) {
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
return this.breadcrumb.items[this.breadcrumb.items.length - 1].link;
|
|
63
|
+
}
|
|
64
|
+
getPrevRouter() {
|
|
65
|
+
if (!this.breadcrumb) {
|
|
66
|
+
this.newBreadcrumb();
|
|
67
|
+
}
|
|
68
|
+
if (this.breadcrumb.items.length <= 1) {
|
|
69
|
+
return '';
|
|
70
|
+
}
|
|
71
|
+
return this.breadcrumb.items[this.breadcrumb.items.length - 2].link;
|
|
72
|
+
}
|
|
73
|
+
hasPreviousRouter() {
|
|
74
|
+
return this.breadcrumb.items.length > 1;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/** @nocollapse */ BreadcrumbControlService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BreadcrumbControlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
/** @nocollapse */ BreadcrumbControlService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BreadcrumbControlService });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BreadcrumbControlService, decorators: [{
|
|
80
|
+
type: Injectable
|
|
81
|
+
}], ctorParameters: function () { return []; } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1jb250cm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvYnJlYWRjcnVtYi1jb250cm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztFQUdFO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQyxnQkFBZ0IsQ0FBQztJQUVWLGFBQWE7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQWUsRUFBRSxjQUE4QjtRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsT0FBZSxFQUFFLEdBQVc7UUFDaEQsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQUU7UUFFL0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFcEMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDckQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUM5QyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNILE1BQU07YUFDVDtTQUNKO1FBRUQsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsUUFBZ0IsRUFBRSxRQUFnQjtRQUN2RSxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFMUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FBRTtRQUMvQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUFFO1FBQy9DLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1NBQUU7UUFFckQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hFLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQUU7UUFDL0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUM7U0FBRTtRQUVyRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEUsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7eUlBakVRLHdCQUF3Qjs2SUFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5WZXJzw6NvOiAxLjAwM1xyXG5EYXRhIENyaWHDp8OjbzogMDYvMDgvMjAxOFxyXG4qL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb0JyZWFkY3J1bWIgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb250cm9sU2VydmljZSB7XHJcbiAgICBicmVhZGNydW1iOiBQb0JyZWFkY3J1bWI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgbmV3QnJlYWRjcnVtYigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB7IGl0ZW1zOiBbXSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRCcmVhZGNydW1iKGxpdGVyYWw6IHN0cmluZywgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGRCcmVhZGNydW1iVVJMKGxpdGVyYWwsIGRlY29kZVVSSUNvbXBvbmVudChhY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdFsnX3JvdXRlclN0YXRlJ10udXJsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEJyZWFkY3J1bWJVUkwobGl0ZXJhbDogc3RyaW5nLCB1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghbGl0ZXJhbCB8fCBsaXRlcmFsID09PSAnJykgeyByZXR1cm47IH1cclxuICAgICAgICBpZiAoIXRoaXMuYnJlYWRjcnVtYikgeyB0aGlzLm5ld0JyZWFkY3J1bWIoKTsgfVxyXG5cclxuICAgICAgICBjb25zdCBicmVhZGNydW1iQXV4ID0geyBpdGVtczogW10gfTtcclxuXHJcbiAgICAgICAgbGV0IGlkeCA9IDA7XHJcbiAgICAgICAgZm9yIChpZHggPSAwOyBpZHggPCB0aGlzLmJyZWFkY3J1bWIuaXRlbXMubGVuZ3RoOyBpZHgrKykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5icmVhZGNydW1iLml0ZW1zW2lkeF0ubGFiZWwgIT09IGxpdGVyYWwpIHtcclxuICAgICAgICAgICAgICAgIGJyZWFkY3J1bWJBdXguaXRlbXMucHVzaCh0aGlzLmJyZWFkY3J1bWIuaXRlbXNbaWR4XSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWRjcnVtYkF1eC5pdGVtcy5wdXNoKHsgbGFiZWw6IGxpdGVyYWwsIGxpbms6IHVybCB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1iID0gYnJlYWRjcnVtYkF1eDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkQnJlYWRjcnVtYlVSTChsaXRlcmFsOiBzdHJpbmcsIHZhbHVlT2xkOiBzdHJpbmcsIHZhbHVlTmV3OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBsZXQgY3VycmVudFJvdXRlclVSTCA9IHRoaXMuZ2V0Q3VycmVudFJvdXRlcigpO1xyXG5cclxuICAgICAgICBpZiAoIWN1cnJlbnRSb3V0ZXJVUkwpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgaWYgKCF2YWx1ZU9sZCkgeyByZXR1cm47IH1cclxuICAgICAgICBpZiAoIXZhbHVlTmV3KSB7IHJldHVybjsgfVxyXG5cclxuICAgICAgICBjdXJyZW50Um91dGVyVVJMID0gY3VycmVudFJvdXRlclVSTC5yZXBsYWNlKHZhbHVlT2xkLCB2YWx1ZU5ldyk7XHJcbiAgICAgICAgdGhpcy5hZGRCcmVhZGNydW1iVVJMKGxpdGVyYWwsIGN1cnJlbnRSb3V0ZXJVUkwpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRCcmVhZGNydW1iKCk6IFBvQnJlYWRjcnVtYiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJyZWFkY3J1bWIpIHsgdGhpcy5uZXdCcmVhZGNydW1iKCk7IH1cclxuICAgICAgICByZXR1cm4gdGhpcy5icmVhZGNydW1iO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50Um91dGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJyZWFkY3J1bWIpIHsgdGhpcy5uZXdCcmVhZGNydW1iKCk7IH1cclxuICAgICAgICBpZiAodGhpcy5icmVhZGNydW1iLml0ZW1zLmxlbmd0aCA8PSAwKSB7IHJldHVybiAnJzsgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5icmVhZGNydW1iLml0ZW1zW3RoaXMuYnJlYWRjcnVtYi5pdGVtcy5sZW5ndGggLSAxXS5saW5rO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRQcmV2Um91dGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJyZWFkY3J1bWIpIHsgdGhpcy5uZXdCcmVhZGNydW1iKCk7IH1cclxuICAgICAgICBpZiAodGhpcy5icmVhZGNydW1iLml0ZW1zLmxlbmd0aCA8PSAxKSB7IHJldHVybiAnJzsgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5icmVhZGNydW1iLml0ZW1zW3RoaXMuYnJlYWRjcnVtYi5pdGVtcy5sZW5ndGggLSAyXS5saW5rO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYXNQcmV2aW91c1JvdXRlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5icmVhZGNydW1iLml0ZW1zLmxlbmd0aCA+IDE7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
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.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CacheParamsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
/** @nocollapse */ CacheParamsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CacheParamsService, providedIn: 'root' });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CacheParamsService, decorators: [{
|
|
20
|
+
type: Injectable,
|
|
21
|
+
args: [{
|
|
22
|
+
providedIn: 'root'
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: function () { return []; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcGFyYW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvY2FjaGUtcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQjtRQUZBLFdBQU0sR0FBRyxFQUFFLENBQUM7SUFFSSxDQUFDO0lBRVYsUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxRQUFRLENBQUMsR0FBVztRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzttSUFoQlEsa0JBQWtCO3VJQUFsQixrQkFBa0IsY0FIZixNQUFNOzRGQUdULGtCQUFrQjtrQkFKOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBDYWNoZVBhcmFtc1NlcnZpY2Uge1xyXG5cclxuICAgIHZhbHVlcyA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgcHVibGljIHNldFZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZXNba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRWYWx1ZShrZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW2tleV07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZVZhbHVlKGtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMudmFsdWVzW2tleV07XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MenuDatasulService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
/**
|
|
6
|
+
* var program = {};
|
|
7
|
+
* program['prg'] = "cd0210";
|
|
8
|
+
* program['params'] = '01|123456'
|
|
9
|
+
*/
|
|
10
|
+
callProgress(program) {
|
|
11
|
+
parent.postMessage({ program }, '*');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* var notification = {};
|
|
15
|
+
* notification['type'] = 'success';
|
|
16
|
+
* notification['title'] = 'Notification Title'
|
|
17
|
+
* notification['detail'] = 'Notification Detail'
|
|
18
|
+
*/
|
|
19
|
+
sendNotification(notification) {
|
|
20
|
+
parent.postMessage({ notification }, '*');
|
|
21
|
+
}
|
|
22
|
+
openPath(programName, params, parent = true) {
|
|
23
|
+
const datasulPath = document.referrer.indexOf('totvs-menu') > 0 ? 'totvs-menu' : 'menu-html';
|
|
24
|
+
let baseUrl = `/${datasulPath}/#/${datasulPath}/program-html/${programName}/#`;
|
|
25
|
+
if (params) {
|
|
26
|
+
baseUrl = `${baseUrl}/${params}`;
|
|
27
|
+
}
|
|
28
|
+
if (parent) {
|
|
29
|
+
window.open(baseUrl, '_parent');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
window.open(baseUrl);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** @nocollapse */ MenuDatasulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuDatasulService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
/** @nocollapse */ MenuDatasulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuDatasulService });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuDatasulService, decorators: [{
|
|
39
|
+
type: Injectable
|
|
40
|
+
}], ctorParameters: function () { return []; } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kYXRhc3VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvbWVudS1kYXRhc3VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixnQkFBZ0IsQ0FBQztJQUVqQjs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLE9BQU87UUFDdkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLFlBQVk7UUFDaEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRLENBQUMsV0FBbUIsRUFBRSxNQUFXLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDM0QsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM3RixJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsTUFBTSxXQUFXLGlCQUFpQixXQUFXLElBQUksQ0FBQztRQUUvRSxJQUFJLE1BQU0sRUFBRTtZQUNSLE9BQU8sR0FBRyxHQUFHLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztTQUNwQztRQUVELElBQUksTUFBTSxFQUFFO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbkM7YUFBTTtZQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOzttSUFwQ1Esa0JBQWtCO3VJQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1lbnVEYXRhc3VsU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHZhciBwcm9ncmFtID0ge307XHJcbiAgICAgKiBwcm9ncmFtWydwcmcnXSA9IFwiY2QwMjEwXCI7XHJcbiAgICAgKiBwcm9ncmFtWydwYXJhbXMnXSA9ICcwMXwxMjM0NTYnXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYWxsUHJvZ3Jlc3MocHJvZ3JhbSkge1xyXG4gICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZSh7IHByb2dyYW0gfSwgJyonKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHZhciBub3RpZmljYXRpb24gPSB7fTtcclxuICAgICAqIG5vdGlmaWNhdGlvblsndHlwZSddID0gJ3N1Y2Nlc3MnO1xyXG4gICAgICogbm90aWZpY2F0aW9uWyd0aXRsZSddID0gJ05vdGlmaWNhdGlvbiBUaXRsZSdcclxuICAgICAqIG5vdGlmaWNhdGlvblsnZGV0YWlsJ10gPSAnTm90aWZpY2F0aW9uIERldGFpbCdcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlbmROb3RpZmljYXRpb24obm90aWZpY2F0aW9uKSB7XHJcbiAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKHsgbm90aWZpY2F0aW9uIH0sICcqJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5QYXRoKHByb2dyYW1OYW1lOiBzdHJpbmcsIHBhcmFtczogYW55LCBwYXJlbnQgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0YXN1bFBhdGggPSBkb2N1bWVudC5yZWZlcnJlci5pbmRleE9mKCd0b3R2cy1tZW51JykgPiAwID8gJ3RvdHZzLW1lbnUnIDogJ21lbnUtaHRtbCc7XHJcbiAgICAgICAgbGV0IGJhc2VVcmwgPSBgLyR7ZGF0YXN1bFBhdGh9LyMvJHtkYXRhc3VsUGF0aH0vcHJvZ3JhbS1odG1sLyR7cHJvZ3JhbU5hbWV9LyNgO1xyXG5cclxuICAgICAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGJhc2VVcmwgPSBgJHtiYXNlVXJsfS8ke3BhcmFtc31gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmVudCkge1xyXG4gICAgICAgICAgICB3aW5kb3cub3BlbihiYXNlVXJsLCAnX3BhcmVudCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGJhc2VVcmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
var EDataType;
|
|
6
|
+
(function (EDataType) {
|
|
7
|
+
EDataType[EDataType["STRING"] = 1] = "STRING";
|
|
8
|
+
EDataType[EDataType["JSON"] = 2] = "JSON";
|
|
9
|
+
})(EDataType || (EDataType = {}));
|
|
10
|
+
export class ProfileService {
|
|
11
|
+
constructor(http) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
this.apiURL = '/dts/datasul-rest/resources/api/btb/btapi930za';
|
|
14
|
+
}
|
|
15
|
+
setProfile(profile) {
|
|
16
|
+
const headers = { 'X-PO-Screen-Lock': 'true' };
|
|
17
|
+
const { pageId, userCode } = profile;
|
|
18
|
+
return this.http
|
|
19
|
+
.post(`${this.apiURL}/setProfile?userCode=${userCode}&pageId=${pageId}`, profile, { headers });
|
|
20
|
+
}
|
|
21
|
+
getProfileAsString(profile, showLoading) {
|
|
22
|
+
return this.getProfile(profile, EDataType.STRING, showLoading ? 'true' : 'false');
|
|
23
|
+
}
|
|
24
|
+
getProfileAsJSON(profile, showLoading) {
|
|
25
|
+
return this.getProfile(profile, EDataType.JSON, showLoading ? 'true' : 'false');
|
|
26
|
+
}
|
|
27
|
+
getProfile(profile, dataType, showLoading) {
|
|
28
|
+
const headers = { 'X-PO-Screen-Lock': showLoading };
|
|
29
|
+
const { pageId, dataCode, userCode } = profile;
|
|
30
|
+
return this.http
|
|
31
|
+
.get(`${this.apiURL}/getProfile?userCode=${userCode}&pageId=${pageId}&dataCode=${dataCode}`, { headers })
|
|
32
|
+
.pipe(map(preference => {
|
|
33
|
+
if (preference.data[0]) {
|
|
34
|
+
if (dataType === EDataType.STRING) {
|
|
35
|
+
return preference.data[0].dataValue;
|
|
36
|
+
}
|
|
37
|
+
if (dataType === EDataType.JSON) {
|
|
38
|
+
return JSON.parse(preference.data[0].dataValue);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** @nocollapse */ ProfileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProfileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
/** @nocollapse */ ProfileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProfileService, providedIn: 'root' });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProfileService, decorators: [{
|
|
50
|
+
type: Injectable,
|
|
51
|
+
args: [{
|
|
52
|
+
providedIn: 'root'
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZXJDLElBQUssU0FHSjtBQUhELFdBQUssU0FBUztJQUNWLDZDQUFVLENBQUE7SUFDVix5Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQUhJLFNBQVMsS0FBVCxTQUFTLFFBR2I7QUFLRCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjFCLFdBQU0sR0FBRyxnREFBZ0QsQ0FBQztJQUU1QixDQUFDO0lBRXhDLFVBQVUsQ0FBQyxPQUFpQjtRQUN4QixNQUFNLE9BQU8sR0FBRyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSx3QkFBd0IsUUFBUSxXQUFXLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFNUcsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWlCLEVBQUUsV0FBcUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBaUIsRUFBRSxXQUFxQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBaUIsRUFBRSxRQUFtQixFQUFFLFdBQW9CO1FBQzNFLE1BQU0sT0FBTyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDcEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sd0JBQXdCLFFBQVEsV0FBVyxNQUFNLGFBQWEsUUFBUSxFQUFFLEVBQ3pHLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25CLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTtvQkFDL0IsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztpQkFDdkM7Z0JBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRTtvQkFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ25EO2FBQ0o7aUJBQU07Z0JBQ0gsT0FBTyxTQUFTLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQzs7K0hBM0NRLGNBQWM7bUlBQWQsY0FBYyxjQUZYLE1BQU07NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvZmlsZSB7XHJcbiAgICBwYWdlSWQ6IHN0cmluZztcclxuICAgIGRhdGFDb2RlOiBzdHJpbmc7XHJcbiAgICB1c2VyQ29kZTogc3RyaW5nO1xyXG4gICAgZGF0YVZhbHVlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9maWxlUmVzcG9uc2Uge1xyXG4gICAgbWVzc2FnZTogQXJyYXk8c3RyaW5nPjtcclxuICAgIGxlbmd0aDogbnVtYmVyO1xyXG4gICAgZGF0YTogQXJyYXk8YW55PjtcclxufVxyXG5cclxuZW51bSBFRGF0YVR5cGUge1xyXG4gICAgU1RSSU5HID0gMSxcclxuICAgIEpTT04gPSAyXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IGFwaVVSTCA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvYXBpL2J0Yi9idGFwaTkzMHphJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgc2V0UHJvZmlsZShwcm9maWxlOiBJUHJvZmlsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiAndHJ1ZScgfTtcclxuICAgICAgICBjb25zdCB7IHBhZ2VJZCwgdXNlckNvZGUgfSA9IHByb2ZpbGU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmFwaVVSTH0vc2V0UHJvZmlsZT91c2VyQ29kZT0ke3VzZXJDb2RlfSZwYWdlSWQ9JHtwYWdlSWR9YCwgcHJvZmlsZSwgeyBoZWFkZXJzIH0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9maWxlQXNTdHJpbmcocHJvZmlsZTogSVByb2ZpbGUsIHNob3dMb2FkaW5nPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvZmlsZShwcm9maWxlLCBFRGF0YVR5cGUuU1RSSU5HLCBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2ZpbGVBc0pTT04ocHJvZmlsZTogSVByb2ZpbGUsIHNob3dMb2FkaW5nPzogYm9vbGVhbik6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvZmlsZShwcm9maWxlLCBFRGF0YVR5cGUuSlNPTiwgc2hvd0xvYWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFByb2ZpbGUocHJvZmlsZTogSVByb2ZpbGUsIGRhdGFUeXBlOiBFRGF0YVR5cGUsIHNob3dMb2FkaW5nPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBoZWFkZXJzID0geyAnWC1QTy1TY3JlZW4tTG9jayc6IHNob3dMb2FkaW5nIH07XHJcbiAgICAgICAgY29uc3QgeyBwYWdlSWQsIGRhdGFDb2RlLCB1c2VyQ29kZSB9ID0gcHJvZmlsZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PElQcm9maWxlUmVzcG9uc2U+KGAke3RoaXMuYXBpVVJMfS9nZXRQcm9maWxlP3VzZXJDb2RlPSR7dXNlckNvZGV9JnBhZ2VJZD0ke3BhZ2VJZH0mZGF0YUNvZGU9JHtkYXRhQ29kZX1gLFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXJzIH0pXHJcbiAgICAgICAgICAgIC5waXBlKG1hcChwcmVmZXJlbmNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChwcmVmZXJlbmNlLmRhdGFbMF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEVEYXRhVHlwZS5TVFJJTkcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZlcmVuY2UuZGF0YVswXS5kYXRhVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEVEYXRhVHlwZS5KU09OKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHByZWZlcmVuY2UuZGF0YVswXS5kYXRhVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export var ReportFormats;
|
|
6
|
+
(function (ReportFormats) {
|
|
7
|
+
ReportFormats["XLSX"] = "xlsx";
|
|
8
|
+
ReportFormats["PDF"] = "pdf";
|
|
9
|
+
ReportFormats["DOCX"] = "docx";
|
|
10
|
+
ReportFormats["HTML"] = "html";
|
|
11
|
+
})(ReportFormats || (ReportFormats = {}));
|
|
12
|
+
export class ReportService {
|
|
13
|
+
constructor(httpClient) {
|
|
14
|
+
this.httpClient = httpClient;
|
|
15
|
+
this.URL = window.location.href.indexOf('totvs-menu') > 0 ? '/totvs-menu/rest/report/run/'
|
|
16
|
+
: '/dts/datasul-report/resources/run/';
|
|
17
|
+
}
|
|
18
|
+
generate(params, showLoading = true) {
|
|
19
|
+
const headers = { 'X-PO-Screen-Lock': showLoading ? 'true' : 'false' };
|
|
20
|
+
let reportURL = `${this.URL}${params.reportName}`;
|
|
21
|
+
if (params.properties.length > 0) {
|
|
22
|
+
reportURL += '?';
|
|
23
|
+
params.properties.forEach((property, index) => {
|
|
24
|
+
if (index > 0) {
|
|
25
|
+
reportURL += '&';
|
|
26
|
+
}
|
|
27
|
+
reportURL += `c_properties=${property.name}&c_values=${property.value}`;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
reportURL += `&dialect=${params.dialect}&format=${params.format}`;
|
|
31
|
+
reportURL += `&program=${params.programName}&resultFileName=${params.downloadName}`;
|
|
32
|
+
return this.httpClient.post(reportURL, {}, { headers, responseType: 'blob' })
|
|
33
|
+
.pipe(map(report => {
|
|
34
|
+
if (params.download) {
|
|
35
|
+
this.download(report, `${params.downloadName}.${params.format}`);
|
|
36
|
+
}
|
|
37
|
+
return report;
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
download(file, fileName) {
|
|
41
|
+
const binaryData = [file];
|
|
42
|
+
const downloadLink = document.createElement('a');
|
|
43
|
+
const urlDownload = window.URL.createObjectURL(new Blob(binaryData, { type: file.type }));
|
|
44
|
+
downloadLink.href = urlDownload;
|
|
45
|
+
downloadLink.setAttribute('download', fileName);
|
|
46
|
+
document.body.appendChild(downloadLink);
|
|
47
|
+
downloadLink.click();
|
|
48
|
+
window.URL.revokeObjectURL(urlDownload);
|
|
49
|
+
downloadLink.remove();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** @nocollapse */ ReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReportService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
+
/** @nocollapse */ ReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReportService });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReportService, decorators: [{
|
|
55
|
+
type: Injectable
|
|
56
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvcmVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCckMsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7SUFDYiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGFBQWEsS0FBYixhQUFhLFFBS3hCO0FBSUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCO1lBQy9FLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUVoQixDQUFDO0lBRTlDLFFBQVEsQ0FBQyxNQUE0QixFQUFFLGNBQXVCLElBQUk7UUFDaEUsTUFBTSxPQUFPLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkUsSUFBSSxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoQyxTQUFTLElBQUksR0FBRyxDQUFDO1lBRWpCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBbUIsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDL0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO29CQUNiLFNBQVMsSUFBSSxHQUFHLENBQUM7aUJBQ2xCO2dCQUNELFNBQVMsSUFBSSxnQkFBZ0IsUUFBUSxDQUFDLElBQUksYUFBYSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxPQUFPLFdBQVcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xFLFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxXQUFXLG1CQUFtQixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxRixZQUFZLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzhIQTdDVSxhQUFhO2tJQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFGekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wZXJ0eSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydFNlcnZpY2VQYXJhbXMge1xyXG4gIHJlcG9ydE5hbWU6IHN0cmluZzsgLy8gTm9tZSBkbyBycHREZXNpZ25cclxuICBwcm9ncmFtTmFtZTogc3RyaW5nOyAvLyBQcm9ncmFtYSBQcm9ncmVzc1xyXG4gIHByb3BlcnRpZXM6IEFycmF5PElQcm9wZXJ0eT47XHJcbiAgZGlhbGVjdDogc3RyaW5nO1xyXG4gIGRvd25sb2FkTmFtZTogc3RyaW5nO1xyXG4gIGRvd25sb2FkOiBib29sZWFuO1xyXG4gIGZvcm1hdDogUmVwb3J0Rm9ybWF0cztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUmVwb3J0Rm9ybWF0cyB7XHJcbiAgWExTWCA9ICd4bHN4JyxcclxuICBQREYgPSAncGRmJyxcclxuICBET0NYID0gJ2RvY3gnLFxyXG4gIEhUTUwgPSAnaHRtbCdcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBVUkwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCd0b3R2cy1tZW51JykgPiAwID8gJy90b3R2cy1tZW51L3Jlc3QvcmVwb3J0L3J1bi8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy9kdHMvZGF0YXN1bC1yZXBvcnQvcmVzb3VyY2VzL3J1bi8nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdlbmVyYXRlKHBhcmFtczogSVJlcG9ydFNlcnZpY2VQYXJhbXMsIHNob3dMb2FkaW5nOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScgfTtcclxuXHJcbiAgICBsZXQgcmVwb3J0VVJMID0gYCR7dGhpcy5VUkx9JHtwYXJhbXMucmVwb3J0TmFtZX1gO1xyXG5cclxuICAgIGlmIChwYXJhbXMucHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJlcG9ydFVSTCArPSAnPyc7XHJcblxyXG4gICAgICBwYXJhbXMucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eTogSVByb3BlcnR5LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gMCkge1xyXG4gICAgICAgICAgcmVwb3J0VVJMICs9ICcmJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVwb3J0VVJMICs9IGBjX3Byb3BlcnRpZXM9JHtwcm9wZXJ0eS5uYW1lfSZjX3ZhbHVlcz0ke3Byb3BlcnR5LnZhbHVlfWA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcG9ydFVSTCArPSBgJmRpYWxlY3Q9JHtwYXJhbXMuZGlhbGVjdH0mZm9ybWF0PSR7cGFyYW1zLmZvcm1hdH1gO1xyXG4gICAgcmVwb3J0VVJMICs9IGAmcHJvZ3JhbT0ke3BhcmFtcy5wcm9ncmFtTmFtZX0mcmVzdWx0RmlsZU5hbWU9JHtwYXJhbXMuZG93bmxvYWROYW1lfWA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHJlcG9ydFVSTCwge30sIHsgaGVhZGVycywgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcG9ydCA9PiB7XHJcbiAgICAgICAgaWYgKHBhcmFtcy5kb3dubG9hZCkge1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZChyZXBvcnQsIGAke3BhcmFtcy5kb3dubG9hZE5hbWV9LiR7cGFyYW1zLmZvcm1hdH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcG9ydDtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWQoZmlsZTogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYmluYXJ5RGF0YSA9IFtmaWxlXTtcclxuICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGNvbnN0IHVybERvd25sb2FkID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoYmluYXJ5RGF0YSwgeyB0eXBlOiBmaWxlLnR5cGUgfSkpO1xyXG5cclxuICAgIGRvd25sb2FkTGluay5ocmVmID0gdXJsRG93bmxvYWQ7XHJcbiAgICBkb3dubG9hZExpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICAgIGRvd25sb2FkTGluay5jbGljaygpO1xyXG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsRG93bmxvYWQpO1xyXG4gICAgZG93bmxvYWRMaW5rLnJlbW92ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|