brainloper-ui 15.0.0 → 16.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 (88) hide show
  1. package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +151 -151
  2. package/esm2022/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +30 -0
  3. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -0
  4. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -0
  5. package/esm2022/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +42 -0
  6. package/esm2022/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +183 -0
  7. package/esm2022/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +746 -0
  8. package/esm2022/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +122 -0
  9. package/esm2022/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +205 -0
  10. package/esm2022/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +227 -0
  11. package/esm2022/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +89 -0
  12. package/esm2022/src/app/modules/brainloper-ui/components/report/template-ot/template-ot.component.mjs +86 -0
  13. package/esm2022/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +117 -0
  14. package/esm2022/src/app/modules/directives/carousel-item.directive.mjs +20 -0
  15. package/esm2022/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +6 -0
  16. package/esm2022/src/app/modules/services/crypto.service.mjs +38 -0
  17. package/esm2022/src/app/modules/services/export-data.service.mjs +169 -0
  18. package/{esm2020 → esm2022}/src/app/modules/services/file-forms.service.mjs +4 -4
  19. package/{esm2020 → esm2022}/src/app/modules/services/fuel-order-pdf.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/src/app/modules/services/functions.service.mjs +4 -4
  21. package/esm2022/src/app/modules/services/generate-pdf.service.mjs +93 -0
  22. package/esm2022/src/app/modules/services/http.service.mjs +142 -0
  23. package/esm2022/src/app/modules/services/loading/loading.component.mjs +30 -0
  24. package/{esm2020 → esm2022}/src/app/modules/services/local-storage.service.mjs +6 -6
  25. package/esm2022/src/app/modules/services/message.service.mjs +202 -0
  26. package/esm2022/src/app/modules/services/purchase-order-pdf.service.mjs +179 -0
  27. package/esm2022/src/app/modules/services/session.service.mjs +43 -0
  28. package/{esm2020 → esm2022}/src/app/modules/services/work-order-pdf.service.mjs +4 -4
  29. package/{fesm2020 → fesm2022}/brainloper-ui.mjs +501 -409
  30. package/{fesm2015 → fesm2022}/brainloper-ui.mjs.map +1 -1
  31. package/package.json +17 -23
  32. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +1 -1
  33. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +1 -1
  34. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +1 -1
  35. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +1 -1
  36. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +1 -1
  37. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +1 -1
  38. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +2 -1
  39. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +1 -1
  40. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +1 -1
  41. package/src/app/modules/directives/carousel-item.directive.d.ts +1 -1
  42. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +0 -29
  43. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +0 -23
  44. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +0 -83
  45. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +0 -40
  46. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +0 -176
  47. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +0 -728
  48. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +0 -118
  49. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +0 -184
  50. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +0 -222
  51. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +0 -84
  52. package/esm2020/src/app/modules/brainloper-ui/components/report/template-ot/template-ot.component.mjs +0 -81
  53. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +0 -108
  54. package/esm2020/src/app/modules/directives/carousel-item.directive.mjs +0 -18
  55. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +0 -8
  56. package/esm2020/src/app/modules/services/crypto.service.mjs +0 -37
  57. package/esm2020/src/app/modules/services/export-data.service.mjs +0 -166
  58. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +0 -89
  59. package/esm2020/src/app/modules/services/http.service.mjs +0 -140
  60. package/esm2020/src/app/modules/services/loading/loading.component.mjs +0 -28
  61. package/esm2020/src/app/modules/services/message.service.mjs +0 -200
  62. package/esm2020/src/app/modules/services/purchase-order-pdf.service.mjs +0 -178
  63. package/esm2020/src/app/modules/services/session.service.mjs +0 -42
  64. package/fesm2015/brainloper-ui.mjs +0 -3912
  65. package/fesm2020/brainloper-ui.mjs.map +0 -1
  66. /package/{esm2020 → esm2022}/brainloper-ui.mjs +0 -0
  67. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  68. /package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +0 -0
  69. /package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +0 -0
  70. /package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +0 -0
  71. /package/{esm2020 → esm2022}/src/app/modules/interfaces/buttons/button-icon.mjs +0 -0
  72. /package/{esm2020 → esm2022}/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +0 -0
  73. /package/{esm2020 → esm2022}/src/app/modules/interfaces/combos/combos-configuration.mjs +0 -0
  74. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/params.mjs +0 -0
  75. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/rules.mjs +0 -0
  76. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/table-columns.mjs +0 -0
  77. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/table-configuration.mjs +0 -0
  78. /package/{esm2020 → esm2022}/src/app/modules/interfaces/enum/enumActions.mjs +0 -0
  79. /package/{esm2020 → esm2022}/src/app/modules/interfaces/enum/enumRules.mjs +0 -0
  80. /package/{esm2020 → esm2022}/src/app/modules/interfaces/enum/httpResponseType.mjs +0 -0
  81. /package/{esm2020 → esm2022}/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +0 -0
  82. /package/{esm2020 → esm2022}/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +0 -0
  83. /package/{esm2020 → esm2022}/src/app/modules/interfaces/filters/header-filters.mjs +0 -0
  84. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pdf-base.mjs +0 -0
  85. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pdf-ot.mjs +0 -0
  86. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pdf-purchase-order.mjs +0 -0
  87. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pfd-fo.mjs +0 -0
  88. /package/{esm2020 → esm2022}/src/app/modules/services/screen-size-util.mjs +0 -0
@@ -1,140 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpParams } from '@angular/common/http';
3
- import { HttpResponseType } from '../interfaces/enum/httpResponseType';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "./message.service";
7
- export class HttpService {
8
- constructor(http, message) {
9
- this.http = http;
10
- this.message = message;
11
- }
12
- createParams(params) {
13
- let data = new HttpParams();
14
- if (params) {
15
- params.forEach(element => {
16
- data = data.append(`${element.id}`, `${element.value}`);
17
- });
18
- }
19
- return data;
20
- }
21
- createOptionsWithResponseType(params, withCredentials = false, responseType = HttpResponseType.JSON) {
22
- const options = {
23
- params: this.createParams(params),
24
- withCredentials
25
- };
26
- if (responseType !== HttpResponseType.JSON) {
27
- options.responseType = responseType;
28
- }
29
- return options;
30
- }
31
- getData(url, params, withCredentials = false) {
32
- return this.http.get(url, { params: this.createParams(params), withCredentials });
33
- }
34
- postData(url, body, params, withCredentials = false) {
35
- return this.http.post(url, body, { params: this.createParams(params), withCredentials });
36
- }
37
- putData(url, body, params, withCredentials = false) {
38
- return this.http.put(url, body, { params: this.createParams(params), withCredentials });
39
- }
40
- deleteData(url, params, withCredentials = false) {
41
- return this.http.delete(url, { params: this.createParams(params), withCredentials });
42
- }
43
- getDataPromise(url, params, withCredentials = false) {
44
- return new Promise((resolve, reject) => {
45
- this.getData(url, params, withCredentials).subscribe(res => resolve(res), err => reject(err));
46
- });
47
- }
48
- postDataPromise(url, body, params, withCredentials = false) {
49
- return new Promise((resolve, reject) => {
50
- this.postData(url, body, params, withCredentials).subscribe(res => resolve(res), err => reject(err));
51
- });
52
- }
53
- putDataPromise(url, body, params, withCredentials = false) {
54
- return new Promise((resolve, reject) => {
55
- this.putData(url, body, params, withCredentials).subscribe(res => resolve(res), err => reject(err));
56
- });
57
- }
58
- deleteDataPromise(url, params, withCredentials = false) {
59
- return new Promise((resolve, reject) => {
60
- this.deleteData(url, params, withCredentials).subscribe(res => resolve(res), err => reject(err));
61
- });
62
- }
63
- getDataBody(url, params, withCredentials = false) {
64
- return new Promise((resolve, reject) => {
65
- this.http.get(url, { params: this.createParams(params), withCredentials }).subscribe(res => {
66
- if (res['code'] === 0 && res['body']) {
67
- resolve(res['body']);
68
- }
69
- else {
70
- resolve(null);
71
- this.message.Error("Error", res['message']);
72
- }
73
- }, err => reject(err));
74
- });
75
- }
76
- postDataBody(url, body, params, withCredentials = false) {
77
- return new Promise((resolve, reject) => {
78
- this.http.post(url, body, { params: this.createParams(params), withCredentials }).subscribe(res => {
79
- if (res['code'] === 0 && res['body']) {
80
- resolve(res['body']);
81
- }
82
- else {
83
- resolve(null);
84
- this.message.Error("Error", res['message']);
85
- }
86
- }, err => reject(err));
87
- });
88
- }
89
- putDataBody(url, body, params, withCredentials = false) {
90
- return new Promise((resolve, reject) => {
91
- this.http.put(url, body, { params: this.createParams(params), withCredentials }).subscribe(res => {
92
- if (res['code'] === 0 && res['body']) {
93
- resolve(res['body']);
94
- }
95
- else {
96
- resolve(null);
97
- this.message.Error("Error", res['message']);
98
- }
99
- }, err => reject(err));
100
- });
101
- }
102
- getDataWithResponseType(url, params, withCredentials = false, responseType = HttpResponseType.JSON) {
103
- return this.http.get(url, this.createOptionsWithResponseType(params, withCredentials, responseType));
104
- }
105
- postDataWithResponseType(url, body, params, withCredentials = false, responseType = HttpResponseType.JSON) {
106
- return this.http.post(url, body, this.createOptionsWithResponseType(params, withCredentials, responseType));
107
- }
108
- putDataWithResponseType(url, body, params, withCredentials = false, responseType = HttpResponseType.JSON) {
109
- return this.http.put(url, body, this.createOptionsWithResponseType(params, withCredentials, responseType));
110
- }
111
- deleteDataWithResponseType(url, params, withCredentials = false, responseType = HttpResponseType.JSON) {
112
- return this.http.delete(url, this.createOptionsWithResponseType(params, withCredentials, responseType));
113
- }
114
- getDataPromiseWithResponseType(url, params, withCredentials = false, responseType = HttpResponseType.JSON) {
115
- return new Promise((resolve, reject) => {
116
- this.getDataWithResponseType(url, params, withCredentials, responseType).subscribe(res => resolve(res), err => reject(err));
117
- });
118
- }
119
- postDataPromiseWithResponseType(url, body, params, withCredentials = false, responseType = HttpResponseType.JSON) {
120
- return new Promise((resolve, reject) => {
121
- this.postDataWithResponseType(url, body, params, withCredentials, responseType).subscribe(res => resolve(res), err => reject(err));
122
- });
123
- }
124
- putDataPromiseWithResponseType(url, body, params, withCredentials = false, responseType = HttpResponseType.JSON) {
125
- return new Promise((resolve, reject) => {
126
- this.putDataWithResponseType(url, body, params, withCredentials, responseType).subscribe(res => resolve(res), err => reject(err));
127
- });
128
- }
129
- deleteDataPromiseWithResponseType(url, params, withCredentials = false, responseType = HttpResponseType.JSON) {
130
- return new Promise((resolve, reject) => {
131
- this.deleteDataWithResponseType(url, params, withCredentials, responseType).subscribe(res => resolve(res), err => reject(err));
132
- });
133
- }
134
- }
135
- HttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
136
- HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HttpService });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HttpService, decorators: [{
138
- type: Injectable
139
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MessageService }]; } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQUd2RSxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNVLElBQWdCLEVBQ2hCLE9BQXVCO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFDN0IsQ0FBQztJQUVHLFlBQVksQ0FBQyxNQUFZO1FBQy9CLElBQUksSUFBSSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN2QixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxNQUFPLEVBQUUsa0JBQTJCLEtBQUssRUFBRSxlQUFpQyxnQkFBZ0IsQ0FBQyxJQUFJO1FBQ3JJLE1BQU0sT0FBTyxHQUFRO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxlQUFlO1NBQ2hCLENBQUM7UUFFRixJQUFJLFlBQVksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDMUMsT0FBTyxDQUFDLFlBQVksR0FBRyxZ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QztJQUVELDhCQUE4QixDQUFVLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTyxFQUFFLGtCQUEyQixLQUFLLEVBQUUsZUFBaUMsZ0JBQWdCLENBQUMsSUFBSTtRQUMvSixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUN0RixHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFRLENBQUMsRUFDeEIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQ25CLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQ0FBaUMsQ0FBVSxHQUFXLEVBQUUsTUFBTyxFQUFFLGtCQUEyQixLQUFLLEVBQUUsZUFBaUMsZ0JBQWdCLENBQUMsSUFBSTtRQUN2SixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQ25GLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQVEsQ0FBQyxFQUN4QixHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDbkIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUdBcExVLFdBQVc7NkdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSHR0cFJlc3BvbnNlVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZW51bS9odHRwUmVzcG9uc2VUeXBlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBtZXNzYWdlOiBNZXNzYWdlU2VydmljZVxuICApIHsgfVxuXG4gIHByaXZhdGUgY3JlYXRlUGFyYW1zKHBhcmFtcz86IGFueSk6IEh0dHBQYXJhbXMge1xuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3B0aW9uc1dpdGhSZXNwb25zZVR5cGUocGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UsIHJlc3BvbnNlVHlwZTogSHR0cFJlc3BvbnNlVHlwZSA9IEh0dHBSZXNwb25zZVR5cGUuSlNPTikge1xuICAgIGNvbnN0IG9wdGlvbnM6IGFueSA9IHsgXG4gICAgICBwYXJhbXM6IHRoaXMuY3JlYXRlUGFyYW1zKHBhcmFtcyksIFxuICAgICAgd2l0aENyZWRlbnRpYWxzIFxuICAgIH07XG4gICAgXG4gICAgaWYgKHJlc3BvbnNlVHlwZSAhPT0gSHR0cFJlc3BvbnNlVHlwZS5KU09OKSB7XG4gICAgICBvcHRpb25zLnJlc3BvbnNlVHlwZSA9IHJlc3BvbnNlVHlwZTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBnZXREYXRhKHVybDogc3RyaW5nLCBwYXJhbXM/LCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyBwYXJhbXM6IHRoaXMuY3JlYXRlUGFyYW1zKHBhcmFtcyksIHdpdGhDcmVkZW50aWFscyB9KTtcbiAgfVxuXG4gIHBvc3REYXRhKHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgYm9keSwgeyBwYXJhbXM6IHRoaXMuY3JlYXRlUGFyYW1zKHBhcmFtcyksIHdpdGhDcmVkZW50aWFscyB9KTtcbiAgfVxuXG4gIHB1dERhdGEodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGJvZHksIHsgcGFyYW1zOiB0aGlzLmNyZWF0ZVBhcmFtcyhwYXJhbXMpLCB3aXRoQ3JlZGVudGlhbHMgfSk7XG4gIH1cblxuICBkZWxldGVEYXRhKHVybDogc3RyaW5nLCBwYXJhbXM/LCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHVybCwgeyBwYXJhbXM6IHRoaXMuY3JlYXRlUGFyYW1zKHBhcmFtcyksIHdpdGhDcmVkZW50aWFscyB9KTtcbiAgfVxuXG4gIGdldERhdGFQcm9taXNlKHVybDogc3RyaW5nLCBwYXJhbXM/LCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmdldERhdGEodXJsLCBwYXJhbXMsIHdpdGhDcmVkZW50aWFscykuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4gcmVzb2x2ZShyZXMpLFxuICAgICAgICBlcnIgPT4gcmVqZWN0KGVycilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwb3N0RGF0YVByb21pc2UodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wb3N0RGF0YSh1cmwsIGJvZHksIHBhcmFtcywgd2l0aENyZWRlbnRpYWxzKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiByZXNvbHZlKHJlcyksXG4gICAgICAgIGVyciA9PiByZWplY3QoZXJyKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1dERhdGFQcm9taXNlKHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucHV0RGF0YSh1cmwsIGJvZHksIHBhcmFtcywgd2l0aENyZWRlbnRpYWxzKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiByZXNvbHZlKHJlcyksXG4gICAgICAgIGVyciA9PiByZWplY3QoZXJyKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZURhdGFQcm9taXNlKHVybDogc3RyaW5nLCBwYXJhbXM/LCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmRlbGV0ZURhdGEodXJsLCBwYXJhbXMsIHdpdGhDcmVkZW50aWFscykuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4gcmVzb2x2ZShyZXMpLFxuICAgICAgICBlcnIgPT4gcmVqZWN0KGVycilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBnZXREYXRhQm9keTxUPih1cmw6IHN0cmluZywgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5odHRwLmdldCh1cmwsIHsgcGFyYW1zOiB0aGlzLmNyZWF0ZVBhcmFtcyhwYXJhbXMpLCB3aXRoQ3JlZGVudGlhbHMgfSkuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXNbJ2NvZGUnXSA9PT0gMCAmJiByZXNbJ2JvZHknXSkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXNbJ2JvZHknXSBhcyBUKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZS5FcnJvcihcIkVycm9yXCIsIHJlc1snbWVzc2FnZSddKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiByZWplY3QoZXJyKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHBvc3REYXRhQm9keTxUPih1cmw6IHN0cmluZywgYm9keTogYW55LCBwYXJhbXM/LCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmh0dHAucG9zdCh1cmwsIGJvZHksIHsgcGFyYW1zOiB0aGlzLmNyZWF0ZVBhcmFtcyhwYXJhbXMpLCB3aXRoQ3JlZGVudGlhbHMgfSkuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXNbJ2NvZGUnXSA9PT0gMCAmJiByZXNbJ2JvZHknXSkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXNbJ2JvZHknXSBhcyBUKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZS5FcnJvcihcIkVycm9yXCIsIHJlc1snbWVzc2FnZSddKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiByZWplY3QoZXJyKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1dERhdGFCb2R5PFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaHR0cC5wdXQodXJsLCBib2R5LCB7IHBhcmFtczogdGhpcy5jcmVhdGVQYXJhbXMocGFyYW1zKSwgd2l0aENyZWRlbnRpYWxzIH0pLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzWydjb2RlJ10gPT09IDAgJiYgcmVzWydib2R5J10pIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzWydib2R5J10gYXMgVCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UuRXJyb3IoXCJFcnJvclwiLCByZXNbJ21lc3NhZ2UnXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4gcmVqZWN0KGVycilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBnZXREYXRhV2l0aFJlc3BvbnNlVHlwZSh1cmw6IHN0cmluZywgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UsIHJlc3BvbnNlVHlwZTogSHR0cFJlc3BvbnNlVHlwZSA9IEh0dHBSZXNwb25zZVR5cGUuSlNPTikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgdGhpcy5jcmVhdGVPcHRpb25zV2l0aFJlc3BvbnNlVHlwZShwYXJhbXMsIHdpdGhDcmVkZW50aWFscywgcmVzcG9uc2VUeXBlKSk7XG4gIH1cblxuICBwb3N0RGF0YVdpdGhSZXNwb25zZVR5cGUodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UsIHJlc3BvbnNlVHlwZTogSHR0cFJlc3BvbnNlVHlwZSA9IEh0dHBSZXNwb25zZVR5cGUuSlNPTikge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGJvZHksIHRoaXMuY3JlYXRlT3B0aW9uc1dpdGhSZXNwb25zZVR5cGUocGFyYW1zLCB3aXRoQ3JlZGVudGlhbHMsIHJlc3BvbnNlVHlwZSkpO1xuICB9XG5cbiAgcHV0RGF0YVdpdGhSZXNwb25zZVR5cGUodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UsIHJlc3BvbnNlVHlwZTogSHR0cFJlc3BvbnNlVHlwZSA9IEh0dHBSZXNwb25zZVR5cGUuSlNPTikge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgYm9keSwgdGhpcy5jcmVhdGVPcHRpb25zV2l0aFJlc3BvbnNlVHlwZShwYXJhbXMsIHdpdGhDcmVkZW50aWFscywgcmVzcG9uc2VUeXBlKSk7XG4gIH1cblxuICBkZWxldGVEYXRhV2l0aFJlc3BvbnNlVHlwZSh1cmw6IHN0cmluZywgcGFyYW1zPywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2UsIHJlc3BvbnNlVHlwZTogSHR0cFJlc3BvbnNlVHlwZSA9IEh0dHBSZXNwb25zZVR5cGUuSlNPTikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHVybCwgdGhpcy5jcmVhdGVPcHRpb25zV2l0aFJlc3BvbnNlVHlwZShwYXJhbXMsIHdpdGhDcmVkZW50aWFscywgcmVzcG9uc2VUeXBlKSk7XG4gIH1cblxuICBnZXREYXRhUHJvbWlzZVdpdGhSZXNwb25zZVR5cGU8VCA9IGFueT4odXJsOiBzdHJpbmcsIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlLCByZXNwb25zZVR5cGU6IEh0dHBSZXNwb25zZVR5cGUgPSBIdHRwUmVzcG9uc2VUeXBlLkpTT04pOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5nZXREYXRhV2l0aFJlc3BvbnNlVHlwZSh1cmwsIHBhcmFtcywgd2l0aENyZWRlbnRpYWxzLCByZXNwb25zZVR5cGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHJlc29sdmUocmVzIGFzIFQpLFxuICAgICAgICBlcnIgPT4gcmVqZWN0KGVycilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwb3N0RGF0YVByb21pc2VXaXRoUmVzcG9uc2VUeXBlPFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlLCByZXNwb25zZVR5cGU6IEh0dHBSZXNwb25zZVR5cGUgPSBIdHRwUmVzcG9uc2VUeXBlLkpTT04pOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wb3N0RGF0YVdpdGhSZXNwb25zZVR5cGUodXJsLCBib2R5LCBwYXJhbXMsIHdpdGhDcmVkZW50aWFscywgcmVzcG9uc2VUeXBlKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiByZXNvbHZlKHJlcyBhcyBUKSxcbiAgICAgICAgZXJyID0+IHJlamVjdChlcnIpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHV0RGF0YVByb21pc2VXaXRoUmVzcG9uc2VUeXBlPFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlLCByZXNwb25zZVR5cGU6IEh0dHBSZXNwb25zZVR5cGUgPSBIdHRwUmVzcG9uc2VUeXBlLkpTT04pOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wdXREYXRhV2l0aFJlc3BvbnNlVHlwZSh1cmwsIGJvZHksIHBhcmFtcywgd2l0aENyZWRlbnRpYWxzLCByZXNwb25zZVR5cGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHJlc29sdmUocmVzIGFzIFQpLFxuICAgICAgICBlcnIgPT4gcmVqZWN0KGVycilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVEYXRhUHJvbWlzZVdpdGhSZXNwb25zZVR5cGU8VCA9IGFueT4odXJsOiBzdHJpbmcsIHBhcmFtcz8sIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbiA9IGZhbHNlLCByZXNwb25zZVR5cGU6IEh0dHBSZXNwb25zZVR5cGUgPSBIdHRwUmVzcG9uc2VUeXBlLkpTT04pOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5kZWxldGVEYXRhV2l0aFJlc3BvbnNlVHlwZSh1cmwsIHBhcmFtcywgd2l0aENyZWRlbnRpYWxzLCByZXNwb25zZVR5cGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHJlc29sdmUocmVzIGFzIFQpLFxuICAgICAgICBlcnIgPT4gcmVqZWN0KGVycilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -1,28 +0,0 @@
1
- import { Component, Inject, ViewEncapsulation } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- export class LoadingComponent {
6
- constructor(dialogRef, data) {
7
- this.dialogRef = dialogRef;
8
- this.data = data;
9
- this.options = {
10
- path: '/assets/loading.json'
11
- };
12
- }
13
- ngOnInit() {
14
- }
15
- animationCreated(animationItem) {
16
- console.log(animationItem);
17
- }
18
- }
19
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoadingComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
20
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LoadingComponent, selector: "app-loading", ngImport: i0, template: "<mat-dialog-content style=\"display: flex; justify-content: center; align-items: center; flex-direction: column;\">\n <div style=\"font-size: 20px;\">\n <strong>{{data.title}}</strong>\n </div>\n <div>\n <!-- <ng-lottie width='170px' [options]=\"options\" (animationCreated)=\"animationCreated($event)\"></ng-lottie> -->\n <img width=\"170px\" src=\"assets/loading.gif\" alt=\"\">\n </div>\n <div style=\"text-align: center;\">\n {{data.message}}\n </div>\n</mat-dialog-content>", styles: [".mat-dialog-container{overflow:hidden!important;background-color:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoadingComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'app-loading', encapsulation: ViewEncapsulation.None, template: "<mat-dialog-content style=\"display: flex; justify-content: center; align-items: center; flex-direction: column;\">\n <div style=\"font-size: 20px;\">\n <strong>{{data.title}}</strong>\n </div>\n <div>\n <!-- <ng-lottie width='170px' [options]=\"options\" (animationCreated)=\"animationCreated($event)\"></ng-lottie> -->\n <img width=\"170px\" src=\"assets/loading.gif\" alt=\"\">\n </div>\n <div style=\"text-align: center;\">\n {{data.message}}\n </div>\n</mat-dialog-content>", styles: [".mat-dialog-container{overflow:hidden!important;background-color:#fff!important}\n"] }]
24
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
25
- type: Inject,
26
- args: [MAT_DIALOG_DATA]
27
- }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUcsTUFBTSxlQUFlLENBQUM7QUFHOUUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3pFLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDUyxTQUF5QyxFQUNoQixJQUFJO1FBRDdCLGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQ2hCLFNBQUksR0FBSixJQUFJLENBQUE7UUFOdEMsWUFBTyxHQUFxQjtZQUMxQixJQUFJLEVBQUUsc0JBQXNCO1NBQzdCLENBQUM7SUFLRSxDQUFDO0lBRUwsUUFBUTtJQUVSLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUE0QjtRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzhHQWpCVSxnQkFBZ0IsOENBUWpCLGVBQWU7a0dBUmQsZ0JBQWdCLG1EQ1o3QixrZkFXcUI7NEZEQ1IsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs7MEJBVWxDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uSXRlbSB9IGZyb20gJ2xvdHRpZS13ZWInO1xuaW1wb3J0IHsgQW5pbWF0aW9uT3B0aW9ucyB9IGZyb20gJ25neC1sb3R0aWUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2FkaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyA9IHtcbiAgICBwYXRoOiAnL2Fzc2V0cy9sb2FkaW5nLmpzb24nXG4gIH07XG4gXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxMb2FkaW5nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGFcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgYW5pbWF0aW9uQ3JlYXRlZChhbmltYXRpb25JdGVtOiBBbmltYXRpb25JdGVtKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coYW5pbWF0aW9uSXRlbSk7XG4gIH1cblxuICBcblxufVxuIiwiPG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAyMHB4O1wiPlxuICAgIDxzdHJvbmc+e3tkYXRhLnRpdGxlfX08L3N0cm9uZz5cbiAgPC9kaXY+XG4gIDxkaXY+XG4gICAgPCEtLSA8bmctbG90dGllIHdpZHRoPScxNzBweCcgW29wdGlvbnNdPVwib3B0aW9uc1wiIChhbmltYXRpb25DcmVhdGVkKT1cImFuaW1hdGlvbkNyZWF0ZWQoJGV2ZW50KVwiPjwvbmctbG90dGllPiAtLT5cbiAgICA8aW1nIHdpZHRoPVwiMTcwcHhcIiBzcmM9XCJhc3NldHMvbG9hZGluZy5naWZcIiBhbHQ9XCJcIj5cbiAgPC9kaXY+XG4gIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XG4gICAge3tkYXRhLm1lc3NhZ2V9fVxuICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PiJdfQ==
@@ -1,200 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import Swal from 'sweetalert2';
3
- import { LoadingComponent } from './loading/loading.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/dialog";
6
- export class MessageService {
7
- constructor(dialog) {
8
- this.dialog = dialog;
9
- this.loadingNow = false;
10
- this.warningQueue = [];
11
- this.showingWarning = false;
12
- }
13
- openLoading(title, message) {
14
- if (!this.loadingNow) {
15
- this.loadingNow = true;
16
- this.loading = this.dialog.open(LoadingComponent, {
17
- data: {
18
- title,
19
- message
20
- },
21
- width: '250px',
22
- // height:'280px',
23
- disableClose: true,
24
- });
25
- }
26
- }
27
- closeLoading() {
28
- if (this.loadingNow) {
29
- this.loading.close();
30
- this.loadingNow = false;
31
- }
32
- }
33
- Error(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
34
- return new Promise((resolve, reject) => {
35
- Swal.fire({
36
- title: title,
37
- text: message,
38
- icon: 'error',
39
- showCancelButton: showCancelButton,
40
- confirmButtonText: confirmButtonText,
41
- cancelButtonText: cancelButtonText,
42
- customClass: {
43
- confirmButton: 'confirm-button-class',
44
- cancelButton: 'cancel-button-class',
45
- }
46
- }).then((result) => {
47
- if (result.value) {
48
- resolve(true);
49
- }
50
- else if (result.dismiss === Swal.DismissReason.cancel) {
51
- resolve(false);
52
- }
53
- });
54
- });
55
- }
56
- Success(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
57
- return new Promise((resolve, reject) => {
58
- Swal.fire({
59
- title: title,
60
- text: message,
61
- icon: 'success',
62
- showCancelButton: showCancelButton,
63
- confirmButtonText: confirmButtonText,
64
- cancelButtonText: cancelButtonText,
65
- customClass: {
66
- confirmButton: 'confirm-button-class',
67
- cancelButton: 'cancel-button-class',
68
- }
69
- }).then((result) => {
70
- if (result.value) {
71
- resolve(true);
72
- }
73
- else if (result.dismiss === Swal.DismissReason.cancel) {
74
- resolve(false);
75
- }
76
- });
77
- });
78
- }
79
- Warning(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar', allowOutsideClick = false) {
80
- return new Promise((resolve, reject) => {
81
- const warningData = {
82
- title: title,
83
- message: message,
84
- showCancelButton: showCancelButton,
85
- confirmButtonText: confirmButtonText,
86
- cancelButtonText: cancelButtonText,
87
- resolve: resolve,
88
- allowOutsideClick
89
- };
90
- this.warningQueue.push(warningData);
91
- if (!this.showingWarning) {
92
- this.showNextWarning();
93
- }
94
- });
95
- }
96
- showNextWarning() {
97
- if (this.warningQueue.length > 0) {
98
- this.showingWarning = true;
99
- const warningData = this.warningQueue.shift();
100
- Swal.fire({
101
- title: warningData.title,
102
- text: warningData.message,
103
- icon: 'warning',
104
- showCancelButton: warningData.showCancelButton,
105
- confirmButtonText: warningData.confirmButtonText,
106
- cancelButtonText: warningData.cancelButtonText,
107
- customClass: {
108
- confirmButton: 'confirm-button-class',
109
- cancelButton: 'cancel-button-class',
110
- },
111
- allowOutsideClick: warningData.allowOutsideClick,
112
- }).then((result) => {
113
- this.showingWarning = false;
114
- if (result.value) {
115
- warningData.resolve(true);
116
- }
117
- else if (result.dismiss === Swal.DismissReason.cancel) {
118
- warningData.resolve(false);
119
- }
120
- this.showNextWarning();
121
- });
122
- }
123
- }
124
- Info(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
125
- return new Promise((resolve, reject) => {
126
- Swal.fire({
127
- title: title,
128
- text: message,
129
- icon: 'info',
130
- showCancelButton: showCancelButton,
131
- confirmButtonText: confirmButtonText,
132
- cancelButtonText: cancelButtonText,
133
- customClass: {
134
- confirmButton: 'confirm-button-class',
135
- cancelButton: 'cancel-button-class',
136
- }
137
- }).then((result) => {
138
- if (result.value) {
139
- resolve(true);
140
- }
141
- else if (result.dismiss === Swal.DismissReason.cancel) {
142
- resolve(false);
143
- }
144
- });
145
- });
146
- }
147
- SuccessToast(message, duration = 4000) {
148
- Swal.fire({
149
- position: 'top-end',
150
- icon: 'success',
151
- title: message,
152
- showConfirmButton: false,
153
- toast: true,
154
- timer: duration,
155
- width: 'auto'
156
- });
157
- }
158
- ErrorToast(message, duration = 4000) {
159
- Swal.fire({
160
- position: 'top-end',
161
- icon: 'error',
162
- title: message,
163
- showConfirmButton: false,
164
- toast: true,
165
- timer: duration,
166
- width: 'auto'
167
- });
168
- }
169
- WarningToast(message, duration = 4000) {
170
- Swal.fire({
171
- position: 'top-end',
172
- icon: 'warning',
173
- title: message,
174
- showConfirmButton: false,
175
- toast: true,
176
- timer: duration,
177
- width: 'auto'
178
- });
179
- }
180
- InfoToast(message, duration = 4000) {
181
- Swal.fire({
182
- position: 'top-end',
183
- icon: 'info',
184
- title: message,
185
- showConfirmButton: false,
186
- toast: true,
187
- timer: duration,
188
- width: 'auto'
189
- });
190
- }
191
- }
192
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
193
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageService, providedIn: 'root' });
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageService, decorators: [{
195
- type: Injectable,
196
- args: [{
197
- providedIn: 'root'
198
- }]
199
- }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUU5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQ1UsTUFBZ0I7UUFBaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUxsQixlQUFVLEdBQVksS0FBSyxDQUFBO1FBQzNCLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBSXBDLENBQUM7SUFFTCxXQUFXLENBQUMsS0FBSyxFQUFDLE9BQU87UUFDdkIsSUFBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDaEQsSUFBSSxFQUFDO29CQUNILEtBQUs7b0JBQ0wsT0FBTztpQkFDUjtnQkFDRCxLQUFLLEVBQUMsT0FBTztnQkFDYixrQkFBa0I7Z0JBQ2xCLFlBQVksRUFBQyxJQUFJO2FBRWxCLENBQUMsQ0FBQTtTQUNIO0lBRUgsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtTQUN4QjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBWSxFQUFFLE9BQWMsRUFBRSxt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Q1YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBYyxFQUFFLFdBQWtCLElBQUk7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEtBQUssRUFBQyxJQUFJO1lBQ1YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBYyxFQUFFLFdBQWtCLElBQUk7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEtBQUssRUFBQyxJQUFJO1lBQ1YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7OzRHQWhOVSxjQUFjO2dIQUFkLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcblxuICBwcml2YXRlIGxvYWRpbmdOb3c6IGJvb2xlYW4gPSBmYWxzZVxuICBwcml2YXRlIHdhcm5pbmdRdWV1ZTogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBzaG93aW5nV2FybmluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGxvYWRpbmdcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6TWF0RGlhbG9nXG4gICkgeyB9XG5cbiAgb3BlbkxvYWRpbmcodGl0bGUsbWVzc2FnZSl7XG4gICAgaWYoIXRoaXMubG9hZGluZ05vdyl7XG4gICAgICB0aGlzLmxvYWRpbmdOb3cgPSB0cnVlXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0aGlzLmRpYWxvZy5vcGVuKExvYWRpbmdDb21wb25lbnQsIHtcbiAgICAgICAgZGF0YTp7XG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgbWVzc2FnZVxuICAgICAgICB9LFxuICAgICAgICB3aWR0aDonMjUwcHgnLFxuICAgICAgICAvLyBoZWlnaHQ6JzI4MHB4JyxcbiAgICAgICAgZGlzYWJsZUNsb3NlOnRydWUsXG5cbiAgICAgIH0pXG4gICAgfVxuXG4gIH1cblxuICBjbG9zZUxvYWRpbmcoKXtcbiAgICBpZih0aGlzLmxvYWRpbmdOb3cpe1xuICAgICAgdGhpcy5sb2FkaW5nLmNsb3NlKClcbiAgICAgIHRoaXMubG9hZGluZ05vdyA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgRXJyb3IodGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWplY3QpPT57XG4gICAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgIHRleHQ6IG1lc3NhZ2UsXG4gICAgICAgIGljb246ICdlcnJvcicsXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHNob3dDYW5jZWxCdXR0b24sXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCxcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCxcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgICBjb25maXJtQnV0dG9uOiAnY29uZmlybS1idXR0b24tY2xhc3MnLFxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjogJ2NhbmNlbC1idXR0b24tY2xhc3MnLFxuICAgICAgICB9XG4gICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGlzbWlzcyA9PT0gU3dhbC5EaXNtaXNzUmVhc29uLmNhbmNlbCkge1xuICAgICAgICAgIHJlc29sdmUoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIFN1Y2Nlc3ModGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnLFxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBzaG93Q2FuY2VsQnV0dG9uLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQsXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XG4gICAgICAgICAgY29uZmlybUJ1dHRvbjogJ2NvbmZpcm0tYnV0dG9uLWNsYXNzJyxcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcbiAgICAgICAgfVxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcbiAgICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBXYXJuaW5nKFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIHNob3dDYW5jZWxCdXR0b246IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0FjZXB0YXInLFxuICAgIGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZyA9ICdDYW5jZWxhcicsXG4gICAgYWxsb3dPdXRzaWRlQ2xpY2sgPSBmYWxzZVxuICApIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgd2FybmluZ0RhdGEgPSB7XG4gICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogc2hvd0NhbmNlbEJ1dHRvbixcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0LFxuICAgICAgICByZXNvbHZlOiByZXNvbHZlLFxuICAgICAgICBhbGxvd091dHNpZGVDbGlja1xuICAgICAgfTtcblxuICAgICAgdGhpcy53YXJuaW5nUXVldWUucHVzaCh3YXJuaW5nRGF0YSk7XG5cbiAgICAgIGlmICghdGhpcy5zaG93aW5nV2FybmluZykge1xuICAgICAgICB0aGlzLnNob3dOZXh0V2FybmluZygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TmV4dFdhcm5pbmcoKSB7XG4gICAgaWYgKHRoaXMud2FybmluZ1F1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2hvd2luZ1dhcm5pbmcgPSB0cnVlO1xuICAgICAgY29uc3Qgd2FybmluZ0RhdGEgPSB0aGlzLndhcm5pbmdRdWV1ZS5zaGlmdCgpO1xuXG4gICAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogd2FybmluZ0RhdGEudGl0bGUsXG4gICAgICAgIHRleHQ6IHdhcm5pbmdEYXRhLm1lc3NhZ2UsXG4gICAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogd2FybmluZ0RhdGEuc2hvd0NhbmNlbEJ1dHRvbixcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IHdhcm5pbmdEYXRhLmNvbmZpcm1CdXR0b25UZXh0LFxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiB3YXJuaW5nRGF0YS5jYW5jZWxCdXR0b25UZXh0LFxuICAgICAgICBjdXN0b21DbGFzczoge1xuICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdjb25maXJtLWJ1dHRvbi1jbGFzcycsXG4gICAgICAgICAgY2FuY2VsQnV0dG9uOiAnY2FuY2VsLWJ1dHRvbi1jbGFzcycsXG4gICAgICAgIH0sXG4gICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB3YXJuaW5nRGF0YS5hbGxvd091dHNpZGVDbGljayxcbiAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICB0aGlzLnNob3dpbmdXYXJuaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xuICAgICAgICAgIHdhcm5pbmdEYXRhLnJlc29sdmUodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcbiAgICAgICAgICB3YXJuaW5nRGF0YS5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNob3dOZXh0V2FybmluZygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgSW5mbyh0aXRsZTpzdHJpbmcsIG1lc3NhZ2U6c3RyaW5nLCBzaG93Q2FuY2VsQnV0dG9uOmJvb2xlYW49ZmFsc2UsY29uZmlybUJ1dHRvblRleHQ6c3RyaW5nPSdBY2VwdGFyJywgY2FuY2VsQnV0dG9uVGV4dDpzdHJpbmc9J0NhbmNlbGFyJyl7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBzaG93Q2FuY2VsQnV0dG9uLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQsXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XG4gICAgICAgICAgY29uZmlybUJ1dHRvbjogJ2NvbmZpcm0tYnV0dG9uLWNsYXNzJyxcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcbiAgICAgICAgfVxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcbiAgICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuXG4gIFN1Y2Nlc3NUb2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXG4gICAgICBpY29uOiAnc3VjY2VzcycsXG4gICAgICB0aXRsZTogbWVzc2FnZSxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHRvYXN0OnRydWUsXG4gICAgICB0aW1lcjogZHVyYXRpb24sXG4gICAgICB3aWR0aDonYXV0bydcbiAgICB9KVxuICB9XG5cbiAgRXJyb3JUb2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXG4gICAgICBpY29uOiAnZXJyb3InLFxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICB0b2FzdDp0cnVlLFxuICAgICAgdGltZXI6IGR1cmF0aW9uLFxuICAgICAgd2lkdGg6J2F1dG8nXG4gICAgfSlcbiAgfVxuXG4gIFdhcm5pbmdUb2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICB0aXRsZTogbWVzc2FnZSxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHRvYXN0OnRydWUsXG4gICAgICB0aW1lcjogZHVyYXRpb24sXG4gICAgICB3aWR0aDonYXV0bydcbiAgICB9KVxuICB9XG5cbiAgSW5mb1RvYXN0KG1lc3NhZ2U6c3RyaW5nLCBkdXJhdGlvbjpudW1iZXIgPSA0MDAwKXtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcbiAgICAgIGljb246ICdpbmZvJyxcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgdG9hc3Q6dHJ1ZSxcbiAgICAgIHRpbWVyOiBkdXJhdGlvbixcbiAgICAgIHdpZHRoOidhdXRvJ1xuICAgIH0pXG4gIH1cblxufVxuIl19