ng-easycommerce 0.0.447 → 0.0.450
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 +11 -0
- package/assets/decidirFormEc.html +4 -4
- package/bundles/ng-easycommerce.umd.js +131 -7
- 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 +2 -2
- package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +99 -3
- package/esm2015/lib/ec-component/checkout-ec/step-ec/step-ec.component.js +3 -3
- package/esm2015/lib/ec-component/header-ec/header-ec.component.js +3 -3
- package/esm2015/lib/services/channel-config.service.js +25 -1
- package/esm5/lib/core.consts.js +2 -2
- package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +99 -3
- package/esm5/lib/ec-component/checkout-ec/step-ec/step-ec.component.js +3 -3
- package/esm5/lib/ec-component/header-ec/header-ec.component.js +7 -3
- package/esm5/lib/services/channel-config.service.js +25 -1
- package/fesm2015/ng-easycommerce.js +127 -7
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +131 -7
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.d.ts +38 -0
- package/lib/ec-component/header-ec/header-ec.component.d.ts +1 -1
- package/lib/services/channel-config.service.d.ts +8 -0
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
# version 0.0.450
|
|
2
|
+
- Se arregla el metodo de decidir para que use las url segun el entorno enviado en el campo public_enviroment
|
|
3
|
+
- Se agrega un metodo en el channel-config.service.ts para poder cambiar de canal via hostname.
|
|
4
|
+
# version 0.0.449
|
|
5
|
+
- Se quitan los decimales para la moneda de Suecia (SEK)
|
|
6
|
+
|
|
7
|
+
# version 0.0.448
|
|
8
|
+
- Se agrega la funcionalidad para poder ordenar por columnas las ordenes de los clientes.
|
|
9
|
+
- Se modifica la funcion setSearchValue de header-ec para que acepte una funcion que se ejecuta al presionar enter.
|
|
10
|
+
- Se arregla el problema de estilos en los botones del checkout.
|
|
11
|
+
|
|
1
12
|
# version 0.0.447
|
|
2
13
|
- Se actualiza el componente de build-your-ec para que trabaje con la toma de los filtros de atributos.
|
|
3
14
|
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
let modoHead = dataDecidirHead?.config?.public_environment || null
|
|
17
17
|
modoHead && (modoHead == 'prod' && (modoHead = false) || modoHead == 'test' && (modoHead = true))
|
|
18
|
+
//console.log('modo head',modoHead, dataDecidirHead)
|
|
18
19
|
!modoHead && (modoHead = window.location.host.includes('easycommerce'))
|
|
19
20
|
let my_awesome_script = document.createElement('script');
|
|
20
21
|
my_awesome_script.setAttribute('defer', 'defer')
|
|
@@ -88,7 +89,7 @@
|
|
|
88
89
|
my_copy_script.setAttribute('type', 'text/javascript');
|
|
89
90
|
|
|
90
91
|
let infoDecidir = JSON.parse(localStorage.getItem('dataDecidir')) || undefined
|
|
91
|
-
console.log(infoDecidir)
|
|
92
|
+
//console.log(infoDecidir)
|
|
92
93
|
let urlBase = 'https://h.online-metrix.net/fp/tags.js';
|
|
93
94
|
let ord_id = infoDecidir?.config?.public_environment == 'test' ? '1snn5n9w' : 'k8vif92e'
|
|
94
95
|
let merchand_id = infoDecidir?.config?.public_merchand_id || 'decidir_agregador'
|
|
@@ -288,10 +289,9 @@
|
|
|
288
289
|
let cybersource = dataDecidir?.config?.public_cybersource && dataDecidir?.config?.public_cybersource == 'deshabilitado'
|
|
289
290
|
let modo = dataDecidir?.config?.public_environment || null
|
|
290
291
|
|
|
291
|
-
modo
|
|
292
|
-
!modo && (modo = window.location.host.includes('easycommerce'))
|
|
292
|
+
modo ? (modo == 'prod' ? modo = false : modo = true): (modo = window.location.host.includes('easycommerce'))
|
|
293
293
|
|
|
294
|
-
const decidir = new Decidir(modo && urlSandbox
|
|
294
|
+
const decidir = new Decidir(modo && modo ? urlSandbox : urlProduccion, cybersource);
|
|
295
295
|
decidir.setPublishableKey(publicApiKey);
|
|
296
296
|
decidir.setTimeout(5000);
|
|
297
297
|
|
|
@@ -419,7 +419,7 @@
|
|
|
419
419
|
code: 'SEK',
|
|
420
420
|
symbol: 'SEK',
|
|
421
421
|
position: 'R',
|
|
422
|
-
withoutDecimals:
|
|
422
|
+
withoutDecimals: true
|
|
423
423
|
}
|
|
424
424
|
];
|
|
425
425
|
_this.currency = currencyTypeCofig.find(function (ct) { return ct.code == currencyTypeFind.toUpperCase(); }) || _this.currency;
|
|
@@ -3480,6 +3480,30 @@
|
|
|
3480
3480
|
_this.consts.setCurrency(channelObj.baseCurrency);
|
|
3481
3481
|
_this.injector.get(AddressingService).setTypeSelectAddress(channelObj.headquarterSelectionOnly || 'LOAD_ADDRESS_AND_SELECTION');
|
|
3482
3482
|
};
|
|
3483
|
+
/**
|
|
3484
|
+
* @description cambian de canal segun el hostname que recibe por parametro.
|
|
3485
|
+
* @warning esta funcion es util para el caso en que se necesite manejar url distintas,
|
|
3486
|
+
* cada una con su configuración de canal, pero utilizando el mismo frontend.
|
|
3487
|
+
* En cualquier otro caso, utilizar las demas herramientas.
|
|
3488
|
+
* @param {string} hostname hostname del canal que se requiere utilizar.
|
|
3489
|
+
*/
|
|
3490
|
+
this.changeChannelByHostname = function (hostname) {
|
|
3491
|
+
//console.log(this.channelsSubject.getValue())
|
|
3492
|
+
_this.connection.get(_this.channelsApi()).toPromise().then(function (res) {
|
|
3493
|
+
var channel = res.filter(function (elem) { return elem.hostname == hostname; });
|
|
3494
|
+
if (channel) {
|
|
3495
|
+
if (channel[0].code != _this.consts.getChannel()) {
|
|
3496
|
+
console.log(channel[0]);
|
|
3497
|
+
_this.changeChannel(channel[0]);
|
|
3498
|
+
window.location.href = window.location.href;
|
|
3499
|
+
}
|
|
3500
|
+
}
|
|
3501
|
+
else {
|
|
3502
|
+
console.log("El hostname no coincide con ninguno que venga en los canales");
|
|
3503
|
+
}
|
|
3504
|
+
});
|
|
3505
|
+
//return channel
|
|
3506
|
+
};
|
|
3483
3507
|
this.getChannelConfig();
|
|
3484
3508
|
this.getChannels();
|
|
3485
3509
|
this.getLocales();
|
|
@@ -8246,8 +8270,12 @@
|
|
|
8246
8270
|
_this.authService.logout();
|
|
8247
8271
|
_this.router.navigateByUrl('home');
|
|
8248
8272
|
};
|
|
8249
|
-
_this.setSearchValue = function (event) {
|
|
8250
|
-
|
|
8273
|
+
_this.setSearchValue = function (event, afterSearch) {
|
|
8274
|
+
var args = [];
|
|
8275
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
8276
|
+
args[_i - 2] = arguments[_i];
|
|
8277
|
+
}
|
|
8278
|
+
event.key == 'Enter' && _this.getCollectionSearch() && (afterSearch ? afterSearch(args) : null);
|
|
8251
8279
|
_this.searchValue = event.target.value;
|
|
8252
8280
|
};
|
|
8253
8281
|
_this.getCollectionSearch = function () { return _this.router.navigateByUrl('/collection?search=' + _this.searchValue); };
|
|
@@ -10744,6 +10772,21 @@
|
|
|
10744
10772
|
_this.router = router;
|
|
10745
10773
|
_this.consts = consts;
|
|
10746
10774
|
_this.loading = true;
|
|
10775
|
+
/**
|
|
10776
|
+
* @description name -> nombre de clave de valuesToSort; asc -> true: ascendente, false: descendente
|
|
10777
|
+
*/
|
|
10778
|
+
_this.currentSort = { name: '', asc: true };
|
|
10779
|
+
/**
|
|
10780
|
+
* @description true -> ordena de forma ascendente | false -> ordena de forma decreciente
|
|
10781
|
+
*/
|
|
10782
|
+
_this.valuesToSort = {
|
|
10783
|
+
number: { asc: true, attribute: 'number' },
|
|
10784
|
+
paymentState: { asc: true, attribute: 'state' },
|
|
10785
|
+
method: { asc: true, attribute: 'method', subAttribute: 'name' },
|
|
10786
|
+
methodState: { asc: true, attribute: 'state' },
|
|
10787
|
+
date: { asc: true, attribute: 'checkoutCompletedAt' },
|
|
10788
|
+
total: { asc: true, attribute: 'total' }
|
|
10789
|
+
};
|
|
10747
10790
|
_this.sortedByNewest = function (orders) { return orders && orders.length && orders.sort(function (anOrder, otherOrder) { return anOrder.number > otherOrder.number ? -1 : 1; }); };
|
|
10748
10791
|
_this.goToOrder = function (order) {
|
|
10749
10792
|
_this.ordersService.setSelectedOrder(order);
|
|
@@ -10770,6 +10813,87 @@
|
|
|
10770
10813
|
}
|
|
10771
10814
|
}
|
|
10772
10815
|
};
|
|
10816
|
+
/**
|
|
10817
|
+
* @description Ordena la lista de ordenes
|
|
10818
|
+
* @param value recibe una valor que debe coincidir con las claves de la variable valuesToSort
|
|
10819
|
+
*/
|
|
10820
|
+
_this.sortOrders = function (value) {
|
|
10821
|
+
_this.sortValue = value;
|
|
10822
|
+
_this.setCurrentSort(_this.sortValue, _this.valuesToSort[_this.sortValue].asc);
|
|
10823
|
+
var comparator = (_this.valuesToSort[_this.sortValue].asc)
|
|
10824
|
+
? [-1, 1]
|
|
10825
|
+
: [1, -1];
|
|
10826
|
+
_this.valuesToSort[_this.sortValue].asc = !_this.valuesToSort[_this.sortValue].asc;
|
|
10827
|
+
var typeValue;
|
|
10828
|
+
if (_this.orders.length > 0) {
|
|
10829
|
+
typeValue = typeof (_this.orders[0]);
|
|
10830
|
+
}
|
|
10831
|
+
var sortFunction = _this.getSortFunction(_this.sortValue);
|
|
10832
|
+
_this.orders =
|
|
10833
|
+
_this.sortValue
|
|
10834
|
+
? _this.orders.sort(function (aOrders, otherOrders) { return sortFunction(aOrders, otherOrders, _this.valuesToSort[_this.sortValue], comparator); })
|
|
10835
|
+
: _this.orders;
|
|
10836
|
+
};
|
|
10837
|
+
/**
|
|
10838
|
+
* @description retorna la funcion que se debe utilizar para el sort del arreglo
|
|
10839
|
+
* @param value parametro que indica el tipo de funcion que debe retornar
|
|
10840
|
+
* @returns funcion para utilizar en la busqueda
|
|
10841
|
+
*/
|
|
10842
|
+
_this.getSortFunction = function (value) {
|
|
10843
|
+
switch (value) {
|
|
10844
|
+
case 'paymentState':
|
|
10845
|
+
return _this.sortPaymentState;
|
|
10846
|
+
case 'method':
|
|
10847
|
+
return _this.sortShipments;
|
|
10848
|
+
case 'methodState':
|
|
10849
|
+
return _this.sortShipments;
|
|
10850
|
+
case 'total':
|
|
10851
|
+
return _this.sortNumber;
|
|
10852
|
+
default:
|
|
10853
|
+
return _this.sortText;
|
|
10854
|
+
}
|
|
10855
|
+
};
|
|
10856
|
+
/* Funciones para ordernar */
|
|
10857
|
+
_this.sortPaymentState = function (aOrders, otherOrders, data, comparator) {
|
|
10858
|
+
return (aOrders.payments[0][data.attribute] == otherOrders.payments[0][data.attribute])
|
|
10859
|
+
? _this.tieBreaker(aOrders, otherOrders, comparator)
|
|
10860
|
+
: String(aOrders.payments[0][data.attribute]).toLowerCase() < String(otherOrders.payments[0][data.attribute]).toLowerCase() ? comparator[0] : comparator[1];
|
|
10861
|
+
};
|
|
10862
|
+
_this.sortShipments = function (aOrders, otherOrders, data, comparator) {
|
|
10863
|
+
if (data.subAttribute) {
|
|
10864
|
+
return (aOrders.shipments[0][data.attribute][data.subAttribute] == otherOrders.shipments[0][data.attribute][data.subAttribute])
|
|
10865
|
+
? _this.tieBreaker(aOrders, otherOrders, comparator)
|
|
10866
|
+
: String(aOrders.shipments[0][data.attribute][data.subAttribute]).toLowerCase() < String(otherOrders.shipments[0][data.attribute][data.subAttribute]).toLowerCase() ? comparator[0] : comparator[1];
|
|
10867
|
+
}
|
|
10868
|
+
else {
|
|
10869
|
+
return (aOrders.shipments[0][data.attribute] == otherOrders.shipments[0][data.attribute])
|
|
10870
|
+
? _this.tieBreaker(aOrders, otherOrders, comparator)
|
|
10871
|
+
: String(aOrders.shipments[0][data.attribute]).toLowerCase() < String(otherOrders.shipments[0][data.attribute]).toLowerCase() ? comparator[0] : comparator[1];
|
|
10872
|
+
}
|
|
10873
|
+
};
|
|
10874
|
+
_this.sortNumber = function (aOrders, otherOrders, data, comparator) { return aOrders[data.attribute] < otherOrders[data.attribute] ? comparator[0] : comparator[1]; };
|
|
10875
|
+
_this.sortText = function (aOrders, otherOrders, data, comparator) {
|
|
10876
|
+
return (aOrders[data.attribute] == otherOrders[data.attribute])
|
|
10877
|
+
? aOrders.number.toLowerCase() < otherOrders.number.toLowerCase() ? comparator[0] : comparator[1]
|
|
10878
|
+
: String(aOrders[data.attribute]).toLowerCase() < String(otherOrders[data.attribute]).toLowerCase() ? comparator[0] : comparator[1];
|
|
10879
|
+
};
|
|
10880
|
+
/**
|
|
10881
|
+
* @description funcion utilizada para desempate.
|
|
10882
|
+
* @param aOrders
|
|
10883
|
+
* @param otherOrders
|
|
10884
|
+
* @param comparator
|
|
10885
|
+
* @returns
|
|
10886
|
+
*/
|
|
10887
|
+
_this.tieBreaker = function (aOrders, otherOrders, comparator) { return aOrders.number.toLowerCase() < otherOrders.number.toLowerCase() ? comparator[0] : comparator[1]; };
|
|
10888
|
+
/**
|
|
10889
|
+
* @description cambia los valores de la variable currentSort
|
|
10890
|
+
* @param name
|
|
10891
|
+
* @param asc
|
|
10892
|
+
*/
|
|
10893
|
+
_this.setCurrentSort = function (name, asc) {
|
|
10894
|
+
_this.currentSort.name = name;
|
|
10895
|
+
_this.currentSort.asc = asc;
|
|
10896
|
+
};
|
|
10773
10897
|
_this.mediaUrl = _this.consts.mediaUrl();
|
|
10774
10898
|
_this.ecOnConstruct();
|
|
10775
10899
|
return _this;
|
|
@@ -10795,8 +10919,8 @@
|
|
|
10795
10919
|
OrdersEcComponent = __decorate$1g([
|
|
10796
10920
|
core.Component({
|
|
10797
10921
|
selector: 'app-orders-ec',
|
|
10798
|
-
template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\n <section id=\"orders\" class=\"w-100\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"orders && orders.length; else noOrders\">\n <div class=\"row
|
|
10799
|
-
styles: ["#ordersEcComponent .btn.btdetalle{background-color:#000;color:#fff;border-color:#000;border-width:1px;border-radius:10px;padding:10px 0}#ordersEcComponent .btn.btdetalle:hover{background-color:#fff;color:#000;border-color:#000}"]
|
|
10922
|
+
template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\n <section id=\"orders\" class=\"w-100\" *ngIf=\"!loading; else loadingView\">\n <div *ngIf=\"orders && orders.length; else noOrders\">\n <div class=\"row mb-1 border-bottom\">\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12 \">\n <p\n [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'methodState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('methodState')\">\n {{ 'shipment-state' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'date' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('date')\">{{ 'date' | translate }}:</p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'total' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\n (click)=\"sortOrders('total')\">{{ 'total' | translate }}:</p>\n </div>\n </div>\n <div class=\"row item border-bottom\" *ngFor=\"let order of orders\">\n <div class=\"col-lg-2 col-12\">\n <h5 class=\"fw-bold\">\n {{ order.number }}\n </h5>\n <ng-container *ngIf=\"order.items[0].product.variants[0]?.images?.length ; else defaultpicture\">\n <img class=\"smc maxwidth\" [src]=\"mediaUrl + order.items[0].product.variants[0].images[0]\" alt=\"\">\n </ng-container>\n <ng-template #defaultpicture>\n <img *ngIf=\"order.items[0].product.picturesdefault\" class=\"smc maxwidth\"\n [src]=\"mediaUrl + order.items[0].product.picturesdefault[0]\" alt=\"\">\n </ng-template>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ order.payments[0].state | translate | titlecase }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n \n <p class=\"price\">\n {{ order.shipments[0].method.name }}\n </p>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\n {{ order.shipments[0].state | translate | titlecase }}\n </p>\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\n <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\n <a *ngIf=\"order.tracking\" [href]=\"order.tracking\" class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</a>\n </div>\n <div class=\"col-lg-2 col-12\">\n <p class=\"price\">\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-lg-2 col-12\">\n <h5 class=\"fw-bold text-nowrap\">\n {{ (order.totals.total) | ecCurrencySymbol }}\n </h5>\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\n 'see-order' | translate }}</button>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<ng-template #noOrders>\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 #errorView>\n <div class=\"w-100 h-50\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <h4>{{ 'orders-error' | translate }}</h4>\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>",
|
|
10923
|
+
styles: ["#ordersEcComponent .btn.btdetalle{background-color:#000;color:#fff;border-color:#000;border-width:1px;border-radius:10px;padding:10px 0}#ordersEcComponent .btn.btdetalle:hover{background-color:#fff;color:#000;border-color:#000}.asc.dropdown-toggle::after{transform:rotate(180deg)}.applied.dropdown-toggle::after{color:#198754}"]
|
|
10800
10924
|
})
|
|
10801
10925
|
], OrdersEcComponent);
|
|
10802
10926
|
return OrdersEcComponent;
|
|
@@ -14582,8 +14706,8 @@
|
|
|
14582
14706
|
StepEcComponent = __decorate$1J([
|
|
14583
14707
|
core.Component({
|
|
14584
14708
|
selector: 'app-step-ec',
|
|
14585
|
-
template: "<ng-container [ngSwitch]=\"step_id\">\n\n <ng-container *ngSwitchCase=\"1\">\n <app-dataform-ec [step_id]=\"1\">\n </app-dataform-ec>\n <div class=\"checkout-btn-unique text-end\">\n <button *ngIf=\"isStepReady('address')\" class=\"btn valid-btn\"\n (click)=\"nextStep()\"> {{(lastStep ? 'finish-checkout' : 'ready-form')|translate}}</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"2\">\n <ng-container *ngIf=\"isStepReady('address')\">\n <app-shipment-ec [step_id]=\"2\">\n </app-shipment-ec>\n <div class=\"checkout-btn-container mt-2\">\n <button class=\"btn valid-btn\" (click)=\"goBack()\">{{'back'|translate}}</button>\n <ng-container *ngIf=\"(checkoutService.order$ | async) as order\">\n <button *ngIf=\"isStepReady('shipment')\" (click)=\"nextStep()\"\n class=\"btn valid-btn float-end\">{{ (lastStep ? 'finish-checkout' : 'ready-form') |translate}}\n </button>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"3\">\n <ng-container *ngIf=\"isStepReady(previousStep)\">\n <app-payment-ec [step_id]=\"3\">\n </app-payment-ec>\n <div class=\"checkout-btn-container mt-2\">\n <button class=\"btn valid-btn\"\n (click)=\"goBack()\">{{'back'|translate}}</button>\n </div>\n </ng-container>\n </ng-container>\n\n</ng-container>\n",
|
|
14586
|
-
styles: [""]
|
|
14709
|
+
template: "<ng-container [ngSwitch]=\"step_id\">\n\n <ng-container *ngSwitchCase=\"1\">\n <app-dataform-ec [step_id]=\"1\">\n </app-dataform-ec>\n <div class=\"checkout-btn-unique text-end\">\n <button *ngIf=\"isStepReady('address')\" class=\"btn valid-btn mt-2\"\n (click)=\"nextStep()\"> {{(lastStep ? 'finish-checkout' : 'ready-form')|translate}}</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"2\">\n <ng-container *ngIf=\"isStepReady('address')\">\n <app-shipment-ec [step_id]=\"2\">\n </app-shipment-ec>\n <div class=\"checkout-btn-container mt-2\">\n <button class=\"btn valid-btn\" (click)=\"goBack()\">{{'back'|translate}}</button>\n <ng-container *ngIf=\"(checkoutService.order$ | async) as order\">\n <button *ngIf=\"isStepReady('shipment')\" (click)=\"nextStep()\"\n class=\"btn valid-btn float-end\">{{ (lastStep ? 'finish-checkout' : 'ready-form') |translate}}\n </button>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"3\">\n <ng-container *ngIf=\"isStepReady(previousStep)\">\n <app-payment-ec [step_id]=\"3\">\n </app-payment-ec>\n <div class=\"checkout-btn-container mt-2\">\n <button class=\"btn valid-btn\"\n (click)=\"goBack()\">{{'back'|translate}}</button>\n </div>\n </ng-container>\n </ng-container>\n\n</ng-container>\n",
|
|
14710
|
+
styles: [".btn:disabled{opacity:.65}.btn.valid-btn{background-color:#000;color:#fff;margin-right:12px}"]
|
|
14587
14711
|
})
|
|
14588
14712
|
], StepEcComponent);
|
|
14589
14713
|
return StepEcComponent;
|