ng-easycommerce 0.0.581 → 0.0.583
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 +43 -10
- 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 +10 -2
- package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +15 -4
- package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +15 -4
- package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +11 -3
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +10 -2
- package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +15 -4
- package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +15 -4
- package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +11 -3
- package/fesm2015/ng-easycommerce.js +43 -10
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +43 -10
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +2 -0
- package/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.d.ts +5 -1
- package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +5 -1
- package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +4 -1
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -78,6 +78,8 @@ var OrderEcComponent = /** @class */ (function (_super) {
|
|
|
78
78
|
_this.loading = true;
|
|
79
79
|
_this.numberOrder = null;
|
|
80
80
|
_this.allowRepeatOrders = false;
|
|
81
|
+
_this.showPrice = false;
|
|
82
|
+
_this.creditAmountConfigured = false;
|
|
81
83
|
_this.toDate = function (date, format) { return moment(date).format(!format && 'DD/MM/YYYY, h:mm:ss a' || format); };
|
|
82
84
|
_this.callError = function () {
|
|
83
85
|
_this.error = '?';
|
|
@@ -127,6 +129,12 @@ var OrderEcComponent = /** @class */ (function (_super) {
|
|
|
127
129
|
_this.allowRepeatOrders = false;
|
|
128
130
|
}
|
|
129
131
|
});
|
|
132
|
+
this.cartService.showPrice$.subscribe(function (showPrice) {
|
|
133
|
+
_this.showPrice = showPrice;
|
|
134
|
+
});
|
|
135
|
+
this.cartService.creditAmount$.subscribe(function (creditAmount) {
|
|
136
|
+
_this.creditAmountConfigured = creditAmount !== null;
|
|
137
|
+
});
|
|
130
138
|
this.ecOnInit();
|
|
131
139
|
};
|
|
132
140
|
OrderEcComponent.prototype.repeatOrder = function () {
|
|
@@ -148,11 +156,11 @@ var OrderEcComponent = /** @class */ (function (_super) {
|
|
|
148
156
|
OrderEcComponent = __decorate([
|
|
149
157
|
Component({
|
|
150
158
|
selector: 'app-order-ec',
|
|
151
|
-
template: "<main class=\"py-5\" id=\"orderEcComponent\">\r\n <div class=\"container\">\r\n <div class=\"wrap\" *ngIf=\"!loading; else loadingView\">\r\n <div *ngIf=\"order; else noOrder\">\r\n\r\n <div class=\"row justify-content-between \">\r\n <div class=\"col-sm-auto col-12 font-brandon\">\r\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\r\n </div>\r\n <ng-container *ngIf=\"order?.invoice\">\r\n <div class=\"col-sm col-12 font-brandon\">\r\n <a target=\"_blank\" [href]=\"consts.getUrlBase().slice(0, -1) + order.invoice\"\r\n class=\"btn btn-link btn-invoice\">\r\n <i class=\"fas fa-file-download me-1\"></i>\r\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <a (click)=\"volver()\" class=\"col-auto text-end\">\r\n <button class=\"btn btvolver bg-gray text-white\">{{ 'back-to-orders' | translate }}</button>\r\n </a>\r\n </div>\r\n\r\n <section id=\"orders\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col-md-2 col-12\">\r\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0]?.method?.name | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n <a *ngIf=\"order.tracking\" [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver\r\n seguimiento</a>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'date' | translate }}:</p>\r\n <p class=\"\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'total' | translate }}:</p>\r\n <h5 class=\"fw-bold\">\r\n {{ (order.totals.total) | ecCurrencySymbol}}\r\n\r\n </h5>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <div class=\"text-end mt-3\" *ngIf=\"allowRepeatOrders\">\r\n <button class=\"btn btn-primary\" (click)=\"repeatOrder()\">\r\n {{ 'repeat-order' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div class=\"container py-3 border-top border-bottom\">\r\n <div *ngIf=\"order.items.length; else noProducts\" class=\"row\">\r\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\r\n {{ 'product' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\r\n {{ 'description' | translate | uppercase }}\r\n </div>\r\n <div id=\"colLots\" *ngIf=\"ordersService.channelConfig.applyOrderLot\"\r\n class=\"col-1 font-sm font-brandon d-none d-md-block\">\r\n <!-- {{ 'description' | translate | uppercase }} -->\r\n {{ 'lots' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'unit-price' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'quantity' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\">\r\n {{ 'total' | translate | uppercase }}\r\n </div>\r\n </div>\r\n <ng-container *ngFor=\"let item of order.items; let i = index\">\r\n <div class=\"row cart-items\">\r\n <div class=\"col-5 col-md-2 py-2\">\r\n <ng-container *ngIf=\"item.product.variants[0]?.images?.length ; else defaultpicture\">\r\n <img class=\"smc maxwidth img-fluid rounded-custom \"\r\n [src]=\"consts.mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\r\n </ng-container>\r\n <ng-template #defaultpicture>\r\n <img *ngIf=\"item.product.picturesdefault\"\r\n class=\"smc maxwidth img-fluid rounded-custom\"\r\n [src]=\"consts.mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\r\n </ng-template>\r\n </div>\r\n <div\r\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\r\n <p class=\"font-brandon d-flex w-100 mb-0\">\r\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\r\n </p>\r\n </div>\r\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\"\r\n *ngIf=\"ordersService.channelConfig.applyOrderLot\">\r\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\r\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\r\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\r\n value=\"{{ 'see' | translate | uppercase }}\">\r\n </div>\r\n <div class=\"container d-md-none\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) |\r\n ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) *\r\n item.quantity) | ecCurrencySymbol}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-2 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\">\r\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) | ecCurrencySymbol}}\r\n </p>\r\n </div>\r\n <div class=\"col-1 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n <div class=\"col-2 d-none d-md-flex align-items-center\">\r\n <p class=\"text-end w-100 m-0\">\r\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\r\n <div class=\"card card-body\">\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\">#</th>\r\n <th scope=\"col\">Estado</th>\r\n <th scope=\"col\">Cantidad</th>\r\n <th scope=\"col\">Fecha Solicitada</th>\r\n <th scope=\"col\">Fecha Estimada</th>\r\n <th scope=\"col\">Sede</th>\r\n <th scope=\"col\">Nota</th>\r\n <th scope=\"col\">Total Lote</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let lot of item.orderItemLot\">\r\n <tr>\r\n <th scope=\"row\">{{lot.id}}</th>\r\n <td>{{lot.lot_status}}</td>\r\n <td>{{lot.quantity}}</td>\r\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\r\n <td *ngIf=\"lot.date_deliver; else sinFechaEstimada\">{{\r\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\r\n <ng-template #sinFechaEstimada>\r\n <td>Pendiente</td>\r\n </ng-template>\r\n <td>{{lot.shipping_address_name}}</td>\r\n <td>{{lot.notes}}</td>\r\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\"></div>\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"row py-4\">\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.items) | ecCurrencySymbol }}\r\n </div>\r\n\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\r\n\r\n </div>\r\n\r\n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\r\n translate }}</div>\r\n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\r\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\r\n\r\n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0 \"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom \">\r\n {{ 'taxes' | translate }}</div>\r\n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0\"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\r\n\r\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\r\n <div class=\"col-6 font-brandon font-md text-end\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</main>\r\n\r\n<ng-template #noOrder>\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #loadingView>\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n</ng-template>",
|
|
159
|
+
template: "<main class=\"py-5\" id=\"orderEcComponent\">\r\n <div class=\"container\">\r\n <div class=\"wrap\" *ngIf=\"!loading; else loadingView\">\r\n <div *ngIf=\"order; else noOrder\">\r\n\r\n <div class=\"row justify-content-between \">\r\n <div class=\"col-sm-auto col-12 font-brandon\">\r\n <h4 class=\"tit1 fw-bold\">{{ ('order' | translate) + ': ' + order.number }}</h4>\r\n </div>\r\n <ng-container *ngIf=\"order?.invoice\">\r\n <div class=\"col-sm col-12 font-brandon\">\r\n <a target=\"_blank\" [href]=\"consts.getUrlBase().slice(0, -1) + order.invoice\"\r\n class=\"btn btn-link btn-invoice\">\r\n <i class=\"fas fa-file-download me-1\"></i>\r\n {{ 'download' | translate }} {{ 'invoices' | translate | titlecase }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <a (click)=\"volver()\" class=\"col-auto text-end\">\r\n <button class=\"btn btvolver bg-gray text-white\">{{ 'back-to-orders' | translate }}</button>\r\n </a>\r\n </div>\r\n\r\n <section id=\"orders\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col-md-2 col-12\">\r\n <p class=\"st\">{{ 'payment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-state' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].state | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'payment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.payments[0]?.method?.name | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'shipment-method' | translate }}:</p>\r\n <p class=\"\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n <a *ngIf=\"order.tracking\" [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver\r\n seguimiento</a>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\">\r\n <p class=\"st\">{{ 'date' | translate }}:</p>\r\n <p class=\"\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-md-2 col-12 font-brandon\" *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n <p class=\"st\">{{ 'total' | translate }}:</p>\r\n <h5 class=\"fw-bold\">\r\n {{ (order.totals.total) | ecCurrencySymbol}}\r\n\r\n </h5>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <div class=\"text-end mt-3\" *ngIf=\"allowRepeatOrders\">\r\n <button class=\"btn btn-primary\" (click)=\"repeatOrder()\">\r\n {{ 'repeat-order' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div class=\"container py-3 border-top border-bottom\">\r\n <div *ngIf=\"order.items.length; else noProducts\" class=\"row\">\r\n <div class=\"col-2 font-sm font-brandon d-none d-md-block\">\r\n {{ 'product' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-4 font-sm font-brandon d-none d-md-block\">\r\n {{ 'description' | translate | uppercase }}\r\n </div>\r\n <div id=\"colLots\" *ngIf=\"ordersService.channelConfig.applyOrderLot\"\r\n class=\"col-1 font-sm font-brandon d-none d-md-block\">\r\n <!-- {{ 'description' | translate | uppercase }} -->\r\n {{ 'lots' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-2 text-center font-sm font-brandon d-none d-md-block\"\r\n *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n {{ 'unit-price' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-1 text-center font-sm font-brandon d-none d-md-block\">\r\n {{ 'quantity' | translate | uppercase }}\r\n </div>\r\n <div class=\"col-2 text-end font-sm font-brandon d-none d-md-block\"\r\n *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n {{ 'total' | translate | uppercase }}\r\n </div>\r\n </div>\r\n <ng-container *ngFor=\"let item of order.items; let i = index\">\r\n <div class=\"row cart-items\">\r\n <div class=\"col-5 col-md-2 py-2\">\r\n <ng-container *ngIf=\"item.product.variants[0]?.images?.length ; else defaultpicture\">\r\n <img class=\"smc maxwidth img-fluid rounded-custom \"\r\n [src]=\"consts.mediaUrl() + item.product.variants[0].images[0]\" alt=\"\">\r\n </ng-container>\r\n <ng-template #defaultpicture>\r\n <img *ngIf=\"item.product.picturesdefault\"\r\n class=\"smc maxwidth img-fluid rounded-custom\"\r\n [src]=\"consts.mediaUrl() + item.product.picturesdefault[0]\" alt=\"\">\r\n </ng-template>\r\n </div>\r\n <div\r\n class=\"col-md-4 col-7 flex-column flex-md-row justify-content-start d-flex align-items-center\">\r\n <p class=\"font-brandon d-flex w-100 mb-0\">\r\n {{ item.product.name }} (Cod:{{ item.product.variants[0].code }})\r\n </p>\r\n </div>\r\n <div class=\"col-md-1 col-1 flex-column flex-md-row justify-content-start d-flex align-items-center\"\r\n *ngIf=\"ordersService.channelConfig.applyOrderLot\">\r\n <input type=\"button\" class=\"btn btn-primary btnSeguir m-0 text-center\" type=\"button\"\r\n [attr.data-bs-toggle]=\"'collapse'\" [attr.data-bs-target]=\"'#collapseExample'+i\"\r\n aria-expanded=\"false\" [attr.aria-controls]=\"'collapseExample'+i\"\r\n value=\"{{ 'see' | translate | uppercase }}\">\r\n </div>\r\n <div class=\"container d-md-none\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ (item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) |\r\n ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"col-4 font-xl\">\r\n <p class=\"text-center w-100 m-0\"> {{ ((item.product.variants[0].saleprice ?\r\n item.product.variants[0].saleprice : item.product.variants[0].price) *\r\n item.quantity) | ecCurrencySymbol}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-2 d-none d-md-flex align-items-center\"\r\n *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n <p class=\"text-center w-100 m-0\">\r\n {{ (item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) | ecCurrencySymbol}}\r\n </p>\r\n </div>\r\n <div class=\"col-1 d-none d-md-flex align-items-center\">\r\n <p class=\"text-center w-100 m-0\"> {{ item.quantity }}</p>\r\n </div>\r\n <div class=\"col-2 d-none d-md-flex align-items-center\"\r\n *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n <p class=\"text-end w-100 m-0\">\r\n {{ ((item.product.variants[0].saleprice ? item.product.variants[0].saleprice :\r\n item.product.variants[0].price) * item.quantity) | ecCurrencySymbol}}</p>\r\n </div>\r\n <div class=\"collapse\" [attr.id]=\"'collapseExample'+i\">\r\n <div class=\"card card-body\">\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\">#</th>\r\n <th scope=\"col\">Estado</th>\r\n <th scope=\"col\">Cantidad</th>\r\n <th scope=\"col\">Fecha Solicitada</th>\r\n <th scope=\"col\">Fecha Estimada</th>\r\n <th scope=\"col\">Sede</th>\r\n <th scope=\"col\">Nota</th>\r\n <th scope=\"col\">Total Lote</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let lot of item.orderItemLot\">\r\n <tr>\r\n <th scope=\"row\">{{lot.id}}</th>\r\n <td>{{lot.lot_status}}</td>\r\n <td>{{lot.quantity}}</td>\r\n <td>{{ toDate(lot.date_request, 'DD/MM/YYYY') | translate }}</td>\r\n <td *ngIf=\"lot.date_deliver; else sinFechaEstimada\">{{\r\n toDate(lot.date_deliver, 'DD/MM/YYYY') | translate }}</td>\r\n <ng-template #sinFechaEstimada>\r\n <td>Pendiente</td>\r\n </ng-template>\r\n <td>{{lot.shipping_address_name}}</td>\r\n <td>{{lot.notes}}</td>\r\n <td>{{lot.total_lot | ecCurrencySymbol}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\"></div>\r\n <div class=\"col-12 col-md-6\" *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n <div class=\"row py-4\">\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'total-products' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.items) | ecCurrencySymbol }}\r\n </div>\r\n\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'shipment' |\r\n translate }}</div>\r\n <div class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.shipping || '0') | ecCurrencySymbol }}\r\n\r\n </div>\r\n\r\n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom \">{{ 'discount' |\r\n translate }}</div>\r\n <div *ngIf=\"order.totals.promotion && order.totals.promotion != 0\"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end text-end\">\r\n {{ (order.totals.promotion) | ecCurrencySymbol }}</div>\r\n\r\n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0 \"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom \">\r\n {{ 'taxes' | translate }}</div>\r\n <div *ngIf=\"order.totals.taxes && order.totals.taxes != 0\"\r\n class=\"col-6 font-brandon font-md text-gray border-bottom text-end\">\r\n {{ (order.totals.taxes) | ecCurrencySymbol }}</div>\r\n\r\n <div class=\"col-6 font-brandon font-md\">{{ 'total' | translate | uppercase }}</div>\r\n <div class=\"col-6 font-brandon font-md text-end\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</main>\r\n\r\n<ng-template #noOrder>\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #loadingView>\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n</ng-template>",
|
|
152
160
|
styles: [".maxwidth{max-width:100px}"]
|
|
153
161
|
})
|
|
154
162
|
], OrderEcComponent);
|
|
155
163
|
return OrderEcComponent;
|
|
156
164
|
}(ComponentHelper));
|
|
157
165
|
export { OrderEcComponent };
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9hY2NvdW50LWVjL29yZGVyLWVjL29yZGVyLWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU9oRjtJQUFzQyxvQ0FBZTtJQWFqRCwwQkFDVyxhQUE0QixFQUN6QixZQUE0QixFQUMvQixNQUFjLEVBQ2QsTUFBaUIsRUFDaEIsV0FBd0IsRUFDeEIsb0JBQTBDO1FBTnRELFlBUUksaUJBQU8sU0FFVjtRQVRVLG1CQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3pCLGtCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUMvQixZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixpQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QiwwQkFBb0IsR0FBcEIsb0JB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QztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFDLFlBQVk7WUFDbEQsS0FBSSxDQUFDLHNCQUFzQixHQUFHLFlBQVksS0FBSyxJQUFJLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQVdELHNDQUFXLEdBQVg7UUFDSSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzRDtJQUNMLENBQUM7O2dCQS9EeUIsYUFBYTtnQkFDWCxjQUFjO2dCQUN2QixNQUFNO2dCQUNOLFNBQVM7Z0JBQ0gsV0FBVztnQkFDRixvQkFBb0I7O0lBWDdDO1FBQVIsS0FBSyxFQUFFO3lEQUFtQjtJQVJsQixnQkFBZ0I7UUFMNUIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGNBQWM7WUFDeEIsOHVoQkFBc0M7O1NBRXpDLENBQUM7T0FDVyxnQkFBZ0IsQ0ErRTVCO0lBQUQsdUJBQUM7Q0FBQSxBQS9FRCxDQUFzQyxlQUFlLEdBK0VwRDtTQS9FWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgT3JkZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FjY291bnQvb3JkZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtb3JkZXItZWMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdvcmRlci1lYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnb3JkZXItZWMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgcHJvdGVjdGVkIG9yZGVyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XHJcblxyXG4gICAgcHVibGljIG9yZGVyJCA9IHRoaXMub3JkZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIG9yZGVyID0gbnVsbFxyXG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgcHVibGljIGVycm9yO1xyXG4gICAgQElucHV0KCkgbnVtYmVyT3JkZXIgPSBudWxsXHJcbiAgICBwdWJsaWMgYWxsb3dSZXBlYXRPcmRlcnMgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93UHJpY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBjcmVkaXRBbW91bnRDb25maWd1cmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIG9yZGVyc1NlcnZpY2U6IE9yZGVyc1NlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHB1YmxpYyBjb25zdHM6IENvbnN0YW50cyxcclxuICAgICAgICBwcml2YXRlIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNoYW5uZWxDb25maWdTZXJ2aWNlOiBDaGFubmVsQ29uZmlnU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5vcmRlcnNTZXJ2aWNlLnNlbGVjdGVkT3JkZXIkLnN1YnNjcmliZShcclxuICAgICAgICAgICAgYXN5bmMgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBvcmRlcjtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm51bWJlck9yZGVyID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlck9yZGVyID0gdGhpcy5hY3RpdmVkUm91dGUuc25hcHNob3QucGFyYW1zLm51bWJlclxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHJlcykgb3JkZXIgPSByZXM7XHJcbiAgICAgICAgICAgICAgICBlbHNlIG9yZGVyID0gYXdhaXQgdGhpcy5vcmRlcnNTZXJ2aWNlLmZpbmRPcmRlcih0aGlzLm51bWJlck9yZGVyKTtcclxuICAgICAgICAgICAgICAgIG9yZGVyICYmIHRoaXMub3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgIW9yZGVyICYmIHRoaXMuY2FsbEVycm9yKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyID0gb3JkZXJcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJzU2VydmljZS5lcnJvciQudG9Qcm9taXNlKCkudGhlbihyZXMgPT4gdGhpcy5lcnJvciA9IHJlcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FsbEVycm9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChjb25maWcpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmFsbG93UmVwZWF0T3JkZXJzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93UmVwZWF0T3JkZXJzID0gY29uZmlnLmFsbG93UmVwZWF0T3JkZXJzO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93UmVwZWF0T3JkZXJzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHJpY2UgPSBzaG93UHJpY2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jcmVkaXRBbW91bnQkLnN1YnNjcmliZSgoY3JlZGl0QW1vdW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlZGl0QW1vdW50Q29uZmlndXJlZCA9IGNyZWRpdEFtb3VudCAhPT0gbnVsbDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVjT25Jbml0KClcclxuICAgIH1cclxuXHJcbiAgICB0b0RhdGUgPSAoZGF0ZSwgZm9ybWF0KSA9PiBtb21lbnQoZGF0ZSkuZm9ybWF0KCFmb3JtYXQgJiYgJ0REL01NL1lZWVksIGg6bW06c3MgYScgfHwgZm9ybWF0KVxyXG5cclxuICAgIGNhbGxFcnJvciA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmVycm9yID0gJz8nO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJ2FjY291bnQvb3JkZXJzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdm9sdmVyID0gKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnYWNjb3VudC9vcmRlcnMnKTtcclxuXHJcbiAgICByZXBlYXRPcmRlcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxvd1JlcGVhdE9yZGVycyAmJiB0aGlzLm9yZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuYWRkUmVwZWF0T3JkZXJUb0NhcnQodGhpcy5vcmRlci5pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSJdfQ==
|
|
@@ -25,15 +25,19 @@ import { ComponentHelper } from '../../../classes/component-helper';
|
|
|
25
25
|
import { Constants } from '../../../core.consts';
|
|
26
26
|
import { OrdersService } from '../../../services/account/orders.service';
|
|
27
27
|
// import { OwlOptions } from 'projects/ng-easycommerce/src/lib/ec-component/product-detail-ec/node_modules/projects/ng-easycommerce/src/lib/ec-component/home-ec/node_modules/ngx-owl-carousel-o';
|
|
28
|
+
import { CartService } from '../../../services/cart.service';
|
|
28
29
|
var OrdersEcComponent = /** @class */ (function (_super) {
|
|
29
30
|
__extends(OrdersEcComponent, _super);
|
|
30
|
-
function OrdersEcComponent(ordersService, router, consts) {
|
|
31
|
+
function OrdersEcComponent(ordersService, router, consts, cartService) {
|
|
31
32
|
var _this = _super.call(this) || this;
|
|
32
33
|
_this.ordersService = ordersService;
|
|
33
34
|
_this.router = router;
|
|
34
35
|
_this.consts = consts;
|
|
36
|
+
_this.cartService = cartService;
|
|
35
37
|
_this.loading = true;
|
|
36
38
|
_this.showImage = true;
|
|
39
|
+
_this.showPrice = false;
|
|
40
|
+
_this.creditAmountConfigured = false;
|
|
37
41
|
/**
|
|
38
42
|
* @description name -> nombre de clave de valuesToSort; asc -> true: ascendente, false: descendente
|
|
39
43
|
*/
|
|
@@ -172,11 +176,18 @@ var OrdersEcComponent = /** @class */ (function (_super) {
|
|
|
172
176
|
_this.error = 'orders-error';
|
|
173
177
|
});
|
|
174
178
|
this.ecOnInit();
|
|
179
|
+
this.cartService.showPrice$.subscribe(function (showPrice) {
|
|
180
|
+
_this.showPrice = showPrice;
|
|
181
|
+
});
|
|
182
|
+
this.cartService.creditAmount$.subscribe(function (creditAmount) {
|
|
183
|
+
_this.creditAmountConfigured = creditAmount !== null;
|
|
184
|
+
});
|
|
175
185
|
};
|
|
176
186
|
OrdersEcComponent.ctorParameters = function () { return [
|
|
177
187
|
{ type: OrdersService },
|
|
178
188
|
{ type: Router },
|
|
179
|
-
{ type: Constants }
|
|
189
|
+
{ type: Constants },
|
|
190
|
+
{ type: CartService }
|
|
180
191
|
]; };
|
|
181
192
|
__decorate([
|
|
182
193
|
Input()
|
|
@@ -184,11 +195,11 @@ var OrdersEcComponent = /** @class */ (function (_super) {
|
|
|
184
195
|
OrdersEcComponent = __decorate([
|
|
185
196
|
Component({
|
|
186
197
|
selector: 'app-orders-ec',
|
|
187
|
-
template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\r\n <section id=\"orders\" class=\"w-100\" *ngIf=\"!loading; else loadingView\">\r\n <div *ngIf=\"orders && orders.length; else noOrders\">\r\n <div class=\"row mb-1 border-bottom\">\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12 \">\r\n <p
|
|
198
|
+
template: "<div class=\"container-fluid\" id=\"ordersEcComponent\">\r\n <section id=\"orders\" class=\"w-100\" *ngIf=\"!loading; else loadingView\">\r\n <div *ngIf=\"orders && orders.length; else noOrders\">\r\n <div class=\"row mb-1 border-bottom\">\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'number' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('number')\">{{ 'order' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'paymentState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('paymentState')\">{{ 'payment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'method' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('method')\">{{ 'shipment-method' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12 \">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'methodState' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('methodState')\">\r\n {{ 'shipment-state' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'date' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('date')\">{{ 'date' | translate }}:</p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p [class]=\"'st dropdown-toggle cursor-pointer my-2 '+ (currentSort.name == 'total' ? 'applied ' + (!currentSort.asc ? 'asc' : 'desc') : '')\"\r\n (click)=\"sortOrders('total')\">{{ 'total' | translate }}:</p>\r\n </div>\r\n </div>\r\n <div class=\"row item border-bottom py-2\" *ngFor=\"let order of orders\">\r\n <div class=\"col-lg-2 col-12\">\r\n <h5 class=\"fw-bold\">\r\n {{ order.number }}\r\n </h5>\r\n <!-- <ng-container *ngIf=\"showImage\">\r\n <ng-container *ngIf=\"order.items[0].product.variants[0]?.images?.length ; else defaultpicture\">\r\n <img class=\"smc maxwidth\" [src]=\"mediaUrl + order.items[0].product.variants[0].images[0]\" alt=\"\">\r\n </ng-container>\r\n <ng-template #defaultpicture>\r\n <img *ngIf=\"order.items[0].product.picturesdefault\" class=\"smc maxwidth\"\r\n [src]=\"mediaUrl + order.items[0].product.picturesdefault[0]\" alt=\"\">\r\n </ng-template>\r\n </ng-container> -->\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\" *ngIf=\"order.payments && order.payments.length > 0\">\r\n {{ order.payments[0].state | translate | titlecase }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n\r\n <p class=\"price\">\r\n {{ order.shipments[0].method.name }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ order.shipments[0].state | translate | titlecase }}\r\n </p>\r\n <!-- ACA DEBERIA IR EL LINK DE SEGUIMIENTO -->\r\n <!-- <button class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</button> -->\r\n <a *ngIf=\"order.tracking\" [href]=\"order.tracking\"\r\n class=\"btn btn-outline-dark btnLogout px-3 py-1 font-size-10 w-auto btn-sm\">Ver seguimiento</a>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <p class=\"price\">\r\n {{ toDate(order.checkoutCompletedAt, 'DD/MM/YYYY') | translate }}<br>\r\n {{ toDate(order.checkoutCompletedAt, 'h:mm:ss a') | translate }}\r\n </p>\r\n </div>\r\n <div class=\"col-lg-2 col-12\">\r\n <h5 class=\"fw-bold text-nowrap\" *ngIf=\"(creditAmountConfigured ? showPrice : true)\">\r\n {{ (order.totals.total) | ecCurrencySymbol }}\r\n </h5>\r\n <button class=\"btn px-0 w-100 btdetalle\" (click)=\"goToOrder(order)\">{{\r\n 'see-order' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</div>\r\n\r\n<ng-template #noOrders>\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h5>{{ 'no-orders' | translate }}</h5>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #errorView>\r\n <div class=\"w-100 h-50\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <h4>{{ 'orders-error' | translate }}</h4>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #loadingView>\r\n <div class=\"w-100 h-50 py-5\">\r\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\r\n <app-loading-full-ec></app-loading-full-ec>\r\n </div>\r\n </div>\r\n</ng-template>",
|
|
188
199
|
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}"]
|
|
189
200
|
})
|
|
190
201
|
], OrdersEcComponent);
|
|
191
202
|
return OrdersEcComponent;
|
|
192
203
|
}(ComponentHelper));
|
|
193
204
|
export { OrdersEcComponent };
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLWxpc3QtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9hY2NvdW50LWVjL29yZGVycy1saXN0LWVjL29yZGVycy1saXN0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxtTUFBbU07QUFPbk07SUFBdUMscUNBQWU7SUF5QmxELDJCQUFtQixhQUE0QixFQUFTLE1BQWMsRUFBWSxNQUFpQjtRQUFuRyxZQUNJLGlCQUFPLFNBR1Y7UUFKa0IsbUJBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVksWUFBTSxHQUFOLE1BQU0sQ0FBVztRQXJCNUYsYUFBTyxHQUFHLElBQUksQ0FBQztRQUdiLGVBQVMsR0FBVyxJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDSSxpQkFBVyxHQUFPLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUMsSUFBSSxFQUFDLENBQUE7UUFDNUM7O1dBRUc7UUFDSSxrQkFBWSxHQUFPO1lBQ3RCLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLFFBQVEs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S0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFBOztJQUN4QixDQUFDO0lBRUQsb0NBQVEsR0FBUjtRQUFBLGlCQWVDO1FBZEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQUEsRUFBRSxJQUFJLE9BQUEsRUFBRSxFQUFGLENBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RCxVQUFBLE1BQU07WUFDRixLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDeEIsQ0FBQyxFQUNELFVBQUEsR0FBRztZQUNDLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBQ3BCLEtBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLENBQUMsQ0FDSixDQUFBO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBRW5CLENBQUM7O2dCQXJCaUMsYUFBYTtnQkFBaUIsTUFBTTtnQkFBb0IsU0FBUzs7SUFsQjFGO1FBQVIsS0FBSyxFQUFFO3dEQUEwQjtJQVB6QixpQkFBaUI7UUFMN0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGVBQWU7WUFDekIsa2hNQUE0Qzs7U0FFL0MsQ0FBQztPQUNXLGlCQUFpQixDQTZLN0I7SUFBRCx3QkFBQztDQUFBLEFBN0tELENBQXVDLGVBQWUsR0E2S3JEO1NBN0tZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XHJcbmltcG9ydCB7IE9yZGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hY2NvdW50L29yZGVycy5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgT3dsT3B0aW9ucyB9IGZyb20gJ3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS9zcmMvbGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9ub2RlX21vZHVsZXMvcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlL3NyYy9saWIvZWMtY29tcG9uZW50L2hvbWUtZWMvbm9kZV9tb2R1bGVzL25neC1vd2wtY2Fyb3VzZWwtbyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLW9yZGVycy1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ29yZGVycy1saXN0LWVjLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydvcmRlcnMtbGlzdC1lYy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlcnNFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgcHVibGljIG1lZGlhVXJsO1xyXG4gICAgcHVibGljIG9yZGVycztcclxuICAgIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBlcnJvcjtcclxuICAgIHB1YmxpYyBzb3J0VmFsdWU6YW55O1xyXG4gICAgQElucHV0KCkgc2hvd0ltYWdlOmJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIG5hbWUgLT4gbm9tYnJlIGRlIGNsYXZlIGRlIHZhbHVlc1RvU29ydDsgYXNjIC0+IHRydWU6IGFzY2VuZGVudGUsIGZhbHNlOiBkZXNjZW5kZW50ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY3VycmVudFNvcnQ6YW55ID0ge25hbWU6JycsIGFzYzp0cnVlfVxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gdHJ1ZSAtPiBvcmRlbmEgZGUgZm9ybWEgYXNjZW5kZW50ZSB8IGZhbHNlIC0+IG9yZGVuYSBkZSBmb3JtYSBkZWNyZWNpZW50ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdmFsdWVzVG9Tb3J0OiBhbnk9IHtcclxuICAgICAgICBudW1iZXI6IHthc2M6dHJ1ZSwgYXR0cmlidXRlOidudW1iZXInfSxcclxuICAgICAgICBwYXltZW50U3RhdGU6ICB7YXNjOnRydWUsIGF0dHJpYnV0ZTonc3RhdGUnfSxcclxuICAgICAgICBtZXRob2Q6ICB7YXNjOnRydWUsIGF0dHJpYnV0ZTonbWV0aG9kJywgc3ViQXR0cmlidXRlOiduYW1lJ30sXHJcbiAgICAgICAgbWV0aG9kU3RhdGU6ICB7YXNjOnRydWUsIGF0dHJpYnV0ZTonc3RhdGUnfSxcclxuICAgICAgICBkYXRlOiB7YXNjOnRydWUsIGF0dHJpYnV0ZTonY2hlY2tvdXRDb21wbGV0ZWRBdCd9LFxyXG4gICAgICAgIHRvdGFsOiB7YXNjOnRydWUsIGF0dHJpYnV0ZTondG90YWwnfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgb3JkZXJzU2VydmljZTogT3JkZXJzU2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgY29uc3RzOiBDb25zdGFudHMpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMubWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpO1xyXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9yZGVyc1NlcnZpY2UudXBkYXRlT3JkZXJzKCk7XHJcbiAgICAgICAgdGhpcy5vcmRlcnNTZXJ2aWNlLm9yZGVycyQucGlwZShmaWx0ZXIob3IgPT4gb3IpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIG9yZGVycyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVycyA9IHRoaXMuc29ydGVkQnlOZXdlc3Qob3JkZXJzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvciA9ICdvcmRlcnMtZXJyb3InO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBzb3J0ZWRCeU5ld2VzdCA9IG9yZGVycyA9PiBvcmRlcnMgJiYgb3JkZXJzLmxlbmd0aCAmJiBvcmRlcnMuc29ydCgoYW5PcmRlciwgb3RoZXJPcmRlcikgPT4gYW5PcmRlci5udW1iZXIgPiBvdGhlck9yZGVyLm51bWJlciA/IC0xIDogMSlcclxuXHJcbiAgICBnb1RvT3JkZXIgPSAob3JkZXIpID0+IHtcclxuICAgICAgICB0aGlzLm9yZGVyc1NlcnZpY2Uuc2V0U2VsZWN0ZWRPcmRlcihvcmRlcik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgoYGFjY291bnQvb3JkZXJzLyR7b3JkZXIubnVtYmVyfWApKVxyXG4gICAgfVxyXG5cclxuICAgIHRvRGF0ZSA9IChkYXRlLCBmb3JtYXQpID0+IG1vbWVudChkYXRlKS5mb3JtYXQoIWZvcm1hdCAmJiAnREQvTU0vWVlZWSwgaDptbTpzcyBhJyB8fCBmb3JtYXQpXHJcblxyXG4gICAgb3B0aW9uc0JveCA9IHtcclxuICAgICAgICBsb29wOiB0cnVlLFxyXG4gICAgICAgIGF1dG9wbGF5OiB0cnVlLFxyXG4gICAgICAgIHNtYXJ0U3BlZWQ6IDk1MCxcclxuICAgICAgICBtYXJnaW46IDEwLFxyXG4gICAgICAgIGRvdHM6IGZhbHNlLFxyXG4gICAgICAgIGRvdHNEYXRhOiBmYWxzZSxcclxuICAgICAgICBuYXZUZXh0OiBbXCJcIiwgXCJcIl0sXHJcbiAgICAgICAgcmVzcG9uc2l2ZToge1xyXG4gICAgICAgICAgICAwOiB7XHJcbiAgICAgICAgICAgICAgICBpdGVtczogMSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgNjAwOiB7XHJcbiAgICAgICAgICAgICAgICBpdGVtczogMSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgMTAwMDoge1xyXG4gICAgICAgICAgICAgICAgaXRlbXM6IDEsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIE9yZGVuYSBsYSBsaXN0YSBkZSBvcmRlbmVzXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgcmVjaWJlIHVuYSB2YWxvciBxdWUgZGViZSBjb2luY2lkaXIgY29uIGxhcyBjbGF2ZXMgZGUgbGEgdmFyaWFibGUgdmFsdWVzVG9Tb3J0XHJcbiAgICAgKi9cclxuICAgIHNvcnRPcmRlcnMgPSB2YWx1ZSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMuc29ydFZhbHVlID0gdmFsdWVcclxuXHJcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50U29ydCh0aGlzLnNvcnRWYWx1ZSwgdGhpcy52YWx1ZXNUb1NvcnRbdGhpcy5zb3J0VmFsdWVdLmFzYylcclxuXHJcbiAgICAgICAgY29uc3QgY29tcGFyYXRvciA9XHJcbiAgICAgICAgICAgICh0aGlzLnZhbHVlc1RvU29ydFt0aGlzLnNvcnRWYWx1ZV0uYXNjKVxyXG4gICAgICAgICAgICAgICAgPyBbLTEsIDFdXHJcbiAgICAgICAgICAgICAgICA6IFsxLCAtMV1cclxuICAgICAgICB0aGlzLnZhbHVlc1RvU29ydFt0aGlzLnNvcnRWYWx1ZV0uYXNjID0gIXRoaXMudmFsdWVzVG9Tb3J0W3RoaXMuc29ydFZhbHVlXS5hc2NcclxuXHJcbiAgICAgICAgbGV0IHR5cGVWYWx1ZVxyXG4gICAgICAgIGlmKHRoaXMub3JkZXJzLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICB0eXBlVmFsdWUgPSB0eXBlb2YodGhpcy5vcmRlcnNbMF0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBzb3J0RnVuY3Rpb24gPSB0aGlzLmdldFNvcnRGdW5jdGlvbih0aGlzLnNvcnRWYWx1ZSlcclxuXHJcbiAgICAgICAgdGhpcy5vcmRlcnMgPVxyXG4gICAgICAgICAgICB0aGlzLnNvcnRWYWx1ZVxyXG4gICAgICAgICAgICAgICAgPyB0aGlzLm9yZGVycy5zb3J0KCAoYU9yZGVycyxvdGhlck9yZGVycykgPT4gc29ydEZ1bmN0aW9uKGFPcmRlcnMsb3RoZXJPcmRlcnMsdGhpcy52YWx1ZXNUb1NvcnRbdGhpcy5zb3J0VmFsdWVdLGNvbXBhcmF0b3IpKVxyXG4gICAgICAgICAgICAgICAgOiB0aGlzLm9yZGVyc1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIHJldG9ybmEgbGEgZnVuY2lvbiBxdWUgc2UgZGViZSB1dGlsaXphciBwYXJhIGVsIHNvcnQgZGVsIGFycmVnbG9cclxuICAgICAqIEBwYXJhbSB2YWx1ZSBwYXJhbWV0cm8gcXVlIGluZGljYSBlbCB0aXBvIGRlIGZ1bmNpb24gcXVlIGRlYmUgcmV0b3JuYXJcclxuICAgICAqIEByZXR1cm5zIGZ1bmNpb24gcGFyYSB1dGlsaXphciBlbiBsYSBidXNxdWVkYVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldFNvcnRGdW5jdGlvbiA9ICh2YWx1ZSk6RnVuY3Rpb24gPT4ge1xyXG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcclxuICAgICAgICAgICAgY2FzZSAncGF5bWVudFN0YXRlJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRQYXltZW50U3RhdGVcclxuICAgICAgICAgICAgY2FzZSAnbWV0aG9kJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRTaGlwbWVudHNcclxuICAgICAgICAgICAgY2FzZSAnbWV0aG9kU3RhdGUnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFNoaXBtZW50c1xyXG4gICAgICAgICAgICBjYXNlICd0b3RhbCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb3J0TnVtYmVyXHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb3J0VGV4dFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBGdW5jaW9uZXMgcGFyYSBvcmRlcm5hciAqL1xyXG4gICAgcHJpdmF0ZSBzb3J0UGF5bWVudFN0YXRlID0gKGFPcmRlcnMsIG90aGVyT3JkZXJzLCBkYXRhLCBjb21wYXJhdG9yKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChhT3JkZXJzLnBheW1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSA9PSBvdGhlck9yZGVycy5wYXltZW50c1swXVtkYXRhLmF0dHJpYnV0ZV0pXHJcbiAgICAgICAgICAgID8gdGhpcy50aWVCcmVha2VyKGFPcmRlcnMsIG90aGVyT3JkZXJzLCBjb21wYXJhdG9yKVxyXG4gICAgICAgICAgICA6IFN0cmluZyhhT3JkZXJzLnBheW1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA8IFN0cmluZyhvdGhlck9yZGVycy5wYXltZW50c1swXVtkYXRhLmF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc29ydFNoaXBtZW50cyA9IChhT3JkZXJzLCBvdGhlck9yZGVycywgZGF0YSwgY29tcGFyYXRvcikgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLnN1YkF0dHJpYnV0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gKGFPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXVtkYXRhLnN1YkF0dHJpYnV0ZV0gPT0gb3RoZXJPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXVtkYXRhLnN1YkF0dHJpYnV0ZV0pXHJcbiAgICAgICAgICAgICAgICA/IHRoaXMudGllQnJlYWtlcihhT3JkZXJzLCBvdGhlck9yZGVycywgY29tcGFyYXRvcilcclxuICAgICAgICAgICAgICAgIDogU3RyaW5nKGFPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXVtkYXRhLnN1YkF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPCBTdHJpbmcob3RoZXJPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXVtkYXRhLnN1YkF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIChhT3JkZXJzLnNoaXBtZW50c1swXVtkYXRhLmF0dHJpYnV0ZV0gPT0gb3RoZXJPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSlcclxuICAgICAgICAgICAgICAgID8gdGhpcy50aWVCcmVha2VyKGFPcmRlcnMsIG90aGVyT3JkZXJzLCBjb21wYXJhdG9yKVxyXG4gICAgICAgICAgICAgICAgOiBTdHJpbmcoYU9yZGVycy5zaGlwbWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdKS50b0xvd2VyQ2FzZSgpIDwgU3RyaW5nKG90aGVyT3JkZXJzLnNoaXBtZW50c1swXVtkYXRhLmF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNvcnROdW1iZXIgPSAoYU9yZGVycywgb3RoZXJPcmRlcnMsIGRhdGEsIGNvbXBhcmF0b3IpID0+IGFPcmRlcnNbZGF0YS5hdHRyaWJ1dGVdIDwgb3RoZXJPcmRlcnNbZGF0YS5hdHRyaWJ1dGVdID8gY29tcGFyYXRvclswXSA6IGNvbXBhcmF0b3JbMV1cclxuXHJcbiAgICBwcml2YXRlIHNvcnRUZXh0ID0gKGFPcmRlcnMsIG90aGVyT3JkZXJzLCBkYXRhLCBjb21wYXJhdG9yKSA9PiB7XHJcbiAgICAgICByZXR1cm4gKGFPcmRlcnNbZGF0YS5hdHRyaWJ1dGVdID09IG90aGVyT3JkZXJzW2RhdGEuYXR0cmlidXRlXSlcclxuICAgICAgICAgICAgPyBhT3JkZXJzLm51bWJlci50b0xvd2VyQ2FzZSgpIDwgb3RoZXJPcmRlcnMubnVtYmVyLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgICAgICAgICA6IFN0cmluZyhhT3JkZXJzW2RhdGEuYXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA8IFN0cmluZyhvdGhlck9yZGVyc1tkYXRhLmF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBmdW5jaW9uIHV0aWxpemFkYSBwYXJhIGRlc2VtcGF0ZS5cclxuICAgICAqIEBwYXJhbSBhT3JkZXJzXHJcbiAgICAgKiBAcGFyYW0gb3RoZXJPcmRlcnNcclxuICAgICAqIEBwYXJhbSBjb21wYXJhdG9yXHJcbiAgICAgKiBAcmV0dXJuc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRpZUJyZWFrZXIgPSAoYU9yZGVycywgb3RoZXJPcmRlcnMsIGNvbXBhcmF0b3IpID0+IGFPcmRlcnMubnVtYmVyLnRvTG93ZXJDYXNlKCkgPCBvdGhlck9yZGVycy5udW1iZXIudG9Mb3dlckNhc2UoKSA/IGNvbXBhcmF0b3JbMF0gOiBjb21wYXJhdG9yWzFdXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gY2FtYmlhIGxvcyB2YWxvcmVzIGRlIGxhIHZhcmlhYmxlIGN1cnJlbnRTb3J0XHJcbiAgICAgKiBAcGFyYW0gbmFtZVxyXG4gICAgICogQHBhcmFtIGFzY1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldEN1cnJlbnRTb3J0ID0gKG5hbWU6c3RyaW5nLCBhc2M6Ym9vbGVhbikgPT4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U29ydC5hc2MgPSBhc2NcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLWxpc3QtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9hY2NvdW50LWVjL29yZGVycy1saXN0LWVjL29yZGVycy1saXN0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxtTUFBbU07QUFDbk0sT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTzdEO0lBQXVDLHFDQUFlO0lBMkJsRCwyQkFBbUIsYUFBNEIsRUFBUyxNQUFjLEVBQVksTUFBaUIsRUFBVSxXQUF3QjtRQUFySSxZQUNJLGlCQUFPLFNBR1Y7UUFKa0IsbUJBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVksWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBdkI5SCxhQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2IsZUFBUyxHQUFZLElBQUksQ0FBQztRQUM1QixlQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLDRCQUFzQixHQUFZLEtBQUssQ0FBQztRQUUvQzs7V0FFRztRQUNJLGlCQUFXLEdBQVEs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QUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQzFNO2lCQUNJO2dCQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDckYsQ0FBQyxDQUFDLEtBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7b0JBQ25ELENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDcEs7UUFDTCxDQUFDLENBQUE7UUFFTyxnQkFBVSxHQUFHLFVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxJQUFLLE9BQUEsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FB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QyxhQUFhO2dCQUFpQixNQUFNO2dCQUFvQixTQUFTO2dCQUF1QixXQUFXOztJQXBCNUg7UUFBUixLQUFLLEVBQUU7d0RBQTJCO0lBUDFCLGlCQUFpQjtRQUw3QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUN6Qixta01BQTRDOztTQUUvQyxDQUFDO09BQ1csaUJBQWlCLENBb0w3QjtJQUFELHdCQUFDO0NBQUEsQUFwTEQsQ0FBdUMsZUFBZSxHQW9MckQ7U0FwTFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgT3JkZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FjY291bnQvb3JkZXJzLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBPd2xPcHRpb25zIH0gZnJvbSAncHJvamVjdHMvbmctZWFzeWNvbW1lcmNlL3NyYy9saWIvZWMtY29tcG9uZW50L3Byb2R1Y3QtZGV0YWlsLWVjL25vZGVfbW9kdWxlcy9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2Uvc3JjL2xpYi9lYy1jb21wb25lbnQvaG9tZS1lYy9ub2RlX21vZHVsZXMvbmd4LW93bC1jYXJvdXNlbC1vJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1vcmRlcnMtZWMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdvcmRlcnMtbGlzdC1lYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnb3JkZXJzLWxpc3QtZWMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJzRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIHB1YmxpYyBtZWRpYVVybDtcclxuICAgIHB1YmxpYyBvcmRlcnM7XHJcbiAgICBwdWJsaWMgbG9hZGluZyA9IHRydWU7XHJcbiAgICBwdWJsaWMgZXJyb3I7XHJcbiAgICBwdWJsaWMgc29ydFZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzaG93SW1hZ2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHVibGljIHNob3dQcmljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNyZWRpdEFtb3VudENvbmZpZ3VyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBuYW1lIC0+IG5vbWJyZSBkZSBjbGF2ZSBkZSB2YWx1ZXNUb1NvcnQ7IGFzYyAtPiB0cnVlOiBhc2NlbmRlbnRlLCBmYWxzZTogZGVzY2VuZGVudGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGN1cnJlbnRTb3J0OiBhbnkgPSB7IG5hbWU6ICcnLCBhc2M6IHRydWUgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gdHJ1ZSAtPiBvcmRlbmEgZGUgZm9ybWEgYXNjZW5kZW50ZSB8IGZhbHNlIC0+IG9yZGVuYSBkZSBmb3JtYSBkZWNyZWNpZW50ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdmFsdWVzVG9Tb3J0OiBhbnkgPSB7XHJcbiAgICAgICAgbnVtYmVyOiB7IGFzYzogdHJ1ZSwgYXR0cmlidXRlOiAnbnVtYmVyJyB9LFxyXG4gICAgICAgIHBheW1lbnRTdGF0ZTogeyBhc2M6IHRydWUsIGF0dHJpYnV0ZTogJ3N0YXRlJyB9LFxyXG4gICAgICAgIG1ldGhvZDogeyBhc2M6IHRydWUsIGF0dHJpYnV0ZTogJ21ldGhvZCcsIHN1YkF0dHJpYnV0ZTogJ25hbWUnIH0sXHJcbiAgICAgICAgbWV0aG9kU3RhdGU6IHsgYXNjOiB0cnVlLCBhdHRyaWJ1dGU6ICdzdGF0ZScgfSxcclxuICAgICAgICBkYXRlOiB7IGFzYzogdHJ1ZSwgYXR0cmlidXRlOiAnY2hlY2tvdXRDb21wbGV0ZWRBdCcgfSxcclxuICAgICAgICB0b3RhbDogeyBhc2M6IHRydWUsIGF0dHJpYnV0ZTogJ3RvdGFsJyB9XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBvcmRlcnNTZXJ2aWNlOiBPcmRlcnNTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByb3RlY3RlZCBjb25zdHM6IENvbnN0YW50cywgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMubWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpO1xyXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9yZGVyc1NlcnZpY2UudXBkYXRlT3JkZXJzKCk7XHJcbiAgICAgICAgdGhpcy5vcmRlcnNTZXJ2aWNlLm9yZGVycyQucGlwZShmaWx0ZXIob3IgPT4gb3IpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIG9yZGVycyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVycyA9IHRoaXMuc29ydGVkQnlOZXdlc3Qob3JkZXJzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvciA9ICdvcmRlcnMtZXJyb3InO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxyXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dQcmljZSA9IHNob3dQcmljZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNyZWRpdEFtb3VudCQuc3Vic2NyaWJlKChjcmVkaXRBbW91bnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jcmVkaXRBbW91bnRDb25maWd1cmVkID0gY3JlZGl0QW1vdW50ICE9PSBudWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnRlZEJ5TmV3ZXN0ID0gb3JkZXJzID0+IG9yZGVycyAmJiBvcmRlcnMubGVuZ3RoICYmIG9yZGVycy5zb3J0KChhbk9yZGVyLCBvdGhlck9yZGVyKSA9PiBhbk9yZGVyLm51bWJlciA+IG90aGVyT3JkZXIubnVtYmVyID8gLTEgOiAxKVxyXG5cclxuICAgIGdvVG9PcmRlciA9IChvcmRlcikgPT4ge1xyXG4gICAgICAgIHRoaXMub3JkZXJzU2VydmljZS5zZXRTZWxlY3RlZE9yZGVyKG9yZGVyKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKChgYWNjb3VudC9vcmRlcnMvJHtvcmRlci5udW1iZXJ9YCkpXHJcbiAgICB9XHJcblxyXG4gICAgdG9EYXRlID0gKGRhdGUsIGZvcm1hdCkgPT4gbW9tZW50KGRhdGUpLmZvcm1hdCghZm9ybWF0ICYmICdERC9NTS9ZWVlZLCBoOm1tOnNzIGEnIHx8IGZvcm1hdClcclxuXHJcbiAgICBvcHRpb25zQm94ID0ge1xyXG4gICAgICAgIGxvb3A6IHRydWUsXHJcbiAgICAgICAgYXV0b3BsYXk6IHRydWUsXHJcbiAgICAgICAgc21hcnRTcGVlZDogOTUwLFxyXG4gICAgICAgIG1hcmdpbjogMTAsXHJcbiAgICAgICAgZG90czogZmFsc2UsXHJcbiAgICAgICAgZG90c0RhdGE6IGZhbHNlLFxyXG4gICAgICAgIG5hdlRleHQ6IFtcIlwiLCBcIlwiXSxcclxuICAgICAgICByZXNwb25zaXZlOiB7XHJcbiAgICAgICAgICAgIDA6IHtcclxuICAgICAgICAgICAgICAgIGl0ZW1zOiAxLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICA2MDA6IHtcclxuICAgICAgICAgICAgICAgIGl0ZW1zOiAxLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAxMDAwOiB7XHJcbiAgICAgICAgICAgICAgICBpdGVtczogMSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogQGRlc2NyaXB0aW9uIE9yZGVuYSBsYSBsaXN0YSBkZSBvcmRlbmVzXHJcbiAgICAqIEBwYXJhbSB2YWx1ZSByZWNpYmUgdW5hIHZhbG9yIHF1ZSBkZWJlIGNvaW5jaWRpciBjb24gbGFzIGNsYXZlcyBkZSBsYSB2YXJpYWJsZSB2YWx1ZXNUb1NvcnRcclxuICAgICovXHJcbiAgICBzb3J0T3JkZXJzID0gdmFsdWUgPT4ge1xyXG5cclxuICAgICAgICB0aGlzLnNvcnRWYWx1ZSA9IHZhbHVlXHJcblxyXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFNvcnQodGhpcy5zb3J0VmFsdWUsIHRoaXMudmFsdWVzVG9Tb3J0W3RoaXMuc29ydFZhbHVlXS5hc2MpXHJcblxyXG4gICAgICAgIGNvbnN0IGNvbXBhcmF0b3IgPVxyXG4gICAgICAgICAgICAodGhpcy52YWx1ZXNUb1NvcnRbdGhpcy5zb3J0VmFsdWVdLmFzYylcclxuICAgICAgICAgICAgICAgID8gWy0xLCAxXVxyXG4gICAgICAgICAgICAgICAgOiBbMSwgLTFdXHJcbiAgICAgICAgdGhpcy52YWx1ZXNUb1NvcnRbdGhpcy5zb3J0VmFsdWVdLmFzYyA9ICF0aGlzLnZhbHVlc1RvU29ydFt0aGlzLnNvcnRWYWx1ZV0uYXNjXHJcblxyXG4gICAgICAgIGxldCB0eXBlVmFsdWVcclxuICAgICAgICBpZiAodGhpcy5vcmRlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0eXBlVmFsdWUgPSB0eXBlb2YgKHRoaXMub3JkZXJzWzBdKVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc29ydEZ1bmN0aW9uID0gdGhpcy5nZXRTb3J0RnVuY3Rpb24odGhpcy5zb3J0VmFsdWUpXHJcblxyXG4gICAgICAgIHRoaXMub3JkZXJzID1cclxuICAgICAgICAgICAgdGhpcy5zb3J0VmFsdWVcclxuICAgICAgICAgICAgICAgID8gdGhpcy5vcmRlcnMuc29ydCgoYU9yZGVycywgb3RoZXJPcmRlcnMpID0+IHNvcnRGdW5jdGlvbihhT3JkZXJzLCBvdGhlck9yZGVycywgdGhpcy52YWx1ZXNUb1NvcnRbdGhpcy5zb3J0VmFsdWVdLCBjb21wYXJhdG9yKSlcclxuICAgICAgICAgICAgICAgIDogdGhpcy5vcmRlcnNcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiByZXRvcm5hIGxhIGZ1bmNpb24gcXVlIHNlIGRlYmUgdXRpbGl6YXIgcGFyYSBlbCBzb3J0IGRlbCBhcnJlZ2xvXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgcGFyYW1ldHJvIHF1ZSBpbmRpY2EgZWwgdGlwbyBkZSBmdW5jaW9uIHF1ZSBkZWJlIHJldG9ybmFyXHJcbiAgICAgKiBAcmV0dXJucyBmdW5jaW9uIHBhcmEgdXRpbGl6YXIgZW4gbGEgYnVzcXVlZGFcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRTb3J0RnVuY3Rpb24gPSAodmFsdWUpOiBGdW5jdGlvbiA9PiB7XHJcbiAgICAgICAgc3dpdGNoICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBjYXNlICdwYXltZW50U3RhdGUnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFBheW1lbnRTdGF0ZVxyXG4gICAgICAgICAgICBjYXNlICdtZXRob2QnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFNoaXBtZW50c1xyXG4gICAgICAgICAgICBjYXNlICdtZXRob2RTdGF0ZSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb3J0U2hpcG1lbnRzXHJcbiAgICAgICAgICAgIGNhc2UgJ3RvdGFsJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnROdW1iZXJcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRUZXh0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEZ1bmNpb25lcyBwYXJhIG9yZGVybmFyICovXHJcbiAgICBwcml2YXRlIHNvcnRQYXltZW50U3RhdGUgPSAoYU9yZGVycywgb3RoZXJPcmRlcnMsIGRhdGEsIGNvbXBhcmF0b3IpID0+IHtcclxuICAgICAgICByZXR1cm4gKGFPcmRlcnMucGF5bWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdID09IG90aGVyT3JkZXJzLnBheW1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSlcclxuICAgICAgICAgICAgPyB0aGlzLnRpZUJyZWFrZXIoYU9yZGVycywgb3RoZXJPcmRlcnMsIGNvbXBhcmF0b3IpXHJcbiAgICAgICAgICAgIDogU3RyaW5nKGFPcmRlcnMucGF5bWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdKS50b0xvd2VyQ2FzZSgpIDwgU3RyaW5nKG90aGVyT3JkZXJzLnBheW1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA/IGNvbXBhcmF0b3JbMF0gOiBjb21wYXJhdG9yWzFdXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzb3J0U2hpcG1lbnRzID0gKGFPcmRlcnMsIG90aGVyT3JkZXJzLCBkYXRhLCBjb21wYXJhdG9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEuc3ViQXR0cmlidXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoYU9yZGVycy5zaGlwbWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdW2RhdGEuc3ViQXR0cmlidXRlXSA9PSBvdGhlck9yZGVycy5zaGlwbWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdW2RhdGEuc3ViQXR0cmlidXRlXSlcclxuICAgICAgICAgICAgICAgID8gdGhpcy50aWVCcmVha2VyKGFPcmRlcnMsIG90aGVyT3JkZXJzLCBjb21wYXJhdG9yKVxyXG4gICAgICAgICAgICAgICAgOiBTdHJpbmcoYU9yZGVycy5zaGlwbWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdW2RhdGEuc3ViQXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA8IFN0cmluZyhvdGhlck9yZGVycy5zaGlwbWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdW2RhdGEuc3ViQXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA/IGNvbXBhcmF0b3JbMF0gOiBjb21wYXJhdG9yWzFdXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gKGFPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSA9PSBvdGhlck9yZGVycy5zaGlwbWVudHNbMF1bZGF0YS5hdHRyaWJ1dGVdKVxyXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRpZUJyZWFrZXIoYU9yZGVycywgb3RoZXJPcmRlcnMsIGNvbXBhcmF0b3IpXHJcbiAgICAgICAgICAgICAgICA6IFN0cmluZyhhT3JkZXJzLnNoaXBtZW50c1swXVtkYXRhLmF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPCBTdHJpbmcob3RoZXJPcmRlcnMuc2hpcG1lbnRzWzBdW2RhdGEuYXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA/IGNvbXBhcmF0b3JbMF0gOiBjb21wYXJhdG9yWzFdXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc29ydE51bWJlciA9IChhT3JkZXJzLCBvdGhlck9yZGVycywgZGF0YSwgY29tcGFyYXRvcikgPT4gYU9yZGVyc1tkYXRhLmF0dHJpYnV0ZV0gPCBvdGhlck9yZGVyc1tkYXRhLmF0dHJpYnV0ZV0gPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG5cclxuICAgIHByaXZhdGUgc29ydFRleHQgPSAoYU9yZGVycywgb3RoZXJPcmRlcnMsIGRhdGEsIGNvbXBhcmF0b3IpID0+IHtcclxuICAgICAgICByZXR1cm4gKGFPcmRlcnNbZGF0YS5hdHRyaWJ1dGVdID09IG90aGVyT3JkZXJzW2RhdGEuYXR0cmlidXRlXSlcclxuICAgICAgICAgICAgPyBhT3JkZXJzLm51bWJlci50b0xvd2VyQ2FzZSgpIDwgb3RoZXJPcmRlcnMubnVtYmVyLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgICAgICAgICA6IFN0cmluZyhhT3JkZXJzW2RhdGEuYXR0cmlidXRlXSkudG9Mb3dlckNhc2UoKSA8IFN0cmluZyhvdGhlck9yZGVyc1tkYXRhLmF0dHJpYnV0ZV0pLnRvTG93ZXJDYXNlKCkgPyBjb21wYXJhdG9yWzBdIDogY29tcGFyYXRvclsxXVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBmdW5jaW9uIHV0aWxpemFkYSBwYXJhIGRlc2VtcGF0ZS5cclxuICAgICAqIEBwYXJhbSBhT3JkZXJzXHJcbiAgICAgKiBAcGFyYW0gb3RoZXJPcmRlcnNcclxuICAgICAqIEBwYXJhbSBjb21wYXJhdG9yXHJcbiAgICAgKiBAcmV0dXJuc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRpZUJyZWFrZXIgPSAoYU9yZGVycywgb3RoZXJPcmRlcnMsIGNvbXBhcmF0b3IpID0+IGFPcmRlcnMubnVtYmVyLnRvTG93ZXJDYXNlKCkgPCBvdGhlck9yZGVycy5udW1iZXIudG9Mb3dlckNhc2UoKSA/IGNvbXBhcmF0b3JbMF0gOiBjb21wYXJhdG9yWzFdXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gY2FtYmlhIGxvcyB2YWxvcmVzIGRlIGxhIHZhcmlhYmxlIGN1cnJlbnRTb3J0XHJcbiAgICAgKiBAcGFyYW0gbmFtZVxyXG4gICAgICogQHBhcmFtIGFzY1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldEN1cnJlbnRTb3J0ID0gKG5hbWU6IHN0cmluZywgYXNjOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U29ydC5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0LmFzYyA9IGFzY1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -20,14 +20,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
20
20
|
import { Component, Input } from '@angular/core';
|
|
21
21
|
import { ComponentHelper } from '../../../classes/component-helper';
|
|
22
22
|
import { CheckoutService } from '../../../services/checkout/checkout.service';
|
|
23
|
+
import { CartService } from '../../../services/cart.service';
|
|
23
24
|
var DetailCheckoutBlockEcComponent = /** @class */ (function (_super) {
|
|
24
25
|
__extends(DetailCheckoutBlockEcComponent, _super);
|
|
25
|
-
function DetailCheckoutBlockEcComponent(checkoutService) {
|
|
26
|
+
function DetailCheckoutBlockEcComponent(checkoutService, cartService) {
|
|
26
27
|
var _this = _super.call(this) || this;
|
|
27
28
|
_this.checkoutService = checkoutService;
|
|
29
|
+
_this.cartService = cartService;
|
|
28
30
|
_this.data = null;
|
|
29
31
|
_this.discountTotal = 0;
|
|
30
32
|
_this.couponTotal = 0;
|
|
33
|
+
_this.showPrice = false;
|
|
34
|
+
_this.creditAmountConfigured = false;
|
|
31
35
|
_this.getIcon = function (data_item) {
|
|
32
36
|
switch (data_item.type) {
|
|
33
37
|
case 'coupon': return 'fas fa-ticket-alt fa-3x';
|
|
@@ -54,6 +58,12 @@ var DetailCheckoutBlockEcComponent = /** @class */ (function (_super) {
|
|
|
54
58
|
this.checkoutService.asociatedData$.subscribe(function (data) { return _this.data = data; });
|
|
55
59
|
this.calcularTotales();
|
|
56
60
|
this.ecOnInit();
|
|
61
|
+
this.cartService.showPrice$.subscribe(function (showPrice) {
|
|
62
|
+
_this.showPrice = showPrice;
|
|
63
|
+
});
|
|
64
|
+
this.cartService.creditAmount$.subscribe(function (creditAmount) {
|
|
65
|
+
_this.creditAmountConfigured = creditAmount !== null;
|
|
66
|
+
});
|
|
57
67
|
};
|
|
58
68
|
DetailCheckoutBlockEcComponent.prototype.calcularTotales = function () {
|
|
59
69
|
if (this.data) {
|
|
@@ -66,7 +76,8 @@ var DetailCheckoutBlockEcComponent = /** @class */ (function (_super) {
|
|
|
66
76
|
}
|
|
67
77
|
};
|
|
68
78
|
DetailCheckoutBlockEcComponent.ctorParameters = function () { return [
|
|
69
|
-
{ type: CheckoutService }
|
|
79
|
+
{ type: CheckoutService },
|
|
80
|
+
{ type: CartService }
|
|
70
81
|
]; };
|
|
71
82
|
__decorate([
|
|
72
83
|
Input()
|
|
@@ -74,11 +85,11 @@ var DetailCheckoutBlockEcComponent = /** @class */ (function (_super) {
|
|
|
74
85
|
DetailCheckoutBlockEcComponent = __decorate([
|
|
75
86
|
Component({
|
|
76
87
|
selector: 'app-detail-checkout-block-ec',
|
|
77
|
-
template: "<div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\"
|
|
88
|
+
template: "<div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\"\r\n *ngIf=\"data && (creditAmountConfigured ? showPrice : true)\">\r\n <ng-container *ngFor=\"let item of data; let i = index\">\r\n <ng-container *ngIf=\"item.type != 'discount' && item.type != 'coupon'\">\r\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\r\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item)\"></i>\r\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ item.type | translate }}</strong>\r\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (item.amount != 0 ) ? (item.amount |\r\n ecCurrencySymbol) : ('free' | translate) }}</span>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- Mostrar total de descuentos -->\r\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\r\n *ngIf=\"this.discountTotal != 0 && i === 1\">\r\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('discount')\"></i>\r\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Descuento</strong>\r\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (this.discountTotal | ecCurrencySymbol)\r\n }}</span>\r\n </div>\r\n\r\n <!-- Mostrar total de cupones -->\r\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\r\n *ngIf=\"this.couponTotal != 0 && i === 1\">\r\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('coupon')\"></i>\r\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Cupon</strong>\r\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.couponTotal| ecCurrencySymbol)\r\n }}</span>\r\n </div>\r\n </ng-container>\r\n</div>",
|
|
78
89
|
styles: [""]
|
|
79
90
|
})
|
|
80
91
|
], DetailCheckoutBlockEcComponent);
|
|
81
92
|
return DetailCheckoutBlockEcComponent;
|
|
82
93
|
}(ComponentHelper));
|
|
83
94
|
export { DetailCheckoutBlockEcComponent };
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPN0Q7SUFBb0Qsa0RBQWU7SUFTL0Qsd0NBQW1CLGVBQWdDLEVBQVUsV0FBd0I7UUFBckYsWUFDSSxpQkFBTyxTQUVWO1FBSGtCLHFCQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTjlFLFVBQUksR0FBRyxJQUFJLENBQUE7UUFDWCxtQkFBYSxHQUFHLENBQUMsQ0FBQTtRQUNqQixpQkFBVyxHQUFHLENBQUMsQ0FBQTtRQUNmLGVBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsNEJBQXNCLEdBQVksS0FBSyxDQUFDO1FBZ0MvQyxhQUFPLEdBQUcsVUFBQyxTQUF1QjtZQUU5QixRQUFRLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3BCLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyx5QkFBeUIsQ0FBQztnQkFDaEQsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLG1CQUFtQixDQUFDO2dCQUM1QyxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sNEJBQTRCLENBQUM7Z0JBQ3JELEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxvQkFBb0IsQ0FBQztnQkFDN0MsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLGtDQUFrQyxDQUFDO2dCQUN4RCxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sOEJBQThCLENBQUM7Z0JBQ3BELE9BQU8sQ0FBQyxDQUFDLE9BQU8sbUJBQW1CLENBQUM7YUFDdkM7UUFFTCxDQUFDLENBQUE7UUFFRCxjQUFRLEdBQUcsVUFBQyxTQUFTO1lBQ2pCLFFBQVEsU0FBUyxFQUFFO2dCQUNmLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyx5QkFBeUIsQ0FBQztnQkFDaEQsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLG1CQUFtQixDQUFDO2FBQy9DO1FBQ0wsQ0FBQyxDQUFBO1FBL0NHLEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7SUFDekIsQ0FBQztJQUVELGlEQUFRLEdBQVI7UUFBQSxpQkFXQztRQVZHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsS0FBSSxDQUFDLElBQUksR0FBRyxJQUFJLEVBQWhCLENBQWdCLENBQUMsQ0FBQTtRQUMzRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQUMsU0FBUztZQUM1QyxLQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFDLFlBQVk7WUFDbEQsS0FBSSxDQUFDLHNCQUFzQixHQUFHLFlBQVksS0FBSyxJQUFJLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsd0RBQWUsR0FBZjtRQUNJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUk7aUJBQ3pCLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUF4QixDQUF3QixDQUFDO2lCQUN4QyxNQUFNLENBQUMsVUFBQyxHQUFHLEVBQUUsSUFBSSxJQUFLLE9BQUEsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQWpCLENBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSTtpQkFDdkIsTUFBTSxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQXRCLENBQXNCLENBQUM7aUJBQ3RDLE1BQU0sQ0FBQyxVQUFDLEdBQUcsRUFBRSxJQUFJLElBQUssT0FBQSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBakIsQ0FBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwRDtJQUNMLENBQUM7O2dCQTVCbUMsZUFBZTtnQkFBdUIsV0FBVzs7SUFQNUU7UUFBUixLQUFLLEVBQUU7eUVBQWM7SUFGYiw4QkFBOEI7UUFMMUMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDhCQUE4QjtZQUN4QywwaEVBQXdEOztTQUUzRCxDQUFDO09BQ1csOEJBQThCLENBa0UxQztJQUFELHFDQUFDO0NBQUEsQUFsRUQsQ0FBb0QsZUFBZSxHQWtFbEU7U0FsRVksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENoZWNrb3V0RGF0YSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvY2hlY2tvdXQtZGF0YSc7XHJcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L2NoZWNrb3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWRldGFpbC1jaGVja291dC1ibG9jay1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGV0YWlsQ2hlY2tvdXRCbG9ja0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBhc29jaWF0ZWREYXRhXHJcbiAgICBwdWJsaWMgZGF0YSA9IG51bGxcclxuICAgIHB1YmxpYyBkaXNjb3VudFRvdGFsID0gMFxyXG4gICAgcHVibGljIGNvdXBvblRvdGFsID0gMFxyXG4gICAgcHVibGljIHNob3dQcmljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNyZWRpdEFtb3VudENvbmZpZ3VyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY2hlY2tvdXRTZXJ2aWNlOiBDaGVja291dFNlcnZpY2UsIHByaXZhdGUgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFzb2NpYXRlZERhdGEgJiYgKHRoaXMuZGF0YSA9IHRoaXMuYXNvY2lhdGVkRGF0YSkgfHxcclxuICAgICAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2UuYXNvY2lhdGVkRGF0YSQuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy5kYXRhID0gZGF0YSlcclxuICAgICAgICB0aGlzLmNhbGN1bGFyVG90YWxlcygpXHJcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXHJcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5zaG93UHJpY2UkLnN1YnNjcmliZSgoc2hvd1ByaWNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1ByaWNlID0gc2hvd1ByaWNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UuY3JlZGl0QW1vdW50JC5zdWJzY3JpYmUoKGNyZWRpdEFtb3VudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNyZWRpdEFtb3VudENvbmZpZ3VyZWQgPSBjcmVkaXRBbW91bnQgIT09IG51bGw7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXJUb3RhbGVzKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNjb3VudFRvdGFsID0gdGhpcy5kYXRhXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnZGlzY291bnQnKVxyXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyBjdXJyLmFtb3VudCwgMCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvdXBvblRvdGFsID0gdGhpcy5kYXRhXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnY291cG9uJylcclxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjICsgY3Vyci5hbW91bnQsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRJY29uID0gKGRhdGFfaXRlbTogQ2hlY2tvdXREYXRhKSA9PiB7XHJcblxyXG4gICAgICAgIHN3aXRjaCAoZGF0YV9pdGVtLnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnY291cG9uJzogcmV0dXJuICdmYXMgZmEtdGlja2V0LWFsdCBmYS0zeCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0zeCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NoaXBtZW50JzogcmV0dXJuICdmYXMgZmEtc2hpcHBpbmctZmFzdCBmYS0zeCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3N1YnRvdGFsJzogcmV0dXJuICdmYXMgZmEtYm94ZXMgZmEtM3gnO1xyXG4gICAgICAgICAgICBjYXNlICd0YXhlcyc6IHJldHVybiAnZmFzIGZhLWZpbGUtaW52b2ljZS1kb2xsYXIgZmEtM3gnO1xyXG4gICAgICAgICAgICBjYXNlICd0b3RhbCc6IHJldHVybiAnZmFzIGZhLXNob3BwaW5nLWJhc2tldCBmYS0zeCc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnZmFzIGZhLXRhZ3MgZmEtM3gnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SWNvbjIgPSAoZGF0YV90eXBlKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChkYXRhX3R5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnY291cG9uJzogcmV0dXJuICdmYXMgZmEtdGlja2V0LWFsdCBmYS0zeCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0zeCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gY2FzZSAnY291cG9uJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3RpY2tldC1hbHQuc3ZnJztcclxuICAgIC8vIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3RhZ3Muc3ZnJztcclxuICAgIC8vIGNhc2UgJ3NoaXBtZW50JzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3NoaXBwaW5nLWZhc3Quc3ZnJztcclxuICAgIC8vIGNhc2UgJ3N1YnRvdGFsJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L2JveGVzLnN2Zyc7XHJcbiAgICAvLyBjYXNlICd0YXhlcyc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9maWxlLWludm9pY2UtZG9sbGFyLnN2Zyc7XHJcbiAgICAvLyBjYXNlICd0b3RhbCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9zaG9wcGluZy1iYXNrZXQuc3ZnJztcclxuICAgIC8vIGRlZmF1bHQ6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9zaG9wcGluZy1iYXNrZXQuc3ZnJztcclxufVxyXG4iXX0=
|
|
@@ -40,9 +40,11 @@ import { ProductDetailService } from '../../services/products/product-detail.ser
|
|
|
40
40
|
import { ProductsService } from '../../services/products/products.service';
|
|
41
41
|
import { ToastService } from '../../utils/toast.service';
|
|
42
42
|
import { Meta } from '@angular/platform-browser';
|
|
43
|
+
import { Injector } from '@angular/core';
|
|
44
|
+
import { ChannelConfigService } from '../../services/channel-config.service';
|
|
43
45
|
var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
44
46
|
__extends(ProductDetailEcComponent, _super);
|
|
45
|
-
function ProductDetailEcComponent(productService, consts, activedRoute, cartService, optionsService, productsService, analyticsService, router, toastrService, meta) {
|
|
47
|
+
function ProductDetailEcComponent(productService, consts, activedRoute, cartService, optionsService, productsService, analyticsService, router, toastrService, meta, injector) {
|
|
46
48
|
var _this = _super.call(this) || this;
|
|
47
49
|
_this.productService = productService;
|
|
48
50
|
_this.consts = consts;
|
|
@@ -54,12 +56,14 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
54
56
|
_this.router = router;
|
|
55
57
|
_this.toastrService = toastrService;
|
|
56
58
|
_this.meta = meta;
|
|
59
|
+
_this.injector = injector;
|
|
57
60
|
_this.show = false;
|
|
58
61
|
_this.quantity = 1;
|
|
59
62
|
_this.breadcrumb = [];
|
|
60
63
|
_this.code = null;
|
|
61
64
|
_this.focusImage = null;
|
|
62
65
|
_this.owlOptions = {};
|
|
66
|
+
_this.showReviews = false;
|
|
63
67
|
_this.addToCart = function () {
|
|
64
68
|
_this.quantity > 0 && _this.productService.addToCart(_this.quantity);
|
|
65
69
|
};
|
|
@@ -139,6 +143,9 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
139
143
|
_this.analyticsService.callEvent('view_item', __assign(__assign({}, productParam), { currency: _this.consts.currency.code }));
|
|
140
144
|
_this.changeImgFocus(productParam.picturesdefault[0]);
|
|
141
145
|
});
|
|
146
|
+
_this.injector.get(ChannelConfigService).channelConfig$.subscribe(function (channel) {
|
|
147
|
+
_this.showReviews = channel.showReviews;
|
|
148
|
+
});
|
|
142
149
|
_this.ecOnConstruct();
|
|
143
150
|
return _this;
|
|
144
151
|
}
|
|
@@ -165,7 +172,8 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
165
172
|
{ type: AnalyticsService },
|
|
166
173
|
{ type: Router },
|
|
167
174
|
{ type: ToastService },
|
|
168
|
-
{ type: Meta }
|
|
175
|
+
{ type: Meta },
|
|
176
|
+
{ type: Injector }
|
|
169
177
|
]; };
|
|
170
178
|
__decorate([
|
|
171
179
|
ViewChild('contact')
|
|
@@ -181,4 +189,4 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
181
189
|
return ProductDetailEcComponent;
|
|
182
190
|
}(ComponentHelper));
|
|
183
191
|
export { ProductDetailEcComponent };
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBU2pEO0lBQThDLDRDQUFlO0lBZXpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2QsWUFBNEIsRUFDL0IsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDWCxhQUEyQixFQUM3QixJQUFV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LElBQUksQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUNuRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Z0JBbEUwQixvQkFBb0I7Z0JBQzVCLFNBQVM7Z0JBQ0EsY0FBYztnQkFDbEIsV0FBVztnQkFDUixjQUFjO2dCQUNiLGVBQWU7Z0JBQ2QsZ0JBQWdCO2dCQUMxQixNQUFNO2dCQUNJLFlBQVk7Z0JBQ3ZCLElBQUk7O0lBWkE7UUFBckIsU0FBUyxDQUFDLFNBQVMsQ0FBQzs2REFBcUI7SUFiakMsd0JBQXdCO1FBTnBDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsWUFBaUQ7WUFFakQsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7O1NBQ3BDLENBQUM7T0FDVyx3QkFBd0IsQ0FrSXBDO0lBQUQsK0JBQUM7Q0FBQSxBQWxJRCxDQUE4QyxlQUFlLEdBa0k1RDtTQWxJWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdC1kZXRhaWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1kZXRhaWwtZWMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtQcm9kdWN0RGV0YWlsU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgcHVibGljIHByb2R1Y3Q6IGFueTtcclxuICAgIHB1YmxpYyBtZWRpYVVybDtcclxuICAgIHB1YmxpYyBzaG93ID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgcXVhbnRpdHkgPSAxO1xyXG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcclxuICAgIHB1YmxpYyBjYXJvdXNlbDogYW55O1xyXG4gICAgcHVibGljIGNvZGUgPSBudWxsO1xyXG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcclxuICAgIHB1YmxpYyBvd2xPcHRpb25zID0ge31cclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXHJcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMubWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICBsZXQgdmFyaWFudDogYW55ID0gKHRoaXMuYWN0aXZlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd2YXJpYW50JykpO1xyXG4gICAgICAgICAgICBsZXQgY29kZSA9IHF1ZXJ5UGFyYW1zLmlkO1xyXG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtcy5pZFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxyXG4gICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdCA9IHJlcztcclxuICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcclxuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1iID0gdGhpcy5vcHRpb25zU2VydmljZS5nZXRCcmVhZGNydW1iKHRoaXMucHJvZHVjdC5jYXRlZ29yeSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucHJvZHVjdC5uYW1lKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOnRpdGxlJywgY29udGVudDogdGhpcy5wcm9kdWN0Lm5hbWUgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IHRoaXMuZGVsZXRlSFRNTCh0aGlzLnByb2R1Y3QuZGVzY3JpcHRpb24pIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOnR5cGUnLCBjb250ZW50OiAncHJvZHVjdCcgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiB3aW5kb3cubG9jYXRpb24uaHJlZiB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChwcm9kdWN0UGFyYW0pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3ZpZXdfaXRlbScsIHsgLi4ucHJvZHVjdFBhcmFtLCBjdXJyZW5jeTogdGhpcy5jb25zdHMuY3VycmVuY3kuY29kZSB9KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKX1cclxuICAgICAgICApXHJcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcclxuXHJcbiAgICB9XHJcblxyXG4gICAgIGRlbGV0ZUhUTUwoY2FkZW5hOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgIC8vIEV4cHJlc2nDs24gcmVndWxhciBwYXJhIGJ1c2NhciBldGlxdWV0YXMgSFRNTFxyXG4gICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xyXG4gICAgIC8vIFJlZW1wbGF6YSB0b2RhcyBsYXMgZXRpcXVldGFzIEhUTUwgcG9yIHVuYSBjYWRlbmEgdmFjw61hXHJcbiAgICAgcmV0dXJuIGNhZGVuYS5yZXBsYWNlKGV4cHJlc2lvblJlZ3VsYXIsICcnKTtcclxuIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVjT25Jbml0KClcclxuICAgIH1cclxuXHJcbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWFudGl0eSA+IDAgJiYgdGhpcy5wcm9kdWN0U2VydmljZS5hZGRUb0NhcnQodGhpcy5xdWFudGl0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQWxsUHJvZHVjdG9zVG9DYXJ0ID0gKCkgPT4ge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMucHJvZHVjdC5wcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQ/LmZpbHRlcihwcm9kID0+IHByb2QucHJvZHVjdFRvQ2FydEl0ZW0pLm1hcChwcm9kID0+IHByb2QucHJvZHVjdFRvQ2FydEl0ZW0pXHJcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcclxuICAgIH1cclxuXHJcbiAgICBzY3JvbGwoKSB7XHJcbiAgICAgICAgbGV0IGVsID0gdGhpcy5jb250YWN0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlUmVmID0gKGNhcm91c2VsKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYWJsZSBxdWFudGl0eSBzdW1hbmRvbGUgJ3gnIGNvbnRlbmlkby5cclxuICAgICAqIEBwYXJhbSBzdG9jayBkZWJlIHJlY2liaXIgdW4gbnVtYmVyIHF1ZSBjb250ZW5nYSBlbCBzdG9jayBkaXNwb25pYmxlLlxyXG4gICAgICogQHBhcmFtIG11bHRpcGxlUXVhbnRpdHkgZGViZSByZWNpYmlyIGVsIG11bHRpcGxvIGRlIGNhbnRpZGFkIHF1ZSBzZSBxdWllcmEgaW5jcmVtZW50YXIuXHJcbiAgICAgKi9cclxuICAgIHBsdXMgPSAoc3RvY2s/OmFueSwgbXVsdGlwbGVRdWFudGl0eT86YW55KSA9PiB7XHJcblxyXG4gICAgICAgIGlmKG11bHRpcGxlUXVhbnRpdHkgJiYgbXVsdGlwbGVRdWFudGl0eSA+IDApe1xyXG4gICAgICAgICAgICBzdG9jayA/ICh0aGlzLnF1YW50aXR5IDwgc3RvY2sgPyB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIG11bHRpcGxlUXVhbnRpdHkgOiB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5JykpXHJcbiAgICAgICAgICAgICAgICAgICA6IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgbXVsdGlwbGVRdWFudGl0eTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgc3RvY2sgPyAodGhpcy5xdWFudGl0eSA8IHN0b2NrID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgKyAxIDogdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxyXG4gICAgICAgICAgICAgICAgICAgOiB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWJsZSBxdWFudGl0eSByZXN0YW5kb2xlICd4JyBjb250ZW5pZG8uXHJcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVRdWFudGl0eSBkZWJlIHJlY2liaXIgZWwgbXVsdGlwbG8gZGUgY2FudGlkYWQgcXVlIHNlIHF1aWVyYSBkZWNyZW1lbnRhci5cclxuICAgICAqL1xyXG4gICAgbGVzcyA9IChtdWx0aXBsZVF1YW50aXR5PzphbnkpID0+IHtcclxuICAgICAgICBpZihtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwKXtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA+IG11bHRpcGxlUXVhbnRpdHkgPyB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIG11bHRpcGxlUXVhbnRpdHkgOiBudWxsXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPiAxID8gdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgLSAxIDogbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICBoaWRlQ29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IGZhbHNlO1xyXG5cclxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0O1xyXG4gICAgICAgIGlmIChwcm9kdWN0Py5zcGVjaWFsX21hcmsgJiYgcHJvZHVjdD8uc3BlY2lhbF9tYXJrLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VJbWdGb2N1cyA9IChpbWcpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFnQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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LENBQUMsQ0FBQztRQUNILEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTs7SUFFeEIsQ0FBQztJQUVBLDZDQUFVLEdBQVYsVUFBVyxNQUFjO1FBQ3pCLCtDQUErQztRQUMvQyxJQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNwQywwREFBMEQ7UUFDMUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRSwyQ0FBUSxHQUFSO1FBQ0ksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFXRCx5Q0FBTSxHQUFOO1FBQ0ksSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDO1FBQ25ELEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOztnQkF0RTBCLG9CQUFvQjtnQkFDNUIsU0FBUztnQkFDQSxjQUFjO2dCQUNsQixXQUFXO2dCQUNSLGNBQWM7Z0JBQ2IsZUFBZTtnQkFDZCxnQkFBZ0I7Z0JBQzFCLE1BQU07Z0JBQ0ksWUFBWTtnQkFDdkIsSUFBSTtnQkFDRCxRQUFROztJQWJQO1FBQXJCLFNBQVMsQ0FBQyxTQUFTLENBQUM7NkRBQXFCO0lBZGpDLHdCQUF3QjtRQU5wQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFlBQWlEO1lBRWpELFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztTQUNwQyxDQUFDO09BQ1csd0JBQXdCLENBdUlwQztJQUFELCtCQUFDO0NBQUEsQUF2SUQsQ0FBOEMsZUFBZSxHQXVJNUQ7U0F2SVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb3JlLmNvbnN0cyc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIHB1YmxpYyBwcm9kdWN0OiBhbnk7XHJcbiAgICBwdWJsaWMgbWVkaWFVcmw7XHJcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xyXG4gICAgcHVibGljIHF1YW50aXR5ID0gMTtcclxuICAgIHB1YmxpYyBicmVhZGNydW1iID0gW107XHJcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcclxuICAgIHB1YmxpYyBjb2RlID0gbnVsbDtcclxuICAgIHB1YmxpYyBmb2N1c0ltYWdlOiBzdHJpbmcgPSBudWxsXHJcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XHJcbiAgICBwdWJsaWMgc2hvd1Jldmlld3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXHJcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXHJcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XHJcbiAgICAgICAgICAgIGxldCB2YXJpYW50OiBhbnkgPSAodGhpcy5hY3RpdmVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3ZhcmlhbnQnKSk7XHJcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UubG9hZFByb2R1Y3QoY29kZSwgdmFyaWFudCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHF1ZXJ5UGFyYW1zLmlkXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnByb2R1Y3QkLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzID09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pXHJcbiAgICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzO1xyXG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xyXG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcclxuICAgICAgICAgICAgaWYodGhpcy5wcm9kdWN0Lm5hbWUpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmRlc2NyaXB0aW9uJywgY29udGVudDogdGhpcy5kZWxldGVIVE1MKHRoaXMucHJvZHVjdC5kZXNjcmlwdGlvbikgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzppbWFnZScsIGNvbnRlbnQ6IHRoaXMuY29uc3RzLm1lZGlhVXJsKCkgKyB0aGlzLnByb2R1Y3QucGljdHVyZXNkZWZhdWx0WzBdIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOnVybCcsIGNvbnRlbnQ6IHdpbmRvdy5sb2NhdGlvbi5ocmVmIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnByb2R1Y3QkLnBpcGUoZmlsdGVyKGRhdGEgPT4gZGF0YSAmJiBkYXRhLmlkICYmIGRhdGEuaWQgIT0gMCkpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHByb2R1Y3RQYXJhbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZUltZ0ZvY3VzKHByb2R1Y3RQYXJhbS5waWN0dXJlc2RlZmF1bHRbMF0pfVxyXG4gICAgICAgIClcclxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChDaGFubmVsQ29uZmlnU2VydmljZSkuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAgZGVsZXRlSFRNTChjYWRlbmE6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXHJcbiAgICAgY29uc3QgZXhwcmVzaW9uUmVndWxhciA9IC88W14+XSo+L2c7XHJcbiAgICAgLy8gUmVlbXBsYXphIHRvZGFzIGxhcyBldGlxdWV0YXMgSFRNTCBwb3IgdW5hIGNhZGVuYSB2YWPDrWFcclxuICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xyXG4gfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxyXG4gICAgfVxyXG5cclxuICAgIGFkZFRvQ2FydCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLnF1YW50aXR5ID4gMCAmJiB0aGlzLnByb2R1Y3RTZXJ2aWNlLmFkZFRvQ2FydCh0aGlzLnF1YW50aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRBbGxQcm9kdWN0b3NUb0NhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcclxuICAgICAgICBpdGVtcz8ubGVuZ3RoICYmIHRoaXMuY2FydFNlcnZpY2UuYWRkQWxsVG9DYXJ0KGl0ZW1zKVxyXG4gICAgfVxyXG5cclxuICAgIHNjcm9sbCgpIHtcclxuICAgICAgICBsZXQgZWwgPSB0aGlzLmNvbnRhY3QubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcclxuICAgICAgICB0aGlzLmNhcm91c2VsID0gY2Fyb3VzZWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlhYmxlIHF1YW50aXR5IHN1bWFuZG9sZSAneCcgY29udGVuaWRvLlxyXG4gICAgICogQHBhcmFtIHN0b2NrIGRlYmUgcmVjaWJpciB1biBudW1iZXIgcXVlIGNvbnRlbmdhIGVsIHN0b2NrIGRpc3BvbmlibGUuXHJcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVRdWFudGl0eSBkZWJlIHJlY2liaXIgZWwgbXVsdGlwbG8gZGUgY2FudGlkYWQgcXVlIHNlIHF1aWVyYSBpbmNyZW1lbnRhci5cclxuICAgICAqL1xyXG4gICAgcGx1cyA9IChzdG9jaz86YW55LCBtdWx0aXBsZVF1YW50aXR5PzphbnkpID0+IHtcclxuXHJcbiAgICAgICAgaWYobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID4gMCl7XHJcbiAgICAgICAgICAgIHN0b2NrID8gKHRoaXMucXVhbnRpdHkgPCBzdG9jayA/IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgbXVsdGlwbGVRdWFudGl0eSA6IHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKSlcclxuICAgICAgICAgICAgICAgICAgIDogdGhpcy5xdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgKyBtdWx0aXBsZVF1YW50aXR5O1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBzdG9jayA/ICh0aGlzLnF1YW50aXR5IDwgc3RvY2sgPyB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIDEgOiB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5JykpXHJcbiAgICAgICAgICAgICAgICAgICA6IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYmxlIHF1YW50aXR5IHJlc3RhbmRvbGUgJ3gnIGNvbnRlbmlkby5cclxuICAgICAqIEBwYXJhbSBtdWx0aXBsZVF1YW50aXR5IGRlYmUgcmVjaWJpciBlbCBtdWx0aXBsbyBkZSBjYW50aWRhZCBxdWUgc2UgcXVpZXJhIGRlY3JlbWVudGFyLlxyXG4gICAgICovXHJcbiAgICBsZXNzID0gKG11bHRpcGxlUXVhbnRpdHk/OmFueSkgPT4ge1xyXG4gICAgICAgIGlmKG11bHRpcGxlUXVhbnRpdHkgJiYgbXVsdGlwbGVRdWFudGl0eSA+IDApe1xyXG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID4gbXVsdGlwbGVRdWFudGl0eSA/IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5IC0gbXVsdGlwbGVRdWFudGl0eSA6IG51bGxcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA+IDEgPyB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIDEgOiBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNob3dDb250YWN0ID0gKCkgPT4gdGhpcy5zaG93ID0gdHJ1ZTtcclxuICAgIGhpZGVDb250YWN0ID0gKCkgPT4gdGhpcy5zaG93ID0gZmFsc2U7XHJcblxyXG4gICAgdGhlcmVJc01vcmVJbmZvID0gKHByb2R1Y3Q6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQ7XHJcbiAgICAgICAgaWYgKHByb2R1Y3Q/LnNwZWNpYWxfbWFyayAmJiBwcm9kdWN0Py5zcGVjaWFsX21hcmsubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IHByb2R1Y3Q/LnNwZWNpYWxfbWFyaz8uZmluZChzcGVjaWFsX21hcmsgPT4gc3BlY2lhbF9tYXJrLnR5cGUgPT0gJ21vcmVfaW5mbycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZUltZ0ZvY3VzID0gKGltZykgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9jdXNJbWFnZSA9IGltZ1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|