brainloper-ui 1.2.16 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2022 → esm2020}/brainloper-ui.mjs +4 -4
- package/esm2020/public_api.mjs +51 -0
- package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +305 -0
- package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -0
- package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -0
- package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -0
- package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +31 -0
- package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +159 -0
- package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +486 -0
- package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -0
- package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +185 -0
- package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +1 -1
- package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -0
- package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +80 -0
- package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +81 -0
- package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -0
- package/{esm2022 → esm2020}/src/app/modules/interfaces/buttons/button-icon.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/combos/combos-configuration.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/params.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/rules.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/table-columns.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/table-configuration.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/enum/enumActions.mjs +6 -6
- package/{esm2022 → esm2020}/src/app/modules/interfaces/enum/enumRules.mjs +7 -7
- package/{esm2022 → esm2020}/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/filters/header-filters.mjs +1 -1
- package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -0
- package/{esm2022 → esm2020}/src/app/modules/interfaces/report/template-pdf-ot.mjs +1 -1
- package/{esm2022 → esm2020}/src/app/modules/interfaces/report/template-pfd-fo.mjs +1 -1
- package/esm2020/src/app/modules/services/crypto.service.mjs +37 -0
- package/esm2020/src/app/modules/services/export-data.service.mjs +143 -0
- package/{esm2022 → esm2020}/src/app/modules/services/file-forms.service.mjs +24 -24
- package/{esm2022 → esm2020}/src/app/modules/services/functions.service.mjs +54 -54
- package/esm2020/src/app/modules/services/generate-pdf.service.mjs +58 -0
- package/esm2020/src/app/modules/services/http.service.mjs +154 -0
- package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -0
- package/{esm2022 → esm2020}/src/app/modules/services/local-storage.service.mjs +115 -115
- package/esm2020/src/app/modules/services/message.service.mjs +196 -0
- package/{esm2022 → esm2020}/src/app/modules/services/screen-size-util.mjs +5 -5
- package/esm2020/src/app/modules/services/session.service.mjs +42 -0
- package/fesm2015/brainloper-ui.mjs +2690 -0
- package/fesm2015/brainloper-ui.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/brainloper-ui.mjs +2563 -2520
- package/fesm2020/brainloper-ui.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/package.json +25 -19
- package/public_api.d.ts +50 -49
- package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +73 -71
- package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -13
- package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -10
- package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -24
- package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +12 -12
- package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -46
- package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +104 -104
- package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -21
- package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -42
- package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -2
- package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -2
- package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -2
- package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -30
- package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +35 -35
- package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +36 -36
- package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -0
- package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -9
- package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -6
- package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -13
- package/src/app/modules/interfaces/data-table/params.d.ts +7 -7
- package/src/app/modules/interfaces/data-table/rules.d.ts +8 -8
- package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -25
- package/src/app/modules/interfaces/data-table/table-configuration.d.ts +19 -19
- package/src/app/modules/interfaces/enum/enumActions.d.ts +5 -5
- package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -6
- package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -4
- package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -13
- package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -13
- package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -10
- package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +19 -19
- package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +20 -20
- package/src/app/modules/services/crypto.service.d.ts +10 -10
- package/src/app/modules/services/export-data.service.d.ts +15 -15
- package/src/app/modules/services/file-forms.service.d.ts +7 -7
- package/src/app/modules/services/functions.service.d.ts +13 -13
- package/src/app/modules/services/generate-pdf.service.d.ts +12 -12
- package/src/app/modules/services/http.service.d.ts +21 -21
- package/src/app/modules/services/loading/loading.component.d.ts +15 -15
- package/src/app/modules/services/local-storage.service.d.ts +49 -49
- package/src/app/modules/services/message.service.d.ts +23 -23
- package/src/app/modules/services/screen-size-util.d.ts +3 -3
- package/src/app/modules/services/session.service.d.ts +14 -14
- package/esm2022/public_api.mjs +0 -50
- package/esm2022/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +0 -296
- package/esm2022/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +0 -30
- package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +0 -23
- package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +0 -83
- package/esm2022/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +0 -30
- package/esm2022/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +0 -165
- package/esm2022/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +0 -501
- package/esm2022/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +0 -122
- package/esm2022/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +0 -203
- package/esm2022/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +0 -226
- package/esm2022/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +0 -84
- package/esm2022/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +0 -85
- package/esm2022/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +0 -6
- package/esm2022/src/app/modules/services/crypto.service.mjs +0 -38
- package/esm2022/src/app/modules/services/export-data.service.mjs +0 -146
- package/esm2022/src/app/modules/services/generate-pdf.service.mjs +0 -59
- package/esm2022/src/app/modules/services/http.service.mjs +0 -156
- package/esm2022/src/app/modules/services/loading/loading.component.mjs +0 -30
- package/esm2022/src/app/modules/services/message.service.mjs +0 -198
- package/esm2022/src/app/modules/services/session.service.mjs +0 -43
- package/fesm2022/brainloper-ui.mjs.map +0 -1
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
import { compress, decompress } from 'lz-string';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class LocalStorageService {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this.prefix += '.';
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* set key in local storage
|
|
12
|
-
* @param key key
|
|
13
|
-
* @param value value
|
|
14
|
-
*/
|
|
15
|
-
set(key, value) {
|
|
16
|
-
key = this.prefix + key;
|
|
17
|
-
this.store.setItem(key, compress(JSON.stringify(value))); // compress data
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* get key in local storage
|
|
22
|
-
* @param key key
|
|
23
|
-
* @returns value as object
|
|
24
|
-
*/
|
|
25
|
-
get(key) {
|
|
26
|
-
key = this.prefix + key;
|
|
27
|
-
const datacompressed = this.store.getItem(key);
|
|
28
|
-
if (!datacompressed) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const item = decompress(datacompressed); // decompress
|
|
32
|
-
return JSON.parse(item);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* remove a key
|
|
36
|
-
* @param key key to remove
|
|
37
|
-
* @returns boolean
|
|
38
|
-
*/
|
|
39
|
-
remove(key) {
|
|
40
|
-
key = this.prefix + key;
|
|
41
|
-
this.store.removeItem(key);
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* clear all
|
|
46
|
-
* @returns boolean
|
|
47
|
-
*/
|
|
48
|
-
clear() {
|
|
49
|
-
this.store.clear();
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* get all keys present in local storage
|
|
54
|
-
* @returns array of keys
|
|
55
|
-
*/
|
|
56
|
-
getAllKeys() {
|
|
57
|
-
let keys = [];
|
|
58
|
-
for (let index = 0; index < this.store.length; index++) {
|
|
59
|
-
const key = this.store.key(index);
|
|
60
|
-
if (key.indexOf(this.prefix) === 0) {
|
|
61
|
-
keys.push(key.substr(this.prefix.length));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return keys;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* set key with expire time
|
|
68
|
-
* @param key key
|
|
69
|
-
* @param value value
|
|
70
|
-
* @returns true if set correctly
|
|
71
|
-
*/
|
|
72
|
-
setWhitExpiry(key, value) {
|
|
73
|
-
const now = new Date();
|
|
74
|
-
const ttl = 3600 * 1000;
|
|
75
|
-
const item = {
|
|
76
|
-
value: value,
|
|
77
|
-
expiry: now.getTime() + ttl,
|
|
78
|
-
};
|
|
79
|
-
key = this.prefix + key;
|
|
80
|
-
this.store.setItem(key, compress(JSON.stringify(item))); // compress data
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* return key with expire time
|
|
85
|
-
* @param key key
|
|
86
|
-
* @returns return object with data or null if key expired
|
|
87
|
-
*/
|
|
88
|
-
getWithExpiry(key) {
|
|
89
|
-
key = this.prefix + key;
|
|
90
|
-
const datacompressed = this.store.getItem(key);
|
|
91
|
-
if (!datacompressed) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
const itemStr = decompress(datacompressed); // decompress
|
|
95
|
-
const item = JSON.parse(itemStr);
|
|
96
|
-
const now = new Date();
|
|
97
|
-
if (!item) {
|
|
98
|
-
return null;
|
|
99
|
-
}
|
|
100
|
-
if (now.getTime() > item.expiry) {
|
|
101
|
-
this.store.removeItem(key);
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
return item.value;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
110
|
-
type: Injectable,
|
|
111
|
-
args: [{
|
|
112
|
-
providedIn: 'root',
|
|
113
|
-
}]
|
|
114
|
-
}], ctorParameters: function () { return []; } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { compress, decompress } from 'lz-string';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LocalStorageService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.prefix = 'bl-f';
|
|
7
|
+
this.store = window.localStorage;
|
|
8
|
+
this.prefix += '.';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* set key in local storage
|
|
12
|
+
* @param key key
|
|
13
|
+
* @param value value
|
|
14
|
+
*/
|
|
15
|
+
set(key, value) {
|
|
16
|
+
key = this.prefix + key;
|
|
17
|
+
this.store.setItem(key, compress(JSON.stringify(value))); // compress data
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* get key in local storage
|
|
22
|
+
* @param key key
|
|
23
|
+
* @returns value as object
|
|
24
|
+
*/
|
|
25
|
+
get(key) {
|
|
26
|
+
key = this.prefix + key;
|
|
27
|
+
const datacompressed = this.store.getItem(key);
|
|
28
|
+
if (!datacompressed) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const item = decompress(datacompressed); // decompress
|
|
32
|
+
return JSON.parse(item);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* remove a key
|
|
36
|
+
* @param key key to remove
|
|
37
|
+
* @returns boolean
|
|
38
|
+
*/
|
|
39
|
+
remove(key) {
|
|
40
|
+
key = this.prefix + key;
|
|
41
|
+
this.store.removeItem(key);
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* clear all
|
|
46
|
+
* @returns boolean
|
|
47
|
+
*/
|
|
48
|
+
clear() {
|
|
49
|
+
this.store.clear();
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* get all keys present in local storage
|
|
54
|
+
* @returns array of keys
|
|
55
|
+
*/
|
|
56
|
+
getAllKeys() {
|
|
57
|
+
let keys = [];
|
|
58
|
+
for (let index = 0; index < this.store.length; index++) {
|
|
59
|
+
const key = this.store.key(index);
|
|
60
|
+
if (key.indexOf(this.prefix) === 0) {
|
|
61
|
+
keys.push(key.substr(this.prefix.length));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return keys;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* set key with expire time
|
|
68
|
+
* @param key key
|
|
69
|
+
* @param value value
|
|
70
|
+
* @returns true if set correctly
|
|
71
|
+
*/
|
|
72
|
+
setWhitExpiry(key, value) {
|
|
73
|
+
const now = new Date();
|
|
74
|
+
const ttl = 3600 * 1000;
|
|
75
|
+
const item = {
|
|
76
|
+
value: value,
|
|
77
|
+
expiry: now.getTime() + ttl,
|
|
78
|
+
};
|
|
79
|
+
key = this.prefix + key;
|
|
80
|
+
this.store.setItem(key, compress(JSON.stringify(item))); // compress data
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* return key with expire time
|
|
85
|
+
* @param key key
|
|
86
|
+
* @returns return object with data or null if key expired
|
|
87
|
+
*/
|
|
88
|
+
getWithExpiry(key) {
|
|
89
|
+
key = this.prefix + key;
|
|
90
|
+
const datacompressed = this.store.getItem(key);
|
|
91
|
+
if (!datacompressed) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
const itemStr = decompress(datacompressed); // decompress
|
|
95
|
+
const item = JSON.parse(itemStr);
|
|
96
|
+
const now = new Date();
|
|
97
|
+
if (!item) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
if (now.getTime() > item.expiry) {
|
|
101
|
+
this.store.removeItem(key);
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
return item.value;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
108
|
+
LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LocalStorageService, decorators: [{
|
|
110
|
+
type: Injectable,
|
|
111
|
+
args: [{
|
|
112
|
+
providedIn: 'root',
|
|
113
|
+
}]
|
|
114
|
+
}], ctorParameters: function () { return []; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCO1FBRlEsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixVQUFLLEdBQVEsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUV2QyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBSSxHQUFXLEVBQUUsS0FBUTtRQUMxQixHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtRQUMxRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFQTs7OztPQUlHO0lBQ0osR0FBRyxDQUFJLEdBQVc7UUFDaEIsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQVcsQ0FBQyxDQUFDLGFBQWE7UUFDaEUsT0FBTyxJQUFJLENB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bXBvcnQgeyBjb21wcmVzcywgZGVjb21wcmVzcyB9IGZyb20gJ2x6LXN0cmluZyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIHtcclxuICBwcml2YXRlIHByZWZpeDogc3RyaW5nID0gJ2JsLWYnO1xyXG4gIHByaXZhdGUgc3RvcmU6IGFueSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2U7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnByZWZpeCArPSAnLic7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBzZXQga2V5IGluIGxvY2FsIHN0b3JhZ2VcclxuICAgKiBAcGFyYW0ga2V5ICBrZXlcclxuICAgKiBAcGFyYW0gdmFsdWUgIHZhbHVlXHJcbiAgICovXHJcbiAgc2V0PFQ+KGtleTogc3RyaW5nLCB2YWx1ZTogVCkgOiBib29sZWFue1xyXG4gICAga2V5ID0gdGhpcy5wcmVmaXggKyBrZXk7XHJcbiAgICB0aGlzLnN0b3JlLnNldEl0ZW0oa2V5LCBjb21wcmVzcyhKU09OLnN0cmluZ2lmeSh2YWx1ZSkpKTsgLy8gY29tcHJlc3MgZGF0YVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAgLyoqXHJcbiAgICAqIGdldCBrZXkgaW4gbG9jYWwgc3RvcmFnZVxyXG4gICAgKiBAcGFyYW0ga2V5ICBrZXlcclxuICAgICogQHJldHVybnMgIHZhbHVlIGFzIG9iamVjdFxyXG4gICAgKi9cclxuICBnZXQ8VD4oa2V5OiBzdHJpbmcpIDogVCB8IG51bGwge1xyXG4gICAga2V5ID0gdGhpcy5wcmVmaXggKyBrZXk7XHJcbiAgICBjb25zdCBkYXRhY29tcHJlc3NlZCA9IHRoaXMuc3RvcmUuZ2V0SXRlbShrZXkpO1xyXG4gICAgaWYgKCFkYXRhY29tcHJlc3NlZCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW0gPSBkZWNvbXByZXNzKGRhdGFjb21wcmVzc2VkKSBhcyBzdHJpbmc7IC8vIGRlY29tcHJlc3NcclxuICAgIHJldHVybiBKU09OLnBhcnNlKGl0ZW0pIGFzIFQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIHJlbW92ZSBhIGtleVxyXG4gICAqIEBwYXJhbSBrZXkga2V5IHRvIHJlbW92ZVxyXG4gICAqIEByZXR1cm5zIGJvb2xlYW5cclxuICAgKi9cclxuICByZW1vdmUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGtleSA9IHRoaXMucHJlZml4ICsga2V5O1xyXG4gICAgdGhpcy5zdG9yZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICogY2xlYXIgYWxsXHJcbiAgICogQHJldHVybnMgYm9vbGVhblxyXG4gICAqL1xyXG4gIGNsZWFyKCk6Ym9vbGVhbntcclxuICAgIHRoaXMuc3RvcmUuY2xlYXIoKVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBnZXQgYWxsIGtleXMgcHJlc2VudCBpbiBsb2NhbCBzdG9yYWdlXHJcbiAgICogQHJldHVybnMgIGFycmF5IG9mIGtleXNcclxuICAgKi9cclxuICBnZXRBbGxLZXlzKCk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgbGV0IGtleXMgPSBbXTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnN0b3JlLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JlLmtleShpbmRleCk7XHJcbiAgICAgIGlmIChrZXkuaW5kZXhPZih0aGlzLnByZWZpeCkgPT09IDApIHtcclxuICAgICAgICBrZXlzLnB1c2goa2V5LnN1YnN0cih0aGlzLnByZWZpeC5sZW5ndGgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBzZXQga2V5IHdpdGggZXhwaXJlIHRpbWVcclxuICAgKiBAcGFyYW0ga2V5IGtleVxyXG4gICAqIEBwYXJhbSB2YWx1ZSAgdmFsdWVcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHNldCBjb3JyZWN0bHlcclxuICAgKi9cclxuICBzZXRXaGl0RXhwaXJ5PFQ+KGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IHR0bCA9IDM2MDAgKiAxMDAwO1xyXG4gICAgY29uc3QgaXRlbSA9IHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICBleHBpcnk6IG5vdy5nZXRUaW1lKCkgKyB0dGwsXHJcbiAgICB9O1xyXG5cclxuICAgIGtleSA9IHRoaXMucHJlZml4ICsga2V5O1xyXG4gICAgdGhpcy5zdG9yZS5zZXRJdGVtKGtleSwgY29tcHJlc3MoSlNPTi5zdHJpbmdpZnkoaXRlbSkpKTsgLy8gY29tcHJlc3MgZGF0YVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gLyoqXHJcbiAgKiByZXR1cm4ga2V5IHdpdGggZXhwaXJlIHRpbWVcclxuICAqIEBwYXJhbSBrZXkga2V5XHJcbiAgKiBAcmV0dXJucyByZXR1cm4gb2JqZWN0IHdpdGggZGF0YSBvciBudWxsIGlmIGtleSBleHBpcmVkXHJcbiAgKi9cclxuXHJcbiAgZ2V0V2l0aEV4cGlyeTxUPihrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcclxuICAgIGtleSA9IHRoaXMucHJlZml4ICsga2V5O1xyXG4gICAgY29uc3QgZGF0YWNvbXByZXNzZWQgPSB0aGlzLnN0b3JlLmdldEl0ZW0oa2V5KTtcclxuICAgIGlmICghZGF0YWNvbXByZXNzZWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpdGVtU3RyID0gZGVjb21wcmVzcyhkYXRhY29tcHJlc3NlZCkgYXMgc3RyaW5nOyAvLyBkZWNvbXByZXNzXHJcblxyXG4gICAgY29uc3QgaXRlbSA9IEpTT04ucGFyc2UoaXRlbVN0cik7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgaWYgKCFpdGVtKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vdy5nZXRUaW1lKCkgPiBpdGVtLmV4cGlyeSkge1xyXG4gICAgICB0aGlzLnN0b3JlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbS52YWx1ZSBhcyBUO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,196 @@
|
|
|
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
|
+
});
|
|
156
|
+
}
|
|
157
|
+
ErrorToast(message, duration = 4000) {
|
|
158
|
+
Swal.fire({
|
|
159
|
+
position: 'top-end',
|
|
160
|
+
icon: 'error',
|
|
161
|
+
title: message,
|
|
162
|
+
showConfirmButton: false,
|
|
163
|
+
toast: true,
|
|
164
|
+
timer: duration
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
WarningToast(message, duration = 4000) {
|
|
168
|
+
Swal.fire({
|
|
169
|
+
position: 'top-end',
|
|
170
|
+
icon: 'warning',
|
|
171
|
+
title: message,
|
|
172
|
+
showConfirmButton: false,
|
|
173
|
+
toast: true,
|
|
174
|
+
timer: duration
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
InfoToast(message, duration = 4000) {
|
|
178
|
+
Swal.fire({
|
|
179
|
+
position: 'top-end',
|
|
180
|
+
icon: 'info',
|
|
181
|
+
title: message,
|
|
182
|
+
showConfirmButton: false,
|
|
183
|
+
toast: true,
|
|
184
|
+
timer: duration
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
189
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, decorators: [{
|
|
191
|
+
type: Injectable,
|
|
192
|
+
args: [{
|
|
193
|
+
providedIn: 'root'
|
|
194
|
+
}]
|
|
195
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUU5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQ1UsTUFBZ0I7UUFBaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUxsQixlQUFVLEdBQVksS0FBSyxDQUFBO1FBQzNCLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBSXBDLENBQUM7SUFFTCxXQUFXLENBQUMsS0FBSyxFQUFDLE9BQU87UUFDdkIsSUFBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDaEQsSUFBSSxFQUFDO29CQUNILEtBQUs7b0JBQ0wsT0FBTztpQkFDUjtnQkFDRCxLQUFLLEVBQUMsT0FBTztnQkFDYixrQkFBa0I7Z0JBQ2xCLFlBQVksRUFBQyxJQUFJO2FBRWxCLENBQUMsQ0FBQTtTQUNIO0lBRUgsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtTQUN4QjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBWSxFQUFFLE9BQWMsRUFBRSxt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QUNoQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWMsRUFBRSxXQUFrQixJQUFJO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixRQUFRLEVBQUUsU0FBUztZQUNuQixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixLQUFLLEVBQUMsSUFBSTtZQUNWLEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBYyxFQUFFLFdBQWtCLElBQUk7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEtBQUssRUFBQyxJQUFJO1lBQ1YsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7MkdBNU1VLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJ1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBsb2FkaW5nTm93OiBib29sZWFuID0gZmFsc2VcclxuICBwcml2YXRlIHdhcm5pbmdRdWV1ZTogYW55W10gPSBbXTtcclxuICBwcml2YXRlIHNob3dpbmdXYXJuaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsb2FkaW5nXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzpNYXREaWFsb2dcclxuICApIHsgfVxyXG5cclxuICBvcGVuTG9hZGluZyh0aXRsZSxtZXNzYWdlKXtcclxuICAgIGlmKCF0aGlzLmxvYWRpbmdOb3cpe1xyXG4gICAgICB0aGlzLmxvYWRpbmdOb3cgPSB0cnVlXHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRoaXMuZGlhbG9nLm9wZW4oTG9hZGluZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6e1xyXG4gICAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB3aWR0aDonMjUwcHgnLFxyXG4gICAgICAgIC8vIGhlaWdodDonMjgwcHgnLFxyXG4gICAgICAgIGRpc2FibGVDbG9zZTp0cnVlLFxyXG5cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjbG9zZUxvYWRpbmcoKXtcclxuICAgIGlmKHRoaXMubG9hZGluZ05vdyl7XHJcbiAgICAgIHRoaXMubG9hZGluZy5jbG9zZSgpXHJcbiAgICAgIHRoaXMubG9hZGluZ05vdyA9IGZhbHNlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBFcnJvcih0aXRsZTpzdHJpbmcsIG1lc3NhZ2U6c3RyaW5nLCBzaG93Q2FuY2VsQnV0dG9uOmJvb2xlYW49ZmFsc2UsY29uZmlybUJ1dHRvblRleHQ6c3RyaW5nPSdBY2VwdGFyJywgY2FuY2VsQnV0dG9uVGV4dDpzdHJpbmc9J0NhbmNlbGFyJyl7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICAgIGljb246ICdlcnJvcicsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogc2hvd0NhbmNlbEJ1dHRvbixcclxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQsXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgICAgY29uZmlybUJ1dHRvbjogJ2NvbmZpcm0tYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjogJ2NhbmNlbC1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgIH1cclxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcclxuICAgICAgICAgIHJlc29sdmUoZmFsc2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIFN1Y2Nlc3ModGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWplY3QpPT57XHJcbiAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIHRleHQ6IG1lc3NhZ2UsXHJcbiAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdjb25maXJtLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICB9XHJcbiAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kaXNtaXNzID09PSBTd2FsLkRpc21pc3NSZWFzb24uY2FuY2VsKSB7XHJcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBXYXJuaW5nKFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHNob3dDYW5jZWxCdXR0b246IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSAnQWNlcHRhcicsXHJcbiAgICBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSAnQ2FuY2VsYXInLFxyXG4gICAgYWxsb3dPdXRzaWRlQ2xpY2sgPSBmYWxzZVxyXG4gICkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3Qgd2FybmluZ0RhdGEgPSB7XHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogc2hvd0NhbmNlbEJ1dHRvbixcclxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQsXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICByZXNvbHZlOiByZXNvbHZlLFxyXG4gICAgICAgIGFsbG93T3V0c2lkZUNsaWNrXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLndhcm5pbmdRdWV1ZS5wdXNoKHdhcm5pbmdEYXRhKTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5zaG93aW5nV2FybmluZykge1xyXG4gICAgICAgIHRoaXMuc2hvd05leHRXYXJuaW5nKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TmV4dFdhcm5pbmcoKSB7XHJcbiAgICBpZiAodGhpcy53YXJuaW5nUXVldWUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNob3dpbmdXYXJuaW5nID0gdHJ1ZTtcclxuICAgICAgY29uc3Qgd2FybmluZ0RhdGEgPSB0aGlzLndhcm5pbmdRdWV1ZS5zaGlmdCgpO1xyXG5cclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogd2FybmluZ0RhdGEudGl0bGUsXHJcbiAgICAgICAgdGV4dDogd2FybmluZ0RhdGEubWVzc2FnZSxcclxuICAgICAgICBpY29uOiAnd2FybmluZycsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogd2FybmluZ0RhdGEuc2hvd0NhbmNlbEJ1dHRvbixcclxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogd2FybmluZ0RhdGEuY29uZmlybUJ1dHRvblRleHQsXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogd2FybmluZ0RhdGEuY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgICAgY29uZmlybUJ1dHRvbjogJ2NvbmZpcm0tYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjogJ2NhbmNlbC1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHdhcm5pbmdEYXRhLmFsbG93T3V0c2lkZUNsaWNrLFxyXG4gICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dpbmdXYXJuaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgIHdhcm5pbmdEYXRhLnJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGlzbWlzcyA9PT0gU3dhbC5EaXNtaXNzUmVhc29uLmNhbmNlbCkge1xyXG4gICAgICAgICAgd2FybmluZ0RhdGEucmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd05leHRXYXJuaW5nKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgSW5mbyh0aXRsZTpzdHJpbmcsIG1lc3NhZ2U6c3RyaW5nLCBzaG93Q2FuY2VsQnV0dG9uOmJvb2xlYW49ZmFsc2UsY29uZmlybUJ1dHRvblRleHQ6c3RyaW5nPSdBY2VwdGFyJywgY2FuY2VsQnV0dG9uVGV4dDpzdHJpbmc9J0NhbmNlbGFyJyl7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICAgIGljb246ICdpbmZvJyxcclxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBzaG93Q2FuY2VsQnV0dG9uLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0LFxyXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uOiAnY29uZmlybS1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uOiAnY2FuY2VsLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgfVxyXG4gICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGlzbWlzcyA9PT0gU3dhbC5EaXNtaXNzUmVhc29uLmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVzb2x2ZShmYWxzZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIFN1Y2Nlc3NUb2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBwb3NpdGlvbjogJ3RvcC1lbmQnLFxyXG4gICAgICBpY29uOiAnc3VjY2VzcycsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHRvYXN0OnRydWUsXHJcbiAgICAgIHRpbWVyOiBkdXJhdGlvblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIEVycm9yVG9hc3QobWVzc2FnZTpzdHJpbmcsIGR1cmF0aW9uOm51bWJlciA9IDQwMDApe1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaWNvbjogJ2Vycm9yJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgICAgdG9hc3Q6dHJ1ZSxcclxuICAgICAgdGltZXI6IGR1cmF0aW9uXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgV2FybmluZ1RvYXN0KG1lc3NhZ2U6c3RyaW5nLCBkdXJhdGlvbjpudW1iZXIgPSA0MDAwKXtcclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXHJcbiAgICAgIGljb246ICd3YXJuaW5nJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgICAgdG9hc3Q6dHJ1ZSxcclxuICAgICAgdGltZXI6IGR1cmF0aW9uXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgSW5mb1RvYXN0KG1lc3NhZ2U6c3RyaW5nLCBkdXJhdGlvbjpudW1iZXIgPSA0MDAwKXtcclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXHJcbiAgICAgIGljb246ICdpbmZvJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgICAgdG9hc3Q6dHJ1ZSxcclxuICAgICAgdGltZXI6IGR1cmF0aW9uXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export class ScreenSizeUtil {
|
|
2
|
-
static isMobile() {
|
|
3
|
-
return screen.width <= 600;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
1
|
+
export class ScreenSizeUtil {
|
|
2
|
+
static isMobile() {
|
|
3
|
+
return screen.width <= 600;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXNpemUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9zY3JlZW4tc2l6ZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2NyZWVuU2l6ZVV0aWwge1xyXG4gIHN0YXRpYyBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzY3JlZW4ud2lkdGggPD0gNjAwO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./crypto.service";
|
|
4
|
+
export class SessionService {
|
|
5
|
+
constructor(cripto) {
|
|
6
|
+
this.cripto = cripto;
|
|
7
|
+
this.key = "V2xoU2JHTnBRbnBpTWxvd1pESkdlVnBUUW10YVYzaHNaRzFXZG1OSE1XeGlibEU9"; //btoa 3 rounds
|
|
8
|
+
}
|
|
9
|
+
getMain() {
|
|
10
|
+
const info = sessionStorage.getItem(this.key);
|
|
11
|
+
if (info) {
|
|
12
|
+
return this.cripto.decode(info);
|
|
13
|
+
}
|
|
14
|
+
return {};
|
|
15
|
+
}
|
|
16
|
+
keyAssign(key) {
|
|
17
|
+
this.key = key;
|
|
18
|
+
}
|
|
19
|
+
getData(key) {
|
|
20
|
+
var sesion = this.getMain();
|
|
21
|
+
return sesion[key] || '';
|
|
22
|
+
}
|
|
23
|
+
setData(key, value) {
|
|
24
|
+
var actual = this.getMain() || {};
|
|
25
|
+
actual[key] = value;
|
|
26
|
+
const dataF = this.cripto.encode(actual);
|
|
27
|
+
sessionStorage.setItem(this.key, dataF);
|
|
28
|
+
}
|
|
29
|
+
getSessionVars() {
|
|
30
|
+
const info = this.getMain();
|
|
31
|
+
return info || {};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, deps: [{ token: i1.CryptoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, providedIn: 'root' });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, decorators: [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.CryptoService }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFHdkIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUR6QyxRQUFHLEdBQUcsa0VBQWtFLENBQUMsQ0FBRSxlQUFlO0lBRTFGLENBQUM7SUFFTyxPQUFPO1FBQ1gsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLEVBQUU7WUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ2xDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUc7UUFDVCxJQUFJLENBQUMsR0FBRyxHQUFDLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBR0QsT0FBTyxDQUFDLEdBQUc7UUFDUCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxPQUFPLENBQUMsR0FBTyxFQUFFLEtBQVM7UUFDdEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUMsS0FBSyxDQUFDO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7MkdBbkNRLGNBQWM7K0dBQWQsY0FBYyxjQUZYLE1BQU07MkZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENyeXB0b1NlcnZpY2UgfSBmcm9tICcuL2NyeXB0by5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG4gIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZSB7XHJcblxyXG4gICAga2V5ID0gXCJWMnhvVTJKSFRuQlJibkJwVFd4dmQxcEVTa2RsVm5CVVVXMTBZVll6YUhOYVJ6RlhaRzFPU0UxWGVHbGliRVU5XCI7ICAvL2J0b2EgMyByb3VuZHNcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3JpcHRvOiBDcnlwdG9TZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRNYWluKCl7XHJcbiAgICAgICAgY29uc3QgaW5mbyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5rZXkpO1xyXG4gICAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyaXB0by5kZWNvZGUoaW5mbykgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuXHJcbiAgICBrZXlBc3NpZ24oa2V5KXtcclxuICAgICAgICB0aGlzLmtleT1rZXk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldERhdGEoa2V5KSB7XHJcbiAgICAgICAgdmFyIHNlc2lvbiA9IHRoaXMuZ2V0TWFpbigpO1xyXG4gICAgICAgIHJldHVybiBzZXNpb25ba2V5XSB8fCAnJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0RGF0YShrZXk6YW55LCB2YWx1ZTphbnkpIHtcclxuICAgICAgICB2YXIgYWN0dWFsID0gdGhpcy5nZXRNYWluKCkgfHwge307XHJcbiAgICAgICAgYWN0dWFsW2tleV09dmFsdWU7XHJcbiAgICAgICAgY29uc3QgZGF0YUYgPSB0aGlzLmNyaXB0by5lbmNvZGUoYWN0dWFsKTtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5LCBkYXRhRik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2Vzc2lvblZhcnMoKXtcclxuICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5nZXRNYWluKCk7XHJcbiAgICAgICAgcmV0dXJuIGluZm8gfHwge307XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
|