ng-easycommerce 0.0.633 → 0.0.635
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 +4 -0
- package/bundles/ng-easycommerce.umd.js +51 -52
- 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/account-ec/order-ec/order-ec.component.js +3 -3
- package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +4 -2
- package/esm2015/lib/services/cart.service.js +12 -3
- package/esm2015/lib/services/options.service.js +20 -13
- package/esm2015/lib/services/products/product-detail.service.js +11 -7
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +3 -3
- package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +4 -2
- package/esm5/lib/services/cart.service.js +12 -3
- package/esm5/lib/services/options.service.js +19 -35
- package/esm5/lib/services/products/product-detail.service.js +11 -7
- package/fesm2015/ng-easycommerce.js +45 -23
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +51 -52
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +1 -0
- package/lib/services/cart.service.d.ts +1 -1
- package/lib/services/options.service.d.ts +1 -1
- package/lib/services/products/product-detail.service.d.ts +2 -1
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
package/fesm5/ng-easycommerce.js
CHANGED
|
@@ -1003,17 +1003,6 @@ var __spread = (this && this.__spread) || function () {
|
|
|
1003
1003
|
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
1004
1004
|
return ar;
|
|
1005
1005
|
};
|
|
1006
|
-
var __values = (this && this.__values) || function(o) {
|
|
1007
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
1008
|
-
if (m) return m.call(o);
|
|
1009
|
-
if (o && typeof o.length === "number") return {
|
|
1010
|
-
next: function () {
|
|
1011
|
-
if (o && i >= o.length) o = void 0;
|
|
1012
|
-
return { value: o && o[i++], done: !o };
|
|
1013
|
-
}
|
|
1014
|
-
};
|
|
1015
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
1016
|
-
};
|
|
1017
1006
|
var OptionsService = /** @class */ (function () {
|
|
1018
1007
|
function OptionsService(connection, constants) {
|
|
1019
1008
|
var _this = this;
|
|
@@ -1147,31 +1136,26 @@ var OptionsService = /** @class */ (function () {
|
|
|
1147
1136
|
});
|
|
1148
1137
|
return final_result;
|
|
1149
1138
|
};
|
|
1150
|
-
this.generateBreadcrumb = function (code, elements,
|
|
1151
|
-
var
|
|
1152
|
-
if (
|
|
1153
|
-
|
|
1154
|
-
try {
|
|
1155
|
-
for (var elements_1 = __values(elements), elements_1_1 = elements_1.next(); !elements_1_1.done; elements_1_1 = elements_1.next()) {
|
|
1156
|
-
var elem = elements_1_1.value;
|
|
1157
|
-
if (elem.code === code) {
|
|
1158
|
-
return __spread(path, [elem]);
|
|
1159
|
-
}
|
|
1160
|
-
if ((_b = elem.children) === null || _b === void 0 ? void 0 : _b.length) {
|
|
1161
|
-
var childPath = _this.generateBreadcrumb(code, elem.children, __spread(path, [elem]));
|
|
1162
|
-
if (childPath.length)
|
|
1163
|
-
return childPath;
|
|
1164
|
-
}
|
|
1165
|
-
}
|
|
1139
|
+
this.generateBreadcrumb = function (code, elements, result) {
|
|
1140
|
+
var element = elements.find(function (elem) { return elem.code == code; });
|
|
1141
|
+
if (element) {
|
|
1142
|
+
result.push(element);
|
|
1166
1143
|
}
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1144
|
+
else {
|
|
1145
|
+
elements.some(function (elem) {
|
|
1146
|
+
if (elem.children && elem.children.length) {
|
|
1147
|
+
var length_1 = result.length;
|
|
1148
|
+
var new_result = _this.generateBreadcrumb(code, elem.children, result);
|
|
1149
|
+
if (new_result.length > length_1) {
|
|
1150
|
+
result = new_result;
|
|
1151
|
+
result.push(elem);
|
|
1152
|
+
return true;
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
return false;
|
|
1156
|
+
});
|
|
1173
1157
|
}
|
|
1174
|
-
return
|
|
1158
|
+
return result;
|
|
1175
1159
|
};
|
|
1176
1160
|
this.getAllData();
|
|
1177
1161
|
// this.authService.loggedIn.subscribe(res => res && this.getAllData());
|
|
@@ -4816,7 +4800,7 @@ var CartService = /** @class */ (function () {
|
|
|
4816
4800
|
* @public
|
|
4817
4801
|
* CART CRUD
|
|
4818
4802
|
*/
|
|
4819
|
-
this.addToCart = function (product, quantity, variant_id) {
|
|
4803
|
+
this.addToCart = function (product, quantity, variant_id, comments) {
|
|
4820
4804
|
var _a, _b, _c, _d;
|
|
4821
4805
|
var balance = _this.balanceCustomerSubject.value;
|
|
4822
4806
|
var applyMaxOrders = (_b = (_a = balance) === null || _a === void 0 ? void 0 : _a.applyMaxOrders, (_b !== null && _b !== void 0 ? _b : false));
|
|
@@ -4832,7 +4816,15 @@ var CartService = /** @class */ (function () {
|
|
|
4832
4816
|
_this.requestInProcess.next(true);
|
|
4833
4817
|
var added = _this.addIfAllreadyExists(product, variant_id, quantity);
|
|
4834
4818
|
if (!added) {
|
|
4835
|
-
|
|
4819
|
+
var payload = {
|
|
4820
|
+
productCode: product.id,
|
|
4821
|
+
quantity: quantity,
|
|
4822
|
+
variantCode: variant_id,
|
|
4823
|
+
};
|
|
4824
|
+
if (comments) {
|
|
4825
|
+
payload.comments = comments;
|
|
4826
|
+
}
|
|
4827
|
+
_this.connection.post(_this.addItemApi(), payload)
|
|
4836
4828
|
.subscribe(function (res) {
|
|
4837
4829
|
// Manejar la respuesta HTTP exitosa (código 200)
|
|
4838
4830
|
_this.appendToCart(res);
|
|
@@ -5109,6 +5101,7 @@ var CartService = /** @class */ (function () {
|
|
|
5109
5101
|
variant_id: item.product.variants[0].code,
|
|
5110
5102
|
lot: item.orderItemLot,
|
|
5111
5103
|
quantity: item.quantity,
|
|
5104
|
+
comments: item.comments || '',
|
|
5112
5105
|
item_id: item.id,
|
|
5113
5106
|
total: item.total
|
|
5114
5107
|
};
|
|
@@ -7436,7 +7429,7 @@ var __generator$8 = (this && this.__generator) || function (thisArg, body) {
|
|
|
7436
7429
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
7437
7430
|
}
|
|
7438
7431
|
};
|
|
7439
|
-
var __values
|
|
7432
|
+
var __values = (this && this.__values) || function(o) {
|
|
7440
7433
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
7441
7434
|
if (m) return m.call(o);
|
|
7442
7435
|
if (o && typeof o.length === "number") return {
|
|
@@ -7776,7 +7769,7 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
7776
7769
|
CartEcComponent.prototype.checkStock = function (item) {
|
|
7777
7770
|
var e_1, _a;
|
|
7778
7771
|
try {
|
|
7779
|
-
for (var _b = __values
|
|
7772
|
+
for (var _b = __values(item.product.variants), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
7780
7773
|
var variant = _c.value;
|
|
7781
7774
|
if (item.variant_id === variant.code) {
|
|
7782
7775
|
if (variant.stock === 0) {
|
|
@@ -7807,7 +7800,7 @@ var CartEcComponent = /** @class */ (function (_super) {
|
|
|
7807
7800
|
res.forEach(function (item) {
|
|
7808
7801
|
var e_2, _a;
|
|
7809
7802
|
try {
|
|
7810
|
-
for (var _b = __values
|
|
7803
|
+
for (var _b = __values(item.product.variants), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
7811
7804
|
var variant = _c.value;
|
|
7812
7805
|
if (item.variant_id === variant.code && !_this.exitUpdate) {
|
|
7813
7806
|
if (variant.stock === 0) {
|
|
@@ -8712,7 +8705,7 @@ var __generator$b = (this && this.__generator) || function (thisArg, body) {
|
|
|
8712
8705
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
8713
8706
|
}
|
|
8714
8707
|
};
|
|
8715
|
-
var __values$
|
|
8708
|
+
var __values$1 = (this && this.__values) || function(o) {
|
|
8716
8709
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
8717
8710
|
if (m) return m.call(o);
|
|
8718
8711
|
if (o && typeof o.length === "number") return {
|
|
@@ -8857,7 +8850,7 @@ var PaymentEcComponent = /** @class */ (function (_super) {
|
|
|
8857
8850
|
var e_1, _a;
|
|
8858
8851
|
var parent = e.target.parentElement.children;
|
|
8859
8852
|
try {
|
|
8860
|
-
for (var parent_1 = __values$
|
|
8853
|
+
for (var parent_1 = __values$1(parent), parent_1_1 = parent_1.next(); !parent_1_1.done; parent_1_1 = parent_1.next()) {
|
|
8861
8854
|
var button = parent_1_1.value;
|
|
8862
8855
|
if (button.classList.contains('active')) {
|
|
8863
8856
|
button.classList.remove('active');
|
|
@@ -8927,7 +8920,7 @@ var __decorate$T = (this && this.__decorate) || function (decorators, target, ke
|
|
|
8927
8920
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8928
8921
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8929
8922
|
};
|
|
8930
|
-
var __values$
|
|
8923
|
+
var __values$2 = (this && this.__values) || function(o) {
|
|
8931
8924
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
8932
8925
|
if (m) return m.call(o);
|
|
8933
8926
|
if (o && typeof o.length === "number") return {
|
|
@@ -9016,7 +9009,7 @@ var ShipmentEcComponent = /** @class */ (function (_super) {
|
|
|
9016
9009
|
var e_1, _a;
|
|
9017
9010
|
var parent = e.target.parentElement.children;
|
|
9018
9011
|
try {
|
|
9019
|
-
for (var parent_1 = __values$
|
|
9012
|
+
for (var parent_1 = __values$2(parent), parent_1_1 = parent_1.next(); !parent_1_1.done; parent_1_1 = parent_1.next()) {
|
|
9020
9013
|
var button = parent_1_1.value;
|
|
9021
9014
|
if (button.classList.contains('active')) {
|
|
9022
9015
|
button.classList.remove('active');
|
|
@@ -10942,9 +10935,10 @@ var ProductDetailService = /** @class */ (function () {
|
|
|
10942
10935
|
* @description agrega/actualiza un item en el carrito
|
|
10943
10936
|
* @param quantity cantidad a agregar
|
|
10944
10937
|
* @param variant_code **(opcional)** codigo de la variante seleccionada del producto.
|
|
10938
|
+
* @param comments **(opcional)** comentario personalizado del cliente.
|
|
10945
10939
|
* @returns
|
|
10946
10940
|
*/
|
|
10947
|
-
ProductDetailService.prototype.addToCart = function (quantity, variant_code) {
|
|
10941
|
+
ProductDetailService.prototype.addToCart = function (quantity, variant_code, comments) {
|
|
10948
10942
|
quantity = parseInt(quantity);
|
|
10949
10943
|
if (!this.variants.length) {
|
|
10950
10944
|
this.toastrService.show('cant-buy');
|
|
@@ -10957,9 +10951,9 @@ var ProductDetailService = /** @class */ (function () {
|
|
|
10957
10951
|
this.toastrService.show('no-variants');
|
|
10958
10952
|
break;
|
|
10959
10953
|
case 1:
|
|
10960
|
-
this.asociatedDataSubject.value.stock == 0
|
|
10961
|
-
this.toastrService.show('out-of-stock')
|
|
10962
|
-
variant = this.variants[0];
|
|
10954
|
+
this.asociatedDataSubject.value.stock == 0
|
|
10955
|
+
? this.toastrService.show('out-of-stock')
|
|
10956
|
+
: variant = this.variants[0];
|
|
10963
10957
|
break;
|
|
10964
10958
|
default:
|
|
10965
10959
|
if (variant_code) {
|
|
@@ -10978,10 +10972,13 @@ var ProductDetailService = /** @class */ (function () {
|
|
|
10978
10972
|
return;
|
|
10979
10973
|
if (!this.validateQuantity(quantity, variant.code))
|
|
10980
10974
|
return;
|
|
10981
|
-
var priceToValidate = product_selected.saleprice
|
|
10975
|
+
var priceToValidate = product_selected.saleprice
|
|
10976
|
+
? product_selected.saleprice * quantity
|
|
10977
|
+
: product_selected.price * quantity;
|
|
10982
10978
|
if (!this.validatePriceAndCredits(priceToValidate))
|
|
10983
10979
|
return;
|
|
10984
|
-
this.
|
|
10980
|
+
var product = this.makeAffordableProduct(product_selected);
|
|
10981
|
+
this.cartService.addToCart(product, quantity, variant.code, comments);
|
|
10985
10982
|
};
|
|
10986
10983
|
;
|
|
10987
10984
|
ProductDetailService.prototype.makeAffordableProduct = function (product_selected) {
|
|
@@ -11108,6 +11105,7 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
11108
11105
|
_this.injector = injector;
|
|
11109
11106
|
_this.show = false;
|
|
11110
11107
|
_this.quantity = 1;
|
|
11108
|
+
_this.comments = '';
|
|
11111
11109
|
_this.breadcrumb = [];
|
|
11112
11110
|
_this.code = null;
|
|
11113
11111
|
_this.focusImage = null;
|
|
@@ -11116,7 +11114,8 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
11116
11114
|
_this.hidePrices = false;
|
|
11117
11115
|
_this.creditAccountShowPrices = null;
|
|
11118
11116
|
_this.addToCart = function () {
|
|
11119
|
-
|
|
11117
|
+
var _a;
|
|
11118
|
+
_this.quantity > 0 && _this.productService.addToCart(_this.quantity, undefined, ((_a = _this.comments) === null || _a === void 0 ? void 0 : _a.trim()) || null);
|
|
11120
11119
|
};
|
|
11121
11120
|
_this.addAllProductosToCart = function () {
|
|
11122
11121
|
var _a, _b;
|
|
@@ -13532,8 +13531,8 @@ var OrderEcComponent = /** @class */ (function (_super) {
|
|
|
13532
13531
|
OrderEcComponent = __decorate$1l([
|
|
13533
13532
|
Component({
|
|
13534
13533
|
selector: 'app-order-ec',
|
|
13535
|
-
template: "<main class=\"py-5\" id=\"orderEcComponent\">\n <div class=\"container\">\n <div class=\"wrap\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"order; else noOrder\">\n\n <div class=\"row justify-content-between \">\n <div class=\"col-sm-auto col-12 font-brandon\">\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\n </div>\n <ng-container *ngIf=\"order?.invoice\">\n <div class=\"col-sm col-12 font-brandon\">\n <a target=\"_blank\" [href]=\"consts.getUrlBase().slice(0, -1) + order.invoice\"\n class=\"btn btn-link btn-invoice\">\n <i class=\"fas fa-file-download me-1\"></i>\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\n </a>\n </div>\n </ng-container>\n <a (click)=\"volver()\" class=\"col-auto text-end\">\n <button class=\"btn btvolver bg-gray text-white\">{{ 'back-to-orders' | translate }}</button>\n </a>\n </div>\n\n <section id=\"orders\">\n <div class=\"row pt-2\">\n <div class=\"col-md-2 col-12\">\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0]?.method?.name | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].method.name }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n <a *ngIf=\"order.tracking\" [href]=\"order.tracking\"\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver\n seguimiento</a>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'date' | translate }}:</p>\n <p class=\"\">\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\" *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"st\">{{ 'total' | translate }}:</p>\n <h5 class=\"fw-bold\">\n {{ (order.totals.total) | ecCurrencySymbol}}\n\n </h5>\n </div>\n </div>\n </section>\n\n <div class=\"text-end mt-3\" *ngIf=\"!hidePrices && allowRepeatOrders\">\n <button class=\"btn btn-primary mb-2\" (click)=\"repeatOrder()\">\n {{ 'repeat-order' | translate }}\n </button>\n </div>\n\n <div class=\"container py-3 border-top border-bottom\">\n <div *ngIf=\"order.items.length; else noProducts\" class=\"row\">\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\n {{ 'product' | translate | uppercase }}\n </div>\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\n {{ 'description' | translate | uppercase }}\n </div>\n <div id=\"colLots\" *ngIf=\"ordersService.channelConfig.applyOrderLot\"\n class=\"col-1 font-sm font-brandon d-none d-md-block\">\n <!-- {{ 'description' | translate | uppercase }} -->\n {{ 'lots' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n {{ 'unit-price' | translate | uppercase }}\n </div>\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'quantity' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n {{ 'total' | translate | uppercase }}\n </div>\n </div>\n <ng-container *ngFor=\"let item of order.items; let i = index\">\n <div class=\"row cart-items\">\n <div class=\"col-5 col-md-2 py-2\">\n <ng-container *ngIf=\"item.product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth img-fluid rounded-custom \"\n [src]=\"consts.mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"item.product.picturesdefault\"\n class=\"smc maxwidth img-fluid rounded-custom\"\n [src]=\"consts.mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\n </ng-template>\n </div>\n <div\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\n <p class=\"font-brandon d-flex w-100 mb-0\">\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\n </p>\n </div>\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\"\n *ngIf=\"ordersService.channelConfig.applyOrderLot\">\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\n value=\"{{ 'see' | translate | uppercase }}\">\n </div>\n <div class=\"container d-md-none\">\n <div class=\"row\">\n <div class=\"col-4\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n <div class=\"col-4 font-xl\" *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) |\n ecCurrencySymbol}}</p>\n </div>\n <div class=\"col-4 font-xl\" *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) *\n item.quantity) | ecCurrencySymbol}}</p>\n </div>\n </div>\n </div>\n\n <div class=\"col-2 d-none d-md-flex align-items-center\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-center w-100 m-0\">\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) | ecCurrencySymbol}}\n </p>\n </div>\n <div class=\"col-1 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n <div class=\"col-2 d-none d-md-flex align-items-center\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-end w-100 m-0\">\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\n <div class=\"card card-body\">\n <table class=\"table table-striped\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Estado</th>\n <th scope=\"col\">Cantidad</th>\n <th scope=\"col\">Fecha Solicitada</th>\n <th scope=\"col\">Fecha Estimada</th>\n <th scope=\"col\">Sede</th>\n <th scope=\"col\">Nota</th>\n <th scope=\"col\">Total Lote</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let lot of item.orderItemLot\">\n <tr>\n <th scope=\"row\">{{lot.id}}</th>\n <td>{{lot.lot_status}}</td>\n <td>{{lot.quantity}}</td>\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\n <td *ngIf=\"lot.date_deliver; else sinFechaEstimada\">{{\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\n <ng-template #sinFechaEstimada>\n <td>Pendiente</td>\n </ng-template>\n <td>{{lot.shipping_address_name}}</td>\n <td>{{lot.notes}}</td>\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n </ng-container>\n </div>\n\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 col-md-6\"></div>\n <div class=\"col-12 col-md-6\" *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <div class=\"row py-4\">\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.subtotal) | ecCurrencySymbol }}\n </div>\n\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\n\n </div>\n\n <div *ngIf=\"!hideDiscounts && order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\n translate }}</div>\n <div *ngIf=\"!hideDiscounts && order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\n\n <div *ngIf=\"!hideTaxes && order.totals.taxes && order.totals.taxes != 0 \"\n class=\"col-6 font-brandon font-md text-gray border-bottom \">\n {{ 'taxes' | translate }}</div>\n <div *ngIf=\"!hideTaxes && order.totals.taxes && order.totals.taxes != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\n\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\n <div class=\"col-6 font-brandon font-md text-end\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</main>\n\n<ng-template #noOrder>\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h5>{{ 'no-orders' | translate }}</h5>\n </div>\n </div>\n</ng-template>\n\n<ng-template #loadingView>\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n</ng-template>",
|
|
13536
|
-
styles: [".maxwidth{max-width:100px}"]
|
|
13534
|
+
template: "<main class=\"py-5\" id=\"orderEcComponent\">\n <div class=\"container\">\n <div class=\"wrap\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"order; else noOrder\">\n\n <div class=\"row justify-content-between \">\n <div class=\"col-sm-auto col-12 font-brandon\">\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\n </div>\n <ng-container *ngIf=\"order?.invoice\">\n <div class=\"col-sm col-12 font-brandon\">\n <a target=\"_blank\" [href]=\"consts.getUrlBase().slice(0, -1) + order.invoice\"\n class=\"btn btn-link btn-invoice\">\n <i class=\"fas fa-file-download me-1\"></i>\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\n </a>\n </div>\n </ng-container>\n <a (click)=\"volver()\" class=\"col-auto text-end\">\n <button class=\"btn btvolver bg-gray text-white\">{{ 'back-to-orders' | translate }}</button>\n </a>\n </div>\n\n <section id=\"orders\">\n <div class=\"row pt-2\">\n <div class=\"col-md-2 col-12\">\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].state | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.payments[0]?.method?.name | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\n <p class=\"\">\n {{ order.shipments[0].method.name }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n <a *ngIf=\"order.tracking\" [href]=\"order.tracking\"\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver\n seguimiento</a>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\">\n <p class=\"st\">{{ 'date' | translate }}:</p>\n <p class=\"\">\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\n </p>\n </div>\n <div class=\"col-md-2 col-12 font-brandon\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"st\">{{ 'total' | translate }}:</p>\n <h5 class=\"fw-bold\">\n {{ (order.totals.total) | ecCurrencySymbol}}\n\n </h5>\n </div>\n </div>\n </section>\n\n <div class=\"text-end mt-3\" *ngIf=\"!hidePrices && allowRepeatOrders\">\n <button class=\"btn btn-primary mb-2\" (click)=\"repeatOrder()\">\n {{ 'repeat-order' | translate }}\n </button>\n </div>\n\n <div class=\"container py-3 border-top border-bottom\">\n <div *ngIf=\"order.items.length; else noProducts\" class=\"row\">\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\n {{ 'product' | translate | uppercase }}\n </div>\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\n {{ 'description' | translate | uppercase }}\n </div>\n <div id=\"colLots\" *ngIf=\"ordersService.channelConfig.applyOrderLot\"\n class=\"col-1 font-sm font-brandon d-none d-md-block\">\n <!-- {{ 'description' | translate | uppercase }} -->\n {{ 'lots' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n {{ 'unit-price' | translate | uppercase }}\n </div>\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\n {{ 'quantity' | translate | uppercase }}\n </div>\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n {{ 'total' | translate | uppercase }}\n </div>\n </div>\n <ng-container *ngFor=\"let item of order.items; let i = index\">\n <div class=\"row cart-items\">\n <div class=\"col-5 col-md-2 py-2\">\n <ng-container *ngIf=\"item.product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth img-fluid rounded-custom \"\n [src]=\"consts.mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"item.product.picturesdefault\"\n class=\"smc maxwidth img-fluid rounded-custom\"\n [src]=\"consts.mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\n </ng-template>\n </div> \n <div\n class=\"col-md-4 col-7 d-flex flex-column justify-content-center\">\n <p class=\"font-brandon d-flex w-100 mb-0\">\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\n </p>\n <p *ngIf=\"item.comments\" class=\"comment-truncated fst-italic small text-muted mt-1\">\n \"{{ item.comments }}\"\n </p>\n </div>\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\"\n *ngIf=\"ordersService.channelConfig.applyOrderLot\">\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\n value=\"{{ 'see' | translate | uppercase }}\">\n </div>\n <div class=\"container d-md-none\">\n <div class=\"row\">\n <div class=\"col-4\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n <div class=\"col-4 font-xl\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) |\n ecCurrencySymbol}}</p>\n </div>\n <div class=\"col-4 font-xl\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\n item.product.variants[0].saleprice : item.product.variants[0].price) *\n item.quantity) | ecCurrencySymbol}}</p>\n </div>\n </div>\n </div>\n\n <div class=\"col-2 d-none d-md-flex align-items-center\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-center w-100 m-0\">\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) | ecCurrencySymbol}}\n </p>\n </div>\n <div class=\"col-1 d-none d-md-flex align-items-center\">\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\n </div>\n <div class=\"col-2 d-none d-md-flex align-items-center\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <p class=\"text-end w-100 m-0\">\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\n </div>\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\n <div class=\"card card-body\">\n <table class=\"table table-striped\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Estado</th>\n <th scope=\"col\">Cantidad</th>\n <th scope=\"col\">Fecha Solicitada</th>\n <th scope=\"col\">Fecha Estimada</th>\n <th scope=\"col\">Sede</th>\n <th scope=\"col\">Nota</th>\n <th scope=\"col\">Total Lote</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let lot of item.orderItemLot\">\n <tr>\n <th scope=\"row\">{{lot.id}}</th>\n <td>{{lot.lot_status}}</td>\n <td>{{lot.quantity}}</td>\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\n <td *ngIf=\"lot.date_deliver; else sinFechaEstimada\">{{\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\n <ng-template #sinFechaEstimada>\n <td>Pendiente</td>\n </ng-template>\n <td>{{lot.shipping_address_name}}</td>\n <td>{{lot.notes}}</td>\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n </ng-container>\n </div>\n\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12 col-md-6\"></div>\n <div class=\"col-12 col-md-6\"\n *ngIf=\"(creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <div class=\"row py-4\">\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.subtotal) | ecCurrencySymbol }}\n </div>\n\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\n translate }}</div>\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\n\n </div>\n\n <div *ngIf=\"!hideDiscounts && order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\n translate }}</div>\n <div *ngIf=\"!hideDiscounts && order.totals.promotion && order.totals.promotion != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\n\n <div *ngIf=\"!hideTaxes && order.totals.taxes && order.totals.taxes != 0 \"\n class=\"col-6 font-brandon font-md text-gray border-bottom \">\n {{ 'taxes' | translate }}</div>\n <div *ngIf=\"!hideTaxes && order.totals.taxes && order.totals.taxes != 0\"\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\n\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\n <div class=\"col-6 font-brandon font-md text-end\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</main>\n\n<ng-template #noOrder>\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h5>{{ 'no-orders' | translate }}</h5>\n </div>\n </div>\n</ng-template>\n\n<ng-template #loadingView>\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n</ng-template>",
|
|
13535
|
+
styles: [".maxwidth{max-width:100px}.comment-truncated{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-height:3em}"]
|
|
13537
13536
|
})
|
|
13538
13537
|
], OrderEcComponent);
|
|
13539
13538
|
return OrderEcComponent;
|