@rolatech/angular-order 18.0.5 → 18.0.7

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.
Files changed (25) hide show
  1. package/esm2022/lib/components/index.mjs +2 -3
  2. package/esm2022/lib/components/order-detail-item/order-detail-item.component.mjs +25 -0
  3. package/esm2022/lib/components/order-item/order-item.component.mjs +15 -7
  4. package/esm2022/lib/components/order-return-request/order-return-request.component.mjs +13 -9
  5. package/esm2022/lib/components/order-variant-item/order-variant-item.component.mjs +3 -3
  6. package/esm2022/lib/interfaces/order.mjs +30 -12
  7. package/esm2022/lib/pages/order-detail/order-detail.component.mjs +12 -39
  8. package/esm2022/lib/pages/order-qrcodepay/order-qrcodepay.component.mjs +7 -6
  9. package/esm2022/lib/pages/orders-index/order-index.component.mjs +74 -12
  10. package/esm2022/lib/pipe/order-item-options.pipe.mjs +10 -6
  11. package/fesm2022/rolatech-angular-order.mjs +155 -104
  12. package/fesm2022/rolatech-angular-order.mjs.map +1 -1
  13. package/lib/components/index.d.ts +1 -2
  14. package/lib/components/order-detail-item/order-detail-item.component.d.ts +12 -0
  15. package/lib/components/order-return-request/order-return-request.component.d.ts +3 -1
  16. package/lib/interfaces/order.d.ts +44 -11
  17. package/lib/pages/order-detail/order-detail.component.d.ts +1 -6
  18. package/lib/pages/orders-index/order-index.component.d.ts +9 -3
  19. package/lib/pipe/order-item-options.pipe.d.ts +4 -1
  20. package/package.json +1 -1
  21. package/themes/_default.scss +1 -1
  22. package/esm2022/lib/components/order-course-item/order-course-item.component.mjs +0 -19
  23. package/esm2022/lib/components/order-product-item/order-product-item.component.mjs +0 -23
  24. package/lib/components/order-course-item/order-course-item.component.d.ts +0 -8
  25. 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-course-item/order-course-item.component';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcmRlci1yZXR1cm4tcmVxdWVzdC9vcmRlci1yZXR1cm4tcmVxdWVzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1jb3Vyc2UtaXRlbS9vcmRlci1jb3Vyc2UtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1wcm9kdWN0LWl0ZW0vb3JkZXItcHJvZHVjdC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLXJldHVybi1yZXF1ZXN0L29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLXZhcmlhbnQtaXRlbS9vcmRlci12YXJpYW50LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItaXRlbS9vcmRlci1pdGVtLmNvbXBvbmVudCc7XG4iXX0=
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.3", ngImport: i0, type: OrderDetailItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", 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.3", 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==
@@ -5,6 +5,7 @@ import { JsonPipe, NgClass } from '@angular/common';
5
5
  import { sumBy } from 'lodash';
6
6
  import { ImagePlaceholderComponent, ThumbnailComponent } from '@rolatech/angular-components';
7
7
  import { OrderItemOptionsFormatPipe } from '../../pipe/order-item-options.pipe';
8
+ import { DecimalDirective, FixedPipe } from '@rolatech/angular-common';
8
9
  import * as i0 from "@angular/core";
9
10
  export class OrderItemComponent {
10
11
  constructor() {
@@ -12,16 +13,23 @@ export class OrderItemComponent {
12
13
  this.status = OrderStatus;
13
14
  this.total = computed(() => {
14
15
  return (this.order().total / 100).toFixed(2);
15
- // const price = sumBy(this.order().items, (item: any) => item.total);
16
- // return (price / 100).toFixed(2);
17
16
  });
18
17
  this.quantity = computed(() => sumBy(this.order().items, (item) => item.quantity));
19
18
  }
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\">{{ item.options | orderItemoptions }}</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 class=\"text-sm\">\u00A5{{ total() }}</div>\n <div class=\"text-sm mt-2\">\u6570\u91CF{{ 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]] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", 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 | fixed }}</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" }, { kind: "pipe", type: FixedPipe, name: "fixed" }], deferBlockDependencies: [() => [ThumbnailComponent]] }); }
22
21
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderItemComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderItemComponent, decorators: [{
24
23
  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\">{{ item.options | orderItemoptions }}</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 class=\"text-sm\">\u00A5{{ total() }}</div>\n <div class=\"text-sm mt-2\">\u6570\u91CF{{ 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"] }]
24
+ args: [{ selector: 'rolatech-order-item', standalone: true, imports: [
25
+ MatIconModule,
26
+ ThumbnailComponent,
27
+ ImagePlaceholderComponent,
28
+ NgClass,
29
+ JsonPipe,
30
+ OrderItemOptionsFormatPipe,
31
+ DecimalDirective,
32
+ FixedPipe,
33
+ ], 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 | fixed }}</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
34
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWl0ZW0vb3JkZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWl0ZW0vb3JkZXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBU2hGLE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBUyxDQUFDO1FBQ2hDLFdBQU0sR0FBUSxXQUFXLENBQUM7UUFDMUIsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLHNFQUFzRTtZQUN0RSxtQ0FBbUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUNwRjs4R0FUWSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrTkNmL0IsdW9FQWtEQSx3S0R2Q1ksYUFBYSwrQkFBc0IseUJBQXlCLGtFQUFxQiwwQkFBMEIsK0RBQTVGLGtCQUFrQjs7MkZBSWhDLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBPcmRlciwgT3JkZXJTdGF0dXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEpzb25QaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHN1bUJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEltYWdlUGxhY2Vob2xkZXJDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT3JkZXJJdGVtT3B0aW9uc0Zvcm1hdFBpcGUgfSBmcm9tICcuLi8uLi9waXBlL29yZGVyLWl0ZW0tb3B0aW9ucy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtb3JkZXItaXRlbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlLCBUaHVtYm5haWxDb21wb25lbnQsIEltYWdlUGxhY2Vob2xkZXJDb21wb25lbnQsIE5nQ2xhc3MsIEpzb25QaXBlLCBPcmRlckl0ZW1PcHRpb25zRm9ybWF0UGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmRlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPcmRlckl0ZW1Db21wb25lbnQge1xuICBvcmRlciA9IGlucHV0LnJlcXVpcmVkPE9yZGVyPigpO1xuICBzdGF0dXM6IGFueSA9IE9yZGVyU3RhdHVzO1xuICB0b3RhbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKHRoaXMub3JkZXIoKS50b3RhbCAvIDEwMCkudG9GaXhlZCgyKTtcbiAgICAvLyBjb25zdCBwcmljZSA9IHN1bUJ5KHRoaXMub3JkZXIoKS5pdGVtcywgKGl0ZW06IGFueSkgPT4gaXRlbS50b3RhbCk7XG4gICAgLy8gcmV0dXJuIChwcmljZSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfSk7XG4gIHF1YW50aXR5ID0gY29tcHV0ZWQoKCkgPT4gc3VtQnkodGhpcy5vcmRlcigpLml0ZW1zLCAoaXRlbTogYW55KSA9PiBpdGVtLnF1YW50aXR5KSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBob3ZlcjpiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gY3Vyc29yLXBvaW50ZXIgcC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgbWItMlwiPlxuICAgIDxzcGFuPuiuouWNleWPtzoge3sgb3JkZXIoKS5vcmRlck5vIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC1zbVwiPnt7IHN0YXR1c1tvcmRlcigpLnN0YXR1c10gfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIEBpZiAob3JkZXIoKS5pdGVtczsgYXMgaXRlbXMpIHtcbiAgICAgIEBpZiAoaXRlbXMubGVuZ3RoID4gMSkge1xuICAgICAgfSBAZWxzZSB7fVxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgb3ZlcmZsb3cteC1zY3JvbGwgc2Nyb2xsYmFyLWhpZGVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgcHktMlwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLm1lZGlhKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0yNCB3LTM2IG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZyBtci0zXCI+XG4gICAgICAgICAgICAgICAgQGRlZmVyIChvbiB2aWV3cG9ydCgpKSB7XG4gICAgICAgICAgICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwiaXRlbS5tZWRpYVswXS51cmwgKyAnIXc0MDAnXCIgc2l6ZT1cIm1lZGl1bVwiPiA8L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgICAgICAgICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGgtZnVsbCB3LWZ1bGwgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyByb3VuZGVkLWxnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluLXctMjQgdy0zNiBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvIHJvdW5kZWQtbGcgbXItM1wiPlxuICAgICAgICAgICAgICAgIDxyb2xhdGVjaC1pbWFnZS1wbGFjZWhvbGRlcj48L3JvbGF0ZWNoLWltYWdlLXBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2Pnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXNlY29uZGFyeV0gbXQtMlwiPnt7IGl0ZW0ub3B0aW9ucyB8IG9yZGVySXRlbW9wdGlvbnMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc21cIj7CpXt7IChpdGVtLnRvdGFsIC8gMTAwKS50b0ZpeGVkKDIpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBtdC0yXCI+eHt7IGl0ZW0ucXVhbnRpdHkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPsKle3sgdG90YWwoKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gbXQtMlwiPuaVsOmHj3t7IHF1YW50aXR5KCkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbjxociAvPlxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWl0ZW0vb3JkZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLWl0ZW0vb3JkZXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWtCdkUsTUFBTSxPQUFPLGtCQUFrQjtJQWhCL0I7UUFpQkUsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVMsQ0FBQztRQUNoQyxXQUFNLEdBQVEsV0FBVyxDQUFDO1FBQzFCLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUNILGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ3BGOzhHQVBZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLGtOQ3pCL0Isdy9EQWdEQSx3S0RuQ0ksYUFBYSwrQkFFYix5QkFBeUIsa0VBR3pCLDBCQUEwQixvREFFMUIsU0FBUyxvREFOVCxrQkFBa0I7OzJGQVdULGtCQUFrQjtrQkFoQjlCLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6QixPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBPcmRlciwgT3JkZXJTdGF0dXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEpzb25QaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHN1bUJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEltYWdlUGxhY2Vob2xkZXJDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT3JkZXJJdGVtT3B0aW9uc0Zvcm1hdFBpcGUgfSBmcm9tICcuLi8uLi9waXBlL29yZGVyLWl0ZW0tb3B0aW9ucy5waXBlJztcbmltcG9ydCB7IERlY2ltYWxEaXJlY3RpdmUsIEZpeGVkUGlwZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW9yZGVyLWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgSW1hZ2VQbGFjZWhvbGRlckNvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIEpzb25QaXBlLFxuICAgIE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlLFxuICAgIERlY2ltYWxEaXJlY3RpdmUsXG4gICAgRml4ZWRQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vcmRlci1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJJdGVtQ29tcG9uZW50IHtcbiAgb3JkZXIgPSBpbnB1dC5yZXF1aXJlZDxPcmRlcj4oKTtcbiAgc3RhdHVzOiBhbnkgPSBPcmRlclN0YXR1cztcbiAgdG90YWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0aGlzLm9yZGVyKCkudG90YWwgLyAxMDApLnRvRml4ZWQoMik7XG4gIH0pO1xuICBxdWFudGl0eSA9IGNvbXB1dGVkKCgpID0+IHN1bUJ5KHRoaXMub3JkZXIoKS5pdGVtcywgKGl0ZW06IGFueSkgPT4gaXRlbS5xdWFudGl0eSkpO1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaG92ZXI6YmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGN1cnNvci1wb2ludGVyIHAtM1wiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIG1iLTJcIj5cbiAgICA8c3Bhbj7orqLljZXlj7c6IHt7IG9yZGVyKCkub3JkZXJObyB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtc21cIj57eyBzdGF0dXNbb3JkZXIoKS5zdGF0dXNdIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICBAaWYgKG9yZGVyKCkuaXRlbXM7IGFzIGl0ZW1zKSB7XG4gICAgICBAaWYgKGl0ZW1zLmxlbmd0aCA+IDEpIHtcbiAgICAgIH0gQGVsc2Uge31cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG92ZXJmbG93LXgtc2Nyb2xsIHNjcm9sbGJhci1oaWRlXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IHB5LTJcIj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5tZWRpYSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluLXctMjQgdy0zNiBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvIHJvdW5kZWQtbGcgbXItM1wiPlxuICAgICAgICAgICAgICAgIEBkZWZlciAob24gdmlld3BvcnQoKSkge1xuICAgICAgICAgICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbCBbc3JjXT1cIml0ZW0ubWVkaWFbMF0udXJsICsgJyF3NDAwJ1wiIHNpemU9XCJtZWRpdW1cIiBtb2RlPVwiZnVsbFwiPiA8L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgICAgICAgICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGgtZnVsbCB3LWZ1bGwgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyByb3VuZGVkLWxnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluLXctMjQgdy0zNiBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvIHJvdW5kZWQtbGcgbXItM1wiPlxuICAgICAgICAgICAgICAgIDxyb2xhdGVjaC1pbWFnZS1wbGFjZWhvbGRlcj48L3JvbGF0ZWNoLWltYWdlLXBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2Pnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXNlY29uZGFyeV0gbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ub3B0aW9ucyB8IG9yZGVySXRlbW9wdGlvbnM6IG9yZGVyKCkudHlwZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc21cIj7CpXt7IGl0ZW0udG90YWwgfCBmaXhlZCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gbXQtMlwiPnh7eyBpdGVtLnF1YW50aXR5IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbjxociAvPlxuIl19
@@ -1,19 +1,23 @@
1
1
  import { Component, model, output } from '@angular/core';
2
- import { MatFormFieldModule } from '@angular/material/form-field';
3
- import { MatInputModule } from '@angular/material/input';
2
+ import { AngularCommonModule } from '@rolatech/angular-common';
3
+ import { AngularComponentsModule } from '@rolatech/angular-components';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/form-field";
6
- import * as i2 from "@angular/material/input";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/material/input";
7
8
  export class OrderReturnRequestComponent {
8
9
  constructor() {
9
10
  this.output = output();
10
11
  this.reason = model();
11
12
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderReturnRequestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: OrderReturnRequestComponent, isStandalone: true, selector: "rolatech-order-return-request", inputs: { reason: { classPropertyName: "reason", publicName: "reason", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { output: "output", reason: "reasonChange" }, ngImport: i0, template: "<div class=\"py-2\">\n <h2 class=\"mb-2\">\u5728\u4E0B\u9762\u8F93\u5165\u9000\u6B3E\u7406\u7531</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9000\u6B3E\u7406\u7531 </mat-label>\n <textarea matInput required [value]=\"reason()\"></textarea>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
13
+ ngDoCheck() {
14
+ this.output.emit(this.reason());
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderReturnRequestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.3", type: OrderReturnRequestComponent, isStandalone: true, selector: "rolatech-order-return-request", inputs: { reason: { classPropertyName: "reason", publicName: "reason", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { output: "output", reason: "reasonChange" }, ngImport: i0, template: "<div class=\"py-2\">\n <h2 class=\"mb-2\">\u5728\u4E0B\u9762\u8F93\u5165\u9000\u6B3E\u7406\u7531</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9000\u6B3E\u7406\u7531 </mat-label>\n <textarea matInput required [(ngModel)]=\"reason\"></textarea>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
14
18
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderReturnRequestComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderReturnRequestComponent, decorators: [{
16
20
  type: Component,
17
- args: [{ selector: 'rolatech-order-return-request', standalone: true, imports: [MatFormFieldModule, MatInputModule], template: "<div class=\"py-2\">\n <h2 class=\"mb-2\">\u5728\u4E0B\u9762\u8F93\u5165\u9000\u6B3E\u7406\u7531</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9000\u6B3E\u7406\u7531 </mat-label>\n <textarea matInput required [value]=\"reason()\"></textarea>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
21
+ args: [{ selector: 'rolatech-order-return-request', standalone: true, imports: [AngularCommonModule, AngularComponentsModule], template: "<div class=\"py-2\">\n <h2 class=\"mb-2\">\u5728\u4E0B\u9762\u8F93\u5165\u9000\u6B3E\u7406\u7531</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9000\u6B3E\u7406\u7531 </mat-label>\n <textarea matInput required [(ngModel)]=\"reason\"></textarea>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
18
22
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvY29tcG9uZW50cy9vcmRlci1yZXR1cm4tcmVxdWVzdC9vcmRlci1yZXR1cm4tcmVxdWVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLXJldHVybi1yZXF1ZXN0L29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFTekQsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQVFFLFdBQU0sR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUN2QixXQUFNLEdBQUcsS0FBSyxFQUFPLENBQUM7S0FDdkI7OEdBSFksMkJBQTJCO2tHQUEzQiwyQkFBMkIsdVJDWHhDLHdTQU9BLHFGREFZLGtCQUFrQiwwU0FBRSxjQUFjOzsyRkFJakMsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIG1vZGVsLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW9yZGVyLXJldHVybi1yZXF1ZXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPcmRlclJldHVyblJlcXVlc3RDb21wb25lbnQge1xuICBvdXRwdXQgPSBvdXRwdXQ8YW55PigpO1xuICByZWFzb24gPSBtb2RlbDxhbnk+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwicHktMlwiPlxuICA8aDIgY2xhc3M9XCJtYi0yXCI+5Zyo5LiL6Z2i6L6T5YWl6YCA5qy+55CG55SxPC9oMj5cbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgPG1hdC1sYWJlbD4g6YCA5qy+55CG55SxIDwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCByZXF1aXJlZCBbdmFsdWVdPVwicmVhc29uKClcIj48L3RleHRhcmVhPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcmV0dXJuLXJlcXVlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvY29tcG9uZW50cy9vcmRlci1yZXR1cm4tcmVxdWVzdC9vcmRlci1yZXR1cm4tcmVxdWVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9jb21wb25lbnRzL29yZGVyLXJldHVybi1yZXF1ZXN0L29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVcsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFTdkUsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQVFFLFdBQU0sR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUN2QixXQUFNLEdBQUcsS0FBSyxFQUFPLENBQUM7S0FJdkI7SUFIQyxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs4R0FMVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix1UkNYeEMsMFNBT0EscUZEQVksbUJBQW1CLDIwQkFBRSx1QkFBdUI7OzJGQUkzQywyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsK0JBQStCLGNBQzdCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW9yZGVyLXJldHVybi1yZXF1ZXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJSZXR1cm5SZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gIG91dHB1dCA9IG91dHB1dDxhbnk+KCk7XG4gIHJlYXNvbiA9IG1vZGVsPGFueT4oKTtcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3V0cHV0LmVtaXQodGhpcy5yZWFzb24oKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJweS0yXCI+XG4gIDxoMiBjbGFzcz1cIm1iLTJcIj7lnKjkuIvpnaLovpPlhaXpgIDmrL7nkIbnlLE8L2gyPlxuICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICA8bWF0LWxhYmVsPiDpgIDmrL7nkIbnlLEgPC9tYXQtbGFiZWw+XG4gICAgPHRleHRhcmVhIG1hdElucHV0IHJlcXVpcmVkIFsobmdNb2RlbCldPVwicmVhc29uXCI+PC90ZXh0YXJlYT5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export class OrderVariantItemComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderVariantItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: OrderVariantItemComponent, isStandalone: true, selector: "rolatech-order-variant-item", ngImport: i0, template: "<p>order-variant-item works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderVariantItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: OrderVariantItemComponent, isStandalone: true, selector: "rolatech-order-variant-item", ngImport: i0, template: "<p>order-variant-item works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderVariantItemComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderVariantItemComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'rolatech-order-variant-item', standalone: true, imports: [CommonModule], template: "<p>order-variant-item works!</p>\n" }]
11
11
  }] });
@@ -1,19 +1,21 @@
1
1
  export var OrderStatus;
2
2
  (function (OrderStatus) {
3
- OrderStatus[OrderStatus["CREATED"] = '待付款'] = "CREATED";
4
- OrderStatus[OrderStatus["PAID"] = '已支付'] = "PAID";
5
- OrderStatus[OrderStatus["COMPLETED"] = '已完成'] = "COMPLETED";
6
- OrderStatus[OrderStatus["CLOSED"] = '交易关闭'] = "CLOSED";
7
- OrderStatus[OrderStatus["CANCELED"] = '交易取消'] = "CANCELED";
8
- OrderStatus[OrderStatus["REFUNDED"] = '已退款'] = "REFUNDED";
3
+ OrderStatus["CREATED"] = "\u5F85\u4ED8\u6B3E";
4
+ OrderStatus["PAID"] = "\u5DF2\u652F\u4ED8";
5
+ OrderStatus["PARTIAL_PAID"] = "\u5B9A\u91D1\u5DF2\u652F\u4ED8";
6
+ OrderStatus["COMPLETED"] = "\u5DF2\u5B8C\u6210";
7
+ OrderStatus["CLOSED"] = "\u4EA4\u6613\u5173\u95ED";
8
+ OrderStatus["CANCELED"] = "\u4EA4\u6613\u53D6\u6D88";
9
+ OrderStatus["REFUNDED"] = "\u5DF2\u9000\u6B3E";
10
+ OrderStatus["RETURN_REQUESTED"] = "\u9000\u6B3E\u5904\u7406\u4E2D";
9
11
  })(OrderStatus || (OrderStatus = {}));
10
12
  export var OrderType;
11
13
  (function (OrderType) {
12
- OrderType[OrderType["COURSE"] = '课程'] = "COURSE";
13
- OrderType[OrderType["PRODUCT"] = '商品'] = "PRODUCT";
14
- OrderType[OrderType["SERVICE"] = '服务'] = "SERVICE";
15
- OrderType[OrderType["BOOKING"] = '预定'] = "BOOKING";
16
- OrderType[OrderType["OTTHER"] = '其他'] = "OTTHER";
14
+ OrderType["COURSE"] = "\u8BFE\u7A0B";
15
+ OrderType["PRODUCT"] = "\u5546\u54C1";
16
+ OrderType["SERVICE"] = "\u670D\u52A1";
17
+ OrderType["BOOKING"] = "\u9884\u5B9A";
18
+ OrderType["OTTHER"] = "\u5176\u4ED6";
17
19
  })(OrderType || (OrderType = {}));
18
20
  export var OrderReturnStatus;
19
21
  (function (OrderReturnStatus) {
@@ -41,6 +43,7 @@ export var OrderTimelineStatus;
41
43
  OrderTimelineStatus[OrderTimelineStatus["ORDER_CLOSED"] = '交易关闭'] = "ORDER_CLOSED";
42
44
  OrderTimelineStatus[OrderTimelineStatus["ORDER_CANCELED"] = '交易取消'] = "ORDER_CANCELED";
43
45
  OrderTimelineStatus[OrderTimelineStatus["ORDER_PAID"] = '订单已支付'] = "ORDER_PAID";
46
+ OrderTimelineStatus["ORDER_PARTIAL_PAID"] = "\u5B9A\u91D1\u5DF2\u652F\u4ED8";
44
47
  OrderTimelineStatus[OrderTimelineStatus["ORDER_REFUNDED"] = '订单已退款'] = "ORDER_REFUNDED";
45
48
  OrderTimelineStatus[OrderTimelineStatus["ORDER_COMPLETED"] = '订单已完成'] = "ORDER_COMPLETED";
46
49
  OrderTimelineStatus[OrderTimelineStatus["ORDER_RETURN_REQUESTED"] = '退款申请'] = "ORDER_RETURN_REQUESTED";
@@ -63,4 +66,19 @@ export var OrderPayoutType;
63
66
  OrderPayoutType[OrderPayoutType["CARD"] = '银行卡'] = "CARD";
64
67
  OrderPayoutType[OrderPayoutType["WECHAT"] = '微信零钱'] = "WECHAT";
65
68
  })(OrderPayoutType || (OrderPayoutType = {}));
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9pbnRlcmZhY2VzL29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sQ0FBTixJQUFZLFdBT1g7QUFQRCxXQUFZLFdBQVc7SUFDckIscUNBQWUsS0FBSyxhQUFBLENBQUE7SUFDcEIsa0NBQVksS0FBSyxVQUFBLENBQUE7SUFDakIsdUNBQWlCLEtBQUssZUFBQSxDQUFBO0lBQ3RCLG9DQUFjLE1BQU0sWUFBQSxDQUFBO0lBQ3BCLHNDQUFnQixNQUFNLGNBQUEsQ0FBQTtJQUN0QixzQ0FBZ0IsS0FBSyxjQUFBLENBQUE7QUFDdkIsQ0FBQyxFQVBXLFdBQVcsS0FBWCxXQUFXLFFBT3RCO0FBQ0QsTUFBTSxDQUFOLElBQVksU0FNWDtBQU5ELFdBQVksU0FBUztJQUNuQixnQ0FBYyxJQUFJLFlBQUEsQ0FBQTtJQUNsQixpQ0FBZSxJQUFJLGFBQUEsQ0FBQTtJQUNuQixpQ0FBZSxJQUFJLGFBQUEsQ0FBQTtJQUNuQixpQ0FBZSxJQUFJLGFBQUEsQ0FBQTtJQUNuQixnQ0FBYyxJQUFJLFlBQUEsQ0FBQTtBQUNwQixDQUFDLEVBTlcsU0FBUyxLQUFULFNBQVMsUUFNcEI7QUFZRCxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQzNCLGlEQUFlLE1BQU0sYUFBQSxDQUFBO0lBQ3JCLGtEQUFnQixNQUFNLGNBQUEsQ0FBQTtJQUN0QixrREFBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsa0RBQWdCLEtBQUssY0FBQSxDQUFBO0lBQ3JCLG9EQUFrQixPQUFPLGdCQUFBLENBQUE7SUFDekIsa0RBQWdCLEtBQUssY0FBQSxDQUFBO0FBQ3ZCLENBQUMsRUFQVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTzVCO0FBb0JELE1BQU0sQ0FBTixJQUFZLGVBU1g7QUFURCxXQUFZLGVBQWU7SUFDekIsNkNBQWUsSUFBSSxhQUFBLENBQUE7SUFDbkIsOENBQWdCLEtBQUssY0FBQSxDQUFBO0lBQ3JCLDRDQUFjLEtBQUssWUFBQSxDQUFBO0lBQ25CLHNEQUF3QixNQUFNLHNCQUFBLENBQUE7SUFDOUIscURBQXVCLFFBQVEscUJBQUEsQ0FBQTtJQUMvQixxREFBdUIsUUFBUSxxQkFBQSxDQUFBO0lBQy9CLHVEQUF5QixPQUFPLHVCQUFBLENBQUE7SUFDaEMsOENBQWdCLEtBQUssY0FBQSxDQUFBO0FBQ3ZCLENBQUMsRUFUVyxlQUFlLEtBQWYsZUFBZSxRQVMxQjtBQUNELE1BQU0sQ0FBTixJQUFZLG1CQVlYO0FBWkQsV0FBWSxtQkFBbUI7SUFDN0IsMERBQW9CLE1BQU0sa0JBQUEsQ0FBQTtJQUMxQiwwREFBb0IsTUFBTSxrQkFBQSxDQUFBO0lBQzFCLDREQUFzQixNQUFNLG9CQUFBLENBQUE7SUFDNUIsd0RBQWtCLE9BQU8sZ0JBQUEsQ0FBQTtJQUN6Qiw0REFBc0IsT0FBTyxvQkFBQSxDQUFBO0lBQzdCLDZEQUF1QixPQUFPLHFCQUFBLENBQUE7SUFDOUIsb0VBQThCLE1BQU0sNEJBQUEsQ0FBQTtJQUNwQyxtRUFBNkIsUUFBUSwyQkFBQSxDQUFBO0lBQ3JDLG1FQUE2QixRQUFRLDJCQUFBLENBQUE7SUFDckMscUVBQStCLE9BQU8sNkJBQUEsQ0FBQTtJQUN0QyxtRUFBNkIsWUFBWSwyQkFBQSxDQUFBO0FBQzNDLENBQUMsRUFaVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBWTlCO0FBWUQsTUFBTSxDQUFOLElBQVksaUJBTVg7QUFORCxXQUFZLGlCQUFpQjtJQUMzQixpREFBZSxJQUFJLGFBQUEsQ0FBQTtJQUNuQixpREFBZSxLQUFLLGFBQUEsQ0FBQTtJQUNwQiw4Q0FBWSxLQUFLLFVBQUEsQ0FBQTtJQUNqQixrREFBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsZ0RBQWMsSUFBSSxZQUFBLENBQUE7QUFDcEIsQ0FBQyxFQU5XLGlCQUFpQixLQUFqQixpQkFBaUIsUUFNNUI7QUFDRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLDBDQUFZLE1BQU0sVUFBQSxDQUFBO0lBQ2xCLDBDQUFZLEtBQUssVUFBQSxDQUFBO0lBQ2pCLDRDQUFjLE1BQU0sWUFBQSxDQUFBO0FBQ3RCLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT3JkZXIge1xuICBpZD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIG9yZGVyTm8/OiBzdHJpbmc7XG4gIHRvdGFsOiBudW1iZXI7XG4gIHN0YXR1czogT3JkZXJTdGF0dXMgfCBzdHJpbmc7XG4gIGl0ZW1zOiBPcmRlckl0ZW1bXTtcbiAgY3VzdG9tZXJJZDogc3RyaW5nO1xuICBvd25lcklkOiBzdHJpbmc7XG4gIHR5cGU6IE9yZGVyVHlwZTtcbn1cbmV4cG9ydCBlbnVtIE9yZGVyU3RhdHVzIHtcbiAgQ1JFQVRFRCA9IDxhbnk+J+W+heS7mOasvicsXG4gIFBBSUQgPSA8YW55Piflt7LmlK/ku5gnLFxuICBDT01QTEVURUQgPSA8YW55Piflt7LlrozmiJAnLFxuICBDTE9TRUQgPSA8YW55PifkuqTmmJPlhbPpl60nLFxuICBDQU5DRUxFRCA9IDxhbnk+J+S6pOaYk+WPlua2iCcsXG4gIFJFRlVOREVEID0gPGFueT4n5bey6YCA5qy+Jyxcbn1cbmV4cG9ydCBlbnVtIE9yZGVyVHlwZSB7XG4gIENPVVJTRSA9IDxhbnk+J+ivvueoiycsXG4gIFBST0RVQ1QgPSA8YW55PifllYblk4EnLFxuICBTRVJWSUNFID0gPGFueT4n5pyN5YqhJyxcbiAgQk9PS0lORyA9IDxhbnk+J+mihOWumicsXG4gIE9UVEhFUiA9IDxhbnk+J+WFtuS7licsXG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVyUmV0dXJuIHtcbiAgc3RhdHVzOiBPcmRlclJldHVyblN0YXR1cyB8IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7XG4gIHRvdGFsOiBudW1iZXI7XG4gIGN1c3RvbWVySWQ6IHN0cmluZztcbiAgb3duZXJJZDogc3RyaW5nO1xuICBpdGVtczogT3JkZXJJdGVtUmV0dXJuW107XG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVySXRlbVJldHVybiB7XG4gIG9yZGVySXRlbTogT3JkZXJJdGVtO1xufVxuZXhwb3J0IGVudW0gT3JkZXJSZXR1cm5TdGF0dXMge1xuICBDUkVBVEVEID0gPGFueT4n562J5b6F5a6h5qC4JyxcbiAgQ0FOQ0VMRUQgPSA8YW55PifnlKjmiLflj5bmtognLFxuICBBUFBST1ZFRCA9IDxhbnk+J+W3sumAmui/hycsXG4gIFJFSkVDVEVEID0gPGFueT4n5bey5ouS57udJyxcbiAgUFJPQ0VTU0lORyA9IDxhbnk+J+W5s+WPsOWkhOeQhuS4rScsXG4gIFJFVFVSTkVEID0gPGFueT4n5bey6YCA5qy+Jyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgdmFyaWFudElkOiBzdHJpbmc7XG4gIHN0YXR1czogT3JkZXJJdGVtU3RhdHVzO1xuICB0b3RhbDogbnVtYmVyO1xuICBxdWFudGl0eTogbnVtYmVyO1xuICBtZWRpYTogT3JkZXJJdGVtTWVkaWFbXTtcbiAgb3B0aW9uczogT3JkZXJJdGVtT3B0aW9uW107XG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVySXRlbU1lZGlhIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGFsdDogc3RyaW5nO1xuICBzaXplOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVySXRlbU9wdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cbmV4cG9ydCBlbnVtIE9yZGVySXRlbVN0YXR1cyB7XG4gIENSRUFURUQgPSA8YW55PifliJvlu7onLFxuICBDQU5DRUxFRCA9IDxhbnk+J+W3suWPlua2iCcsXG4gIENMT1NFRCA9IDxhbnk+J+W3suWFs+mXrScsXG4gIFJFVFVSTl9SRVFVRVNURUQgPSA8YW55PifnrYnlvoXlrqHmoLgnLFxuICBSRVRVUk5fQVBQUk9WRUQgPSA8YW55PifllYblrrblkIzmhI/pgIDmrL4nLFxuICBSRVRVUk5fUkVKRUNURUQgPSA8YW55PifllYblrrbmi5Lnu53pgIDmrL4nLFxuICBSRVRVUk5fUFJPQ0VTU0lORyA9IDxhbnk+J+mAgOasvuWkhOeQhuS4rScsXG4gIFJFRlVOREVEID0gPGFueT4n5bey6YCA5qy+Jyxcbn1cbmV4cG9ydCBlbnVtIE9yZGVyVGltZWxpbmVTdGF0dXMge1xuICBPUkRFUl9DUkVBVEUgPSA8YW55PifkuqTmmJPliJvlu7onLFxuICBPUkRFUl9DTE9TRUQgPSA8YW55PifkuqTmmJPlhbPpl60nLFxuICBPUkRFUl9DQU5DRUxFRCA9IDxhbnk+J+S6pOaYk+WPlua2iCcsXG4gIE9SREVSX1BBSUQgPSA8YW55PiforqLljZXlt7LmlK/ku5gnLFxuICBPUkRFUl9SRUZVTkRFRCA9IDxhbnk+J+iuouWNleW3sumAgOasvicsXG4gIE9SREVSX0NPTVBMRVRFRCA9IDxhbnk+J+iuouWNleW3suWujOaIkCcsXG4gIE9SREVSX1JFVFVSTl9SRVFVRVNURUQgPSA8YW55PifpgIDmrL7nlLPor7cnLFxuICBPUkRFUl9SRVRVUk5fQVBQUk9WRUQgPSA8YW55PifllYblrrblkIzmhI/pgIDmrL4nLFxuICBPUkRFUl9SRVRVUk5fUkVKRUNURUQgPSA8YW55PifllYblrrbmi5Lnu53pgIDmrL4nLFxuICBPUkRFUl9SRVRVUk5fUFJPQ0VTU0lORyA9IDxhbnk+J+mAgOasvuWkhOeQhuS4rScsXG4gIE9SREVSX1JFVFVSTl9SRUZVTkRFRCA9IDxhbnk+J+mAgOasvuWkhOeQhuWujOaIkO+8jOW3suWFpei0picsXG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVyUGF5b3V0IHtcbiAgaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xuICBzdGF0dXM6IE9yZGVyUGF5b3V0U3RhdHVzIHwgc3RyaW5nO1xuICB0eXBlOiBPcmRlclBheW91dFR5cGU7XG4gIGZlZTogbnVtYmVyO1xuICB0b3RhbDogbnVtYmVyO1xuICBvcmRlcklkOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBPcmRlclBheW91dFN0YXR1cyB7XG4gIENSRUFURUQgPSA8YW55PifliJvlu7onLFxuICBQRU5ESU5HID0gPGFueT4n5aSE55CG5LitJyxcbiAgUEFJRCA9IDxhbnk+J+W3suaUr+S7mCcsXG4gIENBTkNFTEVEID0gPGFueT4n5bey5Y+W5raIJyxcbiAgRkFJTEVEID0gPGFueT4n5aSx6LSlJyxcbn1cbmV4cG9ydCBlbnVtIE9yZGVyUGF5b3V0VHlwZSB7XG4gIEJBTksgPSA8YW55Pifpk7booYzovazotKYnLFxuICBDQVJEID0gPGFueT4n6ZO26KGM5Y2hJyxcbiAgV0VDSEFUID0gPGFueT4n5b6u5L+h6Zu26ZKxJyxcbn1cbiJdfQ==
69
+ export var PaymentStatus;
70
+ (function (PaymentStatus) {
71
+ PaymentStatus["PENDING"] = "\u5F85\u652F\u4ED8";
72
+ PaymentStatus["CANCELED"] = "\u5B9A\u91D1";
73
+ PaymentStatus["COMPLETED"] = "\u5B8C\u6210";
74
+ PaymentStatus["FAILED"] = "\u5931\u8D25";
75
+ PaymentStatus["REFUNDED"] = "\u5DF2\u9000\u6B3E";
76
+ PaymentStatus["EXPIRED"] = "\u5C3E\u6B3E";
77
+ })(PaymentStatus || (PaymentStatus = {}));
78
+ export var PaymentType;
79
+ (function (PaymentType) {
80
+ PaymentType["FIXED"] = "\u56FA\u5B9A";
81
+ PaymentType["DEPOSIT"] = "\u5B9A\u91D1";
82
+ PaymentType["FINAL"] = "\u5C3E\u6B3E";
83
+ })(PaymentType || (PaymentType = {}));
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItb3JkZXIvc3JjL2xpYi9pbnRlcmZhY2VzL29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sQ0FBTixJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDckIsNkNBQWUsQ0FBQTtJQUNmLDBDQUFZLENBQUE7SUFDWiw4REFBc0IsQ0FBQTtJQUN0QiwrQ0FBaUIsQ0FBQTtJQUNqQixrREFBZSxDQUFBO0lBQ2Ysb0RBQWlCLENBQUE7SUFDakIsOENBQWdCLENBQUE7SUFDaEIsa0VBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCO0FBQ0QsTUFBTSxDQUFOLElBQVksU0FNWDtBQU5ELFdBQVksU0FBUztJQUNuQixvQ0FBYSxDQUFBO0lBQ2IscUNBQWMsQ0FBQTtJQUNkLHFDQUFjLENBQUE7SUFDZCxxQ0FBYyxDQUFBO0lBQ2Qsb0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxTQUFTLEtBQVQsU0FBUyxRQU1wQjtBQVlELE1BQU0sQ0FBTixJQUFZLGlCQU9YO0FBUEQsV0FBWSxpQkFBaUI7SUFDM0IsaURBQWUsTUFBTSxhQUFBLENBQUE7SUFDckIsa0RBQWdCLE1BQU0sY0FBQSxDQUFBO0lBQ3RCLGtEQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQixrREFBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsb0RBQWtCLE9BQU8sZ0JBQUEsQ0FBQTtJQUN6QixrREFBZ0IsS0FBSyxjQUFBLENBQUE7QUFDdkIsQ0FBQyxFQVBXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFPNUI7QUFvQkQsTUFBTSxDQUFOLElBQVksZUFTWDtBQVRELFdBQVksZUFBZTtJQUN6Qiw2Q0FBZSxJQUFJLGFBQUEsQ0FBQTtJQUNuQiw4Q0FBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsNENBQWMsS0FBSyxZQUFBLENBQUE7SUFDbkIsc0RBQXdCLE1BQU0sc0JBQUEsQ0FBQTtJQUM5QixxREFBdUIsUUFBUSxxQkFBQSxDQUFBO0lBQy9CLHFEQUF1QixRQUFRLHFCQUFBLENBQUE7SUFDL0IsdURBQXlCLE9BQU8sdUJBQUEsQ0FBQTtJQUNoQyw4Q0FBZ0IsS0FBSyxjQUFBLENBQUE7QUFDdkIsQ0FBQyxFQVRXLGVBQWUsS0FBZixlQUFlLFFBUzFCO0FBQ0QsTUFBTSxDQUFOLElBQVksbUJBYVg7QUFiRCxXQUFZLG1CQUFtQjtJQUM3QiwwREFBb0IsTUFBTSxrQkFBQSxDQUFBO0lBQzFCLDBEQUFvQixNQUFNLGtCQUFBLENBQUE7SUFDMUIsNERBQXNCLE1BQU0sb0JBQUEsQ0FBQTtJQUM1Qix3REFBa0IsT0FBTyxnQkFBQSxDQUFBO0lBQ3pCLDRFQUE0QixDQUFBO0lBQzVCLDREQUFzQixPQUFPLG9CQUFBLENBQUE7SUFDN0IsNkRBQXVCLE9BQU8scUJBQUEsQ0FBQTtJQUM5QixvRUFBOEIsTUFBTSw0QkFBQSxDQUFBO0lBQ3BDLG1FQUE2QixRQUFRLDJCQUFBLENBQUE7SUFDckMsbUVBQTZCLFFBQVEsMkJBQUEsQ0FBQTtJQUNyQyxxRUFBK0IsT0FBTyw2QkFBQSxDQUFBO0lBQ3RDLG1FQUE2QixZQUFZLDJCQUFBLENBQUE7QUFDM0MsQ0FBQyxFQWJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFhOUI7QUFZRCxNQUFNLENBQU4sSUFBWSxpQkFNWDtBQU5ELFdBQVksaUJBQWlCO0lBQzNCLGlEQUFlLElBQUksYUFBQSxDQUFBO0lBQ25CLGlEQUFlLEtBQUssYUFBQSxDQUFBO0lBQ3BCLDhDQUFZLEtBQUssVUFBQSxDQUFBO0lBQ2pCLGtEQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQixnREFBYyxJQUFJLFlBQUEsQ0FBQTtBQUNwQixDQUFDLEVBTlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU01QjtBQUNELE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsMENBQVksTUFBTSxVQUFBLENBQUE7SUFDbEIsMENBQVksS0FBSyxVQUFBLENBQUE7SUFDakIsNENBQWMsTUFBTSxZQUFBLENBQUE7QUFDdEIsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBZUQsTUFBTSxDQUFOLElBQVksYUFPWDtBQVBELFdBQVksYUFBYTtJQUN2QiwrQ0FBZSxDQUFBO0lBQ2YsMENBQWUsQ0FBQTtJQUNmLDJDQUFnQixDQUFBO0lBQ2hCLHdDQUFhLENBQUE7SUFDYixnREFBZ0IsQ0FBQTtJQUNoQix5Q0FBYyxDQUFBO0FBQ2hCLENBQUMsRUFQVyxhQUFhLEtBQWIsYUFBYSxRQU94QjtBQUNELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIscUNBQVksQ0FBQTtJQUNaLHVDQUFjLENBQUE7SUFDZCxxQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBPcmRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgb3JkZXJObz86IHN0cmluZztcbiAgdG90YWw6IG51bWJlcjtcbiAgc3RhdHVzOiBPcmRlclN0YXR1cyB8IHN0cmluZztcbiAgaXRlbXM6IE9yZGVySXRlbVtdO1xuICBjdXN0b21lcklkOiBzdHJpbmc7XG4gIG93bmVySWQ6IHN0cmluZztcbiAgdHlwZTogT3JkZXJUeXBlO1xuICBub3RlOiBzdHJpbmc7XG4gIGRlcG9zaXQ6IG51bWJlcjtcbiAgcGF5bWVudHM6IFBheW1lbnRbXTtcbn1cbmV4cG9ydCBlbnVtIE9yZGVyU3RhdHVzIHtcbiAgQ1JFQVRFRCA9ICflvoXku5jmrL4nLFxuICBQQUlEID0gJ+W3suaUr+S7mCcsXG4gIFBBUlRJQUxfUEFJRCA9ICflrprph5Hlt7LmlK/ku5gnLFxuICBDT01QTEVURUQgPSAn5bey5a6M5oiQJyxcbiAgQ0xPU0VEID0gJ+S6pOaYk+WFs+mXrScsXG4gIENBTkNFTEVEID0gJ+S6pOaYk+WPlua2iCcsXG4gIFJFRlVOREVEID0gJ+W3sumAgOasvicsXG4gIFJFVFVSTl9SRVFVRVNURUQgPSAn6YCA5qy+5aSE55CG5LitJyxcbn1cbmV4cG9ydCBlbnVtIE9yZGVyVHlwZSB7XG4gIENPVVJTRSA9ICfor77nqIsnLFxuICBQUk9EVUNUID0gJ+WVhuWTgScsXG4gIFNFUlZJQ0UgPSAn5pyN5YqhJyxcbiAgQk9PS0lORyA9ICfpooTlrponLFxuICBPVFRIRVIgPSAn5YW25LuWJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJSZXR1cm4ge1xuICBzdGF0dXM6IE9yZGVyUmV0dXJuU3RhdHVzIHwgc3RyaW5nO1xuICByZWFzb246IHN0cmluZztcbiAgdG90YWw6IG51bWJlcjtcbiAgY3VzdG9tZXJJZDogc3RyaW5nO1xuICBvd25lcklkOiBzdHJpbmc7XG4gIGl0ZW1zOiBPcmRlckl0ZW1SZXR1cm5bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJJdGVtUmV0dXJuIHtcbiAgb3JkZXJJdGVtOiBPcmRlckl0ZW07XG59XG5leHBvcnQgZW51bSBPcmRlclJldHVyblN0YXR1cyB7XG4gIENSRUFURUQgPSA8YW55PifnrYnlvoXlrqHmoLgnLFxuICBDQU5DRUxFRCA9IDxhbnk+J+eUqOaIt+WPlua2iCcsXG4gIEFQUFJPVkVEID0gPGFueT4n5bey6YCa6L+HJyxcbiAgUkVKRUNURUQgPSA8YW55Piflt7Lmi5Lnu50nLFxuICBQUk9DRVNTSU5HID0gPGFueT4n5bmz5Y+w5aSE55CG5LitJyxcbiAgUkVUVVJORUQgPSA8YW55Piflt7LpgIDmrL4nLFxufVxuZXhwb3J0IGludGVyZmFjZSBPcmRlckl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RJZDogc3RyaW5nO1xuICB2YXJpYW50SWQ6IHN0cmluZztcbiAgc3RhdHVzOiBPcmRlckl0ZW1TdGF0dXM7XG4gIHRvdGFsOiBudW1iZXI7XG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIG1lZGlhOiBPcmRlckl0ZW1NZWRpYVtdO1xuICBvcHRpb25zOiBPcmRlckl0ZW1PcHRpb25bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJJdGVtTWVkaWEge1xuICB1cmw6IHN0cmluZztcbiAgYWx0OiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJJdGVtT3B0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gT3JkZXJJdGVtU3RhdHVzIHtcbiAgQ1JFQVRFRCA9IDxhbnk+J+WIm+W7uicsXG4gIENBTkNFTEVEID0gPGFueT4n5bey5Y+W5raIJyxcbiAgQ0xPU0VEID0gPGFueT4n5bey5YWz6ZetJyxcbiAgUkVUVVJOX1JFUVVFU1RFRCA9IDxhbnk+J+etieW+heWuoeaguCcsXG4gIFJFVFVSTl9BUFBST1ZFRCA9IDxhbnk+J+WVhuWutuWQjOaEj+mAgOasvicsXG4gIFJFVFVSTl9SRUpFQ1RFRCA9IDxhbnk+J+WVhuWutuaLkue7nemAgOasvicsXG4gIFJFVFVSTl9QUk9DRVNTSU5HID0gPGFueT4n6YCA5qy+5aSE55CG5LitJyxcbiAgUkVGVU5ERUQgPSA8YW55Piflt7LpgIDmrL4nLFxufVxuZXhwb3J0IGVudW0gT3JkZXJUaW1lbGluZVN0YXR1cyB7XG4gIE9SREVSX0NSRUFURSA9IDxhbnk+J+S6pOaYk+WIm+W7uicsXG4gIE9SREVSX0NMT1NFRCA9IDxhbnk+J+S6pOaYk+WFs+mXrScsXG4gIE9SREVSX0NBTkNFTEVEID0gPGFueT4n5Lqk5piT5Y+W5raIJyxcbiAgT1JERVJfUEFJRCA9IDxhbnk+J+iuouWNleW3suaUr+S7mCcsXG4gIE9SREVSX1BBUlRJQUxfUEFJRCA9ICflrprph5Hlt7LmlK/ku5gnLFxuICBPUkRFUl9SRUZVTkRFRCA9IDxhbnk+J+iuouWNleW3sumAgOasvicsXG4gIE9SREVSX0NPTVBMRVRFRCA9IDxhbnk+J+iuouWNleW3suWujOaIkCcsXG4gIE9SREVSX1JFVFVSTl9SRVFVRVNURUQgPSA8YW55PifpgIDmrL7nlLPor7cnLFxuICBPUkRFUl9SRVRVUk5fQVBQUk9WRUQgPSA8YW55PifllYblrrblkIzmhI/pgIDmrL4nLFxuICBPUkRFUl9SRVRVUk5fUkVKRUNURUQgPSA8YW55PifllYblrrbmi5Lnu53pgIDmrL4nLFxuICBPUkRFUl9SRVRVUk5fUFJPQ0VTU0lORyA9IDxhbnk+J+mAgOasvuWkhOeQhuS4rScsXG4gIE9SREVSX1JFVFVSTl9SRUZVTkRFRCA9IDxhbnk+J+mAgOasvuWkhOeQhuWujOaIkO+8jOW3suWFpei0picsXG59XG5leHBvcnQgaW50ZXJmYWNlIE9yZGVyUGF5b3V0IHtcbiAgaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xuICBzdGF0dXM6IE9yZGVyUGF5b3V0U3RhdHVzIHwgc3RyaW5nO1xuICB0eXBlOiBPcmRlclBheW91dFR5cGU7XG4gIGZlZTogbnVtYmVyO1xuICB0b3RhbDogbnVtYmVyO1xuICBvcmRlcklkOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBPcmRlclBheW91dFN0YXR1cyB7XG4gIENSRUFURUQgPSA8YW55PifliJvlu7onLFxuICBQRU5ESU5HID0gPGFueT4n5aSE55CG5LitJyxcbiAgUEFJRCA9IDxhbnk+J+W3suaUr+S7mCcsXG4gIENBTkNFTEVEID0gPGFueT4n5bey5Y+W5raIJyxcbiAgRkFJTEVEID0gPGFueT4n5aSx6LSlJyxcbn1cbmV4cG9ydCBlbnVtIE9yZGVyUGF5b3V0VHlwZSB7XG4gIEJBTksgPSA8YW55Pifpk7booYzovazotKYnLFxuICBDQVJEID0gPGFueT4n6ZO26KGM5Y2hJyxcbiAgV0VDSEFUID0gPGFueT4n5b6u5L+h6Zu26ZKxJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgc3RhdHVzOiBQYXltZW50U3RhdHVzO1xuICB0eXBlOiBQYXltZW50VHlwZTtcbiAgZGVwb3NpdDogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgb3JkZXJJZDogc3RyaW5nO1xuICBvcmRlck5vOiBzdHJpbmc7XG4gIHByb2R1Y3RJZDogc3RyaW5nO1xuICBjdXN0b21lcklkOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gUGF5bWVudFN0YXR1cyB7XG4gIFBFTkRJTkcgPSAn5b6F5pSv5LuYJyxcbiAgQ0FOQ0VMRUQgPSAn5a6a6YeRJyxcbiAgQ09NUExFVEVEID0gJ+WujOaIkCcsXG4gIEZBSUxFRCA9ICflpLHotKUnLFxuICBSRUZVTkRFRCA9ICflt7LpgIDmrL4nLFxuICBFWFBJUkVEID0gJ+WwvuasvicsXG59XG5leHBvcnQgZW51bSBQYXltZW50VHlwZSB7XG4gIEZJWEVEID0gJ+WbuuWumicsXG4gIERFUE9TSVQgPSAn5a6a6YeRJyxcbiAgRklOQUwgPSAn5bC+5qy+Jyxcbn1cbiJdfQ==
@@ -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,10 +11,10 @@ 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 { OrderProductItemComponent } from '../../components/order-product-item/order-product-item.component';
15
+ import { OrderDetailItemComponent } from '../../components/order-detail-item/order-detail-item.component';
18
16
  import { OrderItemOptionsFormatPipe } from '../../pipe/order-item-options.pipe';
17
+ import { DecimalDirective, FixedPipe } from '@rolatech/angular-common';
19
18
  import * as i0 from "@angular/core";
20
19
  import * as i1 from "@angular/material/button";
21
20
  import * as i2 from "@angular/material/icon";
@@ -41,15 +40,6 @@ export class OrderDetailComponent extends BaseComponent {
41
40
  this.orderService.get(this.id).subscribe({
42
41
  next: (res) => {
43
42
  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
43
  if (this.order.status === 'CREATED') {
54
44
  setInterval(() => {
55
45
  const start = moment();
@@ -62,24 +52,6 @@ export class OrderDetailComponent extends BaseComponent {
62
52
  },
63
53
  });
64
54
  }
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
55
  refund() {
84
56
  const options = {
85
57
  width: '500px',
@@ -95,7 +67,7 @@ export class OrderDetailComponent extends BaseComponent {
95
67
  this.dialogService.open(options);
96
68
  this.dialogService.confirmed().subscribe((res) => {
97
69
  if (res) {
98
- this.orderService.refund(this.id, res).subscribe({
70
+ this.orderService.refund(this.id, { reason: res }).subscribe({
99
71
  next: (res) => {
100
72
  this.snackBarService.open('退款申请成功, 等待审核');
101
73
  },
@@ -109,7 +81,7 @@ export class OrderDetailComponent extends BaseComponent {
109
81
  cancel() {
110
82
  this.orderService.cancel(this.id).subscribe({
111
83
  next: (res) => {
112
- this.order.status = OrderStatus[OrderStatus.CANCELED];
84
+ this.order.status = 'CANCELED';
113
85
  this.snackBarService.open('取消成功');
114
86
  },
115
87
  error: (error) => {
@@ -133,10 +105,10 @@ export class OrderDetailComponent extends BaseComponent {
133
105
  },
134
106
  });
135
107
  }
136
- 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 <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 <div>\n @if (course$ | async; as course) {\n <div class=\"text-lg py-3\">\u8BFE\u7A0B\u4FE1\u606F</div>\n <rolatech-order-course-item [routerLink]=\"['/courses/', course.id]\" [course]=\"course\"></rolatech-order-course-item>\n } @else {\n <div class=\"text-lg py-3\">\u5546\u54C1\u4FE1\u606F</div>\n @for (item of order.items; track $index) {\n <!-- [description]=\"variant.options | options\"\n [thumbnail]=\"variant.media ? variant.media[0].url + '!w200' : product.media[0].url + '!w200'\" -->\n <rolatech-order-product-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [routerLink]=\"['/products/', item.productId]\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-product-item>\n }\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: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { 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: OrderCourseItemComponent, selector: "rolatech-order-course-item", inputs: ["course"] }, { kind: "component", type: OrderProductItemComponent, selector: "rolatech-order-product-item", inputs: ["thumbnail", "title", "description", "quantity", "total"] }, { kind: "pipe", type: OrderItemOptionsFormatPipe, name: "orderItemoptions" }] }); }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", 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-baseline justify-between py-1\">\n <label class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</label>\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 <label class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</label>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <label class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</label>\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 <label class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</label>\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\">\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 @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" }] }); }
138
110
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OrderDetailComponent, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: OrderDetailComponent, decorators: [{
140
112
  type: Component,
141
113
  args: [{ selector: 'rolatech-order-detail', standalone: true, imports: [
142
114
  MatButtonModule,
@@ -149,10 +121,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
149
121
  ThumbnailComponent,
150
122
  ToolbarComponent,
151
123
  TitleComponent,
152
- OrderCourseItemComponent,
153
- OrderProductItemComponent,
124
+ OrderDetailItemComponent,
154
125
  OrderVariantItemComponent,
155
126
  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 <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 <div>\n @if (course$ | async; as course) {\n <div class=\"text-lg py-3\">\u8BFE\u7A0B\u4FE1\u606F</div>\n <rolatech-order-course-item [routerLink]=\"['/courses/', course.id]\" [course]=\"course\"></rolatech-order-course-item>\n } @else {\n <div class=\"text-lg py-3\">\u5546\u54C1\u4FE1\u606F</div>\n @for (item of order.items; track $index) {\n <!-- [description]=\"variant.options | options\"\n [thumbnail]=\"variant.media ? variant.media[0].url + '!w200' : product.media[0].url + '!w200'\" -->\n <rolatech-order-product-item\n [thumbnail]=\"item.media[0].url + '!w200 '\"\n [routerLink]=\"['/products/', item.productId]\"\n [title]=\"item.name\"\n [total]=\"item.total\"\n [description]=\"item.options | orderItemoptions\"\n [quantity]=\"item.quantity\"\n ></rolatech-order-product-item>\n }\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" }]
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 <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-baseline justify-between py-1\">\n <label class=\"font-medium min-w-20\">\u5907\u6CE8\u4FE1\u606F</label>\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 <label class=\"font-medium\">\u5B9A\u91D1\u91D1\u989D</label>\n <span class=\"text-sm\">\u00A5{{ order.deposit | fixed }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <label class=\"font-medium\">\u5C3E\u6B3E\u91D1\u989D</label>\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 <label class=\"font-medium\">\u5E94\u4ED8\u91D1\u989D</label>\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\">\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 @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" }]
157
130
  }] });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVyLWRldGFpbC9vcmRlci1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGdCQUFnQixHQUNqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQVUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBUyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtC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QzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakhVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdHQy9DakMsOHVLQTRIQSx5REQvRkksZUFBZSx3VUFDZixhQUFhLG9MQUNiLFVBQVUsb09BQ1YsT0FBTywrRUFDUCxTQUFTLDhDQUNULGdCQUFnQixnRkFDaEIsa0JBQWtCLCtEQUVsQixnQkFBZ0IsZ0lBRWhCLHdCQUF3QiwyRkFDeEIseUJBQXlCLHVJQUV6QiwwQkFBMEI7OzJGQUtqQixvQkFBb0I7a0JBdEJoQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6QiwwQkFBMEI7cUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29udGFpbmVyQ29tcG9uZW50LFxuICBCYXNlQ29tcG9uZW50LFxuICBTcGlubmVyQ29tcG9uZW50LFxuICBUaHVtYm5haWxDb21wb25lbnQsXG4gIFRpdGxlQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IENvdXJzZVR5cGUsIENvdXJzZSwgQ291cnNlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvdXJzZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVyLCBPcmRlclN0YXR1cywgT3JkZXJUaW1lbGluZVN0YXR1cywgT3JkZXJUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcmRlclJldHVyblJlcXVlc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLXJldHVybi1yZXF1ZXN0L29yZGVyLXJldHVybi1yZXF1ZXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0U2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9yZGVyQ291cnNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JkZXItY291cnNlLWl0ZW0vb3JkZXItY291cnNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVyVmFyaWFudEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLXZhcmlhbnQtaXRlbS9vcmRlci12YXJpYW50LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVyUHJvZHVjdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLXByb2R1Y3QtaXRlbS9vcmRlci1wcm9kdWN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9vcmRlci1pdGVtLW9wdGlvbnMucGlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1vcmRlci1kZXRhaWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZSxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBPcmRlckNvdXJzZUl0ZW1Db21wb25lbnQsXG4gICAgT3JkZXJQcm9kdWN0SXRlbUNvbXBvbmVudCxcbiAgICBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50LFxuICAgIE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWRldGFpbC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyITogT3JkZXI7XG4gIHN0YXR1czogYW55ID0gT3JkZXJTdGF0dXM7XG4gIHR5cGUgPSBDb3Vyc2VUeXBlO1xuICBvcmRlclR5cGUgPSBPcmRlclR5cGU7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICBjb3Vyc2VTZXJ2aWNlID0gaW5qZWN0KENvdXJzZVNlcnZpY2UpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgdGltZWxpbmVEYXRhOiBhbnk7XG4gIGluZm8gPSBmYWxzZTtcbiAgbG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gIHRpbWVsaW5lU3RhdHVzOiBhbnkgPSBPcmRlclRpbWVsaW5lU3RhdHVzO1xuXG4gIC8vIG9yZGVyJDogT2JzZXJ2YWJsZTxPcmRlcj47XG4gIGNvdXJzZSQ/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+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy02IGgtNlwiIHNyYz1cIi9pbWFnZXMvcGF5X3dlY2hhdC5wbmdcIiAvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTFcIj7lvq7kv6HmlK/ku5g8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIHNhZmUgYXJlYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYi0xNiBzbTpwYi0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQUlEJykge1xuICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy0zMiBtaW4taC0xMVwiIChjbGljayk9XCJyZWZ1bmQoKVwiPueUs+ivt+mAgOasvjwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1zbSB1bmRlcmxpbmUtb2Zmc2V0LTQgbXItNiBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LVstLXJ0LWJyYW5kLWNvbG9yXVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgID7lj5bmtojorqLljZU8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInctMzIgbWluLWgtMTFcIiAoY2xpY2spPVwicGF5KClcIj7mlK/ku5jorqLljZU8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtY29udGFpbmVyPlxufVxuPGRpdlxuICBbbmdDbGFzc109XCJpbmZvID8gJ3RyYW5zbGF0ZS1ub25lJyA6ICd0cmFuc2xhdGUteC1mdWxsJ1wiXG4gIGNsYXNzPVwiZml4ZWQgdG9wLTAgcmlnaHQtMCB6LVsxMDAxXSBoLXNjcmVlbiBwLTQgb3ZlcmZsb3cteS1hdXRvIHRyYW5zaXRpb24tdHJhbnNmb3JtIGJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSB3LTgwIHNtOnctWzMwMHB4XSBzaGFkb3cteGxcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHNtOnAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZFwiPuiuouWNleeKtuaAgTwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpbmZvID0gIWluZm9cIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICBAaWYgKCFsb2FkaW5nVGltZWxpbmUpIHtcbiAgICA8ZGl2IGNsYXNzPVwibXQtMyBwLTEgc206cC00XCI+XG4gICAgICA8b2wgY2xhc3M9XCJyZWxhdGl2ZSBib3JkZXItbCBib3JkZXItWy0tcnQtYm9yZGVyLWNvbG9yXVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHRpbWVsaW5lRGF0YTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTggbWwtNFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHctMyBoLTMgcm91bmRlZC1mdWxsIG10LTEuNSAtbGVmdC0xLjUgYm9yZGVyIGJvcmRlci1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gYmctWy0tcnQtdGV4dC1wcmltYXJ5XVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgbWItMVwiPnt7IHRpbWVsaW5lU3RhdHVzW2l0ZW0uc3RhdHVzXSB9fTwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLnN0YXR1cyA9PT0gJ0JPT0tJTkdfUkVUVVJOX1JFSkVDVEVEJykge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBtYi0xXCI+e3sgaXRlbS5yZXR1cm4ubm90ZSB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnN0YXR1cyA9PT0gJ0JPT0tJTkdfUkVUVVJOX1JFUVVFU1RFRCcpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gbWItMVwiPnt7IGl0ZW0ucmV0dXJuLnJlYXNvbiB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXNlY29uZGFyeV1cIj57eyBpdGVtLmRhdGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L29sPlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAobG9hZGluZ1RpbWVsaW5lKSB7XG4gICAgPGRpdj5cbiAgICAgIDxyb2xhdGVjaC1zcGlubmVyPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG48ZGl2XG4gIChjbGljayk9XCJpbmZvID0gIWluZm9cIlxuICBbbmdDbGFzc109XCJpbmZvID8gJ3Zpc2libGUnIDogJ2ludmlzaWJsZSdcIlxuICBjbGFzcz1cImJnLVstLXJ0LTEwLXBlcmNlbnQtbGF5ZXJdIGZpeGVkIGluc2V0LTAgei1bMTAwMF1cIlxuPjwvZGl2PlxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1vcmRlci9zcmMvbGliL3BhZ2VzL29yZGVyLWRldGFpbC9vcmRlci1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLW9yZGVyL3NyYy9saWIvcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQVMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNF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U0FBUyxDQUFDO1lBQzVDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJGVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3R0MvQ2pDLCsyTEF1SUEseUREM0dJLGVBQWUsd1VBQ2YsYUFBYSxvTEFFYixPQUFPLG9GQUVQLGdCQUFnQixnRkFDaEIsa0JBQWtCLCtEQUVsQixnQkFBZ0IsZ0lBRWhCLHdCQUF3Qiw4SUFFeEIsMEJBQTBCLG9EQUUxQixTQUFTOzsyRkFLQSxvQkFBb0I7a0JBdkJoQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgQ29udGFpbmVyQ29tcG9uZW50LFxuICBCYXNlQ29tcG9uZW50LFxuICBTcGlubmVyQ29tcG9uZW50LFxuICBUaHVtYm5haWxDb21wb25lbnQsXG4gIFRpdGxlQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IENvdXJzZVR5cGUsIENvdXJzZVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb3Vyc2UnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcmRlciwgT3JkZXJTdGF0dXMsIE9yZGVyVGltZWxpbmVTdGF0dXMsIE9yZGVyVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3JkZXJSZXR1cm5SZXF1ZXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmRlci1yZXR1cm4tcmVxdWVzdC9vcmRlci1yZXR1cm4tcmVxdWVzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmRlci12YXJpYW50LWl0ZW0vb3JkZXItdmFyaWFudC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlckRldGFpbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZGVyLWRldGFpbC1pdGVtL29yZGVyLWRldGFpbC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlckl0ZW1PcHRpb25zRm9ybWF0UGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvb3JkZXItaXRlbS1vcHRpb25zLnBpcGUnO1xuaW1wb3J0IHsgRGVjaW1hbERpcmVjdGl2ZSwgRml4ZWRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW9yZGVyLWRldGFpbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nQ2xhc3MsXG4gICAgQXN5bmNQaXBlLFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIE9yZGVyRGV0YWlsSXRlbUNvbXBvbmVudCxcbiAgICBPcmRlclZhcmlhbnRJdGVtQ29tcG9uZW50LFxuICAgIE9yZGVySXRlbU9wdGlvbnNGb3JtYXRQaXBlLFxuICAgIERlY2ltYWxEaXJlY3RpdmUsXG4gICAgRml4ZWRQaXBlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWRldGFpbC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9yZGVyITogT3JkZXI7XG4gIHN0YXR1czogYW55ID0gT3JkZXJTdGF0dXM7XG4gIHR5cGUgPSBDb3Vyc2VUeXBlO1xuICBvcmRlclR5cGUgPSBPcmRlclR5cGU7XG4gIG9yZGVyU2VydmljZSA9IGluamVjdChPcmRlclNlcnZpY2UpO1xuICBjb3Vyc2VTZXJ2aWNlID0gaW5qZWN0KENvdXJzZVNlcnZpY2UpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgdGltZWxpbmVEYXRhOiBhbnk7XG4gIGluZm8gPSBmYWxzZTtcbiAgbG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gIHRpbWVsaW5lU3RhdHVzOiBhbnkgPSBPcmRlclRpbWVsaW5lU3RhdHVzO1xuICBjb3VudERvd24gPSAnJztcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuZ2V0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vcmRlciA9IHJlcy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5vcmRlci5zdGF0dXMgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbW9tZW50KCk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBtb21lbnQodGhpcy5vcmRlci5jcmVhdGVkQXQpLmFkZCgxNSwgJ21pbnV0ZScpO1xuICAgICAgICAgICAgY29uc3QgZGlmZiA9IGVuZC5kaWZmKHN0YXJ0KTtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKGRpZmYpO1xuICAgICAgICAgICAgdGhpcy5jb3VudERvd24gPSBtb21lbnQudXRjKGR1cmF0aW9uLmFzKCdtaWxsaXNlY29uZHMnKSkuZm9ybWF0KCdtbTpzcycpO1xuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHJlZnVuZCgpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgd2lkdGg6ICc1MDBweCcsXG4gICAgICB0aXRsZTogJ+eUs+ivt+mAgOasvicsXG4gICAgICBoZWlnaHQ6ICc5MCUnLFxuICAgICAgY2FuY2VsVGV4dDogJ+WPlua2iCcsXG4gICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgICBjb21wb25lbnQ6IE9yZGVyUmV0dXJuUmVxdWVzdENvbXBvbmVudCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVhc29uOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihvcHRpb25zKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5vcmRlclNlcnZpY2UucmVmdW5kKHRoaXMuaWQsIHsgcmVhc29uOiByZXMgfSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCfpgIDmrL7nlLPor7fmiJDlip8sIOetieW+heWuoeaguCcpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuY2FuY2VsKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMub3JkZXIuc3RhdHVzID0gJ0NBTkNFTEVEJztcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3Blbign5Y+W5raI5oiQ5YqfJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwYXkoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL29yZGVycy8ke3RoaXMuaWR9L3FyY29kZXBheWApO1xuICB9XG4gIHRpbWVsaW5lKCkge1xuICAgIHRoaXMuaW5mbyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nVGltZWxpbmUgPSB0cnVlO1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLnRpbWVsaW5lKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMudGltZWxpbmVEYXRhID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubG9hZGluZ1RpbWVsaW5lID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChvcmRlcikge1xuICA8cm9sYXRlY2gtY29udGFpbmVyPlxuICAgIDxyb2xhdGVjaC10b29sYmFyIFt0aXRsZV09XCJzdGF0dXNbb3JkZXIuc3RhdHVzXVwiIGxhcmdlIGxpbms9XCIuLi9cIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwidGltZWxpbmUoKVwiPlxuICAgICAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPuiuouWNleeKtuaAgTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgICA8ZGl2PlxuICAgICAgQGlmIChvcmRlci5zdGF0dXMgPT09ICdDUkVBVEVEJykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1bLS1ydC1icmFuZC1jb2xvcl0gZm9udC1ib2xkXCI+5pSv5LuY5YCS6K6h5pe2OiB7eyBjb3VudERvd24gfX08L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBvcmRlci5pdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8cm9sYXRlY2gtb3JkZXItZGV0YWlsLWl0ZW1cbiAgICAgICAgICAgICAgW3RodW1ibmFpbF09XCJpdGVtLm1lZGlhWzBdLnVybCArICchdzIwMCAnXCJcbiAgICAgICAgICAgICAgW2xpbmtdPVwib3JkZXIudHlwZS50b1N0cmluZygpID09PSAnUFJPRFVDVCcgPyAnL3Byb2R1Y3RzLycgKyBpdGVtLnByb2R1Y3RJZCA6ICcvY291cnNlcy8nICsgaXRlbS5wcm9kdWN0SWRcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgW3RvdGFsXT1cIml0ZW0udG90YWxcIlxuICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiaXRlbS5vcHRpb25zIHwgb3JkZXJJdGVtb3B0aW9uczogb3JkZXIudHlwZVwiXG4gICAgICAgICAgICAgIFtxdWFudGl0eV09XCJpdGVtLnF1YW50aXR5XCJcbiAgICAgICAgICAgID48L3JvbGF0ZWNoLW9yZGVyLWRldGFpbC1pdGVtPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgcHktMyBmb250LW1lZGl1bVwiPuiuouWNleS/oeaBrzwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1tZWRpdW1cIj7orqLljZXlj7c8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+IHt7IG9yZGVyLm9yZGVyTm8gfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bVwiPuS4i+WNleaXtumXtDwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj4ge3sgb3JkZXIuY3JlYXRlZEF0IH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bSBtaW4tdy0yMFwiPuWkh+azqOS/oeaBrzwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj57eyBvcmRlci5ub3RlIHx8ICfml6AnIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAob3JkZXIuZGVwb3NpdCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtbWVkaXVtXCI+5a6a6YeR6YeR6aKdPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+wqV7eyBvcmRlci5kZXBvc2l0IHwgZml4ZWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bVwiPuWwvuasvumHkeminTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPsKle3sgb3JkZXIudG90YWwgLSBvcmRlci5kZXBvc2l0IHwgZml4ZWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LW1lZGl1bVwiPuW6lOS7mOmHkeminTwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj7CpXt7IG9yZGVyLnRvdGFsIHwgZml4ZWQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKG9yZGVyLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcgfHwgb3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQUlEJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBwYi0zIGZvbnQtbWVkaXVtXCI+5pSv5LuY5pa55byPPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy02IGgtNlwiIHNyYz1cIi9pbWFnZXMvcGF5X3dlY2hhdC5wbmdcIiAvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTFcIj7lvq7kv6HmlK/ku5g8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIHNhZmUgYXJlYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYi0xNiBzbTpwYi0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQUlEJykge1xuICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy0zMiBtaW4taC0xMVwiIChjbGljayk9XCJyZWZ1bmQoKVwiPueUs+ivt+mAgOasvjwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdDUkVBVEVEJykge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1zbSB1bmRlcmxpbmUtb2Zmc2V0LTQgbXItNiBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LVstLXJ0LWJyYW5kLWNvbG9yXVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgID7lj5bmtojorqLljZU8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChvcmRlci5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0NSRUFURUQnKSB7XG4gICAgICAgICAgICBAaWYgKG9yZGVyLmRlcG9zaXQpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInBheSgpXCI+5pSv5LuY5a6a6YeRPC9idXR0b24+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInBheSgpXCI+5pSv5LuY6K6i5Y2VPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAob3JkZXIuc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQQVJUSUFMX1BBSUQnKSB7XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInctMzIgbWluLWgtMTFcIiAoY2xpY2spPVwicGF5KClcIj7mlK/ku5jlsL7mrL48L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtY29udGFpbmVyPlxufVxuPGRpdlxuICBbbmdDbGFzc109XCJpbmZvID8gJ3RyYW5zbGF0ZS1ub25lJyA6ICd0cmFuc2xhdGUteC1mdWxsJ1wiXG4gIGNsYXNzPVwiZml4ZWQgdG9wLTAgcmlnaHQtMCB6LVsxMDAxXSBoLXNjcmVlbiBwLTQgb3ZlcmZsb3cteS1hdXRvIHRyYW5zaXRpb24tdHJhbnNmb3JtIGJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSB3LTgwIHNtOnctWzMwMHB4XSBzaGFkb3cteGxcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHNtOnAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZFwiPuiuouWNleeKtuaAgTwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpbmZvID0gIWluZm9cIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICBAaWYgKCFsb2FkaW5nVGltZWxpbmUpIHtcbiAgICA8ZGl2IGNsYXNzPVwibXQtMyBwLTEgc206cC00XCI+XG4gICAgICA8b2wgY2xhc3M9XCJyZWxhdGl2ZSBib3JkZXItbCBib3JkZXItWy0tcnQtYm9yZGVyLWNvbG9yXVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHRpbWVsaW5lRGF0YTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTggbWwtNFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHctMyBoLTMgcm91bmRlZC1mdWxsIG10LTEuNSAtbGVmdC0xLjUgYm9yZGVyIGJvcmRlci1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gYmctWy0tcnQtdGV4dC1wcmltYXJ5XVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgbWItMVwiPnt7IHRpbWVsaW5lU3RhdHVzW2l0ZW0uc3RhdHVzXSB9fTwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLnN0YXR1cyA9PT0gJ0JPT0tJTkdfUkVUVVJOX1JFSkVDVEVEJykge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBtYi0xXCI+e3sgaXRlbS5yZXR1cm4ubm90ZSB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnN0YXR1cyA9PT0gJ0JPT0tJTkdfUkVUVVJOX1JFUVVFU1RFRCcpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gbWItMVwiPnt7IGl0ZW0ucmV0dXJuLnJlYXNvbiB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXNlY29uZGFyeV1cIj57eyBpdGVtLmRhdGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L29sPlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAobG9hZGluZ1RpbWVsaW5lKSB7XG4gICAgPGRpdj5cbiAgICAgIDxyb2xhdGVjaC1zcGlubmVyPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG48ZGl2XG4gIChjbGljayk9XCJpbmZvID0gIWluZm9cIlxuICBbbmdDbGFzc109XCJpbmZvID8gJ3Zpc2libGUnIDogJ2ludmlzaWJsZSdcIlxuICBjbGFzcz1cImJnLVstLXJ0LTEwLXBlcmNlbnQtbGF5ZXJdIGZpeGVkIGluc2V0LTAgei1bMTAwMF1cIlxuPjwvZGl2PlxuIl19