@rolatech/angular-order 18.0.4 → 18.0.6
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/esm2022/lib/components/index.mjs +2 -3
- package/esm2022/lib/components/order-detail-item/order-detail-item.component.mjs +25 -0
- package/esm2022/lib/components/order-item/order-item.component.mjs +3 -3
- package/esm2022/lib/interfaces/order.mjs +12 -12
- package/esm2022/lib/pages/order-detail/order-detail.component.mjs +5 -35
- package/esm2022/lib/pages/orders-index/order-index.component.mjs +72 -10
- package/esm2022/lib/pipe/order-item-options.pipe.mjs +7 -3
- package/fesm2022/rolatech-angular-order.mjs +97 -77
- package/fesm2022/rolatech-angular-order.mjs.map +1 -1
- package/lib/components/index.d.ts +1 -2
- package/lib/components/order-detail-item/order-detail-item.component.d.ts +12 -0
- package/lib/interfaces/order.d.ts +11 -11
- package/lib/pages/order-detail/order-detail.component.d.ts +1 -6
- package/lib/pages/orders-index/order-index.component.d.ts +9 -3
- package/lib/pipe/order-item-options.pipe.d.ts +4 -1
- package/package.json +1 -1
- package/themes/_default.scss +1 -1
- package/esm2022/lib/components/order-course-item/order-course-item.component.mjs +0 -19
- package/esm2022/lib/components/order-product-item/order-product-item.component.mjs +0 -23
- package/lib/components/order-course-item/order-course-item.component.d.ts +0 -8
- package/lib/components/order-product-item/order-product-item.component.d.ts +0 -11
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './order-return-request/order-return-request.component';
|
|
2
|
-
export * from './order-
|
|
3
|
-
export * from './order-product-item/order-product-item.component';
|
|
2
|
+
export * from './order-detail-item/order-detail-item.component';
|
|
4
3
|
export * from './order-return-request/order-return-request.component';
|
|
5
4
|
export * from './order-variant-item/order-variant-item.component';
|
|
6
5
|
export * from './order-item/order-item.component';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3JkZXItcmV0dXJuLXJlcXVlc3Qvb3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItZGV0YWlsLWl0ZW0vb3JkZXItZGV0YWlsLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItcmV0dXJuLXJlcXVlc3Qvb3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItdmFyaWFudC1pdGVtL29yZGVyLXZhcmlhbnQtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1pdGVtL29yZGVyLWl0ZW0uY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, computed, input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatIcon } from '@angular/material/icon';
|
|
4
|
+
import { RouterLink } from '@angular/router';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class OrderDetailItemComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.thumbnail = input();
|
|
9
|
+
this.title = input.required();
|
|
10
|
+
this.description = input();
|
|
11
|
+
this.quantity = input(0);
|
|
12
|
+
this.total = input.required();
|
|
13
|
+
this.link = input.required();
|
|
14
|
+
this.priceDisplay = computed(() => {
|
|
15
|
+
return (this.total() / 100)?.toFixed(2);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderDetailItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: OrderDetailItemComponent, isStandalone: true, selector: "rolatech-order-detail-item", inputs: { thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, quantity: { classPropertyName: "quantity", publicName: "quantity", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: true, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div\n class=\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\"\n [routerLink]=\"link()\"\n >\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\"></div>\n }\n </div>\n\n <div class=\"w-full ml-3 flex flex-col justify-between\">\n <!-- info -->\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\" [routerLink]=\"link()\">{{\n title()\n }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ description() }}</span>\n <ng-content></ng-content>\n </div>\n <div class=\"text-right p-1\">\n <div class=\"text-sm\">\u00A5{{ priceDisplay() }}</div>\n <div class=\"text-sm mt-2\">x{{ quantity() }}</div>\n </div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], deferBlockDependencies: [() => [import("@rolatech/angular-components").then(m => m.ThumbnailComponent)]] }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.0", ngImport: i0, type: OrderDetailItemComponent, resolveDeferredDeps: () => [import("@rolatech/angular-components").then(m => m.ThumbnailComponent)], resolveMetadata: ThumbnailComponent => ({ decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'rolatech-order-detail-item', standalone: true, imports: [CommonModule, ThumbnailComponent, MatIcon, RouterLink], template: "<div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div\n class=\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\"\n [routerLink]=\"link()\"\n >\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\"></div>\n }\n </div>\n\n <div class=\"w-full ml-3 flex flex-col justify-between\">\n <!-- info -->\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\" [routerLink]=\"link()\">{{\n title()\n }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ description() }}</span>\n <ng-content></ng-content>\n </div>\n <div class=\"text-right p-1\">\n <div class=\"text-sm\">\u00A5{{ priceDisplay() }}</div>\n <div class=\"text-sm mt-2\">x{{ quantity() }}</div>\n </div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\"></div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
24
|
+
}], ctorParameters: null, propDecorators: null }) });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvY29tcG9uZW50cy9vcmRlci1kZXRhaWwtaXRlbS9vcmRlci1kZXRhaWwtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWRldGFpbC1pdGVtL29yZGVyLWRldGFpbC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTN0MsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFFLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1QixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDOUIsYUFBUSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1QixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2pDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDaEMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0tBQ0o7OEdBVlksd0JBQXdCO2tHQUF4Qix3QkFBd0IsbTFCQ2JyQyx5MkNBbUNBLHlERDFCWSxZQUFZLCtCQUErQixVQUFVOztnR0FJcEQsd0JBQXdCO3NCQVBwQyxTQUFTO21DQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtb3JkZXItZGV0YWlsLWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaHVtYm5haWxDb21wb25lbnQsIE1hdEljb24sIFJvdXRlckxpbmtdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb3JkZXItZGV0YWlsLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPcmRlckRldGFpbEl0ZW1Db21wb25lbnQge1xuICB0aHVtYm5haWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBkZXNjcmlwdGlvbiA9IGlucHV0PHN0cmluZz4oKTtcbiAgcXVhbnRpdHkgPSBpbnB1dDxudW1iZXI+KDApO1xuICB0b3RhbCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgbGluayA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHJpY2VEaXNwbGF5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAodGhpcy50b3RhbCgpIC8gMTAwKT8udG9GaXhlZCgyKTtcbiAgfSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcHktM1wiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1pbi13LTI0IHctMzYgYXNwZWN0LXZpZGVvIGJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBob3Zlcjpyb3VuZGVkLW5vbmUgcm91bmRlZC1sZyBoLWZpdCBjdXJzb3ItcG9pbnRlclwiXG4gICAgICBbcm91dGVyTGlua109XCJsaW5rKClcIlxuICAgID5cbiAgICAgIEBkZWZlciAob24gdmlld3BvcnQoKSkge1xuICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwidGh1bWJuYWlsKClcIiBzaXplPVwibWVkaXVtXCIgbW9kZT1cImZ1bGxcIj4gPC9yb2xhdGVjaC10aHVtYm5haWw+XG4gICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvXCI+PC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG1sLTMgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDwhLS0gaW5mbyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGQgaG92ZXI6dGV4dC1bLS1ydC1icmFuZC1jb2xvcl0gY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCJsaW5rKClcIj57e1xuICAgICAgICAgICAgdGl0bGUoKVxuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LVstLXJ0LXRleHQtc2Vjb25kYXJ5XVwiPnt7IGRlc2NyaXB0aW9uKCkgfX08L3NwYW4+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHQgcC0xXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc21cIj7CpXt7IHByaWNlRGlzcGxheSgpIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gbXQtMlwiPnh7eyBxdWFudGl0eSgpIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIGFjdGlvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -18,10 +18,10 @@ export class OrderItemComponent {
|
|
|
18
18
|
this.quantity = computed(() => sumBy(this.order().items, (item) => item.quantity));
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: OrderItemComponent, isStandalone: true, selector: "rolatech-order-item", inputs: { order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-col hover:bg-[--rt-raised-background] cursor-pointer p-3\">\n <div class=\"flex justify-between w-full mb-2\">\n <span>\u8BA2\u5355\u53F7: {{ order().orderNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n <div>\n @if (order().items; as items) {\n @if (items.length > 1) {\n } @else {}\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\"
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: OrderItemComponent, isStandalone: true, selector: "rolatech-order-item", inputs: { order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-col hover:bg-[--rt-raised-background] cursor-pointer p-3\">\n <div class=\"flex justify-between w-full mb-2\">\n <span>\u8BA2\u5355\u53F7: {{ order().orderNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n <div>\n @if (order().items; as items) {\n @if (items.length > 1) {\n } @else {}\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\">\n {{ item.options | orderItemoptions: order().type }}\n </div>\n }\n </div>\n <div class=\"text-right\">\n <div class=\"text-sm\">\u00A5{{ (item.total / 100).toFixed(2) }}</div>\n <div class=\"text-sm mt-2\">x{{ item.quantity }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n</div>\n<hr />\n", styles: [".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ImagePlaceholderComponent, selector: "rolatech-image-placeholder" }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }], deferBlockDependencies: [() => [ThumbnailComponent]] }); }
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderItemComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
|
-
args: [{ selector: 'rolatech-order-item', standalone: true, imports: [MatIconModule, ThumbnailComponent, ImagePlaceholderComponent, NgClass, JsonPipe, OrderItemOptionsFormatPipe], template: "<div class=\"flex flex-col hover:bg-[--rt-raised-background] cursor-pointer p-3\">\n <div class=\"flex justify-between w-full mb-2\">\n <span>\u8BA2\u5355\u53F7: {{ order().orderNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n <div>\n @if (order().items; as items) {\n @if (items.length > 1) {\n } @else {}\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\"
|
|
25
|
+
args: [{ selector: 'rolatech-order-item', standalone: true, imports: [MatIconModule, ThumbnailComponent, ImagePlaceholderComponent, NgClass, JsonPipe, OrderItemOptionsFormatPipe], template: "<div class=\"flex flex-col hover:bg-[--rt-raised-background] cursor-pointer p-3\">\n <div class=\"flex justify-between w-full mb-2\">\n <span>\u8BA2\u5355\u53F7: {{ order().orderNo }}</span>\n <span class=\"font-medium text-sm\">{{ status[order().status] }}</span>\n </div>\n <div>\n @if (order().items; as items) {\n @if (items.length > 1) {\n } @else {}\n <div class=\"flex flex-col overflow-x-scroll scrollbar-hide\">\n @for (item of items; track $index) {\n <div class=\"flex flex-row py-2\">\n @if (item.media) {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"item.media[0].url + '!w400'\" size=\"medium\" mode=\"full\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\">\n <rolatech-image-placeholder></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div>\n <div>{{ item.name }}</div>\n @if (item.options) {\n <div class=\"text-sm text-[--rt-text-secondary] mt-2\">\n {{ item.options | orderItemoptions: order().type }}\n </div>\n }\n </div>\n <div class=\"text-right\">\n <div class=\"text-sm\">\u00A5{{ (item.total / 100).toFixed(2) }}</div>\n <div class=\"text-sm mt-2\">x{{ item.quantity }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n</div>\n<hr />\n", styles: [".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"] }]
|
|
26
26
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWl0ZW0vb3JkZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWl0ZW0vb3JkZXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBU2hGLE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBUyxDQUFDO1FBQ2hDLFdBQU0sR0FBUSxXQUFXLENBQUM7UUFDMUIsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLHNFQUFzRTtZQUN0RSxtQ0FBbUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUNwRjs4R0FUWSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrTkNmL0IsbWdFQWdEQSx3S0RyQ1ksYUFBYSwrQkFBc0IseUJBQXlCLGtFQUFxQiwwQkFBMEIsK0RBQTVGLGtCQUFrQjs7MkZBSWhDLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBPcmRlciwgT3JkZXJTdGF0dXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEpzb25QaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHN1bUJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEltYWdlUGxhY2Vob2xkZXJDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT3JkZXJJdGVtT3B0aW9uc0Zvcm1hdFBpcGUgfSBmcm9tICcuLi8uLi9waXBlL29yZGVyLWl0ZW0tb3B0aW9ucy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtb3JkZXItaXRlbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlLCBUaHVtYm5haWxDb21wb25lbnQsIEltYWdlUGxhY2Vob2xkZXJDb21wb25lbnQsIE5nQ2xhc3MsIEpzb25QaXBlLCBPcmRlckl0ZW1PcHRpb25zRm9ybWF0UGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmRlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPcmRlckl0ZW1Db21wb25lbnQge1xuICBvcmRlciA9IGlucHV0LnJlcXVpcmVkPE9yZGVyPigpO1xuICBzdGF0dXM6IGFueSA9IE9yZGVyU3RhdHVzO1xuICB0b3RhbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKHRoaXMub3JkZXIoKS50b3RhbCAvIDEwMCkudG9GaXhlZCgyKTtcbiAgICAvLyBjb25zdCBwcmljZSA9IHN1bUJ5KHRoaXMub3JkZXIoKS5pdGVtcywgKGl0ZW06IGFueSkgPT4gaXRlbS50b3RhbCk7XG4gICAgLy8gcmV0dXJuIChwcmljZSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfSk7XG4gIHF1YW50aXR5ID0gY29tcHV0ZWQoKCkgPT4gc3VtQnkodGhpcy5vcmRlcigpLml0ZW1zLCAoaXRlbTogYW55KSA9PiBpdGVtLnF1YW50aXR5KSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBob3ZlcjpiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gY3Vyc29yLXBvaW50ZXIgcC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgbWItMlwiPlxuICAgIDxzcGFuPuiuouWNleWPtzoge3sgb3JkZXIoKS5vcmRlck5vIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC1zbVwiPnt7IHN0YXR1c1tvcmRlcigpLnN0YXR1c10gfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIEBpZiAob3JkZXIoKS5pdGVtczsgYXMgaXRlbXMpIHtcbiAgICAgIEBpZiAoaXRlbXMubGVuZ3RoID4gMSkge1xuICAgICAgfSBAZWxzZSB7fVxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgb3ZlcmZsb3cteC1zY3JvbGwgc2Nyb2xsYmFyLWhpZGVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgcHktMlwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLm1lZGlhKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0yNCB3LTM2IG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZyBtci0zXCI+XG4gICAgICAgICAgICAgICAgQGRlZmVyIChvbiB2aWV3cG9ydCgpKSB7XG4gICAgICAgICAgICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwiaXRlbS5tZWRpYVswXS51cmwgKyAnIXc0MDAnXCIgc2l6ZT1cIm1lZGl1bVwiIG1vZGU9XCJmdWxsXCI+IDwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICAgICAgICAgIH0gQHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvIHJvdW5kZWQtbGdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0yNCB3LTM2IG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZyBtci0zXCI+XG4gICAgICAgICAgICAgICAgPHJvbGF0ZWNoLWltYWdlLXBsYWNlaG9sZGVyPjwvcm9sYXRlY2gtaW1hZ2UtcGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ub3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LVstLXJ0LXRleHQtc2Vjb25kYXJ5XSBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5vcHRpb25zIHwgb3JkZXJJdGVtb3B0aW9uczogb3JkZXIoKS50eXBlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPsKle3sgKGl0ZW0udG90YWwgLyAxMDApLnRvRml4ZWQoMikgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIG10LTJcIj54e3sgaXRlbS5xdWFudGl0eSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG48aHIgLz5cbiJdfQ==
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
export var OrderStatus;
|
|
2
2
|
(function (OrderStatus) {
|
|
3
|
-
OrderStatus[
|
|
4
|
-
OrderStatus[
|
|
5
|
-
OrderStatus[
|
|
6
|
-
OrderStatus[
|
|
7
|
-
OrderStatus[
|
|
8
|
-
OrderStatus[
|
|
3
|
+
OrderStatus["CREATED"] = "\u5F85\u4ED8\u6B3E";
|
|
4
|
+
OrderStatus["PAID"] = "\u5DF2\u652F\u4ED8";
|
|
5
|
+
OrderStatus["COMPLETED"] = "\u5DF2\u5B8C\u6210";
|
|
6
|
+
OrderStatus["CLOSED"] = "\u4EA4\u6613\u5173\u95ED";
|
|
7
|
+
OrderStatus["CANCELED"] = "\u4EA4\u6613\u53D6\u6D88";
|
|
8
|
+
OrderStatus["REFUNDED"] = "\u5DF2\u9000\u6B3E";
|
|
9
9
|
})(OrderStatus || (OrderStatus = {}));
|
|
10
10
|
export var OrderType;
|
|
11
11
|
(function (OrderType) {
|
|
12
|
-
OrderType[
|
|
13
|
-
OrderType[
|
|
14
|
-
OrderType[
|
|
15
|
-
OrderType[
|
|
16
|
-
OrderType[
|
|
12
|
+
OrderType["COURSE"] = "\u8BFE\u7A0B";
|
|
13
|
+
OrderType["PRODUCT"] = "\u5546\u54C1";
|
|
14
|
+
OrderType["SERVICE"] = "\u670D\u52A1";
|
|
15
|
+
OrderType["BOOKING"] = "\u9884\u5B9A";
|
|
16
|
+
OrderType["OTTHER"] = "\u5176\u4ED6";
|
|
17
17
|
})(OrderType || (OrderType = {}));
|
|
18
18
|
export var OrderReturnStatus;
|
|
19
19
|
(function (OrderReturnStatus) {
|
|
@@ -63,4 +63,4 @@ export var OrderPayoutType;
|
|
|
63
63
|
OrderPayoutType[OrderPayoutType["CARD"] = '银行卡'] = "CARD";
|
|
64
64
|
OrderPayoutType[OrderPayoutType["WECHAT"] = '微信零钱'] = "WECHAT";
|
|
65
65
|
})(OrderPayoutType || (OrderPayoutType = {}));
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9pbnRlcmZhY2VzL29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sQ0FBTixJQUFZLFdBT1g7QUFQRCxXQUFZLFdBQVc7SUFDckIsNkNBQWUsQ0FBQTtJQUNmLDBDQUFZLENBQUE7SUFDWiwrQ0FBaUIsQ0FBQTtJQUNqQixrREFBZSxDQUFBO0lBQ2Ysb0RBQWlCLENBQUE7SUFDakIsOENBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQVBXLFdBQVcsS0FBWCxXQUFXLFFBT3RCO0FBQ0QsTUFBTSxDQUFOLElBQVksU0FNWDtBQU5ELFdBQVksU0FBUztJQUNuQixvQ0FBYSxDQUFBO0lBQ2IscUNBQWMsQ0FBQTtJQUNkLHFDQUFjLENBQUE7SUFDZCxxQ0FBYyxDQUFBO0lBQ2Qsb0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxTQUFTLEtBQVQsU0FBUyxRQU1wQjtBQVlELE1BQU0sQ0FBTixJQUFZLGlCQU9YO0FBUEQsV0FBWSxpQkFBaUI7SUFDM0IsaURBQWUsTUFBTSxhQUFBLENBQUE7SUFDckIsa0RBQWdCLE1BQU0sY0FBQSxDQUFBO0lBQ3RCLGtEQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQixrREFBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsb0RBQWtCLE9BQU8sZ0JBQUEsQ0FBQTtJQUN6QixrREFBZ0IsS0FBSyxjQUFBLENBQUE7QUFDdkIsQ0FBQyxFQVBXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFPNUI7QUFvQkQsTUFBTSxDQUFOLElBQVksZUFTWDtBQVRELFdBQVksZUFBZTtJQUN6Qiw2Q0FBZSxJQUFJLGFBQUEsQ0FBQTtJQUNuQiw4Q0FBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsNENBQWMsS0FBSyxZQUFBLENBQUE7SUFDbkIsc0RBQXdCLE1BQU0sc0JBQUEsQ0FBQTtJQUM5QixxREFBdUIsUUFBUSxxQkFBQSxDQUFBO0lBQy9CLHFEQUF1QixRQUFRLHFCQUFBLENBQUE7SUFDL0IsdURBQXlCLE9BQU8sdUJBQUEsQ0FBQTtJQUNoQyw4Q0FBZ0IsS0FBSyxjQUFBLENBQUE7QUFDdkIsQ0FBQyxFQVRXLGVBQWUsS0FBZixlQUFlLFFBUzFCO0FBQ0QsTUFBTSxDQUFOLElBQVksbUJBWVg7QUFaRCxXQUFZLG1CQUFtQjtJQUM3QiwwREFBb0IsTUFBTSxrQkFBQSxDQUFBO0lBQzFCLDBEQUFvQixNQUFNLGtCQUFBLENBQUE7SUFDMUIsNERBQXNCLE1BQU0sb0JBQUEsQ0FBQTtJQUM1Qix3REFBa0IsT0FBTyxnQkFBQSxDQUFBO0lBQ3pCLDREQUFzQixPQUFPLG9CQUFBLENBQUE7SUFDN0IsNkRBQXVCLE9BQU8scUJBQUEsQ0FBQTtJQUM5QixvRUFBOEIsTUFBTSw0QkFBQSxDQUFBO0lBQ3BDLG1FQUE2QixRQUFRLDJCQUFBLENBQUE7SUFDckMsbUVBQTZCLFFBQVEsMkJBQUEsQ0FBQTtJQUNyQyxxRUFBK0IsT0FBTyw2QkFBQSxDQUFBO0lBQ3RDLG1FQUE2QixZQUFZLDJCQUFBLENBQUE7QUFDM0MsQ0FBQyxFQVpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFZOUI7QUFZRCxNQUFNLENBQU4sSUFBWSxpQkFNWDtBQU5ELFdBQVksaUJBQWlCO0lBQzNCLGlEQUFlLElBQUksYUFBQSxDQUFBO0lBQ25CLGlEQUFlLEtBQUssYUFBQSxDQUFBO0lBQ3BCLDhDQUFZLEtBQUssVUFBQSxDQUFBO0lBQ2pCLGtEQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQixnREFBYyxJQUFJLFlBQUEsQ0FBQTtBQUNwQixDQUFDLEVBTlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU01QjtBQUNELE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsMENBQVksTUFBTSxVQUFBLENBQUE7SUFDbEIsMENBQVksS0FBSyxVQUFBLENBQUE7SUFDakIsNENBQWMsTUFBTSxZQUFBLENBQUE7QUFDdEIsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBPcmRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgb3JkZXJObz86IHN0cmluZztcbiAgdG90YWw6IG51bWJlcjtcbiAgc3RhdHVzOiBPcmRlclN0YXR1cyB8IHN0cmluZztcbiAgaXRlbXM6IE9yZGVySXRlbVtdO1xuICBjdXN0b21lcklkOiBzdHJpbmc7XG4gIG93bmVySWQ6IHN0cmluZztcbiAgdHlwZTogT3JkZXJUeXBlO1xufVxuZXhwb3J0IGVudW0gT3JkZXJTdGF0dXMge1xuICBDUkVBVEVEID0gJ+W+heS7mOasvicsXG4gIFBBSUQgPSAn5bey5pSv5LuYJyxcbiAgQ09NUExFVEVEID0gJ+W3suWujOaIkCcsXG4gIENMT1NFRCA9ICfkuqTmmJPlhbPpl60nLFxuICBDQU5DRUxFRCA9ICfkuqTmmJPlj5bmtognLFxuICBSRUZVTkRFRCA9ICflt7LpgIDmrL4nLFxufVxuZXhwb3J0IGVudW0gT3JkZXJUeXBlIHtcbiAgQ09VUlNFID0gJ+ivvueoiycsXG4gIFBST0RVQ1QgPSAn5ZWG5ZOBJyxcbiAgU0VSVklDRSA9ICfmnI3liqEnLFxuICBCT09LSU5HID0gJ+mihOWumicsXG4gIE9UVEhFUiA9ICflhbbku5YnLFxufVxuZXhwb3J0IGludGVyZmFjZSBPcmRlclJldHVybiB7XG4gIHN0YXR1czogT3JkZXJSZXR1cm5TdGF0dXMgfCBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICB0b3RhbDogbnVtYmVyO1xuICBjdXN0b21lcklkOiBzdHJpbmc7XG4gIG93bmVySWQ6IHN0cmluZztcbiAgaXRlbXM6IE9yZGVySXRlbVJldHVybltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBPcmRlckl0ZW1SZXR1cm4ge1xuICBvcmRlckl0ZW06IE9yZGVySXRlbTtcbn1cbmV4cG9ydCBlbnVtIE9yZGVyUmV0dXJuU3RhdHVzIHtcbiAgQ1JFQVRFRCA9IDxhbnk+J+etieW+heWuoeaguCcsXG4gIENBTkNFTEVEID0gPGFueT4n55So5oi35Y+W5raIJyxcbiAgQVBQUk9WRUQgPSA8YW55Piflt7LpgJrov4cnLFxuICBSRUpFQ1RFRCA9IDxhbnk+J+W3suaLkue7nScsXG4gIFBST0NFU1NJTkcgPSA8YW55PiflubPlj7DlpITnkIbkuK0nLFxuICBSRVRVUk5FRCA9IDxhbnk+J+W3sumAgOasvicsXG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVySXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvZHVjdElkOiBzdHJpbmc7XG4gIHZhcmlhbnRJZDogc3RyaW5nO1xuICBzdGF0dXM6IE9yZGVySXRlbVN0YXR1cztcbiAgdG90YWw6IG51bWJlcjtcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgbWVkaWE6IE9yZGVySXRlbU1lZGlhW107XG4gIG9wdGlvbnM6IE9yZGVySXRlbU9wdGlvbltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBPcmRlckl0ZW1NZWRpYSB7XG4gIHVybDogc3RyaW5nO1xuICBhbHQ6IHN0cmluZztcbiAgc2l6ZTogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBPcmRlckl0ZW1PcHRpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBPcmRlckl0ZW1TdGF0dXMge1xuICBDUkVBVEVEID0gPGFueT4n5Yib5bu6JyxcbiAgQ0FOQ0VMRUQgPSA8YW55Piflt7Llj5bmtognLFxuICBDTE9TRUQgPSA8YW55Piflt7LlhbPpl60nLFxuICBSRVRVUk5fUkVRVUVTVEVEID0gPGFueT4n562J5b6F5a6h5qC4JyxcbiAgUkVUVVJOX0FQUFJPVkVEID0gPGFueT4n5ZWG5a625ZCM5oSP6YCA5qy+JyxcbiAgUkVUVVJOX1JFSkVDVEVEID0gPGFueT4n5ZWG5a625ouS57ud6YCA5qy+JyxcbiAgUkVUVVJOX1BST0NFU1NJTkcgPSA8YW55PifpgIDmrL7lpITnkIbkuK0nLFxuICBSRUZVTkRFRCA9IDxhbnk+J+W3sumAgOasvicsXG59XG5leHBvcnQgZW51bSBPcmRlclRpbWVsaW5lU3RhdHVzIHtcbiAgT1JERVJfQ1JFQVRFID0gPGFueT4n5Lqk5piT5Yib5bu6JyxcbiAgT1JERVJfQ0xPU0VEID0gPGFueT4n5Lqk5piT5YWz6ZetJyxcbiAgT1JERVJfQ0FOQ0VMRUQgPSA8YW55PifkuqTmmJPlj5bmtognLFxuICBPUkRFUl9QQUlEID0gPGFueT4n6K6i5Y2V5bey5pSv5LuYJyxcbiAgT1JERVJfUkVGVU5ERUQgPSA8YW55PiforqLljZXlt7LpgIDmrL4nLFxuICBPUkRFUl9DT01QTEVURUQgPSA8YW55PiforqLljZXlt7LlrozmiJAnLFxuICBPUkRFUl9SRVRVUk5fUkVRVUVTVEVEID0gPGFueT4n6YCA5qy+55Sz6K+3JyxcbiAgT1JERVJfUkVUVVJOX0FQUFJPVkVEID0gPGFueT4n5ZWG5a625ZCM5oSP6YCA5qy+JyxcbiAgT1JERVJfUkVUVVJOX1JFSkVDVEVEID0gPGFueT4n5ZWG5a625ouS57ud6YCA5qy+JyxcbiAgT1JERVJfUkVUVVJOX1BST0NFU1NJTkcgPSA8YW55PifpgIDmrL7lpITnkIbkuK0nLFxuICBPUkRFUl9SRVRVUk5fUkVGVU5ERUQgPSA8YW55PifpgIDmrL7lpITnkIblrozmiJDvvIzlt7LlhaXotKYnLFxufVxuZXhwb3J0IGludGVyZmFjZSBPcmRlclBheW91dCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgc3RhdHVzOiBPcmRlclBheW91dFN0YXR1cyB8IHN0cmluZztcbiAgdHlwZTogT3JkZXJQYXlvdXRUeXBlO1xuICBmZWU6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbiAgb3JkZXJJZDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gT3JkZXJQYXlvdXRTdGF0dXMge1xuICBDUkVBVEVEID0gPGFueT4n5Yib5bu6JyxcbiAgUEVORElORyA9IDxhbnk+J+WkhOeQhuS4rScsXG4gIFBBSUQgPSA8YW55Piflt7LmlK/ku5gnLFxuICBDQU5DRUxFRCA9IDxhbnk+J+W3suWPlua2iCcsXG4gIEZBSUxFRCA9IDxhbnk+J+Wksei0pScsXG59XG5leHBvcnQgZW51bSBPcmRlclBheW91dFR5cGUge1xuICBCQU5LID0gPGFueT4n6ZO26KGM6L2s6LSmJyxcbiAgQ0FSRCA9IDxhbnk+J+mTtuihjOWNoScsXG4gIFdFQ0hBVCA9IDxhbnk+J+W+ruS/oembtumSsScsXG59XG4iXX0=
|
|
@@ -4,7 +4,6 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
4
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
5
5
|
import { RouterLink } from '@angular/router';
|
|
6
6
|
import moment from 'moment';
|
|
7
|
-
import { map } from 'rxjs';
|
|
8
7
|
import { ContainerComponent, BaseComponent, SpinnerComponent, ThumbnailComponent, TitleComponent, ToolbarComponent, } from '@rolatech/angular-components';
|
|
9
8
|
import { CourseType, CourseService } from '@rolatech/angular-course';
|
|
10
9
|
import { NavigationService } from '@rolatech/angular-services';
|
|
@@ -12,9 +11,8 @@ import { OrderService } from '@rolatech/angular-services';
|
|
|
12
11
|
import { OrderStatus, OrderTimelineStatus, OrderType } from '../../interfaces';
|
|
13
12
|
import { OrderReturnRequestComponent } from '../../components/order-return-request/order-return-request.component';
|
|
14
13
|
import { ProductService } from '@rolatech/angular-services';
|
|
15
|
-
import { OrderCourseItemComponent } from '../../components/order-course-item/order-course-item.component';
|
|
16
14
|
import { OrderVariantItemComponent } from '../../components/order-variant-item/order-variant-item.component';
|
|
17
|
-
import {
|
|
15
|
+
import { OrderDetailItemComponent } from '../../components/order-detail-item/order-detail-item.component';
|
|
18
16
|
import { OrderItemOptionsFormatPipe } from '../../pipe/order-item-options.pipe';
|
|
19
17
|
import * as i0 from "@angular/core";
|
|
20
18
|
import * as i1 from "@angular/material/button";
|
|
@@ -41,15 +39,6 @@ export class OrderDetailComponent extends BaseComponent {
|
|
|
41
39
|
this.orderService.get(this.id).subscribe({
|
|
42
40
|
next: (res) => {
|
|
43
41
|
this.order = res.data;
|
|
44
|
-
if (this.order.type?.toString() === 'PRODUCT') {
|
|
45
|
-
this.getVariant();
|
|
46
|
-
}
|
|
47
|
-
else if (this.order.type?.toString() === 'COURSE') {
|
|
48
|
-
this.getCourse();
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.getCourse();
|
|
52
|
-
}
|
|
53
42
|
if (this.order.status === 'CREATED') {
|
|
54
43
|
setInterval(() => {
|
|
55
44
|
const start = moment();
|
|
@@ -62,24 +51,6 @@ export class OrderDetailComponent extends BaseComponent {
|
|
|
62
51
|
},
|
|
63
52
|
});
|
|
64
53
|
}
|
|
65
|
-
back() {
|
|
66
|
-
this.navigationService.back();
|
|
67
|
-
}
|
|
68
|
-
getCourse() {
|
|
69
|
-
const { productId } = this.order.items[0];
|
|
70
|
-
this.course$ = this.courseService.get(productId).pipe(map((res) => res.data));
|
|
71
|
-
}
|
|
72
|
-
getVariant() {
|
|
73
|
-
const { variantId } = this.order.items[0];
|
|
74
|
-
if (variantId) {
|
|
75
|
-
this.productService
|
|
76
|
-
.getVariant(variantId)
|
|
77
|
-
.pipe(map((res) => res.data))
|
|
78
|
-
.subscribe({
|
|
79
|
-
next: (res) => { },
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
54
|
refund() {
|
|
84
55
|
const options = {
|
|
85
56
|
width: '500px',
|
|
@@ -134,7 +105,7 @@ export class OrderDetailComponent extends BaseComponent {
|
|
|
134
105
|
});
|
|
135
106
|
}
|
|
136
107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", 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
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", 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 <label class=\"font-medium\">\u8BA2\u5355\u53F7</label>\n <span class=\"text-sm\"> {{ order.orderNo }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <label class=\"font-medium\">\u4E0B\u5355\u65F6\u95F4</label>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <label class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</label>\n <span class=\"text-sm\">\u00A5{{ (order.total / 100).toFixed(2) }}</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\">\n <img class=\"w-6 h-6\" src=\"/images/pay_wechat.png\" />\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\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 <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u8BA2\u5355</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" }] }); }
|
|
138
109
|
}
|
|
139
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderDetailComponent, decorators: [{
|
|
140
111
|
type: Component,
|
|
@@ -149,10 +120,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
149
120
|
ThumbnailComponent,
|
|
150
121
|
ToolbarComponent,
|
|
151
122
|
TitleComponent,
|
|
152
|
-
|
|
153
|
-
OrderProductItemComponent,
|
|
123
|
+
OrderDetailItemComponent,
|
|
154
124
|
OrderVariantItemComponent,
|
|
155
125
|
OrderItemOptionsFormatPipe,
|
|
156
|
-
], 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
|
|
126
|
+
], 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 <label class=\"font-medium\">\u8BA2\u5355\u53F7</label>\n <span class=\"text-sm\"> {{ order.orderNo }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <label class=\"font-medium\">\u4E0B\u5355\u65F6\u95F4</label>\n <span class=\"text-sm\"> {{ order.createdAt }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <label class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</label>\n <span class=\"text-sm\">\u00A5{{ (order.total / 100).toFixed(2) }}</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\">\n <img class=\"w-6 h-6\" src=\"/images/pay_wechat.png\" />\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\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 <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\">\u652F\u4ED8\u8BA2\u5355</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" }]
|
|
157
127
|
}] });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVyLWRldGFpbC9vcmRlci1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGdCQUFnQixHQUNqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQVUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBUyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtC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QzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakhVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdHQy9DakMsNnVLQTRIQSx5REQvRkksZUFBZSx3VUFDZixhQUFhLG9MQUNiLFVBQVUsb09BQ1YsT0FBTywrRUFDUCxTQUFTLDhDQUNULGdCQUFnQixnRkFDaEIsa0JBQWtCLCtEQUVsQixnQkFBZ0IsZ0lBRWhCLHdCQUF3QiwyRkFDeEIseUJBQXlCLHVJQUV6QiwwQkFBMEI7OzJGQUtqQixvQkFBb0I7a0JBdEJoQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6QiwwQkFBMEI7cUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29udGFpbmVyQ29tcG9uZW50LFxuICBCYXNlQ29tcG9uZW50LFxuICBTcGlubmVyQ29tcG9uZW50LFxuICBUaHVtYm5haWxDb21wb25lbnQsXG4gIFRpdGxlQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IENvdXJzZVR5cGUsIENvdXJzZSwgQ291cnNlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvdXJzZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVyLCBPcmRlclN0YXR1cywgT3JkZXJUaW1lbGluZVN0YXR1cywgT3JkZXJUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcmRlclJldHVyblJlcXVlc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLXJldHVybi1yZXF1ZXN0L29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0U2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVyQ291cnNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JkZXItY291cnNlLWl0ZW0vb3JkZXItY291cnNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVyVmFyaWFudEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLXZhcmlhbnQtaXRlbS9vcmRlci12YXJpYW50LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVyUHJvZHVjdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLXByb2R1Y3QtaXRlbS9vcmRlci1wcm9kdWN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9vcmRlci1pdGVtLW9wdGlvbnMucGlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1vcmRlci1kZXRhaWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZSxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBPcmRlckNvdXJzZUl0ZW1Db21wb25lbnQsXG4gICAgT3JkZXJQcm9kdWN0SXRlbUNvbXBvbmVudCxcbiAgICBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50LFxuICAgIE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWRldGFpbC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyITogT3JkZXI7XG4gIHN0YXR1czogYW55ID0gT3JkZXJTdGF0dXM7XG4gIHR5cGUgPSBDb3Vyc2VUeXBlO1xuICBvcmRlclR5cGUgPSBPcmRlclR5cGU7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICBjb3Vyc2VTZXJ2aWNlID0gaW5qZWN0KENvdXJzZVNlcnZpY2UpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgdGltZWxpbmVEYXRhOiBhbnk7XG4gIGluZm8gPSBmYWxzZTtcbiAgbG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gIHRpbWVsaW5lU3RhdHVzOiBhbnkgPSBPcmRlclRpbWVsaW5lU3RhdHVzO1xuXG4gIC8vIG9yZGVyJDogT2JzZXJ2YWJsZTxPcmRlcj47XG4gIGNvdXJzZSQ/OiBPYnNlcnZhYmxlPENvdXJzZT47XG4gIGNvdW50RG93biA9ICcnO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgpO1xuICB9XG4gIGdldCgpIHtcbiAgICB0aGlzLm9yZGVyU2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm9yZGVyID0gcmVzLmRhdGE7XG4gICAgICAgIGlmICh0aGlzLm9yZGVyLnR5cGU/LnRvU3RyaW5nKCkgPT09ICdQUk9EVUNUJykge1xuICAgICAgICAgIHRoaXMuZ2V0VmFyaWFudCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3JkZXIudHlwZT8udG9TdHJpbmcoKSA9PT0gJ0NPVVJTRScpIHtcbiAgICAgICAgICB0aGlzLmdldENvdXJzZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZ2V0Q291cnNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3JkZXIuc3RhdHVzID09PSAnQ1JFQVRFRCcpIHtcbiAgICAgICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG1vbWVudCgpO1xuICAgICAgICAgICAgY29uc3QgZW5kID0gbW9tZW50KHRoaXMub3JkZXIuY3JlYXRlZEF0KS5hZGQoMTUsICdtaW51dGUnKTtcbiAgICAgICAgICAgIGNvbnN0IGRpZmYgPSBlbmQuZGlmZihzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbihkaWZmKTtcbiAgICAgICAgICAgIHRoaXMuY291bnREb3duID0gbW9tZW50LnV0YyhkdXJhdGlvbi5hcygnbWlsbGlzZWNvbmRzJykpLmZvcm1hdCgnbW06c3MnKTtcbiAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBiYWNrKCkge1xuICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuYmFjaygpO1xuICB9XG4gIGdldENvdXJzZSgpIHtcbiAgICBjb25zdCB7IHByb2R1Y3RJZCB9ID0gdGhpcy5vcmRlci5pdGVtc1swXTtcbiAgICB0aGlzLmNvdXJzZSQgPSB0aGlzLmNvdXJzZVNlcnZpY2UuZ2V0KHByb2R1Y3RJZCkucGlwZShtYXAoKHJlczogYW55KSA9PiByZXMuZGF0YSkpO1xuICB9XG4gIGdldFZhcmlhbnQoKSB7XG4gICAgY29uc3QgeyB2YXJpYW50SWQgfSA9IHRoaXMub3JkZXIuaXRlbXNbMF07XG4gICAgaWYgKHZhcmlhbnRJZCkge1xuICAgICAgdGhpcy5wcm9kdWN0U2VydmljZVxuICAgICAgICAuZ2V0VmFyaWFudCh2YXJpYW50SWQpXG4gICAgICAgIC5waXBlKG1hcCgocmVzOiBhbnkpID0+IHJlcy5kYXRhKSlcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlcykgPT4ge30sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZWZ1bmQoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHdpZHRoOiAnNTAwcHgnLFxuICAgICAgdGl0bGU6ICfnlLPor7fpgIDmrL4nLFxuICAgICAgaGVpZ2h0OiAnOTAlJyxcbiAgICAgIGNhbmNlbFRleHQ6ICflj5bmtognLFxuICAgICAgY29uZmlybVRleHQ6ICfnoa7orqQnLFxuICAgICAgY29tcG9uZW50OiBPcmRlclJldHVyblJlcXVlc3RDb21wb25lbnQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHJlYXNvbjogJycsXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4ob3B0aW9ucyk7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm1lZCgpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMub3JkZXJTZXJ2aWNlLnJlZnVuZCh0aGlzLmlkLCByZXMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3Blbign6YCA5qy+55Sz6K+35oiQ5YqfLCDnrYnlvoXlrqHmoLgnKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLmNhbmNlbCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLm9yZGVyLnN0YXR1cyA9IE9yZGVyU3RhdHVzW09yZGVyU3RhdHVzLkNBTkNFTEVEXTtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3Blbign5Y+W5raI5oiQ5YqfJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwYXkoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL29yZGVycy8ke3RoaXMuaWR9L3FyY29kZXBheWApO1xuICB9XG4gIHRpbWVsaW5lKCkge1xuICAgIHRoaXMuaW5mbyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nVGltZWxpbmUgPSB0cnVlO1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLnRpbWVsaW5lKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMudGltZWxpbmVEYXRhID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChvcmRlcikge1xuICA8cm9sYXRlY2gtY29udGFpbmVyPlxuICAgIDxyb2xhdGVjaC10b29sYmFyIFt0aXRsZV09XCJzdGF0dXNbb3JkZXIuc3RhdHVzXVwiIGxhcmdlIGxpbms9XCIuLi9cIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwidGltZWxpbmUoKVwiPlxuICAgICAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPuiuouWNleeKtuaAgTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgQGlmIChvcmRlci5zdGF0dXMgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVstLXJ0LWJyYW5kLWNvbG9yXSBmb250LWJvbGRcIj7mlK/ku5jlgJLorqHml7Y6IHt7IGNvdW50RG93biB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgQGlmIChjb3Vyc2UkIHwgYXN5bmM7IGFzIGNvdXJzZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgcHktM1wiPuivvueoi+S/oeaBrzwvZGl2PlxuICAgICAgICAgICAgPHJvbGF0ZWNoLW9yZGVyLWNvdXJzZS1pdGVtIFtyb3V0ZXJMaW5rXT1cIlsnL2NvdXJzZXMvJywgY291cnNlLmlkXVwiIFtjb3Vyc2VdPVwiY291cnNlXCI+PC9yb2xhdGVjaC1vcmRlci1jb3Vyc2UtaXRlbT5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxnIHB5LTNcIj7llYblk4Hkv6Hmga88L2Rpdj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3JkZXIuaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8IS0tIFtkZXNjcmlwdGlvbl09XCJ2YXJpYW50Lm9wdGlvbnMgfCBvcHRpb25zXCJcbiAgICAgICAgICAgICAgICBbdGh1bWJuYWlsXT1cInZhcmlhbnQubWVkaWEgPyB2YXJpYW50Lm1lZGlhWzBdLnVybCArICchdzIwMCcgOiBwcm9kdWN0Lm1lZGlhWzBdLnVybCArICchdzIwMCdcIiAtLT5cbiAgICAgICAgICAgICAgPHJvbGF0ZWNoLW9yZGVyLXByb2R1Y3QtaXRlbVxuICAgICAgICAgICAgICAgIFt0aHVtYm5haWxdPVwiaXRlbS5tZWRpYVswXS51cmwgKyAnIXcyMDAgJ1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvcHJvZHVjdHMvJywgaXRlbS5wcm9kdWN0SWRdXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICBbdG90YWxdPVwiaXRlbS50b3RhbFwiXG4gICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIml0ZW0ub3B0aW9ucyB8IG9yZGVySXRlbW9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtxdWFudGl0eV09XCJpdGVtLnF1YW50aXR5XCJcbiAgICAgICAgICAgICAgPjwvcm9sYXRlY2gtb3JkZXItcHJvZHVjdC1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgcHktMyBmb250LW1lZGl1bVwiPuiuouWNleS/oeaBrzwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1tZWRpdW1cIj7orqLljZXlj7c8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+IHt7IG9yZGVyLm9yZGVyTm8gfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bVwiPuS4i+WNleaXtumXtDwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj4ge3sgb3JkZXIuY3JlYXRlZEF0IH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1tZWRpdW1cIj7lupTku5jph5Hpop08L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+wqV7eyAob3JkZXIudG90YWwgLyAxMDApLnRvRml4ZWQoMikgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKG9yZGVyLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcgfHwgb3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQUlEJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBwYi0zIGZvbnQtbWVkaXVtXCI+5pSv5LuY5pa55byPPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy02IGgtNlwiIHNyYz1cImFzc2V0cy9wYXlfd2VjaGF0LnBuZ1wiIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMVwiPuW+ruS/oeaUr+S7mDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gc2FmZSBhcmVhIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInBiLTE2IHNtOnBiLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ1BBSUQnKSB7XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInJlZnVuZCgpXCI+55Sz6K+36YCA5qy+PC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInVuZGVybGluZSB0ZXh0LXNtIHVuZGVybGluZS1vZmZzZXQtNCBtci02IGN1cnNvci1wb2ludGVyIGhvdmVyOnRleHQtWy0tcnQtYnJhbmQtY29sb3JdXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgPuWPlua2iOiuouWNlTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG9yZGVyLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcpIHtcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy0zMiBtaW4taC0xMVwiIChjbGljayk9XCJwYXkoKVwiPuaUr+S7mOiuouWNlTwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG48ZGl2XG4gIFtuZ0NsYXNzXT1cImluZm8gPyAndHJhbnNsYXRlLW5vbmUnIDogJ3RyYW5zbGF0ZS14LWZ1bGwnXCJcbiAgY2xhc3M9XCJmaXhlZCB0b3AtMCByaWdodC0wIHotWzEwMDFdIGgtc2NyZWVuIHAtNCBvdmVyZmxvdy15LWF1dG8gdHJhbnNpdGlvbi10cmFuc2Zvcm0gYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIHctODAgc206dy1bMzAwcHhdIHNoYWRvdy14bFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgc206cC00XCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkXCI+6K6i5Y2V54q25oCBPC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImluZm8gPSAhaW5mb1wiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIEBpZiAoIWxvYWRpbmdUaW1lbGluZSkge1xuICAgIDxkaXYgY2xhc3M9XCJtdC0zIHAtMSBzbTpwLTRcIj5cbiAgICAgIDxvbCBjbGFzcz1cInJlbGF0aXZlIGJvcmRlci1sIGJvcmRlci1bLS1ydC1ib3JkZXItY29sb3JdXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgdGltZWxpbmVEYXRhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwibWItOCBtbC00XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgdy0zIGgtMyByb3VuZGVkLWZ1bGwgbXQtMS41IC1sZWZ0LTEuNSBib3JkZXIgYm9yZGVyLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBiZy1bLS1ydC10ZXh0LXByaW1hcnldXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtYm9sZCBtYi0xXCI+e3sgdGltZWxpbmVTdGF0dXNbaXRlbS5zdGF0dXNdIH19PC9kaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uc3RhdHVzID09PSAnQk9PS0lOR19SRVRVUk5fUkVKRUNURUQnKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIG1iLTFcIj57eyBpdGVtLnJldHVybi5ub3RlIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGl0ZW0uc3RhdHVzID09PSAnQk9PS0lOR19SRVRVUk5fUkVRVUVTVEVEJykge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBtYi0xXCI+e3sgaXRlbS5yZXR1cm4ucmVhc29uIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LVstLXJ0LXRleHQtc2Vjb25kYXJ5XVwiPnt7IGl0ZW0uZGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvb2w+XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmIChsb2FkaW5nVGltZWxpbmUpIHtcbiAgICA8ZGl2PlxuICAgICAgPHJvbGF0ZWNoLXNwaW5uZXI+PC9yb2xhdGVjaC1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxkaXZcbiAgKGNsaWNrKT1cImluZm8gPSAhaW5mb1wiXG4gIFtuZ0NsYXNzXT1cImluZm8gPyAndmlzaWJsZScgOiAnaW52aXNpYmxlJ1wiXG4gIGNsYXNzPVwiYmctWy0tcnQtMTAtcGVyY2VudC1sYXllcl0gZml4ZWQgaW5zZXQtMCB6LVsxMDAwXVwiXG4+PC9kaXY+XG4iXX0=
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVyLWRldGFpbC9vcmRlci1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQVMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNF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WixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FyRlUsb0JBQW9CO2tHQUFwQixvQkFBb0Isd0dDNUNqQyx1dUpBa0hBLHlERHZGSSxlQUFlLHdVQUNmLGFBQWEsb0xBRWIsT0FBTyxvRkFFUCxnQkFBZ0IsZ0ZBQ2hCLGtCQUFrQiwrREFFbEIsZ0JBQWdCLGdJQUVoQix3QkFBd0IsOElBRXhCLDBCQUEwQjs7MkZBS2pCLG9CQUFvQjtrQkFyQmhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwwQkFBMEI7cUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7XG4gIENvbnRhaW5lckNvbXBvbmVudCxcbiAgQmFzZUNvbXBvbmVudCxcbiAgU3Bpbm5lckNvbXBvbmVudCxcbiAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICBUaXRsZUNvbXBvbmVudCxcbiAgVG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb3Vyc2VUeXBlLCBDb3Vyc2VTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY291cnNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgT3JkZXIsIE9yZGVyU3RhdHVzLCBPcmRlclRpbWVsaW5lU3RhdHVzLCBPcmRlclR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9yZGVyUmV0dXJuUmVxdWVzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JkZXItcmV0dXJuLXJlcXVlc3Qvb3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgT3JkZXJWYXJpYW50SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JkZXItdmFyaWFudC1pdGVtL29yZGVyLXZhcmlhbnQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3JkZXJEZXRhaWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmRlci1kZXRhaWwtaXRlbS9vcmRlci1kZXRhaWwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3JkZXJJdGVtT3B0aW9uc0Zvcm1hdFBpcGUgfSBmcm9tICcuLi8uLi9waXBlL29yZGVyLWl0ZW0tb3B0aW9ucy5waXBlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW9yZGVyLWRldGFpbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nQ2xhc3MsXG4gICAgQXN5bmNQaXBlLFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIE9yZGVyRGV0YWlsSXRlbUNvbXBvbmVudCxcbiAgICBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50LFxuICAgIE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWRldGFpbC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyITogT3JkZXI7XG4gIHN0YXR1czogYW55ID0gT3JkZXJTdGF0dXM7XG4gIHR5cGUgPSBDb3Vyc2VUeXBlO1xuICBvcmRlclR5cGUgPSBPcmRlclR5cGU7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICBjb3Vyc2VTZXJ2aWNlID0gaW5qZWN0KENvdXJzZVNlcnZpY2UpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgdGltZWxpbmVEYXRhOiBhbnk7XG4gIGluZm8gPSBmYWxzZTtcbiAgbG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gIHRpbWVsaW5lU3RhdHVzOiBhbnkgPSBPcmRlclRpbWVsaW5lU3RhdHVzO1xuICBjb3VudERvd24gPSAnJztcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuZ2V0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vcmRlciA9IHJlcy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5vcmRlci5zdGF0dXMgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbW9tZW50KCk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBtb21lbnQodGhpcy5vcmRlci5jcmVhdGVkQXQpLmFkZCgxNSwgJ21pbnV0ZScpO1xuICAgICAgICAgICAgY29uc3QgZGlmZiA9IGVuZC5kaWZmKHN0YXJ0KTtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKGRpZmYpO1xuICAgICAgICAgICAgdGhpcy5jb3VudERvd24gPSBtb21lbnQudXRjKGR1cmF0aW9uLmFzKCdtaWxsaXNlY29uZHMnKSkuZm9ybWF0KCdtbTpzcycpO1xuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHJlZnVuZCgpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgd2lkdGg6ICc1MDBweCcsXG4gICAgICB0aXRsZTogJ+eUs+ivt+mAgOasvicsXG4gICAgICBoZWlnaHQ6ICc5MCUnLFxuICAgICAgY2FuY2VsVGV4dDogJ+WPlua2iCcsXG4gICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgICBjb21wb25lbnQ6IE9yZGVyUmV0dXJuUmVxdWVzdENvbXBvbmVudCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVhc29uOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihvcHRpb25zKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5vcmRlclNlcnZpY2UucmVmdW5kKHRoaXMuaWQsIHJlcykuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCfpgIDmrL7nlLPor7fmiJDlip8sIOetieW+heWuoeaguCcpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuY2FuY2VsKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMub3JkZXIuc3RhdHVzID0gT3JkZXJTdGF0dXNbT3JkZXJTdGF0dXMuQ0FOQ0VMRURdO1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCflj5bmtojmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHBheSgpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvb3JkZXJzLyR7dGhpcy5pZH0vcXJjb2RlcGF5YCk7XG4gIH1cbiAgdGltZWxpbmUoKSB7XG4gICAgdGhpcy5pbmZvID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdUaW1lbGluZSA9IHRydWU7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UudGltZWxpbmUodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy50aW1lbGluZURhdGEgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5sb2FkaW5nVGltZWxpbmUgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCJAaWYgKG9yZGVyKSB7XG4gIDxyb2xhdGVjaC1jb250YWluZXI+XG4gICAgPHJvbGF0ZWNoLXRvb2xiYXIgW3RpdGxlXT1cInN0YXR1c1tvcmRlci5zdGF0dXNdXCIgbGFyZ2UgbGluaz1cIi4uL1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJ0aW1lbGluZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5oaXN0b3J5PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+6K6i5Y2V54q25oCBPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9yb2xhdGVjaC10b29sYmFyPlxuICAgIDxkaXY+XG4gICAgICBAaWYgKG9yZGVyLnN0YXR1cyA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVstLXJ0LWJyYW5kLWNvbG9yXSBmb250LWJvbGRcIj7mlK/ku5jlgJLorqHml7Y6IHt7IGNvdW50RG93biB9fTwvZGl2PlxuICAgICAgfVxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIG9yZGVyLml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxyb2xhdGVjaC1vcmRlci1kZXRhaWwtaXRlbVxuICAgICAgICAgICAgICBbdGh1bWJuYWlsXT1cIml0ZW0ubWVkaWFbMF0udXJsICsgJyF3MjAwICdcIlxuICAgICAgICAgICAgICBbbGlua109XCJvcmRlci50eXBlLnRvU3RyaW5nKCkgPT09ICdQUk9EVUNUJyA/ICcvcHJvZHVjdHMvJyArIGl0ZW0ucHJvZHVjdElkIDogJy9jb3Vyc2VzLycgKyBpdGVtLnByb2R1Y3RJZFwiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLm5hbWVcIlxuICAgICAgICAgICAgICBbdG90YWxdPVwiaXRlbS50b3RhbFwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJpdGVtLm9wdGlvbnMgfCBvcmRlckl0ZW1vcHRpb25zOiBvcmRlci50eXBlXCJcbiAgICAgICAgICAgICAgW3F1YW50aXR5XT1cIml0ZW0ucXVhbnRpdHlcIlxuICAgICAgICAgICAgPjwvcm9sYXRlY2gtb3JkZXItZGV0YWlsLWl0ZW0+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBweS0zIGZvbnQtbWVkaXVtXCI+6K6i5Y2V5L+h5oGvPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bVwiPuiuouWNleWPtzwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj4ge3sgb3JkZXIub3JkZXJObyB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtbWVkaXVtXCI+5LiL5Y2V5pe26Ze0PC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPiB7eyBvcmRlci5jcmVhdGVkQXQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bVwiPuW6lOS7mOmHkeminTwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj7CpXt7IChvcmRlci50b3RhbCAvIDEwMCkudG9GaXhlZCgyKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdDUkVBVEVEJyB8fCBvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ1BBSUQnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxnIHBiLTMgZm9udC1tZWRpdW1cIj7mlK/ku5jmlrnlvI88L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTYgaC02XCIgc3JjPVwiL2ltYWdlcy9wYXlfd2VjaGF0LnBuZ1wiIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMVwiPuW+ruS/oeaUr+S7mDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gc2FmZSBhcmVhIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInBiLTE2IHNtOnBiLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ1BBSUQnKSB7XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInJlZnVuZCgpXCI+55Sz6K+36YCA5qy+PC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInVuZGVybGluZSB0ZXh0LXNtIHVuZGVybGluZS1vZmZzZXQtNCBtci02IGN1cnNvci1wb2ludGVyIGhvdmVyOnRleHQtWy0tcnQtYnJhbmQtY29sb3JdXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgPuWPlua2iOiuouWNlTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG9yZGVyLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcpIHtcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy0zMiBtaW4taC0xMVwiIChjbGljayk9XCJwYXkoKVwiPuaUr+S7mOiuouWNlTwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG48ZGl2XG4gIFtuZ0NsYXNzXT1cImluZm8gPyAndHJhbnNsYXRlLW5vbmUnIDogJ3RyYW5zbGF0ZS14LWZ1bGwnXCJcbiAgY2xhc3M9XCJmaXhlZCB0b3AtMCByaWdodC0wIHotWzEwMDFdIGgtc2NyZWVuIHAtNCBvdmVyZmxvdy15LWF1dG8gdHJhbnNpdGlvbi10cmFuc2Zvcm0gYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIHctODAgc206dy1bMzAwcHhdIHNoYWRvdy14bFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgc206cC00XCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkXCI+6K6i5Y2V54q25oCBPC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImluZm8gPSAhaW5mb1wiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIEBpZiAoIWxvYWRpbmdUaW1lbGluZSkge1xuICAgIDxkaXYgY2xhc3M9XCJtdC0zIHAtMSBzbTpwLTRcIj5cbiAgICAgIDxvbCBjbGFzcz1cInJlbGF0aXZlIGJvcmRlci1sIGJvcmRlci1bLS1ydC1ib3JkZXItY29sb3JdXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgdGltZWxpbmVEYXRhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwibWItOCBtbC00XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgdy0zIGgtMyByb3VuZGVkLWZ1bGwgbXQtMS41IC1sZWZ0LTEuNSBib3JkZXIgYm9yZGVyLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBiZy1bLS1ydC10ZXh0LXByaW1hcnldXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtYm9sZCBtYi0xXCI+e3sgdGltZWxpbmVTdGF0dXNbaXRlbS5zdGF0dXNdIH19PC9kaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uc3RhdHVzID09PSAnQk9PS0lOR19SRVRVUk5fUkVKRUNURUQnKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIG1iLTFcIj57eyBpdGVtLnJldHVybi5ub3RlIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGl0ZW0uc3RhdHVzID09PSAnQk9PS0lOR19SRVRVUk5fUkVRVUVTVEVEJykge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBtYi0xXCI+e3sgaXRlbS5yZXR1cm4ucmVhc29uIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LVstLXJ0LXRleHQtc2Vjb25kYXJ5XVwiPnt7IGl0ZW0uZGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvb2w+XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmIChsb2FkaW5nVGltZWxpbmUpIHtcbiAgICA8ZGl2PlxuICAgICAgPHJvbGF0ZWNoLXNwaW5uZXI+PC9yb2xhdGVjaC1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxkaXZcbiAgKGNsaWNrKT1cImluZm8gPSAhaW5mb1wiXG4gIFtuZ0NsYXNzXT1cImluZm8gPyAndmlzaWJsZScgOiAnaW52aXNpYmxlJ1wiXG4gIGNsYXNzPVwiYmctWy0tcnQtMTAtcGVyY2VudC1sYXllcl0gZml4ZWQgaW5zZXQtMCB6LVsxMDAwXVwiXG4+PC9kaXY+XG4iXX0=
|