ng-easycommerce-v18 0.2.15 → 0.2.17
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 +5 -0
- package/assets/decidirFormEc.html +7 -7
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +11 -11
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +12 -12
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +2 -2
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +4 -4
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +2 -2
- package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +24 -0
- package/esm2022/lib/ec-pipe/index.mjs +2 -1
- package/esm2022/lib/ec-services/cart.service.mjs +47 -18
- package/esm2022/lib/ec-services/checkout.service.mjs +3 -3
- package/esm2022/lib/ec-services/currency.service.mjs +2 -2
- package/esm2022/lib/ec-services/test.service.mjs +2 -2
- package/fesm2022/ng-easycommerce-v18.mjs +122 -72
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/ec-pipe/ec-safe-html.pipe.d.ts +10 -0
- package/lib/ec-pipe/index.d.ts +1 -0
- package/lib/ec-services/cart.service.d.ts +5 -4
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ import * as i1$3 from '@angular/forms';
|
|
|
17
17
|
import { Validators, FormBuilder, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
18
18
|
import { register } from 'swiper/element/bundle';
|
|
19
19
|
import { register as register$1 } from 'swiper/element';
|
|
20
|
-
import * as
|
|
20
|
+
import * as i1$4 from '@angular/platform-browser';
|
|
21
21
|
import { DomSanitizer, Meta, Title } from '@angular/platform-browser';
|
|
22
22
|
import * as i1$2 from 'ng-recaptcha-2';
|
|
23
23
|
import { RecaptchaModule } from 'ng-recaptcha-2';
|
|
@@ -2157,7 +2157,7 @@ class CurrencyService {
|
|
|
2157
2157
|
baseCurrency = 'USD';
|
|
2158
2158
|
}
|
|
2159
2159
|
}
|
|
2160
|
-
console.log("BC", baseCurrency);
|
|
2160
|
+
// console.log("BC", baseCurrency);
|
|
2161
2161
|
if (currency.code == baseCurrency) {
|
|
2162
2162
|
this.loadCurrency(currency);
|
|
2163
2163
|
}
|
|
@@ -4156,31 +4156,60 @@ class CartService {
|
|
|
4156
4156
|
;
|
|
4157
4157
|
constructor() {
|
|
4158
4158
|
this._requestInProcess.next(true);
|
|
4159
|
+
// ✅ Cargar carrito local y token previo
|
|
4160
|
+
this._items = JSON.parse(this._localStorage.getItem(this.CART_KEY) || '[]');
|
|
4159
4161
|
this.cartToken = this._localStorage.getItem(this.CART_TOKEN_KEY) || null;
|
|
4160
|
-
|
|
4162
|
+
// 🔑 CLAVE: Suscripción a cambios de estado de login
|
|
4163
|
+
this._authService.loggedIn$.subscribe(isLoggedIn => {
|
|
4164
|
+
if (isLoggedIn) {
|
|
4165
|
+
this.syncCartOnLogin();
|
|
4166
|
+
}
|
|
4167
|
+
else {
|
|
4168
|
+
// Usuario cerró sesión, limpiar y resetear carrito
|
|
4169
|
+
this.clearAndResetCustomerCart();
|
|
4170
|
+
}
|
|
4171
|
+
});
|
|
4161
4172
|
this._channelService.channel$.subscribe(res => this.channelConfig = res);
|
|
4173
|
+
// Inicializar carrito para usuarios no autenticados
|
|
4174
|
+
if (!this._authService.isAuthenticated()) {
|
|
4175
|
+
// Si hay token, intentar obtener carrito por token, sino crear nuevo
|
|
4176
|
+
if (this.cartToken) {
|
|
4177
|
+
this.getCart();
|
|
4178
|
+
}
|
|
4179
|
+
else {
|
|
4180
|
+
this.getCartByCustomer();
|
|
4181
|
+
}
|
|
4182
|
+
}
|
|
4162
4183
|
}
|
|
4163
4184
|
/**
|
|
4164
|
-
*
|
|
4185
|
+
* Sincroniza el carrito cuando el usuario hace login
|
|
4186
|
+
* Implementa la lógica de Angular 9 para preservar el carrito del invitado
|
|
4165
4187
|
*/
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4188
|
+
syncCartOnLogin() {
|
|
4189
|
+
// ✅ Si hay carrito local Y token, enviar para sincronizar con el servidor
|
|
4190
|
+
const hasLocalCart = this.cartToken && this._items.length > 0;
|
|
4191
|
+
if (hasLocalCart) {
|
|
4192
|
+
// Envía el token para fusionar carritos
|
|
4193
|
+
this.getCart();
|
|
4194
|
+
}
|
|
4195
|
+
else {
|
|
4196
|
+
// Sin carrito local, obtener carrito del usuario autenticado
|
|
4197
|
+
this.getCartByCustomer();
|
|
4198
|
+
}
|
|
4174
4199
|
}
|
|
4175
4200
|
/**
|
|
4176
|
-
* Obtiene el carrito desde el backend
|
|
4177
|
-
*
|
|
4201
|
+
* Obtiene el carrito desde el backend con lógica de sincronización
|
|
4202
|
+
* Envía el token si hay carrito local para fusionar carritos
|
|
4178
4203
|
*/
|
|
4179
4204
|
getCart() {
|
|
4180
|
-
//
|
|
4181
|
-
|
|
4182
|
-
|
|
4205
|
+
// 🔑 LÓGICA CRUCIAL: Si existe token Y hay items locales, envía el token
|
|
4206
|
+
const payload = (this.cartToken && this._items.length >= 1) ? { token: this.cartToken } : undefined;
|
|
4207
|
+
firstValueFrom(this._connection.post(this.cartItemsApi(), payload)).then((res) => {
|
|
4208
|
+
//console.log('getCart response:', res);
|
|
4183
4209
|
this.initializeCart(res);
|
|
4210
|
+
}).catch(error => {
|
|
4211
|
+
console.error('Error getting cart:', error);
|
|
4212
|
+
this._requestInProcess.next(false);
|
|
4184
4213
|
});
|
|
4185
4214
|
}
|
|
4186
4215
|
/**
|
|
@@ -4521,7 +4550,7 @@ class CartService {
|
|
|
4521
4550
|
}
|
|
4522
4551
|
changeHaveToUpdate = (value) => this._haveToUpdate = value;
|
|
4523
4552
|
clearAndResetCustomerCart() {
|
|
4524
|
-
console.log("Clearing and reseting...")
|
|
4553
|
+
// console.log("Clearing and reseting...")
|
|
4525
4554
|
this.resetCart(this.getCartByCustomer);
|
|
4526
4555
|
}
|
|
4527
4556
|
getCartByCustomer = async () => this._connection.post(this.cartItemsApi()).subscribe(res => this.initializeCart(res));
|
|
@@ -5034,7 +5063,7 @@ class CheckoutService {
|
|
|
5034
5063
|
if (final_steps.length == 1) {
|
|
5035
5064
|
this._lastStepSubject.next(true);
|
|
5036
5065
|
}
|
|
5037
|
-
console.log(final_steps);
|
|
5066
|
+
// console.log(final_steps);
|
|
5038
5067
|
firstValueFrom(this._connection.get(this.getHasPurchaseConditions())).then(res => {
|
|
5039
5068
|
this._analyticsService.callEvent('checkout_init', { ...this.cartLocal, currency: this.cartLocal?.currency, value: this.cartLocal?.total });
|
|
5040
5069
|
});
|
|
@@ -5061,7 +5090,7 @@ class CheckoutService {
|
|
|
5061
5090
|
}
|
|
5062
5091
|
this._loadingStepSubject.next(false);
|
|
5063
5092
|
}, err => {
|
|
5064
|
-
console.log(err)
|
|
5093
|
+
// console.log(err)
|
|
5065
5094
|
this._loadingStepSubject.next(false);
|
|
5066
5095
|
this._toastService.show('operation-error');
|
|
5067
5096
|
});
|
|
@@ -5548,7 +5577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5548
5577
|
|
|
5549
5578
|
class TestService {
|
|
5550
5579
|
constructor() {
|
|
5551
|
-
console.log('hola');
|
|
5580
|
+
// console.log('hola');
|
|
5552
5581
|
}
|
|
5553
5582
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5554
5583
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestService, providedIn: 'root' });
|
|
@@ -5884,10 +5913,10 @@ class HeaderEcComponent extends MenuEcComponent {
|
|
|
5884
5913
|
constructor() {
|
|
5885
5914
|
super();
|
|
5886
5915
|
this._channelService.channel$.subscribe(cfg => {
|
|
5887
|
-
console.log('Channel configuration:', cfg);
|
|
5916
|
+
// console.log('Channel configuration:', cfg);
|
|
5888
5917
|
this.showPricesOnlyToLoggedUsers = !!cfg.showPricesOnlyToLoggedUsers;
|
|
5889
5918
|
this.hidePrices = !!cfg.hidePrices;
|
|
5890
|
-
console.log('hidePrices:', this.hidePrices);
|
|
5919
|
+
// console.log('hidePrices:', this.hidePrices);
|
|
5891
5920
|
});
|
|
5892
5921
|
}
|
|
5893
5922
|
coreConstantsService = inject(CoreConstantsService);
|
|
@@ -5969,7 +5998,7 @@ class HeaderEcComponent extends MenuEcComponent {
|
|
|
5969
5998
|
this.getCollectionSearch();
|
|
5970
5999
|
}
|
|
5971
6000
|
setupMobileMenu() {
|
|
5972
|
-
console.log('setupMobileMenu called');
|
|
6001
|
+
// console.log('setupMobileMenu called');
|
|
5973
6002
|
const menuMobile = document.querySelector('.menuMobile');
|
|
5974
6003
|
if (!(menuMobile instanceof HTMLElement))
|
|
5975
6004
|
return;
|
|
@@ -6151,19 +6180,19 @@ class BlockBannerFullEcComponent extends BlockEcComponent {
|
|
|
6151
6180
|
const nextButton = this.document?.getElementById(`${this.meta?.code}-next`);
|
|
6152
6181
|
const swiperElement = this.document?.getElementById(this.meta?.code);
|
|
6153
6182
|
if (prevButton && nextButton && swiperElement) {
|
|
6154
|
-
console.log('Configurando navegación personalizada para banners:', this.meta?.code);
|
|
6183
|
+
// console.log('Configurando navegación personalizada para banners:', this.meta?.code);
|
|
6155
6184
|
// Actualizar configuración del Swiper existente
|
|
6156
6185
|
this.updateSwiperForBanners(swiperElement);
|
|
6157
6186
|
// Configurar los event listeners para los botones
|
|
6158
6187
|
this.setupBannerNavigationEventListeners(prevButton, nextButton, swiperElement);
|
|
6159
|
-
console.log('Event listeners configurados para navegación de banners');
|
|
6188
|
+
// console.log('Event listeners configurados para navegación de banners');
|
|
6160
6189
|
}
|
|
6161
6190
|
else {
|
|
6162
|
-
console.log('No se pudieron encontrar los elementos de navegación para banners:', {
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
});
|
|
6191
|
+
// console.log('No se pudieron encontrar los elementos de navegación para banners:', {
|
|
6192
|
+
// prevButton: !!prevButton,
|
|
6193
|
+
// nextButton: !!nextButton,
|
|
6194
|
+
// swiperElement: !!swiperElement
|
|
6195
|
+
// });
|
|
6167
6196
|
}
|
|
6168
6197
|
}
|
|
6169
6198
|
/**
|
|
@@ -6171,7 +6200,7 @@ class BlockBannerFullEcComponent extends BlockEcComponent {
|
|
|
6171
6200
|
*/
|
|
6172
6201
|
updateSwiperForBanners(swiperElement) {
|
|
6173
6202
|
if (swiperElement.swiper) {
|
|
6174
|
-
console.log('Actualizando configuración de Swiper para banners');
|
|
6203
|
+
// console.log('Actualizando configuración de Swiper para banners');
|
|
6175
6204
|
// Configuración específica para banners
|
|
6176
6205
|
swiperElement.swiper.params.slidesPerGroup = 1;
|
|
6177
6206
|
swiperElement.swiper.allowSlideNext = true;
|
|
@@ -6198,7 +6227,7 @@ class BlockBannerFullEcComponent extends BlockEcComponent {
|
|
|
6198
6227
|
prevClone.addEventListener('click', (e) => {
|
|
6199
6228
|
e.preventDefault();
|
|
6200
6229
|
e.stopPropagation();
|
|
6201
|
-
console.log('Click en botón anterior (banners)');
|
|
6230
|
+
// console.log('Click en botón anterior (banners)');
|
|
6202
6231
|
if (swiperElement.swiper) {
|
|
6203
6232
|
swiperElement.swiper.slidePrev();
|
|
6204
6233
|
}
|
|
@@ -6206,7 +6235,7 @@ class BlockBannerFullEcComponent extends BlockEcComponent {
|
|
|
6206
6235
|
nextClone.addEventListener('click', (e) => {
|
|
6207
6236
|
e.preventDefault();
|
|
6208
6237
|
e.stopPropagation();
|
|
6209
|
-
console.log('Click en botón siguiente (banners)');
|
|
6238
|
+
// console.log('Click en botón siguiente (banners)');
|
|
6210
6239
|
if (swiperElement.swiper) {
|
|
6211
6240
|
swiperElement.swiper.slideNext();
|
|
6212
6241
|
}
|
|
@@ -6751,7 +6780,7 @@ class BlockProductsEcComponent extends BlockEcComponent {
|
|
|
6751
6780
|
const nextButton = document.getElementById(`${this.meta?.code}-next`);
|
|
6752
6781
|
const swiperElement = document.getElementById(this.meta?.code);
|
|
6753
6782
|
if (prevButton && nextButton && swiperElement) {
|
|
6754
|
-
console.log('Configurando navegación personalizada para:', this.meta?.code);
|
|
6783
|
+
// console.log('Configurando navegación personalizada para:', this.meta?.code);
|
|
6755
6784
|
const swiperConfig = this.getSwiperConfiguration();
|
|
6756
6785
|
// Verificar si el Swiper ya está inicializado
|
|
6757
6786
|
if (!swiperElement.swiper) {
|
|
@@ -6762,14 +6791,14 @@ class BlockProductsEcComponent extends BlockEcComponent {
|
|
|
6762
6791
|
}
|
|
6763
6792
|
// Configurar los event listeners para los botones
|
|
6764
6793
|
this.setupNavigationEventListeners(prevButton, nextButton, swiperElement);
|
|
6765
|
-
console.log('Event listeners configurados para los botones de navegación');
|
|
6794
|
+
// console.log('Event listeners configurados para los botones de navegación');
|
|
6766
6795
|
}
|
|
6767
6796
|
else {
|
|
6768
|
-
console.log('No se pudieron encontrar los elementos:', {
|
|
6769
|
-
|
|
6770
|
-
|
|
6771
|
-
|
|
6772
|
-
});
|
|
6797
|
+
// console.log('No se pudieron encontrar los elementos:', {
|
|
6798
|
+
// prevButton: !!prevButton,
|
|
6799
|
+
// nextButton: !!nextButton,
|
|
6800
|
+
// swiperElement: !!swiperElement
|
|
6801
|
+
// });
|
|
6773
6802
|
}
|
|
6774
6803
|
}
|
|
6775
6804
|
/**
|
|
@@ -6818,13 +6847,13 @@ class BlockProductsEcComponent extends BlockEcComponent {
|
|
|
6818
6847
|
Object.assign(swiperElement, config);
|
|
6819
6848
|
// Inicializar el Swiper
|
|
6820
6849
|
swiperElement.initialize();
|
|
6821
|
-
console.log('Swiper inicializado con configuración personalizada');
|
|
6850
|
+
// console.log('Swiper inicializado con configuración personalizada');
|
|
6822
6851
|
}
|
|
6823
6852
|
/**
|
|
6824
6853
|
* Actualiza un Swiper existente para asegurar la configuración correcta.
|
|
6825
6854
|
*/
|
|
6826
6855
|
updateExistingSwiper(swiperElement) {
|
|
6827
|
-
console.log('Actualizando configuración de Swiper existente');
|
|
6856
|
+
// console.log('Actualizando configuración de Swiper existente');
|
|
6828
6857
|
// Forzar slidesPerGroup a 1
|
|
6829
6858
|
swiperElement.swiper.params.slidesPerGroup = 1;
|
|
6830
6859
|
swiperElement.swiper.allowSlideNext = true;
|
|
@@ -6844,7 +6873,7 @@ class BlockProductsEcComponent extends BlockEcComponent {
|
|
|
6844
6873
|
prevButton.addEventListener('click', (e) => {
|
|
6845
6874
|
e.preventDefault();
|
|
6846
6875
|
e.stopPropagation();
|
|
6847
|
-
console.log('Click en botón anterior');
|
|
6876
|
+
// console.log('Click en botón anterior');
|
|
6848
6877
|
if (swiperElement.swiper) {
|
|
6849
6878
|
swiperElement.swiper.slidePrev();
|
|
6850
6879
|
}
|
|
@@ -6852,7 +6881,7 @@ class BlockProductsEcComponent extends BlockEcComponent {
|
|
|
6852
6881
|
nextButton.addEventListener('click', (e) => {
|
|
6853
6882
|
e.preventDefault();
|
|
6854
6883
|
e.stopPropagation();
|
|
6855
|
-
console.log('Click en botón siguiente');
|
|
6884
|
+
// console.log('Click en botón siguiente');
|
|
6856
6885
|
if (swiperElement.swiper) {
|
|
6857
6886
|
swiperElement.swiper.slideNext();
|
|
6858
6887
|
}
|
|
@@ -6914,7 +6943,7 @@ class BlockNewsletterEcComponent {
|
|
|
6914
6943
|
this.sendForm(this.newsletter_form, 'inquiry-sent');
|
|
6915
6944
|
}
|
|
6916
6945
|
sendForm(form, success_message) {
|
|
6917
|
-
console.log('form', this.newsletter_form);
|
|
6946
|
+
// console.log('form', this.newsletter_form);
|
|
6918
6947
|
if (form.valid && (form.value.email.includes('@'))) {
|
|
6919
6948
|
const formData = new FormData();
|
|
6920
6949
|
// formData.append('mailText', form.value.body)
|
|
@@ -7013,7 +7042,7 @@ class ReCaptchaEcComponent {
|
|
|
7013
7042
|
onTouched;
|
|
7014
7043
|
ngOnInit() {
|
|
7015
7044
|
this._recaptchaService.recaptcha$.subscribe(res => {
|
|
7016
|
-
console.log('recaptcha', res);
|
|
7045
|
+
// console.log('recaptcha', res);
|
|
7017
7046
|
this.captcha = res;
|
|
7018
7047
|
this.updateSiteKey();
|
|
7019
7048
|
});
|
|
@@ -7734,7 +7763,7 @@ class RegisterFormEcComponent {
|
|
|
7734
7763
|
register(event) {
|
|
7735
7764
|
event.preventDefault();
|
|
7736
7765
|
this.loading = true;
|
|
7737
|
-
console.log('registerForm', this.registerForm);
|
|
7766
|
+
// console.log('registerForm', this.registerForm);
|
|
7738
7767
|
if (!this.registerForm.valid) {
|
|
7739
7768
|
this._toastService.show('fields-incomplete');
|
|
7740
7769
|
this.loading = false;
|
|
@@ -8063,7 +8092,7 @@ class FiltersEcComponent {
|
|
|
8063
8092
|
/*Obtiene el filtro elegido en el select, lo pasa al setSelect
|
|
8064
8093
|
para que se marque seleccionado*/
|
|
8065
8094
|
onSelect(event, filter) {
|
|
8066
|
-
console.log(filter)
|
|
8095
|
+
// console.log(filter)
|
|
8067
8096
|
/* const selectedOption = filter
|
|
8068
8097
|
.flatMap(category => category.children)
|
|
8069
8098
|
.filter(option => option?.code === event.target.value)
|
|
@@ -8367,7 +8396,7 @@ class CartEcComponent {
|
|
|
8367
8396
|
});
|
|
8368
8397
|
}
|
|
8369
8398
|
removeCoupon() {
|
|
8370
|
-
console.log(this.couponCode$)
|
|
8399
|
+
// console.log(this.couponCode$)
|
|
8371
8400
|
this._cartService.removeCoupon();
|
|
8372
8401
|
}
|
|
8373
8402
|
redirectCheckout() {
|
|
@@ -8409,6 +8438,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8409
8438
|
args: [{ selector: 'lib-cart-ec', standalone: true, imports: [], template: "<p>cart-ec works!</p>\r\n" }]
|
|
8410
8439
|
}], ctorParameters: () => [] });
|
|
8411
8440
|
|
|
8441
|
+
class EcSafeHtmlPipe {
|
|
8442
|
+
sanitizer;
|
|
8443
|
+
constructor(sanitizer) {
|
|
8444
|
+
this.sanitizer = sanitizer;
|
|
8445
|
+
}
|
|
8446
|
+
transform(value) {
|
|
8447
|
+
if (!value)
|
|
8448
|
+
return '';
|
|
8449
|
+
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
8450
|
+
}
|
|
8451
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EcSafeHtmlPipe, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
8452
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EcSafeHtmlPipe, isStandalone: true, name: "ecSafeHtml" });
|
|
8453
|
+
}
|
|
8454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EcSafeHtmlPipe, decorators: [{
|
|
8455
|
+
type: Pipe,
|
|
8456
|
+
args: [{
|
|
8457
|
+
name: 'ecSafeHtml',
|
|
8458
|
+
standalone: true
|
|
8459
|
+
}]
|
|
8460
|
+
}], ctorParameters: () => [{ type: i1$4.DomSanitizer }] });
|
|
8461
|
+
|
|
8412
8462
|
class CartItemEcComponent {
|
|
8413
8463
|
item;
|
|
8414
8464
|
inSidebar = false;
|
|
@@ -8422,7 +8472,7 @@ class CartItemEcComponent {
|
|
|
8422
8472
|
isQuantityUpdating = false;
|
|
8423
8473
|
ngOnInit() {
|
|
8424
8474
|
this.quantity = this.item.quantity;
|
|
8425
|
-
console.log(this.item, this.mediaUrl);
|
|
8475
|
+
// console.log(this.item, this.mediaUrl);
|
|
8426
8476
|
}
|
|
8427
8477
|
updateQuantity(stock) {
|
|
8428
8478
|
if (this.quantity > 0 && this.quantity <= stock) {
|
|
@@ -8664,7 +8714,7 @@ class DataformEcComponent {
|
|
|
8664
8714
|
const form = isBilling ? this.checkoutFormFacturacion : this.checkoutForm;
|
|
8665
8715
|
const currentCountry = form.get('countryCode')?.value;
|
|
8666
8716
|
if (!currentCountry) {
|
|
8667
|
-
console.log('Setting default country:', country.name);
|
|
8717
|
+
// console.log('Setting default country:', country.name);
|
|
8668
8718
|
form.patchValue({
|
|
8669
8719
|
countryCode: country.code
|
|
8670
8720
|
});
|
|
@@ -8936,7 +8986,7 @@ class ShipmentEcComponent {
|
|
|
8936
8986
|
costs.find((cost) => cost.name == contract).contracts.find((contra) => contra.name == data.name).selected = true;
|
|
8937
8987
|
}
|
|
8938
8988
|
catch (error) {
|
|
8939
|
-
console.log("error al buscar contrato", error);
|
|
8989
|
+
// console.log("error al buscar contrato", error);
|
|
8940
8990
|
}
|
|
8941
8991
|
this.emitResult(contract, data);
|
|
8942
8992
|
}
|
|
@@ -9026,7 +9076,7 @@ class MpRedirectEcComponent {
|
|
|
9026
9076
|
};
|
|
9027
9077
|
processError = (err) => {
|
|
9028
9078
|
this._toastService.show(err != '' ? err : 'payment-error');
|
|
9029
|
-
console.log("ERROR ENVIO BACK ", err);
|
|
9079
|
+
// console.log("ERROR ENVIO BACK ", err);
|
|
9030
9080
|
};
|
|
9031
9081
|
clearStorageState = () => {
|
|
9032
9082
|
sessionStorage.removeItem('state');
|
|
@@ -9243,7 +9293,7 @@ class DecidirEcComponent extends ComponentHelper {
|
|
|
9243
9293
|
};
|
|
9244
9294
|
processError = (err) => {
|
|
9245
9295
|
this.toastrService.show(err != '' ? err : 'payment-error');
|
|
9246
|
-
console.log("ERROR ENVIO BACK ", err);
|
|
9296
|
+
// console.log("ERROR ENVIO BACK ", err);
|
|
9247
9297
|
};
|
|
9248
9298
|
getCheckoutDecidir = () => {
|
|
9249
9299
|
this.loading = true;
|
|
@@ -9259,7 +9309,7 @@ class DecidirEcComponent extends ComponentHelper {
|
|
|
9259
9309
|
return;
|
|
9260
9310
|
}
|
|
9261
9311
|
if (event.data && event.data.type === 'DECIDIR_PAYMENT') {
|
|
9262
|
-
console.log('DecidirComponent - Procesando pago con payload:', event.data.payload);
|
|
9312
|
+
// console.log('DecidirComponent - Procesando pago con payload:', event.data.payload);
|
|
9263
9313
|
this.processPayment(event.data.payload);
|
|
9264
9314
|
}
|
|
9265
9315
|
};
|
|
@@ -9269,7 +9319,7 @@ class DecidirEcComponent extends ComponentHelper {
|
|
|
9269
9319
|
.subscribe({
|
|
9270
9320
|
next: (response) => {
|
|
9271
9321
|
this.loading = false;
|
|
9272
|
-
console.log('Respuesta del backend:', response);
|
|
9322
|
+
// console.log('Respuesta del backend:', response);
|
|
9273
9323
|
if (response.status === 'approved' || response.status === 'partially_authorized') {
|
|
9274
9324
|
localStorage.setItem('state', response.status === 'approved' ? 'success' : 'partially_authorized');
|
|
9275
9325
|
if (response.message)
|
|
@@ -9300,13 +9350,13 @@ class DecidirEcComponent extends ComponentHelper {
|
|
|
9300
9350
|
obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
|
|
9301
9351
|
obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';
|
|
9302
9352
|
};
|
|
9303
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DecidirEcComponent, deps: [{ token: i0.Renderer2 }, { token: ConnectionService }, { token: ToastService }, { token: CoreConstantsService }, { token: ApiConstantsService }, { token: CartService }, { token: i2.ActivatedRoute }, { token:
|
|
9353
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DecidirEcComponent, deps: [{ token: i0.Renderer2 }, { token: ConnectionService }, { token: ToastService }, { token: CoreConstantsService }, { token: ApiConstantsService }, { token: CartService }, { token: i2.ActivatedRoute }, { token: i1$4.DomSanitizer }, { token: ParametersService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9304
9354
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DecidirEcComponent, isStandalone: true, selector: "app-decidir-ec", inputs: { paymentServiceInst: "paymentServiceInst", method: "method", total_amount: "total_amount", allData: "allData", user_data: "user_data" }, outputs: { ready: "ready" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"text-center\">\r\n <h3>Continuar con el pago en Decidir</h3>\r\n @if (method) {\r\n <p class=\"px-5\">{{ method.description }}</p>\r\n <p class=\"px-5\">{{ method.instructions }}</p>\r\n }\r\n @if (!loading) {\r\n <button class=\"btn btn-outline-secondary comprar\" (click)=\"openModal()\">Pagar</button>\r\n } @else {\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n </div>\r\n\r\n@if (showModal) {\r\n<div class=\"modal-backdrop\" (click)=\"clickClose()\">\r\n <div class=\"modal-dialog modal-lg\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"modal-content\">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"payment-container\">\r\n \r\n <!-- Iframe del formulario de decidir -->\r\n <div class=\"iframe-container\">\r\n <iframe [src]=\"url\" frameborder=\"0\" class=\"payment-iframe\"></iframe>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{max-width:90%;max-height:90%;width:800px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease-out}.modal-dialog.modal-lg{max-width:900px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{display:flex;flex-direction:column;height:100%;border:none;border-radius:16px;background:#fff}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.modal-header .modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header .btn-close{background:none;border:none;font-size:1.8rem;color:#6c757d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;position:relative}.modal-header .btn-close:hover{background-color:#dc3545;color:#fff;transform:rotate(90deg);box-shadow:0 4px 12px #dc35454d}.modal-header .btn-close:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:0;flex:1;overflow:hidden;background:#fff}.payment-container{height:100%;display:flex;flex-direction:column;background:#fff}.cards-accepted{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#fff,#f8f9fa);position:relative}.cards-accepted:after{content:\"\";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.cards-accepted .cards-img{height:45px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.cards-accepted .cards-img:hover{transform:scale(1.05)}.iframe-container{flex:1;padding:1.5rem;background:#fff;position:relative}.iframe-container:before{content:\"\";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent 0%,#e9ecef 50%,transparent 100%)}.payment-iframe{width:100%;height:620px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 2px 8px #0000000d}.half-width{width:49%!important}.ml-1{margin-left:1%}#card-form{height:450px}.iframeStyle{height:520px;width:100%}@media only screen and (max-width: 1024px){.modal-dialog,.modal-dialog.modal-lg{max-width:95%;width:95%}.payment-iframe{height:650px}.modal-header{padding:1rem 1.5rem}.modal-header .modal-title{font-size:1.125rem}.cards-accepted{padding:.75rem 1.5rem}}@media only screen and (max-width: 680px){.modal-dialog{max-width:98%;width:98%;margin:1rem;max-height:calc(100vh - 2rem)}.modal-dialog.modal-lg{max-width:98%;width:98%}.payment-iframe{height:550px}.modal-header{padding:1rem}.modal-header .modal-title{font-size:1rem}.modal-header .btn-close{width:28px;height:28px;font-size:1.25rem}.cards-accepted{padding:.5rem 1rem}.cards-accepted .cards-img{height:35px}.iframe-container{padding:.5rem}}@media only screen and (max-width: 480px){.modal-dialog{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal-content{border-radius:8px}.payment-iframe{height:500px}.cards-accepted .cards-img{height:30px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: LoadingFullEcComponent, selector: "app-loading-full-ec" }] });
|
|
9305
9355
|
}
|
|
9306
9356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DecidirEcComponent, decorators: [{
|
|
9307
9357
|
type: Component,
|
|
9308
9358
|
args: [{ selector: 'app-decidir-ec', standalone: true, imports: [CommonModule, FormsModule, LoadingFullEcComponent], template: "<div class=\"text-center\">\r\n <h3>Continuar con el pago en Decidir</h3>\r\n @if (method) {\r\n <p class=\"px-5\">{{ method.description }}</p>\r\n <p class=\"px-5\">{{ method.instructions }}</p>\r\n }\r\n @if (!loading) {\r\n <button class=\"btn btn-outline-secondary comprar\" (click)=\"openModal()\">Pagar</button>\r\n } @else {\r\n <div class=\"d-flex flex-column jusitfy-content-center align-items-center mt-2\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n }\r\n </div>\r\n\r\n@if (showModal) {\r\n<div class=\"modal-backdrop\" (click)=\"clickClose()\">\r\n <div class=\"modal-dialog modal-lg\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"modal-content\">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"payment-container\">\r\n \r\n <!-- Iframe del formulario de decidir -->\r\n <div class=\"iframe-container\">\r\n <iframe [src]=\"url\" frameborder=\"0\" class=\"payment-iframe\"></iframe>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{max-width:90%;max-height:90%;width:800px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease-out}.modal-dialog.modal-lg{max-width:900px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{display:flex;flex-direction:column;height:100%;border:none;border-radius:16px;background:#fff}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.modal-header .modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-header .btn-close{background:none;border:none;font-size:1.8rem;color:#6c757d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;position:relative}.modal-header .btn-close:hover{background-color:#dc3545;color:#fff;transform:rotate(90deg);box-shadow:0 4px 12px #dc35454d}.modal-header .btn-close:active{transform:rotate(90deg) scale(.95)}.modal-body{padding:0;flex:1;overflow:hidden;background:#fff}.payment-container{height:100%;display:flex;flex-direction:column;background:#fff}.cards-accepted{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#fff,#f8f9fa);position:relative}.cards-accepted:after{content:\"\";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0%,#dee2e6 50%,transparent 100%)}.cards-accepted .cards-img{height:45px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.cards-accepted .cards-img:hover{transform:scale(1.05)}.iframe-container{flex:1;padding:1.5rem;background:#fff;position:relative}.iframe-container:before{content:\"\";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent 0%,#e9ecef 50%,transparent 100%)}.payment-iframe{width:100%;height:620px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 2px 8px #0000000d}.half-width{width:49%!important}.ml-1{margin-left:1%}#card-form{height:450px}.iframeStyle{height:520px;width:100%}@media only screen and (max-width: 1024px){.modal-dialog,.modal-dialog.modal-lg{max-width:95%;width:95%}.payment-iframe{height:650px}.modal-header{padding:1rem 1.5rem}.modal-header .modal-title{font-size:1.125rem}.cards-accepted{padding:.75rem 1.5rem}}@media only screen and (max-width: 680px){.modal-dialog{max-width:98%;width:98%;margin:1rem;max-height:calc(100vh - 2rem)}.modal-dialog.modal-lg{max-width:98%;width:98%}.payment-iframe{height:550px}.modal-header{padding:1rem}.modal-header .modal-title{font-size:1rem}.modal-header .btn-close{width:28px;height:28px;font-size:1.25rem}.cards-accepted{padding:.5rem 1rem}.cards-accepted .cards-img{height:35px}.iframe-container{padding:.5rem}}@media only screen and (max-width: 480px){.modal-dialog{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal-content{border-radius:8px}.payment-iframe{height:500px}.cards-accepted .cards-img{height:30px}}\n"] }]
|
|
9309
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: ConnectionService }, { type: ToastService }, { type: CoreConstantsService }, { type: ApiConstantsService }, { type: CartService }, { type: i2.ActivatedRoute }, { type:
|
|
9359
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: ConnectionService }, { type: ToastService }, { type: CoreConstantsService }, { type: ApiConstantsService }, { type: CartService }, { type: i2.ActivatedRoute }, { type: i1$4.DomSanitizer }, { type: ParametersService }], propDecorators: { paymentServiceInst: [{
|
|
9310
9360
|
type: Input
|
|
9311
9361
|
}], method: [{
|
|
9312
9362
|
type: Input
|
|
@@ -9337,7 +9387,7 @@ class PaymentEcComponent {
|
|
|
9337
9387
|
const totalItem = data.find(item => item.type == 'total');
|
|
9338
9388
|
this.total_amount = totalItem?.amount ?? 0;
|
|
9339
9389
|
});
|
|
9340
|
-
console.log('PaymentEcComponent initialized with total_amount:', this.total_amount);
|
|
9390
|
+
// console.log('PaymentEcComponent initialized with total_amount:', this.total_amount);
|
|
9341
9391
|
}
|
|
9342
9392
|
setActive($event) {
|
|
9343
9393
|
const parent = $event.target.parentElement.children;
|
|
@@ -9418,7 +9468,7 @@ class StepContainerEcComponent {
|
|
|
9418
9468
|
_checkoutService = inject(CheckoutService);
|
|
9419
9469
|
steps;
|
|
9420
9470
|
constructor() {
|
|
9421
|
-
console.log('step-container-ec');
|
|
9471
|
+
// console.log('step-container-ec');
|
|
9422
9472
|
}
|
|
9423
9473
|
next() {
|
|
9424
9474
|
this._checkoutService.next();
|
|
@@ -9756,7 +9806,7 @@ class OrderEcComponent {
|
|
|
9756
9806
|
const number = this._activedRoute.snapshot.params["number"];
|
|
9757
9807
|
this._ordersService.getOrderByNumber(number);
|
|
9758
9808
|
}
|
|
9759
|
-
console.log('inside');
|
|
9809
|
+
// console.log('inside');
|
|
9760
9810
|
});
|
|
9761
9811
|
this._channelConfigService.channel$.subscribe((config) => {
|
|
9762
9812
|
if (config && config.allowRepeatOrders !== undefined) {
|
|
@@ -9908,12 +9958,12 @@ class RelatedProductsEcComponent extends BlockEcComponent {
|
|
|
9908
9958
|
// Swiper initialization moved to initSwiper() method called after data loads
|
|
9909
9959
|
}
|
|
9910
9960
|
ngOnInit() {
|
|
9911
|
-
console.log(this.productID)
|
|
9961
|
+
// console.log(this.productID)
|
|
9912
9962
|
this.load(this.productID);
|
|
9913
9963
|
}
|
|
9914
9964
|
load(product_id) {
|
|
9915
9965
|
this._productsService.getRelatedProducts(product_id).pipe(take(1)).subscribe(res => {
|
|
9916
|
-
console.log('response',
|
|
9966
|
+
// console.log('response',res);
|
|
9917
9967
|
const relatedProducts = res.filter((elem) => !this.includeKeyword(elem.title.toLowerCase()));
|
|
9918
9968
|
this._relatedProductsSubject.next(relatedProducts);
|
|
9919
9969
|
res.map((products) => this._analyticsService.callEvent('view_item_list', { products: products.items, item_list_name: products.title || 'Related Products', item_list_id: products.id || 'related-products' }));
|
|
@@ -9926,7 +9976,7 @@ class RelatedProductsEcComponent extends BlockEcComponent {
|
|
|
9926
9976
|
initSwiper() {
|
|
9927
9977
|
if (isPlatformBrowser(this.platformId)) {
|
|
9928
9978
|
const swiperElemConstructor = this.document?.querySelector('#relatedProductsSwiper');
|
|
9929
|
-
console.log('swiperElemConstructor', swiperElemConstructor)
|
|
9979
|
+
// console.log('swiperElemConstructor', swiperElemConstructor)
|
|
9930
9980
|
if (swiperElemConstructor) {
|
|
9931
9981
|
Object.assign(swiperElemConstructor, this.swiperOptions());
|
|
9932
9982
|
this.swiperElement.set(swiperElemConstructor);
|
|
@@ -9971,7 +10021,7 @@ class FaqsEcComponent {
|
|
|
9971
10021
|
this.empty_faqs = true;
|
|
9972
10022
|
}
|
|
9973
10023
|
}, error => {
|
|
9974
|
-
|
|
10024
|
+
(error);
|
|
9975
10025
|
this._toastService.show('No fue posible encontrar la sección solicitada');
|
|
9976
10026
|
}).catch(err => this._toastService.show('empty-faqs'));
|
|
9977
10027
|
}
|
|
@@ -10570,7 +10620,7 @@ class SectionContainerEcComponent extends ComponentHelper {
|
|
|
10570
10620
|
: this.sanitizer.bypassSecurityTrustHtml(html);
|
|
10571
10621
|
this.loadSection = true;
|
|
10572
10622
|
}, (error) => {
|
|
10573
|
-
console.log(error);
|
|
10623
|
+
// console.log(error);
|
|
10574
10624
|
this.loadSection = true;
|
|
10575
10625
|
this.content_html = "<p>Sin información</p>";
|
|
10576
10626
|
this.toastrService.show('No fue posible encontrar la sección solicitada');
|
|
@@ -10625,7 +10675,7 @@ class StoresEcComponent extends ComponentHelper {
|
|
|
10625
10675
|
}
|
|
10626
10676
|
this.exclusiveStores = stores ? stores.filter(store => store.exclusive) : null;
|
|
10627
10677
|
// this.selectChange('');
|
|
10628
|
-
console.log('Stores:', stores);
|
|
10678
|
+
// console.log('Stores:', stores);
|
|
10629
10679
|
});
|
|
10630
10680
|
this.ecOnConstruct();
|
|
10631
10681
|
}
|
|
@@ -10698,7 +10748,7 @@ class StoresEcComponent extends ComponentHelper {
|
|
|
10698
10748
|
title: store.name + ' - ' + store.address,
|
|
10699
10749
|
description: store.phone,
|
|
10700
10750
|
};
|
|
10701
|
-
console.log(datos)
|
|
10751
|
+
// console.log(datos)
|
|
10702
10752
|
this.locations.push(datos);
|
|
10703
10753
|
});
|
|
10704
10754
|
const bounds = new google.maps.LatLngBounds();
|
|
@@ -10773,13 +10823,13 @@ class StoresEcComponent extends ComponentHelper {
|
|
|
10773
10823
|
marker.setAnimation(null);
|
|
10774
10824
|
});
|
|
10775
10825
|
}
|
|
10776
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoresEcComponent, deps: [{ token: StoresService }, { token: CoreConstantsService }, { token:
|
|
10826
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoresEcComponent, deps: [{ token: StoresService }, { token: CoreConstantsService }, { token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
10777
10827
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StoresEcComponent, isStandalone: true, selector: "app-store-ec", usesInheritance: true, ngImport: i0, template: "<!-- <div class=\"row w-100 mx-auto my-4 px-3 bb-s bt-md-s py-1\">\r\n <strong>{{ 'stores' | translate }}</strong>\r\n</div>\r\n@if(stores){\r\n<div class=\"row\">\r\n <div class=\"col-12 col-md-3 order-1 order-md-1\">\r\n <div class=\"row\">\r\n <div class=\"form-group w-100\">\r\n <select (change)=\"selectChange($event.target.value)\" class=\"rounded-0 form-control form-control-sm\"\r\n id=\"exampleFormControlSelect1\">\r\n <option selected [value]=\"''\">Seleccione provincia</option>\r\n <option [value]=\"item.code\" *ngFor=\"let item of getProvices(stores)\"> {{item.name}}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-3 order-3 order-md-2\">\r\n <div class=\"container-fluid scrolleable\" *ngIf=\"filterStores && filterStores.length\">\r\n <div class=\"row mb-1\" *ngFor=\"let store of filterStores; let i = index\">\r\n <div class=\"col-12\">\r\n <h6 class=\"\"><strong>{{ store.name }}</strong></h6>\r\n <label>{{ store.address }}</label>\r\n <label>{{ store.phone }}</label>\r\n <div [innerHtml]=\"store.note\"></div>\r\n <div class=\"text-right\">\r\n\r\n <a *ngIf=\"store.urlMap\" (click)=\"updateMap (store.urlMap)\" class=\"custom-a\">Ver mapa</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 order-2 order-md-3 my-4 mt-md-0\">\r\n\r\n <iframe id=\"map-iframe\" [src]=\"urlmap\" frameborder=\"0\"></iframe>\r\n </div>\r\n</div>\r\n}@else {\r\n<div class=\"d-flex flex-row justify-content-center my-5 align-items-center alto-total\">\r\n <h5 class=\"text-center\">{{ 'no-stores' | translate }}</h5>\r\n</div>\r\n}\r\n\r\n\r\n\r\n<ng-template #loading>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template> -->", styles: [".scrolleable{height:70vh;overflow:auto}@media screen and (max-width: 768px){.scrolleable{height:auto}}.background-white{background-color:#fff}.alto-total{height:60vh}.custom-a{color:#000}#map-iframe{width:100%;border:0;height:100%}@media screen and (max-width: 425px){#map-iframe{height:400px}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }] });
|
|
10778
10828
|
}
|
|
10779
10829
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoresEcComponent, decorators: [{
|
|
10780
10830
|
type: Component,
|
|
10781
10831
|
args: [{ selector: 'app-store-ec', standalone: true, imports: [TranslateModule], template: "<!-- <div class=\"row w-100 mx-auto my-4 px-3 bb-s bt-md-s py-1\">\r\n <strong>{{ 'stores' | translate }}</strong>\r\n</div>\r\n@if(stores){\r\n<div class=\"row\">\r\n <div class=\"col-12 col-md-3 order-1 order-md-1\">\r\n <div class=\"row\">\r\n <div class=\"form-group w-100\">\r\n <select (change)=\"selectChange($event.target.value)\" class=\"rounded-0 form-control form-control-sm\"\r\n id=\"exampleFormControlSelect1\">\r\n <option selected [value]=\"''\">Seleccione provincia</option>\r\n <option [value]=\"item.code\" *ngFor=\"let item of getProvices(stores)\"> {{item.name}}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-3 order-3 order-md-2\">\r\n <div class=\"container-fluid scrolleable\" *ngIf=\"filterStores && filterStores.length\">\r\n <div class=\"row mb-1\" *ngFor=\"let store of filterStores; let i = index\">\r\n <div class=\"col-12\">\r\n <h6 class=\"\"><strong>{{ store.name }}</strong></h6>\r\n <label>{{ store.address }}</label>\r\n <label>{{ store.phone }}</label>\r\n <div [innerHtml]=\"store.note\"></div>\r\n <div class=\"text-right\">\r\n\r\n <a *ngIf=\"store.urlMap\" (click)=\"updateMap (store.urlMap)\" class=\"custom-a\">Ver mapa</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6 order-2 order-md-3 my-4 mt-md-0\">\r\n\r\n <iframe id=\"map-iframe\" [src]=\"urlmap\" frameborder=\"0\"></iframe>\r\n </div>\r\n</div>\r\n}@else {\r\n<div class=\"d-flex flex-row justify-content-center my-5 align-items-center alto-total\">\r\n <h5 class=\"text-center\">{{ 'no-stores' | translate }}</h5>\r\n</div>\r\n}\r\n\r\n\r\n\r\n<ng-template #loading>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-items-center\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center my-5\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template> -->", styles: [".scrolleable{height:70vh;overflow:auto}@media screen and (max-width: 768px){.scrolleable{height:auto}}.background-white{background-color:#fff}.alto-total{height:60vh}.custom-a{color:#000}#map-iframe{width:100%;border:0;height:100%}@media screen and (max-width: 425px){#map-iframe{height:400px}}\n"] }]
|
|
10782
|
-
}], ctorParameters: () => [{ type: StoresService }, { type: CoreConstantsService }, { type:
|
|
10832
|
+
}], ctorParameters: () => [{ type: StoresService }, { type: CoreConstantsService }, { type: i1$4.DomSanitizer }] });
|
|
10783
10833
|
|
|
10784
10834
|
class PriceRangeFilterComponent {
|
|
10785
10835
|
_filtersService = inject(FiltersService);
|
|
@@ -11166,5 +11216,5 @@ const directives = [
|
|
|
11166
11216
|
* Generated bundle index. Do not edit.
|
|
11167
11217
|
*/
|
|
11168
11218
|
|
|
11169
|
-
export { AccountEcComponent, AddressingService, AnalyticsService, AuthEcComponent, AuthService, AuthStorageService, BlockBannerBoxEcComponent, BlockBannerFullEcComponent, BlockFormContactEcComponent, BlockHtmlEcComponent, BlockNewsletterEcComponent, BlockProductsEcComponent, BlocksEcComponent, BlocksRepositoryService, BlocksService, BreadcrumbEcComponent, CartEcComponent, CartItemEcComponent, CartService, ChannelService, CheckoutEcComponent, CheckoutService, CollectionEcComponent, ConfirmAccountEcComponent, ContactEcComponent, CoreConstantsService, CouponEcComponent, CurrencyService, DopplerService, ENVIRONMENT_TOKEN, EcCurrencySymbolPipe, FacebookPixelService, FaqsEcComponent, FiltersEcComponent, FiltersService, FiltersSortEcComponent, FooterEcComponent, ForgotPasswordEcComponent, FormService, GTMService, GoogleAnalyticsService, HeaderEcComponent, HomeEcComponent, LoadingFullEcComponent, LoadingInlineEcComponent, LoadingSectionEcComponent, LocalStorageService, LoginFormEcComponent, MagnizoomEcComponent, MetricoolPixelService, NgxLocalStorageService, OptionsService, OrderEcComponent, OrderUtilityService, OrdersListEcComponent, OrdersService, PaginationService, ParametersService, ParamsContext, PasswordResetEcComponent, PaymentService, PriceEcComponent, PriceRangeFilterComponent, ProductDetailEcComponent, ProductDetailService, ProductEcComponent, ProductOffDirective, ProductStockDirective, ProductsService, ReCaptchaEcComponent, ReCaptchaService, RegisterFormEcComponent, RegisterWholesalerFormEcComponent, RelatedProductsEcComponent, ReviewsEcComponent, ReviewsFormEcComponent, SectionContainerEcComponent, ShareEcComponent, ShipmentService, SidebarEcComponent, StoresEcComponent, SuccessEcComponent, TestService, ToastService, VariantsEcComponent, authGuard, authInterceptor, directives, provideEnvironment };
|
|
11219
|
+
export { AccountEcComponent, AddressingService, AnalyticsService, AuthEcComponent, AuthService, AuthStorageService, BlockBannerBoxEcComponent, BlockBannerFullEcComponent, BlockFormContactEcComponent, BlockHtmlEcComponent, BlockNewsletterEcComponent, BlockProductsEcComponent, BlocksEcComponent, BlocksRepositoryService, BlocksService, BreadcrumbEcComponent, CartEcComponent, CartItemEcComponent, CartService, ChannelService, CheckoutEcComponent, CheckoutService, CollectionEcComponent, ConfirmAccountEcComponent, ContactEcComponent, CoreConstantsService, CouponEcComponent, CurrencyService, DopplerService, ENVIRONMENT_TOKEN, EcCurrencySymbolPipe, EcSafeHtmlPipe, FacebookPixelService, FaqsEcComponent, FiltersEcComponent, FiltersService, FiltersSortEcComponent, FooterEcComponent, ForgotPasswordEcComponent, FormService, GTMService, GoogleAnalyticsService, HeaderEcComponent, HomeEcComponent, LoadingFullEcComponent, LoadingInlineEcComponent, LoadingSectionEcComponent, LocalStorageService, LoginFormEcComponent, MagnizoomEcComponent, MetricoolPixelService, NgxLocalStorageService, OptionsService, OrderEcComponent, OrderUtilityService, OrdersListEcComponent, OrdersService, PaginationService, ParametersService, ParamsContext, PasswordResetEcComponent, PaymentService, PriceEcComponent, PriceRangeFilterComponent, ProductDetailEcComponent, ProductDetailService, ProductEcComponent, ProductOffDirective, ProductStockDirective, ProductsService, ReCaptchaEcComponent, ReCaptchaService, RegisterFormEcComponent, RegisterWholesalerFormEcComponent, RelatedProductsEcComponent, ReviewsEcComponent, ReviewsFormEcComponent, SectionContainerEcComponent, ShareEcComponent, ShipmentService, SidebarEcComponent, StoresEcComponent, SuccessEcComponent, TestService, ToastService, VariantsEcComponent, authGuard, authInterceptor, directives, provideEnvironment };
|
|
11170
11220
|
//# sourceMappingURL=ng-easycommerce-v18.mjs.map
|