@rolatech/angular-course 17.2.8 → 17.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/course-action/course-action.component.mjs +7 -5
- package/esm2022/lib/components/course-details/course-details.component.mjs +6 -6
- package/esm2022/lib/components/course-details-dialog/course-details-dialog.component.mjs +5 -5
- package/esm2022/lib/components/course-edit-dialog/course-edit-dialog.component.mjs +8 -8
- package/esm2022/lib/components/course-info/course-info.component.mjs +10 -7
- package/esm2022/lib/components/course-item/course-item.component.mjs +8 -6
- package/esm2022/lib/components/course-media/course-media.component.mjs +7 -7
- package/esm2022/lib/components/course-media-owner-renderer/course-media-owner-renderer.component.mjs +3 -3
- package/esm2022/lib/components/course-preview/course-preview.component.mjs +3 -3
- package/esm2022/lib/components/course-pricing/course-pricing.component.mjs +3 -3
- package/esm2022/lib/components/course-pricing-add-dialog/course-pricing-add-dialog.component.mjs +4 -4
- package/esm2022/lib/components/course-pricing-dialog/course-pricing-dialog.component.mjs +5 -5
- package/esm2022/lib/components/course-schedule/course-schedule.component.mjs +4 -4
- package/esm2022/lib/components/course-schedule-add-dialog/course-schedule-add-dialog.component.mjs +5 -5
- package/esm2022/lib/components/course-schedule-dialog/course-schedule-dialog.component.mjs +5 -5
- package/esm2022/lib/components/course-section-item/course-section-item.component.mjs +6 -5
- package/esm2022/lib/components/course-section-lecture-item/course-section-lecture-item.component.mjs +7 -6
- package/esm2022/lib/components/course-section-lecture-video-dialog/course-section-lecture-video-dialog.component.mjs +5 -5
- package/esm2022/lib/components/course-section-lecture-video-item/course-section-lecture-video-item.component.mjs +3 -3
- package/esm2022/lib/components/course-sections/course-sections.component.mjs +5 -5
- package/esm2022/lib/components/detail-item/detail-item.component.mjs +5 -6
- package/esm2022/lib/components/pricing-item/pricing-item.component.mjs +5 -6
- package/esm2022/lib/components/schedule-item/schedule-item.component.mjs +7 -8
- package/esm2022/lib/pages/course/course-category/course-category.component.mjs +3 -3
- package/esm2022/lib/pages/course/course-detail/course-detail.component.mjs +27 -41
- package/esm2022/lib/pages/course/course-index/course-index.component.mjs +3 -3
- package/esm2022/lib/pages/course/course-layout/course-layout.component.mjs +3 -3
- package/esm2022/lib/pages/course/course-section-content/course-section-content.component.mjs +12 -19
- package/esm2022/lib/services/category.service.mjs +3 -3
- package/esm2022/lib/services/course-section.service.mjs +3 -3
- package/esm2022/lib/services/course.service.mjs +3 -3
- package/fesm2022/rolatech-angular-course.mjs +147 -166
- package/fesm2022/rolatech-angular-course.mjs.map +1 -1
- package/lib/components/course-edit-dialog/course-edit-dialog.component.d.ts +2 -2
- package/lib/components/course-info/course-info.component.d.ts +1 -0
- package/lib/components/course-item/course-item.component.d.ts +2 -1
- package/lib/components/course-media/course-media.component.d.ts +1 -1
- package/lib/components/course-schedule-add-dialog/course-schedule-add-dialog.component.d.ts +1 -1
- package/lib/components/course-section-lecture-item/course-section-lecture-item.component.d.ts +1 -1
- package/lib/components/course-section-lecture-video-dialog/course-section-lecture-video-dialog.component.d.ts +1 -1
- package/lib/components/detail-item/detail-item.component.d.ts +1 -2
- package/lib/components/pricing-item/pricing-item.component.d.ts +2 -3
- package/lib/components/schedule-item/schedule-item.component.d.ts +2 -3
- package/lib/pages/course/course-detail/course-detail.component.d.ts +2 -0
- package/lib/pages/course/course-section-content/course-section-content.component.d.ts +2 -1
- package/package.json +4 -4
- package/themes/_default.scss +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
2
2
|
import { Component, output, input, effect } from '@angular/core';
|
|
3
3
|
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatOptionModule } from '@angular/material/core';
|
|
4
|
-
import { ScheduleDate } from '../..//interfaces';
|
|
5
4
|
import moment from 'moment';
|
|
6
5
|
import { DatePipe, NgClass } from '@angular/common';
|
|
7
6
|
import { MatDividerModule } from '@angular/material/divider';
|
|
@@ -12,6 +11,7 @@ import { TextFieldModule } from '@angular/cdk/text-field';
|
|
|
12
11
|
import { FormsModule } from '@angular/forms';
|
|
13
12
|
import { MatInputModule } from '@angular/material/input';
|
|
14
13
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
14
|
+
import { ScheduleDate } from '../../interfaces';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
import * as i1 from "@angular/material/form-field";
|
|
17
17
|
import * as i2 from "@angular/material/input";
|
|
@@ -37,7 +37,6 @@ export class ScheduleItemComponent {
|
|
|
37
37
|
constructor() {
|
|
38
38
|
this.value = input();
|
|
39
39
|
this.actions = input(false);
|
|
40
|
-
this.shadow = input(false);
|
|
41
40
|
this.delete = output();
|
|
42
41
|
this.save = output();
|
|
43
42
|
this.date = ScheduleDate;
|
|
@@ -87,8 +86,8 @@ export class ScheduleItemComponent {
|
|
|
87
86
|
this.schedule.startAt = this.schedule.startDate + ' ' + this.schedule.startTime;
|
|
88
87
|
this.schedule.endAt = this.schedule.endDate + ' ' + this.schedule.endTime;
|
|
89
88
|
}
|
|
90
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
91
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ScheduleItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: ScheduleItemComponent, isStandalone: true, selector: "rolatech-schedule-item", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete", save: "save" }, providers: [
|
|
92
91
|
{
|
|
93
92
|
provide: DateAdapter,
|
|
94
93
|
useClass: MomentDateAdapter,
|
|
@@ -96,9 +95,9 @@ export class ScheduleItemComponent {
|
|
|
96
95
|
},
|
|
97
96
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
98
97
|
DatePipe,
|
|
99
|
-
], ngImport: i0, template: "<div class=\"flex flex-col
|
|
98
|
+
], ngImport: i0, template: "<div class=\"flex flex-col py-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u6807\u9898 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"schedule.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u5185\u5BB9 </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"schedule.content\"\n name=\"content\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"schedule.startDate\"\n (ngModelChange)=\"startDateChanged($event)\"\n (dateInput)=\"schedule.startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"schedule.startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n (ngModelChange)=\"endDateChanged($event)\"\n [(ngModel)]=\"schedule.endDate\"\n (dateInput)=\"schedule.endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"schedule.endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n</div>\n@if (actions()) {\n <div class=\"flex flex-row justify-end p-4\">\n <button mat-button (click)=\"onDelete(schedule)\">\u5220\u9664</button>\n <button mat-button (click)=\"onSave(schedule)\">\u4FDD\u5B58</button>\n </div>\n}\n<mat-divider></mat-divider>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] }); }
|
|
100
99
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ScheduleItemComponent, decorators: [{
|
|
102
101
|
type: Component,
|
|
103
102
|
args: [{ selector: 'rolatech-schedule-item', providers: [
|
|
104
103
|
{
|
|
@@ -119,6 +118,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
|
119
118
|
MatOptionModule,
|
|
120
119
|
MatButtonModule,
|
|
121
120
|
MatDividerModule,
|
|
122
|
-
], template: "<div class=\"flex flex-col
|
|
121
|
+
], template: "<div class=\"flex flex-col py-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u6807\u9898 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"schedule.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u5185\u5BB9 </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"schedule.content\"\n name=\"content\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (focus)=\"picker.open()\"\n name=\"startAt\"\n [(ngModel)]=\"schedule.startDate\"\n (ngModelChange)=\"startDateChanged($event)\"\n (dateInput)=\"schedule.startDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u5F00\u59CB\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"schedule.startTime\" (selectionChange)=\"startTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65E5\u671F</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker2\"\n name=\"endAt\"\n (focus)=\"picker2.open()\"\n (ngModelChange)=\"endDateChanged($event)\"\n [(ngModel)]=\"schedule.endDate\"\n (dateInput)=\"schedule.endDate = $event.value.format('YYYY-MM-DD')\"\n readonly\n required\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker #picker2></mat-datepicker>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7ED3\u675F\u65F6\u95F4</mat-label>\n <mat-select [(ngModel)]=\"schedule.endTime\" (selectionChange)=\"endTimeChanged($event)\" required readonly>\n @for (d of date; track d) {\n <mat-option [value]=\"d\">\n {{ d }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n</div>\n@if (actions()) {\n <div class=\"flex flex-row justify-end p-4\">\n <button mat-button (click)=\"onDelete(schedule)\">\u5220\u9664</button>\n <button mat-button (click)=\"onSave(schedule)\">\u4FDD\u5B58</button>\n </div>\n}\n<mat-divider></mat-divider>\n" }]
|
|
123
122
|
}] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvY29tcG9uZW50cy9zY2hlZHVsZS1pdGVtL3NjaGVkdWxlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvc2NoZWR1bGUtaXRlbS9zY2hlZHVsZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBUyxLQUFLLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pHLE9BQU8sRUFBWSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxF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M0IsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO3lCQUN4Qjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO3dCQUNuRCxRQUFRO3FCQUNULGNBQ1csSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIG91dHB1dCwgbW9kZWwsIGlucHV0LCBlZmZlY3QsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFLCBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFNjaGVkdWxlLCBTY2hlZHVsZURhdGUgfSBmcm9tICcuLi8uLi8vaW50ZXJmYWNlcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBEYXRlUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmV4cG9ydCBjb25zdCBNWV9GT1JNQVRTID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ1lZWVktTU0tREQnLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnWVlZWS1NTS1ERCcsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ1lZWVktTU0tREQnLFxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1zY2hlZHVsZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjaGVkdWxlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY2hlZHVsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0sXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9GT1JNQVRTIH0sXG4gICAgRGF0ZVBpcGUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHZhbHVlID0gaW5wdXQ8U2NoZWR1bGUgfCB1bmRlZmluZWQ+KCk7XG4gIGFjdGlvbnMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHNoYWRvdyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGVsZXRlID0gb3V0cHV0PFNjaGVkdWxlPigpO1xuICBzYXZlID0gb3V0cHV0PFNjaGVkdWxlPigpO1xuICBkYXRlID0gU2NoZWR1bGVEYXRlO1xuICBzY2hlZHVsZTogYW55ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnNjaGVkdWxlID0gdGhpcy52YWx1ZSgpO1xuICAgIHRoaXMuc2NoZWR1bGUuc3RhcnREYXRlID0gbW9tZW50KHRoaXMuc2NoZWR1bGUuc3RhcnRBdCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgdGhpcy5zY2hlZHVsZS5zdGFydFRpbWUgPSBtb21lbnQodGhpcy5zY2hlZHVsZS5zdGFydEF0KS5mb3JtYXQoJ0hIOm1tJyk7XG4gICAgdGhpcy5zY2hlZHVsZS5lbmREYXRlID0gbW9tZW50KHRoaXMuc2NoZWR1bGUuZW5kQXQpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgIHRoaXMuc2NoZWR1bGUuZW5kVGltZSA9IG1vbWVudCh0aGlzLnNjaGVkdWxlLmVuZEF0KS5mb3JtYXQoJ0hIOm1tJyk7XG4gIH0pO1xuICAvLyBjb25zdHJ1Y3RvcigpIHtcbiAgLy8gICB0aGlzLnNjaGVkdWxlID0gdGhpcy52YWx1ZSgpO1xuICAvLyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5zY2hlZHVsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKHRoaXMudmFsdWUoKSk7XG4gICAgLy8gICByZXR1cm4gdGhpcy52YWx1ZSgpO1xuICAgIC8vIH0pKCk7XG4gICAgLy8gdGhpcy5zY2hlZHVsZSA9IHRoaXMudmFsdWUoKTtcbiAgICAvLyB0aGlzLnNjaGVkdWxlLnN0YXJ0RGF0ZSA9IG1vbWVudCh0aGlzLnNjaGVkdWxlLnN0YXJ0QXQpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgIC8vIHRoaXMuc2NoZWR1bGUuc3RhcnRUaW1lID0gbW9tZW50KHRoaXMuc2NoZWR1bGUuc3RhcnRBdCkuZm9ybWF0KCdISDptbScpO1xuICAgIC8vIHRoaXMuc2NoZWR1bGUuZW5kRGF0ZSA9IG1vbWVudCh0aGlzLnNjaGVkdWxlLmVuZEF0KS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcbiAgICAvLyB0aGlzLnNjaGVkdWxlLmVuZFRpbWUgPSBtb21lbnQodGhpcy5zY2hlZHVsZS5lbmRBdCkuZm9ybWF0KCdISDptbScpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgc3RhcnRBdCwgZW5kQXQsIHN0YXJ0VGltZSwgc3RhcnREYXRlLCBlbmREYXRlLCBlbmRUaW1lIH0gPSB0aGlzLnNjaGVkdWxlO1xuICAgIHRoaXMuc2NoZWR1bGUuc3RhcnRBdCA9IHRoaXMuc2NoZWR1bGUuc3RhcnREYXRlICsgJyAnICsgdGhpcy5zY2hlZHVsZS5zdGFydFRpbWU7XG4gICAgdGhpcy5zY2hlZHVsZS5lbmRBdCA9IHRoaXMuc2NoZWR1bGUuZW5kRGF0ZSArICcgJyArIHRoaXMuc2NoZWR1bGUuZW5kVGltZTtcbiAgICBkZWxldGUgdGhpcy5zY2hlZHVsZS5zdGFydERhdGU7XG4gICAgZGVsZXRlIHRoaXMuc2NoZWR1bGUuc3RhcnRUaW1lO1xuICAgIGRlbGV0ZSB0aGlzLnNjaGVkdWxlLmVuZERhdGU7XG4gICAgZGVsZXRlIHRoaXMuc2NoZWR1bGUuZW5kVGltZTtcbiAgfVxuICBzdGFydERhdGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHt9XG4gIHN0YXJ0VGltZUNoYW5nZWQoZXZlbnQ6IGFueSkge31cblxuICBlbmREYXRlQ2hhbmdlZChldmVudDogYW55KSB7fVxuICBlbmRUaW1lQ2hhbmdlZChldmVudDogYW55KSB7fVxuXG4gIG9uU2F2ZShzY2hlZHVsZTogU2NoZWR1bGUpIHtcbiAgICB0aGlzLmZvcm1hdCgpO1xuICAgIHRoaXMuc2F2ZS5lbWl0KHNjaGVkdWxlKTtcbiAgfVxuICBvbkRlbGV0ZShzY2hlZHVsZTogU2NoZWR1bGUpIHtcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KHNjaGVkdWxlKTtcbiAgfVxuICBwcml2YXRlIGZvcm1hdCgpIHtcbiAgICB0aGlzLnNjaGVkdWxlLnN0YXJ0QXQgPSB0aGlzLnNjaGVkdWxlLnN0YXJ0RGF0ZSArICcgJyArIHRoaXMuc2NoZWR1bGUuc3RhcnRUaW1lO1xuICAgIHRoaXMuc2NoZWR1bGUuZW5kQXQgPSB0aGlzLnNjaGVkdWxlLmVuZERhdGUgKyAnICcgKyB0aGlzLnNjaGVkdWxlLmVuZFRpbWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCIgW25nQ2xhc3NdPVwieyBzaGFkb3c6IHNoYWRvdygpIH1cIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgPG1hdC1sYWJlbD4g5qCH6aKYIDwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2NoZWR1bGUudGl0bGVcIiBuYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICA8bWF0LWxhYmVsPiDlhoXlrrkgPC9tYXQtbGFiZWw+XG4gICAgPHRleHRhcmVhXG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzY2hlZHVsZS5jb250ZW50XCJcbiAgICAgIG5hbWU9XCJjb250ZW50XCJcbiAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjNcIlxuICAgICAgcmVxdWlyZWRcbiAgICA+PC90ZXh0YXJlYT5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTNcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgIDxtYXQtbGFiZWw+5byA5aeL5pel5pyfPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgKGZvY3VzKT1cInBpY2tlci5vcGVuKClcIlxuICAgICAgICBuYW1lPVwic3RhcnRBdFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2NoZWR1bGUuc3RhcnREYXRlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RhcnREYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKGRhdGVJbnB1dCk9XCJzY2hlZHVsZS5zdGFydERhdGUgPSAkZXZlbnQudmFsdWUuZm9ybWF0KCdZWVlZLU1NLUREJylcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICByZXF1aXJlZFxuICAgICAgLz5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPG1hdC1sYWJlbD7lvIDlp4vml7bpl7Q8L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwic2NoZWR1bGUuc3RhcnRUaW1lXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJzdGFydFRpbWVDaGFuZ2VkKCRldmVudClcIiByZXF1aXJlZCByZWFkb25seT5cbiAgICAgICAgQGZvciAoZCBvZiBkYXRlOyB0cmFjayBkKSB7XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImRcIj5cbiAgICAgICAgICAgIHt7IGQgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTNcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgIDxtYXQtbGFiZWw+57uT5p2f5pel5pyfPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyMlwiXG4gICAgICAgIG5hbWU9XCJlbmRBdFwiXG4gICAgICAgIChmb2N1cyk9XCJwaWNrZXIyLm9wZW4oKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVuZERhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNjaGVkdWxlLmVuZERhdGVcIlxuICAgICAgICAoZGF0ZUlucHV0KT1cInNjaGVkdWxlLmVuZERhdGUgPSAkZXZlbnQudmFsdWUuZm9ybWF0KCdZWVlZLU1NLUREJylcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICByZXF1aXJlZFxuICAgICAgLz5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlcjJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyMj48L21hdC1kYXRlcGlja2VyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICA8bWF0LWxhYmVsPue7k+adn+aXtumXtDwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJzY2hlZHVsZS5lbmRUaW1lXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJlbmRUaW1lQ2hhbmdlZCgkZXZlbnQpXCIgcmVxdWlyZWQgcmVhZG9ubHk+XG4gICAgICAgIEBmb3IgKGQgb2YgZGF0ZTsgdHJhY2sgZCkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJkXCI+XG4gICAgICAgICAgICB7eyBkIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICB9XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG48L2Rpdj5cbkBpZiAoYWN0aW9ucygpKSB7XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktZW5kIHAtNFwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25EZWxldGUoc2NoZWR1bGUpXCI+5Yig6ZmkPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvblNhdmUoc2NoZWR1bGUpXCI+5L+d5a2YPC9idXR0b24+XG4gIDwvZGl2PlxufVxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvY29tcG9uZW50cy9zY2hlZHVsZS1pdGVtL3NjaGVkdWxlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvc2NoZWR1bGUtaXRlbS9zY2hlZHVsZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBUyxLQUFLLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pHLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxF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QUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7d0JBQ25ELFFBQVE7cUJBQ1QsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgb3V0cHV0LCBtb2RlbCwgaW5wdXQsIGVmZmVjdCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUsIE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBTY2hlZHVsZSwgU2NoZWR1bGVEYXRlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5leHBvcnQgY29uc3QgTVlfRk9STUFUUyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6ICdZWVlZLU1NLUREJyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ1lZWVktTU0tREQnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdZWVlZLU1NLUREJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtc2NoZWR1bGUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlZHVsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZWR1bGUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEVdLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfRk9STUFUUyB9LFxuICAgIERhdGVQaXBlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVGV4dEZpZWxkTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICB2YWx1ZSA9IGlucHV0PFNjaGVkdWxlIHwgdW5kZWZpbmVkPigpO1xuICBhY3Rpb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBkZWxldGUgPSBvdXRwdXQ8U2NoZWR1bGU+KCk7XG4gIHNhdmUgPSBvdXRwdXQ8U2NoZWR1bGU+KCk7XG4gIGRhdGUgPSBTY2hlZHVsZURhdGU7XG4gIHNjaGVkdWxlOiBhbnkgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuc2NoZWR1bGUgPSB0aGlzLnZhbHVlKCk7XG4gICAgdGhpcy5zY2hlZHVsZS5zdGFydERhdGUgPSBtb21lbnQodGhpcy5zY2hlZHVsZS5zdGFydEF0KS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcbiAgICB0aGlzLnNjaGVkdWxlLnN0YXJ0VGltZSA9IG1vbWVudCh0aGlzLnNjaGVkdWxlLnN0YXJ0QXQpLmZvcm1hdCgnSEg6bW0nKTtcbiAgICB0aGlzLnNjaGVkdWxlLmVuZERhdGUgPSBtb21lbnQodGhpcy5zY2hlZHVsZS5lbmRBdCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgdGhpcy5zY2hlZHVsZS5lbmRUaW1lID0gbW9tZW50KHRoaXMuc2NoZWR1bGUuZW5kQXQpLmZvcm1hdCgnSEg6bW0nKTtcbiAgfSk7XG4gIC8vIGNvbnN0cnVjdG9yKCkge1xuICAvLyAgIHRoaXMuc2NoZWR1bGUgPSB0aGlzLnZhbHVlKCk7XG4gIC8vIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLnNjaGVkdWxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2codGhpcy52YWx1ZSgpKTtcbiAgICAvLyAgIHJldHVybiB0aGlzLnZhbHVlKCk7XG4gICAgLy8gfSkoKTtcbiAgICAvLyB0aGlzLnNjaGVkdWxlID0gdGhpcy52YWx1ZSgpO1xuICAgIC8vIHRoaXMuc2NoZWR1bGUuc3RhcnREYXRlID0gbW9tZW50KHRoaXMuc2NoZWR1bGUuc3RhcnRBdCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgLy8gdGhpcy5zY2hlZHVsZS5zdGFydFRpbWUgPSBtb21lbnQodGhpcy5zY2hlZHVsZS5zdGFydEF0KS5mb3JtYXQoJ0hIOm1tJyk7XG4gICAgLy8gdGhpcy5zY2hlZHVsZS5lbmREYXRlID0gbW9tZW50KHRoaXMuc2NoZWR1bGUuZW5kQXQpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgIC8vIHRoaXMuc2NoZWR1bGUuZW5kVGltZSA9IG1vbWVudCh0aGlzLnNjaGVkdWxlLmVuZEF0KS5mb3JtYXQoJ0hIOm1tJyk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgY29uc3QgeyBzdGFydEF0LCBlbmRBdCwgc3RhcnRUaW1lLCBzdGFydERhdGUsIGVuZERhdGUsIGVuZFRpbWUgfSA9IHRoaXMuc2NoZWR1bGU7XG4gICAgdGhpcy5zY2hlZHVsZS5zdGFydEF0ID0gdGhpcy5zY2hlZHVsZS5zdGFydERhdGUgKyAnICcgKyB0aGlzLnNjaGVkdWxlLnN0YXJ0VGltZTtcbiAgICB0aGlzLnNjaGVkdWxlLmVuZEF0ID0gdGhpcy5zY2hlZHVsZS5lbmREYXRlICsgJyAnICsgdGhpcy5zY2hlZHVsZS5lbmRUaW1lO1xuICAgIGRlbGV0ZSB0aGlzLnNjaGVkdWxlLnN0YXJ0RGF0ZTtcbiAgICBkZWxldGUgdGhpcy5zY2hlZHVsZS5zdGFydFRpbWU7XG4gICAgZGVsZXRlIHRoaXMuc2NoZWR1bGUuZW5kRGF0ZTtcbiAgICBkZWxldGUgdGhpcy5zY2hlZHVsZS5lbmRUaW1lO1xuICB9XG4gIHN0YXJ0RGF0ZUNoYW5nZWQoZXZlbnQ6IGFueSkge31cbiAgc3RhcnRUaW1lQ2hhbmdlZChldmVudDogYW55KSB7fVxuXG4gIGVuZERhdGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHt9XG4gIGVuZFRpbWVDaGFuZ2VkKGV2ZW50OiBhbnkpIHt9XG5cbiAgb25TYXZlKHNjaGVkdWxlOiBTY2hlZHVsZSkge1xuICAgIHRoaXMuZm9ybWF0KCk7XG4gICAgdGhpcy5zYXZlLmVtaXQoc2NoZWR1bGUpO1xuICB9XG4gIG9uRGVsZXRlKHNjaGVkdWxlOiBTY2hlZHVsZSkge1xuICAgIHRoaXMuZGVsZXRlLmVtaXQoc2NoZWR1bGUpO1xuICB9XG4gIHByaXZhdGUgZm9ybWF0KCkge1xuICAgIHRoaXMuc2NoZWR1bGUuc3RhcnRBdCA9IHRoaXMuc2NoZWR1bGUuc3RhcnREYXRlICsgJyAnICsgdGhpcy5zY2hlZHVsZS5zdGFydFRpbWU7XG4gICAgdGhpcy5zY2hlZHVsZS5lbmRBdCA9IHRoaXMuc2NoZWR1bGUuZW5kRGF0ZSArICcgJyArIHRoaXMuc2NoZWR1bGUuZW5kVGltZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgcHktM1wiPlxuICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICA8bWF0LWxhYmVsPiDmoIfpopggPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzY2hlZHVsZS50aXRsZVwiIG5hbWU9XCJ0aXRsZVwiIHJlcXVpcmVkIC8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgIDxtYXQtbGFiZWw+IOWGheWuuSA8L21hdC1sYWJlbD5cbiAgICA8dGV4dGFyZWFcbiAgICAgIG1hdElucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNjaGVkdWxlLmNvbnRlbnRcIlxuICAgICAgbmFtZT1cImNvbnRlbnRcIlxuICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiM1wiXG4gICAgICByZXF1aXJlZFxuICAgID48L3RleHRhcmVhPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtM1wiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPG1hdC1sYWJlbD7lvIDlp4vml6XmnJ88L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICAoZm9jdXMpPVwicGlja2VyLm9wZW4oKVwiXG4gICAgICAgIG5hbWU9XCJzdGFydEF0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzY2hlZHVsZS5zdGFydERhdGVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzdGFydERhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAoZGF0ZUlucHV0KT1cInNjaGVkdWxlLnN0YXJ0RGF0ZSA9ICRldmVudC52YWx1ZS5mb3JtYXQoJ1lZWVktTU0tREQnKVwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHJlcXVpcmVkXG4gICAgICAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICA8bWF0LWxhYmVsPuW8gOWni+aXtumXtDwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJzY2hlZHVsZS5zdGFydFRpbWVcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cInN0YXJ0VGltZUNoYW5nZWQoJGV2ZW50KVwiIHJlcXVpcmVkIHJlYWRvbmx5PlxuICAgICAgICBAZm9yIChkIG9mIGRhdGU7IHRyYWNrIGQpIHtcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiZFwiPlxuICAgICAgICAgICAge3sgZCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtM1wiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPG1hdC1sYWJlbD7nu5PmnZ/ml6XmnJ88L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIyXCJcbiAgICAgICAgbmFtZT1cImVuZEF0XCJcbiAgICAgICAgKGZvY3VzKT1cInBpY2tlcjIub3BlbigpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZW5kRGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2NoZWR1bGUuZW5kRGF0ZVwiXG4gICAgICAgIChkYXRlSW5wdXQpPVwic2NoZWR1bGUuZW5kRGF0ZSA9ICRldmVudC52YWx1ZS5mb3JtYXQoJ1lZWVktTU0tREQnKVwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHJlcXVpcmVkXG4gICAgICAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyMlwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXIyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgIDxtYXQtbGFiZWw+57uT5p2f5pe26Ze0PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInNjaGVkdWxlLmVuZFRpbWVcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cImVuZFRpbWVDaGFuZ2VkKCRldmVudClcIiByZXF1aXJlZCByZWFkb25seT5cbiAgICAgICAgQGZvciAoZCBvZiBkYXRlOyB0cmFjayBkKSB7XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImRcIj5cbiAgICAgICAgICAgIHt7IGQgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvZGl2PlxuQGlmIChhY3Rpb25zKCkpIHtcbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgcC00XCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZShzY2hlZHVsZSlcIj7liKDpmaQ8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uU2F2ZShzY2hlZHVsZSlcIj7kv53lrZg8L2J1dHRvbj5cbiAgPC9kaXY+XG59XG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiJdfQ==
|
|
@@ -64,10 +64,10 @@ export class CourseCategoryComponent extends BaseComponent {
|
|
|
64
64
|
relativeTo: this.route,
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseCategoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CourseCategoryComponent, isStandalone: true, selector: "rolatech-course-category", usesInheritance: true, ngImport: i0, template: "<div>\n @if (category) {\n <div class=\"p-3 hidden sm:block text-2xl font-medium\">{{ category.name }}</div>\n } @else {\n <div class=\"flex flex-row animate-pulse w-full\">\n <div class=\"h-4 bg-slate-200 rounded col-span-2\"></div>\n </div>\n }\n @if (loading) {\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\n <div class=\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\"></div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-slate-200 rounded col-span-2\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-slate-200 rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n @for (item of courses; track item) {\n <div\n class=\"py-2 cursor-pointer min-w-[80%] md:min-w-[25%] sm:min-w-[33%] hover:bg-gray-100\"\n [routerLink]=\"['../../', item.id]\"\n >\n <rolatech-course-item [course]=\"item\"></rolatech-course-item>\n </div>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: CourseItemComponent, selector: "rolatech-course-item", inputs: ["course", "row", "inset"] }] }); }
|
|
69
69
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseCategoryComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, CourseItemComponent], selector: 'rolatech-course-category', template: "<div>\n @if (category) {\n <div class=\"p-3 hidden sm:block text-2xl font-medium\">{{ category.name }}</div>\n } @else {\n <div class=\"flex flex-row animate-pulse w-full\">\n <div class=\"h-4 bg-slate-200 rounded col-span-2\"></div>\n </div>\n }\n @if (loading) {\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\n <div class=\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\"></div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-slate-200 rounded col-span-2\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-slate-200 rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n @for (item of courses; track item) {\n <div\n class=\"py-2 cursor-pointer min-w-[80%] md:min-w-[25%] sm:min-w-[33%] hover:bg-gray-100\"\n [routerLink]=\"['../../', item.id]\"\n >\n <rolatech-course-item [course]=\"item\"></rolatech-course-item>\n </div>\n }\n }\n</div>\n" }]
|
|
73
73
|
}] });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
1
|
+
import { Component, effect, inject } from '@angular/core';
|
|
2
2
|
import { CourseSectionLectureContentType, CourseStatus } from '../../../interfaces';
|
|
3
3
|
import { CourseSectionService, CourseService } from '../../../services';
|
|
4
4
|
import { AuthService, AuthUserService } from '@rolatech/angular-auth';
|
|
@@ -16,31 +16,30 @@ import { CourseSectionsComponent } from '../../../components/course-sections/cou
|
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export class CourseDetailComponent extends BaseComponent {
|
|
18
18
|
constructor() {
|
|
19
|
-
super(
|
|
19
|
+
super();
|
|
20
20
|
this.status = CourseStatus;
|
|
21
21
|
this.authService = inject(AuthService);
|
|
22
22
|
this.authUserService = inject(AuthUserService);
|
|
23
23
|
this.courseService = inject(CourseService);
|
|
24
24
|
this.viewportScroller = inject(ViewportScroller);
|
|
25
25
|
this.courseSectionService = inject(CourseSectionService);
|
|
26
|
+
this.authenticated = this.authService.authenticated;
|
|
26
27
|
this.instructorName = '';
|
|
27
28
|
this.username = '';
|
|
28
29
|
this.inWishList = false;
|
|
29
30
|
this.purchased = false;
|
|
30
31
|
this.sections = [];
|
|
31
32
|
this.type = CourseSectionLectureContentType;
|
|
33
|
+
effect(() => {
|
|
34
|
+
if (this.authenticated()) {
|
|
35
|
+
this.findPurchasedByCourseId();
|
|
36
|
+
this.findWishlistBy();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
32
39
|
}
|
|
33
40
|
ngOnInit() {
|
|
34
41
|
this.findOne();
|
|
35
42
|
this.findSections();
|
|
36
|
-
this.authService.introspect().subscribe({
|
|
37
|
-
next: (res) => {
|
|
38
|
-
if (res.authenticated) {
|
|
39
|
-
this.findPurchasedByCourseId();
|
|
40
|
-
this.findWishlistBy();
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
43
|
}
|
|
45
44
|
scrollToAnchor(anchorId) {
|
|
46
45
|
// this.viewportScroller.setOffset([100, 100]);
|
|
@@ -75,24 +74,17 @@ export class CourseDetailComponent extends BaseComponent {
|
|
|
75
74
|
});
|
|
76
75
|
}
|
|
77
76
|
onWish(e) {
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this.snackBarService.open('请先登录');
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
error: (error) => {
|
|
93
|
-
this.snackBarService.open(error.message);
|
|
94
|
-
},
|
|
95
|
-
});
|
|
77
|
+
if (this.authenticated()) {
|
|
78
|
+
if (this.inWishList) {
|
|
79
|
+
this.removeFromWishlist();
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.addToWishlist();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.snackBarService.open('请先登录');
|
|
87
|
+
}
|
|
96
88
|
}
|
|
97
89
|
checkout(e) {
|
|
98
90
|
this.router.navigateByUrl(`/carts/checkout/express/courses/${this.id}`);
|
|
@@ -116,15 +108,9 @@ export class CourseDetailComponent extends BaseComponent {
|
|
|
116
108
|
this.router.navigate(['/courses', this.course.id, 'sections', section.id, 'lectures', lecture.id]);
|
|
117
109
|
}
|
|
118
110
|
findWishlistBy() {
|
|
119
|
-
this.
|
|
111
|
+
this.courseService.findWishlistBy(this.id).subscribe({
|
|
120
112
|
next: (res) => {
|
|
121
|
-
|
|
122
|
-
this.courseService.findWishlistBy(this.id).subscribe({
|
|
123
|
-
next: (res) => {
|
|
124
|
-
this.inWishList = res.data;
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
}
|
|
113
|
+
this.inWishList = res.data;
|
|
128
114
|
},
|
|
129
115
|
});
|
|
130
116
|
}
|
|
@@ -135,10 +121,10 @@ export class CourseDetailComponent extends BaseComponent {
|
|
|
135
121
|
},
|
|
136
122
|
});
|
|
137
123
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CourseDetailComponent, isStandalone: true, selector: "rolatech-course-detail", usesInheritance: true, ngImport: i0, template: "@if (course) {\n <rolatech-app-container>\n <div class=\"flex flex-col-reverse gap-2 sm:flex-row md:flex-row w-full justify-between\">\n <div class=\"sm:w-3/4\">\n <rolatech-course-info [course]=\"course\" [instructor]=\"instructorName\" [username]=\"username\"> </rolatech-course-info>\n <rolatech-course-sections\n [sections]=\"sections\"\n (section)=\"onSection($event)\"\n (checkout)=\"checkout($event)\"\n [purchased]=\"purchased\"\n ></rolatech-course-sections>\n <rolatech-course-schedule [schedule]=\"course.schedule\"></rolatech-course-schedule>\n <rolatech-course-details [details]=\"course.details\"></rolatech-course-details>\n <rolatech-comments [itemId]=\"course.id\"></rolatech-comments>\n </div>\n <div>\n <!-- <rolatech-course-media [min]=\"!purchased\" [media]=\"course.media\" [min]=\"true\"></rolatech-course-media> -->\n <rolatech-course-media [media]=\"course.media\" [min]=\"true\"></rolatech-course-media>\n @if (!purchased) {\n <rolatech-course-pricing [pricing]=\"course.pricing\"></rolatech-course-pricing>\n <rolatech-course-action\n [course]=\"course\"\n (checkout)=\"checkout($event)\"\n (wish)=\"onWish($event)\"\n [inWishList]=\"inWishList\"\n ></rolatech-course-action>\n }\n </div>\n </div>\n </rolatech-app-container>\n}\n", styles: ["mat-expansion-panel mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: CourseInfoComponent, selector: "rolatech-course-info", inputs: ["course", "instructor", "username"] }, { kind: "component", type: CourseSectionsComponent, selector: "rolatech-course-sections", inputs: ["purchased", "sections"], outputs: ["section", "checkout"] }, { kind: "component", type: CourseScheduleComponent, selector: "rolatech-course-schedule", inputs: ["schedule"] }, { kind: "component", type: CourseDetailsComponent, selector: "rolatech-course-details", inputs: ["details", "instructor", "username"] }, { kind: "component", type: CourseMediaComponent, selector: "rolatech-course-media", inputs: ["media", "min"] }, { kind: "component", type: CoursePricingComponent, selector: "rolatech-course-pricing", inputs: ["pricing"] }, { kind: "component", type: CourseActionComponent, selector: "rolatech-course-action", inputs: ["course", "inWishList"], outputs: ["cart", "wish", "checkout"] }, { kind: "component", type: CommentsComponent, selector: "rolatech-comments", inputs: ["itemId"] }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }] }); }
|
|
140
126
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseDetailComponent, decorators: [{
|
|
142
128
|
type: Component,
|
|
143
129
|
args: [{ standalone: true, imports: [
|
|
144
130
|
AngularCommonModule,
|
|
@@ -153,5 +139,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
|
153
139
|
CommentsComponent,
|
|
154
140
|
AppContainerComponent,
|
|
155
141
|
], selector: 'rolatech-course-detail', template: "@if (course) {\n <rolatech-app-container>\n <div class=\"flex flex-col-reverse gap-2 sm:flex-row md:flex-row w-full justify-between\">\n <div class=\"sm:w-3/4\">\n <rolatech-course-info [course]=\"course\" [instructor]=\"instructorName\" [username]=\"username\"> </rolatech-course-info>\n <rolatech-course-sections\n [sections]=\"sections\"\n (section)=\"onSection($event)\"\n (checkout)=\"checkout($event)\"\n [purchased]=\"purchased\"\n ></rolatech-course-sections>\n <rolatech-course-schedule [schedule]=\"course.schedule\"></rolatech-course-schedule>\n <rolatech-course-details [details]=\"course.details\"></rolatech-course-details>\n <rolatech-comments [itemId]=\"course.id\"></rolatech-comments>\n </div>\n <div>\n <!-- <rolatech-course-media [min]=\"!purchased\" [media]=\"course.media\" [min]=\"true\"></rolatech-course-media> -->\n <rolatech-course-media [media]=\"course.media\" [min]=\"true\"></rolatech-course-media>\n @if (!purchased) {\n <rolatech-course-pricing [pricing]=\"course.pricing\"></rolatech-course-pricing>\n <rolatech-course-action\n [course]=\"course\"\n (checkout)=\"checkout($event)\"\n (wish)=\"onWish($event)\"\n [inWishList]=\"inWishList\"\n ></rolatech-course-action>\n }\n </div>\n </div>\n </rolatech-app-container>\n}\n", styles: ["mat-expansion-panel mat-icon{transform:scale(.8)}\n"] }]
|
|
156
|
-
}] });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvcGFnZXMvY291cnNlL2NvdXJzZS1kZXRhaWwvY291cnNlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvcGFnZXMvY291cnNlL2NvdXJzZS1kZXRhaWwvY291cnNlLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWlCLCtCQUErQixFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFB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U0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJIVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5R0NsQ2xDLHc3Q0ErQkEsNEdEYkksbUJBQW1CLDhCQUNuQix1QkFBdUIsK0JBQ3ZCLG1CQUFtQiwrR0FDbkIsdUJBQXVCLDBJQUN2Qix1QkFBdUIsMkZBQ3ZCLHNCQUFzQixtSEFDdEIsb0JBQW9CLDRGQUNwQixzQkFBc0IseUZBQ3RCLHFCQUFxQiw0SUFDckIsaUJBQWlCLGtGQUNqQixxQkFBcUI7OzJGQU1aLHFCQUFxQjtrQkFuQmpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QixZQUNTLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvdXJzZVNlY3Rpb24sIENvdXJzZVNlY3Rpb25MZWN0dXJlQ29udGVudFR5cGUsIENvdXJzZVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ291cnNlU2VjdGlvblNlcnZpY2UsIENvdXJzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQXV0aFVzZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQ29tbWVudHNDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tZW50JztcbmltcG9ydCB7IENvdXJzZUFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY291cnNlLWFjdGlvbi9jb3Vyc2UtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3Vyc2VEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jb3Vyc2UtZGV0YWlscy9jb3Vyc2UtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291cnNlSW5mb0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY291cnNlLWluZm8vY291cnNlLWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IENvdXJzZU1lZGlhQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jb3Vyc2UtbWVkaWEvY291cnNlLW1lZGlhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3Vyc2VQcmljaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jb3Vyc2UtcHJpY2luZy9jb3Vyc2UtcHJpY2luZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291cnNlU2NoZWR1bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvdXJzZS1zY2hlZHVsZS9jb3Vyc2Utc2NoZWR1bGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvdXJzZVNlY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jb3Vyc2Utc2VjdGlvbnMvY291cnNlLXNlY3Rpb25zLmNvbXBvbmVudCc7XG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgQ291cnNlSW5mb0NvbXBvbmVudCxcbiAgICBDb3Vyc2VTZWN0aW9uc0NvbXBvbmVudCxcbiAgICBDb3Vyc2VTY2hlZHVsZUNvbXBvbmVudCxcbiAgICBDb3Vyc2VEZXRhaWxzQ29tcG9uZW50LFxuICAgIENvdXJzZU1lZGlhQ29tcG9uZW50LFxuICAgIENvdXJzZVByaWNpbmdDb21wb25lbnQsXG4gICAgQ291cnNlQWN0aW9uQ29tcG9uZW50LFxuICAgIENvbW1lbnRzQ29tcG9uZW50LFxuICAgIEFwcENvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jb3Vyc2UtZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3Vyc2UtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZURldGFpbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb3Vyc2U6IGFueTtcbiAgc3RhdHVzOiBhbnkgPSBDb3Vyc2VTdGF0dXM7XG4gIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgYXV0aFVzZXJTZXJ2aWNlID0gaW5qZWN0KEF1dGhVc2VyU2VydmljZSk7XG4gIGNvdXJzZVNlcnZpY2UgPSBpbmplY3QoQ291cnNlU2VydmljZSk7XG4gIHZpZXdwb3J0U2Nyb2xsZXIgPSBpbmplY3QoVmlld3BvcnRTY3JvbGxlcik7XG4gIGNvdXJzZVNlY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvdXJzZVNlY3Rpb25TZXJ2aWNlKTtcbiAgaW5zdHJ1Y3Rvck5hbWUgPSAnJztcbiAgdXNlcm5hbWUgPSAnJztcbiAgaW5XaXNoTGlzdCA9IGZhbHNlO1xuICBwdXJjaGFzZWQgPSBmYWxzZTtcbiAgc2VjdGlvbnM6IENvdXJzZVNlY3Rpb25bXSA9IFtdO1xuICB0eXBlID0gQ291cnNlU2VjdGlvbkxlY3R1cmVDb250ZW50VHlwZTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kT25lKCk7XG4gICAgdGhpcy5maW5kU2VjdGlvbnMoKTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmludHJvc3BlY3QoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLmF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICB0aGlzLmZpbmRQdXJjaGFzZWRCeUNvdXJzZUlkKCk7XG4gICAgICAgICAgdGhpcy5maW5kV2lzaGxpc3RCeSgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHNjcm9sbFRvQW5jaG9yKGFuY2hvcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2V0T2Zmc2V0KFsxMDAsIDEwMF0pO1xuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFuY2hvcklkKT8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdzdGFydCcsXG4gICAgICBpbmxpbmU6ICduZWFyZXN0JyxcbiAgICB9KTtcbiAgfVxuICBmaW5kT25lKCkge1xuICAgIHRoaXMuY291cnNlU2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvdXJzZSA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLmZpbmRVc2VyQmFzZUluZm8odGhpcy5jb3Vyc2UuaW5zdHJ1Y3RvcklkKTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYCR7dGhpcy5jb3Vyc2UubmFtZX0gLSDmi7zlsI/or75gKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZFNlY3Rpb25zKCkge1xuICAgIHRoaXMuY291cnNlU2VjdGlvblNlcnZpY2UuZmluZFNlY3Rpb25zKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc2VjdGlvbnMgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZFVzZXJCYXNlSW5mbyh1c2VySWQ6IHN0cmluZykge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmdldFB1YmxpY1VzZXJJbmZvKHVzZXJJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5pbnN0cnVjdG9yTmFtZSA9IHJlcy5uYW1lO1xuICAgICAgICB0aGlzLnVzZXJuYW1lID0gcmVzLnVzZXJuYW1lO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvbldpc2goZTogYW55KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5pbnRyb3NwZWN0KCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5hdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgaWYgKHRoaXMuaW5XaXNoTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVGcm9tV2lzaGxpc3QoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGRUb1dpc2hsaXN0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ+ivt+WFiOeZu+W9lScpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjaGVja291dChlOiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvY2FydHMvY2hlY2tvdXQvZXhwcmVzcy9jb3Vyc2VzLyR7dGhpcy5pZH1gKTtcbiAgfVxuICBwcml2YXRlIHJlbW92ZUZyb21XaXNobGlzdCgpIHtcbiAgICB0aGlzLmNvdXJzZVNlcnZpY2UucmVtb3ZlRnJvbVdpc2hsaXN0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuaW5XaXNoTGlzdCA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGFkZFRvV2lzaGxpc3QoKSB7XG4gICAgdGhpcy5jb3Vyc2VTZXJ2aWNlLmFkZFRvV2lzaGxpc3QodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5pbldpc2hMaXN0ID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgb25TZWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB7IHNlY3Rpb24sIGxlY3R1cmUgfSA9IGV2ZW50O1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2NvdXJzZXMnLCB0aGlzLmNvdXJzZS5pZCwgJ3NlY3Rpb25zJywgc2VjdGlvbi5pZCwgJ2xlY3R1cmVzJywgbGVjdHVyZS5pZF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kV2lzaGxpc3RCeSgpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmludHJvc3BlY3QoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLmF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICB0aGlzLmNvdXJzZVNlcnZpY2UuZmluZFdpc2hsaXN0QnkodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmluV2lzaExpc3QgPSByZXMuZGF0YTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZFB1cmNoYXNlZEJ5Q291cnNlSWQoKSB7XG4gICAgdGhpcy5jb3Vyc2VTZXJ2aWNlLmZpbmRQdXJjaGFzZWRCeUNvdXJzZUlkKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wdXJjaGFzZWQgPSByZXMuZGF0YSA/IHRydWUgOiBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAoY291cnNlKSB7XG4gIDxyb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sLXJldmVyc2UgZ2FwLTIgc206ZmxleC1yb3cgbWQ6ZmxleC1yb3cgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNtOnctMy80XCI+XG4gICAgICAgIDxyb2xhdGVjaC1jb3Vyc2UtaW5mbyBbY291cnNlXT1cImNvdXJzZVwiIFtpbnN0cnVjdG9yXT1cImluc3RydWN0b3JOYW1lXCIgW3VzZXJuYW1lXT1cInVzZXJuYW1lXCI+IDwvcm9sYXRlY2gtY291cnNlLWluZm8+XG4gICAgICAgIDxyb2xhdGVjaC1jb3Vyc2Utc2VjdGlvbnNcbiAgICAgICAgICBbc2VjdGlvbnNdPVwic2VjdGlvbnNcIlxuICAgICAgICAgIChzZWN0aW9uKT1cIm9uU2VjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAoY2hlY2tvdXQpPVwiY2hlY2tvdXQoJGV2ZW50KVwiXG4gICAgICAgICAgW3B1cmNoYXNlZF09XCJwdXJjaGFzZWRcIlxuICAgICAgICA+PC9yb2xhdGVjaC1jb3Vyc2Utc2VjdGlvbnM+XG4gICAgICAgIDxyb2xhdGVjaC1jb3Vyc2Utc2NoZWR1bGUgW3NjaGVkdWxlXT1cImNvdXJzZS5zY2hlZHVsZVwiPjwvcm9sYXRlY2gtY291cnNlLXNjaGVkdWxlPlxuICAgICAgICA8cm9sYXRlY2gtY291cnNlLWRldGFpbHMgW2RldGFpbHNdPVwiY291cnNlLmRldGFpbHNcIj48L3JvbGF0ZWNoLWNvdXJzZS1kZXRhaWxzPlxuICAgICAgICA8cm9sYXRlY2gtY29tbWVudHMgW2l0ZW1JZF09XCJjb3Vyc2UuaWRcIj48L3JvbGF0ZWNoLWNvbW1lbnRzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8IS0tIDxyb2xhdGVjaC1jb3Vyc2UtbWVkaWEgW21pbl09XCIhcHVyY2hhc2VkXCIgW21lZGlhXT1cImNvdXJzZS5tZWRpYVwiIFttaW5dPVwidHJ1ZVwiPjwvcm9sYXRlY2gtY291cnNlLW1lZGlhPiAtLT5cbiAgICAgICAgPHJvbGF0ZWNoLWNvdXJzZS1tZWRpYSBbbWVkaWFdPVwiY291cnNlLm1lZGlhXCIgW21pbl09XCJ0cnVlXCI+PC9yb2xhdGVjaC1jb3Vyc2UtbWVkaWE+XG4gICAgICAgIEBpZiAoIXB1cmNoYXNlZCkge1xuICAgICAgICAgIDxyb2xhdGVjaC1jb3Vyc2UtcHJpY2luZyBbcHJpY2luZ109XCJjb3Vyc2UucHJpY2luZ1wiPjwvcm9sYXRlY2gtY291cnNlLXByaWNpbmc+XG4gICAgICAgICAgPHJvbGF0ZWNoLWNvdXJzZS1hY3Rpb25cbiAgICAgICAgICAgIFtjb3Vyc2VdPVwiY291cnNlXCJcbiAgICAgICAgICAgIChjaGVja291dCk9XCJjaGVja291dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICh3aXNoKT1cIm9uV2lzaCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtpbldpc2hMaXN0XT1cImluV2lzaExpc3RcIlxuICAgICAgICAgID48L3JvbGF0ZWNoLWNvdXJzZS1hY3Rpb24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3JvbGF0ZWNoLWFwcC1jb250YWluZXI+XG59XG4iXX0=
|
|
142
|
+
}], ctorParameters: () => [] });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvcGFnZXMvY291cnNlL2NvdXJzZS1kZXRhaWwvY291cnNlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvcGFnZXMvY291cnNlL2NvdXJzZS1kZXRhaWwvY291cnNlLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFpQiwrQkFBK0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFv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QXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QixZQUNTLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ291cnNlU2VjdGlvbiwgQ291cnNlU2VjdGlvbkxlY3R1cmVDb250ZW50VHlwZSwgQ291cnNlU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb3Vyc2VTZWN0aW9uU2VydmljZSwgQ291cnNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBBcHBDb250YWluZXJDb21wb25lbnQsIEJhc2VDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFZpZXdwb3J0U2Nyb2xsZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBDb21tZW50c0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1lbnQnO1xuaW1wb3J0IHsgQ291cnNlQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jb3Vyc2UtYWN0aW9uL2NvdXJzZS1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENvdXJzZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvdXJzZS1kZXRhaWxzL2NvdXJzZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3Vyc2VJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jb3Vyc2UtaW5mby9jb3Vyc2UtaW5mby5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291cnNlTWVkaWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvdXJzZS1tZWRpYS9jb3Vyc2UtbWVkaWEuY29tcG9uZW50JztcbmltcG9ydCB7IENvdXJzZVByaWNpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvdXJzZS1wcmljaW5nL2NvdXJzZS1wcmljaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3Vyc2VTY2hlZHVsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY291cnNlLXNjaGVkdWxlL2NvdXJzZS1zY2hlZHVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291cnNlU2VjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvdXJzZS1zZWN0aW9ucy9jb3Vyc2Utc2VjdGlvbnMuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBDb3Vyc2VJbmZvQ29tcG9uZW50LFxuICAgIENvdXJzZVNlY3Rpb25zQ29tcG9uZW50LFxuICAgIENvdXJzZVNjaGVkdWxlQ29tcG9uZW50LFxuICAgIENvdXJzZURldGFpbHNDb21wb25lbnQsXG4gICAgQ291cnNlTWVkaWFDb21wb25lbnQsXG4gICAgQ291cnNlUHJpY2luZ0NvbXBvbmVudCxcbiAgICBDb3Vyc2VBY3Rpb25Db21wb25lbnQsXG4gICAgQ29tbWVudHNDb21wb25lbnQsXG4gICAgQXBwQ29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNvdXJzZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY291cnNlLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ291cnNlRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvdXJzZTogYW55O1xuICBzdGF0dXM6IGFueSA9IENvdXJzZVN0YXR1cztcbiAgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgY291cnNlU2VydmljZSA9IGluamVjdChDb3Vyc2VTZXJ2aWNlKTtcbiAgdmlld3BvcnRTY3JvbGxlciA9IGluamVjdChWaWV3cG9ydFNjcm9sbGVyKTtcbiAgY291cnNlU2VjdGlvblNlcnZpY2UgPSBpbmplY3QoQ291cnNlU2VjdGlvblNlcnZpY2UpO1xuICBhdXRoZW50aWNhdGVkID0gdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGVkO1xuICBpbnN0cnVjdG9yTmFtZSA9ICcnO1xuICB1c2VybmFtZSA9ICcnO1xuICBpbldpc2hMaXN0ID0gZmFsc2U7XG4gIHB1cmNoYXNlZCA9IGZhbHNlO1xuICBzZWN0aW9uczogQ291cnNlU2VjdGlvbltdID0gW107XG4gIHR5cGUgPSBDb3Vyc2VTZWN0aW9uTGVjdHVyZUNvbnRlbnRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmF1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgICB0aGlzLmZpbmRQdXJjaGFzZWRCeUNvdXJzZUlkKCk7XG4gICAgICAgIHRoaXMuZmluZFdpc2hsaXN0QnkoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmRPbmUoKTtcbiAgICB0aGlzLmZpbmRTZWN0aW9ucygpO1xuICB9XG4gIHNjcm9sbFRvQW5jaG9yKGFuY2hvcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2V0T2Zmc2V0KFsxMDAsIDEwMF0pO1xuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFuY2hvcklkKT8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdzdGFydCcsXG4gICAgICBpbmxpbmU6ICduZWFyZXN0JyxcbiAgICB9KTtcbiAgfVxuICBmaW5kT25lKCkge1xuICAgIHRoaXMuY291cnNlU2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvdXJzZSA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLmZpbmRVc2VyQmFzZUluZm8odGhpcy5jb3Vyc2UuaW5zdHJ1Y3RvcklkKTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYCR7dGhpcy5jb3Vyc2UubmFtZX0gLSDmi7zlsI/or75gKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZFNlY3Rpb25zKCkge1xuICAgIHRoaXMuY291cnNlU2VjdGlvblNlcnZpY2UuZmluZFNlY3Rpb25zKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc2VjdGlvbnMgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZFVzZXJCYXNlSW5mbyh1c2VySWQ6IHN0cmluZykge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmdldFB1YmxpY1VzZXJJbmZvKHVzZXJJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5pbnN0cnVjdG9yTmFtZSA9IHJlcy5uYW1lO1xuICAgICAgICB0aGlzLnVzZXJuYW1lID0gcmVzLnVzZXJuYW1lO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvbldpc2goZTogYW55KSB7XG4gICAgaWYgKHRoaXMuYXV0aGVudGljYXRlZCgpKSB7XG4gICAgICBpZiAodGhpcy5pbldpc2hMaXN0KSB7XG4gICAgICAgIHRoaXMucmVtb3ZlRnJvbVdpc2hsaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFRvV2lzaGxpc3QoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3Blbign6K+35YWI55m75b2VJyk7XG4gICAgfVxuICB9XG4gIGNoZWNrb3V0KGU6IGFueSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9jYXJ0cy9jaGVja291dC9leHByZXNzL2NvdXJzZXMvJHt0aGlzLmlkfWApO1xuICB9XG4gIHByaXZhdGUgcmVtb3ZlRnJvbVdpc2hsaXN0KCkge1xuICAgIHRoaXMuY291cnNlU2VydmljZS5yZW1vdmVGcm9tV2lzaGxpc3QodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5pbldpc2hMaXN0ID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgYWRkVG9XaXNobGlzdCgpIHtcbiAgICB0aGlzLmNvdXJzZVNlcnZpY2UuYWRkVG9XaXNobGlzdCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmluV2lzaExpc3QgPSB0cnVlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblNlY3Rpb24oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgc2VjdGlvbiwgbGVjdHVyZSB9ID0gZXZlbnQ7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvY291cnNlcycsIHRoaXMuY291cnNlLmlkLCAnc2VjdGlvbnMnLCBzZWN0aW9uLmlkLCAnbGVjdHVyZXMnLCBsZWN0dXJlLmlkXSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRXaXNobGlzdEJ5KCkge1xuICAgIHRoaXMuY291cnNlU2VydmljZS5maW5kV2lzaGxpc3RCeSh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaW5XaXNoTGlzdCA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kUHVyY2hhc2VkQnlDb3Vyc2VJZCgpIHtcbiAgICB0aGlzLmNvdXJzZVNlcnZpY2UuZmluZFB1cmNoYXNlZEJ5Q291cnNlSWQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnB1cmNoYXNlZCA9IHJlcy5kYXRhID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChjb3Vyc2UpIHtcbiAgPHJvbGF0ZWNoLWFwcC1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wtcmV2ZXJzZSBnYXAtMiBzbTpmbGV4LXJvdyBtZDpmbGV4LXJvdyB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic206dy0zLzRcIj5cbiAgICAgICAgPHJvbGF0ZWNoLWNvdXJzZS1pbmZvIFtjb3Vyc2VdPVwiY291cnNlXCIgW2luc3RydWN0b3JdPVwiaW5zdHJ1Y3Rvck5hbWVcIiBbdXNlcm5hbWVdPVwidXNlcm5hbWVcIj4gPC9yb2xhdGVjaC1jb3Vyc2UtaW5mbz5cbiAgICAgICAgPHJvbGF0ZWNoLWNvdXJzZS1zZWN0aW9uc1xuICAgICAgICAgIFtzZWN0aW9uc109XCJzZWN0aW9uc1wiXG4gICAgICAgICAgKHNlY3Rpb24pPVwib25TZWN0aW9uKCRldmVudClcIlxuICAgICAgICAgIChjaGVja291dCk9XCJjaGVja291dCgkZXZlbnQpXCJcbiAgICAgICAgICBbcHVyY2hhc2VkXT1cInB1cmNoYXNlZFwiXG4gICAgICAgID48L3JvbGF0ZWNoLWNvdXJzZS1zZWN0aW9ucz5cbiAgICAgICAgPHJvbGF0ZWNoLWNvdXJzZS1zY2hlZHVsZSBbc2NoZWR1bGVdPVwiY291cnNlLnNjaGVkdWxlXCI+PC9yb2xhdGVjaC1jb3Vyc2Utc2NoZWR1bGU+XG4gICAgICAgIDxyb2xhdGVjaC1jb3Vyc2UtZGV0YWlscyBbZGV0YWlsc109XCJjb3Vyc2UuZGV0YWlsc1wiPjwvcm9sYXRlY2gtY291cnNlLWRldGFpbHM+XG4gICAgICAgIDxyb2xhdGVjaC1jb21tZW50cyBbaXRlbUlkXT1cImNvdXJzZS5pZFwiPjwvcm9sYXRlY2gtY29tbWVudHM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDwhLS0gPHJvbGF0ZWNoLWNvdXJzZS1tZWRpYSBbbWluXT1cIiFwdXJjaGFzZWRcIiBbbWVkaWFdPVwiY291cnNlLm1lZGlhXCIgW21pbl09XCJ0cnVlXCI+PC9yb2xhdGVjaC1jb3Vyc2UtbWVkaWE+IC0tPlxuICAgICAgICA8cm9sYXRlY2gtY291cnNlLW1lZGlhIFttZWRpYV09XCJjb3Vyc2UubWVkaWFcIiBbbWluXT1cInRydWVcIj48L3JvbGF0ZWNoLWNvdXJzZS1tZWRpYT5cbiAgICAgICAgQGlmICghcHVyY2hhc2VkKSB7XG4gICAgICAgICAgPHJvbGF0ZWNoLWNvdXJzZS1wcmljaW5nIFtwcmljaW5nXT1cImNvdXJzZS5wcmljaW5nXCI+PC9yb2xhdGVjaC1jb3Vyc2UtcHJpY2luZz5cbiAgICAgICAgICA8cm9sYXRlY2gtY291cnNlLWFjdGlvblxuICAgICAgICAgICAgW2NvdXJzZV09XCJjb3Vyc2VcIlxuICAgICAgICAgICAgKGNoZWNrb3V0KT1cImNoZWNrb3V0KCRldmVudClcIlxuICAgICAgICAgICAgKHdpc2gpPVwib25XaXNoKCRldmVudClcIlxuICAgICAgICAgICAgW2luV2lzaExpc3RdPVwiaW5XaXNoTGlzdFwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtY291cnNlLWFjdGlvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbn1cbiJdfQ==
|
|
@@ -43,10 +43,10 @@ export class CourseIndexComponent extends BaseComponent {
|
|
|
43
43
|
},
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseIndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CourseIndexComponent, isStandalone: true, selector: "rolatech-course-index", usesInheritance: true, ngImport: i0, template: "<div class=\"min-w-[320px] max-w-[1120px] m-auto\">\n <div class=\"p-3 hidden sm:block text-2xl font-medium\">\u5168\u90E8\u8BFE\u7A0B</div>\n @if (loading) {\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\n <div class=\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\"></div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-slate-200 rounded col-span-2\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-slate-200 rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n @for (item of courses; track $index) {\n <div\n class=\"py-2 cursor-pointer min-w-[80%] md:min-w-[25%] sm:min-w-[33%] hover:bg-gray-100\"\n [routerLink]=\"['./', item.id]\"\n >\n <rolatech-course-item [course]=\"item\"></rolatech-course-item>\n </div>\n }\n }\n</div>\n", styles: ["img:before{border-radius:12px}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: CourseItemComponent, selector: "rolatech-course-item", inputs: ["course", "row", "inset"] }] }); }
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseIndexComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
51
|
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, CourseItemComponent], selector: 'rolatech-course-index', template: "<div class=\"min-w-[320px] max-w-[1120px] m-auto\">\n <div class=\"p-3 hidden sm:block text-2xl font-medium\">\u5168\u90E8\u8BFE\u7A0B</div>\n @if (loading) {\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\n <div class=\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\"></div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-slate-200 rounded col-span-2\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1\"></div>\n <div class=\"h-2 bg-slate-200 rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-slate-200 rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n @for (item of courses; track $index) {\n <div\n class=\"py-2 cursor-pointer min-w-[80%] md:min-w-[25%] sm:min-w-[33%] hover:bg-gray-100\"\n [routerLink]=\"['./', item.id]\"\n >\n <rolatech-course-item [course]=\"item\"></rolatech-course-item>\n </div>\n }\n }\n</div>\n", styles: ["img:before{border-radius:12px}\n"] }]
|
|
52
52
|
}] });
|
|
@@ -39,10 +39,10 @@ export class CourseLayoutComponent extends BaseComponent {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
nextCategory() { }
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CourseLayoutComponent, isStandalone: true, selector: "rolatech-course-layout", usesInheritance: true, ngImport: i0, template: "@if (categories) {\n <rolatech-app-container>\n <div class=\"flex flex-col sm:flex-row min-w-[320px] max-w-[1280px] m-auto\">\n <div class=\"h-14 sm:h-auto min-w-[256px] sm:py-3\">\n <div class=\"hidden sm:block text-2xl font-medium p-3\">\u5206\u7C7B</div>\n <div\n class=\"flex flex-row sm:flex-col sm:h-full items-center sm:items-start h-14 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\"\n >\n <a\n class=\"cursor-pointer h-8 sm:hover:bg-gray-200 hover:rounded flex items-center sm:mb-1\"\n routerLinkActive=\"active\"\n routerLink=\"/courses\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md sm:text-lg\">\u5168\u90E8</span>\n </a>\n @for (category of categories; track category; let index = $index) {\n <a\n class=\"cursor-pointer h-8 sm:hover:bg-gray-200 hover:rounded flex items-center sm:mb-1\"\n routerLinkActive=\"active\"\n [routerLink]=\"['../courses/categories/', category.id]\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md sm:text-lg\">{{ category.name }}</span>\n </a>\n }\n </div>\n </div>\n <div class=\"w-full sm:py-3\">\n <router-outlet></router-outlet>\n </div>\n </div>\n </rolatech-app-container>\n}\n", styles: [".active{border-radius:8px;color:#ff4500}@media (max-width: 600px){.active{border-radius:8px;background-color:#303030;color:#fff}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }] }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CourseLayoutComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, AppContainerComponent], selector: 'rolatech-course-layout', template: "@if (categories) {\n <rolatech-app-container>\n <div class=\"flex flex-col sm:flex-row min-w-[320px] max-w-[1280px] m-auto\">\n <div class=\"h-14 sm:h-auto min-w-[256px] sm:py-3\">\n <div class=\"hidden sm:block text-2xl font-medium p-3\">\u5206\u7C7B</div>\n <div\n class=\"flex flex-row sm:flex-col sm:h-full items-center sm:items-start h-14 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\"\n >\n <a\n class=\"cursor-pointer h-8 sm:hover:bg-gray-200 hover:rounded flex items-center sm:mb-1\"\n routerLinkActive=\"active\"\n routerLink=\"/courses\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md sm:text-lg\">\u5168\u90E8</span>\n </a>\n @for (category of categories; track category; let index = $index) {\n <a\n class=\"cursor-pointer h-8 sm:hover:bg-gray-200 hover:rounded flex items-center sm:mb-1\"\n routerLinkActive=\"active\"\n [routerLink]=\"['../courses/categories/', category.id]\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md sm:text-lg\">{{ category.name }}</span>\n </a>\n }\n </div>\n </div>\n <div class=\"w-full sm:py-3\">\n <router-outlet></router-outlet>\n </div>\n </div>\n </rolatech-app-container>\n}\n", styles: [".active{border-radius:8px;color:#ff4500}@media (max-width: 600px){.active{border-radius:8px;background-color:#303030;color:#fff}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\n"] }]
|
|
48
48
|
}] });
|