tickera-angular-components 0.0.1-dev.105 → 0.0.1-dev.108
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.
|
@@ -149,7 +149,8 @@ var order$1 = {
|
|
|
149
149
|
itemType: {
|
|
150
150
|
PRODUCT: "Producto",
|
|
151
151
|
TICKET: "Entrada",
|
|
152
|
-
GIFT_BOND: "Bono de regalo"
|
|
152
|
+
GIFT_BOND: "Bono de regalo",
|
|
153
|
+
CORPORATE_BOND: "Bono corporativo"
|
|
153
154
|
},
|
|
154
155
|
discountTypes: {
|
|
155
156
|
gift_bond: "Bono de regalo",
|
|
@@ -310,7 +311,8 @@ var order = {
|
|
|
310
311
|
itemType: {
|
|
311
312
|
PRODUCT: "Product",
|
|
312
313
|
TICKET: "Ticket",
|
|
313
|
-
GIFT_BOND: "Gift bond"
|
|
314
|
+
GIFT_BOND: "Gift bond",
|
|
315
|
+
CORPORATE_BOND: "Corporate bond"
|
|
314
316
|
},
|
|
315
317
|
discountTypes: {
|
|
316
318
|
gift_bond: "Product",
|
|
@@ -727,6 +729,7 @@ var OrderItemType;
|
|
|
727
729
|
OrderItemType["TICKET"] = "TICKET";
|
|
728
730
|
OrderItemType["PRODUCT"] = "PRODUCT";
|
|
729
731
|
OrderItemType["GIFT_BOND"] = "GIFT_BOND";
|
|
732
|
+
OrderItemType["CORPORATE_BOND"] = "CORPORATE_BOND";
|
|
730
733
|
})(OrderItemType || (OrderItemType = {}));
|
|
731
734
|
|
|
732
735
|
var OrderStatus;
|
|
@@ -776,6 +779,7 @@ const ORDER_ITEM_TYPES_COLORS = {
|
|
|
776
779
|
TICKET: { text: '#1d4ed8', bg: '#eff6ff' },
|
|
777
780
|
PRODUCT: { text: '#7e22ce', bg: '#faf5ff' },
|
|
778
781
|
GIFT_BOND: { text: '#ca8a04', bg: '#fefce8' },
|
|
782
|
+
CORPORATE_BOND: { text: '#0d9488', bg: '#ccfbf1' },
|
|
779
783
|
};
|
|
780
784
|
const ORDER_DISCOUNT_COLORS = {
|
|
781
785
|
coupon: { text: '#1d4ed8', bg: '#eff6ff' },
|
|
@@ -8611,6 +8615,9 @@ class OrderItemsComponent {
|
|
|
8611
8615
|
get giftBonds() {
|
|
8612
8616
|
return this.orderItems?.filter(({ item_type }) => item_type === OrderItemType.GIFT_BOND) ?? [];
|
|
8613
8617
|
}
|
|
8618
|
+
get corporateBonds() {
|
|
8619
|
+
return this.orderItems?.filter(({ item_type }) => item_type === OrderItemType.CORPORATE_BOND) ?? [];
|
|
8620
|
+
}
|
|
8614
8621
|
get showActionColumn() {
|
|
8615
8622
|
return this.order.status === 'completed' && this.tickets.length > 0;
|
|
8616
8623
|
}
|
|
@@ -8630,13 +8637,16 @@ class OrderItemsComponent {
|
|
|
8630
8637
|
const giftBonds = this.giftBonds?.reduce((accumulator, currentTicket) => {
|
|
8631
8638
|
return accumulator + currentTicket?.normal_price;
|
|
8632
8639
|
}, 0);
|
|
8633
|
-
|
|
8640
|
+
const corporateBonds = this.corporateBonds?.reduce((accumulator, currentTicket) => {
|
|
8641
|
+
return accumulator + currentTicket?.normal_price;
|
|
8642
|
+
}, 0);
|
|
8643
|
+
return { products, tickets, giftBonds, corporateBonds };
|
|
8634
8644
|
}
|
|
8635
8645
|
openTicketQr(ticketUuid, description) {
|
|
8636
8646
|
this.ticketQrModalService.open(ticketUuid, description);
|
|
8637
8647
|
}
|
|
8638
8648
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OrderItemsComponent, deps: [{ token: TicketQrModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8639
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: OrderItemsComponent, isStandalone: true, selector: "order-items", inputs: { order: "order" }, ngImport: i0, template: "@if (!!order) {\n <div class=\"order-items\">\n <div class=\"order-items__header\">\n <p class=\"order-items__header-title\">\n Informaci\u00F3n de los art\u00EDculos comprados ({{ order.order_items.length | number: '1.0' }})\n </p>\n </div>\n <div class=\"order-items__table-container\">\n <table class=\"order-items__table\">\n <thead class=\"order-items__table-head\">\n <tr class=\"order-items__table-head-row\">\n <th class=\"order-items__table-head-cell\">Tipo</th>\n <th class=\"order-items__table-head-cell\">Descripci\u00F3n</th>\n\n <th class=\"order-items__table-head-cell text-right\">Cant.</th>\n <th class=\"order-items__table-head-cell text-right\">Precio</th>\n <th class=\"order-items__table-head-cell text-right\">Total</th>\n @if (showActionColumn) {\n <th class=\"order-items__table-head-cell\">Acciones</th>\n }\n </tr>\n </thead>\n <tbody class=\"order-items__table-body\">\n @for (item of order.order_items; track $index) {\n <tr class=\"order-items__table-body-row\">\n <td class=\"order-items__table-body-cell\">\n <order-item-type-badge [item]=\"item\" size=\"xs\" />\n </td>\n\n <td class=\"order-items__table-body-cell\">\n {{ item.description }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n {{ item.quantity }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n ${{ item.normal_price | number: '1.0-2' }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n <strong>\n ${{ itemTotal(item.quantity, item.normal_price) | number: '1.0-2' }}\n </strong>\n </td>\n\n @if (item.ticket_uuid && order.status === 'completed' && showActionColumn) {\n <td class=\"order-items__table-body-cell actions\">\n <app-button\n text=\"Ver ticket\"\n size=\"xs\"\n icon=\"ri-eye-line\"\n (clicked)=\"openTicketQr(item.ticket_uuid!, item.description)\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <div class=\"order-items__totals\">\n <dl class=\"order-items__totals-container\">\n @if (giftBonds.length > 0 && totals.giftBonds > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Bonos de regalo ({{ giftBonds.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.giftBonds > 0) {\n <span class=\"text-gray-900\"> ${{ totals.giftBonds | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (tickets.length > 0 && totals.tickets > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Entradas ({{ tickets.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.tickets > 0) {\n <span class=\"text-gray-900\"> ${{ totals.tickets | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (products.length > 0 && totals.products > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Productos</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.products > 0) {\n <span class=\"text-gray-900\"> ${{ totals.products | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (order.service_fee && order.service_fee > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Tarifa de servicio</dt>\n <dd class=\"order-items__totals-item-value\">\n <span class=\"text-gray-900\"> ${{ order.service_fee | number: '1.0-2' }} </span>\n </dd>\n </div>\n }\n\n @if (hasDiscount()) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Descuento</dt>\n <dd class=\"order-items__totals-item-title\">\n $-{{ order.discount_amount | number: '1.0-2' }}\n </dd>\n </div>\n }\n\n <div class=\"order-items__totals-item total-item\">\n <dt class=\"order-items__totals-item-total\">Total</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (!hasDiscount()) {\n <span class=\"order-items__totals-item-total\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n }\n @if (hasDiscount()) {\n <span class=\"order-items__totals-item-discount-wrapper\">\n <span class=\"order-items__totals-item-discount\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n <span class=\"order-items__totals-item-total\">\n ${{ order.total_discounted | number: '1.0-2' }}\n </span>\n </span>\n }\n </dd>\n </div>\n </dl>\n </div>\n </div>\n\n <ticket-qr-modal />\n}\n", styles: [".order-items{background-color:#fff;border-radius:.5rem;border:1px solid #f3f4f6;box-sizing:border-box;overflow:hidden;position:relative;width:100%}.order-items__header{align-items:center;display:flex;flex-flow:row wrap;gap:1rem;padding:1rem;width:100%}.order-items__header-title{color:#6b7280;font-size:.875rem;font-weight:700;margin:0}.order-items__table-container{overflow-x:auto}.order-items__table{border-collapse:collapse;font-size:.875rem;width:100%}.order-items__table-head-row{background-color:#f9fafb;text-align:left}.order-items__table-head-cell{color:#6b7280;font-size:.75rem;font-weight:700;padding:.75rem 1.5rem;text-transform:uppercase}.order-items__table-head-cell.text-right{text-align:right}.order-items__table-body>:not(:last-child){border-bottom:1px solid #f9fafb}.order-items__table-body-row{transition:all .4s ease}.order-items__table-body-row:hover{background-color:#f9fafb}.order-items__table-body-cell{color:#374151;padding:.75rem 1.5rem;white-space:nowrap}.order-items__table-body-cell.text-right{text-align:right}.order-items__totals{background-color:#f9fafb;border-top:1px solid #f3f4f6;padding:1rem 1.5rem;width:100%}.order-items__totals-container{display:flex;flex-flow:column;gap:.5rem;margin-left:auto;max-width:20rem;width:100%}.order-items__totals-item{display:flex;font-size:.875rem;justify-content:space-between;width:100%}.order-items__totals-item.actions{text-align:left}.order-items__totals-item.total-item{border-top:1px solid #e5e7eb;padding-top:.5rem}.order-items__totals-item-title{color:#6b7280}.order-items__totals-item-total{color:#111827;font-size:1.125rem;font-weight:700;line-height:100%}.order-items__totals-item-discount-wrapper{align-items:flex-end;display:flex;flex-flow:column nowrap;width:100%}.order-items__totals-item-discount{color:#9ca3af;font-size:.75rem;text-decoration:line-through}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AppButtonComponent, selector: "app-button", inputs: ["disabled", "loading", "type", "variant", "text", "size", "loadingText", "icon", "tooltip"], outputs: ["clicked"] }, { kind: "component", type: TicketQrModalComponent, selector: "ticket-qr-modal" }, { kind: "component", type: OrderItemTypeBadgeComponent, selector: "order-item-type-badge", inputs: ["item", "size"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }], encapsulation: i0.ViewEncapsulation.None });
|
|
8649
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: OrderItemsComponent, isStandalone: true, selector: "order-items", inputs: { order: "order" }, ngImport: i0, template: "@if (!!order) {\n <div class=\"order-items\">\n <div class=\"order-items__header\">\n <p class=\"order-items__header-title\">\n Informaci\u00F3n de los art\u00EDculos comprados ({{ order.order_items.length | number: '1.0' }})\n </p>\n </div>\n <div class=\"order-items__table-container\">\n <table class=\"order-items__table\">\n <thead class=\"order-items__table-head\">\n <tr class=\"order-items__table-head-row\">\n <th class=\"order-items__table-head-cell\">Tipo</th>\n <th class=\"order-items__table-head-cell\">Descripci\u00F3n</th>\n\n <th class=\"order-items__table-head-cell text-right\">Cant.</th>\n <th class=\"order-items__table-head-cell text-right\">Precio</th>\n <th class=\"order-items__table-head-cell text-right\">Total</th>\n @if (showActionColumn) {\n <th class=\"order-items__table-head-cell\">Acciones</th>\n }\n </tr>\n </thead>\n <tbody class=\"order-items__table-body\">\n @for (item of order.order_items; track $index) {\n <tr class=\"order-items__table-body-row\">\n <td class=\"order-items__table-body-cell\">\n <order-item-type-badge [item]=\"item\" size=\"xs\" />\n </td>\n\n <td class=\"order-items__table-body-cell\">\n {{ item.description }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n {{ item.quantity }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n ${{ item.normal_price | number: '1.0-2' }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n <strong>\n ${{ itemTotal(item.quantity, item.normal_price) | number: '1.0-2' }}\n </strong>\n </td>\n\n @if (item.ticket_uuid && order.status === 'completed' && showActionColumn) {\n <td class=\"order-items__table-body-cell actions\">\n <app-button\n text=\"Ver ticket\"\n size=\"xs\"\n icon=\"ri-eye-line\"\n (clicked)=\"openTicketQr(item.ticket_uuid!, item.description)\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <div class=\"order-items__totals\">\n <dl class=\"order-items__totals-container\">\n @if (giftBonds.length > 0 && totals.giftBonds > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Bonos de regalo ({{ giftBonds.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.giftBonds > 0) {\n <span class=\"text-gray-900\"> ${{ totals.giftBonds | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (corporateBonds.length > 0 && totals.corporateBonds > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Bonos corporativos ({{ corporateBonds.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.corporateBonds > 0) {\n <span class=\"text-gray-900\"> ${{ totals.corporateBonds | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (tickets.length > 0 && totals.tickets > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Entradas ({{ tickets.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.tickets > 0) {\n <span class=\"text-gray-900\"> ${{ totals.tickets | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (products.length > 0 && totals.products > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Productos</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.products > 0) {\n <span class=\"text-gray-900\"> ${{ totals.products | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (order.service_fee && order.service_fee > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Tarifa de servicio</dt>\n <dd class=\"order-items__totals-item-value\">\n <span class=\"text-gray-900\"> ${{ order.service_fee | number: '1.0-2' }} </span>\n </dd>\n </div>\n }\n\n @if (hasDiscount()) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Descuento</dt>\n <dd class=\"order-items__totals-item-title\">\n $-{{ order.discount_amount | number: '1.0-2' }}\n </dd>\n </div>\n }\n\n <div class=\"order-items__totals-item total-item\">\n <dt class=\"order-items__totals-item-total\">Total</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (!hasDiscount()) {\n <span class=\"order-items__totals-item-total\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n }\n @if (hasDiscount()) {\n <span class=\"order-items__totals-item-discount-wrapper\">\n <span class=\"order-items__totals-item-discount\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n <span class=\"order-items__totals-item-total\">\n ${{ order.total_discounted | number: '1.0-2' }}\n </span>\n </span>\n }\n </dd>\n </div>\n </dl>\n </div>\n </div>\n\n <ticket-qr-modal />\n}\n", styles: [".order-items{background-color:#fff;border-radius:.5rem;border:1px solid #f3f4f6;box-sizing:border-box;overflow:hidden;position:relative;width:100%}.order-items__header{align-items:center;display:flex;flex-flow:row wrap;gap:1rem;padding:1rem;width:100%}.order-items__header-title{color:#6b7280;font-size:.875rem;font-weight:700;margin:0}.order-items__table-container{overflow-x:auto}.order-items__table{border-collapse:collapse;font-size:.875rem;width:100%}.order-items__table-head-row{background-color:#f9fafb;text-align:left}.order-items__table-head-cell{color:#6b7280;font-size:.75rem;font-weight:700;padding:.75rem 1.5rem;text-transform:uppercase}.order-items__table-head-cell.text-right{text-align:right}.order-items__table-body>:not(:last-child){border-bottom:1px solid #f9fafb}.order-items__table-body-row{transition:all .4s ease}.order-items__table-body-row:hover{background-color:#f9fafb}.order-items__table-body-cell{color:#374151;padding:.75rem 1.5rem;white-space:nowrap}.order-items__table-body-cell.text-right{text-align:right}.order-items__totals{background-color:#f9fafb;border-top:1px solid #f3f4f6;padding:1rem 1.5rem;width:100%}.order-items__totals-container{display:flex;flex-flow:column;gap:.5rem;margin-left:auto;max-width:20rem;width:100%}.order-items__totals-item{display:flex;font-size:.875rem;justify-content:space-between;width:100%}.order-items__totals-item.actions{text-align:left}.order-items__totals-item.total-item{border-top:1px solid #e5e7eb;padding-top:.5rem}.order-items__totals-item-title{color:#6b7280}.order-items__totals-item-total{color:#111827;font-size:1.125rem;font-weight:700;line-height:100%}.order-items__totals-item-discount-wrapper{align-items:flex-end;display:flex;flex-flow:column nowrap;width:100%}.order-items__totals-item-discount{color:#9ca3af;font-size:.75rem;text-decoration:line-through}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AppButtonComponent, selector: "app-button", inputs: ["disabled", "loading", "type", "variant", "text", "size", "loadingText", "icon", "tooltip"], outputs: ["clicked"] }, { kind: "component", type: TicketQrModalComponent, selector: "ticket-qr-modal" }, { kind: "component", type: OrderItemTypeBadgeComponent, selector: "order-item-type-badge", inputs: ["item", "size"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }], encapsulation: i0.ViewEncapsulation.None });
|
|
8640
8650
|
}
|
|
8641
8651
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OrderItemsComponent, decorators: [{
|
|
8642
8652
|
type: Component,
|
|
@@ -8646,7 +8656,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8646
8656
|
TicketQrModalComponent,
|
|
8647
8657
|
TicketMapWidgetHeaderComponent,
|
|
8648
8658
|
OrderItemTypeBadgeComponent,
|
|
8649
|
-
], encapsulation: ViewEncapsulation.None, template: "@if (!!order) {\n <div class=\"order-items\">\n <div class=\"order-items__header\">\n <p class=\"order-items__header-title\">\n Informaci\u00F3n de los art\u00EDculos comprados ({{ order.order_items.length | number: '1.0' }})\n </p>\n </div>\n <div class=\"order-items__table-container\">\n <table class=\"order-items__table\">\n <thead class=\"order-items__table-head\">\n <tr class=\"order-items__table-head-row\">\n <th class=\"order-items__table-head-cell\">Tipo</th>\n <th class=\"order-items__table-head-cell\">Descripci\u00F3n</th>\n\n <th class=\"order-items__table-head-cell text-right\">Cant.</th>\n <th class=\"order-items__table-head-cell text-right\">Precio</th>\n <th class=\"order-items__table-head-cell text-right\">Total</th>\n @if (showActionColumn) {\n <th class=\"order-items__table-head-cell\">Acciones</th>\n }\n </tr>\n </thead>\n <tbody class=\"order-items__table-body\">\n @for (item of order.order_items; track $index) {\n <tr class=\"order-items__table-body-row\">\n <td class=\"order-items__table-body-cell\">\n <order-item-type-badge [item]=\"item\" size=\"xs\" />\n </td>\n\n <td class=\"order-items__table-body-cell\">\n {{ item.description }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n {{ item.quantity }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n ${{ item.normal_price | number: '1.0-2' }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n <strong>\n ${{ itemTotal(item.quantity, item.normal_price) | number: '1.0-2' }}\n </strong>\n </td>\n\n @if (item.ticket_uuid && order.status === 'completed' && showActionColumn) {\n <td class=\"order-items__table-body-cell actions\">\n <app-button\n text=\"Ver ticket\"\n size=\"xs\"\n icon=\"ri-eye-line\"\n (clicked)=\"openTicketQr(item.ticket_uuid!, item.description)\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <div class=\"order-items__totals\">\n <dl class=\"order-items__totals-container\">\n @if (giftBonds.length > 0 && totals.giftBonds > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Bonos de regalo ({{ giftBonds.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.giftBonds > 0) {\n <span class=\"text-gray-900\"> ${{ totals.giftBonds | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (tickets.length > 0 && totals.tickets > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Entradas ({{ tickets.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.tickets > 0) {\n <span class=\"text-gray-900\"> ${{ totals.tickets | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (products.length > 0 && totals.products > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Productos</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.products > 0) {\n <span class=\"text-gray-900\"> ${{ totals.products | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (order.service_fee && order.service_fee > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Tarifa de servicio</dt>\n <dd class=\"order-items__totals-item-value\">\n <span class=\"text-gray-900\"> ${{ order.service_fee | number: '1.0-2' }} </span>\n </dd>\n </div>\n }\n\n @if (hasDiscount()) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Descuento</dt>\n <dd class=\"order-items__totals-item-title\">\n $-{{ order.discount_amount | number: '1.0-2' }}\n </dd>\n </div>\n }\n\n <div class=\"order-items__totals-item total-item\">\n <dt class=\"order-items__totals-item-total\">Total</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (!hasDiscount()) {\n <span class=\"order-items__totals-item-total\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n }\n @if (hasDiscount()) {\n <span class=\"order-items__totals-item-discount-wrapper\">\n <span class=\"order-items__totals-item-discount\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n <span class=\"order-items__totals-item-total\">\n ${{ order.total_discounted | number: '1.0-2' }}\n </span>\n </span>\n }\n </dd>\n </div>\n </dl>\n </div>\n </div>\n\n <ticket-qr-modal />\n}\n", styles: [".order-items{background-color:#fff;border-radius:.5rem;border:1px solid #f3f4f6;box-sizing:border-box;overflow:hidden;position:relative;width:100%}.order-items__header{align-items:center;display:flex;flex-flow:row wrap;gap:1rem;padding:1rem;width:100%}.order-items__header-title{color:#6b7280;font-size:.875rem;font-weight:700;margin:0}.order-items__table-container{overflow-x:auto}.order-items__table{border-collapse:collapse;font-size:.875rem;width:100%}.order-items__table-head-row{background-color:#f9fafb;text-align:left}.order-items__table-head-cell{color:#6b7280;font-size:.75rem;font-weight:700;padding:.75rem 1.5rem;text-transform:uppercase}.order-items__table-head-cell.text-right{text-align:right}.order-items__table-body>:not(:last-child){border-bottom:1px solid #f9fafb}.order-items__table-body-row{transition:all .4s ease}.order-items__table-body-row:hover{background-color:#f9fafb}.order-items__table-body-cell{color:#374151;padding:.75rem 1.5rem;white-space:nowrap}.order-items__table-body-cell.text-right{text-align:right}.order-items__totals{background-color:#f9fafb;border-top:1px solid #f3f4f6;padding:1rem 1.5rem;width:100%}.order-items__totals-container{display:flex;flex-flow:column;gap:.5rem;margin-left:auto;max-width:20rem;width:100%}.order-items__totals-item{display:flex;font-size:.875rem;justify-content:space-between;width:100%}.order-items__totals-item.actions{text-align:left}.order-items__totals-item.total-item{border-top:1px solid #e5e7eb;padding-top:.5rem}.order-items__totals-item-title{color:#6b7280}.order-items__totals-item-total{color:#111827;font-size:1.125rem;font-weight:700;line-height:100%}.order-items__totals-item-discount-wrapper{align-items:flex-end;display:flex;flex-flow:column nowrap;width:100%}.order-items__totals-item-discount{color:#9ca3af;font-size:.75rem;text-decoration:line-through}\n"] }]
|
|
8659
|
+
], encapsulation: ViewEncapsulation.None, template: "@if (!!order) {\n <div class=\"order-items\">\n <div class=\"order-items__header\">\n <p class=\"order-items__header-title\">\n Informaci\u00F3n de los art\u00EDculos comprados ({{ order.order_items.length | number: '1.0' }})\n </p>\n </div>\n <div class=\"order-items__table-container\">\n <table class=\"order-items__table\">\n <thead class=\"order-items__table-head\">\n <tr class=\"order-items__table-head-row\">\n <th class=\"order-items__table-head-cell\">Tipo</th>\n <th class=\"order-items__table-head-cell\">Descripci\u00F3n</th>\n\n <th class=\"order-items__table-head-cell text-right\">Cant.</th>\n <th class=\"order-items__table-head-cell text-right\">Precio</th>\n <th class=\"order-items__table-head-cell text-right\">Total</th>\n @if (showActionColumn) {\n <th class=\"order-items__table-head-cell\">Acciones</th>\n }\n </tr>\n </thead>\n <tbody class=\"order-items__table-body\">\n @for (item of order.order_items; track $index) {\n <tr class=\"order-items__table-body-row\">\n <td class=\"order-items__table-body-cell\">\n <order-item-type-badge [item]=\"item\" size=\"xs\" />\n </td>\n\n <td class=\"order-items__table-body-cell\">\n {{ item.description }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n {{ item.quantity }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n ${{ item.normal_price | number: '1.0-2' }}\n </td>\n\n <td class=\"order-items__table-body-cell text-right\">\n <strong>\n ${{ itemTotal(item.quantity, item.normal_price) | number: '1.0-2' }}\n </strong>\n </td>\n\n @if (item.ticket_uuid && order.status === 'completed' && showActionColumn) {\n <td class=\"order-items__table-body-cell actions\">\n <app-button\n text=\"Ver ticket\"\n size=\"xs\"\n icon=\"ri-eye-line\"\n (clicked)=\"openTicketQr(item.ticket_uuid!, item.description)\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <div class=\"order-items__totals\">\n <dl class=\"order-items__totals-container\">\n @if (giftBonds.length > 0 && totals.giftBonds > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Bonos de regalo ({{ giftBonds.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.giftBonds > 0) {\n <span class=\"text-gray-900\"> ${{ totals.giftBonds | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (corporateBonds.length > 0 && totals.corporateBonds > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Bonos corporativos ({{ corporateBonds.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.corporateBonds > 0) {\n <span class=\"text-gray-900\"> ${{ totals.corporateBonds | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (tickets.length > 0 && totals.tickets > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Entradas ({{ tickets.length }})</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.tickets > 0) {\n <span class=\"text-gray-900\"> ${{ totals.tickets | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (products.length > 0 && totals.products > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Productos</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (totals.products > 0) {\n <span class=\"text-gray-900\"> ${{ totals.products | number: '1.0-2' }} </span>\n }\n </dd>\n </div>\n }\n\n @if (order.service_fee && order.service_fee > 0) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Tarifa de servicio</dt>\n <dd class=\"order-items__totals-item-value\">\n <span class=\"text-gray-900\"> ${{ order.service_fee | number: '1.0-2' }} </span>\n </dd>\n </div>\n }\n\n @if (hasDiscount()) {\n <div class=\"order-items__totals-item\">\n <dt class=\"order-items__totals-item-title\">Descuento</dt>\n <dd class=\"order-items__totals-item-title\">\n $-{{ order.discount_amount | number: '1.0-2' }}\n </dd>\n </div>\n }\n\n <div class=\"order-items__totals-item total-item\">\n <dt class=\"order-items__totals-item-total\">Total</dt>\n <dd class=\"order-items__totals-item-value\">\n @if (!hasDiscount()) {\n <span class=\"order-items__totals-item-total\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n }\n @if (hasDiscount()) {\n <span class=\"order-items__totals-item-discount-wrapper\">\n <span class=\"order-items__totals-item-discount\">\n ${{ order.total | number: '1.0-2' }}\n </span>\n <span class=\"order-items__totals-item-total\">\n ${{ order.total_discounted | number: '1.0-2' }}\n </span>\n </span>\n }\n </dd>\n </div>\n </dl>\n </div>\n </div>\n\n <ticket-qr-modal />\n}\n", styles: [".order-items{background-color:#fff;border-radius:.5rem;border:1px solid #f3f4f6;box-sizing:border-box;overflow:hidden;position:relative;width:100%}.order-items__header{align-items:center;display:flex;flex-flow:row wrap;gap:1rem;padding:1rem;width:100%}.order-items__header-title{color:#6b7280;font-size:.875rem;font-weight:700;margin:0}.order-items__table-container{overflow-x:auto}.order-items__table{border-collapse:collapse;font-size:.875rem;width:100%}.order-items__table-head-row{background-color:#f9fafb;text-align:left}.order-items__table-head-cell{color:#6b7280;font-size:.75rem;font-weight:700;padding:.75rem 1.5rem;text-transform:uppercase}.order-items__table-head-cell.text-right{text-align:right}.order-items__table-body>:not(:last-child){border-bottom:1px solid #f9fafb}.order-items__table-body-row{transition:all .4s ease}.order-items__table-body-row:hover{background-color:#f9fafb}.order-items__table-body-cell{color:#374151;padding:.75rem 1.5rem;white-space:nowrap}.order-items__table-body-cell.text-right{text-align:right}.order-items__totals{background-color:#f9fafb;border-top:1px solid #f3f4f6;padding:1rem 1.5rem;width:100%}.order-items__totals-container{display:flex;flex-flow:column;gap:.5rem;margin-left:auto;max-width:20rem;width:100%}.order-items__totals-item{display:flex;font-size:.875rem;justify-content:space-between;width:100%}.order-items__totals-item.actions{text-align:left}.order-items__totals-item.total-item{border-top:1px solid #e5e7eb;padding-top:.5rem}.order-items__totals-item-title{color:#6b7280}.order-items__totals-item-total{color:#111827;font-size:1.125rem;font-weight:700;line-height:100%}.order-items__totals-item-discount-wrapper{align-items:flex-end;display:flex;flex-flow:column nowrap;width:100%}.order-items__totals-item-discount{color:#9ca3af;font-size:.75rem;text-decoration:line-through}\n"] }]
|
|
8650
8660
|
}], ctorParameters: () => [{ type: TicketQrModalService }], propDecorators: { order: [{
|
|
8651
8661
|
type: Input,
|
|
8652
8662
|
args: [{ required: true }]
|