ng-easycommerce 0.0.681 → 0.0.683
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 +18 -0
- package/assets/ec-i18n/ct.json +3 -0
- package/assets/ec-i18n/en.json +7 -4
- package/assets/ec-i18n/es.json +3 -0
- package/assets/ec-i18n/fr.json +7 -4
- package/assets/ec-i18n/gl.json +3 -0
- package/assets/ec-i18n/pr.json +3 -0
- package/bundles/ng-easycommerce.umd.js +901 -83
- 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/ec-component/auth-ec/auth-ec.component.js +7 -4
- package/esm2015/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +20 -21
- package/esm2015/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +7 -4
- package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +230 -2
- package/esm2015/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +6 -3
- package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +13 -4
- package/esm2015/lib/ec-component/index.js +4 -1
- package/esm2015/lib/ec-component/sidebar-ec/sidebar-ec.component.js +61 -1
- package/esm2015/lib/ec-component/widgets-ec/unit-promotion-price-ec/unit-promotion-price-ec.component.js +268 -0
- package/esm2015/lib/interfaces/cart-item.js +1 -1
- package/esm2015/lib/services/cart.service.js +186 -14
- package/esm2015/lib/services/checkout/checkout.service.js +2 -2
- package/esm2015/lib/utils/order-util.service.js +87 -1
- package/esm2015/public-api.js +2 -1
- package/esm5/lib/ec-component/auth-ec/auth-ec.component.js +7 -4
- package/esm5/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +20 -21
- package/esm5/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +7 -4
- package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +236 -2
- package/esm5/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +6 -3
- package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +13 -4
- package/esm5/lib/ec-component/index.js +4 -1
- package/esm5/lib/ec-component/sidebar-ec/sidebar-ec.component.js +61 -1
- package/esm5/lib/ec-component/widgets-ec/unit-promotion-price-ec/unit-promotion-price-ec.component.js +248 -0
- package/esm5/lib/interfaces/cart-item.js +1 -1
- package/esm5/lib/services/cart.service.js +188 -14
- package/esm5/lib/services/checkout/checkout.service.js +2 -2
- package/esm5/lib/utils/order-util.service.js +88 -1
- package/esm5/public-api.js +2 -1
- package/fesm2015/ng-easycommerce.js +913 -85
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +902 -85
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.d.ts +1 -0
- package/lib/ec-component/cart-ec/cart-ec.component.d.ts +139 -0
- package/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.d.ts +3 -1
- package/lib/ec-component/index.d.ts +1 -0
- package/lib/ec-component/sidebar-ec/sidebar-ec.component.d.ts +52 -0
- package/lib/ec-component/widgets-ec/unit-promotion-price-ec/unit-promotion-price-ec.component.d.ts +117 -0
- package/lib/interfaces/cart-item.d.ts +54 -0
- package/lib/services/cart.service.d.ts +98 -1
- package/lib/utils/order-util.service.d.ts +58 -0
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
package/README.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
# Version 0.0.683
|
|
2
|
+
- Registro: cuando `/shop-api/{channel}/register` responde `409`, se interpreta como email registrado con canal inactivo.
|
|
3
|
+
- Registro: se agrega la clave traducible `email-register-channel-inactive` para mostrar el mensaje específico por idioma.
|
|
4
|
+
- Registro: se mantiene el manejo de `400` para email ya registrado y el mensaje genérico `email-register-error` para el resto de los errores.
|
|
5
|
+
# Version 0.0.682
|
|
6
|
+
- Carrito y sidebar: `CartService.buildCartItemPricing()` ahora prioriza `items[].product.variants[0].cartAndSidebarPrices.saleprice` y `cartAndSidebarPrices.price` cuando el backend los informa.
|
|
7
|
+
- Esto evita mostrar en la tabla del carrito o en el sidebar precios de variante que incluyen impuestos de orden y no corresponden al precio visible por ítem.
|
|
8
|
+
- Se mantiene compatibilidad con backends viejos: si `cartAndSidebarPrices` no existe, el core sigue usando el fallback histórico basado en `variant.saleprice`, `variant.price`, `product.saleprice` y `product.price`.
|
|
9
|
+
- prioriza el precio de la variante en el cálculo del precio base del item
|
|
10
|
+
- Carrito, sidebar y checkout: el resumen de descuentos ahora muestra solo promociones de orden usando `totals.promotionBreakdown.orderPromotions` cuando existe, con fallback compatible a `totals.promotion` / `totals.discount` para backends viejos.
|
|
11
|
+
- `CartItem` incorpora `unitPromotions` y `pricing` normalizado para evitar lógica duplicada entre frontends.
|
|
12
|
+
- `CartItem.pricing` expone `basePrice`, `strikePrice`, `finalPrice`, `unitPromotionTotal`, `discountPercent` y `effectiveDiscountPercent`.
|
|
13
|
+
- `CartService`: se sincronizan nuevamente los `items` transformados cada vez que el backend devuelve el carrito actualizado, evitando que carrito/sidebar queden con subtotales o precios viejos tras cambiar cantidades o aplicar/quitar cupones.
|
|
14
|
+
- Nuevo componente reusable `app-unit-promotion-price-ec` para mostrar precio final unitario, icono `(i)` y tooltip/popover con detalle de promociones unitarias en desktop y mobile.
|
|
15
|
+
- `CartEcComponent` y `SidebarEcComponent` exponen helpers reutilizables para pricing y `% OFF` efectivo (`getItemEffectiveDiscount(item)`), pensado para frontends que muestran tooltip de promociones unitarias.
|
|
16
|
+
- El badge `% OFF` efectivo queda desacoplado del `% OFF` legacy de catálogo: `discountPercent` sigue representando `price/saleprice`, mientras `effectiveDiscountPercent` calcula el descuento total contra el precio final unitario del carrito.
|
|
17
|
+
- Nuevo helper `hasAppliedCoupon()` para que la acción `Quitar cupón` dependa del cupón aplicado y no del monto visible en la fila `Descuentos`, cubriendo cupones que impactan promociones unitarias y dejan `orderPromotions = 0`.
|
|
18
|
+
- Checkout legacy/single y resúmenes asociados usan la misma normalización de promociones de orden para evitar inconsistencias entre subtotal, descuentos y total.
|
|
1
19
|
# Version 0.0.681
|
|
2
20
|
- Checkout success (`order_success`): se agrega push a `window.dataLayer` con evento `purchase`.
|
|
3
21
|
- Se envían datos dinámicos reales de la orden: `transactionTotal` (numérico) y `transactionId` (número de orden).
|
package/assets/ec-i18n/ct.json
CHANGED
|
@@ -118,6 +118,9 @@
|
|
|
118
118
|
"email-address": "Email",
|
|
119
119
|
"email-address-help1": "L'e-mail és requerit",
|
|
120
120
|
"email-address-help2": "E-mail invàlid",
|
|
121
|
+
"email-already-registered": "La direcció de correu electrònic ja està registrada.",
|
|
122
|
+
"email-register-error": "S'ha produït un error durant el registre.",
|
|
123
|
+
"email-register-channel-inactive": "Aquesta adreça de correu electrònic ja està registrada al nostre sistema. Per habilitar l'accés a aquest lloc, poseu-vos en contacte amb el nostre equip de suport.",
|
|
121
124
|
"country": "país",
|
|
122
125
|
"select-country": "Seleccioneu un país",
|
|
123
126
|
"country-help": "El país és requerit",
|
package/assets/ec-i18n/en.json
CHANGED
|
@@ -99,10 +99,13 @@
|
|
|
99
99
|
"earrings": "earrings",
|
|
100
100
|
"edit": "Edit",
|
|
101
101
|
"edit-address": "Edit address",
|
|
102
|
-
"email-address": "Email address",
|
|
103
|
-
"email-address-help1": "Email is required",
|
|
104
|
-
"email-address-help2": "Invalid Email",
|
|
105
|
-
|
|
102
|
+
"email-address": "Email address",
|
|
103
|
+
"email-address-help1": "Email is required",
|
|
104
|
+
"email-address-help2": "Invalid Email",
|
|
105
|
+
"email-already-registered": "The email entered is already registered.",
|
|
106
|
+
"email-register-error": "An error occurred during registration.",
|
|
107
|
+
"email-register-channel-inactive": "This email is already registered in our system. To enable access to this site, please contact our support team.",
|
|
108
|
+
"address-help2": "THE CONTENT OF THE ADDRESS FIELD IS TOO LONG. MAXIMUM 50 CHARACTERS.",
|
|
106
109
|
"empty-cart": "Your Cart is Empty",
|
|
107
110
|
"cart-not-empty": "You cannot repeat the order because your cart is not empty.",
|
|
108
111
|
"empty-cart-detail": "Add something to make me happy :)",
|
package/assets/ec-i18n/es.json
CHANGED
|
@@ -103,6 +103,9 @@
|
|
|
103
103
|
"email-address": "Email",
|
|
104
104
|
"email-address-help1": "El email es requerido",
|
|
105
105
|
"email-address-help2": "Email inválido",
|
|
106
|
+
"email-already-registered": "El email ingresado ya se encuentra registrado.",
|
|
107
|
+
"email-register-error": "Error en el registro. Vuelva a intentarlo más tarde.",
|
|
108
|
+
"email-register-channel-inactive": "Este correo electrónico ya se encuentra registrado en nuestro sistema. Para habilitar tu acceso a este sitio, por favor comunicate con nuestro equipo de atención al cliente.",
|
|
106
109
|
"empty-cart": "Tu carrito está vacio",
|
|
107
110
|
"cart-not-empty": "No puedes repetir el pedido porque tu carrito no está vacío.",
|
|
108
111
|
"empty-cart-detail": "Agrega algo al carrito",
|
package/assets/ec-i18n/fr.json
CHANGED
|
@@ -113,10 +113,13 @@
|
|
|
113
113
|
"phone": "Phone number",
|
|
114
114
|
"phone-help1": "Phone No is required.",
|
|
115
115
|
"phone-help2": "Phone No is must be number.",
|
|
116
|
-
"email-address": "Email address",
|
|
117
|
-
"email-address-help1": "Email is required",
|
|
118
|
-
"email-address-help2": "Invalid Email",
|
|
119
|
-
"
|
|
116
|
+
"email-address": "Email address",
|
|
117
|
+
"email-address-help1": "Email is required",
|
|
118
|
+
"email-address-help2": "Invalid Email",
|
|
119
|
+
"email-already-registered": "The email entered is already registered.",
|
|
120
|
+
"email-register-error": "An error occurred during registration.",
|
|
121
|
+
"email-register-channel-inactive": "This email is already registered in our system. To enable access to this site, please contact our support team.",
|
|
122
|
+
"country": "Country",
|
|
120
123
|
"select-country": "Select country",
|
|
121
124
|
"country-help": "Country is required",
|
|
122
125
|
"address": "Address",
|
package/assets/ec-i18n/gl.json
CHANGED
|
@@ -118,6 +118,9 @@
|
|
|
118
118
|
"email-address": "Correo electrónico",
|
|
119
119
|
"email-address-help1": "O correo electrónico é obrigatorio",
|
|
120
120
|
"email-address-help2": "Correo electrónico non válido",
|
|
121
|
+
"email-already-registered": "O enderezo de correo electrónico xa está rexistrado.",
|
|
122
|
+
"email-register-error": "Produciuse un erro durante o rexistro.",
|
|
123
|
+
"email-register-channel-inactive": "Este enderezo de correo electrónico xa está rexistrado no noso sistema. Para habilitar o acceso a este sitio, póñase en contacto co noso equipo de soporte.",
|
|
121
124
|
"country": "País",
|
|
122
125
|
"select-country": "Seleccione un país",
|
|
123
126
|
"country-help": "O país é obrigatorio",
|
package/assets/ec-i18n/pr.json
CHANGED
|
@@ -118,6 +118,9 @@
|
|
|
118
118
|
"email-address": "E-mail",
|
|
119
119
|
"email-address-help1": "E-mail é obrigatório",
|
|
120
120
|
"email-address-help2": "E-mail inválido",
|
|
121
|
+
"email-already-registered": "O endereço de e-mail já está registrado.",
|
|
122
|
+
"email-register-error": "Ocorreu um erro durante o registro.",
|
|
123
|
+
"email-register-channel-inactive": "Este endereço de e-mail já está registrado em nosso sistema. Para habilitar o acesso a este site, entre em contato com nossa equipe de suporte.",
|
|
121
124
|
"country": "País",
|
|
122
125
|
"select-country": "Selecione um país",
|
|
123
126
|
"country-help": "O país é obrigatório",
|