dts-backoffice-util 16.1.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +1 -0
  2. package/esm2022/dts-backoffice-util.mjs +4 -4
  3. package/esm2022/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +305 -305
  4. package/esm2022/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs +6 -6
  5. package/esm2022/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +208 -208
  6. package/esm2022/lib/dts-backoffice-util.module.mjs +54 -54
  7. package/esm2022/lib/interfaces/filter-range.interface.mjs +1 -1
  8. package/esm2022/lib/interfaces/totvs-response.interface.mjs +1 -1
  9. package/esm2022/lib/model/session-info.model.mjs +67 -67
  10. package/esm2022/lib/pipes/dts-date-format.pipe.mjs +20 -20
  11. package/esm2022/lib/services/breadcrumb-control.service.mjs +99 -99
  12. package/esm2022/lib/services/cache-params.service.mjs +25 -25
  13. package/esm2022/lib/services/menu-datasul.service.mjs +118 -118
  14. package/esm2022/lib/services/profile.service.mjs +55 -55
  15. package/esm2022/lib/services/report.service.mjs +57 -57
  16. package/esm2022/lib/services/session-info.service.mjs +36 -36
  17. package/esm2022/lib/services/translate.service.mjs +23 -23
  18. package/esm2022/lib/utils/date.util.mjs +56 -56
  19. package/esm2022/lib/utils/disclaimer.util.mjs +490 -490
  20. package/esm2022/lib/utils/field-validation.util.mjs +179 -179
  21. package/esm2022/lib/utils/file.util.mjs +151 -151
  22. package/esm2022/lib/utils/filter-range.util.mjs +32 -32
  23. package/esm2022/lib/utils/generic-functions.utils.mjs +170 -170
  24. package/esm2022/public-api.mjs +33 -33
  25. package/fesm2022/dts-backoffice-util.mjs +2013 -2013
  26. package/fesm2022/dts-backoffice-util.mjs.map +1 -1
  27. package/index.d.ts +5 -5
  28. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +53 -53
  29. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.d.ts +68 -68
  30. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +30 -30
  31. package/lib/dts-backoffice-util.module.d.ts +14 -14
  32. package/lib/interfaces/filter-range.interface.d.ts +18 -18
  33. package/lib/interfaces/totvs-response.interface.d.ts +4 -4
  34. package/lib/model/session-info.model.d.ts +40 -40
  35. package/lib/pipes/dts-date-format.pipe.d.ts +7 -7
  36. package/lib/services/breadcrumb-control.service.d.ts +18 -18
  37. package/lib/services/cache-params.service.d.ts +10 -10
  38. package/lib/services/menu-datasul.service.d.ts +27 -27
  39. package/lib/services/profile.service.d.ts +25 -25
  40. package/lib/services/report.service.d.ts +31 -31
  41. package/lib/services/session-info.service.d.ts +12 -12
  42. package/lib/services/translate.service.d.ts +8 -8
  43. package/lib/utils/date.util.d.ts +9 -9
  44. package/lib/utils/disclaimer.util.d.ts +40 -40
  45. package/lib/utils/field-validation.util.d.ts +21 -21
  46. package/lib/utils/file.util.d.ts +23 -23
  47. package/lib/utils/filter-range.util.d.ts +7 -7
  48. package/lib/utils/generic-functions.utils.d.ts +24 -24
  49. package/package.json +5 -5
  50. package/public-api.d.ts +20 -20
@@ -1,118 +1,118 @@
1
- import { Injectable } from '@angular/core';
2
- import { forkJoin, map } from 'rxjs';
3
- import { of } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class MenuDatasulService {
7
- constructor(http) {
8
- this.http = http;
9
- this.urlMenuPrograms = '/dts/datasul-rest/resources/prg/fwk/v1/menuPrograms/list';
10
- }
11
- /**
12
- * var program = {};
13
- * program['prg'] = "cd0210";
14
- * program['params'] = '01|123456'
15
- */
16
- callProgress(program) {
17
- parent.postMessage({ program }, '*');
18
- }
19
- /**
20
- * var notification = {};
21
- * notification['type'] = 'success';
22
- * notification['title'] = 'Notification Title'
23
- * notification['detail'] = 'Notification Detail'
24
- */
25
- sendNotification(notification) {
26
- parent.postMessage({ notification }, '*');
27
- }
28
- openPath(programName, params, parent = true) {
29
- this.openHTMLProgram('THF2', programName, params, parent);
30
- }
31
- openTHF(externalName, params, parent = true) {
32
- this.openHTMLProgram('THF1', externalName, params, parent);
33
- }
34
- openHTMLProgram(type, HTMLProgram, params, parent) {
35
- const datasulPath = document.referrer.indexOf('totvs-menu') > 0 ? 'totvs-menu' : 'menu-html';
36
- HTMLProgram = HTMLProgram.replace(/\\/g, '/');
37
- if (HTMLProgram.charAt(0) === '/') {
38
- HTMLProgram = HTMLProgram.slice(1);
39
- }
40
- if (HTMLProgram.charAt(HTMLProgram.length - 1) === '/') {
41
- HTMLProgram = HTMLProgram.slice(0, -1);
42
- }
43
- let baseUrl = `/${datasulPath}/#/`;
44
- if (type === 'THF2') {
45
- baseUrl = `${baseUrl}${datasulPath}/program-html/${HTMLProgram}/`;
46
- }
47
- else {
48
- baseUrl = `${baseUrl}${HTMLProgram}`;
49
- }
50
- if (params) {
51
- if (baseUrl.charAt(baseUrl.length - 1) === '/') {
52
- baseUrl = baseUrl.slice(0, -1);
53
- }
54
- baseUrl = `${baseUrl}/#/${params}`;
55
- }
56
- if (parent) {
57
- window.open(baseUrl, '_parent');
58
- }
59
- else {
60
- window.open(baseUrl);
61
- }
62
- }
63
- programSecurity(programName) {
64
- let programList = [];
65
- if (Array.isArray(programName)) {
66
- programList = programName;
67
- }
68
- else {
69
- if (programName && programName !== '') {
70
- programList.push(programName);
71
- }
72
- }
73
- if (!programList || programList.length === 0) {
74
- return of({
75
- code: 400,
76
- message: 'Não foi possível validar a Segurança dos Programas, lista vazia !',
77
- detailedMessage: 'A lista de programas indicados para validação de segurança é inválida ou está vazia.'
78
- });
79
- }
80
- const aRequest = [];
81
- programList.forEach(programSearch => {
82
- aRequest.push(this.http.post(this.urlMenuPrograms, { search: programSearch }));
83
- });
84
- return forkJoin(aRequest).pipe(map((response) => {
85
- if (!response) {
86
- return response;
87
- }
88
- if (!Array.isArray(response)) {
89
- return response;
90
- }
91
- const responseReturn = new Array();
92
- for (let idx = 0; idx < programList.length; idx++) {
93
- const responseProg = response[idx];
94
- let hasAcess = false;
95
- if (responseProg && responseProg.programs &&
96
- Array.isArray(responseProg.programs) &&
97
- responseProg.programs.length > 0) {
98
- responseProg.programs.forEach(prog => {
99
- if (prog.prg === programList[idx]) {
100
- hasAcess = true;
101
- }
102
- });
103
- }
104
- responseReturn.push({
105
- programName: programList[idx],
106
- hasAccess: hasAcess
107
- });
108
- }
109
- return responseReturn;
110
- }));
111
- }
112
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuDatasulService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
113
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuDatasulService }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuDatasulService, decorators: [{
116
- type: Injectable
117
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kYXRhc3VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvbWVudS1kYXRhc3VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHMUIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLG9CQUFlLEdBQUcsMERBQTBELENBQUM7SUFFN0MsQ0FBQztJQUV6Qzs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLE9BQU87UUFDdkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLFlBQVk7UUFDaEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRLENBQUMsV0FBbUIsRUFBRSxNQUFXLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sT0FBTyxDQUFDLFlBQW9CLEVBQUUsTUFBVyxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0Qs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QUMsUUFBUSxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxRQUFRLENBQUM7YUFBRTtZQUVsRCxNQUFNLGNBQWMsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1lBRTNDLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUMvQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFFckIsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLFFBQVE7b0JBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztvQkFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUVsQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDakMsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTs0QkFDL0IsUUFBUSxHQUFHLElBQUksQ0FBQzt5QkFDbkI7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ047Z0JBRUQsY0FBYyxDQUFDLElBQUksQ0FBQztvQkFDaEIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxRQUFRO2lCQUN0QixDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sY0FBYyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO2tJQWpIUSxrQkFBa0I7c0lBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWVudURhdGFzdWxTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIHVybE1lbnVQcm9ncmFtcyA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvcHJnL2Z3ay92MS9tZW51UHJvZ3JhbXMvbGlzdCc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHZhciBwcm9ncmFtID0ge307XHJcbiAgICAgKiBwcm9ncmFtWydwcmcnXSA9IFwiY2QwMjEwXCI7XHJcbiAgICAgKiBwcm9ncmFtWydwYXJhbXMnXSA9ICcwMXwxMjM0NTYnXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYWxsUHJvZ3Jlc3MocHJvZ3JhbSkge1xyXG4gICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZSh7IHByb2dyYW0gfSwgJyonKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHZhciBub3RpZmljYXRpb24gPSB7fTtcclxuICAgICAqIG5vdGlmaWNhdGlvblsndHlwZSddID0gJ3N1Y2Nlc3MnO1xyXG4gICAgICogbm90aWZpY2F0aW9uWyd0aXRsZSddID0gJ05vdGlmaWNhdGlvbiBUaXRsZSdcclxuICAgICAqIG5vdGlmaWNhdGlvblsnZGV0YWlsJ10gPSAnTm90aWZpY2F0aW9uIERldGFpbCdcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlbmROb3RpZmljYXRpb24obm90aWZpY2F0aW9uKSB7XHJcbiAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKHsgbm90aWZpY2F0aW9uIH0sICcqJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5QYXRoKHByb2dyYW1OYW1lOiBzdHJpbmcsIHBhcmFtczogYW55LCBwYXJlbnQgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVuSFRNTFByb2dyYW0oJ1RIRjInLCBwcm9ncmFtTmFtZSwgcGFyYW1zLCBwYXJlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuVEhGKGV4dGVybmFsTmFtZTogc3RyaW5nLCBwYXJhbXM6IGFueSwgcGFyZW50ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3BlbkhUTUxQcm9ncmFtKCdUSEYxJywgZXh0ZXJuYWxOYW1lLCBwYXJhbXMsIHBhcmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvcGVuSFRNTFByb2dyYW0odHlwZTogc3RyaW5nLCBIVE1MUHJvZ3JhbTogc3RyaW5nLCBwYXJhbXM6IGFueSwgcGFyZW50OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0YXN1bFBhdGggPSBkb2N1bWVudC5yZWZlcnJlci5pbmRleE9mKCd0b3R2cy1tZW51JykgPiAwID8gJ3RvdHZzLW1lbnUnIDogJ21lbnUtaHRtbCc7XHJcblxyXG4gICAgICAgIEhUTUxQcm9ncmFtID0gSFRNTFByb2dyYW0ucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xyXG4gICAgICAgIGlmIChIVE1MUHJvZ3JhbS5jaGFyQXQoMCkgPT09ICcvJykgeyBIVE1MUHJvZ3JhbSA9IEhUTUxQcm9ncmFtLnNsaWNlKDEpOyB9XHJcbiAgICAgICAgaWYgKEhUTUxQcm9ncmFtLmNoYXJBdChIVE1MUHJvZ3JhbS5sZW5ndGggLSAxKSA9PT0gJy8nKSB7IEhUTUxQcm9ncmFtID0gSFRNTFByb2dyYW0uc2xpY2UoMCwgLTEpOyB9XHJcblxyXG4gICAgICAgIGxldCBiYXNlVXJsID0gYC8ke2RhdGFzdWxQYXRofS8jL2A7XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdUSEYyJykge1xyXG4gICAgICAgICAgICBiYXNlVXJsID0gYCR7YmFzZVVybH0ke2RhdGFzdWxQYXRofS9wcm9ncmFtLWh0bWwvJHtIVE1MUHJvZ3JhbX0vYDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBiYXNlVXJsID0gYCR7YmFzZVVybH0ke0hUTUxQcm9ncmFtfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGlmIChiYXNlVXJsLmNoYXJBdChiYXNlVXJsLmxlbmd0aCAtIDEpID09PSAnLycpIHsgYmFzZVVybCA9IGJhc2VVcmwuc2xpY2UoMCwgLTEpOyB9XHJcbiAgICAgICAgICAgIGJhc2VVcmwgPSBgJHtiYXNlVXJsfS8jLyR7cGFyYW1zfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGJhc2VVcmwsICdfcGFyZW50Jyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oYmFzZVVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwcm9ncmFtU2VjdXJpdHkocHJvZ3JhbU5hbWU6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPE9iamVjdD4ge1xyXG4gICAgICAgIGxldCBwcm9ncmFtTGlzdCA9IFtdO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb2dyYW1OYW1lKSkge1xyXG4gICAgICAgICAgICBwcm9ncmFtTGlzdCA9IHByb2dyYW1OYW1lO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9ncmFtTmFtZSAmJiBwcm9ncmFtTmFtZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHByb2dyYW1MaXN0LnB1c2gocHJvZ3JhbU5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXByb2dyYW1MaXN0IHx8IHByb2dyYW1MaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2Yoe1xyXG4gICAgICAgICAgICAgICAgY29kZTogNDAwLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ07Do28gZm9pIHBvc3PDrXZlbCB2YWxpZGFyIGEgU2VndXJhbsOnYSBkb3MgUHJvZ3JhbWFzLCBsaXN0YSB2YXppYSAhJyxcclxuICAgICAgICAgICAgICAgIGRldGFpbGVkTWVzc2FnZTogJ0EgbGlzdGEgZGUgcHJvZ3JhbWFzIGluZGljYWRvcyBwYXJhIHZhbGlkYcOnw6NvIGRlIHNlZ3VyYW7Dp2Egw6kgaW52w6FsaWRhIG91IGVzdMOhIHZhemlhLidcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBhUmVxdWVzdCA9IFtdO1xyXG4gICAgICAgIHByb2dyYW1MaXN0LmZvckVhY2gocHJvZ3JhbVNlYXJjaCA9PiB7XHJcbiAgICAgICAgICAgIGFSZXF1ZXN0LnB1c2godGhpcy5odHRwLnBvc3Q8T2JqZWN0Pih0aGlzLnVybE1lbnVQcm9ncmFtcywgeyBzZWFyY2g6IHByb2dyYW1TZWFyY2ggfSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oYVJlcXVlc3QpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IE9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZSkgeyByZXR1cm4gcmVzcG9uc2U7IH1cclxuICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShyZXNwb25zZSkpIHsgcmV0dXJuIHJlc3BvbnNlOyB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2VSZXR1cm4gPSBuZXcgQXJyYXk8T2JqZWN0PigpO1xyXG5cclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHByb2dyYW1MaXN0Lmxlbmd0aDsgaWR4KyspIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZVByb2cgPSByZXNwb25zZVtpZHhdO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBoYXNBY2VzcyA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VQcm9nICYmIHJlc3BvbnNlUHJvZy5wcm9ncmFtcyAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3BvbnNlUHJvZy5wcm9ncmFtcykgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQcm9nLnByb2dyYW1zLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUHJvZy5wcm9ncmFtcy5mb3JFYWNoKHByb2cgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2cucHJnID09PSBwcm9ncmFtTGlzdFtpZHhdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQWNlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlUmV0dXJuLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtTmFtZTogcHJvZ3JhbUxpc3RbaWR4XSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQWNjZXNzOiBoYXNBY2Vzc1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZVJldHVybjtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { forkJoin, map } from 'rxjs';
3
+ import { of } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class MenuDatasulService {
7
+ constructor(http) {
8
+ this.http = http;
9
+ this.urlMenuPrograms = '/dts/datasul-rest/resources/prg/fwk/v1/menuPrograms/list';
10
+ }
11
+ /**
12
+ * var program = {};
13
+ * program['prg'] = "cd0210";
14
+ * program['params'] = '01|123456'
15
+ */
16
+ callProgress(program) {
17
+ parent.postMessage({ program }, '*');
18
+ }
19
+ /**
20
+ * var notification = {};
21
+ * notification['type'] = 'success';
22
+ * notification['title'] = 'Notification Title'
23
+ * notification['detail'] = 'Notification Detail'
24
+ */
25
+ sendNotification(notification) {
26
+ parent.postMessage({ notification }, '*');
27
+ }
28
+ openPath(programName, params, parent = true) {
29
+ this.openHTMLProgram('THF2', programName, params, parent);
30
+ }
31
+ openTHF(externalName, params, parent = true) {
32
+ this.openHTMLProgram('THF1', externalName, params, parent);
33
+ }
34
+ openHTMLProgram(type, HTMLProgram, params, parent) {
35
+ const datasulPath = document.referrer.indexOf('totvs-menu') > 0 ? 'totvs-menu' : 'menu-html';
36
+ HTMLProgram = HTMLProgram.replace(/\\/g, '/');
37
+ if (HTMLProgram.charAt(0) === '/') {
38
+ HTMLProgram = HTMLProgram.slice(1);
39
+ }
40
+ if (HTMLProgram.charAt(HTMLProgram.length - 1) === '/') {
41
+ HTMLProgram = HTMLProgram.slice(0, -1);
42
+ }
43
+ let baseUrl = `/${datasulPath}/#/`;
44
+ if (type === 'THF2') {
45
+ baseUrl = `${baseUrl}${datasulPath}/program-html/${HTMLProgram}/`;
46
+ }
47
+ else {
48
+ baseUrl = `${baseUrl}${HTMLProgram}`;
49
+ }
50
+ if (params) {
51
+ if (baseUrl.charAt(baseUrl.length - 1) === '/') {
52
+ baseUrl = baseUrl.slice(0, -1);
53
+ }
54
+ baseUrl = `${baseUrl}/#/${params}`;
55
+ }
56
+ if (parent) {
57
+ window.open(baseUrl, '_parent');
58
+ }
59
+ else {
60
+ window.open(baseUrl);
61
+ }
62
+ }
63
+ programSecurity(programName) {
64
+ let programList = [];
65
+ if (Array.isArray(programName)) {
66
+ programList = programName;
67
+ }
68
+ else {
69
+ if (programName && programName !== '') {
70
+ programList.push(programName);
71
+ }
72
+ }
73
+ if (!programList || programList.length === 0) {
74
+ return of({
75
+ code: 400,
76
+ message: 'Não foi possível validar a Segurança dos Programas, lista vazia !',
77
+ detailedMessage: 'A lista de programas indicados para validação de segurança é inválida ou está vazia.'
78
+ });
79
+ }
80
+ const aRequest = [];
81
+ programList.forEach(programSearch => {
82
+ aRequest.push(this.http.post(this.urlMenuPrograms, { search: programSearch }));
83
+ });
84
+ return forkJoin(aRequest).pipe(map((response) => {
85
+ if (!response) {
86
+ return response;
87
+ }
88
+ if (!Array.isArray(response)) {
89
+ return response;
90
+ }
91
+ const responseReturn = new Array();
92
+ for (let idx = 0; idx < programList.length; idx++) {
93
+ const responseProg = response[idx];
94
+ let hasAcess = false;
95
+ if (responseProg && responseProg.programs &&
96
+ Array.isArray(responseProg.programs) &&
97
+ responseProg.programs.length > 0) {
98
+ responseProg.programs.forEach(prog => {
99
+ if (prog.prg === programList[idx]) {
100
+ hasAcess = true;
101
+ }
102
+ });
103
+ }
104
+ responseReturn.push({
105
+ programName: programList[idx],
106
+ hasAccess: hasAcess
107
+ });
108
+ }
109
+ return responseReturn;
110
+ }));
111
+ }
112
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: MenuDatasulService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
113
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: MenuDatasulService }); }
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: MenuDatasulService, decorators: [{
116
+ type: Injectable
117
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kYXRhc3VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvbWVudS1kYXRhc3VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHMUIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLG9CQUFlLEdBQUcsMERBQTBELENBQUM7SUFFN0MsQ0FBQztJQUV6Qzs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLE9BQU87UUFDdkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLFlBQVk7UUFDaEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRLENBQUMsV0FBbUIsRUFBRSxNQUFXLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sT0FBTyxDQUFDLFlBQW9CLEVBQUUsTUFBVyxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0Qs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a0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNZW51RGF0YXN1bFNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgdXJsTWVudVByb2dyYW1zID0gJy9kdHMvZGF0YXN1bC1yZXN0L3Jlc291cmNlcy9wcmcvZndrL3YxL21lbnVQcm9ncmFtcy9saXN0JztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFyIHByb2dyYW0gPSB7fTtcclxuICAgICAqIHByb2dyYW1bJ3ByZyddID0gXCJjZDAyMTBcIjtcclxuICAgICAqIHByb2dyYW1bJ3BhcmFtcyddID0gJzAxfDEyMzQ1NidcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNhbGxQcm9ncmVzcyhwcm9ncmFtKSB7XHJcbiAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKHsgcHJvZ3JhbSB9LCAnKicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdmFyIG5vdGlmaWNhdGlvbiA9IHt9O1xyXG4gICAgICogbm90aWZpY2F0aW9uWyd0eXBlJ10gPSAnc3VjY2Vzcyc7XHJcbiAgICAgKiBub3RpZmljYXRpb25bJ3RpdGxlJ10gPSAnTm90aWZpY2F0aW9uIFRpdGxlJ1xyXG4gICAgICogbm90aWZpY2F0aW9uWydkZXRhaWwnXSA9ICdOb3RpZmljYXRpb24gRGV0YWlsJ1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VuZE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pIHtcclxuICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoeyBub3RpZmljYXRpb24gfSwgJyonKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlblBhdGgocHJvZ3JhbU5hbWU6IHN0cmluZywgcGFyYW1zOiBhbnksIHBhcmVudCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9wZW5IVE1MUHJvZ3JhbSgnVEhGMicsIHByb2dyYW1OYW1lLCBwYXJhbXMsIHBhcmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5USEYoZXh0ZXJuYWxOYW1lOiBzdHJpbmcsIHBhcmFtczogYW55LCBwYXJlbnQgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVuSFRNTFByb2dyYW0oJ1RIRjEnLCBleHRlcm5hbE5hbWUsIHBhcmFtcywgcGFyZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9wZW5IVE1MUHJvZ3JhbSh0eXBlOiBzdHJpbmcsIEhUTUxQcm9ncmFtOiBzdHJpbmcsIHBhcmFtczogYW55LCBwYXJlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRhc3VsUGF0aCA9IGRvY3VtZW50LnJlZmVycmVyLmluZGV4T2YoJ3RvdHZzLW1lbnUnKSA+IDAgPyAndG90dnMtbWVudScgOiAnbWVudS1odG1sJztcclxuXHJcbiAgICAgICAgSFRNTFByb2dyYW0gPSBIVE1MUHJvZ3JhbS5yZXBsYWNlKC9cXFxcL2csICcvJyk7XHJcbiAgICAgICAgaWYgKEhUTUxQcm9ncmFtLmNoYXJBdCgwKSA9PT0gJy8nKSB7IEhUTUxQcm9ncmFtID0gSFRNTFByb2dyYW0uc2xpY2UoMSk7IH1cclxuICAgICAgICBpZiAoSFRNTFByb2dyYW0uY2hhckF0KEhUTUxQcm9ncmFtLmxlbmd0aCAtIDEpID09PSAnLycpIHsgSFRNTFByb2dyYW0gPSBIVE1MUHJvZ3JhbS5zbGljZSgwLCAtMSk7IH1cclxuXHJcbiAgICAgICAgbGV0IGJhc2VVcmwgPSBgLyR7ZGF0YXN1bFBhdGh9LyMvYDtcclxuICAgICAgICBpZiAodHlwZSA9PT0gJ1RIRjInKSB7XHJcbiAgICAgICAgICAgIGJhc2VVcmwgPSBgJHtiYXNlVXJsfSR7ZGF0YXN1bFBhdGh9L3Byb2dyYW0taHRtbC8ke0hUTUxQcm9ncmFtfS9gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGJhc2VVcmwgPSBgJHtiYXNlVXJsfSR7SFRNTFByb2dyYW19YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgICAgICAgaWYgKGJhc2VVcmwuY2hhckF0KGJhc2VVcmwubGVuZ3RoIC0gMSkgPT09ICcvJykgeyBiYXNlVXJsID0gYmFzZVVybC5zbGljZSgwLCAtMSk7IH1cclxuICAgICAgICAgICAgYmFzZVVybCA9IGAke2Jhc2VVcmx9LyMvJHtwYXJhbXN9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oYmFzZVVybCwgJ19wYXJlbnQnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB3aW5kb3cub3BlbihiYXNlVXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHByb2dyYW1TZWN1cml0eShwcm9ncmFtTmFtZTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8T2JqZWN0PiB7XHJcbiAgICAgICAgbGV0IHByb2dyYW1MaXN0ID0gW107XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvZ3JhbU5hbWUpKSB7XHJcbiAgICAgICAgICAgIHByb2dyYW1MaXN0ID0gcHJvZ3JhbU5hbWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHByb2dyYW1OYW1lICYmIHByb2dyYW1OYW1lICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgcHJvZ3JhbUxpc3QucHVzaChwcm9ncmFtTmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghcHJvZ3JhbUxpc3QgfHwgcHJvZ3JhbUxpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih7XHJcbiAgICAgICAgICAgICAgICBjb2RlOiA0MDAsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnTsOjbyBmb2kgcG9zc8OtdmVsIHZhbGlkYXIgYSBTZWd1cmFuw6dhIGRvcyBQcm9ncmFtYXMsIGxpc3RhIHZhemlhICEnLFxyXG4gICAgICAgICAgICAgICAgZGV0YWlsZWRNZXNzYWdlOiAnQSBsaXN0YSBkZSBwcm9ncmFtYXMgaW5kaWNhZG9zIHBhcmEgdmFsaWRhw6fDo28gZGUgc2VndXJhbsOnYSDDqSBpbnbDoWxpZGEgb3UgZXN0w6EgdmF6aWEuJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGFSZXF1ZXN0ID0gW107XHJcbiAgICAgICAgcHJvZ3JhbUxpc3QuZm9yRWFjaChwcm9ncmFtU2VhcmNoID0+IHtcclxuICAgICAgICAgICAgYVJlcXVlc3QucHVzaCh0aGlzLmh0dHAucG9zdDxPYmplY3Q+KHRoaXMudXJsTWVudVByb2dyYW1zLCB7IHNlYXJjaDogcHJvZ3JhbVNlYXJjaCB9KSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihhUmVxdWVzdCkucGlwZShcclxuICAgICAgICAgICAgbWFwKChyZXNwb25zZTogT2JqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZTsgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3BvbnNlKSkgeyByZXR1cm4gcmVzcG9uc2U7IH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZVJldHVybiA9IG5ldyBBcnJheTxPYmplY3Q+KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgcHJvZ3JhbUxpc3QubGVuZ3RoOyBpZHgrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlUHJvZyA9IHJlc3BvbnNlW2lkeF07XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhhc0FjZXNzID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVByb2cgJiYgcmVzcG9uc2VQcm9nLnByb2dyYW1zICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2VQcm9nLnByb2dyYW1zKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVByb2cucHJvZ3JhbXMubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VQcm9nLnByb2dyYW1zLmZvckVhY2gocHJvZyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvZy5wcmcgPT09IHByb2dyYW1MaXN0W2lkeF0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNBY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VSZXR1cm4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW1OYW1lOiBwcm9ncmFtTGlzdFtpZHhdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNBY2Nlc3M6IGhhc0FjZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlUmV0dXJuO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,55 +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
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProfileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProfileService, providedIn: 'root' }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZXJDLElBQUssU0FHSjtBQUhELFdBQUssU0FBUztJQUNWLDZDQUFVLENBQUE7SUFDVix5Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQUhJLFNBQVMsS0FBVCxTQUFTLFFBR2I7QUFLRCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjFCLFdBQU0sR0FBRyxnREFBZ0QsQ0FBQztJQUU1QixDQUFDO0lBRXhDLFVBQVUsQ0FBQyxPQUFpQjtRQUN4QixNQUFNLE9BQU8sR0FBRyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSx3QkFBd0IsUUFBUSxXQUFXLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFNUcsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWlCLEVBQUUsV0FBcUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBaUIsRUFBRSxXQUFxQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBaUIsRUFBRSxRQUFtQixFQUFFLFdBQW9CO1FBQzNFLE1BQU0sT0FBTyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDcEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sd0JBQXdCLFFBQVEsV0FBVyxNQUFNLGFBQWEsUUFBUSxFQUFFLEVBQ3pHLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25CLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTtvQkFDL0IsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztpQkFDdkM7Z0JBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRTtvQkFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ25EO2FBQ0o7aUJBQU07Z0JBQ0gsT0FBTyxTQUFTLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztrSUEzQ1EsY0FBYztzSUFBZCxjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvZmlsZSB7XHJcbiAgICBwYWdlSWQ6IHN0cmluZztcclxuICAgIGRhdGFDb2RlOiBzdHJpbmc7XHJcbiAgICB1c2VyQ29kZTogc3RyaW5nO1xyXG4gICAgZGF0YVZhbHVlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9maWxlUmVzcG9uc2Uge1xyXG4gICAgbWVzc2FnZTogQXJyYXk8c3RyaW5nPjtcclxuICAgIGxlbmd0aDogbnVtYmVyO1xyXG4gICAgZGF0YTogQXJyYXk8YW55PjtcclxufVxyXG5cclxuZW51bSBFRGF0YVR5cGUge1xyXG4gICAgU1RSSU5HID0gMSxcclxuICAgIEpTT04gPSAyXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IGFwaVVSTCA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvYXBpL2J0Yi9idGFwaTkzMHphJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgc2V0UHJvZmlsZShwcm9maWxlOiBJUHJvZmlsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiAndHJ1ZScgfTtcclxuICAgICAgICBjb25zdCB7IHBhZ2VJZCwgdXNlckNvZGUgfSA9IHByb2ZpbGU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmFwaVVSTH0vc2V0UHJvZmlsZT91c2VyQ29kZT0ke3VzZXJDb2RlfSZwYWdlSWQ9JHtwYWdlSWR9YCwgcHJvZmlsZSwgeyBoZWFkZXJzIH0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9maWxlQXNTdHJpbmcocHJvZmlsZTogSVByb2ZpbGUsIHNob3dMb2FkaW5nPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvZmlsZShwcm9maWxlLCBFRGF0YVR5cGUuU1RSSU5HLCBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2ZpbGVBc0pTT04ocHJvZmlsZTogSVByb2ZpbGUsIHNob3dMb2FkaW5nPzogYm9vbGVhbik6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvZmlsZShwcm9maWxlLCBFRGF0YVR5cGUuSlNPTiwgc2hvd0xvYWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFByb2ZpbGUocHJvZmlsZTogSVByb2ZpbGUsIGRhdGFUeXBlOiBFRGF0YVR5cGUsIHNob3dMb2FkaW5nPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBoZWFkZXJzID0geyAnWC1QTy1TY3JlZW4tTG9jayc6IHNob3dMb2FkaW5nIH07XHJcbiAgICAgICAgY29uc3QgeyBwYWdlSWQsIGRhdGFDb2RlLCB1c2VyQ29kZSB9ID0gcHJvZmlsZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PElQcm9maWxlUmVzcG9uc2U+KGAke3RoaXMuYXBpVVJMfS9nZXRQcm9maWxlP3VzZXJDb2RlPSR7dXNlckNvZGV9JnBhZ2VJZD0ke3BhZ2VJZH0mZGF0YUNvZGU9JHtkYXRhQ29kZX1gLFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXJzIH0pXHJcbiAgICAgICAgICAgIC5waXBlKG1hcChwcmVmZXJlbmNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChwcmVmZXJlbmNlLmRhdGFbMF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEVEYXRhVHlwZS5TVFJJTkcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZlcmVuY2UuZGF0YVswXS5kYXRhVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVR5cGUgPT09IEVEYXRhVHlwZS5KU09OKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHByZWZlcmVuY2UuZGF0YVswXS5kYXRhVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
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
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ProfileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ProfileService, providedIn: 'root' }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ProfileService, decorators: [{
50
+ type: Injectable,
51
+ args: [{
52
+ providedIn: 'root'
53
+ }]
54
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3NlcnZpY2VzL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZXJDLElBQUssU0FHSjtBQUhELFdBQUssU0FBUztJQUNWLDZDQUFVLENBQUE7SUFDVix5Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQUhJLFNBQVMsS0FBVCxTQUFTLFFBR2I7QUFLRCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjFCLFdBQU0sR0FBRyxnREFBZ0QsQ0FBQztJQUU1QixDQUFDO0lBRXhDLFVBQVUsQ0FBQyxPQUFpQjtRQUN4QixNQUFNLE9BQU8sR0FBRyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSx3QkFBd0IsUUFBUSxXQUFXLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFNUcsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWlCLEVBQUUsV0FBcUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBaUIsRUFBRSxXQUFxQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBaUIsRUFBRSxRQUFtQixFQUFFLFdBQW9CO1FBQzNFLE1BQU0sT0FBTyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDcEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sd0JBQXdCLFFBQVEsV0FBVyxNQUFNLGFBQWEsUUFBUSxFQUFFLEVBQ3pHLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25CLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLFFBQVEsS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3hDLENBQUM7Z0JBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7aUlBM0NRLGNBQWM7cUlBQWQsY0FBYyxjQUZYLE1BQU07OzJGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVByb2ZpbGUge1xyXG4gICAgcGFnZUlkOiBzdHJpbmc7XHJcbiAgICBkYXRhQ29kZTogc3RyaW5nO1xyXG4gICAgdXNlckNvZGU6IHN0cmluZztcclxuICAgIGRhdGFWYWx1ZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvZmlsZVJlc3BvbnNlIHtcclxuICAgIG1lc3NhZ2U6IEFycmF5PHN0cmluZz47XHJcbiAgICBsZW5ndGg6IG51bWJlcjtcclxuICAgIGRhdGE6IEFycmF5PGFueT47XHJcbn1cclxuXHJcbmVudW0gRURhdGFUeXBlIHtcclxuICAgIFNUUklORyA9IDEsXHJcbiAgICBKU09OID0gMlxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZXJ2aWNlIHtcclxuXHJcbiAgICByZWFkb25seSBhcGlVUkwgPSAnL2R0cy9kYXRhc3VsLXJlc3QvcmVzb3VyY2VzL2FwaS9idGIvYnRhcGk5MzB6YSc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICAgIHNldFByb2ZpbGUocHJvZmlsZTogSVByb2ZpbGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSB7ICdYLVBPLVNjcmVlbi1Mb2NrJzogJ3RydWUnIH07XHJcbiAgICAgICAgY29uc3QgeyBwYWdlSWQsIHVzZXJDb2RlIH0gPSBwcm9maWxlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5hcGlVUkx9L3NldFByb2ZpbGU/dXNlckNvZGU9JHt1c2VyQ29kZX0mcGFnZUlkPSR7cGFnZUlkfWAsIHByb2ZpbGUsIHsgaGVhZGVycyB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZmlsZUFzU3RyaW5nKHByb2ZpbGU6IElQcm9maWxlLCBzaG93TG9hZGluZz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFByb2ZpbGUocHJvZmlsZSwgRURhdGFUeXBlLlNUUklORywgc2hvd0xvYWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9maWxlQXNKU09OKHByb2ZpbGU6IElQcm9maWxlLCBzaG93TG9hZGluZz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFByb2ZpbGUocHJvZmlsZSwgRURhdGFUeXBlLkpTT04sIHNob3dMb2FkaW5nID8gJ3RydWUnIDogJ2ZhbHNlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRQcm9maWxlKHByb2ZpbGU6IElQcm9maWxlLCBkYXRhVHlwZTogRURhdGFUeXBlLCBzaG93TG9hZGluZz86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiBzaG93TG9hZGluZyB9O1xyXG4gICAgICAgIGNvbnN0IHsgcGFnZUlkLCBkYXRhQ29kZSwgdXNlckNvZGUgfSA9IHByb2ZpbGU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxJUHJvZmlsZVJlc3BvbnNlPihgJHt0aGlzLmFwaVVSTH0vZ2V0UHJvZmlsZT91c2VyQ29kZT0ke3VzZXJDb2RlfSZwYWdlSWQ9JHtwYWdlSWR9JmRhdGFDb2RlPSR7ZGF0YUNvZGV9YCxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVycyB9KVxyXG4gICAgICAgICAgICAucGlwZShtYXAocHJlZmVyZW5jZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocHJlZmVyZW5jZS5kYXRhWzBdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFUeXBlID09PSBFRGF0YVR5cGUuU1RSSU5HKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmVmZXJlbmNlLmRhdGFbMF0uZGF0YVZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFUeXBlID09PSBFRGF0YVR5cGUuSlNPTikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShwcmVmZXJlbmNlLmRhdGFbMF0uZGF0YVZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -1,57 +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
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportService }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportService, decorators: [{
55
- type: Injectable
56
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvcmVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCckMsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7SUFDYiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGFBQWEsS0FBYixhQUFhLFFBS3hCO0FBSUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCO1lBQy9FLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUVoQixDQUFDO0lBRTlDLFFBQVEsQ0FBQyxNQUE0QixFQUFFLGNBQXVCLElBQUk7UUFDaEUsTUFBTSxPQUFPLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkUsSUFBSSxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoQyxTQUFTLElBQUksR0FBRyxDQUFDO1lBRWpCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBbUIsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDL0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO29CQUNiLFNBQVMsSUFBSSxHQUFHLENBQUM7aUJBQ2xCO2dCQUNELFNBQVMsSUFBSSxnQkFBZ0IsUUFBUSxDQUFDLElBQUksYUFBYSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxPQUFPLFdBQVcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xFLFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxXQUFXLG1CQUFtQixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxRixZQUFZLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7a0lBN0NVLGFBQWE7c0lBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFGekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wZXJ0eSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydFNlcnZpY2VQYXJhbXMge1xyXG4gIHJlcG9ydE5hbWU6IHN0cmluZzsgLy8gTm9tZSBkbyBycHREZXNpZ25cclxuICBwcm9ncmFtTmFtZTogc3RyaW5nOyAvLyBQcm9ncmFtYSBQcm9ncmVzc1xyXG4gIHByb3BlcnRpZXM6IEFycmF5PElQcm9wZXJ0eT47XHJcbiAgZGlhbGVjdDogc3RyaW5nO1xyXG4gIGRvd25sb2FkTmFtZTogc3RyaW5nO1xyXG4gIGRvd25sb2FkOiBib29sZWFuO1xyXG4gIGZvcm1hdDogUmVwb3J0Rm9ybWF0cztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUmVwb3J0Rm9ybWF0cyB7XHJcbiAgWExTWCA9ICd4bHN4JyxcclxuICBQREYgPSAncGRmJyxcclxuICBET0NYID0gJ2RvY3gnLFxyXG4gIEhUTUwgPSAnaHRtbCdcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBVUkwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCd0b3R2cy1tZW51JykgPiAwID8gJy90b3R2cy1tZW51L3Jlc3QvcmVwb3J0L3J1bi8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy9kdHMvZGF0YXN1bC1yZXBvcnQvcmVzb3VyY2VzL3J1bi8nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdlbmVyYXRlKHBhcmFtczogSVJlcG9ydFNlcnZpY2VQYXJhbXMsIHNob3dMb2FkaW5nOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScgfTtcclxuXHJcbiAgICBsZXQgcmVwb3J0VVJMID0gYCR7dGhpcy5VUkx9JHtwYXJhbXMucmVwb3J0TmFtZX1gO1xyXG5cclxuICAgIGlmIChwYXJhbXMucHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJlcG9ydFVSTCArPSAnPyc7XHJcblxyXG4gICAgICBwYXJhbXMucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eTogSVByb3BlcnR5LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gMCkge1xyXG4gICAgICAgICAgcmVwb3J0VVJMICs9ICcmJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVwb3J0VVJMICs9IGBjX3Byb3BlcnRpZXM9JHtwcm9wZXJ0eS5uYW1lfSZjX3ZhbHVlcz0ke3Byb3BlcnR5LnZhbHVlfWA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcG9ydFVSTCArPSBgJmRpYWxlY3Q9JHtwYXJhbXMuZGlhbGVjdH0mZm9ybWF0PSR7cGFyYW1zLmZvcm1hdH1gO1xyXG4gICAgcmVwb3J0VVJMICs9IGAmcHJvZ3JhbT0ke3BhcmFtcy5wcm9ncmFtTmFtZX0mcmVzdWx0RmlsZU5hbWU9JHtwYXJhbXMuZG93bmxvYWROYW1lfWA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHJlcG9ydFVSTCwge30sIHsgaGVhZGVycywgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcG9ydCA9PiB7XHJcbiAgICAgICAgaWYgKHBhcmFtcy5kb3dubG9hZCkge1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZChyZXBvcnQsIGAke3BhcmFtcy5kb3dubG9hZE5hbWV9LiR7cGFyYW1zLmZvcm1hdH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcG9ydDtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWQoZmlsZTogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYmluYXJ5RGF0YSA9IFtmaWxlXTtcclxuICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGNvbnN0IHVybERvd25sb2FkID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoYmluYXJ5RGF0YSwgeyB0eXBlOiBmaWxlLnR5cGUgfSkpO1xyXG5cclxuICAgIGRvd25sb2FkTGluay5ocmVmID0gdXJsRG93bmxvYWQ7XHJcbiAgICBkb3dubG9hZExpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICAgIGRvd25sb2FkTGluay5jbGljaygpO1xyXG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsRG93bmxvYWQpO1xyXG4gICAgZG93bmxvYWRMaW5rLnJlbW92ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
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
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ReportService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ReportService }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ReportService, decorators: [{
55
+ type: Injectable
56
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvcmVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCckMsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7SUFDYiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGFBQWEsS0FBYixhQUFhLFFBS3hCO0FBSUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCO1lBQy9FLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUVoQixDQUFDO0lBRTlDLFFBQVEsQ0FBQyxNQUE0QixFQUFFLGNBQXVCLElBQUk7UUFDaEUsTUFBTSxPQUFPLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkUsSUFBSSxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFNBQVMsSUFBSSxHQUFHLENBQUM7WUFFakIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFtQixFQUFFLEtBQWEsRUFBRSxFQUFFO2dCQUMvRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDZCxTQUFTLElBQUksR0FBRyxDQUFDO2dCQUNuQixDQUFDO2dCQUNELFNBQVMsSUFBSSxnQkFBZ0IsUUFBUSxDQUFDLElBQUksYUFBYSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsU0FBUyxJQUFJLFlBQVksTUFBTSxDQUFDLE9BQU8sV0FBVyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEUsU0FBUyxJQUFJLFlBQVksTUFBTSxDQUFDLFdBQVcsbUJBQW1CLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNuRSxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxRixZQUFZLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7aUlBN0NVLGFBQWE7cUlBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFGekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wZXJ0eSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydFNlcnZpY2VQYXJhbXMge1xyXG4gIHJlcG9ydE5hbWU6IHN0cmluZzsgLy8gTm9tZSBkbyBycHREZXNpZ25cclxuICBwcm9ncmFtTmFtZTogc3RyaW5nOyAvLyBQcm9ncmFtYSBQcm9ncmVzc1xyXG4gIHByb3BlcnRpZXM6IEFycmF5PElQcm9wZXJ0eT47XHJcbiAgZGlhbGVjdDogc3RyaW5nO1xyXG4gIGRvd25sb2FkTmFtZTogc3RyaW5nO1xyXG4gIGRvd25sb2FkOiBib29sZWFuO1xyXG4gIGZvcm1hdDogUmVwb3J0Rm9ybWF0cztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUmVwb3J0Rm9ybWF0cyB7XHJcbiAgWExTWCA9ICd4bHN4JyxcclxuICBQREYgPSAncGRmJyxcclxuICBET0NYID0gJ2RvY3gnLFxyXG4gIEhUTUwgPSAnaHRtbCdcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBVUkwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCd0b3R2cy1tZW51JykgPiAwID8gJy90b3R2cy1tZW51L3Jlc3QvcmVwb3J0L3J1bi8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy9kdHMvZGF0YXN1bC1yZXBvcnQvcmVzb3VyY2VzL3J1bi8nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdlbmVyYXRlKHBhcmFtczogSVJlcG9ydFNlcnZpY2VQYXJhbXMsIHNob3dMb2FkaW5nOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiBzaG93TG9hZGluZyA/ICd0cnVlJyA6ICdmYWxzZScgfTtcclxuXHJcbiAgICBsZXQgcmVwb3J0VVJMID0gYCR7dGhpcy5VUkx9JHtwYXJhbXMucmVwb3J0TmFtZX1gO1xyXG5cclxuICAgIGlmIChwYXJhbXMucHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJlcG9ydFVSTCArPSAnPyc7XHJcblxyXG4gICAgICBwYXJhbXMucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eTogSVByb3BlcnR5LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gMCkge1xyXG4gICAgICAgICAgcmVwb3J0VVJMICs9ICcmJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVwb3J0VVJMICs9IGBjX3Byb3BlcnRpZXM9JHtwcm9wZXJ0eS5uYW1lfSZjX3ZhbHVlcz0ke3Byb3BlcnR5LnZhbHVlfWA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcG9ydFVSTCArPSBgJmRpYWxlY3Q9JHtwYXJhbXMuZGlhbGVjdH0mZm9ybWF0PSR7cGFyYW1zLmZvcm1hdH1gO1xyXG4gICAgcmVwb3J0VVJMICs9IGAmcHJvZ3JhbT0ke3BhcmFtcy5wcm9ncmFtTmFtZX0mcmVzdWx0RmlsZU5hbWU9JHtwYXJhbXMuZG93bmxvYWROYW1lfWA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHJlcG9ydFVSTCwge30sIHsgaGVhZGVycywgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcG9ydCA9PiB7XHJcbiAgICAgICAgaWYgKHBhcmFtcy5kb3dubG9hZCkge1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZChyZXBvcnQsIGAke3BhcmFtcy5kb3dubG9hZE5hbWV9LiR7cGFyYW1zLmZvcm1hdH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcG9ydDtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWQoZmlsZTogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYmluYXJ5RGF0YSA9IFtmaWxlXTtcclxuICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGNvbnN0IHVybERvd25sb2FkID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoYmluYXJ5RGF0YSwgeyB0eXBlOiBmaWxlLnR5cGUgfSkpO1xyXG5cclxuICAgIGRvd25sb2FkTGluay5ocmVmID0gdXJsRG93bmxvYWQ7XHJcbiAgICBkb3dubG9hZExpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICAgIGRvd25sb2FkTGluay5jbGljaygpO1xyXG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsRG93bmxvYWQpO1xyXG4gICAgZG93bmxvYWRMaW5rLnJlbW92ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=