@rolatech/angular-cart 18.0.5 → 18.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/cart-checkout-action/cart-checkout-action.component.mjs +7 -6
- package/esm2022/lib/components/cart-checkout-item/cart-checkout-item.component.mjs +3 -3
- package/esm2022/lib/components/cart-checkout-summary/cart-checkout-summary.component.mjs +15 -8
- package/esm2022/lib/components/cart-icon/cart-icon.component.mjs +3 -3
- package/esm2022/lib/components/cart-side/cart-side.component.mjs +3 -3
- package/esm2022/lib/pages/cart-checkout/cart-checkout-course/cart-checkout-course.component.mjs +6 -5
- package/esm2022/lib/pages/cart-checkout/cart-checkout-index/cart-checkout-index.component.mjs +3 -3
- package/esm2022/lib/pages/cart-checkout/cart-checkout-product/cart-checkout-product.component.mjs +19 -6
- package/esm2022/lib/pages/cart-checkout/cart-checkout-variant/cart-checkout-variant.component.mjs +5 -5
- package/esm2022/lib/pages/cart-index/cart-index.component.mjs +5 -5
- package/esm2022/lib/state/cart.state.mjs +3 -3
- package/fesm2022/{rolatech-angular-cart-cart-checkout.routes-BnXBiPRI.mjs → rolatech-angular-cart-cart-checkout.routes-DXSzHk3i.mjs} +32 -26
- package/fesm2022/rolatech-angular-cart-cart-checkout.routes-DXSzHk3i.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-cart-rolatech-angular-cart-D_zGt_mV.mjs → rolatech-angular-cart-rolatech-angular-cart-8pTgdl4S.mjs} +37 -29
- package/fesm2022/rolatech-angular-cart-rolatech-angular-cart-8pTgdl4S.mjs.map +1 -0
- package/fesm2022/rolatech-angular-cart.mjs +1 -14
- package/fesm2022/rolatech-angular-cart.mjs.map +1 -1
- package/lib/components/cart-checkout-action/cart-checkout-action.component.d.ts +2 -1
- package/lib/components/cart-checkout-summary/cart-checkout-summary.component.d.ts +6 -3
- package/lib/pages/cart-checkout/cart-checkout-product/cart-checkout-product.component.d.ts +1 -0
- package/package.json +1 -1
- package/fesm2022/rolatech-angular-cart-cart-checkout.routes-BnXBiPRI.mjs.map +0 -1
- package/fesm2022/rolatech-angular-cart-rolatech-angular-cart-D_zGt_mV.mjs.map +0 -1
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { Component, output } from '@angular/core';
|
|
1
|
+
import { Component, input, output } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/material/button";
|
|
6
6
|
export class CartCheckoutActionComponent {
|
|
7
7
|
constructor() {
|
|
8
|
+
this.title = input('提交订单');
|
|
8
9
|
this.create = output();
|
|
9
10
|
}
|
|
10
11
|
onCreate() {
|
|
11
12
|
this.create.emit();
|
|
12
13
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.3", type: CartCheckoutActionComponent, isStandalone: true, selector: "rolatech-cart-checkout-action", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { create: "create" }, ngImport: i0, template: "<a mat-flat-button class=\"w-full min-h-11 my-6\" (click)=\"onCreate()\">{{ title() }}</a>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }] }); }
|
|
15
16
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutActionComponent, decorators: [{
|
|
17
18
|
type: Component,
|
|
18
|
-
args: [{ selector: 'rolatech-cart-checkout-action', standalone: true, imports: [CommonModule, MatButtonModule], template: "<a mat-flat-button class=\"w-full min-h-11 my-6\" (click)=\"onCreate()\"
|
|
19
|
+
args: [{ selector: 'rolatech-cart-checkout-action', standalone: true, imports: [CommonModule, MatButtonModule], template: "<a mat-flat-button class=\"w-full min-h-11 my-6\" (click)=\"onCreate()\">{{ title() }}</a>\n" }]
|
|
19
20
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1jaGVja291dC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNhcnQvc3JjL2xpYi9jb21wb25lbnRzL2NhcnQtY2hlY2tvdXQtYWN0aW9uL2NhcnQtY2hlY2tvdXQtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvY29tcG9uZW50cy9jYXJ0LWNoZWNrb3V0LWFjdGlvbi9jYXJ0LWNoZWNrb3V0LWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBUzNELE1BQU0sT0FBTywyQkFBMkI7SUFQeEM7UUFRRSxVQUFLLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLFdBQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztLQUluQjtJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBTFUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsNFBDWHhDLDhGQUNBLHlERE1ZLFlBQVksOEJBQUUsZUFBZTs7MkZBSTVCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtYWN0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcnQtY2hlY2tvdXQtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcnQtY2hlY2tvdXQtYWN0aW9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydENoZWNrb3V0QWN0aW9uQ29tcG9uZW50IHtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCfmj5DkuqTorqLljZUnKTtcbiAgY3JlYXRlID0gb3V0cHV0KCk7XG4gIG9uQ3JlYXRlKCkge1xuICAgIHRoaXMuY3JlYXRlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGEgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy1mdWxsIG1pbi1oLTExIG15LTZcIiAoY2xpY2spPVwib25DcmVhdGUoKVwiPnt7IHRpdGxlKCkgfX08L2E+XG4iXX0=
|
|
@@ -30,10 +30,10 @@ export class CartCheckoutItemComponent {
|
|
|
30
30
|
onDelete() {
|
|
31
31
|
this.delete.emit();
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartCheckoutItemComponent, isStandalone: true, selector: "rolatech-cart-checkout-item", inputs: { thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, quantity: { classPropertyName: "quantity", publicName: "quantity", isSignal: true, isRequired: false, transformFunction: null }, price: { classPropertyName: "price", publicName: "price", isSignal: true, isRequired: true, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { quantity: "quantityChange", add: "add", remove: "remove", delete: "delete" }, ngImport: i0, template: "<div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div class=\"w-1/4 aspect-video bg-[--rt-raised-background] rounded-lg h-fit\">\n <div class=\"object-cover aspect-video\">\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 </div>\n <div class=\"w-3/4 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 line-clamp-1\">{{ name() }}</span>\n <span class=\"text-sm text-[--rt-text-secondary] mt-2 line-clamp-2\">{{ description() }}</span>\n </div>\n <div class=\"p-1\">\u00A5{{ priceDisplay() }}</div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\">\n <span class=\"mr-3\">\u6570\u91CF</span>\n <button mat-icon-button (click)=\"onRemove()\" [disabled]=\"quantity() === 1\">\n <mat-icon>remove</mat-icon>\n </button>\n <span class=\"w-11 text-center\">{{ quantity() }}</span>\n <button mat-icon-button (click)=\"onAdd()\" [disabled]=\"quantity() === max()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <button mat-icon-button (click)=\"onDelete()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["mat-icon{scale:.7}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], deferBlockDependencies: [() => [import("@rolatech/angular-components").then(m => m.ThumbnailComponent)]] }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutItemComponent, resolveDeferredDeps: () => [import("@rolatech/angular-components").then(m => m.ThumbnailComponent)], resolveMetadata: ThumbnailComponent => ({ decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'rolatech-cart-checkout-item', standalone: true, imports: [CommonModule, ThumbnailComponent, MatIcon, MatButtonModule], template: "<div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div class=\"w-1/4 aspect-video bg-[--rt-raised-background] rounded-lg h-fit\">\n <div class=\"object-cover aspect-video\">\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 </div>\n <div class=\"w-3/4 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 line-clamp-1\">{{ name() }}</span>\n <span class=\"text-sm text-[--rt-text-secondary] mt-2 line-clamp-2\">{{ description() }}</span>\n </div>\n <div class=\"p-1\">\u00A5{{ priceDisplay() }}</div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\">\n <span class=\"mr-3\">\u6570\u91CF</span>\n <button mat-icon-button (click)=\"onRemove()\" [disabled]=\"quantity() === 1\">\n <mat-icon>remove</mat-icon>\n </button>\n <span class=\"w-11 text-center\">{{ quantity() }}</span>\n <button mat-icon-button (click)=\"onAdd()\" [disabled]=\"quantity() === max()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <button mat-icon-button (click)=\"onDelete()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["mat-icon{scale:.7}\n"] }]
|
|
39
39
|
}], ctorParameters: null, propDecorators: null }) });
|
|
@@ -3,16 +3,23 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class CartCheckoutSummaryComponent {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
|
|
6
|
+
this.deposit = input(0);
|
|
7
|
+
this.total = input.required();
|
|
8
|
+
this.totalDisplay = computed(() => {
|
|
9
|
+
return (this.total() / 100).toFixed(2);
|
|
10
|
+
});
|
|
11
|
+
this.depositDisplay = computed(() => {
|
|
12
|
+
return (this.deposit() / 100).toFixed(2);
|
|
13
|
+
});
|
|
14
|
+
this.remainingDisplay = computed(() => {
|
|
15
|
+
return ((this.total() - this.deposit()) / 100).toFixed(2);
|
|
9
16
|
});
|
|
10
17
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartCheckoutSummaryComponent, isStandalone: true, selector: "rolatech-cart-checkout-summary", inputs: { deposit: { classPropertyName: "deposit", publicName: "deposit", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"text-2xl font-medium mb-2\">\u7EDF\u8BA1</div>\n<div class=\"divide-y\">\n @if (deposit()) {\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span>\u5B9A\u91D1</span>\n <span> \u00A5{{ depositDisplay() }} </span>\n </div>\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \u5C3E\u6B3E </span>\n <span> \u00A5{{ remainingDisplay() }} </span>\n </div>\n } @else {\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \u5E94\u4ED8\u91D1\u989D </span>\n <span> \u00A5{{ totalDisplay() }} </span>\n </div>\n }\n\n <div class=\"py-3 bottom-0 left-0 right-0 md:static\">\n <div>\n <div class=\"flex justify-between\">\n <span class=\"text-lg font-medium\">\u603B\u8BA1</span>\n <span>\u00A5{{ totalDisplay() }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
13
20
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutSummaryComponent, decorators: [{
|
|
15
22
|
type: Component,
|
|
16
|
-
args: [{ selector: 'rolatech-cart-checkout-summary', standalone: true, imports: [CommonModule], template: "<div class=\"text-2xl font-medium mb-2\">\u7EDF\u8BA1</div>\n<div class=\"divide-y\">\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \
|
|
23
|
+
args: [{ selector: 'rolatech-cart-checkout-summary', standalone: true, imports: [CommonModule], template: "<div class=\"text-2xl font-medium mb-2\">\u7EDF\u8BA1</div>\n<div class=\"divide-y\">\n @if (deposit()) {\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span>\u5B9A\u91D1</span>\n <span> \u00A5{{ depositDisplay() }} </span>\n </div>\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \u5C3E\u6B3E </span>\n <span> \u00A5{{ remainingDisplay() }} </span>\n </div>\n } @else {\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \u5E94\u4ED8\u91D1\u989D </span>\n <span> \u00A5{{ totalDisplay() }} </span>\n </div>\n }\n\n <div class=\"py-3 bottom-0 left-0 right-0 md:static\">\n <div>\n <div class=\"flex justify-between\">\n <span class=\"text-lg font-medium\">\u603B\u8BA1</span>\n <span>\u00A5{{ totalDisplay() }}</span>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
17
24
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1jaGVja291dC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvY29tcG9uZW50cy9jYXJ0LWNoZWNrb3V0LXN1bW1hcnkvY2FydC1jaGVja291dC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvY29tcG9uZW50cy9jYXJ0LWNoZWNrb3V0LXN1bW1hcnkvY2FydC1jaGVja291dC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFQekM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0tBQ0o7OEdBWlksNEJBQTRCO2tHQUE1Qiw0QkFBNEIsMlZDVnpDLHczQkEyQkEseUREckJZLFlBQVk7OzJGQUlYLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtc3VtbWFyeScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FydC1jaGVja291dC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcnQtY2hlY2tvdXQtc3VtbWFyeS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENhcnRDaGVja291dFN1bW1hcnlDb21wb25lbnQge1xuICBkZXBvc2l0ID0gaW5wdXQoMCk7XG4gIHRvdGFsID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xuICB0b3RhbERpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0aGlzLnRvdGFsKCkgLyAxMDApLnRvRml4ZWQoMik7XG4gIH0pO1xuICBkZXBvc2l0RGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKHRoaXMuZGVwb3NpdCgpIC8gMTAwKS50b0ZpeGVkKDIpO1xuICB9KTtcbiAgcmVtYWluaW5nRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKCh0aGlzLnRvdGFsKCkgLSB0aGlzLmRlcG9zaXQoKSkgLyAxMDApLnRvRml4ZWQoMik7XG4gIH0pO1xufVxuIiwiPGRpdiBjbGFzcz1cInRleHQtMnhsIGZvbnQtbWVkaXVtIG1iLTJcIj7nu5/orqE8L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaXZpZGUteVwiPlxuICBAaWYgKGRlcG9zaXQoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBweS0yIHBiLTMyIG1kOnBiLTNcIj5cbiAgICAgIDxzcGFuPuWumumHkTwvc3Bhbj5cbiAgICAgIDxzcGFuPiDCpXt7IGRlcG9zaXREaXNwbGF5KCkgfX0gPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBweS0yIHBiLTMyIG1kOnBiLTNcIj5cbiAgICAgIDxzcGFuPiDlsL7mrL4gPC9zcGFuPlxuICAgICAgPHNwYW4+IMKle3sgcmVtYWluaW5nRGlzcGxheSgpIH19IDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHB5LTIgcGItMzIgbWQ6cGItM1wiPlxuICAgICAgPHNwYW4+IOW6lOS7mOmHkeminSA8L3NwYW4+XG4gICAgICA8c3Bhbj4gwqV7eyB0b3RhbERpc3BsYXkoKSB9fSA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIH1cblxuICA8ZGl2IGNsYXNzPVwicHktMyBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBtZDpzdGF0aWNcIj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bVwiPuaAu+iuoTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+wqV7eyB0b3RhbERpc3BsYXkoKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -42,10 +42,10 @@ export class CartIconComponent {
|
|
|
42
42
|
},
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartIconComponent, isStandalone: true, selector: "rolatech-cart-icon", inputs: { router: { classPropertyName: "router", publicName: "router", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col divide-y min-w-[320px]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\">\u8D2D\u7269\u8F66</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\">\u5220\u9664\u5168\u90E8</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\">\u6682\u65E0</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\"> \u524D\u5F80\u8D2D\u7269\u8F66 </span>\n </a>\n </div>\n </div>\n</mat-menu>\n", styles: ["rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "directive", type: i2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartIconComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{ selector: 'rolatech-cart-icon', standalone: true, imports: [AngularCommonModule, AngularComponentsModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col divide-y min-w-[320px]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\">\u8D2D\u7269\u8F66</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\">\u5220\u9664\u5168\u90E8</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\">\u6682\u65E0</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\"> \u524D\u5F80\u8D2D\u7269\u8F66 </span>\n </a>\n </div>\n </div>\n</mat-menu>\n", styles: ["rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\n"] }]
|
|
51
51
|
}] });
|
|
@@ -78,10 +78,10 @@ export class CartSideComponent {
|
|
|
78
78
|
},
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartSideComponent, isStandalone: true, selector: "rolatech-cart-side", inputs: { router: { classPropertyName: "router", publicName: "router", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { info: "infoChange" }, ngImport: i0, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" (click)=\"show()\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<div\n [ngClass]=\"{ 'translate-none': info(), 'translate-y-full md:translate-x-full md:translate-y-0': !info() }\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-full md:w-[600px] shadow-xl\"\n>\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-2xl font-bold\">\u8D2D\u7269\u8F66</div>\n <button mat-icon-button (click)=\"dismiss()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (!loading) {\n <div class=\"mt-3 p-1 sm:p-4\">\n @for (item of carts; track item) {\n @if (item.variant) {\n <rolatech-cart-checkout-item\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-cart-checkout-item>\n } @else {\n <rolatech-cart-checkout-item\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-cart-checkout-item>\n }\n }\n <mat-divider></mat-divider>\n <div class=\"h-14 flex justify-between items-center\">\n <div class=\"text-lg font-bold\">\u603B\u8BA1</div>\n <div>\u00A5{{ totalPrice }}</div>\n </div>\n <div class=\"flex flex-row gap-3 w-full items-center justify-center mt-3\">\n <button mat-flat-button [routerLink]=\"router()\" (click)=\"dismiss()\" class=\"w-8/12\">\n <a>\u53BB\u8D2D\u7269\u8F66\u7ED3\u7B97</a>\n </button>\n <button mat-stroked-button (click)=\"dismiss()\" class=\"w-4/12\">\n <a>\u7EE7\u7EED\u8D2D\u7269</a>\n </button>\n </div>\n </div>\n }\n @if (loading) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n }\n</div>\n<div\n (click)=\"dismiss()\"\n [ngClass]=\"info() ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed h-screen inset-0 z-[1000]\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: CartCheckoutItemComponent, selector: "rolatech-cart-checkout-item", inputs: ["thumbnail", "name", "description", "quantity", "price", "max"], outputs: ["quantityChange", "add", "remove", "delete"] }, { kind: "pipe", type: OptionsFormatPipe, name: "options" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] }); }
|
|
83
83
|
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartSideComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
86
|
args: [{ selector: 'rolatech-cart-side', standalone: true, imports: [
|
|
87
87
|
CommonModule,
|
package/esm2022/lib/pages/cart-checkout/cart-checkout-course/cart-checkout-course.component.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import { AuthUserService } from '@rolatech/angular-auth';
|
|
|
4
4
|
import { CourseService, CourseType } from '@rolatech/angular-course';
|
|
5
5
|
import { OrderService } from '@rolatech/angular-services';
|
|
6
6
|
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { FixedPipe } from '@rolatech/angular-common';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/material/button";
|
|
9
10
|
export class CartCheckoutCourseComponent extends BaseComponent {
|
|
@@ -44,11 +45,11 @@ export class CartCheckoutCourseComponent extends BaseComponent {
|
|
|
44
45
|
},
|
|
45
46
|
});
|
|
46
47
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutCourseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartCheckoutCourseComponent, isStandalone: true, selector: "rolatech-cart-checkout-course", usesInheritance: true, ngImport: i0, template: "@if (course) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u8BFE\u7A0B\u4FE1\u606F</div>\n @if (course) {\n <div>\n <div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div class=\"w-1/4 aspect-video bg-[--rt-raised-background] h-fit\">\n @if (course.media) {\n <div class=\"object-cover aspect-video rounded-lg\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"course.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 }\n </div>\n <div class=\"w-3/4 ml-3 flex flex-col justify-between\">\n <span class=\"font-medium\">{{ course.name }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">\u7C7B\u578B {{ type[course.type] }}</span>\n </div>\n </div>\n <div>\u00A5{{ course.pricing[0].total | fixed }}</div>\n </div>\n @if (course.schedule) {\n <div class=\"flex justify-between py-3\">\n <span>\u5F00\u8BFE\u65E5\u671F</span>\n <span>{{ course.schedule[0].startAt }}</span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <div class=\"text-2xl font-medium mb-2\">\u7EDF\u8BA1</div>\n <div class=\"divide-y\">\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \u8BA2\u5355\u91D1\u989D </span>\n <span> \u00A5{{ course.pricing[0].total | fixed }} </span>\n </div>\n <div class=\"py-3 bottom-0 left-0 right-0 md:static\">\n <div>\n <div class=\"flex justify-between\">\n <span class=\"text-lg font-medium\">\u603B\u8BA1</span>\n <span>\u00A5{{ course.pricing[0].total | fixed }}</span>\n </div>\n <a mat-flat-button class=\"w-full min-h-11 my-6\" (click)=\"createOrder()\">\u63D0\u4EA4\u8BA2\u5355</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </rolatech-container>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: FixedPipe, name: "fixed" }], deferBlockDependencies: [() => [ThumbnailComponent]] }); }
|
|
49
50
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutCourseComponent, decorators: [{
|
|
51
52
|
type: Component,
|
|
52
|
-
args: [{ selector: 'rolatech-cart-checkout-course', standalone: true, imports: [ContainerComponent, ToolbarComponent, ThumbnailComponent, MatButtonModule], template: "@if (course) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u8BFE\u7A0B\u4FE1\u606F</div>\n @if (course) {\n <div>\n <div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div class=\"w-1/4 aspect-video bg-[--rt-raised-background] h-fit\">\n @if (course.media) {\n <div class=\"object-cover aspect-video rounded-lg\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"course.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 }\n </div>\n <div class=\"w-3/4 ml-3 flex flex-col justify-between\">\n <span class=\"font-medium\">{{ course.name }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">\u7C7B\u578B {{ type[course.type] }}</span>\n </div>\n </div>\n <div>\u00A5{{
|
|
53
|
+
args: [{ selector: 'rolatech-cart-checkout-course', standalone: true, imports: [ContainerComponent, ToolbarComponent, ThumbnailComponent, MatButtonModule, FixedPipe], template: "@if (course) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u8BFE\u7A0B\u4FE1\u606F</div>\n @if (course) {\n <div>\n <div class=\"flex justify-between py-3\">\n <div class=\"flex w-full\">\n <div class=\"w-1/4 aspect-video bg-[--rt-raised-background] h-fit\">\n @if (course.media) {\n <div class=\"object-cover aspect-video rounded-lg\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"course.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 }\n </div>\n <div class=\"w-3/4 ml-3 flex flex-col justify-between\">\n <span class=\"font-medium\">{{ course.name }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">\u7C7B\u578B {{ type[course.type] }}</span>\n </div>\n </div>\n <div>\u00A5{{ course.pricing[0].total | fixed }}</div>\n </div>\n @if (course.schedule) {\n <div class=\"flex justify-between py-3\">\n <span>\u5F00\u8BFE\u65E5\u671F</span>\n <span>{{ course.schedule[0].startAt }}</span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <div class=\"text-2xl font-medium mb-2\">\u7EDF\u8BA1</div>\n <div class=\"divide-y\">\n <div class=\"flex justify-between py-2 pb-32 md:pb-3\">\n <span> \u8BA2\u5355\u91D1\u989D </span>\n <span> \u00A5{{ course.pricing[0].total | fixed }} </span>\n </div>\n <div class=\"py-3 bottom-0 left-0 right-0 md:static\">\n <div>\n <div class=\"flex justify-between\">\n <span class=\"text-lg font-medium\">\u603B\u8BA1</span>\n <span>\u00A5{{ course.pricing[0].total | fixed }}</span>\n </div>\n <a mat-flat-button class=\"w-full min-h-11 my-6\" (click)=\"createOrder()\">\u63D0\u4EA4\u8BA2\u5355</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </rolatech-container>\n}\n" }]
|
|
53
54
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1jaGVja291dC1jb3Vyc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNhcnQvc3JjL2xpYi9wYWdlcy9jYXJ0LWNoZWNrb3V0L2NhcnQtY2hlY2tvdXQtY291cnNlL2NhcnQtY2hlY2tvdXQtY291cnNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvcGFnZXMvY2FydC1jaGVja291dC9jYXJ0LWNoZWNrb3V0LWNvdXJzZS9jYXJ0LWNoZWNrb3V0LWNvdXJzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQVUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQVNyRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQVA5RDs7UUFRRSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUxQyxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7S0E4Qm5CO0lBN0JDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6RSxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3hDLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FuQ1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0hDZnhDLDJyRkE0REEsMEREakRZLGtCQUFrQiwrREFBRSxnQkFBZ0IsK0hBQXNCLGVBQWUsdU1BQUUsU0FBUyxvREFBOUMsa0JBQWtCOzsyRkFJdkQsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgQ29udGFpbmVyQ29tcG9uZW50LCBUaHVtYm5haWxDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQ291cnNlU2VydmljZSwgQ291cnNlLCBDb3Vyc2VUeXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY291cnNlJztcbmltcG9ydCB7IE9yZGVyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBGaXhlZFBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jYXJ0LWNoZWNrb3V0LWNvdXJzZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCwgTWF0QnV0dG9uTW9kdWxlLCBGaXhlZFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FydC1jaGVja291dC1jb3Vyc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FydC1jaGVja291dC1jb3Vyc2UuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJ0Q2hlY2tvdXRDb3Vyc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY291cnNlU2VydmljZSA9IGluamVjdChDb3Vyc2VTZXJ2aWNlKTtcbiAgb3JkZXJTZXJ2aWNlID0gaW5qZWN0KE9yZGVyU2VydmljZSk7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBjb3Vyc2UhOiBDb3Vyc2U7XG4gIHR5cGUgPSBDb3Vyc2VUeXBlO1xuICBwdXJjaGFzZWQgPSBmYWxzZTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kQ291cnNlKCk7XG4gICAgdGhpcy5maW5kUHVyY2hhc2VkQnlDb3Vyc2VJZCgpO1xuICB9XG4gIGNyZWF0ZU9yZGVyKCkge1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLmNyZWF0ZSh7IHByb2R1Y3RJZDogdGhpcy5pZCwgdHlwZTogJ0NPVVJTRScgfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvb3JkZXJzLyR7cmVzLmRhdGEuaWR9YCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kQ291cnNlKCkge1xuICAgIHRoaXMuY291cnNlU2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvdXJzZSA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZShg6K6i5Y2V56Gu6K6kIC0gJHt0aGlzLmNvdXJzZS5uYW1lfWApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kUHVyY2hhc2VkQnlDb3Vyc2VJZCgpIHtcbiAgICB0aGlzLmNvdXJzZVNlcnZpY2UuZmluZFB1cmNoYXNlZEJ5Q291cnNlSWQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnB1cmNoYXNlZCA9IHJlcy5kYXRhID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChjb3Vyc2UpIHtcbiAgPHJvbGF0ZWNoLWNvbnRhaW5lcj5cbiAgICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuiuouWNleehruiupFwiIGxhcmdlPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBnYXAtMyBtdC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6dy0yLzMgbWQ6cHItMTZcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC14bFwiPuivvueoi+S/oeaBrzwvZGl2PlxuICAgICAgICAgIEBpZiAoY291cnNlKSB7XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcHktM1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMS80IGFzcGVjdC12aWRlbyBiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gaC1maXRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb3Vyc2UubWVkaWEpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyByb3VuZGVkLWxnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZGVmZXIgKG9uIHZpZXdwb3J0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbCBbc3JjXT1cImNvdXJzZS5tZWRpYVswXS51cmwgKyAnIXc0MDAnXCIgc2l6ZT1cIm1lZGl1bVwiPiA8L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTMvNCBtbC0zIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj57eyBjb3Vyc2UubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtWy0tcnQtdGV4dC1zZWNvbmRhcnldXCI+57G75Z6LIHt7IHR5cGVbY291cnNlLnR5cGVdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj7CpXt7IGNvdXJzZS5wcmljaW5nWzBdLnRvdGFsIHwgZml4ZWQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIEBpZiAoY291cnNlLnNjaGVkdWxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHB5LTNcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPuW8gOivvuaXpeacnzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGNvdXJzZS5zY2hlZHVsZVswXS5zdGFydEF0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6dy0xLzNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtMnhsIGZvbnQtbWVkaXVtIG1iLTJcIj7nu5/orqE8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZS15XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHB5LTIgcGItMzIgbWQ6cGItM1wiPlxuICAgICAgICAgICAgPHNwYW4+IOiuouWNlemHkeminSA8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj4gwqV7eyBjb3Vyc2UucHJpY2luZ1swXS50b3RhbCB8IGZpeGVkIH19IDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMyBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBtZDpzdGF0aWNcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bVwiPuaAu+iuoTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj7CpXt7IGNvdXJzZS5wcmljaW5nWzBdLnRvdGFsIHwgZml4ZWQgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YSBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LWZ1bGwgbWluLWgtMTEgbXktNlwiIChjbGljayk9XCJjcmVhdGVPcmRlcigpXCI+5o+Q5Lqk6K6i5Y2VPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtY29udGFpbmVyPlxufVxuIl19
|
package/esm2022/lib/pages/cart-checkout/cart-checkout-index/cart-checkout-index.component.mjs
CHANGED
|
@@ -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 CartCheckoutIndexComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: CartCheckoutIndexComponent, isStandalone: true, selector: "rolatech-cart-checkout-index", ngImport: i0, template: "<p>cart-checkout-index works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutIndexComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ selector: 'rolatech-cart-checkout-index', standalone: true, imports: [CommonModule], template: "<p>cart-checkout-index works!</p>\n" }]
|
|
11
11
|
}] });
|
package/esm2022/lib/pages/cart-checkout/cart-checkout-product/cart-checkout-product.component.mjs
CHANGED
|
@@ -8,7 +8,15 @@ import { CartCheckoutSummaryComponent } from '../../../components/cart-checkout-
|
|
|
8
8
|
import { CartCheckoutItemComponent } from '../../../components/cart-checkout-item/cart-checkout-item.component';
|
|
9
9
|
import { CartCheckoutActionComponent } from '../../../components/cart-checkout-action/cart-checkout-action.component';
|
|
10
10
|
import { CartService, ProductService } from '@rolatech/angular-services';
|
|
11
|
+
import { TextFieldModule } from '@angular/cdk/text-field';
|
|
12
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
13
|
+
import { MatInputModule } from '@angular/material/input';
|
|
14
|
+
import { FormsModule } from '@angular/forms';
|
|
11
15
|
import * as i0 from "@angular/core";
|
|
16
|
+
import * as i1 from "@angular/forms";
|
|
17
|
+
import * as i2 from "@angular/material/form-field";
|
|
18
|
+
import * as i3 from "@angular/material/input";
|
|
19
|
+
import * as i4 from "@angular/cdk/text-field";
|
|
12
20
|
export class CartCheckoutProductComponent extends BaseComponent {
|
|
13
21
|
constructor() {
|
|
14
22
|
super(...arguments);
|
|
@@ -18,12 +26,13 @@ export class CartCheckoutProductComponent extends BaseComponent {
|
|
|
18
26
|
this.authUserService = inject(AuthUserService);
|
|
19
27
|
this.type = ProductType;
|
|
20
28
|
this.quantity = 1;
|
|
29
|
+
this.note = '';
|
|
21
30
|
}
|
|
22
31
|
ngOnInit() {
|
|
23
32
|
this.getProduct();
|
|
24
33
|
}
|
|
25
34
|
createOrder() {
|
|
26
|
-
this.orderService.create({ type: 'PRODUCT', productId: this.id }).subscribe({
|
|
35
|
+
this.orderService.create({ type: 'PRODUCT', productId: this.id, note: this.note }).subscribe({
|
|
27
36
|
next: (res) => {
|
|
28
37
|
this.router.navigateByUrl(`/orders/${res.data.id}`);
|
|
29
38
|
},
|
|
@@ -40,10 +49,10 @@ export class CartCheckoutProductComponent extends BaseComponent {
|
|
|
40
49
|
},
|
|
41
50
|
});
|
|
42
51
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutProductComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartCheckoutProductComponent, isStandalone: true, selector: "rolatech-cart-checkout-product", usesInheritance: true, ngImport: i0, template: "@if (product) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u5546\u54C1\u4FE1\u606F</div>\n <rolatech-cart-checkout-item\n [name]=\"product.name\"\n [description]=\"product.description\"\n [thumbnail]=\"product.media[0].url + '!w200'\"\n [price]=\"product.price\"\n [(quantity)]=\"quantity\"\n ></rolatech-cart-checkout-item>\n </div>\n <div>\n <div class=\"text-md\">\u5907\u6CE8</div>\n <mat-form-field appearance=\"fill\">\n <textarea matInput type=\"text\" [(ngModel)]=\"note\" cdkTextareaAutosize cdkAutosizeMinRows=\"3\"></textarea>\n </mat-form-field>\n </div>\n </div>\n <div class=\"md:w-1/3\">\n @if (product.priceType && product.priceType.toString() === 'PARTIAL') {\n <rolatech-cart-checkout-summary [total]=\"product.price\" [deposit]=\"product.deposit\"></rolatech-cart-checkout-summary>\n } @else {\n <rolatech-cart-checkout-summary [total]=\"product.price\"></rolatech-cart-checkout-summary>\n }\n <rolatech-cart-checkout-action\n (create)=\"createOrder()\"\n [title]=\"product.priceType && product.priceType.toString() === 'FIXED' ? '\u63D0\u4EA4\u8BA2\u5355' : '\u63D0\u4EA4\u8BA2\u5355'\"\n ></rolatech-cart-checkout-action>\n </div>\n </div>\n </rolatech-container>\n}\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: CartCheckoutSummaryComponent, selector: "rolatech-cart-checkout-summary", inputs: ["deposit", "total"] }, { kind: "component", type: CartCheckoutItemComponent, selector: "rolatech-cart-checkout-item", inputs: ["thumbnail", "name", "description", "quantity", "price", "max"], outputs: ["quantityChange", "add", "remove", "delete"] }, { kind: "component", type: CartCheckoutActionComponent, selector: "rolatech-cart-checkout-action", inputs: ["title"], outputs: ["create"] }, { kind: "ngmodule", type: FormsModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { 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"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
45
54
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutProductComponent, decorators: [{
|
|
47
56
|
type: Component,
|
|
48
57
|
args: [{ selector: 'rolatech-cart-checkout-product', standalone: true, imports: [
|
|
49
58
|
ContainerComponent,
|
|
@@ -53,6 +62,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
53
62
|
CartCheckoutSummaryComponent,
|
|
54
63
|
CartCheckoutItemComponent,
|
|
55
64
|
CartCheckoutActionComponent,
|
|
56
|
-
|
|
65
|
+
FormsModule,
|
|
66
|
+
MatFormFieldModule,
|
|
67
|
+
MatInputModule,
|
|
68
|
+
TextFieldModule,
|
|
69
|
+
], encapsulation: ViewEncapsulation.None, template: "@if (product) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u5546\u54C1\u4FE1\u606F</div>\n <rolatech-cart-checkout-item\n [name]=\"product.name\"\n [description]=\"product.description\"\n [thumbnail]=\"product.media[0].url + '!w200'\"\n [price]=\"product.price\"\n [(quantity)]=\"quantity\"\n ></rolatech-cart-checkout-item>\n </div>\n <div>\n <div class=\"text-md\">\u5907\u6CE8</div>\n <mat-form-field appearance=\"fill\">\n <textarea matInput type=\"text\" [(ngModel)]=\"note\" cdkTextareaAutosize cdkAutosizeMinRows=\"3\"></textarea>\n </mat-form-field>\n </div>\n </div>\n <div class=\"md:w-1/3\">\n @if (product.priceType && product.priceType.toString() === 'PARTIAL') {\n <rolatech-cart-checkout-summary [total]=\"product.price\" [deposit]=\"product.deposit\"></rolatech-cart-checkout-summary>\n } @else {\n <rolatech-cart-checkout-summary [total]=\"product.price\"></rolatech-cart-checkout-summary>\n }\n <rolatech-cart-checkout-action\n (create)=\"createOrder()\"\n [title]=\"product.priceType && product.priceType.toString() === 'FIXED' ? '\u63D0\u4EA4\u8BA2\u5355' : '\u63D0\u4EA4\u8BA2\u5355'\"\n ></rolatech-cart-checkout-action>\n </div>\n </div>\n </rolatech-container>\n}\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
57
70
|
}] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1jaGVja291dC1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvcGFnZXMvY2FydC1jaGVja291dC9jYXJ0LWNoZWNrb3V0LXByb2R1Y3QvY2FydC1jaGVja291dC1wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvcGFnZXMvY2FydC1jaGVja291dC9jYXJ0LWNoZWNrb3V0LXByb2R1Y3QvY2FydC1jaGVja291dC1wcm9kdWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBVyxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDekgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDaEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDdEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBc0I3QyxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsYUFBYTtJQXBCL0Q7O1FBcUJFLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFDLFNBQUksR0FBRyxXQUFXLENBQUM7UUFDbkIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLFNBQUksR0FBRyxFQUFFLENBQUM7S0FzQlg7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNGLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBN0JVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLGlIQ25DekMsbW5EQW9DQSxzRkRqQkksa0JBQWtCLCtEQUNsQixnQkFBZ0IsK0hBRWhCLGVBQWUsK0JBQ2YsNEJBQTRCLHlHQUM1Qix5QkFBeUIsME1BQ3pCLDJCQUEyQixpSEFDM0IsV0FBVyw4bUJBQ1gsa0JBQWtCLHlPQUNsQixjQUFjLHlrQkFDZCxlQUFlOzsyRkFNTiw0QkFBNEI7a0JBcEJ4QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZiw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIENvbnRhaW5lckNvbXBvbmVudCwgVGh1bWJuYWlsQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0VHlwZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXByb2R1Y3QnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FydENoZWNrb3V0U3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY2FydC1jaGVja291dC1zdW1tYXJ5L2NhcnQtY2hlY2tvdXQtc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydENoZWNrb3V0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY2FydC1jaGVja291dC1pdGVtL2NhcnQtY2hlY2tvdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydENoZWNrb3V0QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jYXJ0LWNoZWNrb3V0LWFjdGlvbi9jYXJ0LWNoZWNrb3V0LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UsIFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jYXJ0LWNoZWNrb3V0LXByb2R1Y3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBDYXJ0Q2hlY2tvdXRTdW1tYXJ5Q29tcG9uZW50LFxuICAgIENhcnRDaGVja291dEl0ZW1Db21wb25lbnQsXG4gICAgQ2FydENoZWNrb3V0QWN0aW9uQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJ0LWNoZWNrb3V0LXByb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FydC1jaGVja291dC1wcm9kdWN0LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydENoZWNrb3V0UHJvZHVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIGNhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcbiAgb3JkZXJTZXJ2aWNlID0gaW5qZWN0KE9yZGVyU2VydmljZSk7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgdHlwZSA9IFByb2R1Y3RUeXBlO1xuICBxdWFudGl0eSA9IDE7XG4gIG5vdGUgPSAnJztcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRQcm9kdWN0KCk7XG4gIH1cbiAgY3JlYXRlT3JkZXIoKSB7XG4gICAgdGhpcy5vcmRlclNlcnZpY2UuY3JlYXRlKHsgdHlwZTogJ1BST0RVQ1QnLCBwcm9kdWN0SWQ6IHRoaXMuaWQsIG5vdGU6IHRoaXMubm90ZSB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9vcmRlcnMvJHtyZXMuZGF0YS5pZH1gKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGdldFByb2R1Y3QoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYOiuouWNleehruiupCAtICR7dGhpcy5wcm9kdWN0Lm5hbWV9YCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCJAaWYgKHByb2R1Y3QpIHtcbiAgPHJvbGF0ZWNoLWNvbnRhaW5lcj5cbiAgICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuiuouWNleehruiupFwiIGxhcmdlPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBnYXAtMyBtdC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6dy0yLzMgbWQ6cHItMTZcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC14bFwiPuWVhuWTgeS/oeaBrzwvZGl2PlxuICAgICAgICAgIDxyb2xhdGVjaC1jYXJ0LWNoZWNrb3V0LWl0ZW1cbiAgICAgICAgICAgIFtuYW1lXT1cInByb2R1Y3QubmFtZVwiXG4gICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwicHJvZHVjdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbdGh1bWJuYWlsXT1cInByb2R1Y3QubWVkaWFbMF0udXJsICsgJyF3MjAwJ1wiXG4gICAgICAgICAgICBbcHJpY2VdPVwicHJvZHVjdC5wcmljZVwiXG4gICAgICAgICAgICBbKHF1YW50aXR5KV09XCJxdWFudGl0eVwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtY2FydC1jaGVja291dC1pdGVtPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZFwiPuWkh+azqDwvZGl2PlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJub3RlXCIgY2RrVGV4dGFyZWFBdXRvc2l6ZSBjZGtBdXRvc2l6ZU1pblJvd3M9XCIzXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1kOnctMS8zXCI+XG4gICAgICAgIEBpZiAocHJvZHVjdC5wcmljZVR5cGUgJiYgcHJvZHVjdC5wcmljZVR5cGUudG9TdHJpbmcoKSA9PT0gJ1BBUlRJQUwnKSB7XG4gICAgICAgICAgPHJvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtc3VtbWFyeSBbdG90YWxdPVwicHJvZHVjdC5wcmljZVwiIFtkZXBvc2l0XT1cInByb2R1Y3QuZGVwb3NpdFwiPjwvcm9sYXRlY2gtY2FydC1jaGVja291dC1zdW1tYXJ5PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8cm9sYXRlY2gtY2FydC1jaGVja291dC1zdW1tYXJ5IFt0b3RhbF09XCJwcm9kdWN0LnByaWNlXCI+PC9yb2xhdGVjaC1jYXJ0LWNoZWNrb3V0LXN1bW1hcnk+XG4gICAgICAgIH1cbiAgICAgICAgPHJvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtYWN0aW9uXG4gICAgICAgICAgKGNyZWF0ZSk9XCJjcmVhdGVPcmRlcigpXCJcbiAgICAgICAgICBbdGl0bGVdPVwicHJvZHVjdC5wcmljZVR5cGUgJiYgcHJvZHVjdC5wcmljZVR5cGUudG9TdHJpbmcoKSA9PT0gJ0ZJWEVEJyA/ICfmj5DkuqTorqLljZUnIDogJ+aPkOS6pOiuouWNlSdcIlxuICAgICAgICA+PC9yb2xhdGVjaC1jYXJ0LWNoZWNrb3V0LWFjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3JvbGF0ZWNoLWNvbnRhaW5lcj5cbn1cbiJdfQ==
|
package/esm2022/lib/pages/cart-checkout/cart-checkout-variant/cart-checkout-variant.component.mjs
CHANGED
|
@@ -40,10 +40,10 @@ export class CartCheckoutVariantComponent extends BaseComponent {
|
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutVariantComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: CartCheckoutVariantComponent, isStandalone: true, selector: "rolatech-cart-checkout-variant", usesInheritance: true, ngImport: i0, template: "@if (variant) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u5546\u54C1\u4FE1\u606F</div>\n <rolatech-cart-checkout-item\n [name]=\"variant.title ? variant.title : product.name\"\n [description]=\"variant.options | options\"\n [thumbnail]=\"variant.media ? variant.media[0].url + '!w200' : product.media[0].url + '!w200'\"\n [price]=\"variant.price\"\n [(quantity)]=\"quantity\"\n [max]=\"3\"\n ></rolatech-cart-checkout-item>\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <rolatech-cart-checkout-summary\n [total]=\"variant.price * quantity\"\n [deposit]=\"product.deposit\"\n ></rolatech-cart-checkout-summary>\n <rolatech-cart-checkout-action (create)=\"createOrder()\"></rolatech-cart-checkout-action>\n </div>\n </div>\n </rolatech-container>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: CartCheckoutSummaryComponent, selector: "rolatech-cart-checkout-summary", inputs: ["deposit", "total"] }, { kind: "component", type: CartCheckoutItemComponent, selector: "rolatech-cart-checkout-item", inputs: ["thumbnail", "name", "description", "quantity", "price", "max"], outputs: ["quantityChange", "add", "remove", "delete"] }, { kind: "component", type: CartCheckoutActionComponent, selector: "rolatech-cart-checkout-action", inputs: ["title"], outputs: ["create"] }, { kind: "pipe", type: OptionsFormatPipe, name: "options" }] }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CartCheckoutVariantComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{ selector: 'rolatech-cart-checkout-variant', standalone: true, imports: [
|
|
49
49
|
ContainerComponent,
|
|
@@ -54,6 +54,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
54
54
|
CartCheckoutItemComponent,
|
|
55
55
|
CartCheckoutActionComponent,
|
|
56
56
|
OptionsFormatPipe,
|
|
57
|
-
], template: "@if (variant) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u5546\u54C1\u4FE1\u606F</div>\n <rolatech-cart-checkout-item\n [name]=\"variant.title ? variant.title : product.name\"\n [description]=\"variant.options | options\"\n [thumbnail]=\"variant.media ? variant.media[0].url + '!w200' : product.media[0].url + '!w200'\"\n [price]=\"variant.price\"\n [(quantity)]=\"quantity\"\n [max]=\"3\"\n ></rolatech-cart-checkout-item>\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <rolatech-cart-checkout-summary
|
|
57
|
+
], template: "@if (variant) {\n <rolatech-container>\n <rolatech-toolbar title=\"\u8BA2\u5355\u786E\u8BA4\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div class=\"flex flex-col\">\n <div class=\"text-xl\">\u5546\u54C1\u4FE1\u606F</div>\n <rolatech-cart-checkout-item\n [name]=\"variant.title ? variant.title : product.name\"\n [description]=\"variant.options | options\"\n [thumbnail]=\"variant.media ? variant.media[0].url + '!w200' : product.media[0].url + '!w200'\"\n [price]=\"variant.price\"\n [(quantity)]=\"quantity\"\n [max]=\"3\"\n ></rolatech-cart-checkout-item>\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <rolatech-cart-checkout-summary\n [total]=\"variant.price * quantity\"\n [deposit]=\"product.deposit\"\n ></rolatech-cart-checkout-summary>\n <rolatech-cart-checkout-action (create)=\"createOrder()\"></rolatech-cart-checkout-action>\n </div>\n </div>\n </rolatech-container>\n}\n" }]
|
|
58
58
|
}], ctorParameters: () => [] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1jaGVja291dC12YXJpYW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvcGFnZXMvY2FydC1jaGVja291dC9jYXJ0LWNoZWNrb3V0LXZhcmlhbnQvY2FydC1jaGVja291dC12YXJpYW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jYXJ0L3NyYy9saWIvcGFnZXMvY2FydC1jaGVja291dC9jYXJ0LWNoZWNrb3V0LXZhcmlhbnQvY2FydC1jaGVja291dC12YXJpYW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXdCLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBRXpILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWtCekUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGFBQWE7SUFRN0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVJWLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBR2xDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBR1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xGLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxDVSw0QkFBNEI7a0dBQTVCLDRCQUE0QixpSEMzQnpDLHFuQ0EyQkEsMEREWkksa0JBQWtCLCtEQUNsQixnQkFBZ0IsK0hBRWhCLGVBQWUsK0JBQ2YsNEJBQTRCLHlHQUM1Qix5QkFBeUIsME1BQ3pCLDJCQUEyQiw2R0FDM0IsaUJBQWlCOzsyRkFLUiw0QkFBNEI7a0JBaEJ4QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZiw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixpQkFBaUI7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCwgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ2FydENoZWNrb3V0QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jYXJ0LWNoZWNrb3V0LWFjdGlvbi9jYXJ0LWNoZWNrb3V0LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydENoZWNrb3V0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY2FydC1jaGVja291dC1pdGVtL2NhcnQtY2hlY2tvdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydENoZWNrb3V0U3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY2FydC1jaGVja291dC1zdW1tYXJ5L2NhcnQtY2hlY2tvdXQtc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdCwgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1wcm9kdWN0JztcbmltcG9ydCB7IE9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IE9yZGVyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlLCBDYXJ0U2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY2FydC1jaGVja291dC12YXJpYW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgQ2FydENoZWNrb3V0U3VtbWFyeUNvbXBvbmVudCxcbiAgICBDYXJ0Q2hlY2tvdXRJdGVtQ29tcG9uZW50LFxuICAgIENhcnRDaGVja291dEFjdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcnQtY2hlY2tvdXQtdmFyaWFudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jYXJ0LWNoZWNrb3V0LXZhcmlhbnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJ0Q2hlY2tvdXRWYXJpYW50Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgb3JkZXJTZXJ2aWNlID0gaW5qZWN0KE9yZGVyU2VydmljZSk7XG4gIGNhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcbiAgcHJvZHVjdCE6IFByb2R1Y3Q7XG4gIHZhcmlhbnQhOiBQcm9kdWN0VmFyaWFudDtcbiAgdmFyaWFudElkID0gJyc7XG4gIHF1YW50aXR5ID0gMTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnZhcmlhbnRJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zWyd2YXJpYW50LWlkJ107XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldFByb2R1Y3QoKTtcbiAgfVxuICBnZXRQcm9kdWN0KCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZ2V0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMudmFyaWFudCA9IHJlcy5kYXRhLnZhcmlhbnRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHRoaXMudmFyaWFudElkKTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYOiuouWNleehruiupCAtICR7dGhpcy5wcm9kdWN0Lm5hbWV9YCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGNyZWF0ZU9yZGVyKCkge1xuICAgIHRoaXMub3JkZXJTZXJ2aWNlLmNyZWF0ZSh7IHR5cGU6ICdQUk9EVUNUJywgdmFyaWFudElkOiB0aGlzLnZhcmlhbnQuaWQgfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvb3JkZXJzLyR7cmVzLmRhdGEuaWR9YCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmICh2YXJpYW50KSB7XG4gIDxyb2xhdGVjaC1jb250YWluZXI+XG4gICAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLorqLljZXnoa7orqRcIiBsYXJnZT48L3JvbGF0ZWNoLXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgZ2FwLTMgbXQtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1kOnctMi8zIG1kOnByLTE2XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQteGxcIj7llYblk4Hkv6Hmga88L2Rpdj5cbiAgICAgICAgICA8cm9sYXRlY2gtY2FydC1jaGVja291dC1pdGVtXG4gICAgICAgICAgICBbbmFtZV09XCJ2YXJpYW50LnRpdGxlID8gdmFyaWFudC50aXRsZSA6IHByb2R1Y3QubmFtZVwiXG4gICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwidmFyaWFudC5vcHRpb25zIHwgb3B0aW9uc1wiXG4gICAgICAgICAgICBbdGh1bWJuYWlsXT1cInZhcmlhbnQubWVkaWEgPyB2YXJpYW50Lm1lZGlhWzBdLnVybCArICchdzIwMCcgOiBwcm9kdWN0Lm1lZGlhWzBdLnVybCArICchdzIwMCdcIlxuICAgICAgICAgICAgW3ByaWNlXT1cInZhcmlhbnQucHJpY2VcIlxuICAgICAgICAgICAgWyhxdWFudGl0eSldPVwicXVhbnRpdHlcIlxuICAgICAgICAgICAgW21heF09XCIzXCJcbiAgICAgICAgICA+PC9yb2xhdGVjaC1jYXJ0LWNoZWNrb3V0LWl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6dy0xLzNcIj5cbiAgICAgICAgPHJvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtc3VtbWFyeVxuICAgICAgICAgIFt0b3RhbF09XCJ2YXJpYW50LnByaWNlICogcXVhbnRpdHlcIlxuICAgICAgICAgIFtkZXBvc2l0XT1cInByb2R1Y3QuZGVwb3NpdFwiXG4gICAgICAgID48L3JvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtc3VtbWFyeT5cbiAgICAgICAgPHJvbGF0ZWNoLWNhcnQtY2hlY2tvdXQtYWN0aW9uIChjcmVhdGUpPVwiY3JlYXRlT3JkZXIoKVwiPjwvcm9sYXRlY2gtY2FydC1jaGVja291dC1hY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG4iXX0=
|