ng-easycommerce 0.0.658-beta.1 → 0.0.660-beta.1
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 +58 -22
- package/assets/ec-i18n/en.json +1 -3
- package/assets/ec-i18n/es.json +1 -3
- package/bundles/ng-easycommerce.umd.js +515 -181
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/core.consts.js +1 -6
- package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +3 -5
- package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +5 -8
- package/esm2015/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +8 -13
- package/esm2015/lib/ec-component/collection-ec/collection-ec.component.js +450 -14
- package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +3 -30
- package/esm2015/lib/ec-component/product-ec/product-ec.component.js +2 -1
- package/esm2015/lib/ec-component/sidebar-ec/sidebar-ec.component.js +5 -8
- package/esm2015/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.js +3 -1
- package/esm2015/lib/ec-component/widgets-ec/price-ec/price-ec.component.js +3 -3
- package/esm2015/lib/ec-pipe/ec-currency-symbol.pipe.js +1 -2
- package/esm2015/lib/services/cart.service.js +12 -27
- package/esm2015/lib/services/currency.service.js +7 -43
- package/esm5/lib/core.consts.js +1 -6
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +3 -5
- package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +5 -8
- package/esm5/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +8 -13
- package/esm5/lib/ec-component/collection-ec/collection-ec.component.js +458 -13
- package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +3 -48
- package/esm5/lib/ec-component/product-ec/product-ec.component.js +2 -1
- package/esm5/lib/ec-component/sidebar-ec/sidebar-ec.component.js +5 -8
- package/esm5/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.js +3 -1
- package/esm5/lib/ec-component/widgets-ec/price-ec/price-ec.component.js +3 -3
- package/esm5/lib/ec-pipe/ec-currency-symbol.pipe.js +1 -2
- package/esm5/lib/services/cart.service.js +12 -27
- package/esm5/lib/services/currency.service.js +7 -43
- package/fesm2015/ng-easycommerce.js +502 -159
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +516 -182
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/core.consts.d.ts +0 -5
- package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +0 -1
- package/lib/ec-component/cart-ec/cart-ec.component.d.ts +0 -1
- package/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.d.ts +1 -1
- package/lib/ec-component/collection-ec/collection-ec.component.d.ts +34 -4
- package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +0 -3
- package/lib/ec-component/sidebar-ec/sidebar-ec.component.d.ts +0 -1
- package/lib/services/cart.service.d.ts +2 -2
- package/lib/services/currency.service.d.ts +2 -14
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,25 +1,61 @@
|
|
|
1
|
-
# version 0.0.
|
|
2
|
-
- `
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
- **
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
# version 0.0.660-beta.1
|
|
2
|
+
- **🚀 Sistema de Scroll Preservation y Cache Inteligente en `CollectionEcComponent`**: Se implementó un sistema completo de preservación de scroll y cache para mejorar la experiencia de usuario en navegación de colecciones.
|
|
3
|
+
|
|
4
|
+
## Funcionalidades implementadas:
|
|
5
|
+
|
|
6
|
+
### **📍 Preservación de Posición de Scroll**
|
|
7
|
+
- **Navegación fluida**: Al volver atrás desde un producto, se mantiene exactamente la posición de scroll donde estaba el usuario
|
|
8
|
+
- **Restauración inteligente**: Detecta automáticamente cuando el DOM está listo para restaurar el scroll
|
|
9
|
+
- **Soporte multi-dispositivo**: Funciona correctamente en desktop y mobile
|
|
10
|
+
|
|
11
|
+
### **💾 Cache Inteligente de Estado**
|
|
12
|
+
- **Cache de productos**: Los productos cargados se mantienen en memoria para navegación instantánea
|
|
13
|
+
- **Cache de filtros**: Preserva filtros aplicados, breadcrumb y estado de filtros superiores (ordenamiento)
|
|
14
|
+
- **Gestión automática**: Cache con límite de tamaño y limpieza automática
|
|
15
|
+
- **Persistencia de sesión**: Backup en sessionStorage para mayor robustez
|
|
16
|
+
|
|
17
|
+
### **🔄 Invalidación Automática de Cache**
|
|
18
|
+
- **Cambio de categoría**: Detecta automáticamente cambios de ruta e invalida cache
|
|
19
|
+
- **Filtros aplicados**: Al seleccionar filtros se invalida cache y recarga datos frescos
|
|
20
|
+
- **Gestión de memoria**: Limpieza automática del cache para evitar acumulación
|
|
21
|
+
|
|
22
|
+
### **📜 Scroll Infinito Mejorado**
|
|
23
|
+
- **Agregación inteligente**: Distingue entre cambio de categoría (reemplazar) vs scroll infinito (agregar)
|
|
24
|
+
- **Productos únicos**: Filtra automáticamente productos duplicados
|
|
25
|
+
- **Estado de loading**: Manejo correcto del estado de carga en todas las situaciones
|
|
26
|
+
|
|
27
|
+
### **🎯 Detección Inteligente de Navegación**
|
|
28
|
+
- **Clics en productos**: Detecta automáticamente clics en enlaces de productos para guardar estado
|
|
29
|
+
- **Eventos de navegación**: Guarda estado en beforeunload y durante scroll
|
|
30
|
+
- **Compatibilidad SSR**: Funciona correctamente tanto en browser como server-side rendering
|
|
31
|
+
|
|
32
|
+
## Uso en implementaciones:
|
|
33
|
+
|
|
34
|
+
### **Automático**:
|
|
35
|
+
Todos los frontends que extiendan de `CollectionEcComponent` obtienen automáticamente estas funcionalidades sin necesidad de modificaciones.
|
|
36
|
+
|
|
37
|
+
### **Configuración opcional**:
|
|
38
|
+
```typescript
|
|
39
|
+
// En implementaciones específicas, se puede customizar el comportamiento
|
|
40
|
+
export class CollectionComponent extends CollectionEcComponent {
|
|
41
|
+
// Solo lógica específica del proyecto
|
|
42
|
+
// Todo el scroll y cache se maneja automáticamente
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### **Métodos disponibles**:
|
|
47
|
+
- `customSetFilterSelected()`: Maneja filtros con invalidación de cache
|
|
48
|
+
- Cache automático con claves por ruta: `stateCache.get(stateKey)`
|
|
49
|
+
- Restauración de scroll con reintentos automáticos
|
|
50
|
+
|
|
51
|
+
## Flujo de funcionamiento:
|
|
52
|
+
1. **Primera visita**: Carga normal, guarda estado automáticamente
|
|
53
|
+
2. **Navegación a producto**: Preserva scroll, productos y filtros
|
|
54
|
+
3. **Volver atrás**: Restauración instantánea desde cache
|
|
55
|
+
4. **Aplicar filtros**: Invalida cache, carga datos frescos
|
|
56
|
+
5. **Scroll infinito**: Agrega productos únicos sin perder estado
|
|
57
|
+
|
|
58
|
+
---
|
|
23
59
|
# version 0.0.649
|
|
24
60
|
- se pone el metodo de envio con innerHtml para poder usar codigo html
|
|
25
61
|
# version 0.0.648
|
package/assets/ec-i18n/en.json
CHANGED
|
@@ -101,7 +101,6 @@
|
|
|
101
101
|
"email-address": "Email address",
|
|
102
102
|
"email-address-help1": "Email is required",
|
|
103
103
|
"email-address-help2": "Invalid Email",
|
|
104
|
-
"address-help2": "THE CONTENT OF THE ADDRESS FIELD IS TOO LONG. MAXIMUM 50 CHARACTERS.",
|
|
105
104
|
"empty-cart": "Your Cart is Empty",
|
|
106
105
|
"cart-not-empty": "You cannot repeat the order because your cart is not empty.",
|
|
107
106
|
"empty-cart-detail": "Add something to make me happy :)",
|
|
@@ -410,6 +409,5 @@
|
|
|
410
409
|
"must-be-multiple": "The total quantity must be a multiple of {{quantity}}",
|
|
411
410
|
"payment-date": "Payment date",
|
|
412
411
|
"total-paid": "Total paid",
|
|
413
|
-
"required-field": "This field is required."
|
|
414
|
-
"remainingCharacters": "characters remaining"
|
|
412
|
+
"required-field": "This field is required."
|
|
415
413
|
}
|
package/assets/ec-i18n/es.json
CHANGED
|
@@ -416,8 +416,6 @@
|
|
|
416
416
|
"this-payment-method-cannot-be-used": "Este método de pago no puede ser utilizado",
|
|
417
417
|
"payment-date": "Fecha de pago",
|
|
418
418
|
"total-paid": "Total abonado",
|
|
419
|
-
"required-field": "Este campo es obligatorio."
|
|
420
|
-
"address-help2": "Máximo 50 caracteres",
|
|
421
|
-
"remainingCharacters": "caracteres restantes"
|
|
419
|
+
"required-field": "Este campo es obligatorio."
|
|
422
420
|
|
|
423
421
|
}
|