ng-easycommerce-v18 0.3.22-beta.1 → 0.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/esm2022/lib/classes/filters/attributes-filter.mjs +74 -4
- package/esm2022/lib/classes/filters/category-filter.mjs +105 -26
- package/esm2022/lib/classes/filters/filter-factory.mjs +7 -3
- package/esm2022/lib/classes/filters/filter.mjs +27 -2
- package/esm2022/lib/classes/filters/price_range-filter.mjs +3 -3
- package/esm2022/lib/constants/core.constants.service.mjs +12 -1
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +5 -3
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +41 -17
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +42 -9
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +42 -27
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +13 -2
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +6 -4
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +4 -2
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +4 -2
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -2
- package/esm2022/lib/ec-services/filters.service.mjs +124 -18
- package/esm2022/lib/ec-services/options.service.mjs +27 -3
- package/esm2022/lib/ec-services/pagination.service.mjs +70 -22
- package/esm2022/lib/ec-services/products.service.mjs +5 -3
- package/fesm2022/ng-easycommerce-v18.mjs +586 -126
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/classes/filters/attributes-filter.d.ts +24 -0
- package/lib/classes/filters/category-filter.d.ts +30 -3
- package/lib/constants/core.constants.service.d.ts +7 -0
- package/lib/ec-components/collection-ec/collection-ec.component.d.ts +5 -4
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +13 -0
- package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +2 -0
- package/lib/ec-services/filters.service.d.ts +18 -1
- package/lib/ec-services/options.service.d.ts +4 -0
- package/lib/ec-services/pagination.service.d.ts +21 -5
- package/lib/ec-services/products.service.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
# Version 0.3.22
|
|
1
|
+
# Version 0.3.22
|
|
2
|
+
- Limpieza de importaciones innecesarias en `header-ec.component` para reducir peso y evitar dependencias sin uso.
|
|
2
3
|
- Se reactiva la inicialización de herramientas de analytics (Facebook Pixel, Google Analytics, GTM, Metricool y Doppler) en el core Angular 18 a partir de los parámetros del endpoint `/parameters`.
|
|
3
4
|
- Se respeta la nomenclatura de glosario `facebook_<canal>_id`, `google_<canal>_id`, `gtm_<canal>_id`, `metricool_<canal>_id`, `doppler_<canal>_id`, usando como fallback los códigos genéricos `<servicio>_id` cuando no exista el específico por canal.
|
|
4
5
|
- Se agrega `IS_PRODUCTION` en `ApiConstantsService` y se limita la inicialización de analytics sólo a entornos productivos.
|
|
6
|
+
# Version 0.3.20
|
|
7
|
+
- Refactor completo de filtros, paginación y productos para soportar correctamente SSR (Server-Side Rendering).
|
|
8
|
+
- Unificación del flujo de filtrado: ahora toda la lógica se basa en URL (params + queryParams) y se hidrata desde `FiltersService.hydrateFromRoute()`.
|
|
9
|
+
- Se optimiza el runtime inicial para evitar ciclos innecesarios y cargar filtros antes del primer render.
|
|
10
|
+
- Se centraliza la sincronización de rangos de precio (filters ↔ pagination ↔ products).
|
|
5
11
|
# Version 0.3.17
|
|
6
12
|
- En el `header-ec.component.ts` se hacen public algunos injectores para poder usarlo en el `header.component.ts` de los frontends.
|
|
7
13
|
# Version 0.3.16
|
|
@@ -96,4 +102,4 @@
|
|
|
96
102
|
# Version 0.2.4
|
|
97
103
|
- Se cambia para que en environment no sea obligatorio el apiURL
|
|
98
104
|
# Version 0.2.3
|
|
99
|
-
- Actualiza el manejo de precios y tasas en el servicio de detalles del producto para soportar la nueva estructura del backend.
|
|
105
|
+
- Actualiza el manejo de precios y tasas en el servicio de detalles del producto para soportar la nueva estructura del backend.
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { inject } from "@angular/core";
|
|
2
2
|
import { OptionsService } from "../../ec-services";
|
|
3
3
|
import { Filter } from "./filter";
|
|
4
|
+
/**
|
|
5
|
+
* AttributesFilter
|
|
6
|
+
* - Gestiona el filtro de atributos (estructura de padres/children).
|
|
7
|
+
* - Soporta hidratación desde query params y aplicación de códigos seleccionados.
|
|
8
|
+
*/
|
|
4
9
|
export class AttributesFilter extends Filter {
|
|
5
10
|
_optionsService = inject(OptionsService);
|
|
6
11
|
data = [];
|
|
7
12
|
multi = false;
|
|
13
|
+
_codesFromQuery = null;
|
|
8
14
|
constructor(initialValue, options) {
|
|
9
15
|
super();
|
|
10
16
|
if (options) {
|
|
@@ -12,7 +18,6 @@ export class AttributesFilter extends Filter {
|
|
|
12
18
|
}
|
|
13
19
|
else {
|
|
14
20
|
this._optionsService.getAttributes().subscribe(res => {
|
|
15
|
-
//console.log(res);
|
|
16
21
|
this.setContent(res, initialValue);
|
|
17
22
|
});
|
|
18
23
|
}
|
|
@@ -22,10 +27,18 @@ export class AttributesFilter extends Filter {
|
|
|
22
27
|
const attributes = this._optionsService.generateMenu(options);
|
|
23
28
|
attributes.forEach((filter) => filter = this.createElement(filter, options, initialValue));
|
|
24
29
|
this.data = attributes;
|
|
30
|
+
// Si ya teníamos códigos de la URL guardados, aplicarlos ahora
|
|
31
|
+
if (this._codesFromQuery && this._codesFromQuery.length) {
|
|
32
|
+
// ADDED: Aplicar códigos guardados tras cargar la data.
|
|
33
|
+
this.applyCodes(this._codesFromQuery);
|
|
34
|
+
}
|
|
25
35
|
}
|
|
26
36
|
getContent() {
|
|
27
37
|
return this.data;
|
|
28
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* ADDED: toUrlParams construye la porción de query string que representa las selecciones de atributos.
|
|
41
|
+
*/
|
|
29
42
|
toUrlParams(actual_url = '&attributeCodes=', sublist, already) {
|
|
30
43
|
let elements = sublist || this.data;
|
|
31
44
|
let aux_url = '';
|
|
@@ -47,12 +60,14 @@ export class AttributesFilter extends Filter {
|
|
|
47
60
|
}
|
|
48
61
|
}
|
|
49
62
|
});
|
|
50
|
-
//console.log(actual_url + aux_url);
|
|
51
63
|
return actual_url + aux_url;
|
|
52
64
|
}
|
|
53
65
|
;
|
|
54
66
|
cleanResult(text) { return text.replace('&attributeCodes=', ''); }
|
|
55
67
|
;
|
|
68
|
+
/**
|
|
69
|
+
* ADDED: createElement transforma cada nodo original en FilterElement y marca selección inicial si corresponde.
|
|
70
|
+
*/
|
|
56
71
|
createElement(filter, original, initialValue) {
|
|
57
72
|
if (filter.type == 'sub') {
|
|
58
73
|
filter.multi = false;
|
|
@@ -65,9 +80,64 @@ export class AttributesFilter extends Filter {
|
|
|
65
80
|
else {
|
|
66
81
|
filter.value = original.code;
|
|
67
82
|
filter.multi = false;
|
|
68
|
-
filter.selected = (initialValue &&
|
|
83
|
+
filter.selected = (initialValue &&
|
|
84
|
+
this.removeAccents(original.slug?.toLowerCase()) === this.removeAccents(initialValue?.toLowerCase()));
|
|
69
85
|
}
|
|
70
86
|
return filter;
|
|
71
87
|
}
|
|
88
|
+
/** hidratar desde la URL */
|
|
89
|
+
hydrateFromQuery(params) {
|
|
90
|
+
const raw = params['attributeCodes'];
|
|
91
|
+
if (!raw) {
|
|
92
|
+
// nada en la URL → limpió filtro
|
|
93
|
+
this._codesFromQuery = null;
|
|
94
|
+
this.clearSelection();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const codes = String(raw)
|
|
98
|
+
.split('<and>')
|
|
99
|
+
.map(c => c.trim())
|
|
100
|
+
.filter(Boolean);
|
|
101
|
+
if (!codes.length) {
|
|
102
|
+
this._codesFromQuery = null;
|
|
103
|
+
this.clearSelection();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this._codesFromQuery = codes;
|
|
107
|
+
// Si ya tengo data cargada, aplico ahora;
|
|
108
|
+
// si no, se aplicará en setContent().
|
|
109
|
+
if (this.data && this.data.length) {
|
|
110
|
+
// ADDED: Aplicar códigos inmediatamente porque la data ya está disponible.
|
|
111
|
+
this.applyCodes(codes);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* ADDED: applyCodes recorre la estructura y marca selected=true en los children cuyo código está en 'codes'.
|
|
116
|
+
* Además marca el parent como seleccionado si alguno de sus hijos lo está.
|
|
117
|
+
*/
|
|
118
|
+
applyCodes(codes) {
|
|
119
|
+
this.data?.forEach((parent) => {
|
|
120
|
+
parent.selected = false;
|
|
121
|
+
(parent.children || []).forEach((child) => {
|
|
122
|
+
const code = child.code || child.value;
|
|
123
|
+
const isSelected = codes.includes(code);
|
|
124
|
+
child.selected = isSelected;
|
|
125
|
+
if (isSelected) {
|
|
126
|
+
parent.selected = true;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* ADDED: clearSelection desmarca todos los parents y children (restablece el filtro).
|
|
133
|
+
*/
|
|
134
|
+
clearSelection() {
|
|
135
|
+
this.data?.forEach((parent) => {
|
|
136
|
+
parent.selected = false;
|
|
137
|
+
(parent.children || []).forEach((child) => {
|
|
138
|
+
child.selected = false;
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
72
142
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2F0dHJpYnV0ZXMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU07SUFDaEMsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEQsSUFBSSxHQUFvQixFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFZLEtBQUssQ0FBQztJQUVoQyxZQUFZLFlBQWtCLEVBQUUsT0FBWTtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUcsT0FBTyxFQUFDLENBQUM7WUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQUksQ0FBQztZQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUMxQyxHQUFHLENBQUMsRUFBRTtnQkFDRixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFUSxJQUFJLEtBQWlCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQztJQUUzQyxVQUFVLENBQUMsT0FBWSxFQUFFLFlBQWtCO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlE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QUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUksQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gXCIuLi8uLi9lYy1zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSwgSUZpbHRlciB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXIge1xuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcbiAgICBvdmVycmlkZSBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlPzogYW55LCBvcHRpb25zPzphbnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgaWYob3B0aW9ucyl7XG4gICAgICAgICAgICB0aGlzLnNldENvbnRlbnQob3B0aW9ucywgaW5pdGlhbFZhbHVlKTsgXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHsgcmV0dXJuICdhdHRyaWJ1dGVzJzsgfVxuXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KG9wdGlvbnMpO1xuICAgICAgICBhdHRyaWJ1dGVzLmZvckVhY2goKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gYXR0cmlidXRlcztcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcyhhY3R1YWxfdXJsID0gJyZhdHRyaWJ1dGVDb2Rlcz0nLCBzdWJsaXN0PzphbnksIGFscmVhZHk/OmFueSkge1xuICAgICAgICBsZXQgZWxlbWVudHMgPSBzdWJsaXN0IHx8IHRoaXMuZGF0YTtcbiAgICAgICAgbGV0IGF1eF91cmwgPSAnJztcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09ICdzdWInKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMudG9VcmxQYXJhbXMoJycsIGVsZW1lbnQuY2hpbGRyZW4sIChhY3R1YWxfdXJsICE9ICcmYXR0cmlidXRlQ29kZXM9JyAmJiBhY3R1YWxfdXJsICE9ICcnKSlcbiAgICAgICAgICAgICAgICBpZiAoIWFjdHVhbF91cmwuaW5jbHVkZXMocmVzdWx0KSkgYWN0dWFsX3VybCArPSB0aGlzLmNsZWFuUmVzdWx0KHJlc3VsdCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0dWFsX3VybCA9PSAnJmF0dHJpYnV0ZUNvZGVzPScgJiYgYXV4X3VybCA9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBhdXhfdXJsID0gZWxlbWVudC5jb2RlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF1eF91cmwgPT0gJycpIGF1eF91cmwgPSAoYWxyZWFkeSA/ICc8YW5kPicgOiAnJykgKyBlbGVtZW50LmNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgYXV4X3VybCArPSAoJzxhbmQ+JyArIGVsZW1lbnQuY29kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAvL2NvbnNvbGUubG9nKGFjdHVhbF91cmwgKyBhdXhfdXJsKTtcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmwgKyBhdXhfdXJsO1xuICAgIH07XG5cbiAgICBjbGVhblJlc3VsdCh0ZXh0OiBzdHJpbmcpIHsgcmV0dXJuIHRleHQucmVwbGFjZSgnJmF0dHJpYnV0ZUNvZGVzPScsICcnKSB9O1xuXG4gICAgb3ZlcnJpZGUgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIGlmIChmaWx0ZXIudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2hhcGUgPSAndGV4dCc7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLmNoaWxkcmVuID0gZmlsdGVyLmNoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaTogbnVtYmVyKSA9PntcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KGNoaWxkLCBjaGlsZC5jaGlsZHJlbiwgaW5pdGlhbFZhbHVlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2VsZWN0ZWQgPSAoaW5pdGlhbFZhbHVlICYmIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PSB0aGlzLnJlbW92ZUFjY2VudHMoaW5pdGlhbFZhbHVlPy50b0xvd2VyQ2FzZSgpKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2F0dHJpYnV0ZXMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBQ2hDLGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXhELElBQUksR0FBb0IsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFFeEIsZUFBZSxHQUFvQixJQUFJLENBQUM7SUFFaEQsWUFBWSxZQUFrQixFQUFFLE9BQWE7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FDMUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUNKLENBQUE7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVRLElBQUksS0FBaUIsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRTNDLFVBQVUsQ0FBQyxPQUFZLEVBQUUsWUFBa0I7UUFDaEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXZCLCtEQUErRDtRQUMvRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0RCx3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFDUSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFDRDs7T0FFRztJQUNNLFdBQVcsQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLEVBQUUsT0FBYSxFQUFFLE9BQWE7UUFDOUUsSUFBSSxRQUFRLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLElBQUksa0JBQWtCLElBQUksVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQzNHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztvQkFBRSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RSxDQUFDO2lCQUFNLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixJQUFJLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ3BELE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUMzQixDQUFDO3FCQUNJLENBQUM7b0JBQ0YsSUFBSSxPQUFPLElBQUksRUFBRTt3QkFBRSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQzs7d0JBQ2hFLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUFBLENBQUM7SUFFRixXQUFXLENBQUMsSUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRTFFOztPQUVHO0lBQ00sYUFBYSxDQUFDLE1BQVcsRUFBRSxRQUFhLEVBQUUsWUFBa0I7UUFDakUsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLENBQVMsRUFBRSxFQUFFO2dCQUM1RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDbEUsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLENBQUMsUUFBUSxHQUFHLENBQ2QsWUFBWTtnQkFDWixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUN2RyxDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsZ0JBQWdCLENBQUMsTUFBYztRQUMzQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDUCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDO2FBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBRTdCLDBDQUEwQztRQUMxQyxzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsMkVBQTJFO1lBQzNFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVLENBQUMsS0FBZTtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN2QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztnQkFDNUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDYixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDM0IsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDeEIsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUMzQyxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VjLXNlcnZpY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG4vKipcbiAqIEF0dHJpYnV0ZXNGaWx0ZXJcbiAqIC0gR2VzdGlvbmEgZWwgZmlsdHJvIGRlIGF0cmlidXRvcyAoZXN0cnVjdHVyYSBkZSBwYWRyZXMvY2hpbGRyZW4pLlxuICogLSBTb3BvcnRhIGhpZHJhdGFjacOzbiBkZXNkZSBxdWVyeSBwYXJhbXMgeSBhcGxpY2FjacOzbiBkZSBjw7NkaWdvcyBzZWxlY2Npb25hZG9zLlxuICovXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlc0ZpbHRlciBleHRlbmRzIEZpbHRlciB7XG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGRhdGE6IEZpbHRlckVsZW1lbnRbXSA9IFtdO1xuICAgIG92ZXJyaWRlIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9jb2Rlc0Zyb21RdWVyeTogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKGluaXRpYWxWYWx1ZT86IGFueSwgb3B0aW9ucz86IGFueSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KG9wdGlvbnMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5nZXRBdHRyaWJ1dGVzKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHsgcmV0dXJuICdhdHRyaWJ1dGVzJzsgfVxuXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KG9wdGlvbnMpO1xuICAgICAgICBhdHRyaWJ1dGVzLmZvckVhY2goKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gYXR0cmlidXRlcztcblxuICAgICAgICAvLyBTaSB5YSB0ZW7DrWFtb3MgY8OzZGlnb3MgZGUgbGEgVVJMIGd1YXJkYWRvcywgYXBsaWNhcmxvcyBhaG9yYVxuICAgICAgICBpZiAodGhpcy5fY29kZXNGcm9tUXVlcnkgJiYgdGhpcy5fY29kZXNGcm9tUXVlcnkubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBBRERFRDogQXBsaWNhciBjw7NkaWdvcyBndWFyZGFkb3MgdHJhcyBjYXJnYXIgbGEgZGF0YS5cbiAgICAgICAgICAgIHRoaXMuYXBwbHlDb2Rlcyh0aGlzLl9jb2Rlc0Zyb21RdWVyeSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBRERFRDogdG9VcmxQYXJhbXMgY29uc3RydXllIGxhIHBvcmNpw7NuIGRlIHF1ZXJ5IHN0cmluZyBxdWUgcmVwcmVzZW50YSBsYXMgc2VsZWNjaW9uZXMgZGUgYXRyaWJ1dG9zLlxuICAgICAqL1xuICAgIG92ZXJyaWRlIHRvVXJsUGFyYW1zKGFjdHVhbF91cmwgPSAnJmF0dHJpYnV0ZUNvZGVzPScsIHN1Ymxpc3Q/OiBhbnksIGFscmVhZHk/OiBhbnkpIHtcbiAgICAgICAgbGV0IGVsZW1lbnRzID0gc3VibGlzdCB8fCB0aGlzLmRhdGE7XG4gICAgICAgIGxldCBhdXhfdXJsID0gJyc7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnRvVXJsUGFyYW1zKCcnLCBlbGVtZW50LmNoaWxkcmVuLCAoYWN0dWFsX3VybCAhPSAnJmF0dHJpYnV0ZUNvZGVzPScgJiYgYWN0dWFsX3VybCAhPSAnJykpXG4gICAgICAgICAgICAgICAgaWYgKCFhY3R1YWxfdXJsLmluY2x1ZGVzKHJlc3VsdCkpIGFjdHVhbF91cmwgKz0gdGhpcy5jbGVhblJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdHVhbF91cmwgPT0gJyZhdHRyaWJ1dGVDb2Rlcz0nICYmIGF1eF91cmwgPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgYXV4X3VybCA9IGVsZW1lbnQuY29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXhfdXJsID09ICcnKSBhdXhfdXJsID0gKGFscmVhZHkgPyAnPGFuZD4nIDogJycpICsgZWxlbWVudC5jb2RlO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGF1eF91cmwgKz0gKCc8YW5kPicgKyBlbGVtZW50LmNvZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmwgKyBhdXhfdXJsO1xuICAgIH07XG5cbiAgICBjbGVhblJlc3VsdCh0ZXh0OiBzdHJpbmcpIHsgcmV0dXJuIHRleHQucmVwbGFjZSgnJmF0dHJpYnV0ZUNvZGVzPScsICcnKSB9O1xuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGNyZWF0ZUVsZW1lbnQgdHJhbnNmb3JtYSBjYWRhIG5vZG8gb3JpZ2luYWwgZW4gRmlsdGVyRWxlbWVudCB5IG1hcmNhIHNlbGVjY2nDs24gaW5pY2lhbCBzaSBjb3JyZXNwb25kZS5cbiAgICAgKi9cbiAgICBvdmVycmlkZSBjcmVhdGVFbGVtZW50KGZpbHRlcjogYW55LCBvcmlnaW5hbDogYW55LCBpbml0aWFsVmFsdWU/OiBhbnkpIHtcbiAgICAgICAgaWYgKGZpbHRlci50eXBlID09ICdzdWInKSB7XG4gICAgICAgICAgICBmaWx0ZXIubXVsdGkgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpbHRlci5zaGFwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9IG9yaWdpbmFsLmNvZGU7XG4gICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBmaWx0ZXIuY2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KGNoaWxkLCBjaGlsZC5jaGlsZHJlbiwgaW5pdGlhbFZhbHVlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2VsZWN0ZWQgPSAoXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlICYmXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09PSB0aGlzLnJlbW92ZUFjY2VudHMoaW5pdGlhbFZhbHVlPy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKiBoaWRyYXRhciBkZXNkZSBsYSBVUkwgKi9cbiAgICBoeWRyYXRlRnJvbVF1ZXJ5KHBhcmFtczogUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJhdyA9IHBhcmFtc1snYXR0cmlidXRlQ29kZXMnXTtcblxuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgLy8gbmFkYSBlbiBsYSBVUkwg4oaSIGxpbXBpw7MgZmlsdHJvXG4gICAgICAgICAgICB0aGlzLl9jb2Rlc0Zyb21RdWVyeSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb2RlcyA9IFN0cmluZyhyYXcpXG4gICAgICAgICAgICAuc3BsaXQoJzxhbmQ+JylcbiAgICAgICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgaWYgKCFjb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvZGVzRnJvbVF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvZGVzRnJvbVF1ZXJ5ID0gY29kZXM7XG5cbiAgICAgICAgLy8gU2kgeWEgdGVuZ28gZGF0YSBjYXJnYWRhLCBhcGxpY28gYWhvcmE7XG4gICAgICAgIC8vIHNpIG5vLCBzZSBhcGxpY2Fyw6EgZW4gc2V0Q29udGVudCgpLlxuICAgICAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIEFEREVEOiBBcGxpY2FyIGPDs2RpZ29zIGlubWVkaWF0YW1lbnRlIHBvcnF1ZSBsYSBkYXRhIHlhIGVzdMOhIGRpc3BvbmlibGUuXG4gICAgICAgICAgICB0aGlzLmFwcGx5Q29kZXMoY29kZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGFwcGx5Q29kZXMgcmVjb3JyZSBsYSBlc3RydWN0dXJhIHkgbWFyY2Egc2VsZWN0ZWQ9dHJ1ZSBlbiBsb3MgY2hpbGRyZW4gY3V5byBjw7NkaWdvIGVzdMOhIGVuICdjb2RlcycuXG4gICAgICogQWRlbcOhcyBtYXJjYSBlbCBwYXJlbnQgY29tbyBzZWxlY2Npb25hZG8gc2kgYWxndW5vIGRlIHN1cyBoaWpvcyBsbyBlc3TDoS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGFwcGx5Q29kZXMoY29kZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YT8uZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHBhcmVudC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgKHBhcmVudC5jaGlsZHJlbiB8fCBbXSkuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvZGUgPSBjaGlsZC5jb2RlIHx8IGNoaWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb2Rlcy5pbmNsdWRlcyhjb2RlKTtcbiAgICAgICAgICAgICAgICBjaGlsZC5zZWxlY3RlZCA9IGlzU2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGNsZWFyU2VsZWN0aW9uIGRlc21hcmNhIHRvZG9zIGxvcyBwYXJlbnRzIHkgY2hpbGRyZW4gKHJlc3RhYmxlY2UgZWwgZmlsdHJvKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGE/LmZvckVhY2goKHBhcmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBwYXJlbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIChwYXJlbnQuY2hpbGRyZW4gfHwgW10pLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { inject } from "@angular/core";
|
|
2
|
-
import { OptionsService } from "../../ec-services";
|
|
2
|
+
import { FiltersService, OptionsService } from "../../ec-services";
|
|
3
3
|
import { Filter } from "./filter";
|
|
4
|
+
/**
|
|
5
|
+
* CategoryFilter
|
|
6
|
+
* - Gestiona el filtro de categorías.
|
|
7
|
+
* - Mantiene la estructura de categorías (parents/children) y permite:
|
|
8
|
+
* * Inicializar desde OptionsService.
|
|
9
|
+
* * Marcar elementos según slug o query param.
|
|
10
|
+
* * Generar porción de query string (&category=...).
|
|
11
|
+
*/
|
|
4
12
|
export class CategoryFilter extends Filter {
|
|
5
|
-
initialValues;
|
|
6
13
|
_optionsService = inject(OptionsService);
|
|
14
|
+
_filtersService = inject(FiltersService);
|
|
7
15
|
data = [];
|
|
8
16
|
multi = false;
|
|
9
|
-
constructor(
|
|
17
|
+
constructor(initialValue) {
|
|
10
18
|
super();
|
|
11
|
-
this.initialValues = initialValues;
|
|
12
19
|
this._optionsService.getCategories().subscribe(res => {
|
|
13
|
-
|
|
14
|
-
this.
|
|
20
|
+
this.setContent(res, initialValue);
|
|
21
|
+
this._filtersService.refreshFilters();
|
|
15
22
|
});
|
|
16
23
|
}
|
|
17
24
|
type() {
|
|
@@ -23,37 +30,109 @@ export class CategoryFilter extends Filter {
|
|
|
23
30
|
this.data = categories;
|
|
24
31
|
}
|
|
25
32
|
getContent() {
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
return this.data;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* toUrlParams
|
|
37
|
+
* - Recorre la estructura y devuelve la porción de query string para la categoría seleccionada.
|
|
38
|
+
* - Prioriza el primer selected encontrado (solo una categoría se envía).
|
|
39
|
+
*/
|
|
40
|
+
toUrlParams() {
|
|
41
|
+
const selectedCodes = [];
|
|
42
|
+
const walk = (nodes) => {
|
|
43
|
+
nodes.forEach(n => {
|
|
44
|
+
if (n.selected) {
|
|
45
|
+
selectedCodes.push(n.code || n.value);
|
|
46
|
+
}
|
|
47
|
+
if (Array.isArray(n.children) && n.children.length) {
|
|
48
|
+
walk(n.children);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
walk(this.data);
|
|
53
|
+
if (selectedCodes.length > 0) {
|
|
54
|
+
return `&category=${encodeURIComponent(selectedCodes[0])}`;
|
|
55
|
+
}
|
|
56
|
+
return '';
|
|
43
57
|
}
|
|
44
58
|
createElement(filter, original, initialValue) {
|
|
45
59
|
if (filter.type == 'sub') {
|
|
46
60
|
filter.multi = false;
|
|
47
61
|
filter.shape = 'text';
|
|
48
62
|
filter.value = original.code;
|
|
49
|
-
filter.selected = (initialValue &&
|
|
63
|
+
filter.selected = (initialValue &&
|
|
64
|
+
this.removeAccents(original.slug?.toLowerCase()) ===
|
|
65
|
+
this.removeAccents(String(initialValue).toLowerCase()));
|
|
50
66
|
filter.children = filter.children.map((child, i) => this.createElement(child, original.children[i], initialValue));
|
|
51
67
|
}
|
|
52
68
|
else {
|
|
53
69
|
filter.value = original.code;
|
|
54
|
-
filter.selected = (initialValue &&
|
|
70
|
+
filter.selected = (initialValue &&
|
|
71
|
+
this.removeAccents(original.slug?.toLowerCase()) ===
|
|
72
|
+
this.removeAccents(String(initialValue).toLowerCase()));
|
|
55
73
|
}
|
|
56
74
|
return filter;
|
|
57
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* setFromSlug
|
|
78
|
+
* - Marca como selected los nodos cuyo slug/path/name coincide con el slug proporcionado.
|
|
79
|
+
* - Utiliza removeAccents para comparar sin tildes y en minúsculas.
|
|
80
|
+
* - No retorna valor, solo modifica this.data.
|
|
81
|
+
*/
|
|
82
|
+
setFromSlug(slug) {
|
|
83
|
+
const target = this.removeAccents(String(slug).toLowerCase());
|
|
84
|
+
const walk = (nodes) => {
|
|
85
|
+
nodes.forEach(n => {
|
|
86
|
+
// ADDED: iniciar sin selección explícita (asegura estado consistente)
|
|
87
|
+
n.selected = false;
|
|
88
|
+
const candidates = [
|
|
89
|
+
n.slug,
|
|
90
|
+
n.path && String(n.path).split('/').filter(Boolean).pop(),
|
|
91
|
+
n.name
|
|
92
|
+
]
|
|
93
|
+
.filter(Boolean)
|
|
94
|
+
.map((s) => this.removeAccents(s.toLowerCase()));
|
|
95
|
+
if (candidates.includes(target)) {
|
|
96
|
+
n.selected = true;
|
|
97
|
+
}
|
|
98
|
+
if (Array.isArray(n.children) && n.children.length) {
|
|
99
|
+
walk(n.children);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
walk(this.data);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* hydrateFromQuery
|
|
107
|
+
* - Marca la categoría según el parámetro de query 'category' si existe.
|
|
108
|
+
* - Busca el code exacto en la estructura y marca el nodo correspondiente.
|
|
109
|
+
* - Loggea si se encontró o no la categoría.
|
|
110
|
+
*/
|
|
111
|
+
hydrateFromQuery(query) {
|
|
112
|
+
const raw = query?.['category'];
|
|
113
|
+
if (!raw)
|
|
114
|
+
return;
|
|
115
|
+
const code = String(raw).trim();
|
|
116
|
+
if (!code)
|
|
117
|
+
return;
|
|
118
|
+
const mark = (nodes) => {
|
|
119
|
+
let found = false;
|
|
120
|
+
nodes.forEach(n => {
|
|
121
|
+
if (n.code === code) {
|
|
122
|
+
n.selected = true;
|
|
123
|
+
found = true;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
n.selected = false;
|
|
127
|
+
}
|
|
128
|
+
if (Array.isArray(n.children) && n.children.length) {
|
|
129
|
+
if (mark(n.children))
|
|
130
|
+
found = true;
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
return found;
|
|
134
|
+
};
|
|
135
|
+
const ok = mark(this.data);
|
|
136
|
+
}
|
|
58
137
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9jYXRlZ29yeS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLE9BQU8sY0FBZSxTQUFRLE1BQU07SUFNbEI7SUFMWixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRWhDLFlBQW9CLGFBQW1CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFEsa0JBQWEsR0FBYixhQUFhLENBQU07UUFFbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsbUJBQW1CO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVRLElBQUk7UUFDVCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ1EsVUFBVSxDQUFDLE9BQVksRUFBRSxZQUFrQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDUSxVQUFVO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDUSxXQUFXLENBQUMsVUFBVSxHQUFHLEVBQUUsRUFBRSxPQUFhO1FBQy9DLElBQUksUUFBUSxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELENBQUM7aUJBQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksVUFBVSxJQUFJLEVBQUU7b0JBQUUsVUFBVSxHQUFHLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDOztvQkFDM0QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUNRLGFBQWEsQ0FBQyxNQUFXLEVBQUUsUUFBYSxFQUFFLFlBQWtCO1FBQ2pFLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUN0QixNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEksTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVMsRUFBRSxDQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNsSSxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1SSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VjLXNlcnZpY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXJ7XG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGRhdGE6IEZpbHRlckVsZW1lbnRbXSA9IFtdO1xuICAgIG92ZXJyaWRlIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluaXRpYWxWYWx1ZXM/OiBhbnksKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZXMpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIG92ZXJyaWRlIHR5cGUoKTogRmlsdGVyVHlwZSB7XG4gICAgICAgIHJldHVybiAnY2F0ZWdvcmllcyc7XG4gICAgfVxuICAgIG92ZXJyaWRlIHNldENvbnRlbnQob3B0aW9uczogYW55LCBpbml0aWFsVmFsdWU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdlbmVyYXRlTWVudShvcHRpb25zKTtcbiAgICAgICAgY2F0ZWdvcmllcy5mb3JFYWNoKChmaWx0ZXI6IGFueSwgaTogbnVtYmVyKSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zW2ldLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gY2F0ZWdvcmllcztcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgICB9XG4gICAgb3ZlcnJpZGUgdG9VcmxQYXJhbXMoYWN0dWFsX3VybCA9ICcnLCBzdWJsaXN0PzogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGVsZW1lbnRzID0gc3VibGlzdCB8fCB0aGlzLmRhdGE7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAnc3ViJyAmJiAhZWxlbWVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9VcmxQYXJhbXMoJycsIGVsZW1lbnQuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICFhY3R1YWxfdXJsLmluY2x1ZGVzKHJlc3VsdCkgPyBhY3R1YWxfdXJsICs9IHJlc3VsdCA6IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0dWFsX3VybCA9PSAnJykgYWN0dWFsX3VybCA9ICcmY2F0ZWdvcnk9JyArIGVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICAgICAgZWxzZSBhY3R1YWxfdXJsID0gZWxlbWVudC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmw7XG4gICAgfVxuICAgIG92ZXJyaWRlIGNyZWF0ZUVsZW1lbnQoZmlsdGVyOiBhbnksIG9yaWdpbmFsOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSkge1xuICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gJ3N1YicpIHtcbiAgICAgICAgICAgIGZpbHRlci5tdWx0aSA9IGZhbHNlO1xuICAgICAgICAgICAgZmlsdGVyLnNoYXBlID0gJ3RleHQnO1xuICAgICAgICAgICAgZmlsdGVyLnZhbHVlID0gb3JpZ2luYWwuY29kZTtcbiAgICAgICAgICAgIGZpbHRlci5zZWxlY3RlZCA9IChpbml0aWFsVmFsdWUgJiYgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09IHRoaXMucmVtb3ZlQWNjZW50cyhpbml0aWFsVmFsdWU/LnRvTG93ZXJDYXNlKCkpKTtcbiAgICAgICAgICAgIGZpbHRlci5jaGlsZHJlbiA9IGZpbHRlci5jaGlsZHJlbi5tYXAoKGNoaWxkOmFueSwgaTpudW1iZXIpID0+IHRoaXMuY3JlYXRlRWxlbWVudChjaGlsZCwgb3JpZ2luYWwuY2hpbGRyZW5baV0sIGluaXRpYWxWYWx1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyLnZhbHVlID0gb3JpZ2luYWwuY29kZTtcbiAgICAgICAgICAgIGZpbHRlci5zZWxlY3RlZCA9IChpbml0aWFsVmFsdWUgJiYgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09IHRoaXMucmVtb3ZlQWNjZW50cyhpbml0aWFsVmFsdWU/LnRvTG93ZXJDYXNlKCkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyXG4gICAgfVxufVxuIl19
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9jYXRlZ29yeS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsTUFBTTtJQUM5QixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRWhDLFlBQVksWUFBa0I7UUFDMUIsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLElBQUk7UUFDVCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRVEsVUFBVSxDQUFDLE9BQVksRUFBRSxZQUFrQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFB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LElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRWxCLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBWSxFQUFXLEVBQUU7WUFDbkMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNsQixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDakIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixDQUFDO2dCQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakQsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzt3QkFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7UUFFRixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSwgT3B0aW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZWMtc2VydmljZXNcIjtcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVyXCI7XG5cbi8qKlxuICogQ2F0ZWdvcnlGaWx0ZXJcbiAqIC0gR2VzdGlvbmEgZWwgZmlsdHJvIGRlIGNhdGVnb3LDrWFzLlxuICogLSBNYW50aWVuZSBsYSBlc3RydWN0dXJhIGRlIGNhdGVnb3LDrWFzIChwYXJlbnRzL2NoaWxkcmVuKSB5IHBlcm1pdGU6XG4gKiAgICogSW5pY2lhbGl6YXIgZGVzZGUgT3B0aW9uc1NlcnZpY2UuXG4gKiAgICogTWFyY2FyIGVsZW1lbnRvcyBzZWfDum4gc2x1ZyBvIHF1ZXJ5IHBhcmFtLlxuICogICAqIEdlbmVyYXIgcG9yY2nDs24gZGUgcXVlcnkgc3RyaW5nICgmY2F0ZWdvcnk9Li4uKS5cbiAqL1xuZXhwb3J0IGNsYXNzIENhdGVnb3J5RmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcbiAgICBvdmVycmlkZSBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KHJlcywgaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnJlZnJlc2hGaWx0ZXJzKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHtcbiAgICAgICAgcmV0dXJuICdjYXRlZ29yaWVzJztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXRDb250ZW50KG9wdGlvbnM6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLl9vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUob3B0aW9ucyk7XG4gICAgICAgIGNhdGVnb3JpZXMuZm9yRWFjaCgoZmlsdGVyOiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGZpbHRlciA9IHRoaXMuY3JlYXRlRWxlbWVudChmaWx0ZXIsIG9wdGlvbnNbaV0sIGluaXRpYWxWYWx1ZSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhID0gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRDb250ZW50KCk6IEZpbHRlckVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdG9VcmxQYXJhbXNcbiAgICAgKiAtIFJlY29ycmUgbGEgZXN0cnVjdHVyYSB5IGRldnVlbHZlIGxhIHBvcmNpw7NuIGRlIHF1ZXJ5IHN0cmluZyBwYXJhIGxhIGNhdGVnb3LDrWEgc2VsZWNjaW9uYWRhLlxuICAgICAqIC0gUHJpb3JpemEgZWwgcHJpbWVyIHNlbGVjdGVkIGVuY29udHJhZG8gKHNvbG8gdW5hIGNhdGVnb3LDrWEgc2UgZW52w61hKS5cbiAgICAgKi9cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENvZGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHdhbGsgPSAobm9kZXM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29kZXMucHVzaChuLmNvZGUgfHwgbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGsobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgd2Fsayh0aGlzLmRhdGEpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBgJmNhdGVnb3J5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlbGVjdGVkQ29kZXNbMF0pfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIGlmIChmaWx0ZXIudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2hhcGUgPSAndGV4dCc7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFjY2VudHMoU3RyaW5nKGluaXRpYWxWYWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBmaWx0ZXIuY2hpbGRyZW4ubWFwKFxuICAgICAgICAgICAgICAgIChjaGlsZDogYW55LCBpOiBudW1iZXIpID0+IHRoaXMuY3JlYXRlRWxlbWVudChjaGlsZCwgb3JpZ2luYWwuY2hpbGRyZW5baV0sIGluaXRpYWxWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFjY2VudHMoU3RyaW5nKGluaXRpYWxWYWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRGcm9tU2x1Z1xuICAgICAqIC0gTWFyY2EgY29tbyBzZWxlY3RlZCBsb3Mgbm9kb3MgY3V5byBzbHVnL3BhdGgvbmFtZSBjb2luY2lkZSBjb24gZWwgc2x1ZyBwcm9wb3JjaW9uYWRvLlxuICAgICAqIC0gVXRpbGl6YSByZW1vdmVBY2NlbnRzIHBhcmEgY29tcGFyYXIgc2luIHRpbGRlcyB5IGVuIG1pbsO6c2N1bGFzLlxuICAgICAqIC0gTm8gcmV0b3JuYSB2YWxvciwgc29sbyBtb2RpZmljYSB0aGlzLmRhdGEuXG4gICAgICovXG4gICAgc2V0RnJvbVNsdWcoc2x1Zzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMucmVtb3ZlQWNjZW50cyhTdHJpbmcoc2x1ZykudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgY29uc3Qgd2FsayA9IChub2RlczogYW55W10pID0+IHtcbiAgICAgICAgICAgIG5vZGVzLmZvckVhY2gobiA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQURERUQ6IGluaWNpYXIgc2luIHNlbGVjY2nDs24gZXhwbMOtY2l0YSAoYXNlZ3VyYSBlc3RhZG8gY29uc2lzdGVudGUpXG4gICAgICAgICAgICAgICAgbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIG4uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgbi5wYXRoICYmIFN0cmluZyhuLnBhdGgpLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pLnBvcCgpLFxuICAgICAgICAgICAgICAgICAgICBuLm5hbWVcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoczogc3RyaW5nKSA9PiB0aGlzLnJlbW92ZUFjY2VudHMocy50b0xvd2VyQ2FzZSgpKSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2FuZGlkYXRlcy5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG4uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGsobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgd2Fsayh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGh5ZHJhdGVGcm9tUXVlcnlcbiAgICAgKiAtIE1hcmNhIGxhIGNhdGVnb3LDrWEgc2Vnw7puIGVsIHBhcsOhbWV0cm8gZGUgcXVlcnkgJ2NhdGVnb3J5JyBzaSBleGlzdGUuXG4gICAgICogLSBCdXNjYSBlbCBjb2RlIGV4YWN0byBlbiBsYSBlc3RydWN0dXJhIHkgbWFyY2EgZWwgbm9kbyBjb3JyZXNwb25kaWVudGUuXG4gICAgICogLSBMb2dnZWEgc2kgc2UgZW5jb250csOzIG8gbm8gbGEgY2F0ZWdvcsOtYS5cbiAgICAgKi9cbiAgICBoeWRyYXRlRnJvbVF1ZXJ5KHF1ZXJ5OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmF3ID0gcXVlcnk/LlsnY2F0ZWdvcnknXTtcbiAgICAgICAgaWYgKCFyYXcpIHJldHVybjtcblxuICAgICAgICBjb25zdCBjb2RlID0gU3RyaW5nKHJhdykudHJpbSgpO1xuICAgICAgICBpZiAoIWNvZGUpIHJldHVybjtcblxuICAgICAgICBjb25zdCBtYXJrID0gKG5vZGVzOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuLmNvZGUgPT09IGNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXJrKG4uY2hpbGRyZW4pKSBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb2sgPSBtYXJrKHRoaXMuZGF0YSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -7,9 +7,13 @@ export class FilterFactory {
|
|
|
7
7
|
create(filterType, productsFilter) {
|
|
8
8
|
switch (filterType) {
|
|
9
9
|
case 'categories':
|
|
10
|
-
return new CategoryFilter(productsFilter
|
|
10
|
+
return new CategoryFilter(productsFilter?.type === 'categories'
|
|
11
|
+
? productsFilter.value
|
|
12
|
+
: null);
|
|
11
13
|
case 'attributes':
|
|
12
|
-
return new AttributesFilter(productsFilter
|
|
14
|
+
return new AttributesFilter(productsFilter?.type === 'attributes'
|
|
15
|
+
? productsFilter.value
|
|
16
|
+
: null);
|
|
13
17
|
case 'dynamics':
|
|
14
18
|
return new DynamicsFilter();
|
|
15
19
|
case 'sort':
|
|
@@ -22,4 +26,4 @@ export class FilterFactory {
|
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2ZpbHRlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sYUFBYTtJQUNmLE1BQU0sQ0FBQyxVQUFzQixFQUFFLGNBQW1DO1FBQ3JFLFFBQVEsVUFBVSxFQUFFLENBQUM7WUFDakIsS0FBSyxZQUFZO2dCQUNiLE9BQU8sSUFBSSxjQUFjLENBQ3JCLGNBQWMsRUFBRSxJQUFJLEtBQUssWUFBWTtvQkFDakMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLO29CQUN0QixDQUFDLENBQUMsSUFBSSxDQUNiLENBQUM7WUFDTixLQUFLLFlBQVk7Z0JBQ2IsT0FBTyxJQUFJLGdCQUFnQixDQUN2QixjQUFjLEVBQUUsSUFBSSxLQUFLLFlBQVk7b0JBQ2pDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSztvQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FDYixDQUFDO1lBQ04sS0FBSyxVQUFVO2dCQUNYLE9BQU8sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzVCLEtBQUssYUFBYTtnQkFDZCxPQUFPLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNsQztnQkFDSSw0REFBNEQ7Z0JBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyVHlwZSwgSUZpbHRlciwgUGFnaW5hdGlvblNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEF0dHJpYnV0ZXNGaWx0ZXIgfSBmcm9tIFwiLi9hdHRyaWJ1dGVzLWZpbHRlclwiO1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXIgfSBmcm9tIFwiLi9jYXRlZ29yeS1maWx0ZXJcIjtcbmltcG9ydCB7IER5bmFtaWNzRmlsdGVyIH0gZnJvbSBcIi4vZHluYW1pY3MtZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJcIjtcbmltcG9ydCB7IFNvcnRGaWx0ZXIgfSBmcm9tIFwiLi9zb3J0LWZpbHRlclwiO1xuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gXCIuL3ByaWNlX3JhbmdlLWZpbHRlclwiO1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRmFjdG9yeSB7XG4gICAgcHVibGljIGNyZWF0ZShmaWx0ZXJUeXBlOiBGaWx0ZXJUeXBlLCBwcm9kdWN0c0ZpbHRlcj86IFBhZ2luYXRpb25TZXR0aW5ncyk6IEZpbHRlciB7XG4gICAgICAgIHN3aXRjaCAoZmlsdGVyVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNGaWx0ZXI/LnR5cGUgPT09ICdjYXRlZ29yaWVzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBwcm9kdWN0c0ZpbHRlci52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgJ2F0dHJpYnV0ZXMnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQXR0cmlidXRlc0ZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNGaWx0ZXI/LnR5cGUgPT09ICdhdHRyaWJ1dGVzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBwcm9kdWN0c0ZpbHRlci52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgJ2R5bmFtaWNzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IER5bmFtaWNzRmlsdGVyKCk7XG4gICAgICAgICAgICBjYXNlICdzb3J0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNvcnRGaWx0ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgJ3ByaWNlX3JhbmdlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByaWNlUmFuZ2VGaWx0ZXIoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRmlsdGVyIHR5cGUgbm90IHJlY29nbml6ZWQ6JywgZmlsdGVyVHlwZSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Función auxiliar para remover acentos de forma segura para SSR
|
|
3
|
+
*/
|
|
4
|
+
function safeRemoveAccents(str) {
|
|
5
|
+
if (typeof window !== 'undefined' && typeof String.prototype.normalize === 'function') {
|
|
6
|
+
return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
|
|
7
|
+
}
|
|
8
|
+
// Fallback para SSR - remover acentos manualmente
|
|
9
|
+
return str.replace(/[àáâãäå]/g, 'a')
|
|
10
|
+
.replace(/[èéêë]/g, 'e')
|
|
11
|
+
.replace(/[ìíîï]/g, 'i')
|
|
12
|
+
.replace(/[òóôõö]/g, 'o')
|
|
13
|
+
.replace(/[ùúûü]/g, 'u')
|
|
14
|
+
.replace(/[ýÿ]/g, 'y')
|
|
15
|
+
.replace(/[ñ]/g, 'n')
|
|
16
|
+
.replace(/[ç]/g, 'c')
|
|
17
|
+
.replace(/[ÀÁÂÃÄÅ]/g, 'A')
|
|
18
|
+
.replace(/[ÈÉÊË]/g, 'E')
|
|
19
|
+
.replace(/[ÌÍÎÏ]/g, 'I')
|
|
20
|
+
.replace(/[ÒÓÔÕÖ]/g, 'O')
|
|
21
|
+
.replace(/[ÙÚÛÜ]/g, 'U')
|
|
22
|
+
.replace(/[ÝŸ]/g, 'Y')
|
|
23
|
+
.replace(/[Ñ]/g, 'N')
|
|
24
|
+
.replace(/[Ç]/g, 'C');
|
|
25
|
+
}
|
|
1
26
|
export class Filter {
|
|
2
27
|
data = [];
|
|
3
28
|
multi = false;
|
|
@@ -17,7 +42,7 @@ export class Filter {
|
|
|
17
42
|
throw new Error("Method not implemented.");
|
|
18
43
|
}
|
|
19
44
|
removeAccents = (str) => {
|
|
20
|
-
return str
|
|
45
|
+
return safeRemoveAccents(str);
|
|
21
46
|
};
|
|
22
47
|
setSelected(element, value) {
|
|
23
48
|
//console.log(element, value);
|
|
@@ -80,4 +105,4 @@ export class Filter {
|
|
|
80
105
|
return result;
|
|
81
106
|
};
|
|
82
107
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE1BQU07SUFFZixJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRXZCLElBQUk7UUFDQSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFZO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsVUFBVTtRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsV0FBVztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQVcsRUFBRSxRQUFhLEVBQUUsWUFBa0I7UUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxhQUFhLEdBQUcsQ0FBQyxHQUFVLEVBQUUsRUFBRTtRQUMzQixPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQTtJQUVELFdBQVcsQ0FBQyxPQUFXLEVBQUUsS0FBVTtRQUMvQiw4QkFBOEI7UUFDOUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9GLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsR0FBRyxDQUFDLElBQVEsRUFBRSxpQkFBcUIsRUFBRSxFQUFFO1FBQzlDLDZCQUE2QjtRQUM3QixpQkFBaUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBVyxFQUFFLEVBQUU7WUFDOUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQTtJQUVELGdCQUFnQixDQUFDLE9BQVcsRUFBRSxLQUFVLEVBQUUsT0FBWSxFQUFFLEtBQVU7UUFDOUQsSUFBSSxRQUFRLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQWMsRUFBRSxFQUFFO1lBQzlDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkUsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVMsRUFBRSxDQUFRLEVBQUUsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLElBQUksS0FBSztvQkFBRSxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0gsUUFBUTtnQkFDUixPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQzVELENBQUMsTUFBVSxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwRixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQzNCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQzt3QkFDbEMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDbkIsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sT0FBTyxDQUFDO1lBQ25CLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFBQSxDQUFDO0lBRUYsZUFBZSxHQUFHLEdBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU5RCxZQUFZLEdBQUcsQ0FBQyxRQUFlLEVBQUUsTUFBVSxFQUFFLEVBQUU7UUFDM0MsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxVQUFVO29CQUFFLE1BQU0sR0FBRyxVQUFVLENBQUM7WUFDeEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxDQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGNsYXNzIEZpbHRlciBpbXBsZW1lbnRzIElGaWx0ZXIgIHtcbiAgICBcbiAgICBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcbiAgICBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIFxuICAgIHR5cGUoKTogRmlsdGVyVHlwZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH1cbiAgICBzZXRDb250ZW50KG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgICB9XG4gICAgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgICB9XG4gICAgdG9VcmxQYXJhbXMoKTogc3RyaW5nIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gICAgfVxuICAgIGNyZWF0ZUVsZW1lbnQoZmlsdGVyOiBhbnksIG9yaWdpbmFsOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgICB9XG4gICAgcmVtb3ZlQWNjZW50cyA9IChzdHI6c3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBzdHIubm9ybWFsaXplKFwiTkZEXCIpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdGVkKGVsZW1lbnQ6YW55LCB2YWx1ZT86YW55KXtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhlbGVtZW50LCB2YWx1ZSk7XG4gICAgICAgICgoZWxlbWVudC5tdWx0aSAhPSB1bmRlZmluZWQpICYmICFlbGVtZW50Lm11bHRpKSA/IHRoaXMuY2xlYW5GaWx0ZXIodGhpcy5kYXRhLCBlbGVtZW50KSA6IG51bGw7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZShlbGVtZW50LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgY2xlYW5GaWx0ZXIgPSAoZGF0YTphbnksIGVsZW1lbnRfdG9fY2hhbmdlOmFueSkgPT4ge1xuICAgICAgICAvL2NvbnNvbGUubG9nKFwiY2xlYW5GaWx0ZXJcIik7XG4gICAgICAgIGVsZW1lbnRfdG9fY2hhbmdlICYmIGRhdGEuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcbiAgICAgICAgICAgIGVsZW1lbnRfdG9fY2hhbmdlICE9IGVsZW1lbnQgPyBlbGVtZW50LnNlbGVjdGVkID0gZmFsc2UgOiBudWxsO1xuICAgICAgICAgICAgKGVsZW1lbnQuY2hpbGRyZW4gJiYgZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSAmJiB0aGlzLmNsZWFuRmlsdGVyKGVsZW1lbnQuY2hpbGRyZW4sIGVsZW1lbnRfdG9fY2hhbmdlKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBzZXRTZWxlY3RlZFZhbHVlKGVsZW1lbnQ6YW55LCB2YWx1ZT86YW55LCBzdWJsaXN0PzphbnksIG11bHRpPzphbnkpe1xuICAgICAgICBsZXQgZWxlbWVudHMgPSBzdWJsaXN0IHx8IHRoaXMuZGF0YTtcbiAgICAgICAgbGV0IGluZGV4ID0gZWxlbWVudHMuZmluZEluZGV4KChzdWJlbGVtZW50OmFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChlbGVtZW50LmNvZGUgfHwgZWxlbWVudCkgPT0gc3ViZWxlbWVudC5jb2RlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGVsZW1lbnRzW2luZGV4XS5zZWxlY3RlZCA9IGVsZW1lbnRzW2luZGV4XS5zZWxlY3RlZCA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgICAgICFtdWx0aSAmJiBlbGVtZW50cy5mb3JFYWNoKChjaGlsZDphbnksIGk6bnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGkgIT0gaW5kZXgpIGNoaWxkLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZWxlbWVudHMsXG4gICAgICAgICAgICAgICAgZm91bmRlZDogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVsZW1lbnRzLnNvbWUoKGVsZW06YW55KSA9PiBlbGVtLnR5cGUgPT0gJ3N1YicpICYmIGVsZW1lbnRzLnNvbWUoXG4gICAgICAgICAgICAgICAgKGZpbHRlcjphbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvdW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlID09ICdzdWInKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnNldFNlbGVjdGVkVmFsdWUoZWxlbWVudCwgdmFsdWUsIGZpbHRlci5jaGlsZHJlbiwgZmlsdGVyLm11bHRpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmZvdW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSByZXN1bHQuZWxlbWVudHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBnZXRTZWxlY3RlZExpc3QgPSAoKTogYW55ID0+IHRoaXMuZmluZFNlbGVjdGVkKHRoaXMuZGF0YSwgW10pO1xuXG4gICAgZmluZFNlbGVjdGVkID0gKGVsZW1lbnRzOiBhbnlbXSwgcmVzdWx0OmFueSkgPT4ge1xuICAgICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRzLmZpbmQoZWxlbSA9PiBlbGVtLnNlbGVjdGVkKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGVsZW1lbnQuY29kZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goZWxlbSA9PiB7XG4gICAgICAgICAgICBpZiAoZWxlbS5jaGlsZHJlbiAmJiBlbGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdfcmVzdWx0ID0gdGhpcy5maW5kU2VsZWN0ZWQoZWxlbS5jaGlsZHJlbiwgcmVzdWx0KTtcbiAgICAgICAgICAgICAgICBpZiAobmV3X3Jlc3VsdCkgcmVzdWx0ID0gbmV3X3Jlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLEdBQVc7SUFDbEMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNwRixPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxrREFBa0Q7SUFDbEQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7U0FDL0IsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUM7U0FDeEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7U0FDckIsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7U0FDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7U0FDcEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7U0FDekIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUM7U0FDeEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsT0FBTyxDQUFDLE9BQU8s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Q1YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxVQUFVO29CQUFFLE1BQU0sR0FBRyxVQUFVLENBQUM7WUFDeEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxDQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBGdW5jacOzbiBhdXhpbGlhciBwYXJhIHJlbW92ZXIgYWNlbnRvcyBkZSBmb3JtYSBzZWd1cmEgcGFyYSBTU1JcbiAqL1xuZnVuY3Rpb24gc2FmZVJlbW92ZUFjY2VudHMoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5ub3JtYWxpemUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5ub3JtYWxpemUoXCJORkRcIikucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIik7XG4gICAgfVxuICAgIC8vIEZhbGxiYWNrIHBhcmEgU1NSIC0gcmVtb3ZlciBhY2VudG9zIG1hbnVhbG1lbnRlXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9bw6DDocOiw6PDpMOlXS9nLCAnYScpXG4gICAgICAgIC5yZXBsYWNlKC9bw6jDqcOqw6tdL2csICdlJylcbiAgICAgICAgLnJlcGxhY2UoL1vDrMOtw67Dr10vZywgJ2knKVxuICAgICAgICAucmVwbGFjZSgvW8Oyw7PDtMO1w7ZdL2csICdvJylcbiAgICAgICAgLnJlcGxhY2UoL1vDucO6w7vDvF0vZywgJ3UnKVxuICAgICAgICAucmVwbGFjZSgvW8O9w79dL2csICd5JylcbiAgICAgICAgLnJlcGxhY2UoL1vDsV0vZywgJ24nKVxuICAgICAgICAucmVwbGFjZSgvW8OnXS9nLCAnYycpXG4gICAgICAgIC5yZXBsYWNlKC9bw4DDgcOCw4PDhMOFXS9nLCAnQScpXG4gICAgICAgIC5yZXBsYWNlKC9bw4jDicOKw4tdL2csICdFJylcbiAgICAgICAgLnJlcGxhY2UoL1vDjMONw47Dj10vZywgJ0knKVxuICAgICAgICAucmVwbGFjZSgvW8OSw5PDlMOVw5ZdL2csICdPJylcbiAgICAgICAgLnJlcGxhY2UoL1vDmcOaw5vDnF0vZywgJ1UnKVxuICAgICAgICAucmVwbGFjZSgvW8OdxbhdL2csICdZJylcbiAgICAgICAgLnJlcGxhY2UoL1vDkV0vZywgJ04nKVxuICAgICAgICAucmVwbGFjZSgvW8OHXS9nLCAnQycpO1xufVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyIGltcGxlbWVudHMgSUZpbHRlciAge1xuICAgIFxuICAgIGRhdGE6IEZpbHRlckVsZW1lbnRbXSA9IFtdO1xuICAgIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG4gICAgXG4gICAgdHlwZSgpOiBGaWx0ZXJUeXBlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gICAgfVxuICAgIHNldENvbnRlbnQob3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH1cbiAgICBnZXRDb250ZW50KCk6IEZpbHRlckVsZW1lbnRbXSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH1cbiAgICB0b1VybFBhcmFtcygpOiBzdHJpbmcge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgICB9XG4gICAgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH1cbiAgICByZW1vdmVBY2NlbnRzID0gKHN0cjpzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIHNhZmVSZW1vdmVBY2NlbnRzKHN0cik7XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0ZWQoZWxlbWVudDphbnksIHZhbHVlPzphbnkpe1xuICAgICAgICAvL2NvbnNvbGUubG9nKGVsZW1lbnQsIHZhbHVlKTtcbiAgICAgICAgKChlbGVtZW50Lm11bHRpICE9IHVuZGVmaW5lZCkgJiYgIWVsZW1lbnQubXVsdGkpID8gdGhpcy5jbGVhbkZpbHRlcih0aGlzLmRhdGEsIGVsZW1lbnQpIDogbnVsbDtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKGVsZW1lbnQsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBjbGVhbkZpbHRlciA9IChkYXRhOmFueSwgZWxlbWVudF90b19jaGFuZ2U6YW55KSA9PiB7XG4gICAgICAgIC8vY29uc29sZS5sb2coXCJjbGVhbkZpbHRlclwiKTtcbiAgICAgICAgZWxlbWVudF90b19jaGFuZ2UgJiYgZGF0YS5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xuICAgICAgICAgICAgZWxlbWVudF90b19jaGFuZ2UgIT0gZWxlbWVudCA/IGVsZW1lbnQuc2VsZWN0ZWQgPSBmYWxzZSA6IG51bGw7XG4gICAgICAgICAgICAoZWxlbWVudC5jaGlsZHJlbiAmJiBlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApICYmIHRoaXMuY2xlYW5GaWx0ZXIoZWxlbWVudC5jaGlsZHJlbiwgZWxlbWVudF90b19jaGFuZ2UpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIHNldFNlbGVjdGVkVmFsdWUoZWxlbWVudDphbnksIHZhbHVlPzphbnksIHN1Ymxpc3Q/OmFueSwgbXVsdGk/OmFueSl7XG4gICAgICAgIGxldCBlbGVtZW50cyA9IHN1Ymxpc3QgfHwgdGhpcy5kYXRhO1xuICAgICAgICBsZXQgaW5kZXggPSBlbGVtZW50cy5maW5kSW5kZXgoKHN1YmVsZW1lbnQ6YW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKGVsZW1lbnQuY29kZSB8fCBlbGVtZW50KSA9PSBzdWJlbGVtZW50LmNvZGU7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZWxlbWVudHNbaW5kZXhdLnNlbGVjdGVkID0gZWxlbWVudHNbaW5kZXhdLnNlbGVjdGVkID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICAgICAgIW11bHRpICYmIGVsZW1lbnRzLmZvckVhY2goKGNoaWxkOmFueSwgaTpudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaSAhPSBpbmRleCkgY2hpbGQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50cyxcbiAgICAgICAgICAgICAgICBmb3VuZGVkOiB0cnVlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWxlbWVudHMuc29tZSgoZWxlbTphbnkpID0+IGVsZW0udHlwZSA9PSAnc3ViJykgJiYgZWxlbWVudHMuc29tZShcbiAgICAgICAgICAgICAgICAoZmlsdGVyOmFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZm91bmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gJ3N1YicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZShlbGVtZW50LCB2YWx1ZSwgZmlsdGVyLmNoaWxkcmVuLCBmaWx0ZXIubXVsdGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuZm91bmRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci5jaGlsZHJlbiA9IHJlc3VsdC5lbGVtZW50cztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm91bmRlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIGdldFNlbGVjdGVkTGlzdCA9ICgpOiBhbnkgPT4gdGhpcy5maW5kU2VsZWN0ZWQodGhpcy5kYXRhLCBbXSk7XG5cbiAgICBmaW5kU2VsZWN0ZWQgPSAoZWxlbWVudHM6IGFueVtdLCByZXN1bHQ6YW55KSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gZWxlbWVudHMuZmluZChlbGVtID0+IGVsZW0uc2VsZWN0ZWQpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goZWxlbWVudC5jb2RlKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaChlbGVtID0+IHtcbiAgICAgICAgICAgIGlmIChlbGVtLmNoaWxkcmVuICYmIGVsZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld19yZXN1bHQgPSB0aGlzLmZpbmRTZWxlY3RlZChlbGVtLmNoaWxkcmVuLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgIGlmIChuZXdfcmVzdWx0KSByZXN1bHQgPSBuZXdfcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -15,8 +15,8 @@ export class PriceRangeFilter extends Filter {
|
|
|
15
15
|
if (options.minPrice != null && options.maxPrice != null) {
|
|
16
16
|
this.minPrice = options.minPrice;
|
|
17
17
|
this.maxPrice = options.maxPrice;
|
|
18
|
-
this.currentMinPrice = options.currentMinPrice ??
|
|
19
|
-
this.currentMaxPrice = options.currentMaxPrice ??
|
|
18
|
+
this.currentMinPrice = options.currentMinPrice ?? null;
|
|
19
|
+
this.currentMaxPrice = options.currentMaxPrice ?? null;
|
|
20
20
|
this._loaded = true;
|
|
21
21
|
}
|
|
22
22
|
};
|
|
@@ -56,4 +56,4 @@ export class PriceRangeFilter extends Filter {
|
|
|
56
56
|
this.currentMaxPrice = null;
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2VfcmFuZ2UtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsTUFBTTtJQUNoQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFXLENBQUMsQ0FBQztJQUNyQixlQUFlLEdBQWtCLElBQUksQ0FBQztJQUN0QyxlQUFlLEdBQWtCLElBQUksQ0FBQztJQUU3QixJQUFJLEdBQUcsR0FBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBRWhELHlDQUF5QztJQUN6QyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELHFEQUFxRDtJQUM1QyxVQUFVLEdBQUcsQ0FBQyxPQUFxRyxFQUFFLEVBQUU7UUFDNUgsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDO1lBRXZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxZQUFZLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1EQUFtRDtJQUMxQyxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFRLEVBQUU7UUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUQsQ0FBQyxDQUFBO0lBRUQsdURBQXVEO0lBQ3ZELGdCQUFnQixHQUFHLEdBQWlDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFTO1FBQzNDLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFTO0tBQzlDLENBQUMsQ0FBQTtJQUVGLDJFQUEyRTtJQUNsRSxXQUFXLEdBQUcsR0FBVyxFQUFFO1FBQ2hDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxjQUFjLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxjQUFjLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxpREFBaUQ7SUFDakQsS0FBSyxHQUFHLEdBQVMsRUFBRTtRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUMsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBQcmljZVJhbmdlRmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICAgIG1pblByaWNlOiBudW1iZXIgPSAwO1xuICAgIG1heFByaWNlOiBudW1iZXIgPSAwO1xuICAgIGN1cnJlbnRNaW5QcmljZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgY3VycmVudE1heFByaWNlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIG92ZXJyaWRlIHR5cGUgPSAoKTogRmlsdGVyVHlwZSA9PiAncHJpY2VfcmFuZ2UnO1xuXG4gICAgLyoqIHRydWUgY3VhbmRvIHlhIHRlbmdvIHVuIHJhbmdvIHJlYWwgKi9cbiAgICBnZXQgaXNMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkZWQ7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kbyBwYXJhIGNvbmZpZ3VyYXIgZWwgcmFuZ28gZGUgcHJlY2lvcyBpbmljaWFsXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudCA9IChvcHRpb25zOiB7IG1pblByaWNlPzogbnVtYmVyOyBtYXhQcmljZT86IG51bWJlcjsgY3VycmVudE1pblByaWNlPzogbnVtYmVyOyBjdXJyZW50TWF4UHJpY2U/OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5taW5QcmljZSAhPSBudWxsICYmIG9wdGlvbnMubWF4UHJpY2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5taW5QcmljZSA9IG9wdGlvbnMubWluUHJpY2U7XG4gICAgICAgICAgICB0aGlzLm1heFByaWNlID0gb3B0aW9ucy5tYXhQcmljZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gb3B0aW9ucy5jdXJyZW50TWluUHJpY2UgPz8gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1heFByaWNlID0gb3B0aW9ucy5jdXJyZW50TWF4UHJpY2UgPz8gbnVsbDtcblxuICAgICAgICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVByaWNlcyhtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5QcmljZSA9IG1pbjtcbiAgICAgICAgdGhpcy5tYXhQcmljZSA9IG1heDtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE1pblByaWNlICE9PSBudWxsICYmICh0aGlzLmN1cnJlbnRNaW5QcmljZSA8IG1pbiB8fCB0aGlzLmN1cnJlbnRNaW5QcmljZSA+IG1heCkpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCAmJiAodGhpcy5jdXJyZW50TWF4UHJpY2UgPiBtYXggfHwgdGhpcy5jdXJyZW50TWF4UHJpY2UgPCBtaW4pKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIHNlbGVjY2lvbmFkb3NcbiAgICBvdmVycmlkZSBzZXRTZWxlY3RlZCA9IChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSBtaW4gIT09IHRoaXMubWluUHJpY2UgPyBtaW4gOiBudWxsO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG1heCAhPT0gdGhpcy5tYXhQcmljZSA/IG1heCA6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gUmV0b3JuYSBsb3MgdmFsb3JlcyBzZWxlY2Npb25hZG9zIChyYW5nbyBkZSBwcmVjaW9zKVxuICAgIGdldFNlbGVjdGVkUmFuZ2UgPSAoKTogeyBtaW46IG51bWJlciwgbWF4OiBudW1iZXIgfSA9PiAoe1xuICAgICAgICBtaW46IHRoaXMuY3VycmVudE1pblByaWNlID8/IHRoaXMubWluUHJpY2UhLFxuICAgICAgICBtYXg6IHRoaXMuY3VycmVudE1heFByaWNlID8/IHRoaXMubWF4UHJpY2UhXG4gICAgfSlcblxuICAgIC8vIEdlbmVyYSBsb3MgcGFyw6FtZXRyb3MgZGUgbGEgVVJMIGVuIGJhc2UgYWwgcmFuZ28gZGUgcHJlY2lvcyBzZWxlY2Npb25hZG9cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcyA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNaW5QcmljZSAhPSBudWxsKSBwYXJhbXMgKz0gYCZwcmljZV9taW49JHt0aGlzLmN1cnJlbnRNaW5QcmljZX1gO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWF4UHJpY2UgIT0gbnVsbCkgcGFyYW1zICs9IGAmcHJpY2VfbWF4PSR7dGhpcy5jdXJyZW50TWF4UHJpY2V9YDtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICAvLyBSZXN0YWJsZWNlIGVsIGZpbHRybyBhIGxvcyB2YWxvcmVzIHBvciBkZWZlY3RvXG4gICAgcmVzZXQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbnVsbDtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|