@rolatech/angular-order 18.1.0 → 19.0.0-beta.1
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/fesm2022/rolatech-angular-order.mjs +445 -66
- package/fesm2022/rolatech-angular-order.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/lib/components/order-fulfill/order-fulfill.component.d.ts +13 -0
- package/lib/components/order-manage-item/order-manage-item.component.d.ts +14 -0
- package/lib/interfaces/order.d.ts +44 -1
- package/lib/pages/{order-detail → order/order-detail}/order-detail.component.d.ts +1 -1
- package/lib/pages/{orders-index → order/order-index}/order-index.component.d.ts +1 -1
- package/lib/pages/{order-qrcodepay → order/order-qrcodepay}/order-qrcodepay.component.d.ts +1 -1
- package/lib/pages/order/order-tracking/order-tracking.component.d.ts +14 -0
- package/lib/pages/order-manage/order-manage-detail/order-manage-detail.component.d.ts +31 -0
- package/lib/pages/order-manage/order-manage-fulfillment/order-manage-fulfillment.component.d.ts +15 -0
- package/lib/pages/order-manage/order-manage-index/order-manage-index.component.d.ts +35 -0
- package/lib/pages/order-manage/order-manage-tracking/order-manage-tracking.component.d.ts +5 -0
- package/lib/pages/order-manage/order-manage.routes.d.ts +2 -0
- package/package.json +8 -6
- package/themes/_default.scss +1 -1
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/components/index.mjs +0 -6
- package/esm2022/lib/components/order-detail-item/order-detail-item.component.mjs +0 -25
- package/esm2022/lib/components/order-item/order-item.component.mjs +0 -35
- package/esm2022/lib/components/order-return-request/order-return-request.component.mjs +0 -23
- package/esm2022/lib/components/order-variant-item/order-variant-item.component.mjs +0 -12
- package/esm2022/lib/interfaces/index.mjs +0 -2
- package/esm2022/lib/interfaces/order.mjs +0 -84
- package/esm2022/lib/orders.routes.mjs +0 -18
- package/esm2022/lib/pages/order-detail/order-detail.component.mjs +0 -131
- package/esm2022/lib/pages/order-qrcodepay/order-qrcodepay.component.mjs +0 -71
- package/esm2022/lib/pages/orders-index/order-index.component.mjs +0 -152
- package/esm2022/lib/pipe/order-item-options.pipe.mjs +0 -29
- package/esm2022/rolatech-angular-order.mjs +0 -5
- /package/lib/{orders.routes.d.ts → pages/order/orders.routes.d.ts} +0 -0
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
2
|
-
import { AsyncPipe, NgClass } from '@angular/common';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { RouterLink } from '@angular/router';
|
|
6
|
-
import moment from 'moment';
|
|
7
|
-
import { ContainerComponent, BaseComponent, SpinnerComponent, ThumbnailComponent, TitleComponent, ToolbarComponent, } from '@rolatech/angular-components';
|
|
8
|
-
import { CourseType, CourseService } from '@rolatech/angular-course';
|
|
9
|
-
import { NavigationService } from '@rolatech/angular-services';
|
|
10
|
-
import { OrderService } from '@rolatech/angular-services';
|
|
11
|
-
import { OrderStatus, OrderTimelineStatus, OrderType } from '../../interfaces';
|
|
12
|
-
import { OrderReturnRequestComponent } from '../../components/order-return-request/order-return-request.component';
|
|
13
|
-
import { ProductService } from '@rolatech/angular-services';
|
|
14
|
-
import { OrderVariantItemComponent } from '../../components/order-variant-item/order-variant-item.component';
|
|
15
|
-
import { OrderDetailItemComponent } from '../../components/order-detail-item/order-detail-item.component';
|
|
16
|
-
import { OrderItemOptionsFormatPipe } from '../../pipe/order-item-options.pipe';
|
|
17
|
-
import { DecimalDirective, FixedPipe } from '@rolatech/angular-common';
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
import * as i1 from "@angular/material/button";
|
|
20
|
-
import * as i2 from "@angular/material/icon";
|
|
21
|
-
export class OrderDetailComponent extends BaseComponent {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...arguments);
|
|
24
|
-
this.status = OrderStatus;
|
|
25
|
-
this.type = CourseType;
|
|
26
|
-
this.orderType = OrderType;
|
|
27
|
-
this.orderService = inject(OrderService);
|
|
28
|
-
this.courseService = inject(CourseService);
|
|
29
|
-
this.productService = inject(ProductService);
|
|
30
|
-
this.navigationService = inject(NavigationService);
|
|
31
|
-
this.info = false;
|
|
32
|
-
this.loadingTimeline = false;
|
|
33
|
-
this.timelineStatus = OrderTimelineStatus;
|
|
34
|
-
this.countDown = '';
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.get();
|
|
38
|
-
}
|
|
39
|
-
get() {
|
|
40
|
-
this.orderService.get(this.id).subscribe({
|
|
41
|
-
next: (res) => {
|
|
42
|
-
this.order = res.data;
|
|
43
|
-
if (this.order.status === 'CREATED') {
|
|
44
|
-
setInterval(() => {
|
|
45
|
-
const start = moment();
|
|
46
|
-
const end = moment(this.order.createdAt).add(15, 'minute');
|
|
47
|
-
const diff = end.diff(start);
|
|
48
|
-
const duration = moment.duration(diff);
|
|
49
|
-
this.countDown = moment.utc(duration.as('milliseconds')).format('mm:ss');
|
|
50
|
-
}, 1000);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
refund() {
|
|
56
|
-
const options = {
|
|
57
|
-
width: '500px',
|
|
58
|
-
title: '申请退款',
|
|
59
|
-
height: '90%',
|
|
60
|
-
cancelText: '取消',
|
|
61
|
-
confirmText: '确认',
|
|
62
|
-
component: OrderReturnRequestComponent,
|
|
63
|
-
data: {
|
|
64
|
-
reason: '',
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
this.dialogService.open(options);
|
|
68
|
-
this.dialogService.confirmed().subscribe((res) => {
|
|
69
|
-
if (res) {
|
|
70
|
-
this.orderService.refund(this.id, { reason: res }).subscribe({
|
|
71
|
-
next: (res) => {
|
|
72
|
-
this.snackBarService.open('退款申请成功, 等待审核');
|
|
73
|
-
},
|
|
74
|
-
error: (error) => {
|
|
75
|
-
this.snackBarService.open(error.message);
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
cancel() {
|
|
82
|
-
this.orderService.cancel(this.id).subscribe({
|
|
83
|
-
next: (res) => {
|
|
84
|
-
this.order.status = 'CANCELED';
|
|
85
|
-
this.snackBarService.open('取消成功');
|
|
86
|
-
},
|
|
87
|
-
error: (error) => {
|
|
88
|
-
this.snackBarService.open(error.message);
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
pay() {
|
|
93
|
-
this.router.navigateByUrl(`/orders/${this.id}/qrcodepay`);
|
|
94
|
-
}
|
|
95
|
-
timeline() {
|
|
96
|
-
this.info = true;
|
|
97
|
-
this.loadingTimeline = true;
|
|
98
|
-
this.orderService.timeline(this.id).subscribe({
|
|
99
|
-
next: (res) => {
|
|
100
|
-
this.timelineData = res.data;
|
|
101
|
-
this.loadingTimeline = false;
|
|
102
|
-
},
|
|
103
|
-
error: (error) => {
|
|
104
|
-
this.loadingTimeline = false;
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: OrderDetailComponent, isStandalone: true, selector: "rolatech-order-detail", usesInheritance: true, ngImport: i0, template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" large link=\"../\">\n <button mat-button (click)=\"timeline()\">\n <mat-icon>history</mat-icon>\n <span>\u8BA2\u5355\u72B6\u6001</span>\n </button>\n </rolatech-toolbar>\n <div>\n @if (order.status === 'CREATED') {\n <div class=\"text-[--rt-brand-color] font-bold\">\u652F\u4ED8\u5012\u8BA1\u65F6: {{ countDown }}</div>\n }\n <div>\n <div>\n @for (item of order.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n </div>\n <div class=\"mt-3\">\n <div class=\"text-lg py-3 font-medium\">\u8BA2\u5355\u4FE1\u606F</div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u8BA2\u5355\u53F7</span>\n <span class=\"text-sm\"> {{ order.orderNo }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u4E0B\u5355\u65F6\u95F4</span>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.note || '\u65E0' }}</span>\n </div>\n @if (order.deposit) {\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total - order.deposit | fixed }}</span>\n </div>\n }\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total | fixed }}</span>\n </div>\n </div>\n @if (order.status.toString() === 'CREATED' || order.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\">\u652F\u4ED8\u65B9\u5F0F</div>\n <div class=\"flex items-center\">\n <svg\n class=\"svg-icon\"\n style=\"width: 2rem; height: 2rem\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\"\n fill=\"#09BB07\"\n />\n </svg>\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\n <!-- <svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 715.94 211.02\">\n <title>WeChat Pay logo - Brandlogos.net</title>\n <g id=\"\u9875\u9762-1\">\n <g id=\"\u753B\u677F\">\n <g id=\"\u7F16\u7EC4\">\n <path\n id=\"\u5F62\u72B6\u7ED3\u5408\"\n d=\"M710.2,429.86l8.93,24.1c.93,2.7,1.94,5.9,2.61,8.34h.17c.76-2.44,1.6-5.56,2.61-8.51l8.09-23.93h7.84l-11.13,29.08c-5.31,14-8.93,21.16-14,25.54a21.48,21.48,0,0,1-7.57,4.41c-.61-1.09-3.39-5.85-3.39-5.85a19.62,19.62,0,0,0,6.49-3.62,22.5,22.5,0,0,0,6.24-8.26,5.31,5.31,0,0,0,.59-1.77,6.45,6.45,0,0,0-.51-1.94l-15.09-37.59Zm-170.81-.93c12.47,0,15.51,8.51,15.51,16.69v15.26a57.4,57.4,0,0,0,.67,9.78h-6.74l-.59-5.14H548a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.76-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.61,20.61,0,0,0-9.77,2.52L526,432.56A25.3,25.3,0,0,1,539.39,428.94Zm138.79,0c12.47,0,15.51,8.51,15.51,16.69v15.26a57.41,57.41,0,0,0,.67,9.78h-6.74l-.59-5.14h-.25a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.77-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.6,20.6,0,0,0-9.77,2.52l-2.53-4.38A25.3,25.3,0,0,1,678.18,428.94Zm-226.09-16c7.08,0,11.55,1.52,13.48,2.53,0,0-2.24,3.9-3.16,5.38a28,28,0,0,0-10.07-1.75c-13.32,0-22.17,8.51-22.17,23.43,0,13.91,8,22.84,21.83,22.84a31.51,31.51,0,0,0,10.48-1.73c.67,1.17,3,5.19,3,5.19-2.7,1.35-8.09,2.7-15,2.7-16,0-28.07-10.11-28.07-28.74C422.42,425,434.47,412.92,452.09,412.92Zm-55.11,16c13.32,0,16.86,11.72,16.86,19.22a28,28,0,0,1-.25,3.46H384.93c.17,10,6.57,14.16,14,14.16a27.78,27.78,0,0,0,9.78-1.51c.68,1.12,2.78,4.71,2.78,4.71a33,33,0,0,1-13.57,2.53c-12.56,0-20.06-8.26-20.06-20.57S385.09,428.94,397,428.94Zm181-10.79v11.72H588.6v5.65H578v22c0,5.06,1.43,7.92,5.56,7.92.61,0,1.16,0,1.67-.07.87,1.47,3,5.12,3,5.12a18.19,18.19,0,0,1-6.57,1c-3.46,0-6.24-1.1-8-3.12-2.11-2.19-2.87-5.81-2.87-10.62V435.51h-6.32v-5.65h6.32V418.15Zm56.21-4.72c7.25,0,12.56,1.69,15.93,4.72,3.12,2.7,5,6.83,5,11.88s-1.52,9.19-4.38,12.14c-3.88,4.13-10.2,6.24-17.36,6.24a25.3,25.3,0,0,1-5.9-.51v22.76h-7.33V414.52A85.05,85.05,0,0,1,634.19,413.43Zm-321.57.42,6.74,28.74c1.69,7.08,3.2,14.16,4.21,19.64h.17c.93-5.65,2.7-12.39,4.64-19.72L336,413.85h7.67l6.91,28.82c1.6,6.74,3.12,13.48,4,19.47h.17c1.18-6.24,2.78-12.56,4.55-19.64l7.5-28.66h7.5l-16.1,56.81h-7.67l-7.16-29.58a171.14,171.14,0,0,1-3.71-18.54h-.17A177.33,177.33,0,0,1,335,441.07L327,470.65h-7.67l-14.41-56.81Zm171.74-3v25.45h.17a13.77,13.77,0,0,1,5.31-5.23,15.27,15.27,0,0,1,7.59-2.11c5.48,0,14.24,3.37,14.24,17.45v24.27h-7.42V447.23c0-6.57-2.44-12.14-9.44-12.14a10.65,10.65,0,0,0-9.95,7.42,9,9,0,0,0-.51,3.54v24.61h-7.42V410.82ZM530.45,459c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C539.64,449.67,530.45,451.1,530.45,459Zm138.79,0c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C678.43,449.67,669.24,451.1,669.24,459ZM396.39,434.25c-7.5,0-10.79,6.91-11.38,12.05h21.66C406.75,441.58,404.73,434.25,396.39,434.25Zm238-15a30.8,30.8,0,0,0-6.91.59v22.08a24.65,24.65,0,0,0,6.07.59c8.85,0,14.24-4.3,14.24-12.14C647.76,422.87,642.45,419.24,634.36,419.24ZM584.45,291.18V306.1h44.14v7.75H584.45v16.2h35.63s-4.57,23.28-31.27,42.88c10.8,5.69,25,9.72,42.38,12.44,0,0-2.81,5-5.21,8.85-19-3.3-33.81-9.08-45.43-15.86-11.71,6.95-26.85,13-46.43,16.4-1.36-2-5.08-8.6-5.08-8.6,17.75-2.78,32.36-7.27,43.28-13.13-26.84-19.25-32-43-32-43h35.53v-16.2H530V306.1h45.85V291.18ZM323,319.7l6.88,3.65c-3.27,7.77-6.31,13.06-7.15,14.72v56.38H315V350.25c-4.44,6-7,9.07-8.34,10.54l-4.37-7.57C310.57,344.43,317.91,332.36,323,319.7Zm341.11-28.21,9,2-.28.74c-3.66,9.57-7.09,17.72-10.19,24.22v76H654V334.82a161.16,161.16,0,0,1-10.27,14.75L639,341.25c10.14-13.8,18.67-30.56,24.88-49.18Zm-226.36,0,8.15,2s-5.19,16.35-9.16,25l0,76h-8.61V335.12c-3.45,6.5-5.76,10.77-8.68,14.59l-4.66-8.07C426.86,326.4,437.72,291.47,437.72,291.47Zm-54.81-.41,7.75,1.55-.18.7c-1.6,6.13-3.37,12.15-5.26,17.91h23.19v7.33h-5.59c-1.44,20.81-5.13,36.93-10.95,47.93,4.62,9,13.52,17.42,16,19.7-.56,1.07-4.44,7.71-4.44,7.71s-12.89-13.2-15.81-19.59c-3.28,5.51-9.33,12.65-17.53,20h0L366,387s11.22-9.31,17.58-20.55a125.69,125.69,0,0,1-7.81-32.27c-1.36,2.39-2.1,3.68-3.47,5.73,0,0-3.62-6.29-4.36-7.47,6.51-11.45,11.39-24.94,14.87-40.71h0Zm344.12.88v24.4H742v8.18H727v53.12A15.35,15.35,0,0,1,711.7,393h-10v-9h10a6.39,6.39,0,0,0,6.38-6.38V324.52H670.25v-8.18h47.82v-24.4Zm-214.4,64.91v35.69H452V356.85Zm-149-4.26v19.71c1.45-1.23,5.89-5.13,7.38-6.46l3.57,6.18-16.36,13.81s-3.46-6-4.16-7.11c1-1.07,2.25-3.28,2.25-7.5V359.91H341.47c0,16.86-.68,23-11.92,31.75,0,0-2.71-4.78-3.92-6.78,9.66-7.63,8.51-18.06,8.51-32.29Zm140.81,12H460.61v20.61h43.84ZM608,337.7H552.6c3.17,6.6,11,19.34,28,30.42C597.44,356.87,605.06,344,608,337.7Zm79.67-.53L703.31,362l-8.15,4.45-14.64-25ZM395.5,318.55H382.74c-.13.52-1.33,3.54-1.6,4.13,1.59,15.26,3.94,27,7,34.81,3.79-9.1,6.27-22.18,7.36-38.94Zm118,21.24v7.33H451.15v-7.33Zm-146-3.84v7.33h-35V336Zm146-13.22v7.33H451.15v-7.33ZM354.26,292.89v26.87h7.92V300.56h6.9v26.09H331.7V301H339v18.76h7.91V292.89Zm-30.89-1.78,6.76,4.43a101.69,101.69,0,0,1-22.45,30.55L303.6,319C311,311.86,318,301.79,323.38,291.1Zm158.9.37,6.08,13.78h31.1V313H445.61v-7.75h34.12L475.3,294.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #4d4d4d\"\n />\n <path\n id=\"Fill-29\"\n d=\"M113,412a8,8,0,0,1-10.54-3.22l-.52-1.14L80.18,359.84a4.16,4.16,0,0,1-.38-1.68A4,4,0,0,1,86.17,355l25.69,18.29a11.86,11.86,0,0,0,10.62,1.22L243.29,320.7c-21.66-25.52-57.32-42.2-97.68-42.2-66,0-119.58,44.62-119.58,99.66,0,30,16.11,57.06,41.32,75.33A8,8,0,0,1,70.69,460a9.43,9.43,0,0,1-.42,2.54l-5.39,20.1a11.73,11.73,0,0,0-.64,2.91,4,4,0,0,0,4,4,4.5,4.5,0,0,0,2.3-.74l26.18-15.11a12.55,12.55,0,0,1,6.35-1.84,12,12,0,0,1,3.51.53,141.5,141.5,0,0,0,39,5.46c66,0,119.59-44.62,119.59-99.66A86.29,86.29,0,0,0,251.58,332l-137.69,79.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #1aad19\"\n />\n </g>\n </g>\n </g>\n </svg> -->\n </div>\n </div>\n }\n </div>\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n @if (order.status.toString() === 'PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"refund()\">\u7533\u8BF7\u9000\u6B3E</button>\n }\n <div class=\"flex items-center justify-end\">\n @if (order.status.toString() === 'CREATED') {\n <span\n class=\"underline text-sm underline-offset-4 mr-6 cursor-pointer hover:text-[--rt-brand-color]\"\n (click)=\"cancel()\"\n >\u53D6\u6D88\u8BA2\u5355</span\n >\n }\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5B9A\u91D1</button>\n } @else {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u8BA2\u5355</button>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5C3E\u6B3E</button>\n }\n </div>\n </div>\n </div>\n </rolatech-container>\n}\n<div\n [ngClass]=\"info ? 'translate-none' : 'translate-x-full'\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-80 sm:w-[300px] shadow-xl\"\n>\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-xl font-bold\">\u8BA2\u5355\u72B6\u6001</div>\n <button mat-icon-button (click)=\"info = !info\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (!loadingTimeline) {\n <div class=\"mt-3 p-1 sm:p-4\">\n <ol class=\"relative border-l border-[--rt-border-color]\">\n @for (item of timelineData; track item) {\n <li class=\"mb-8 ml-4\">\n <div\n class=\"absolute w-3 h-3 rounded-full mt-1.5 -left-1.5 border border-[--rt-raised-background] bg-[--rt-text-primary]\"\n ></div>\n <div class=\"text-md font-bold mb-1\">{{ timelineStatus[item.status] }}</div>\n @if (item.status === 'BOOKING_RETURN_REJECTED') {\n <div class=\"text-sm mb-1\">{{ item.return.note }}</div>\n }\n @if (item.status === 'BOOKING_RETURN_REQUESTED') {\n <div class=\"text-sm mb-1\">{{ item.return.reason }}</div>\n }\n <div class=\"text-sm text-[--rt-text-secondary]\">{{ item.date }}</div>\n </li>\n }\n </ol>\n </div>\n }\n @if (loadingTimeline) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n }\n</div>\n<div\n (click)=\"info = !info\"\n [ngClass]=\"info ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed inset-0 z-[1000]\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: OrderDetailItemComponent, selector: "rolatech-order-detail-item", inputs: ["thumbnail", "title", "description", "quantity", "total", "link"] }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }, { kind: "pipe", type: FixedPipe, name: "fixed" }] }); }
|
|
110
|
-
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderDetailComponent, decorators: [{
|
|
112
|
-
type: Component,
|
|
113
|
-
args: [{ selector: 'rolatech-order-detail', standalone: true, imports: [
|
|
114
|
-
MatButtonModule,
|
|
115
|
-
MatIconModule,
|
|
116
|
-
RouterLink,
|
|
117
|
-
NgClass,
|
|
118
|
-
AsyncPipe,
|
|
119
|
-
SpinnerComponent,
|
|
120
|
-
ContainerComponent,
|
|
121
|
-
ThumbnailComponent,
|
|
122
|
-
ToolbarComponent,
|
|
123
|
-
TitleComponent,
|
|
124
|
-
OrderDetailItemComponent,
|
|
125
|
-
OrderVariantItemComponent,
|
|
126
|
-
OrderItemOptionsFormatPipe,
|
|
127
|
-
DecimalDirective,
|
|
128
|
-
FixedPipe,
|
|
129
|
-
], template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" large link=\"../\">\n <button mat-button (click)=\"timeline()\">\n <mat-icon>history</mat-icon>\n <span>\u8BA2\u5355\u72B6\u6001</span>\n </button>\n </rolatech-toolbar>\n <div>\n @if (order.status === 'CREATED') {\n <div class=\"text-[--rt-brand-color] font-bold\">\u652F\u4ED8\u5012\u8BA1\u65F6: {{ countDown }}</div>\n }\n <div>\n <div>\n @for (item of order.items; track $index) {\n <rolatech-order-detail-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [link]=\"order.type.toString() === 'PRODUCT' ? '/products/' + item.productId : '/courses/' + item.productId\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions: order.type\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-detail-item>\n }\n </div>\n <div class=\"mt-3\">\n <div class=\"text-lg py-3 font-medium\">\u8BA2\u5355\u4FE1\u606F</div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u8BA2\u5355\u53F7</span>\n <span class=\"text-sm\"> {{ order.orderNo }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u4E0B\u5355\u65F6\u95F4</span>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</span>\n <span class=\"text-sm\">{{ order.note || '\u65E0' }}</span>\n </div>\n @if (order.deposit) {\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total - order.deposit | fixed }}</span>\n </div>\n }\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</span>\n <span class=\"text-sm\">\u00A5{{ order.total | fixed }}</span>\n </div>\n </div>\n @if (order.status.toString() === 'CREATED' || order.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\">\u652F\u4ED8\u65B9\u5F0F</div>\n <div class=\"flex items-center\">\n <svg\n class=\"svg-icon\"\n style=\"width: 2rem; height: 2rem\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\"\n fill=\"#09BB07\"\n />\n </svg>\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\n <!-- <svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 715.94 211.02\">\n <title>WeChat Pay logo - Brandlogos.net</title>\n <g id=\"\u9875\u9762-1\">\n <g id=\"\u753B\u677F\">\n <g id=\"\u7F16\u7EC4\">\n <path\n id=\"\u5F62\u72B6\u7ED3\u5408\"\n d=\"M710.2,429.86l8.93,24.1c.93,2.7,1.94,5.9,2.61,8.34h.17c.76-2.44,1.6-5.56,2.61-8.51l8.09-23.93h7.84l-11.13,29.08c-5.31,14-8.93,21.16-14,25.54a21.48,21.48,0,0,1-7.57,4.41c-.61-1.09-3.39-5.85-3.39-5.85a19.62,19.62,0,0,0,6.49-3.62,22.5,22.5,0,0,0,6.24-8.26,5.31,5.31,0,0,0,.59-1.77,6.45,6.45,0,0,0-.51-1.94l-15.09-37.59Zm-170.81-.93c12.47,0,15.51,8.51,15.51,16.69v15.26a57.4,57.4,0,0,0,.67,9.78h-6.74l-.59-5.14H548a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.76-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.61,20.61,0,0,0-9.77,2.52L526,432.56A25.3,25.3,0,0,1,539.39,428.94Zm138.79,0c12.47,0,15.51,8.51,15.51,16.69v15.26a57.41,57.41,0,0,0,.67,9.78h-6.74l-.59-5.14h-.25a15.19,15.19,0,0,1-12.47,6.07c-8.26,0-12.47-5.82-12.47-11.72,0-9.86,8.77-15.25,24.53-15.17v-.84c0-3.37-.93-9.44-9.27-9.44a20.6,20.6,0,0,0-9.77,2.52l-2.53-4.38A25.3,25.3,0,0,1,678.18,428.94Zm-226.09-16c7.08,0,11.55,1.52,13.48,2.53,0,0-2.24,3.9-3.16,5.38a28,28,0,0,0-10.07-1.75c-13.32,0-22.17,8.51-22.17,23.43,0,13.91,8,22.84,21.83,22.84a31.51,31.51,0,0,0,10.48-1.73c.67,1.17,3,5.19,3,5.19-2.7,1.35-8.09,2.7-15,2.7-16,0-28.07-10.11-28.07-28.74C422.42,425,434.47,412.92,452.09,412.92Zm-55.11,16c13.32,0,16.86,11.72,16.86,19.22a28,28,0,0,1-.25,3.46H384.93c.17,10,6.57,14.16,14,14.16a27.78,27.78,0,0,0,9.78-1.51c.68,1.12,2.78,4.71,2.78,4.71a33,33,0,0,1-13.57,2.53c-12.56,0-20.06-8.26-20.06-20.57S385.09,428.94,397,428.94Zm181-10.79v11.72H588.6v5.65H578v22c0,5.06,1.43,7.92,5.56,7.92.61,0,1.16,0,1.67-.07.87,1.47,3,5.12,3,5.12a18.19,18.19,0,0,1-6.57,1c-3.46,0-6.24-1.1-8-3.12-2.11-2.19-2.87-5.81-2.87-10.62V435.51h-6.32v-5.65h6.32V418.15Zm56.21-4.72c7.25,0,12.56,1.69,15.93,4.72,3.12,2.7,5,6.83,5,11.88s-1.52,9.19-4.38,12.14c-3.88,4.13-10.2,6.24-17.36,6.24a25.3,25.3,0,0,1-5.9-.51v22.76h-7.33V414.52A85.05,85.05,0,0,1,634.19,413.43Zm-321.57.42,6.74,28.74c1.69,7.08,3.2,14.16,4.21,19.64h.17c.93-5.65,2.7-12.39,4.64-19.72L336,413.85h7.67l6.91,28.82c1.6,6.74,3.12,13.48,4,19.47h.17c1.18-6.24,2.78-12.56,4.55-19.64l7.5-28.66h7.5l-16.1,56.81h-7.67l-7.16-29.58a171.14,171.14,0,0,1-3.71-18.54h-.17A177.33,177.33,0,0,1,335,441.07L327,470.65h-7.67l-14.41-56.81Zm171.74-3v25.45h.17a13.77,13.77,0,0,1,5.31-5.23,15.27,15.27,0,0,1,7.59-2.11c5.48,0,14.24,3.37,14.24,17.45v24.27h-7.42V447.23c0-6.57-2.44-12.14-9.44-12.14a10.65,10.65,0,0,0-9.95,7.42,9,9,0,0,0-.51,3.54v24.61h-7.42V410.82ZM530.45,459c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C539.64,449.67,530.45,451.1,530.45,459Zm138.79,0c0,4.8,3.2,7.08,7,7.08a10.15,10.15,0,0,0,9.86-6.83,7.74,7.74,0,0,0,.42-2.36v-7.08C678.43,449.67,669.24,451.1,669.24,459ZM396.39,434.25c-7.5,0-10.79,6.91-11.38,12.05h21.66C406.75,441.58,404.73,434.25,396.39,434.25Zm238-15a30.8,30.8,0,0,0-6.91.59v22.08a24.65,24.65,0,0,0,6.07.59c8.85,0,14.24-4.3,14.24-12.14C647.76,422.87,642.45,419.24,634.36,419.24ZM584.45,291.18V306.1h44.14v7.75H584.45v16.2h35.63s-4.57,23.28-31.27,42.88c10.8,5.69,25,9.72,42.38,12.44,0,0-2.81,5-5.21,8.85-19-3.3-33.81-9.08-45.43-15.86-11.71,6.95-26.85,13-46.43,16.4-1.36-2-5.08-8.6-5.08-8.6,17.75-2.78,32.36-7.27,43.28-13.13-26.84-19.25-32-43-32-43h35.53v-16.2H530V306.1h45.85V291.18ZM323,319.7l6.88,3.65c-3.27,7.77-6.31,13.06-7.15,14.72v56.38H315V350.25c-4.44,6-7,9.07-8.34,10.54l-4.37-7.57C310.57,344.43,317.91,332.36,323,319.7Zm341.11-28.21,9,2-.28.74c-3.66,9.57-7.09,17.72-10.19,24.22v76H654V334.82a161.16,161.16,0,0,1-10.27,14.75L639,341.25c10.14-13.8,18.67-30.56,24.88-49.18Zm-226.36,0,8.15,2s-5.19,16.35-9.16,25l0,76h-8.61V335.12c-3.45,6.5-5.76,10.77-8.68,14.59l-4.66-8.07C426.86,326.4,437.72,291.47,437.72,291.47Zm-54.81-.41,7.75,1.55-.18.7c-1.6,6.13-3.37,12.15-5.26,17.91h23.19v7.33h-5.59c-1.44,20.81-5.13,36.93-10.95,47.93,4.62,9,13.52,17.42,16,19.7-.56,1.07-4.44,7.71-4.44,7.71s-12.89-13.2-15.81-19.59c-3.28,5.51-9.33,12.65-17.53,20h0L366,387s11.22-9.31,17.58-20.55a125.69,125.69,0,0,1-7.81-32.27c-1.36,2.39-2.1,3.68-3.47,5.73,0,0-3.62-6.29-4.36-7.47,6.51-11.45,11.39-24.94,14.87-40.71h0Zm344.12.88v24.4H742v8.18H727v53.12A15.35,15.35,0,0,1,711.7,393h-10v-9h10a6.39,6.39,0,0,0,6.38-6.38V324.52H670.25v-8.18h47.82v-24.4Zm-214.4,64.91v35.69H452V356.85Zm-149-4.26v19.71c1.45-1.23,5.89-5.13,7.38-6.46l3.57,6.18-16.36,13.81s-3.46-6-4.16-7.11c1-1.07,2.25-3.28,2.25-7.5V359.91H341.47c0,16.86-.68,23-11.92,31.75,0,0-2.71-4.78-3.92-6.78,9.66-7.63,8.51-18.06,8.51-32.29Zm140.81,12H460.61v20.61h43.84ZM608,337.7H552.6c3.17,6.6,11,19.34,28,30.42C597.44,356.87,605.06,344,608,337.7Zm79.67-.53L703.31,362l-8.15,4.45-14.64-25ZM395.5,318.55H382.74c-.13.52-1.33,3.54-1.6,4.13,1.59,15.26,3.94,27,7,34.81,3.79-9.1,6.27-22.18,7.36-38.94Zm118,21.24v7.33H451.15v-7.33Zm-146-3.84v7.33h-35V336Zm146-13.22v7.33H451.15v-7.33ZM354.26,292.89v26.87h7.92V300.56h6.9v26.09H331.7V301H339v18.76h7.91V292.89Zm-30.89-1.78,6.76,4.43a101.69,101.69,0,0,1-22.45,30.55L303.6,319C311,311.86,318,301.79,323.38,291.1Zm158.9.37,6.08,13.78h31.1V313H445.61v-7.75h34.12L475.3,294.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #4d4d4d\"\n />\n <path\n id=\"Fill-29\"\n d=\"M113,412a8,8,0,0,1-10.54-3.22l-.52-1.14L80.18,359.84a4.16,4.16,0,0,1-.38-1.68A4,4,0,0,1,86.17,355l25.69,18.29a11.86,11.86,0,0,0,10.62,1.22L243.29,320.7c-21.66-25.52-57.32-42.2-97.68-42.2-66,0-119.58,44.62-119.58,99.66,0,30,16.11,57.06,41.32,75.33A8,8,0,0,1,70.69,460a9.43,9.43,0,0,1-.42,2.54l-5.39,20.1a11.73,11.73,0,0,0-.64,2.91,4,4,0,0,0,4,4,4.5,4.5,0,0,0,2.3-.74l26.18-15.11a12.55,12.55,0,0,1,6.35-1.84,12,12,0,0,1,3.51.53,141.5,141.5,0,0,0,39,5.46c66,0,119.59-44.62,119.59-99.66A86.29,86.29,0,0,0,251.58,332l-137.69,79.5Z\"\n transform=\"translate(-26.03 -278.49)\"\n style=\"fill: #1aad19\"\n />\n </g>\n </g>\n </g>\n </svg> -->\n </div>\n </div>\n }\n </div>\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n @if (order.status.toString() === 'PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"refund()\">\u7533\u8BF7\u9000\u6B3E</button>\n }\n <div class=\"flex items-center justify-end\">\n @if (order.status.toString() === 'CREATED') {\n <span\n class=\"underline text-sm underline-offset-4 mr-6 cursor-pointer hover:text-[--rt-brand-color]\"\n (click)=\"cancel()\"\n >\u53D6\u6D88\u8BA2\u5355</span\n >\n }\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5B9A\u91D1</button>\n } @else {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u8BA2\u5355</button>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u5C3E\u6B3E</button>\n }\n </div>\n </div>\n </div>\n </rolatech-container>\n}\n<div\n [ngClass]=\"info ? 'translate-none' : 'translate-x-full'\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-80 sm:w-[300px] shadow-xl\"\n>\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-xl font-bold\">\u8BA2\u5355\u72B6\u6001</div>\n <button mat-icon-button (click)=\"info = !info\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (!loadingTimeline) {\n <div class=\"mt-3 p-1 sm:p-4\">\n <ol class=\"relative border-l border-[--rt-border-color]\">\n @for (item of timelineData; track item) {\n <li class=\"mb-8 ml-4\">\n <div\n class=\"absolute w-3 h-3 rounded-full mt-1.5 -left-1.5 border border-[--rt-raised-background] bg-[--rt-text-primary]\"\n ></div>\n <div class=\"text-md font-bold mb-1\">{{ timelineStatus[item.status] }}</div>\n @if (item.status === 'BOOKING_RETURN_REJECTED') {\n <div class=\"text-sm mb-1\">{{ item.return.note }}</div>\n }\n @if (item.status === 'BOOKING_RETURN_REQUESTED') {\n <div class=\"text-sm mb-1\">{{ item.return.reason }}</div>\n }\n <div class=\"text-sm text-[--rt-text-secondary]\">{{ item.date }}</div>\n </li>\n }\n </ol>\n </div>\n }\n @if (loadingTimeline) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n }\n</div>\n<div\n (click)=\"info = !info\"\n [ngClass]=\"info ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed inset-0 z-[1000]\"\n></div>\n" }]
|
|
130
|
-
}] });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVyLWRldGFpbC9vcmRlci1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQVMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNF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U0FBUyxDQUFDO1lBQzVDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJGVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3R0MvQ2pDLHd1YUF1S0EseUREM0lJLGVBQWUsd1VBQ2YsYUFBYSxvTEFFYixPQUFPLG9GQUVQLGdCQUFnQixnRkFDaEIsa0JBQWtCLCtEQUVsQixnQkFBZ0IsZ0lBRWhCLHdCQUF3Qiw4SUFFeEIsMEJBQTBCLG9EQUUxQixTQUFTOzsyRkFLQSxvQkFBb0I7a0JBdkJoQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgQ29udGFpbmVyQ29tcG9uZW50LFxuICBCYXNlQ29tcG9uZW50LFxuICBTcGlubmVyQ29tcG9uZW50LFxuICBUaHVtYm5haWxDb21wb25lbnQsXG4gIFRpdGxlQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IENvdXJzZVR5cGUsIENvdXJzZVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb3Vyc2UnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcmRlciwgT3JkZXJTdGF0dXMsIE9yZGVyVGltZWxpbmVTdGF0dXMsIE9yZGVyVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3JkZXJSZXR1cm5SZXF1ZXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmRlci1yZXR1cm4tcmVxdWVzdC9vcmRlci1yZXR1cm4tcmVxdWVzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmRlci12YXJpYW50LWl0ZW0vb3JkZXItdmFyaWFudC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlckRldGFpbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLWRldGFpbC1pdGVtL29yZGVyLWRldGFpbC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlckl0ZW1PcHRpb25zRm9ybWF0UGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvb3JkZXItaXRlbS1vcHRpb25zLnBpcGUnO1xuaW1wb3J0IHsgRGVjaW1hbERpcmVjdGl2ZSwgRml4ZWRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW9yZGVyLWRldGFpbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nQ2xhc3MsXG4gICAgQXN5bmNQaXBlLFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIE9yZGVyRGV0YWlsSXRlbUNvbXBvbmVudCxcbiAgICBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50LFxuICAgIE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlLFxuICAgIERlY2ltYWxEaXJlY3RpdmUsXG4gICAgRml4ZWRQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWRldGFpbC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyITogT3JkZXI7XG4gIHN0YXR1czogYW55ID0gT3JkZXJTdGF0dXM7XG4gIHR5cGUgPSBDb3Vyc2VUeXBlO1xuICBvcmRlclR5cGUgPSBPcmRlclR5cGU7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICBjb3Vyc2VTZXJ2aWNlID0gaW5qZWN0KENvdXJzZVNlcnZpY2UpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgdGltZWxpbmVEYXRhOiBhbnk7XG4gIGluZm8gPSBmYWxzZTtcbiAgbG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gIHRpbWVsaW5lU3RhdHVzOiBhbnkgPSBPcmRlclRpbWVsaW5lU3RhdHVzO1xuICBjb3VudERvd24gPSAnJztcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuZ2V0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vcmRlciA9IHJlcy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5vcmRlci5zdGF0dXMgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbW9tZW50KCk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBtb21lbnQodGhpcy5vcmRlci5jcmVhdGVkQXQpLmFkZCgxNSwgJ21pbnV0ZScpO1xuICAgICAgICAgICAgY29uc3QgZGlmZiA9IGVuZC5kaWZmKHN0YXJ0KTtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKGRpZmYpO1xuICAgICAgICAgICAgdGhpcy5jb3VudERvd24gPSBtb21lbnQudXRjKGR1cmF0aW9uLmFzKCdtaWxsaXNlY29uZHMnKSkuZm9ybWF0KCdtbTpzcycpO1xuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHJlZnVuZCgpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgd2lkdGg6ICc1MDBweCcsXG4gICAgICB0aXRsZTogJ+eUs+ivt+mAgOasvicsXG4gICAgICBoZWlnaHQ6ICc5MCUnLFxuICAgICAgY2FuY2VsVGV4dDogJ+WPlua2iCcsXG4gICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgICBjb21wb25lbnQ6IE9yZGVyUmV0dXJuUmVxdWVzdENvbXBvbmVudCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVhc29uOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihvcHRpb25zKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5vcmRlclNlcnZpY2UucmVmdW5kKHRoaXMuaWQsIHsgcmVhc29uOiByZXMgfSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCfpgIDmrL7nlLPor7fmiJDlip8sIOetieW+heWuoeaguCcpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuY2FuY2VsKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMub3JkZXIuc3RhdHVzID0gJ0NBTkNFTEVEJztcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3Blbign5Y+W5raI5oiQ5YqfJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwYXkoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL29yZGVycy8ke3RoaXMuaWR9L3FyY29kZXBheWApO1xuICB9XG4gIHRpbWVsaW5lKCkge1xuICAgIHRoaXMuaW5mbyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nVGltZWxpbmUgPSB0cnVlO1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLnRpbWVsaW5lKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMudGltZWxpbmVEYXRhID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChvcmRlcikge1xuICA8cm9sYXRlY2gtY29udGFpbmVyPlxuICAgIDxyb2xhdGVjaC10b29sYmFyIFt0aXRsZV09XCJzdGF0dXNbb3JkZXIuc3RhdHVzXVwiIGxhcmdlIGxpbms9XCIuLi9cIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwidGltZWxpbmUoKVwiPlxuICAgICAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPuiuouWNleeKtuaAgTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgICA8ZGl2PlxuICAgICAgQGlmIChvcmRlci5zdGF0dXMgPT09ICdDUkVBVEVEJykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1bLS1ydC1icmFuZC1jb2xvcl0gZm9udC1ib2xkXCI+5pSv5LuY5YCS6K6h5pe2OiB7eyBjb3VudERvd24gfX08L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBvcmRlci5pdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8cm9sYXRlY2gtb3JkZXItZGV0YWlsLWl0ZW1cbiAgICAgICAgICAgICAgW3RodW1ibmFpbF09XCJpdGVtLm1lZGlhWzBdLnVybCArICchdzIwMCAnXCJcbiAgICAgICAgICAgICAgW2xpbmtdPVwib3JkZXIudHlwZS50b1N0cmluZygpID09PSAnUFJPRFVDVCcgPyAnL3Byb2R1Y3RzLycgKyBpdGVtLnByb2R1Y3RJZCA6ICcvY291cnNlcy8nICsgaXRlbS5wcm9kdWN0SWRcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgW3RvdGFsXT1cIml0ZW0udG90YWxcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiaXRlbS5vcHRpb25zIHwgb3JkZXJJdGVtb3B0aW9uczogb3JkZXIudHlwZVwiXG4gICAgICAgICAgICAgIFtxdWFudGl0eV09XCJpdGVtLnF1YW50aXR5XCJcbiAgICAgICAgICAgID48L3JvbGF0ZWNoLW9yZGVyLWRldGFpbC1pdGVtPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgcHktMyBmb250LW1lZGl1bVwiPuiuouWNleS/oeaBrzwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPuiuouWNleWPtzwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPiB7eyBvcmRlci5vcmRlck5vIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPuS4i+WNleaXtumXtDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPiB7eyBvcmRlci5jcmVhdGVkQXQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gbWluLXctMjBcIj7lpIfms6jkv6Hmga88L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj57eyBvcmRlci5ub3RlIHx8ICfml6AnIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAob3JkZXIuZGVwb3NpdCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj7lrprph5Hph5Hpop08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPsKle3sgb3JkZXIuZGVwb3NpdCB8IGZpeGVkIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPuWwvuasvumHkeminTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+wqV7eyBvcmRlci50b3RhbCAtIG9yZGVyLmRlcG9zaXQgfCBmaXhlZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj7lupTku5jph5Hpop08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj7CpXt7IG9yZGVyLnRvdGFsIHwgZml4ZWQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKG9yZGVyLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcgfHwgb3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQUlEJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBwYi0zIGZvbnQtbWVkaXVtXCI+5pSv5LuY5pa55byPPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb25cIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDJyZW07IGhlaWdodDogMnJlbVwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMDI0IDEwMjRcIlxuICAgICAgICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMzk1Ljg0NiA2MDMuNTg1Yy0zLjkyMSAxLjk4LTcuOTM2IDIuOTI1LTEyLjgxIDIuOTI1LTEwLjkgMC0xOS43OTEtNS44NS0yNC43NjQtMTQuNjI1bC0yLjAwNi0zLjg2NC03OC4xMDYtMTY3LjkxM2MtMC45NTYtMS45OC0wLjk1Ni0zLjg2NS0wLjk1Ni01Ljg0NSAwLTcuODMgNS45MjgtMTMuNjggMTMuODYzLTEzLjY4IDIuOTY1IDAgNS45MjggMC45NDQgOC44OTMgMi45MjRsOTEuOTY1IDY0LjQzYzYuODg0IDMuODY0IDE0LjgyIDYuNzkgMjMuNzA4IDYuNzkgNC45NzIgMCA5Ljg1LTAuOTQ1IDE0LjgyMi0yLjkyNkw4NjEuNzEgMjgyLjQ3OWMtNzcuMTQ5LTg5LjgwNC0yMDQuNjg0LTE0OC4zODQtMzQ5LjEzNS0xNDguMzg0LTIzNS4zNzEgMC00MjcuMjQyIDE1Ny4xNTgtNDI3LjI0MiAzNTEuMjk0IDAgMTA1LjM2OCA1Ny4zNjEgMjAxLjAxNyAxNDcuMzIzIDI2NS40NDcgNi44OCA0LjkwNSAxMS44NTIgMTMuNjggMTEuODUyIDIyLjQ1IDAgMi45MjUtMC45NTcgNS44NS0yLjAwNiA4Ljc3NS02Ljg4MSAyNi4zMTgtMTguODMxIDY5LjMzNC0xOC44MzEgNzEuMjIzLTAuOTU4IDIuOTItMi4wMTMgNi43OS0yLjAxMyAxMC43NSAwIDcuODMgNS45MjkgMTMuNjggMTMuODY1IDEzLjY4IDIuOTYzIDAgNS45MjgtMC45NDQgNy45MzUtMi45MjVsOTIuOTIyLTUzLjY3NGM2Ljg4NS0zLjg3IDE0LjgyLTYuNzk0IDIyLjc1Ni02Ljc5NCAzLjkxNiAwIDguODg5IDAuOTQ0IDEyLjgxIDEuOTggNDMuNDk2IDEyLjY0NCA5MS4wMTIgMTkuNTMgMTM5LjQ4IDE5LjUzIDIzNS4zNzIgMCA0MjcuMjQtMTU3LjE1OCA0MjcuMjQtMzUxLjI5NCAwLTU4LjU4LTE3Ljc4LTExNC4xNDMtNDguNDY3LTE2My4wMDNsLTQ5MS4zOSAyODAuMDctMi45NjMgMS45OHpcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwOUJCMDdcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTFcIj7lvq7kv6HmlK/ku5g8L3NwYW4+XG4gICAgICAgICAgICAgIDwhLS0gPHN2ZyBpZD1cIkxheWVyXzFcIiBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzE1Ljk0IDIxMS4wMlwiPlxuICAgICAgICAgICAgICAgIDx0aXRsZT5XZUNoYXQgUGF5IGxvZ28gLSBCcmFuZGxvZ29zLm5ldDwvdGl0bGU+XG4gICAgICAgICAgICAgICAgPGcgaWQ9XCLpobXpnaItMVwiPlxuICAgICAgICAgICAgICAgICAgPGcgaWQ9XCLnlLvmnb9cIj5cbiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCLnvJbnu4RcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCLlvaLnirbnu5PlkIhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03MTAuMiw0MjkuODZsOC45MywyNC4xYy45MywyLjcsMS45NCw1LjksMi42MSw4LjM0aC4xN2MuNzYtMi40NCwxLjYtNS41NiwyLjYxLTguNTFsOC4wOS0yMy45M2g3Ljg0bC0xMS4xMywyOS4wOGMtNS4zMSwxNC04LjkzLDIxLjE2LTE0LDI1LjU0YTIxLjQ4LDIxLjQ4LDAsMCwxLTcuNTcsNC40MWMtLjYxLTEuMDktMy4zOS01Ljg1LTMuMzktNS44NWExOS42MiwxOS42MiwwLDAsMCw2LjQ5LTMuNjIsMjIuNSwyMi41LDAsMCwwLDYuMjQtOC4yNiw1LjMxLDUuMzEsMCwwLDAsLjU5LTEuNzcsNi40NSw2LjQ1LDAsMCwwLS41MS0xLjk0bC0xNS4wOS0zNy41OVptLTE3MC44MS0uOTNjMTIuNDcsMCwxNS41MSw4LjUxLDE1LjUxLDE2LjY5djE1LjI2YTU3LjQsNTcuNCwwLDAsMCwuNjcsOS43OGgtNi43NGwtLjU5LTUuMTRINTQ4YTE1LjE5LDE1LjE5LDAsMCwxLTEyLjQ3LDYuMDdjLTguMjYsMC0xMi40Ny01LjgyLTEyLjQ3LTExLjcyLDAtOS44Niw4Ljc2LTE1LjI1LDI0LjUzLTE1LjE3di0uODRjMC0zLjM3LS45My05LjQ0LTkuMjctOS40NGEyMC42MSwyMC42MSwwLDAsMC05Ljc3LDIuNTJMNTI2LDQzMi41NkEyNS4zLDI1LjMsMCwwLDEsNTM5LjM5LDQyOC45NFptMTM4Ljc5LDBjMTIuNDcsMCwxNS41MSw4LjUxLDE1LjUxLDE2LjY5djE1LjI2YTU3LjQxLDU3LjQxLDAsMCwwLC42Nyw5Ljc4aC02Ljc0bC0uNTktNS4xNGgtLjI1YTE1LjE5LDE1LjE5LDAsMCwxLTEyLjQ3LDYuMDdjLTguMjYsMC0xMi40Ny01LjgyLTEyLjQ3LTExLjcyLDAtOS44Niw4Ljc3LTE1LjI1LDI0LjUzLTE1LjE3di0uODRjMC0zLjM3LS45My05LjQ0LTkuMjctOS40NGEyMC42LDIwLjYsMCwwLDAtOS43NywyLjUybC0yLjUzLTQuMzhBMjUuMywyNS4zLDAsMCwxLDY3OC4xOCw0MjguOTRabS0yMjYuMDktMTZjNy4wOCwwLDExLjU1LDEuNTIsMTMuNDgsMi41MywwLDAtMi4yNCwzLjktMy4xNiw1LjM4YTI4LDI4LDAsMCwwLTEwLjA3LTEuNzVjLTEzLjMyLDAtMjIuMTcsOC41MS0yMi4xNywyMy40MywwLDEzLjkxLDgsMjIuODQsMjEuODMsMjIuODRhMzEuNTEsMzEuNTEsMCwwLDAsMTAuNDgtMS43M2MuNjcsMS4xNywzLDUuMTksMyw1LjE5LTIuNywxLjM1LTguMDksMi43LTE1LDIuNy0xNiwwLTI4LjA3LTEwLjExLTI4LjA3LTI4Ljc0QzQyMi40Miw0MjUsNDM0LjQ3LDQxMi45Miw0NTIuMDksNDEyLjkyWm0tNTUuMTEsMTZjMTMuMzIsMCwxNi44NiwxMS43MiwxNi44NiwxOS4yMmEyOCwyOCwwLDAsMS0uMjUsMy40NkgzODQuOTNjLjE3LDEwLDYuNTcsMTQuMTYsMTQsMTQuMTZhMjcuNzgsMjcuNzgsMCwwLDAsOS43OC0xLjUxYy42OCwxLjEyLDIuNzgsNC43MSwyLjc4LDQuNzFhMzMsMzMsMCwwLDEtMTMuNTcsMi41M2MtMTIuNTYsMC0yMC4wNi04LjI2LTIwLjA2LTIwLjU3UzM4NS4wOSw0MjguOTQsMzk3LDQyOC45NFptMTgxLTEwLjc5djExLjcySDU4OC42djUuNjVINTc4djIyYzAsNS4wNiwxLjQzLDcuOTIsNS41Niw3LjkyLjYxLDAsMS4xNiwwLDEuNjctLjA3Ljg3LDEuNDcsMyw1LjEyLDMsNS4xMmExOC4xOSwxOC4xOSwwLDAsMS02LjU3LDFjLTMuNDYsMC02LjI0LTEuMS04LTMuMTItMi4xMS0yLjE5LTIuODctNS44MS0yLjg3LTEwLjYyVjQzNS41MWgtNi4zMnYtNS42NWg2LjMyVjQxOC4xNVptNTYuMjEtNC43MmM3LjI1LDAsMTIuNTYsMS42OSwxNS45Myw0LjcyLDMuMTIsMi43LDUsNi44Myw1LDExLjg4cy0xLjUyLDkuMTktNC4zOCwxMi4xNGMtMy44OCw0LjEzLTEwLjIsNi4yNC0xNy4zNiw2LjI0YTI1LjMsMjUuMywwLDAsMS01LjktLjUxdjIyLjc2aC03LjMzVjQxNC41MkE4NS4wNSw4NS4wNSwwLDAsMSw2MzQuMTksNDEzLjQzWm0tMzIxLjU3LjQyLDYuNzQsMjguNzRjMS42OSw3LjA4LDMuMiwxNC4xNiw0LjIxLDE5LjY0aC4xN2MuOTMtNS42NSwyLjctMTIuMzksNC42NC0xOS43MkwzMzYsNDEzLjg1aDcuNjdsNi45MSwyOC44MmMxLjYsNi43NCwzLjEyLDEzLjQ4LDQsMTkuNDdoLjE3YzEuMTgtNi4yNCwyLjc4LTEyLjU2LDQuNTUtMTkuNjRsNy41LTI4LjY2aDcuNWwtMTYuMSw1Ni44MWgtNy42N2wtNy4xNi0yOS41OGExNzEuMTQsMTcxLjE0LDAsMCwxLTMuNzEtMTguNTRoLS4xN0ExNzcuMzMsMTc3LjMzLDAsMCwxLDMzNSw0NDEuMDdMMzI3LDQ3MC42NWgtNy42N2wtMTQuNDEtNTYuODFabTE3MS43NC0zdjI1LjQ1aC4xN2ExMy43NywxMy43NywwLDAsMSw1LjMxLTUuMjMsMTUuMjcsMTUuMjcsMCwwLDEsNy41OS0yLjExYzUuNDgsMCwxNC4yNCwzLjM3LDE0LjI0LDE3LjQ1djI0LjI3aC03LjQyVjQ0Ny4yM2MwLTYuNTctMi40NC0xMi4xNC05LjQ0LTEyLjE0YTEwLjY1LDEwLjY1LDAsMCwwLTkuOTUsNy40Miw5LDksMCwwLDAtLjUxLDMuNTR2MjQuNjFoLTcuNDJWNDEwLjgyWk01MzAuNDUsNDU5YzAsNC44LDMuMiw3LjA4LDcsNy4wOGExMC4xNSwxMC4xNSwwLDAsMCw5Ljg2LTYuODMsNy43NCw3Ljc0LDAsMCwwLC40Mi0yLjM2di03LjA4QzUzOS42NCw0NDkuNjcsNTMwLjQ1LDQ1MS4xLDUzMC40NSw0NTlabTEzOC43OSwwYzAsNC44LDMuMiw3LjA4LDcsNy4wOGExMC4xNSwxMC4xNSwwLDAsMCw5Ljg2LTYuODMsNy43NCw3Ljc0LDAsMCwwLC40Mi0yLjM2di03LjA4QzY3OC40Myw0NDkuNjcsNjY5LjI0LDQ1MS4xLDY2OS4yNCw0NTlaTTM5Ni4zOSw0MzQuMjVjLTcuNSwwLTEwLjc5LDYuOTEtMTEuMzgsMTIuMDVoMjEuNjZDNDA2Ljc1LDQ0MS41OCw0MDQuNzMsNDM0LjI1LDM5Ni4zOSw0MzQuMjVabTIzOC0xNWEzMC44LDMwLjgsMCwwLDAtNi45MS41OXYyMi4wOGEyNC42NSwyNC42NSwwLDAsMCw2LjA3LjU5YzguODUsMCwxNC4yNC00LjMsMTQuMjQtMTIuMTRDNjQ3Ljc2LDQyMi44Nyw2NDIuNDUsNDE5LjI0LDYzNC4zNiw0MTkuMjRaTTU4NC40NSwyOTEuMThWMzA2LjFoNDQuMTR2Ny43NUg1ODQuNDV2MTYuMmgzNS42M3MtNC41NywyMy4yOC0zMS4yNyw0Mi44OGMxMC44LDUuNjksMjUsOS43Miw0Mi4zOCwxMi40NCwwLDAtMi44MSw1LTUuMjEsOC44NS0xOS0zLjMtMzMuODEtOS4wOC00NS40My0xNS44Ni0xMS43MSw2Ljk1LTI2Ljg1LDEzLTQ2LjQzLDE2LjQtMS4zNi0yLTUuMDgtOC42LTUuMDgtOC42LDE3Ljc1LTIuNzgsMzIuMzYtNy4yNyw0My4yOC0xMy4xMy0yNi44NC0xOS4yNS0zMi00My0zMi00M2gzNS41M3YtMTYuMkg1MzBWMzA2LjFoNDUuODVWMjkxLjE4Wk0zMjMsMzE5LjdsNi44OCwzLjY1Yy0zLjI3LDcuNzctNi4zMSwxMy4wNi03LjE1LDE0LjcydjU2LjM4SDMxNVYzNTAuMjVjLTQuNDQsNi03LDkuMDctOC4zNCwxMC41NGwtNC4zNy03LjU3QzMxMC41NywzNDQuNDMsMzE3LjkxLDMzMi4zNiwzMjMsMzE5LjdabTM0MS4xMS0yOC4yMSw5LDItLjI4Ljc0Yy0zLjY2LDkuNTctNy4wOSwxNy43Mi0xMC4xOSwyNC4yMnY3Nkg2NTRWMzM0LjgyYTE2MS4xNiwxNjEuMTYsMCwwLDEtMTAuMjcsMTQuNzVMNjM5LDM0MS4yNWMxMC4xNC0xMy44LDE4LjY3LTMwLjU2LDI0Ljg4LTQ5LjE4Wm0tMjI2LjM2LDAsOC4xNSwycy01LjE5LDE2LjM1LTkuMTYsMjVsMCw3NmgtOC42MVYzMzUuMTJjLTMuNDUsNi41LTUuNzYsMTAuNzctOC42OCwxNC41OWwtNC42Ni04LjA3QzQyNi44NiwzMjYuNCw0MzcuNzIsMjkxLjQ3LDQzNy43MiwyOTEuNDdabS01NC44MS0uNDEsNy43NSwxLjU1LS4xOC43Yy0xLjYsNi4xMy0zLjM3LDEyLjE1LTUuMjYsMTcuOTFoMjMuMTl2Ny4zM2gtNS41OWMtMS40NCwyMC44MS01LjEzLDM2LjkzLTEwLjk1LDQ3LjkzLDQuNjIsOSwxMy41MiwxNy40MiwxNiwxOS43LS41NiwxLjA3LTQuNDQsNy43MS00LjQ0LDcuNzFzLTEyLjg5LTEzLjItMTUuODEtMTkuNTljLTMuMjgsNS41MS05LjMzLDEyLjY1LTE3LjUzLDIwaDBMMzY2LDM4N3MxMS4yMi05LjMxLDE3LjU4LTIwLjU1YTEyNS42OSwxMjUuNjksMCwwLDEtNy44MS0zMi4yN2MtMS4zNiwyLjM5LTIuMSwzLjY4LTMuNDcsNS43MywwLDAtMy42Mi02LjI5LTQuMzYtNy40Nyw2LjUxLTExLjQ1LDExLjM5LTI0Ljk0LDE0Ljg3LTQwLjcxaDBabTM0NC4xMi44OHYyNC40SDc0MnY4LjE4SDcyN3Y1My4xMkExNS4zNSwxNS4zNSwwLDAsMSw3MTEuNywzOTNoLTEwdi05aDEwYTYuMzksNi4zOSwwLDAsMCw2LjM4LTYuMzhWMzI0LjUySDY3MC4yNXYtOC4xOGg0Ny44MnYtMjQuNFptLTIxNC40LDY0LjkxdjM1LjY5SDQ1MlYzNTYuODVabS0xNDktNC4yNnYxOS43MWMxLjQ1LTEuMjMsNS44OS01LjEzLDcuMzgtNi40NmwzLjU3LDYuMTgtMTYuMzYsMTMuODFzLTMuNDYtNi00LjE2LTcuMTFjMS0xLjA3LDIuMjUtMy4yOCwyLjI1LTcuNVYzNTkuOTFIMzQxLjQ3YzAsMTYuODYtLjY4LDIzLTExLjkyLDMxLjc1LDAsMC0yLjcxLTQuNzgtMy45Mi02Ljc4LDkuNjYtNy42Myw4LjUxLTE4LjA2LDguNTEtMzIuMjlabTE0MC44MSwxMkg0NjAuNjF2MjAuNjFoNDMuODRaTTYwOCwzMzcuN0g1NTIuNmMzLjE3LDYuNiwxMSwxOS4zNCwyOCwzMC40MkM1OTcuNDQsMzU2Ljg3LDYwNS4wNiwzNDQsNjA4LDMzNy43Wm03OS42Ny0uNTNMNzAzLjMxLDM2MmwtOC4xNSw0LjQ1LTE0LjY0LTI1Wk0zOTUuNSwzMTguNTVIMzgyLjc0Yy0uMTMuNTItMS4zMywzLjU0LTEuNiw0LjEzLDEuNTksMTUuMjYsMy45NCwyNyw3LDM0LjgxLDMuNzktOS4xLDYuMjctMjIuMTgsNy4zNi0zOC45NFptMTE4LDIxLjI0djcuMzNINDUxLjE1di03LjMzWm0tMTQ2LTMuODR2Ny4zM2gtMzVWMzM2Wm0xNDYtMTMuMjJ2Ny4zM0g0NTEuMTV2LTcuMzNaTTM1NC4yNiwyOTIuODl2MjYuODdoNy45MlYzMDAuNTZoNi45djI2LjA5SDMzMS43VjMwMUgzMzl2MTguNzZoNy45MVYyOTIuODlabS0zMC44OS0xLjc4LDYuNzYsNC40M2ExMDEuNjksMTAxLjY5LDAsMCwxLTIyLjQ1LDMwLjU1TDMwMy42LDMxOUMzMTEsMzExLjg2LDMxOCwzMDEuNzksMzIzLjM4LDI5MS4xWm0xNTguOS4zNyw2LjA4LDEzLjc4aDMxLjFWMzEzSDQ0NS42MXYtNy43NWgzNC4xMkw0NzUuMywyOTQuNVpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNi4wMyAtMjc4LjQ5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZpbGw6ICM0ZDRkNGRcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiRmlsbC0yOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExMyw0MTJhOCw4LDAsMCwxLTEwLjU0LTMuMjJsLS41Mi0xLjE0TDgwLjE4LDM1OS44NGE0LjE2LDQuMTYsMCwwLDEtLjM4LTEuNjhBNCw0LDAsMCwxLDg2LjE3LDM1NWwyNS42OSwxOC4yOWExMS44NiwxMS44NiwwLDAsMCwxMC42MiwxLjIyTDI0My4yOSwzMjAuN2MtMjEuNjYtMjUuNTItNTcuMzItNDIuMi05Ny42OC00Mi4yLTY2LDAtMTE5LjU4LDQ0LjYyLTExOS41OCw5OS42NiwwLDMwLDE2LjExLDU3LjA2LDQxLjMyLDc1LjMzQTgsOCwwLDAsMSw3MC42OSw0NjBhOS40Myw5LjQzLDAsMCwxLS40MiwyLjU0bC01LjM5LDIwLjFhMTEuNzMsMTEuNzMsMCwwLDAtLjY0LDIuOTEsNCw0LDAsMCwwLDQsNCw0LjUsNC41LDAsMCwwLDIuMy0uNzRsMjYuMTgtMTUuMTFhMTIuNTUsMTIuNTUsMCwwLDEsNi4zNS0xLjg0LDEyLDEyLDAsMCwxLDMuNTEuNTMsMTQxLjUsMTQxLjUsMCwwLDAsMzksNS40NmM2NiwwLDExOS41OS00NC42MiwxMTkuNTktOTkuNjZBODYuMjksODYuMjksMCwwLDAsMjUxLjU4LDMzMmwtMTM3LjY5LDc5LjVaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjYuMDMgLTI3OC40OSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMWFhZDE5XCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICA8L3N2Zz4gLS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIHNhZmUgYXJlYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYi0xNiBzbTpwYi0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQUlEJykge1xuICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy0zMiBtaW4taC0xMVwiIChjbGljayk9XCJyZWZ1bmQoKVwiPueUs+ivt+mAgOasvjwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1zbSB1bmRlcmxpbmUtb2Zmc2V0LTQgbXItNiBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LVstLXJ0LWJyYW5kLWNvbG9yXVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgID7lj5bmtojorqLljZU8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgICAgICBAaWYgKG9yZGVyLmRlcG9zaXQpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInBheSgpXCI+5pSv5LuY5a6a6YeRPC9idXR0b24+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInBheSgpXCI+5pSv5LuY6K6i5Y2VPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQVJUSUFMX1BBSUQnKSB7XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInctMzIgbWluLWgtMTFcIiAoY2xpY2spPVwicGF5KClcIj7mlK/ku5jlsL7mrL48L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtY29udGFpbmVyPlxufVxuPGRpdlxuICBbbmdDbGFzc109XCJpbmZvID8gJ3RyYW5zbGF0ZS1ub25lJyA6ICd0cmFuc2xhdGUteC1mdWxsJ1wiXG4gIGNsYXNzPVwiZml4ZWQgdG9wLTAgcmlnaHQtMCB6LVsxMDAxXSBoLXNjcmVlbiBwLTQgb3ZlcmZsb3cteS1hdXRvIHRyYW5zaXRpb24tdHJhbnNmb3JtIGJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSB3LTgwIHNtOnctWzMwMHB4XSBzaGFkb3cteGxcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHNtOnAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZFwiPuiuouWNleeKtuaAgTwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpbmZvID0gIWluZm9cIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICBAaWYgKCFsb2FkaW5nVGltZWxpbmUpIHtcbiAgICA8ZGl2IGNsYXNzPVwibXQtMyBwLTEgc206cC00XCI+XG4gICAgICA8b2wgY2xhc3M9XCJyZWxhdGl2ZSBib3JkZXItbCBib3JkZXItWy0tcnQtYm9yZGVyLWNvbG9yXVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHRpbWVsaW5lRGF0YTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTggbWwtNFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHctMyBoLTMgcm91bmRlZC1mdWxsIG10LTEuNSAtbGVmdC0xLjUgYm9yZGVyIGJvcmRlci1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gYmctWy0tcnQtdGV4dC1wcmltYXJ5XVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgbWItMVwiPnt7IHRpbWVsaW5lU3RhdHVzW2l0ZW0uc3RhdHVzXSB9fTwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLnN0YXR1cyA9PT0gJ0JPT0tJTkdfUkVUVVJOX1JFSkVDVEVEJykge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBtYi0xXCI+e3sgaXRlbS5yZXR1cm4ubm90ZSB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnN0YXR1cyA9PT0gJ0JPT0tJTkdfUkVUVVJOX1JFUVVFU1RFRCcpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gbWItMVwiPnt7IGl0ZW0ucmV0dXJuLnJlYXNvbiB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXNlY29uZGFyeV1cIj57eyBpdGVtLmRhdGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L29sPlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAobG9hZGluZ1RpbWVsaW5lKSB7XG4gICAgPGRpdj5cbiAgICAgIDxyb2xhdGVjaC1zcGlubmVyPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG48ZGl2XG4gIChjbGljayk9XCJpbmZvID0gIWluZm9cIlxuICBbbmdDbGFzc109XCJpbmZvID8gJ3Zpc2libGUnIDogJ2ludmlzaWJsZSdcIlxuICBjbGFzcz1cImJnLVstLXJ0LTEwLXBlcmNlbnQtbGF5ZXJdIGZpeGVkIGluc2V0LTAgei1bMTAwMF1cIlxuPjwvZGl2PlxuIl19
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Component, inject, Renderer2, viewChild } from '@angular/core';
|
|
2
|
-
import { RouterLink } from '@angular/router';
|
|
3
|
-
import { ContainerComponent, ToolbarComponent, BaseComponent } from '@rolatech/angular-components';
|
|
4
|
-
import { OrderStatus } from '../../interfaces';
|
|
5
|
-
import { OrderService } from '@rolatech/angular-services';
|
|
6
|
-
import * as QRCode from 'qrcode';
|
|
7
|
-
import { FixedPipe } from '@rolatech/angular-common';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class OrderQrcodepayComponent extends BaseComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.status = OrderStatus;
|
|
13
|
-
this.orderService = inject(OrderService);
|
|
14
|
-
this.renderer = inject(Renderer2);
|
|
15
|
-
this.needPay = true;
|
|
16
|
-
this.qrcElement = viewChild.required('qrcode');
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.getOrder();
|
|
20
|
-
}
|
|
21
|
-
getOrder() {
|
|
22
|
-
this.orderService.get(this.id).subscribe({
|
|
23
|
-
next: (res) => {
|
|
24
|
-
this.order = res.data;
|
|
25
|
-
this.needPay = this.order.status.toString() === 'CREATED' || this.order.status.toString() === 'PARTIAL_PAID';
|
|
26
|
-
if (this.needPay) {
|
|
27
|
-
this.getQRCodeUrl();
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
getQRCodeUrl() {
|
|
33
|
-
this.orderService.pay(this.id).subscribe({
|
|
34
|
-
next: (res) => {
|
|
35
|
-
this.genQRCode(res.data.qrCodeUrl);
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
genQRCode(url) {
|
|
40
|
-
const element = this.renderer.createElement('canvas');
|
|
41
|
-
this.toCanvas(element, url)
|
|
42
|
-
.then(() => {
|
|
43
|
-
this.renderElement(element);
|
|
44
|
-
})
|
|
45
|
-
.catch((e) => {
|
|
46
|
-
this.removeElementChildren();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
toCanvas(canvas, url) {
|
|
50
|
-
return QRCode.toCanvas(canvas, url, {
|
|
51
|
-
errorCorrectionLevel: 'M',
|
|
52
|
-
width: 200,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
renderElement(element) {
|
|
56
|
-
this.removeElementChildren();
|
|
57
|
-
this.renderer.appendChild(this.qrcElement().nativeElement, element);
|
|
58
|
-
}
|
|
59
|
-
removeElementChildren() {
|
|
60
|
-
for (const node of this.qrcElement().nativeElement.childNodes) {
|
|
61
|
-
this.renderer.removeChild(this.qrcElement().nativeElement, node);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderQrcodepayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: OrderQrcodepayComponent, isStandalone: true, selector: "rolatech-order-qrcodepay", viewQueries: [{ propertyName: "qrcElement", first: true, predicate: ["qrcode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" link=\"../\" large></rolatech-toolbar>\n <div>\n <div>\n <a class=\"text-[--rt-brand-color]\" routerLink=\"..\"\n ><span>\u8BA2\u5355: </span><span class=\"underline\">#{{ this.id }}</span></a\n >\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <div>\u652F\u4ED8\u5B9A\u91D1: \u00A5{{ order.deposit | fixed }}</div>\n } @else {\n <div>\u652F\u4ED8\u91D1\u989D: \u00A5{{ order.total | fixed }}</div>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <div>\u652F\u4ED8\u5C3E\u6B3E \u00A5{{ order.total - order.deposit | fixed }}</div>\n }\n </div>\n <div class=\"mt-6\">\n @if (needPay) {\n <div>\n <div>\u8BF7\u4F7F\u7528\u5FAE\u4FE1\u626B\u7801\u652F\u4ED8, \u6211\u4EEC\u4F1A\u5728\u6536\u5230\u4ED8\u6B3E\u540E\u5904\u7406\u60A8\u7684\u8BA2\u5355</div>\n <div class=\"w-52 h-56 flex flex-col justify-end items-center\">\n <div #qrcode></div>\n <span class=\"text-md\">\u5FAE\u4FE1\u652F\u4ED8\u4E8C\u7EF4\u7801</span>\n </div>\n </div>\n } @else {\n <div>\u8BF7\u786E\u8BA4\u5F53\u524D\u8BA2\u5355\u72B6\u6001, \u5982\u5DF2\u7ECF\u4ED8\u6B3E, \u8BF7\u8FD4\u56DE\u67E5\u770B</div>\n }\n </div>\n </div>\n </rolatech-container>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "pipe", type: FixedPipe, name: "fixed" }] }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderQrcodepayComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'rolatech-order-qrcodepay', standalone: true, imports: [RouterLink, ContainerComponent, ToolbarComponent, FixedPipe], template: "@if (order) {\n <rolatech-container>\n <rolatech-toolbar [title]=\"status[order.status]\" link=\"../\" large></rolatech-toolbar>\n <div>\n <div>\n <a class=\"text-[--rt-brand-color]\" routerLink=\"..\"\n ><span>\u8BA2\u5355: </span><span class=\"underline\">#{{ this.id }}</span></a\n >\n @if (order.status.toString() === 'CREATED') {\n @if (order.deposit) {\n <div>\u652F\u4ED8\u5B9A\u91D1: \u00A5{{ order.deposit | fixed }}</div>\n } @else {\n <div>\u652F\u4ED8\u91D1\u989D: \u00A5{{ order.total | fixed }}</div>\n }\n }\n @if (order.status.toString() === 'PARTIAL_PAID') {\n <div>\u652F\u4ED8\u5C3E\u6B3E \u00A5{{ order.total - order.deposit | fixed }}</div>\n }\n </div>\n <div class=\"mt-6\">\n @if (needPay) {\n <div>\n <div>\u8BF7\u4F7F\u7528\u5FAE\u4FE1\u626B\u7801\u652F\u4ED8, \u6211\u4EEC\u4F1A\u5728\u6536\u5230\u4ED8\u6B3E\u540E\u5904\u7406\u60A8\u7684\u8BA2\u5355</div>\n <div class=\"w-52 h-56 flex flex-col justify-end items-center\">\n <div #qrcode></div>\n <span class=\"text-md\">\u5FAE\u4FE1\u652F\u4ED8\u4E8C\u7EF4\u7801</span>\n </div>\n </div>\n } @else {\n <div>\u8BF7\u786E\u8BA4\u5F53\u524D\u8BA2\u5355\u72B6\u6001, \u5982\u5DF2\u7ECF\u4ED8\u6B3E, \u8BF7\u8FD4\u56DE\u67E5\u770B</div>\n }\n </div>\n </div>\n </rolatech-container>\n}\n" }]
|
|
70
|
-
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcXJjb2RlcGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVyLXFyY29kZXBheS9vcmRlci1xcmNvZGVwYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXItcXJjb2RlcGF5L29yZGVyLXFyY29kZXBheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkcsT0FBTyxFQUFTLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBU3JELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBUDFEOztRQVNFLFdBQU0sR0FBUSxXQUFXLENBQUM7UUFDMUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsZUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQWEsUUFBUSxDQUFDLENBQUM7S0FpRHZEO0lBL0NDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLGNBQWMsQ0FBQztnQkFDN0csSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVc7UUFDbkIsTUFBTSxPQUFPLEdBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO2FBQ3hCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQVcsRUFBRSxHQUFRO1FBQ3BDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ2xDLG9CQUFvQixFQUFFLEdBQUc7WUFDekIsS0FBSyxFQUFFLEdBQUc7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08sYUFBYSxDQUFDLE9BQVk7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ08scUJBQXFCO1FBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDOzhHQXREVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixpT0NmcEMscytDQW1DQSwwRER4QlksVUFBVSxvT0FBRSxrQkFBa0IsK0RBQUUsZ0JBQWdCLDJIQUFFLFNBQVM7OzJGQUkxRCx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0LCBSZW5kZXJlcjIsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQsIEJhc2VDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE9yZGVyLCBPcmRlclN0YXR1cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0ICogYXMgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBGaXhlZFBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1vcmRlci1xcmNvZGVwYXknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUm91dGVyTGluaywgQ29udGFpbmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50LCBGaXhlZFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItcXJjb2RlcGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLXFyY29kZXBheS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyUXJjb2RlcGF5Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyITogT3JkZXI7XG4gIHN0YXR1czogYW55ID0gT3JkZXJTdGF0dXM7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBuZWVkUGF5ID0gdHJ1ZTtcbiAgcXJjRWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPigncXJjb2RlJyk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRPcmRlcigpO1xuICB9XG4gIGdldE9yZGVyKCkge1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLmdldCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub3JkZXIgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5uZWVkUGF5ID0gdGhpcy5vcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnIHx8IHRoaXMub3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQVJUSUFMX1BBSUQnO1xuICAgICAgICBpZiAodGhpcy5uZWVkUGF5KSB7XG4gICAgICAgICAgdGhpcy5nZXRRUkNvZGVVcmwoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBnZXRRUkNvZGVVcmwoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UucGF5KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuZ2VuUVJDb2RlKHJlcy5kYXRhLnFyQ29kZVVybCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGdlblFSQ29kZSh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIHRoaXMudG9DYW52YXMoZWxlbWVudCwgdXJsKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRWxlbWVudENoaWxkcmVuKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdG9DYW52YXMoY2FudmFzOiBhbnksIHVybDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gUVJDb2RlLnRvQ2FudmFzKGNhbnZhcywgdXJsLCB7XG4gICAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ00nLFxuICAgICAgd2lkdGg6IDIwMCxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIHJlbmRlckVsZW1lbnQoZWxlbWVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVFbGVtZW50Q2hpbGRyZW4oKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMucXJjRWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQsIGVsZW1lbnQpO1xuICB9XG4gIHByaXZhdGUgcmVtb3ZlRWxlbWVudENoaWxkcmVuKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiB0aGlzLnFyY0VsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5xcmNFbGVtZW50KCkubmF0aXZlRWxlbWVudCwgbm9kZSk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKG9yZGVyKSB7XG4gIDxyb2xhdGVjaC1jb250YWluZXI+XG4gICAgPHJvbGF0ZWNoLXRvb2xiYXIgW3RpdGxlXT1cInN0YXR1c1tvcmRlci5zdGF0dXNdXCIgbGluaz1cIi4uL1wiIGxhcmdlPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LVstLXJ0LWJyYW5kLWNvbG9yXVwiIHJvdXRlckxpbms9XCIuLlwiXG4gICAgICAgICAgPjxzcGFuPuiuouWNlTogPC9zcGFuPjxzcGFuIGNsYXNzPVwidW5kZXJsaW5lXCI+I3t7IHRoaXMuaWQgfX08L3NwYW4+PC9hXG4gICAgICAgID5cbiAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgICAgQGlmIChvcmRlci5kZXBvc2l0KSB7XG4gICAgICAgICAgICA8ZGl2PuaUr+S7mOWumumHkTogwqV7eyBvcmRlci5kZXBvc2l0IHwgZml4ZWQgfX08L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXY+5pSv5LuY6YeR6aKdOiDCpXt7IG9yZGVyLnRvdGFsIHwgZml4ZWQgfX08L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ1BBUlRJQUxfUEFJRCcpIHtcbiAgICAgICAgICA8ZGl2PuaUr+S7mOWwvuasviDCpXt7IG9yZGVyLnRvdGFsIC0gb3JkZXIuZGVwb3NpdCB8IGZpeGVkIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cbiAgICAgICAgQGlmIChuZWVkUGF5KSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXY+6K+35L2/55So5b6u5L+h5omr56CB5pSv5LuYLCDmiJHku6zkvJrlnKjmlLbliLDku5jmrL7lkI7lpITnkIbmgqjnmoTorqLljZU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTUyIGgtNTYgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiAjcXJjb2RlPjwvZGl2PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbWRcIj7lvq7kv6HmlK/ku5jkuoznu7TnoIE8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdj7or7fnoa7orqTlvZPliY3orqLljZXnirbmgIEsIOWmguW3sue7j+S7mOasviwg6K+36L+U5Zue5p+l55yLPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3JvbGF0ZWNoLWNvbnRhaW5lcj5cbn1cbiJdfQ==
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
2
|
-
import { Title } from '@angular/platform-browser';
|
|
3
|
-
import { RouterModule, ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { ContainerComponent, TabsComponent, TabComponent, ToolbarComponent, ListComponent, EmptyComponent, FilterComponent, } from '@rolatech/angular-components';
|
|
5
|
-
import { OrderService } from '@rolatech/angular-services';
|
|
6
|
-
import { OrderItemComponent } from '../../components/order-item/order-item.component';
|
|
7
|
-
import { OrderStatus, OrderType } from '../../interfaces';
|
|
8
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
9
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
10
|
-
import { KeyValuePipe, NgClass } from '@angular/common';
|
|
11
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
12
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
13
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
14
|
-
import { MatOptionModule } from '@angular/material/core';
|
|
15
|
-
import { MatInputModule } from '@angular/material/input';
|
|
16
|
-
import { FormsModule } from '@angular/forms';
|
|
17
|
-
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
import * as i1 from "@angular/router";
|
|
20
|
-
import * as i2 from "@angular/material/button";
|
|
21
|
-
import * as i3 from "@angular/material/icon";
|
|
22
|
-
import * as i4 from "@angular/forms";
|
|
23
|
-
import * as i5 from "@angular/material/form-field";
|
|
24
|
-
import * as i6 from "@angular/material/core";
|
|
25
|
-
import * as i7 from "@angular/material/select";
|
|
26
|
-
export class OrderIndexComponent {
|
|
27
|
-
constructor() {
|
|
28
|
-
this.orderService = inject(OrderService);
|
|
29
|
-
this.title = inject(Title);
|
|
30
|
-
this.route = inject(ActivatedRoute);
|
|
31
|
-
this.orderType = OrderType;
|
|
32
|
-
this.orderStatus = OrderStatus;
|
|
33
|
-
this.filterOptions = {
|
|
34
|
-
type: '',
|
|
35
|
-
status: '',
|
|
36
|
-
};
|
|
37
|
-
this.links = [
|
|
38
|
-
{
|
|
39
|
-
name: '全部',
|
|
40
|
-
icon: 'dashboard',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: '待付款',
|
|
44
|
-
icon: 'category',
|
|
45
|
-
status: 'created',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: '已支付',
|
|
49
|
-
icon: 'category',
|
|
50
|
-
status: 'paid',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: '已退款',
|
|
54
|
-
icon: 'category',
|
|
55
|
-
status: 'refunded',
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: '已取消',
|
|
59
|
-
icon: 'category',
|
|
60
|
-
status: 'canceled',
|
|
61
|
-
},
|
|
62
|
-
];
|
|
63
|
-
this.orders = [];
|
|
64
|
-
this.select = 0;
|
|
65
|
-
this.filter = false;
|
|
66
|
-
}
|
|
67
|
-
ngOnInit() {
|
|
68
|
-
this.title.setTitle('我的订单 - 拼小课');
|
|
69
|
-
this.route.queryParams.subscribe(({ status }) => {
|
|
70
|
-
this.select = this.links.findIndex((item) => item.status === status);
|
|
71
|
-
if (status) {
|
|
72
|
-
this.filterOptions.status = status.toUpperCase();
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
delete this.filterOptions.status;
|
|
76
|
-
}
|
|
77
|
-
this.findOrders();
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
findOrders() {
|
|
81
|
-
const options = {
|
|
82
|
-
sort: 'updatedAt desc',
|
|
83
|
-
};
|
|
84
|
-
const filterString = this.convertFilterOptions(this.filterOptions);
|
|
85
|
-
if (filterString) {
|
|
86
|
-
options['filter'] = filterString;
|
|
87
|
-
}
|
|
88
|
-
this.orderService.me(options).subscribe({
|
|
89
|
-
next: (res) => {
|
|
90
|
-
this.orders = res.data;
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
resetFilter() {
|
|
95
|
-
this.filterOptions = {
|
|
96
|
-
type: '',
|
|
97
|
-
};
|
|
98
|
-
this.filter = false;
|
|
99
|
-
this.findOrders();
|
|
100
|
-
}
|
|
101
|
-
convertFilterOptions(jsonObj) {
|
|
102
|
-
return Object.entries(jsonObj)
|
|
103
|
-
.filter(([key, value]) => value !== '' && value !== undefined)
|
|
104
|
-
.map(([key, value]) => {
|
|
105
|
-
return `${key}:${value}`;
|
|
106
|
-
})
|
|
107
|
-
.join(',');
|
|
108
|
-
}
|
|
109
|
-
statusCompareFn(t1, t2) {
|
|
110
|
-
return t1 === t2;
|
|
111
|
-
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: OrderIndexComponent, isStandalone: true, selector: "rolatech-order-index", ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u8BA2\u5355\" large>\n <button mat-button (click)=\"filter = !filter\">\n <span>\u8FC7\u6EE4</span>\n <mat-icon>tune</mat-icon>\n </button>\n </rolatech-toolbar>\n <rolatech-filter>\n <div [@filter]=\"filter === true ? 'expanded' : 'collapsed'\">\n <div\n class=\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\"\n >\n <div class=\"flex items-center gap-3 mt-2\">\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-select name=\"type\" placeholder=\"\u7C7B\u578B\" [(ngModel)]=\"filterOptions.type\">\n @for (type of orderType | keyvalue; track type) {\n <mat-option [value]=\"type.key\">\n {{ type.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [compareWith]=\"statusCompareFn\" placeholder=\"\u72B6\u6001\" [(ngModel)]=\"filterOptions.status\">\n @for (status of orderStatus | keyvalue; track status) {\n <mat-option [value]=\"status.key\">\n {{ status.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <div>\n <button mat-flat-button (click)=\"findOrders()\">\u641C\u7D22</button>\n <button mat-stroked-button (click)=\"resetFilter()\" class=\"ml-3\">\u91CD\u7F6E</button>\n </div>\n </div>\n </div>\n </div>\n </rolatech-filter>\n <rolatech-tabs [select]=\"select\">\n @for (item of links; track item) {\n @if (item.status) {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\" [queryParams]=\"{ status: item.status }\"></rolatech-tab>\n } @else {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\"></rolatech-tab>\n }\n }\n </rolatech-tabs>\n <rolatech-list>\n @if (orders) {\n @for (item of orders; track item) {\n <rolatech-order-item [routerLink]=\"['./', item.id]\" [order]=\"item\"></rolatech-order-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n </rolatech-list>\n</rolatech-container>\n", styles: [".active{color:#ff4500;font-weight:700}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}mat-form-field{width:100%}\n"], dependencies: [{ kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: ListComponent, selector: "rolatech-list" }, { kind: "component", type: OrderItemComponent, selector: "rolatech-order-item", inputs: ["order"] }, { kind: "component", type: EmptyComponent, selector: "rolatech-empty" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: FilterComponent, selector: "rolatech-filter" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], animations: [
|
|
114
|
-
trigger('filter', [
|
|
115
|
-
state('collapsed', style({ height: '0px', minHeight: '0' })),
|
|
116
|
-
state('expanded', style({ height: '*' })),
|
|
117
|
-
transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
118
|
-
]),
|
|
119
|
-
] }); }
|
|
120
|
-
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderIndexComponent, decorators: [{
|
|
122
|
-
type: Component,
|
|
123
|
-
args: [{ selector: 'rolatech-order-index', standalone: true, imports: [
|
|
124
|
-
ContainerComponent,
|
|
125
|
-
RouterModule,
|
|
126
|
-
TabsComponent,
|
|
127
|
-
TabComponent,
|
|
128
|
-
ToolbarComponent,
|
|
129
|
-
ListComponent,
|
|
130
|
-
OrderItemComponent,
|
|
131
|
-
EmptyComponent,
|
|
132
|
-
MatButtonModule,
|
|
133
|
-
MatIconModule,
|
|
134
|
-
NgClass,
|
|
135
|
-
FormsModule,
|
|
136
|
-
MatFormFieldModule,
|
|
137
|
-
MatDatepickerModule,
|
|
138
|
-
MatOptionModule,
|
|
139
|
-
MatInputModule,
|
|
140
|
-
MatSelectModule,
|
|
141
|
-
MatButtonModule,
|
|
142
|
-
FilterComponent,
|
|
143
|
-
KeyValuePipe,
|
|
144
|
-
], animations: [
|
|
145
|
-
trigger('filter', [
|
|
146
|
-
state('collapsed', style({ height: '0px', minHeight: '0' })),
|
|
147
|
-
state('expanded', style({ height: '*' })),
|
|
148
|
-
transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
149
|
-
]),
|
|
150
|
-
], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u8BA2\u5355\" large>\n <button mat-button (click)=\"filter = !filter\">\n <span>\u8FC7\u6EE4</span>\n <mat-icon>tune</mat-icon>\n </button>\n </rolatech-toolbar>\n <rolatech-filter>\n <div [@filter]=\"filter === true ? 'expanded' : 'collapsed'\">\n <div\n class=\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\"\n >\n <div class=\"flex items-center gap-3 mt-2\">\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-select name=\"type\" placeholder=\"\u7C7B\u578B\" [(ngModel)]=\"filterOptions.type\">\n @for (type of orderType | keyvalue; track type) {\n <mat-option [value]=\"type.key\">\n {{ type.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [compareWith]=\"statusCompareFn\" placeholder=\"\u72B6\u6001\" [(ngModel)]=\"filterOptions.status\">\n @for (status of orderStatus | keyvalue; track status) {\n <mat-option [value]=\"status.key\">\n {{ status.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <div>\n <button mat-flat-button (click)=\"findOrders()\">\u641C\u7D22</button>\n <button mat-stroked-button (click)=\"resetFilter()\" class=\"ml-3\">\u91CD\u7F6E</button>\n </div>\n </div>\n </div>\n </div>\n </rolatech-filter>\n <rolatech-tabs [select]=\"select\">\n @for (item of links; track item) {\n @if (item.status) {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\" [queryParams]=\"{ status: item.status }\"></rolatech-tab>\n } @else {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\"></rolatech-tab>\n }\n }\n </rolatech-tabs>\n <rolatech-list>\n @if (orders) {\n @for (item of orders; track item) {\n <rolatech-order-item [routerLink]=\"['./', item.id]\" [order]=\"item\"></rolatech-order-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n </rolatech-list>\n</rolatech-container>\n", styles: [".active{color:#ff4500;font-weight:700}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}mat-form-field{width:100%}\n"] }]
|
|
151
|
-
}] });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXJzLWluZGV4L29yZGVyLWluZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVycy1pbmRleC9vcmRlci1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsZUFBZSxHQUNoQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQVMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0s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QUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzVELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzthQUN0RixDQUFDO1NBQ0g7OzJGQUVVLG1CQUFtQjtrQkFuQy9CLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7cUJBQ2IsY0FDVzt3QkFDVixPQUFPLENBQUMsUUFBUSxFQUFFOzRCQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQzVELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzt5QkFDdEYsQ0FBQztxQkFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIENvbnRhaW5lckNvbXBvbmVudCxcbiAgVGFic0NvbXBvbmVudCxcbiAgVGFiQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxuICBMaXN0Q29tcG9uZW50LFxuICBFbXB0eUNvbXBvbmVudCxcbiAgRmlsdGVyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE9yZGVyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JkZXItaXRlbS9vcmRlci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlciwgT3JkZXJTdGF0dXMsIE9yZGVyVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEtleVZhbHVlUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIGFuaW1hdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtb3JkZXItaW5kZXgnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItaW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmRlci1pbmRleC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBUYWJzQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIExpc3RDb21wb25lbnQsXG4gICAgT3JkZXJJdGVtQ29tcG9uZW50LFxuICAgIEVtcHR5Q29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgRmlsdGVyQ29tcG9uZW50LFxuICAgIEtleVZhbHVlUGlwZSxcbiAgXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZpbHRlcicsIFtcbiAgICAgIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG1pbkhlaWdodDogJzAnIH0pKSxcbiAgICAgIHN0YXRlKCdleHBhbmRlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCcsIGFuaW1hdGUoJzIyNW1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKScpKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICB0aXRsZSA9IGluamVjdChUaXRsZSk7XG4gIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgb3JkZXJUeXBlID0gT3JkZXJUeXBlO1xuICBvcmRlclN0YXR1cyA9IE9yZGVyU3RhdHVzO1xuICBmaWx0ZXJPcHRpb25zOiBhbnkgPSB7XG4gICAgdHlwZTogJycsXG4gICAgc3RhdHVzOiAnJyxcbiAgfTtcblxuICBsaW5rcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAn5YWo6YOoJyxcbiAgICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W+heS7mOasvicsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAnY3JlYXRlZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAn5bey5pSv5LuYJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdwYWlkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICflt7LpgIDmrL4nLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ3JlZnVuZGVkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICflt7Llj5bmtognLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ2NhbmNlbGVkJyxcbiAgICB9LFxuICBdO1xuICBvcmRlcnM6IE9yZGVyW10gPSBbXTtcbiAgc2VsZWN0ID0gMDtcbiAgZmlsdGVyID0gZmFsc2U7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUoJ+aIkeeahOiuouWNlSAtIOaLvOWwj+ivvicpO1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKCh7IHN0YXR1cyB9KSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdCA9IHRoaXMubGlua3MuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLnN0YXR1cyA9PT0gc3RhdHVzKTtcbiAgICAgIGlmIChzdGF0dXMpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zLnN0YXR1cyA9IChzdGF0dXMgYXMgc3RyaW5nKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZmlsdGVyT3B0aW9ucy5zdGF0dXM7XG4gICAgICB9XG4gICAgICB0aGlzLmZpbmRPcmRlcnMoKTtcbiAgICB9KTtcbiAgfVxuICBmaW5kT3JkZXJzKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzb3J0OiAndXBkYXRlZEF0IGRlc2MnLFxuICAgIH07XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5jb252ZXJ0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIGlmIChmaWx0ZXJTdHJpbmcpIHtcbiAgICAgIG9wdGlvbnNbJ2ZpbHRlciddID0gZmlsdGVyU3RyaW5nO1xuICAgIH1cbiAgICB0aGlzLm9yZGVyU2VydmljZS5tZShvcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub3JkZXJzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHJlc2V0RmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IHtcbiAgICAgIHR5cGU6ICcnLFxuICAgIH07XG4gICAgdGhpcy5maWx0ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmZpbmRPcmRlcnMoKTtcbiAgfVxuICBjb252ZXJ0RmlsdGVyT3B0aW9ucyhqc29uT2JqKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzb25PYmopXG4gICAgICAuZmlsdGVyKChba2V5LCB2YWx1ZV0pID0+IHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtrZXl9OiR7dmFsdWV9YDtcbiAgICAgIH0pXG4gICAgICAuam9pbignLCcpO1xuICB9XG4gIHN0YXR1c0NvbXBhcmVGbih0MTogYW55LCB0MjogYW55KSB7XG4gICAgcmV0dXJuIHQxID09PSB0MjtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLWNvbnRhaW5lcj5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLmiJHnmoTorqLljZVcIiBsYXJnZT5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImZpbHRlciA9ICFmaWx0ZXJcIj5cbiAgICAgIDxzcGFuPui/h+a7pDwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbj50dW5lPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9yb2xhdGVjaC10b29sYmFyPlxuICA8cm9sYXRlY2gtZmlsdGVyPlxuICAgIDxkaXYgW0BmaWx0ZXJdPVwiZmlsdGVyID09PSB0cnVlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWluLXctWzI1NnB4XSBtZDptaW4tdy1bMzIwcHhdIHB4LTMgaC1mdWxsIGZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6aC1mdWxsIGl0ZW1zLWNlbnRlciBtZDppdGVtcy1zdGFydCBzaGFkb3ctaW5uZXIgc2hhZG93LWxpZ2h0LTQwMCBtZDpzaGFkb3ctbm9uZSBvdmVyZmxvdy14LXNjcm9sbCBvdmVyZmxvdy15LWhpZGRlbiBzY3JvbGxiYXItaGlkZSB3aGl0ZXNwYWNlLXByZVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBtdC0yXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT1cInR5cGVcIiBwbGFjZWhvbGRlcj1cIuexu+Wei1wiIFsobmdNb2RlbCldPVwiZmlsdGVyT3B0aW9ucy50eXBlXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHR5cGUgb2Ygb3JkZXJUeXBlIHwga2V5dmFsdWU7IHRyYWNrIHR5cGUpIHtcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHlwZS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbY29tcGFyZVdpdGhdPVwic3RhdHVzQ29tcGFyZUZuXCIgcGxhY2Vob2xkZXI9XCLnirbmgIFcIiBbKG5nTW9kZWwpXT1cImZpbHRlck9wdGlvbnMuc3RhdHVzXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHN0YXR1cyBvZiBvcmRlclN0YXR1cyB8IGtleXZhbHVlOyB0cmFjayBzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwic3RhdHVzLmtleVwiPlxuICAgICAgICAgICAgICAgICAge3sgc3RhdHVzLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cImZpbmRPcmRlcnMoKVwiPuaQnOe0ojwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cInJlc2V0RmlsdGVyKClcIiBjbGFzcz1cIm1sLTNcIj7ph43nva48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1maWx0ZXI+XG4gIDxyb2xhdGVjaC10YWJzIFtzZWxlY3RdPVwic2VsZWN0XCI+XG4gICAgQGZvciAoaXRlbSBvZiBsaW5rczsgdHJhY2sgaXRlbSkge1xuICAgICAgQGlmIChpdGVtLnN0YXR1cykge1xuICAgICAgICA8cm9sYXRlY2gtdGFiIFtsYWJlbF09XCJpdGVtLm5hbWVcIiByb3V0ZXJMaW5rPVwiLi9cIiBbcXVlcnlQYXJhbXNdPVwieyBzdGF0dXM6IGl0ZW0uc3RhdHVzIH1cIj48L3JvbGF0ZWNoLXRhYj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8cm9sYXRlY2gtdGFiIFtsYWJlbF09XCJpdGVtLm5hbWVcIiByb3V0ZXJMaW5rPVwiLi9cIj48L3JvbGF0ZWNoLXRhYj5cbiAgICAgIH1cbiAgICB9XG4gIDwvcm9sYXRlY2gtdGFicz5cbiAgPHJvbGF0ZWNoLWxpc3Q+XG4gICAgQGlmIChvcmRlcnMpIHtcbiAgICAgIEBmb3IgKGl0ZW0gb2Ygb3JkZXJzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxyb2xhdGVjaC1vcmRlci1pdGVtIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCBpdGVtLmlkXVwiIFtvcmRlcl09XCJpdGVtXCI+PC9yb2xhdGVjaC1vcmRlci1pdGVtPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgPHJvbGF0ZWNoLWVtcHR5Pjwvcm9sYXRlY2gtZW1wdHk+XG4gICAgfVxuICA8L3JvbGF0ZWNoLWxpc3Q+XG48L3JvbGF0ZWNoLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { CourseType } from '@rolatech/angular-course';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class OrderItemOptionsFormatPipe {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.courseType = CourseType;
|
|
7
|
-
}
|
|
8
|
-
transform(items, type) {
|
|
9
|
-
if (!items) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
let result = '';
|
|
13
|
-
items.forEach((item, index) => {
|
|
14
|
-
const tmp = index === items.length - 1 ? '' : ', ';
|
|
15
|
-
result += item.name ? item.value + tmp : item.name + tmp;
|
|
16
|
-
});
|
|
17
|
-
return type?.toString() === 'PRODUCT' ? result : this.courseType[result];
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderItemOptionsFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
20
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: OrderItemOptionsFormatPipe, isStandalone: true, name: "orderItemoptions" }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OrderItemOptionsFormatPipe, decorators: [{
|
|
23
|
-
type: Pipe,
|
|
24
|
-
args: [{
|
|
25
|
-
standalone: true,
|
|
26
|
-
name: 'orderItemoptions',
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS1vcHRpb25zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9waXBlL29yZGVyLWl0ZW0tb3B0aW9ucy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUtFLGVBQVUsR0FBRyxVQUFVLENBQUM7S0FZekI7SUFYQyxTQUFTLENBQUMsS0FBWSxFQUFFLElBQWU7UUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QixNQUFNLEdBQUcsR0FBRyxLQUFLLEtBQUssS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25ELE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDOzhHQVpVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsa0JBQWtCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvdXJzZVR5cGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb3Vyc2UnO1xuaW1wb3J0IHsgT3JkZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBQaXBlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgbmFtZTogJ29yZGVySXRlbW9wdGlvbnMnLFxufSlcbmV4cG9ydCBjbGFzcyBPcmRlckl0ZW1PcHRpb25zRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb3Vyc2VUeXBlID0gQ291cnNlVHlwZTtcbiAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgdHlwZTogT3JkZXJUeXBlKTogYW55IHtcbiAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgdG1wID0gaW5kZXggPT09IGl0ZW1zLmxlbmd0aCAtIDEgPyAnJyA6ICcsICc7XG4gICAgICByZXN1bHQgKz0gaXRlbS5uYW1lID8gaXRlbS52YWx1ZSArIHRtcCA6IGl0ZW0ubmFtZSArIHRtcDtcbiAgICB9KTtcbiAgICByZXR1cm4gdHlwZT8udG9TdHJpbmcoKSA9PT0gJ1BST0RVQ1QnID8gcmVzdWx0IDogdGhpcy5jb3Vyc2VUeXBlW3Jlc3VsdF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvcm9sYXRlY2gtYW5ndWxhci1vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
File without changes
|