@rolatech/angular-membership 20.1.6-beta.9 → 20.1.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.
|
@@ -25,10 +25,10 @@ import * as i6 from '@angular/material/checkbox';
|
|
|
25
25
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
26
26
|
|
|
27
27
|
class MembershipIndex {
|
|
28
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipIndex, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: MembershipIndex, isStandalone: true, selector: "rolatech-membership-index", ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u4F1A\u5458\" large> </rolatech-toolbar>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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 }] });
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipIndex, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{ selector: 'rolatech-membership-index', imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u4F1A\u5458\" large> </rolatech-toolbar>\n</rolatech-container>\n" }]
|
|
34
34
|
}] });
|
|
@@ -56,10 +56,10 @@ class MembershipPlan extends BaseComponent {
|
|
|
56
56
|
this.snackBarService.open('Please sign in');
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipPlan, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipPlan, isStandalone: true, selector: "rolatech-membership-plan", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u5F00\u901A\u4F1A\u5458\" large> </rolatech-toolbar>\n <div class=\"text-3xl font-bold py-3 text-center\" i18n>Select a plan.</div>\n <div class=\"flex justify-center items-start gap-3\">\n @for (item of plans; track $index) {\n <div class=\"border border-dark-50 rounded-md p-3\">\n <div class=\"mb-3\">\n <div class=\"text-xl font-bold\">{{item.name}}</div>\n <div>{{item.description}}</div>\n <div>{{item.price}}</div>\n </div>\n <div>{{item.id}}</div>\n <div class=\"p-3\">\n <button mat-flat-button (click)=\"checkout(item)\">Select this plan</button>\n </div>\n <div>\n @for (benefit of item.benefits; track $index) {\n <div>{{benefit.title}}</div>\n }\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] });
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipPlan, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ selector: 'rolatech-membership-plan', imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u5F00\u901A\u4F1A\u5458\" large> </rolatech-toolbar>\n <div class=\"text-3xl font-bold py-3 text-center\" i18n>Select a plan.</div>\n <div class=\"flex justify-center items-start gap-3\">\n @for (item of plans; track $index) {\n <div class=\"border border-dark-50 rounded-md p-3\">\n <div class=\"mb-3\">\n <div class=\"text-xl font-bold\">{{item.name}}</div>\n <div>{{item.description}}</div>\n <div>{{item.price}}</div>\n </div>\n <div>{{item.id}}</div>\n <div class=\"p-3\">\n <button mat-flat-button (click)=\"checkout(item)\">Select this plan</button>\n </div>\n <div>\n @for (benefit of item.benefits; track $index) {\n <div>{{benefit.title}}</div>\n }\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n" }]
|
|
65
65
|
}] });
|
|
@@ -77,10 +77,10 @@ const membershipRoutes = [
|
|
|
77
77
|
|
|
78
78
|
class MembershipItemComponent {
|
|
79
79
|
membership = input.required(...(ngDevMode ? [{ debugName: "membership" }] : []));
|
|
80
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: MembershipItemComponent, isStandalone: true, selector: "rolatech-membership-item", inputs: { membership: { classPropertyName: "membership", publicName: "membership", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ membership().id }}</div>\n <div>{{ membership().plan.name }}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipItemComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ selector: 'rolatech-membership-item', imports: [CommonModule], template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ membership().id }}</div>\n <div>{{ membership().plan.name }}</div>\n</div>\n" }]
|
|
86
86
|
}], propDecorators: { membership: [{ type: i0.Input, args: [{ isSignal: true, alias: "membership", required: true }] }] } });
|
|
@@ -98,20 +98,20 @@ class MembershipManageIndexComponent {
|
|
|
98
98
|
},
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipManageIndexComponent, isStandalone: true, selector: "rolatech-membership-manage-index", ngImport: i0, template: "<rolatech-toolbar title=\"Membership\"> </rolatech-toolbar>\n<div class=\"p-3\">\n @if (data && data.length > 0) {\n @for (item of data; track $index) {\n <rolatech-membership-item [membership]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MembershipItemComponent, selector: "rolatech-membership-item", inputs: ["membership"] }, { kind: "component", type: EmptyComponent, selector: "rolatech-empty" }] });
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageIndexComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ selector: 'rolatech-membership-manage-index', imports: [CommonModule, ToolbarComponent, MatButtonModule, RouterLink, MembershipItemComponent, EmptyComponent], template: "<rolatech-toolbar title=\"Membership\"> </rolatech-toolbar>\n<div class=\"p-3\">\n @if (data && data.length > 0) {\n @for (item of data; track $index) {\n <rolatech-membership-item [membership]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n</div>\n" }]
|
|
107
107
|
}] });
|
|
108
108
|
|
|
109
109
|
class MembershipPlanItemComponent {
|
|
110
110
|
plan = input.required(...(ngDevMode ? [{ debugName: "plan" }] : []));
|
|
111
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
112
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
111
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipPlanItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: MembershipPlanItemComponent, isStandalone: true, selector: "rolatech-membership-plan-item", inputs: { plan: { classPropertyName: "plan", publicName: "plan", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex flex-col\">\n <div>{{ plan().name }}</div>\n <div>{{ plan().description }}</div>\n </div>\n <div>\u00A5{{ plan().price | fixed }}</div>\n</div>\n<hr />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: FixedPipe, name: "fixed" }] });
|
|
113
113
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipPlanItemComponent, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
116
|
args: [{ selector: 'rolatech-membership-plan-item', imports: [CommonModule, FixedPipe], template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex flex-col\">\n <div>{{ plan().name }}</div>\n <div>{{ plan().description }}</div>\n </div>\n <div>\u00A5{{ plan().price | fixed }}</div>\n</div>\n<hr />\n" }]
|
|
117
117
|
}], propDecorators: { plan: [{ type: i0.Input, args: [{ isSignal: true, alias: "plan", required: true }] }] } });
|
|
@@ -129,10 +129,10 @@ class MembershipManagePlanIndexComponent {
|
|
|
129
129
|
},
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
133
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManagePlanIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipManagePlanIndexComponent, isStandalone: true, selector: "rolatech-membership-manage-plan-index", ngImport: i0, template: "<rolatech-toolbar title=\"Membership plans\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Create Plan</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Name</div>\n <div i18n>Price</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-plan-item [plan]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-plan-item>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: MembershipPlanItemComponent, selector: "rolatech-membership-plan-item", inputs: ["plan"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
134
134
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManagePlanIndexComponent, decorators: [{
|
|
136
136
|
type: Component,
|
|
137
137
|
args: [{ selector: 'rolatech-membership-manage-plan-index', imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipPlanItemComponent, RouterLink], template: "<rolatech-toolbar title=\"Membership plans\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Create Plan</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Name</div>\n <div i18n>Price</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-plan-item [plan]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-plan-item>\n }\n</div>\n" }]
|
|
138
138
|
}] });
|
|
@@ -181,10 +181,10 @@ class MembershipManagePlanCreateComponent {
|
|
|
181
181
|
this.selected.splice(index, 1);
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
185
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManagePlanCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipManagePlanCreateComponent, isStandalone: true, selector: "rolatech-membership-manage-plan-create", ngImport: i0, template: "<rolatech-toolbar title=\"Create Plan\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits; track $index) {\n <mat-checkbox (change)=\"toggleValue(item, $event.checked)\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n </form>\n </section>\n <div class=\"py-2\" i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "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", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] });
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManagePlanCreateComponent, decorators: [{
|
|
188
188
|
type: Component,
|
|
189
189
|
args: [{ selector: 'rolatech-membership-manage-plan-create', imports: [
|
|
190
190
|
CommonModule,
|
|
@@ -237,10 +237,10 @@ class MembershipPlanAddComponent {
|
|
|
237
237
|
};
|
|
238
238
|
this.output.emit(data);
|
|
239
239
|
}
|
|
240
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
241
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
240
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipPlanAddComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
241
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipPlanAddComponent, isStandalone: true, selector: "rolatech-membership-plan-add", inputs: { plan: { classPropertyName: "plan", publicName: "plan", isSignal: true, isRequired: true, transformFunction: null }, benefits: { classPropertyName: "benefits", publicName: "benefits", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { plan: "planChange", benefits: "benefitsChange", output: "output", select: "select" }, ngImport: i0, template: "<form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan().description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits(); track $index) {\n <mat-checkbox [checked]=\"selected.includes(item.id)\" (change)=\"onSelect(item, $event.checked)\" [checked]=\"\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "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", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] });
|
|
242
242
|
}
|
|
243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipPlanAddComponent, decorators: [{
|
|
244
244
|
type: Component,
|
|
245
245
|
args: [{ selector: 'rolatech-membership-plan-add', imports: [
|
|
246
246
|
FormsModule,
|
|
@@ -293,20 +293,20 @@ class MembershipManagePlanDetailComponent extends BaseComponent {
|
|
|
293
293
|
next: (res) => { },
|
|
294
294
|
});
|
|
295
295
|
}
|
|
296
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
297
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
296
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManagePlanDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
297
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipManagePlanDetailComponent, isStandalone: true, selector: "rolatech-membership-manage-plan-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Plan detail\" back>\n <button mat-flat-button (click)=\"update()\">\n <mat-icon>save</mat-icon>\n <span i18n>Save</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n @if (plan) {\n <rolatech-membership-plan-add [plan]=\"plan\" [benefits]=\"benefits\"></rolatech-membership-plan-add>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MembershipPlanAddComponent, selector: "rolatech-membership-plan-add", inputs: ["plan", "benefits"], outputs: ["planChange", "benefitsChange", "output", "select"] }] });
|
|
298
298
|
}
|
|
299
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
299
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManagePlanDetailComponent, decorators: [{
|
|
300
300
|
type: Component,
|
|
301
301
|
args: [{ selector: 'rolatech-membership-manage-plan-detail', imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIconModule, MembershipPlanAddComponent], template: "<rolatech-toolbar title=\"Plan detail\" back>\n <button mat-flat-button (click)=\"update()\">\n <mat-icon>save</mat-icon>\n <span i18n>Save</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n @if (plan) {\n <rolatech-membership-plan-add [plan]=\"plan\" [benefits]=\"benefits\"></rolatech-membership-plan-add>\n }\n</div>\n" }]
|
|
302
302
|
}] });
|
|
303
303
|
|
|
304
304
|
class MembershipBenefitItemComponent {
|
|
305
305
|
benefit = input.required(...(ngDevMode ? [{ debugName: "benefit" }] : []));
|
|
306
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
307
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
306
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipBenefitItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
307
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: MembershipBenefitItemComponent, isStandalone: true, selector: "rolatech-membership-benefit-item", inputs: { benefit: { classPropertyName: "benefit", publicName: "benefit", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ benefit().title }}</div>\n <div>{{ benefit().description }}</div>\n</div>\n<hr />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
308
308
|
}
|
|
309
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipBenefitItemComponent, decorators: [{
|
|
310
310
|
type: Component,
|
|
311
311
|
args: [{ selector: 'rolatech-membership-benefit-item', imports: [CommonModule], template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ benefit().title }}</div>\n <div>{{ benefit().description }}</div>\n</div>\n<hr />\n" }]
|
|
312
312
|
}], propDecorators: { benefit: [{ type: i0.Input, args: [{ isSignal: true, alias: "benefit", required: true }] }] } });
|
|
@@ -324,10 +324,10 @@ class MembershipManageBenefitIndexComponent {
|
|
|
324
324
|
},
|
|
325
325
|
});
|
|
326
326
|
}
|
|
327
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
328
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
327
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageBenefitIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
328
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: MembershipManageBenefitIndexComponent, isStandalone: true, selector: "rolatech-membership-manage-benefit-index", ngImport: i0, template: "<rolatech-toolbar title=\"Membership benefits\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Add benefit</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Title</div>\n <div i18n>Description</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-benefit-item [benefit]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-benefit-item>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: MembershipBenefitItemComponent, selector: "rolatech-membership-benefit-item", inputs: ["benefit"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
329
329
|
}
|
|
330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageBenefitIndexComponent, decorators: [{
|
|
331
331
|
type: Component,
|
|
332
332
|
args: [{ selector: 'rolatech-membership-manage-benefit-index', imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipBenefitItemComponent, RouterLink], template: "<rolatech-toolbar title=\"Membership benefits\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Add benefit</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Title</div>\n <div i18n>Description</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-benefit-item [benefit]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-benefit-item>\n }\n</div>\n" }]
|
|
333
333
|
}] });
|
|
@@ -353,10 +353,10 @@ class MembershipManageBenefitCreateComponent {
|
|
|
353
353
|
},
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
357
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
356
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageBenefitCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
357
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: MembershipManageBenefitCreateComponent, isStandalone: true, selector: "rolatech-membership-manage-benefit-create", ngImport: i0, template: "<rolatech-toolbar title=\"Add Benefit\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Title </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"benefit.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Sort order </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.sortOrder\" name=\"sortOrder\" required />\n </mat-form-field>\n </div>\n </form>\n </section>\n <div i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "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", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] });
|
|
358
358
|
}
|
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageBenefitCreateComponent, decorators: [{
|
|
360
360
|
type: Component,
|
|
361
361
|
args: [{ selector: 'rolatech-membership-manage-benefit-create', imports: [
|
|
362
362
|
CommonModule,
|
|
@@ -372,10 +372,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
372
372
|
}] });
|
|
373
373
|
|
|
374
374
|
class MembershipManageBenefitDetailComponent {
|
|
375
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
376
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
375
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageBenefitDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
376
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: MembershipManageBenefitDetailComponent, isStandalone: true, selector: "rolatech-membership-manage-benefit-detail", ngImport: i0, template: "<p>membership-manage-benefit-detail works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
377
377
|
}
|
|
378
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: MembershipManageBenefitDetailComponent, decorators: [{
|
|
379
379
|
type: Component,
|
|
380
380
|
args: [{ selector: 'rolatech-membership-manage-benefit-detail', imports: [CommonModule], template: "<p>membership-manage-benefit-detail works!</p>\n" }]
|
|
381
381
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-membership.mjs","sources":["../../../../packages/angular-membership/src/lib/pages/membership/membership-index/membership-index.ts","../../../../packages/angular-membership/src/lib/pages/membership/membership-index/membership-index.html","../../../../packages/angular-membership/src/lib/pages/membership/membership-plan/membership-plan.ts","../../../../packages/angular-membership/src/lib/pages/membership/membership-plan/membership-plan.html","../../../../packages/angular-membership/src/lib/pages/membership/membership.routes.ts","../../../../packages/angular-membership/src/lib/components/membership-item/membership-item.component.ts","../../../../packages/angular-membership/src/lib/components/membership-item/membership-item.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-index/membership-manage-index.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-index/membership-manage-index.component.html","../../../../packages/angular-membership/src/lib/components/membership-plan-item/membership-plan-item.component.ts","../../../../packages/angular-membership/src/lib/components/membership-plan-item/membership-plan-item.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-index/membership-manage-plan-index.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-index/membership-manage-plan-index.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-create/membership-manage-plan-create.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-create/membership-manage-plan-create.component.html","../../../../packages/angular-membership/src/lib/components/membership-plan-add/membership-plan-add.component.ts","../../../../packages/angular-membership/src/lib/components/membership-plan-add/membership-plan-add.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-detail/membership-manage-plan-detail.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-detail/membership-manage-plan-detail.component.html","../../../../packages/angular-membership/src/lib/components/membership-benefit-item/membership-benefit-item.component.ts","../../../../packages/angular-membership/src/lib/components/membership-benefit-item/membership-benefit-item.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-index/membership-manage-benefit-index.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-index/membership-manage-benefit-index.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-create/membership-manage-benefit-create.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-create/membership-manage-benefit-create.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-detail/membership-manage-benefit-detail.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-detail/membership-manage-benefit-detail.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage.routes.ts","../../../../packages/angular-membership/src/rolatech-angular-membership.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-membership-index',\n imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule],\n templateUrl: './membership-index.html',\n styleUrl: './membership-index.scss',\n})\nexport class MembershipIndex {}\n","<rolatech-container>\n <rolatech-toolbar title=\"我的会员\" large> </rolatech-toolbar>\n</rolatech-container>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseComponent, ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { AuthService } from '@rolatech/angular-auth';\n\n@Component({\n selector: 'rolatech-membership-plan',\n imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule],\n templateUrl: './membership-plan.html',\n styleUrl: './membership-plan.scss',\n})\nexport class MembershipPlan extends BaseComponent implements OnInit {\n authService = inject(AuthService);\n membershipService = inject(MembershipService);\n authenticated = this.authService.authenticated;\n plans: any = [];\n ngOnInit(): void {\n this.findPlans();\n }\n findPlans() {\n this.membershipService.findPlans({}).subscribe({\n next: (res) => {\n this.plans = res.data;\n },\n });\n }\n checkout(plan: any) {\n if (this.authenticated()) {\n this.router.navigate([`/checkout/memberships/plans/${plan.id}`]);\n } else {\n this.snackBarService.open('Please sign in');\n }\n }\n}\n","<rolatech-container>\n <rolatech-toolbar title=\"开通会员\" large> </rolatech-toolbar>\n <div class=\"text-3xl font-bold py-3 text-center\" i18n>Select a plan.</div>\n <div class=\"flex justify-center items-start gap-3\">\n @for (item of plans; track $index) {\n <div class=\"border border-dark-50 rounded-md p-3\">\n <div class=\"mb-3\">\n <div class=\"text-xl font-bold\">{{item.name}}</div>\n <div>{{item.description}}</div>\n <div>{{item.price}}</div>\n </div>\n <div>{{item.id}}</div>\n <div class=\"p-3\">\n <button mat-flat-button (click)=\"checkout(item)\">Select this plan</button>\n </div>\n <div>\n @for (benefit of item.benefits; track $index) {\n <div>{{benefit.title}}</div>\n }\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n","import { Routes } from '@angular/router';\nimport { MembershipIndex } from './membership-index/membership-index';\nimport { MembershipPlan } from './membership-plan/membership-plan';\n\nexport const membershipRoutes: Routes = [\n {\n path: '',\n component: MembershipIndex,\n },\n {\n path: 'plans',\n component: MembershipPlan,\n },\n];\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Membership } from '../../interfaces/membership';\n\n@Component({\n selector: 'rolatech-membership-item',\n imports: [CommonModule],\n templateUrl: './membership-item.component.html',\n styleUrl: './membership-item.component.scss',\n})\nexport class MembershipItemComponent {\n membership = input.required<Membership>();\n}\n","<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ membership().id }}</div>\n <div>{{ membership().plan.name }}</div>\n</div>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EmptyComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterLink } from '@angular/router';\nimport { MembershipItemComponent } from '../../../components/membership-item/membership-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-membership-manage-index',\n imports: [CommonModule, ToolbarComponent, MatButtonModule, RouterLink, MembershipItemComponent, EmptyComponent],\n templateUrl: './membership-manage-index.component.html',\n styleUrl: './membership-manage-index.component.scss',\n})\nexport class MembershipManageIndexComponent implements OnInit {\n membershipService = inject(MembershipService);\n data: any;\n ngOnInit(): void {\n this.find();\n }\n find() {\n this.membershipService.find({}).subscribe({\n next: (res: any) => {\n this.data = res.data;\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Membership\"> </rolatech-toolbar>\n<div class=\"p-3\">\n @if (data && data.length > 0) {\n @for (item of data; track $index) {\n <rolatech-membership-item [membership]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipPlan } from '../../interfaces/membership';\nimport { FixedPipe } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-membership-plan-item',\n imports: [CommonModule, FixedPipe],\n templateUrl: './membership-plan-item.component.html',\n styleUrl: './membership-plan-item.component.scss',\n})\nexport class MembershipPlanItemComponent {\n plan = input.required<MembershipPlan>();\n}\n","<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex flex-col\">\n <div>{{ plan().name }}</div>\n <div>{{ plan().description }}</div>\n </div>\n <div>¥{{ plan().price | fixed }}</div>\n</div>\n<hr />\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipPlanItemComponent } from '../../../components/membership-plan-item/membership-plan-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'rolatech-membership-manage-plan-index',\n imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipPlanItemComponent, RouterLink],\n templateUrl: './membership-manage-plan-index.component.html',\n styleUrl: './membership-manage-plan-index.component.scss',\n})\nexport class MembershipManagePlanIndexComponent implements OnInit {\n membershipService = inject(MembershipService);\n data: any;\n ngOnInit(): void {\n this.find();\n }\n find() {\n this.membershipService.findPlans({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Membership plans\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Create Plan</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Name</div>\n <div i18n>Price</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-plan-item [plan]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-plan-item>\n }\n</div>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\n@Component({\n selector: 'rolatech-membership-manage-plan-create',\n imports: [\n CommonModule,\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n MatCheckboxModule,\n ],\n templateUrl: './membership-manage-plan-create.component.html',\n styleUrl: './membership-manage-plan-create.component.scss',\n})\nexport class MembershipManagePlanCreateComponent implements OnInit {\n private membershipService = inject(MembershipService);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private snackBar = inject(MatSnackBar);\n plan: any = {};\n benefits: any = [];\n selected: any = [];\n\n ngOnInit(): void {\n this.findBenefits();\n }\n create() {\n this.plan.benefits = this.selected;\n const data = {\n ...this.plan,\n };\n this.membershipService.createPlan(data).subscribe({\n next: (res) => {\n this.router.navigate([`../${res.data.id}`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n findBenefits() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.benefits = res.data;\n },\n });\n }\n toggleValue(item: any, checked: boolean) {\n if (checked) {\n this.selected.push(item.id);\n } else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1) this.selected.splice(index, 1);\n }\n }\n}\n","<rolatech-toolbar title=\"Create Plan\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits; track $index) {\n <mat-checkbox (change)=\"toggleValue(item, $event.checked)\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n </form>\n </section>\n <div class=\"py-2\" i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n","import { Component, DoCheck, model, OnInit, output } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MembershipBenefit, MembershipPlan } from '../../interfaces/membership';\n\n@Component({\n selector: 'rolatech-membership-plan-add',\n imports: [\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n MatCheckboxModule,\n ],\n templateUrl: './membership-plan-add.component.html',\n styleUrl: './membership-plan-add.component.scss',\n})\nexport class MembershipPlanAddComponent implements OnInit, DoCheck {\n plan = model.required<MembershipPlan>();\n benefits = model.required<MembershipBenefit[]>();\n output = output<any>();\n select = output<MembershipBenefit>();\n selected: any = [];\n ngOnInit(): void {\n if (this.plan().benefits) {\n this.plan().benefits.forEach((item) => {\n this.selected.push(item.id);\n });\n console.log(this.selected);\n }\n }\n onSelect(item: MembershipBenefit, checked: boolean) {\n if (checked) {\n this.selected.push(item.id);\n } else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1) this.selected.splice(index, 1);\n }\n this.plan.update((plan) => {\n plan.benefits = this.selected;\n return { ...plan };\n });\n }\n ngDoCheck(): void {\n const { name, description, price } = this.plan();\n const data = {\n name,\n description,\n price,\n };\n this.output.emit(data);\n }\n}\n","<form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan().description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits(); track $index) {\n <mat-checkbox [checked]=\"selected.includes(item.id)\" (change)=\"onSelect(item, $event.checked)\" [checked]=\"\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n</form>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MembershipPlanAddComponent } from '../../../components/membership-plan-add/membership-plan-add.component';\n\n@Component({\n selector: 'rolatech-membership-manage-plan-detail',\n imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIconModule, MembershipPlanAddComponent],\n templateUrl: './membership-manage-plan-detail.component.html',\n styleUrl: './membership-manage-plan-detail.component.scss',\n})\nexport class MembershipManagePlanDetailComponent extends BaseComponent implements OnInit {\n membershipService = inject(MembershipService);\n plan: any;\n benefits: any = [];\n selected: any = [];\n ngOnInit(): void {\n this.get();\n this.findBenefits();\n }\n get() {\n this.membershipService.getPlan(this.id).subscribe({\n next: (res) => {\n this.plan = res.data;\n },\n });\n }\n findBenefits() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.benefits = res.data;\n },\n });\n }\n toggleValue(item: any, checked: boolean) {\n if (checked) {\n this.selected.push(item.id);\n } else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1) this.selected.splice(index, 1);\n }\n }\n update() {\n console.log(this.plan);\n this.membershipService.updatePlan(this.id, this.plan).subscribe({\n next: (res) => {},\n });\n }\n}\n","<rolatech-toolbar title=\"Plan detail\" back>\n <button mat-flat-button (click)=\"update()\">\n <mat-icon>save</mat-icon>\n <span i18n>Save</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n @if (plan) {\n <rolatech-membership-plan-add [plan]=\"plan\" [benefits]=\"benefits\"></rolatech-membership-plan-add>\n }\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipBenefit } from '../../interfaces/membership';\n\n@Component({\n selector: 'rolatech-membership-benefit-item',\n imports: [CommonModule],\n templateUrl: './membership-benefit-item.component.html',\n styleUrl: './membership-benefit-item.component.scss',\n})\nexport class MembershipBenefitItemComponent {\n benefit = input.required<MembershipBenefit>();\n}\n","<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ benefit().title }}</div>\n <div>{{ benefit().description }}</div>\n</div>\n<hr />\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipBenefitItemComponent } from '../../../components/membership-benefit-item/membership-benefit-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'rolatech-membership-manage-benefit-index',\n imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipBenefitItemComponent, RouterLink],\n templateUrl: './membership-manage-benefit-index.component.html',\n styleUrl: './membership-manage-benefit-index.component.scss',\n})\nexport class MembershipManageBenefitIndexComponent implements OnInit {\n membershipService = inject(MembershipService);\n data: any;\n ngOnInit(): void {\n this.find();\n }\n find() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Membership benefits\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Add benefit</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Title</div>\n <div i18n>Description</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-benefit-item [benefit]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-benefit-item>\n }\n</div>\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipService } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-membership-manage-benefit-create',\n imports: [\n CommonModule,\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ],\n templateUrl: './membership-manage-benefit-create.component.html',\n styleUrl: './membership-manage-benefit-create.component.scss',\n})\nexport class MembershipManageBenefitCreateComponent {\n private membershipService = inject(MembershipService);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private snackBar = inject(MatSnackBar);\n benefit: any = {};\n create() {\n const data = {\n ...this.benefit,\n };\n this.membershipService.addBenefit(data).subscribe({\n next: (res) => {\n this.router.navigate([`../`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Add Benefit\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Title </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"benefit.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Sort order </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.sortOrder\" name=\"sortOrder\" required />\n </mat-form-field>\n </div>\n </form>\n </section>\n <div i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-membership-manage-benefit-detail',\n imports: [CommonModule],\n templateUrl: './membership-manage-benefit-detail.component.html',\n styleUrl: './membership-manage-benefit-detail.component.scss',\n})\nexport class MembershipManageBenefitDetailComponent {}\n","<p>membership-manage-benefit-detail works!</p>\n","import { Routes } from '@angular/router';\nimport { MembershipManageIndexComponent } from './membership-manage-index/membership-manage-index.component';\nimport { MembershipManagePlanIndexComponent } from './membership-manage-plan-index/membership-manage-plan-index.component';\nimport { MembershipManagePlanCreateComponent } from './membership-manage-plan-create/membership-manage-plan-create.component';\nimport { MembershipManagePlanDetailComponent } from './membership-manage-plan-detail/membership-manage-plan-detail.component';\nimport { MembershipManageBenefitIndexComponent } from './membership-manage-benefit-index/membership-manage-benefit-index.component';\nimport { MembershipManageBenefitCreateComponent } from './membership-manage-benefit-create/membership-manage-benefit-create.component';\nimport { MembershipManageBenefitDetailComponent } from './membership-manage-benefit-detail/membership-manage-benefit-detail.component';\n\nexport const membershipManageRoutes: Routes = [\n {\n path: '',\n component: MembershipManageIndexComponent,\n },\n {\n path: 'plans',\n component: MembershipManagePlanIndexComponent,\n },\n {\n path: 'plans/create',\n component: MembershipManagePlanCreateComponent,\n },\n {\n path: 'plans/:id',\n component: MembershipManagePlanDetailComponent,\n },\n {\n path: 'benefits',\n component: MembershipManageBenefitIndexComponent,\n },\n {\n path: 'benefits/create',\n component: MembershipManageBenefitCreateComponent,\n },\n {\n path: 'benefits/:id',\n component: MembershipManageBenefitDetailComponent,\n },\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i5","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-membership.mjs","sources":["../../../../packages/angular-membership/src/lib/pages/membership/membership-index/membership-index.ts","../../../../packages/angular-membership/src/lib/pages/membership/membership-index/membership-index.html","../../../../packages/angular-membership/src/lib/pages/membership/membership-plan/membership-plan.ts","../../../../packages/angular-membership/src/lib/pages/membership/membership-plan/membership-plan.html","../../../../packages/angular-membership/src/lib/pages/membership/membership.routes.ts","../../../../packages/angular-membership/src/lib/components/membership-item/membership-item.component.ts","../../../../packages/angular-membership/src/lib/components/membership-item/membership-item.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-index/membership-manage-index.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-index/membership-manage-index.component.html","../../../../packages/angular-membership/src/lib/components/membership-plan-item/membership-plan-item.component.ts","../../../../packages/angular-membership/src/lib/components/membership-plan-item/membership-plan-item.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-index/membership-manage-plan-index.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-index/membership-manage-plan-index.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-create/membership-manage-plan-create.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-create/membership-manage-plan-create.component.html","../../../../packages/angular-membership/src/lib/components/membership-plan-add/membership-plan-add.component.ts","../../../../packages/angular-membership/src/lib/components/membership-plan-add/membership-plan-add.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-detail/membership-manage-plan-detail.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-plan-detail/membership-manage-plan-detail.component.html","../../../../packages/angular-membership/src/lib/components/membership-benefit-item/membership-benefit-item.component.ts","../../../../packages/angular-membership/src/lib/components/membership-benefit-item/membership-benefit-item.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-index/membership-manage-benefit-index.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-index/membership-manage-benefit-index.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-create/membership-manage-benefit-create.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-create/membership-manage-benefit-create.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-detail/membership-manage-benefit-detail.component.ts","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage-benefit-detail/membership-manage-benefit-detail.component.html","../../../../packages/angular-membership/src/lib/pages/membership-manage/membership-manage.routes.ts","../../../../packages/angular-membership/src/rolatech-angular-membership.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-membership-index',\n imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule],\n templateUrl: './membership-index.html',\n styleUrl: './membership-index.scss',\n})\nexport class MembershipIndex {}\n","<rolatech-container>\n <rolatech-toolbar title=\"我的会员\" large> </rolatech-toolbar>\n</rolatech-container>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseComponent, ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { AuthService } from '@rolatech/angular-auth';\n\n@Component({\n selector: 'rolatech-membership-plan',\n imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule],\n templateUrl: './membership-plan.html',\n styleUrl: './membership-plan.scss',\n})\nexport class MembershipPlan extends BaseComponent implements OnInit {\n authService = inject(AuthService);\n membershipService = inject(MembershipService);\n authenticated = this.authService.authenticated;\n plans: any = [];\n ngOnInit(): void {\n this.findPlans();\n }\n findPlans() {\n this.membershipService.findPlans({}).subscribe({\n next: (res) => {\n this.plans = res.data;\n },\n });\n }\n checkout(plan: any) {\n if (this.authenticated()) {\n this.router.navigate([`/checkout/memberships/plans/${plan.id}`]);\n } else {\n this.snackBarService.open('Please sign in');\n }\n }\n}\n","<rolatech-container>\n <rolatech-toolbar title=\"开通会员\" large> </rolatech-toolbar>\n <div class=\"text-3xl font-bold py-3 text-center\" i18n>Select a plan.</div>\n <div class=\"flex justify-center items-start gap-3\">\n @for (item of plans; track $index) {\n <div class=\"border border-dark-50 rounded-md p-3\">\n <div class=\"mb-3\">\n <div class=\"text-xl font-bold\">{{item.name}}</div>\n <div>{{item.description}}</div>\n <div>{{item.price}}</div>\n </div>\n <div>{{item.id}}</div>\n <div class=\"p-3\">\n <button mat-flat-button (click)=\"checkout(item)\">Select this plan</button>\n </div>\n <div>\n @for (benefit of item.benefits; track $index) {\n <div>{{benefit.title}}</div>\n }\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n","import { Routes } from '@angular/router';\nimport { MembershipIndex } from './membership-index/membership-index';\nimport { MembershipPlan } from './membership-plan/membership-plan';\n\nexport const membershipRoutes: Routes = [\n {\n path: '',\n component: MembershipIndex,\n },\n {\n path: 'plans',\n component: MembershipPlan,\n },\n];\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Membership } from '../../interfaces/membership';\n\n@Component({\n selector: 'rolatech-membership-item',\n imports: [CommonModule],\n templateUrl: './membership-item.component.html',\n styleUrl: './membership-item.component.scss',\n})\nexport class MembershipItemComponent {\n membership = input.required<Membership>();\n}\n","<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ membership().id }}</div>\n <div>{{ membership().plan.name }}</div>\n</div>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EmptyComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterLink } from '@angular/router';\nimport { MembershipItemComponent } from '../../../components/membership-item/membership-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-membership-manage-index',\n imports: [CommonModule, ToolbarComponent, MatButtonModule, RouterLink, MembershipItemComponent, EmptyComponent],\n templateUrl: './membership-manage-index.component.html',\n styleUrl: './membership-manage-index.component.scss',\n})\nexport class MembershipManageIndexComponent implements OnInit {\n membershipService = inject(MembershipService);\n data: any;\n ngOnInit(): void {\n this.find();\n }\n find() {\n this.membershipService.find({}).subscribe({\n next: (res: any) => {\n this.data = res.data;\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Membership\"> </rolatech-toolbar>\n<div class=\"p-3\">\n @if (data && data.length > 0) {\n @for (item of data; track $index) {\n <rolatech-membership-item [membership]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipPlan } from '../../interfaces/membership';\nimport { FixedPipe } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-membership-plan-item',\n imports: [CommonModule, FixedPipe],\n templateUrl: './membership-plan-item.component.html',\n styleUrl: './membership-plan-item.component.scss',\n})\nexport class MembershipPlanItemComponent {\n plan = input.required<MembershipPlan>();\n}\n","<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex flex-col\">\n <div>{{ plan().name }}</div>\n <div>{{ plan().description }}</div>\n </div>\n <div>¥{{ plan().price | fixed }}</div>\n</div>\n<hr />\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipPlanItemComponent } from '../../../components/membership-plan-item/membership-plan-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'rolatech-membership-manage-plan-index',\n imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipPlanItemComponent, RouterLink],\n templateUrl: './membership-manage-plan-index.component.html',\n styleUrl: './membership-manage-plan-index.component.scss',\n})\nexport class MembershipManagePlanIndexComponent implements OnInit {\n membershipService = inject(MembershipService);\n data: any;\n ngOnInit(): void {\n this.find();\n }\n find() {\n this.membershipService.findPlans({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Membership plans\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Create Plan</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Name</div>\n <div i18n>Price</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-plan-item [plan]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-plan-item>\n }\n</div>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\n@Component({\n selector: 'rolatech-membership-manage-plan-create',\n imports: [\n CommonModule,\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n MatCheckboxModule,\n ],\n templateUrl: './membership-manage-plan-create.component.html',\n styleUrl: './membership-manage-plan-create.component.scss',\n})\nexport class MembershipManagePlanCreateComponent implements OnInit {\n private membershipService = inject(MembershipService);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private snackBar = inject(MatSnackBar);\n plan: any = {};\n benefits: any = [];\n selected: any = [];\n\n ngOnInit(): void {\n this.findBenefits();\n }\n create() {\n this.plan.benefits = this.selected;\n const data = {\n ...this.plan,\n };\n this.membershipService.createPlan(data).subscribe({\n next: (res) => {\n this.router.navigate([`../${res.data.id}`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n findBenefits() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.benefits = res.data;\n },\n });\n }\n toggleValue(item: any, checked: boolean) {\n if (checked) {\n this.selected.push(item.id);\n } else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1) this.selected.splice(index, 1);\n }\n }\n}\n","<rolatech-toolbar title=\"Create Plan\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits; track $index) {\n <mat-checkbox (change)=\"toggleValue(item, $event.checked)\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n </form>\n </section>\n <div class=\"py-2\" i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n","import { Component, DoCheck, model, OnInit, output } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MembershipBenefit, MembershipPlan } from '../../interfaces/membership';\n\n@Component({\n selector: 'rolatech-membership-plan-add',\n imports: [\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n MatCheckboxModule,\n ],\n templateUrl: './membership-plan-add.component.html',\n styleUrl: './membership-plan-add.component.scss',\n})\nexport class MembershipPlanAddComponent implements OnInit, DoCheck {\n plan = model.required<MembershipPlan>();\n benefits = model.required<MembershipBenefit[]>();\n output = output<any>();\n select = output<MembershipBenefit>();\n selected: any = [];\n ngOnInit(): void {\n if (this.plan().benefits) {\n this.plan().benefits.forEach((item) => {\n this.selected.push(item.id);\n });\n console.log(this.selected);\n }\n }\n onSelect(item: MembershipBenefit, checked: boolean) {\n if (checked) {\n this.selected.push(item.id);\n } else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1) this.selected.splice(index, 1);\n }\n this.plan.update((plan) => {\n plan.benefits = this.selected;\n return { ...plan };\n });\n }\n ngDoCheck(): void {\n const { name, description, price } = this.plan();\n const data = {\n name,\n description,\n price,\n };\n this.output.emit(data);\n }\n}\n","<form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan().description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits(); track $index) {\n <mat-checkbox [checked]=\"selected.includes(item.id)\" (change)=\"onSelect(item, $event.checked)\" [checked]=\"\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n</form>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MembershipPlanAddComponent } from '../../../components/membership-plan-add/membership-plan-add.component';\n\n@Component({\n selector: 'rolatech-membership-manage-plan-detail',\n imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIconModule, MembershipPlanAddComponent],\n templateUrl: './membership-manage-plan-detail.component.html',\n styleUrl: './membership-manage-plan-detail.component.scss',\n})\nexport class MembershipManagePlanDetailComponent extends BaseComponent implements OnInit {\n membershipService = inject(MembershipService);\n plan: any;\n benefits: any = [];\n selected: any = [];\n ngOnInit(): void {\n this.get();\n this.findBenefits();\n }\n get() {\n this.membershipService.getPlan(this.id).subscribe({\n next: (res) => {\n this.plan = res.data;\n },\n });\n }\n findBenefits() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.benefits = res.data;\n },\n });\n }\n toggleValue(item: any, checked: boolean) {\n if (checked) {\n this.selected.push(item.id);\n } else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1) this.selected.splice(index, 1);\n }\n }\n update() {\n console.log(this.plan);\n this.membershipService.updatePlan(this.id, this.plan).subscribe({\n next: (res) => {},\n });\n }\n}\n","<rolatech-toolbar title=\"Plan detail\" back>\n <button mat-flat-button (click)=\"update()\">\n <mat-icon>save</mat-icon>\n <span i18n>Save</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n @if (plan) {\n <rolatech-membership-plan-add [plan]=\"plan\" [benefits]=\"benefits\"></rolatech-membership-plan-add>\n }\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipBenefit } from '../../interfaces/membership';\n\n@Component({\n selector: 'rolatech-membership-benefit-item',\n imports: [CommonModule],\n templateUrl: './membership-benefit-item.component.html',\n styleUrl: './membership-benefit-item.component.scss',\n})\nexport class MembershipBenefitItemComponent {\n benefit = input.required<MembershipBenefit>();\n}\n","<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ benefit().title }}</div>\n <div>{{ benefit().description }}</div>\n</div>\n<hr />\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipBenefitItemComponent } from '../../../components/membership-benefit-item/membership-benefit-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'rolatech-membership-manage-benefit-index',\n imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipBenefitItemComponent, RouterLink],\n templateUrl: './membership-manage-benefit-index.component.html',\n styleUrl: './membership-manage-benefit-index.component.scss',\n})\nexport class MembershipManageBenefitIndexComponent implements OnInit {\n membershipService = inject(MembershipService);\n data: any;\n ngOnInit(): void {\n this.find();\n }\n find() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Membership benefits\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Add benefit</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Title</div>\n <div i18n>Description</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-benefit-item [benefit]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-benefit-item>\n }\n</div>\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipService } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-membership-manage-benefit-create',\n imports: [\n CommonModule,\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ],\n templateUrl: './membership-manage-benefit-create.component.html',\n styleUrl: './membership-manage-benefit-create.component.scss',\n})\nexport class MembershipManageBenefitCreateComponent {\n private membershipService = inject(MembershipService);\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n private snackBar = inject(MatSnackBar);\n benefit: any = {};\n create() {\n const data = {\n ...this.benefit,\n };\n this.membershipService.addBenefit(data).subscribe({\n next: (res) => {\n this.router.navigate([`../`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Add Benefit\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Title </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"benefit.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Sort order </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.sortOrder\" name=\"sortOrder\" required />\n </mat-form-field>\n </div>\n </form>\n </section>\n <div i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-membership-manage-benefit-detail',\n imports: [CommonModule],\n templateUrl: './membership-manage-benefit-detail.component.html',\n styleUrl: './membership-manage-benefit-detail.component.scss',\n})\nexport class MembershipManageBenefitDetailComponent {}\n","<p>membership-manage-benefit-detail works!</p>\n","import { Routes } from '@angular/router';\nimport { MembershipManageIndexComponent } from './membership-manage-index/membership-manage-index.component';\nimport { MembershipManagePlanIndexComponent } from './membership-manage-plan-index/membership-manage-plan-index.component';\nimport { MembershipManagePlanCreateComponent } from './membership-manage-plan-create/membership-manage-plan-create.component';\nimport { MembershipManagePlanDetailComponent } from './membership-manage-plan-detail/membership-manage-plan-detail.component';\nimport { MembershipManageBenefitIndexComponent } from './membership-manage-benefit-index/membership-manage-benefit-index.component';\nimport { MembershipManageBenefitCreateComponent } from './membership-manage-benefit-create/membership-manage-benefit-create.component';\nimport { MembershipManageBenefitDetailComponent } from './membership-manage-benefit-detail/membership-manage-benefit-detail.component';\n\nexport const membershipManageRoutes: Routes = [\n {\n path: '',\n component: MembershipManageIndexComponent,\n },\n {\n path: 'plans',\n component: MembershipManagePlanIndexComponent,\n },\n {\n path: 'plans/create',\n component: MembershipManagePlanCreateComponent,\n },\n {\n path: 'plans/:id',\n component: MembershipManagePlanDetailComponent,\n },\n {\n path: 'benefits',\n component: MembershipManageBenefitIndexComponent,\n },\n {\n path: 'benefits/create',\n component: MembershipManageBenefitCreateComponent,\n },\n {\n path: 'benefits/:id',\n component: MembershipManageBenefitDetailComponent,\n },\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i5","i2"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolatech/angular-membership",
|
|
3
|
-
"version": "20.1.
|
|
3
|
+
"version": "20.1.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.0.0",
|
|
7
7
|
"@angular/core": "^20.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@rolatech/angular-common": "20.1.
|
|
11
|
-
"@rolatech/angular-components": "20.1.
|
|
12
|
-
"@rolatech/angular-services": "20.1.
|
|
10
|
+
"@rolatech/angular-common": "20.1.7",
|
|
11
|
+
"@rolatech/angular-components": "20.1.7",
|
|
12
|
+
"@rolatech/angular-services": "20.1.7",
|
|
13
13
|
"tslib": "^2.3.0"
|
|
14
14
|
},
|
|
15
15
|
"sideEffects": false,
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
},
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"module": "fesm2022/rolatech-angular-membership.mjs",
|
|
25
|
-
"typings": "
|
|
25
|
+
"typings": "types/rolatech-angular-membership.d.ts",
|
|
26
26
|
"exports": {
|
|
27
27
|
"./package.json": {
|
|
28
28
|
"default": "./package.json"
|
|
29
29
|
},
|
|
30
30
|
".": {
|
|
31
|
-
"types": "./
|
|
31
|
+
"types": "./types/rolatech-angular-membership.d.ts",
|
|
32
32
|
"default": "./fesm2022/rolatech-angular-membership.mjs"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
File without changes
|