@rolatech/angular-instructor 20.1.6-beta.5 → 20.1.6-beta.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.
@@ -71,10 +71,10 @@ class InstructorLocationComponent extends BaseComponent {
71
71
  },
72
72
  });
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InstructorLocationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: InstructorLocationComponent, isStandalone: true, selector: "rolatech-instructor-location", inputs: { isUploading: { classPropertyName: "isUploading", publicName: "isUploading", isSignal: true, isRequired: false, transformFunction: null }, classroom: { classPropertyName: "classroom", publicName: "classroom", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, selectMedia: { classPropertyName: "selectMedia", publicName: "selectMedia", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { upload: "upload", delete: "delete", save: "save", deleteMedia: "deleteMedia", mediaItemClick: "mediaItemClick" }, usesInheritance: true, ngImport: i0, template: "<div class=\"mb-8\">\n <div class=\"flex flex-col pt-6\">\n <div class=\"flex flex-col\">\n <!-- base -->\n <div class=\"flex flex-col\">\n <rolatech-title title=\"\u57FA\u672C\u4FE1\u606F\"></rolatech-title>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput [(ngModel)]=\"classroom().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Contact </mat-label>\n <input matInput [(ngModel)]=\"classroom().contact\" name=\"contact\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput [(ngModel)]=\"classroom().phone\" name=\"phone\" required />\n </mat-form-field>\n </div>\n <!-- location -->\n <div class=\"flex flex-col\">\n <div class=\"py-3 flex justify-between\">\n <rolatech-title title=\"\u57FA\u672C\u4FE1\u606F\"></rolatech-title>\n\n <button mat-stroked-button (click)=\"selectLocation()\" i18n>Location select</button>\n </div>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Province </mat-label>\n <input matInput [(ngModel)]=\"classroom().province\" name=\"province\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> City </mat-label>\n <input matInput [(ngModel)]=\"classroom().city\" name=\"city\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> County </mat-label>\n <input matInput [(ngModel)]=\"classroom().county\" name=\"county\" required disabled />\n </mat-form-field>\n </div>\n <!-- <mat-form-field appearance=\"fill\">\n <mat-label i18n> Street </mat-label>\n <input\n matInput\n [(ngModel)]=\"classroom().town\"\n name=\"town\"\n required\n readonly\n />\n </mat-form-field> -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> <Address></Address> </mat-label>\n <input matInput [(ngModel)]=\"classroom().address\" name=\"address\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Detail </mat-label>\n <textarea\n matInput\n [(ngModel)]=\"classroom().detail\"\n name=\"detail\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n </div>\n </div>\n <div>\n <div class=\"py-3\">\n <rolatech-title title=\"Basic info\"></rolatech-title>\n <div class=\"text-sm font-thin text-gray-500\" i18n>Limit 5MB per image</div>\n </div>\n <!-- media -->\n <div>\n <rolatech-media-list (upload)=\"onUploadMedia($event)\" [isUploading]=\"isUploading()\">\n @for (item of classroom().media; track item; let i = $index) {\n <rolatech-media-list-item\n [media]=\"item\"\n (mediaItemClick)=\"onMediaItemClick(i, item)\"\n (deleteMedia)=\"onDeleteMedia(classroom().id, item)\"\n ></rolatech-media-list-item>\n }\n </rolatech-media-list>\n </div>\n </div>\n </div>\n</div>\n@if (actions()) {\n <div class=\"flex flex-row justify-end p-4\">\n <button mat-button (click)=\"onDelete(classroom())\" i18n>Delete</button>\n <button mat-flat-button (click)=\"onSave(classroom())\" i18n>Save</button>\n </div>\n}\n", styles: [".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:80px;width:80px;object-fit:contain;cursor:pointer;border:1px solid grey;padding:6px;position:relative;box-sizing:border-box}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], 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: MatButtonModule }, { kind: "component", type: i5.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: TextFieldModule }, { kind: "component", type: MediaListComponent, selector: "rolatech-media-list", inputs: ["isUploading", "media", "showAdd"], outputs: ["mediaItemClick", "upload"] }, { kind: "component", type: MediaListItemComponent, selector: "rolatech-media-list-item", inputs: ["media", "uploadProgress", "uploading"], outputs: ["mediaItemClick", "deleteMedia"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: TitleComponent, selector: "rolatech-title", inputs: ["title", "subtitle", "large"] }] }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: InstructorLocationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: InstructorLocationComponent, isStandalone: true, selector: "rolatech-instructor-location", inputs: { isUploading: { classPropertyName: "isUploading", publicName: "isUploading", isSignal: true, isRequired: false, transformFunction: null }, classroom: { classPropertyName: "classroom", publicName: "classroom", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, selectMedia: { classPropertyName: "selectMedia", publicName: "selectMedia", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { upload: "upload", delete: "delete", save: "save", deleteMedia: "deleteMedia", mediaItemClick: "mediaItemClick" }, usesInheritance: true, ngImport: i0, template: "<div class=\"mb-8\">\n <div class=\"flex flex-col pt-6\">\n <div class=\"flex flex-col\">\n <!-- base -->\n <div class=\"flex flex-col\">\n <rolatech-title title=\"\u57FA\u672C\u4FE1\u606F\"></rolatech-title>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput [(ngModel)]=\"classroom().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Contact </mat-label>\n <input matInput [(ngModel)]=\"classroom().contact\" name=\"contact\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput [(ngModel)]=\"classroom().phone\" name=\"phone\" required />\n </mat-form-field>\n </div>\n <!-- location -->\n <div class=\"flex flex-col\">\n <div class=\"py-3 flex justify-between\">\n <rolatech-title title=\"\u57FA\u672C\u4FE1\u606F\"></rolatech-title>\n\n <button mat-stroked-button (click)=\"selectLocation()\" i18n>Location select</button>\n </div>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Province </mat-label>\n <input matInput [(ngModel)]=\"classroom().province\" name=\"province\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> City </mat-label>\n <input matInput [(ngModel)]=\"classroom().city\" name=\"city\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> County </mat-label>\n <input matInput [(ngModel)]=\"classroom().county\" name=\"county\" required disabled />\n </mat-form-field>\n </div>\n <!-- <mat-form-field appearance=\"fill\">\n <mat-label i18n> Street </mat-label>\n <input\n matInput\n [(ngModel)]=\"classroom().town\"\n name=\"town\"\n required\n readonly\n />\n </mat-form-field> -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> <Address></Address> </mat-label>\n <input matInput [(ngModel)]=\"classroom().address\" name=\"address\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Detail </mat-label>\n <textarea\n matInput\n [(ngModel)]=\"classroom().detail\"\n name=\"detail\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n </div>\n </div>\n <div>\n <div class=\"py-3\">\n <rolatech-title title=\"Basic info\"></rolatech-title>\n <div class=\"text-sm font-thin text-gray-500\" i18n>Limit 5MB per image</div>\n </div>\n <!-- media -->\n <div>\n <rolatech-media-list (upload)=\"onUploadMedia($event)\" [isUploading]=\"isUploading()\">\n @for (item of classroom().media; track item; let i = $index) {\n <rolatech-media-list-item\n [media]=\"item\"\n (mediaItemClick)=\"onMediaItemClick(i, item)\"\n (deleteMedia)=\"onDeleteMedia(classroom().id, item)\"\n ></rolatech-media-list-item>\n }\n </rolatech-media-list>\n </div>\n </div>\n </div>\n</div>\n@if (actions()) {\n <div class=\"flex flex-row justify-end p-4\">\n <button mat-button (click)=\"onDelete(classroom())\" i18n>Delete</button>\n <button mat-flat-button (click)=\"onSave(classroom())\" i18n>Save</button>\n </div>\n}\n", styles: [".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:80px;width:80px;object-fit:contain;cursor:pointer;border:1px solid grey;padding:6px;position:relative;box-sizing:border-box}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], 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: MatButtonModule }, { kind: "component", type: i5.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: TextFieldModule }, { kind: "component", type: MediaListComponent, selector: "rolatech-media-list", inputs: ["isUploading", "media", "showAdd"], outputs: ["mediaItemClick", "upload"] }, { kind: "component", type: MediaListItemComponent, selector: "rolatech-media-list-item", inputs: ["media", "uploadProgress", "uploading"], outputs: ["mediaItemClick", "deleteMedia"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: TitleComponent, selector: "rolatech-title", inputs: ["title", "subtitle", "large"] }] }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InstructorLocationComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: InstructorLocationComponent, decorators: [{
78
78
  type: Component,
79
79
  args: [{ selector: 'rolatech-instructor-location', imports: [
80
80
  MatFormFieldModule,
@@ -87,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
87
87
  MatDividerModule,
88
88
  TitleComponent,
89
89
  ], template: "<div class=\"mb-8\">\n <div class=\"flex flex-col pt-6\">\n <div class=\"flex flex-col\">\n <!-- base -->\n <div class=\"flex flex-col\">\n <rolatech-title title=\"\u57FA\u672C\u4FE1\u606F\"></rolatech-title>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput [(ngModel)]=\"classroom().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Contact </mat-label>\n <input matInput [(ngModel)]=\"classroom().contact\" name=\"contact\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput [(ngModel)]=\"classroom().phone\" name=\"phone\" required />\n </mat-form-field>\n </div>\n <!-- location -->\n <div class=\"flex flex-col\">\n <div class=\"py-3 flex justify-between\">\n <rolatech-title title=\"\u57FA\u672C\u4FE1\u606F\"></rolatech-title>\n\n <button mat-stroked-button (click)=\"selectLocation()\" i18n>Location select</button>\n </div>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Province </mat-label>\n <input matInput [(ngModel)]=\"classroom().province\" name=\"province\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> City </mat-label>\n <input matInput [(ngModel)]=\"classroom().city\" name=\"city\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> County </mat-label>\n <input matInput [(ngModel)]=\"classroom().county\" name=\"county\" required disabled />\n </mat-form-field>\n </div>\n <!-- <mat-form-field appearance=\"fill\">\n <mat-label i18n> Street </mat-label>\n <input\n matInput\n [(ngModel)]=\"classroom().town\"\n name=\"town\"\n required\n readonly\n />\n </mat-form-field> -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> <Address></Address> </mat-label>\n <input matInput [(ngModel)]=\"classroom().address\" name=\"address\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Detail </mat-label>\n <textarea\n matInput\n [(ngModel)]=\"classroom().detail\"\n name=\"detail\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n </div>\n </div>\n <div>\n <div class=\"py-3\">\n <rolatech-title title=\"Basic info\"></rolatech-title>\n <div class=\"text-sm font-thin text-gray-500\" i18n>Limit 5MB per image</div>\n </div>\n <!-- media -->\n <div>\n <rolatech-media-list (upload)=\"onUploadMedia($event)\" [isUploading]=\"isUploading()\">\n @for (item of classroom().media; track item; let i = $index) {\n <rolatech-media-list-item\n [media]=\"item\"\n (mediaItemClick)=\"onMediaItemClick(i, item)\"\n (deleteMedia)=\"onDeleteMedia(classroom().id, item)\"\n ></rolatech-media-list-item>\n }\n </rolatech-media-list>\n </div>\n </div>\n </div>\n</div>\n@if (actions()) {\n <div class=\"flex flex-row justify-end p-4\">\n <button mat-button (click)=\"onDelete(classroom())\" i18n>Delete</button>\n <button mat-flat-button (click)=\"onSave(classroom())\" i18n>Save</button>\n </div>\n}\n", styles: [".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:80px;width:80px;object-fit:contain;cursor:pointer;border:1px solid grey;padding:6px;position:relative;box-sizing:border-box}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\n"] }]
90
- }] });
90
+ }], propDecorators: { isUploading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isUploading", required: false }] }], classroom: [{ type: i0.Input, args: [{ isSignal: true, alias: "classroom", required: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], selectMedia: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMedia", required: false }] }], upload: [{ type: i0.Output, args: ["upload"] }], delete: [{ type: i0.Output, args: ["delete"] }], save: [{ type: i0.Output, args: ["save"] }], deleteMedia: [{ type: i0.Output, args: ["deleteMedia"] }], mediaItemClick: [{ type: i0.Output, args: ["mediaItemClick"] }] } });
91
91
 
92
92
  class InstructorInfoComponent {
93
93
  constructor(route) {
@@ -99,10 +99,10 @@ class InstructorInfoComponent {
99
99
  this.username = params.get('username') || '';
100
100
  });
101
101
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InstructorInfoComponent, deps: [{ token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: InstructorInfoComponent, isStandalone: true, selector: "rolatech-instructor-info", ngImport: i0, template: "<p>instructor-info works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: InstructorInfoComponent, deps: [{ token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: InstructorInfoComponent, isStandalone: true, selector: "rolatech-instructor-info", ngImport: i0, template: "<p>instructor-info works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InstructorInfoComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: InstructorInfoComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{ selector: 'rolatech-instructor-info', imports: [CommonModule], template: "<p>instructor-info works!</p>\n" }]
108
108
  }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }] });
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-instructor.mjs","sources":["../tmp-esm2022/lib/components/instructor-location/instructor-location.component.js","../tmp-esm2022/lib/components/instructor-info/instructor-info.component.js","../tmp-esm2022/rolatech-angular-instructor.js"],"sourcesContent":["import { Component, input, output } from '@angular/core';\nimport { BaseComponent, LocationSelectorComponent, MediaListComponent, MediaListItemComponent, TitleComponent, } from '@rolatech/angular-components';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/form-field\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@angular/cdk/text-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/button\";\nexport class InstructorLocationComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.isUploading = input(...(ngDevMode ? [undefined, { debugName: \"isUploading\" }] : []));\n this.classroom = input.required(...(ngDevMode ? [{ debugName: \"classroom\" }] : []));\n this.actions = input(false, ...(ngDevMode ? [{ debugName: \"actions\" }] : []));\n this.selectMedia = input(...(ngDevMode ? [undefined, { debugName: \"selectMedia\" }] : []));\n this.upload = output();\n this.delete = output();\n this.save = output();\n this.deleteMedia = output();\n this.mediaItemClick = output();\n }\n onUpload(id, data) {\n this.upload.emit({ id, data });\n }\n deleteImage() { }\n onSave(classroom) {\n this.save.emit(classroom);\n }\n onDelete(classroom) {\n this.delete.emit(classroom);\n }\n onDeleteMedia(id, media) {\n this.deleteMedia.emit({ id, media });\n }\n onUploadMedia(event) {\n this.upload.emit(event);\n }\n onMediaItemClick(index, media) {\n this.mediaItemClick.emit({ selected: index, media });\n }\n selectLocation() {\n const options = {\n title: '选择位置',\n width: '90%',\n component: LocationSelectorComponent,\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (result) => {\n if (result) {\n this.selectedLocation = result;\n const address = result.address;\n const { lat, lng } = result.location;\n this.classroom().address = address;\n this.classroom().latitude = lat;\n this.classroom().longitude = lng;\n this.classroom().province = result.province;\n this.classroom().city = result.city;\n this.classroom().county = result.district;\n this.classroom().detail = result.title;\n }\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InstructorLocationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InstructorLocationComponent, isStandalone: true, selector: \"rolatech-instructor-location\", inputs: { isUploading: { classPropertyName: \"isUploading\", publicName: \"isUploading\", isSignal: true, isRequired: false, transformFunction: null }, classroom: { classPropertyName: \"classroom\", publicName: \"classroom\", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: \"actions\", publicName: \"actions\", isSignal: true, isRequired: false, transformFunction: null }, selectMedia: { classPropertyName: \"selectMedia\", publicName: \"selectMedia\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { upload: \"upload\", delete: \"delete\", save: \"save\", deleteMedia: \"deleteMedia\", mediaItemClick: \"mediaItemClick\" }, usesInheritance: true, ngImport: i0, template: \"<div class=\\\"mb-8\\\">\\n <div class=\\\"flex flex-col pt-6\\\">\\n <div class=\\\"flex flex-col\\\">\\n <!-- base -->\\n <div class=\\\"flex flex-col\\\">\\n <rolatech-title title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\"></rolatech-title>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Contact </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().contact\\\" name=\\\"contact\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Phone </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().phone\\\" name=\\\"phone\\\" required />\\n </mat-form-field>\\n </div>\\n <!-- location -->\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"py-3 flex justify-between\\\">\\n <rolatech-title title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\"></rolatech-title>\\n\\n <button mat-stroked-button (click)=\\\"selectLocation()\\\" i18n>Location select</button>\\n </div>\\n <div class=\\\"flex flex-row gap-3\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Province </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().province\\\" name=\\\"province\\\" required disabled />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> City </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().city\\\" name=\\\"city\\\" required disabled />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> County </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().county\\\" name=\\\"county\\\" required disabled />\\n </mat-form-field>\\n </div>\\n <!-- <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Street </mat-label>\\n <input\\n matInput\\n [(ngModel)]=\\\"classroom().town\\\"\\n name=\\\"town\\\"\\n required\\n readonly\\n />\\n </mat-form-field> -->\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> <Address></Address> </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().address\\\" name=\\\"address\\\" />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Detail </mat-label>\\n <textarea\\n matInput\\n [(ngModel)]=\\\"classroom().detail\\\"\\n name=\\\"detail\\\"\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n required\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </div>\\n <div>\\n <div class=\\\"py-3\\\">\\n <rolatech-title title=\\\"Basic info\\\"></rolatech-title>\\n <div class=\\\"text-sm font-thin text-gray-500\\\" i18n>Limit 5MB per image</div>\\n </div>\\n <!-- media -->\\n <div>\\n <rolatech-media-list (upload)=\\\"onUploadMedia($event)\\\" [isUploading]=\\\"isUploading()\\\">\\n @for (item of classroom().media; track item; let i = $index) {\\n <rolatech-media-list-item\\n [media]=\\\"item\\\"\\n (mediaItemClick)=\\\"onMediaItemClick(i, item)\\\"\\n (deleteMedia)=\\\"onDeleteMedia(classroom().id, item)\\\"\\n ></rolatech-media-list-item>\\n }\\n </rolatech-media-list>\\n </div>\\n </div>\\n </div>\\n</div>\\n@if (actions()) {\\n <div class=\\\"flex flex-row justify-end p-4\\\">\\n <button mat-button (click)=\\\"onDelete(classroom())\\\" i18n>Delete</button>\\n <button mat-flat-button (click)=\\\"onSave(classroom())\\\" i18n>Save</button>\\n </div>\\n}\\n\", styles: [\".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:80px;width:80px;object-fit:contain;cursor:pointer;border:1px solid grey;padding:6px;position:relative;box-sizing:border-box}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i1.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i2.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], 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: MatButtonModule }, { kind: \"component\", type: i5.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: TextFieldModule }, { kind: \"component\", type: MediaListComponent, selector: \"rolatech-media-list\", inputs: [\"isUploading\", \"media\", \"showAdd\"], outputs: [\"mediaItemClick\", \"upload\"] }, { kind: \"component\", type: MediaListItemComponent, selector: \"rolatech-media-list-item\", inputs: [\"media\", \"uploadProgress\", \"uploading\"], outputs: [\"mediaItemClick\", \"deleteMedia\"] }, { kind: \"ngmodule\", type: MatDividerModule }, { kind: \"component\", type: TitleComponent, selector: \"rolatech-title\", inputs: [\"title\", \"subtitle\", \"large\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InstructorLocationComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-instructor-location', imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n MatButtonModule,\n TextFieldModule,\n MediaListComponent,\n MediaListItemComponent,\n MatDividerModule,\n TitleComponent,\n ], template: \"<div class=\\\"mb-8\\\">\\n <div class=\\\"flex flex-col pt-6\\\">\\n <div class=\\\"flex flex-col\\\">\\n <!-- base -->\\n <div class=\\\"flex flex-col\\\">\\n <rolatech-title title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\"></rolatech-title>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Contact </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().contact\\\" name=\\\"contact\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Phone </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().phone\\\" name=\\\"phone\\\" required />\\n </mat-form-field>\\n </div>\\n <!-- location -->\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"py-3 flex justify-between\\\">\\n <rolatech-title title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\"></rolatech-title>\\n\\n <button mat-stroked-button (click)=\\\"selectLocation()\\\" i18n>Location select</button>\\n </div>\\n <div class=\\\"flex flex-row gap-3\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Province </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().province\\\" name=\\\"province\\\" required disabled />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> City </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().city\\\" name=\\\"city\\\" required disabled />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> County </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().county\\\" name=\\\"county\\\" required disabled />\\n </mat-form-field>\\n </div>\\n <!-- <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Street </mat-label>\\n <input\\n matInput\\n [(ngModel)]=\\\"classroom().town\\\"\\n name=\\\"town\\\"\\n required\\n readonly\\n />\\n </mat-form-field> -->\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> <Address></Address> </mat-label>\\n <input matInput [(ngModel)]=\\\"classroom().address\\\" name=\\\"address\\\" />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Detail </mat-label>\\n <textarea\\n matInput\\n [(ngModel)]=\\\"classroom().detail\\\"\\n name=\\\"detail\\\"\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n required\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </div>\\n <div>\\n <div class=\\\"py-3\\\">\\n <rolatech-title title=\\\"Basic info\\\"></rolatech-title>\\n <div class=\\\"text-sm font-thin text-gray-500\\\" i18n>Limit 5MB per image</div>\\n </div>\\n <!-- media -->\\n <div>\\n <rolatech-media-list (upload)=\\\"onUploadMedia($event)\\\" [isUploading]=\\\"isUploading()\\\">\\n @for (item of classroom().media; track item; let i = $index) {\\n <rolatech-media-list-item\\n [media]=\\\"item\\\"\\n (mediaItemClick)=\\\"onMediaItemClick(i, item)\\\"\\n (deleteMedia)=\\\"onDeleteMedia(classroom().id, item)\\\"\\n ></rolatech-media-list-item>\\n }\\n </rolatech-media-list>\\n </div>\\n </div>\\n </div>\\n</div>\\n@if (actions()) {\\n <div class=\\\"flex flex-row justify-end p-4\\\">\\n <button mat-button (click)=\\\"onDelete(classroom())\\\" i18n>Delete</button>\\n <button mat-flat-button (click)=\\\"onSave(classroom())\\\" i18n>Save</button>\\n </div>\\n}\\n\", styles: [\".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:80px;width:80px;object-fit:contain;cursor:pointer;border:1px solid grey;padding:6px;position:relative;box-sizing:border-box}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rvci1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWluc3RydWN0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2luc3RydWN0b3ItbG9jYXRpb24vaW5zdHJ1Y3Rvci1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWluc3RydWN0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2luc3RydWN0b3ItbG9jYXRpb24vaW5zdHJ1Y3Rvci1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUNMLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixjQUFjLEdBQ2YsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFrQnpELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFhO0lBaEI5RDs7UUFpQkUsZ0JBQVcsR0FBRyxLQUFLLGlFQUFXLENBQUM7UUFDL0IsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLG9EQUFtQixDQUFDO1FBQzlDLFlB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WCxlQUFlLG1YQUNmLGVBQWUsK0JBQ2Ysa0JBQWtCLG9KQUNsQixzQkFBc0Isa0tBQ3RCLGdCQUFnQiwrQkFDaEIsY0FBYzs7MkZBS0wsMkJBQTJCO2tCQWhCdkMsU0FBUzsrQkFDRSw4QkFBOEIsV0FDL0I7d0JBQ1Asa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGNBQWM7cUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lZGlhIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7XG4gIEJhc2VDb21wb25lbnQsXG4gIExvY2F0aW9uU2VsZWN0b3JDb21wb25lbnQsXG4gIE1lZGlhTGlzdENvbXBvbmVudCxcbiAgTWVkaWFMaXN0SXRlbUNvbXBvbmVudCxcbiAgVGl0bGVDb21wb25lbnQsXG59IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ291cnNlQ2xhc3Nyb29tIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY291cnNlJztcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWluc3RydWN0b3ItbG9jYXRpb24nLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWVkaWFMaXN0Q29tcG9uZW50LFxuICAgIE1lZGlhTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2luc3RydWN0b3ItbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW5zdHJ1Y3Rvci1sb2NhdGlvbi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEluc3RydWN0b3JMb2NhdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBpc1VwbG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNsYXNzcm9vbSA9IGlucHV0LnJlcXVpcmVkPENvdXJzZUNsYXNzcm9vbT4oKTtcbiAgYWN0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc2VsZWN0TWVkaWEgPSBpbnB1dDxhbnk+KCk7XG5cbiAgdXBsb2FkID0gb3V0cHV0PHsgaWQ6IHN0cmluZzsgZGF0YTogRm9ybURhdGEgfCBudWxsIH0+KCk7XG4gIGRlbGV0ZSA9IG91dHB1dDxDb3Vyc2VDbGFzc3Jvb20+KCk7XG4gIHNhdmUgPSBvdXRwdXQ8Q291cnNlQ2xhc3Nyb29tPigpO1xuICBkZWxldGVNZWRpYSA9IG91dHB1dDx7IGlkOiBzdHJpbmc7IG1lZGlhOiBNZWRpYSB9PigpO1xuICBtZWRpYUl0ZW1DbGljayA9IG91dHB1dDx7XG4gICAgc2VsZWN0ZWQ6IG51bWJlcjtcbiAgICBtZWRpYTogTWVkaWE7XG4gIH0+KCk7XG5cbiAgc2VsZWN0ZWRMb2NhdGlvbjogYW55O1xuXG4gIG9uVXBsb2FkKGlkOiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIHRoaXMudXBsb2FkLmVtaXQoeyBpZCwgZGF0YSB9KTtcbiAgfVxuICBkZWxldGVJbWFnZSgpIHt9XG4gIG9uU2F2ZShjbGFzc3Jvb206IENvdXJzZUNsYXNzcm9vbSkge1xuICAgIHRoaXMuc2F2ZS5lbWl0KGNsYXNzcm9vbSk7XG4gIH1cbiAgb25EZWxldGUoY2xhc3Nyb29tOiBDb3Vyc2VDbGFzc3Jvb20pIHtcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KGNsYXNzcm9vbSk7XG4gIH1cbiAgb25EZWxldGVNZWRpYShpZDogc3RyaW5nLCBtZWRpYTogTWVkaWEpIHtcbiAgICB0aGlzLmRlbGV0ZU1lZGlhLmVtaXQoeyBpZCwgbWVkaWEgfSk7XG4gIH1cbiAgb25VcGxvYWRNZWRpYShldmVudDogYW55KSB7XG4gICAgdGhpcy51cGxvYWQuZW1pdChldmVudCk7XG4gIH1cbiAgb25NZWRpYUl0ZW1DbGljayhpbmRleDogbnVtYmVyLCBtZWRpYTogTWVkaWEpIHtcbiAgICB0aGlzLm1lZGlhSXRlbUNsaWNrLmVtaXQoeyBzZWxlY3RlZDogaW5kZXgsIG1lZGlhIH0pO1xuICB9XG4gIHNlbGVjdExvY2F0aW9uKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICB0aXRsZTogJ+mAieaLqeS9jee9ricsXG4gICAgICB3aWR0aDogJzkwJScsXG4gICAgICBjb21wb25lbnQ6IExvY2F0aW9uU2VsZWN0b3JDb21wb25lbnQsXG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihvcHRpb25zKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHJlc3VsdDtcbiAgICAgICAgICBjb25zdCBhZGRyZXNzID0gcmVzdWx0LmFkZHJlc3M7XG4gICAgICAgICAgY29uc3QgeyBsYXQsIGxuZyB9ID0gcmVzdWx0LmxvY2F0aW9uO1xuICAgICAgICAgIHRoaXMuY2xhc3Nyb29tKCkuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgICAgICAgdGhpcy5jbGFzc3Jvb20oKS5sYXRpdHVkZSA9IGxhdDtcbiAgICAgICAgICB0aGlzLmNsYXNzcm9vbSgpLmxvbmdpdHVkZSA9IGxuZztcbiAgICAgICAgICB0aGlzLmNsYXNzcm9vbSgpLnByb3ZpbmNlID0gcmVzdWx0LnByb3ZpbmNlO1xuICAgICAgICAgIHRoaXMuY2xhc3Nyb29tKCkuY2l0eSA9IHJlc3VsdC5jaXR5O1xuICAgICAgICAgIHRoaXMuY2xhc3Nyb29tKCkuY291bnR5ID0gcmVzdWx0LmRpc3RyaWN0O1xuICAgICAgICAgIHRoaXMuY2xhc3Nyb29tKCkuZGV0YWlsID0gcmVzdWx0LnRpdGxlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItOFwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBwdC02XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgIDwhLS0gYmFzZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgIDxyb2xhdGVjaC10aXRsZSB0aXRsZT1cIuWfuuacrOS/oeaBr1wiPjwvcm9sYXRlY2gtdGl0bGU+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gTmFtZSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJjbGFzc3Jvb20oKS5uYW1lXCIgbmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IENvbnRhY3QgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiY2xhc3Nyb29tKCkuY29udGFjdFwiIG5hbWU9XCJjb250YWN0XCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBQaG9uZSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJjbGFzc3Jvb20oKS5waG9uZVwiIG5hbWU9XCJwaG9uZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gbG9jYXRpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHktMyBmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxyb2xhdGVjaC10aXRsZSB0aXRsZT1cIuWfuuacrOS/oeaBr1wiPjwvcm9sYXRlY2gtdGl0bGU+XG5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwic2VsZWN0TG9jYXRpb24oKVwiIGkxOG4+TG9jYXRpb24gc2VsZWN0PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtM1wiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBQcm92aW5jZSA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImNsYXNzcm9vbSgpLnByb3ZpbmNlXCIgbmFtZT1cInByb3ZpbmNlXCIgcmVxdWlyZWQgZGlzYWJsZWQgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBDaXR5IDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiY2xhc3Nyb29tKCkuY2l0eVwiIG5hbWU9XCJjaXR5XCIgcmVxdWlyZWQgZGlzYWJsZWQgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBDb3VudHkgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJjbGFzc3Jvb20oKS5jb3VudHlcIiBuYW1lPVwiY291bnR5XCIgcmVxdWlyZWQgZGlzYWJsZWQgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBTdHJlZXQgPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjbGFzc3Jvb20oKS50b3duXCJcbiAgICAgICAgICBuYW1lPVwidG93blwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICByZWFkb25seVxuICAgICAgICAgIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPiAtLT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiA8QWRkcmVzcz48L0FkZHJlc3M+IDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImNsYXNzcm9vbSgpLmFkZHJlc3NcIiBuYW1lPVwiYWRkcmVzc1wiIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gRGV0YWlsIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2xhc3Nyb29tKCkuZGV0YWlsXCJcbiAgICAgICAgICAgIG5hbWU9XCJkZXRhaWxcIlxuICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiM1wiXG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgIDxyb2xhdGVjaC10aXRsZSB0aXRsZT1cIkJhc2ljIGluZm9cIj48L3JvbGF0ZWNoLXRpdGxlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBmb250LXRoaW4gdGV4dC1ncmF5LTUwMFwiIGkxOG4+TGltaXQgNU1CIHBlciBpbWFnZTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG1lZGlhIC0tPlxuICAgICAgPGRpdj5cbiAgICAgICAgPHJvbGF0ZWNoLW1lZGlhLWxpc3QgKHVwbG9hZCk9XCJvblVwbG9hZE1lZGlhKCRldmVudClcIiBbaXNVcGxvYWRpbmddPVwiaXNVcGxvYWRpbmcoKVwiPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgY2xhc3Nyb29tKCkubWVkaWE7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICA8cm9sYXRlY2gtbWVkaWEtbGlzdC1pdGVtXG4gICAgICAgICAgICAgIFttZWRpYV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgKG1lZGlhSXRlbUNsaWNrKT1cIm9uTWVkaWFJdGVtQ2xpY2soaSwgaXRlbSlcIlxuICAgICAgICAgICAgICAoZGVsZXRlTWVkaWEpPVwib25EZWxldGVNZWRpYShjbGFzc3Jvb20oKS5pZCwgaXRlbSlcIlxuICAgICAgICAgICAgPjwvcm9sYXRlY2gtbWVkaWEtbGlzdC1pdGVtPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9yb2xhdGVjaC1tZWRpYS1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5AaWYgKGFjdGlvbnMoKSkge1xuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBwLTRcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uRGVsZXRlKGNsYXNzcm9vbSgpKVwiIGkxOG4+RGVsZXRlPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cIm9uU2F2ZShjbGFzc3Jvb20oKSlcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG59XG4iXX0=","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class InstructorInfoComponent {\n constructor(route) {\n this.route = route;\n this.username = '';\n }\n ngOnInit() {\n this.route.paramMap.subscribe((params) => {\n this.username = params.get('username') || '';\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InstructorInfoComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InstructorInfoComponent, isStandalone: true, selector: \"rolatech-instructor-info\", ngImport: i0, template: \"<p>instructor-info works!</p>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InstructorInfoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-instructor-info', imports: [CommonModule], template: \"<p>instructor-info works!</p>\\n\" }]\n }], ctorParameters: () => [{ type: i1.ActivatedRoute }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rvci1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItaW5zdHJ1Y3Rvci9zcmMvbGliL2NvbXBvbmVudHMvaW5zdHJ1Y3Rvci1pbmZvL2luc3RydWN0b3ItaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWluc3RydWN0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2luc3RydWN0b3ItaW5mby9pbnN0cnVjdG9yLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFRakQsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFvQixLQUFxQjtRQUFyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUZ6QyxhQUFRLEdBQUcsRUFBRSxDQUFDO0lBRThCLENBQUM7SUFFN0MsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQVRVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG9GQ1ZwQyxpQ0FDQSx5RERLWSxZQUFZOzsyRkFJWCx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsMEJBQTBCLFdBQzNCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWluc3RydWN0b3ItaW5mbycsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5zdHJ1Y3Rvci1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2luc3RydWN0b3ItaW5mby5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEluc3RydWN0b3JJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdXNlcm5hbWUgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLnVzZXJuYW1lID0gcGFyYW1zLmdldCgndXNlcm5hbWUnKSB8fCAnJztcbiAgICB9KTtcbiAgfVxufVxuIiwiPHA+aW5zdHJ1Y3Rvci1pbmZvIHdvcmtzITwvcD5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1pbnN0cnVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1pbnN0cnVjdG9yL3NyYy9yb2xhdGVjaC1hbmd1bGFyLWluc3RydWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"rolatech-angular-instructor.mjs","sources":["../../../../packages/angular-instructor/src/lib/components/instructor-location/instructor-location.component.ts","../../../../packages/angular-instructor/src/lib/components/instructor-location/instructor-location.component.html","../../../../packages/angular-instructor/src/lib/components/instructor-info/instructor-info.component.ts","../../../../packages/angular-instructor/src/lib/components/instructor-info/instructor-info.component.html","../../../../packages/angular-instructor/src/rolatech-angular-instructor.ts"],"sourcesContent":["import { Component, input, output } from '@angular/core';\nimport { Media } from '@rolatech/angular-common';\nimport {\n BaseComponent,\n LocationSelectorComponent,\n MediaListComponent,\n MediaListItemComponent,\n TitleComponent,\n} from '@rolatech/angular-components';\nimport { CourseClassroom } from '@rolatech/angular-course';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'rolatech-instructor-location',\n imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n MatButtonModule,\n TextFieldModule,\n MediaListComponent,\n MediaListItemComponent,\n MatDividerModule,\n TitleComponent,\n ],\n templateUrl: './instructor-location.component.html',\n styleUrl: './instructor-location.component.scss',\n})\nexport class InstructorLocationComponent extends BaseComponent {\n isUploading = input<boolean>();\n classroom = input.required<CourseClassroom>();\n actions = input<boolean>(false);\n selectMedia = input<any>();\n\n upload = output<{ id: string; data: FormData | null }>();\n delete = output<CourseClassroom>();\n save = output<CourseClassroom>();\n deleteMedia = output<{ id: string; media: Media }>();\n mediaItemClick = output<{\n selected: number;\n media: Media;\n }>();\n\n selectedLocation: any;\n\n onUpload(id: string, data: any) {\n this.upload.emit({ id, data });\n }\n deleteImage() {}\n onSave(classroom: CourseClassroom) {\n this.save.emit(classroom);\n }\n onDelete(classroom: CourseClassroom) {\n this.delete.emit(classroom);\n }\n onDeleteMedia(id: string, media: Media) {\n this.deleteMedia.emit({ id, media });\n }\n onUploadMedia(event: any) {\n this.upload.emit(event);\n }\n onMediaItemClick(index: number, media: Media) {\n this.mediaItemClick.emit({ selected: index, media });\n }\n selectLocation() {\n const options = {\n title: '选择位置',\n width: '90%',\n component: LocationSelectorComponent,\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (result) => {\n if (result) {\n this.selectedLocation = result;\n const address = result.address;\n const { lat, lng } = result.location;\n this.classroom().address = address;\n this.classroom().latitude = lat;\n this.classroom().longitude = lng;\n this.classroom().province = result.province;\n this.classroom().city = result.city;\n this.classroom().county = result.district;\n this.classroom().detail = result.title;\n }\n },\n });\n }\n}\n","<div class=\"mb-8\">\n <div class=\"flex flex-col pt-6\">\n <div class=\"flex flex-col\">\n <!-- base -->\n <div class=\"flex flex-col\">\n <rolatech-title title=\"基本信息\"></rolatech-title>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput [(ngModel)]=\"classroom().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Contact </mat-label>\n <input matInput [(ngModel)]=\"classroom().contact\" name=\"contact\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Phone </mat-label>\n <input matInput [(ngModel)]=\"classroom().phone\" name=\"phone\" required />\n </mat-form-field>\n </div>\n <!-- location -->\n <div class=\"flex flex-col\">\n <div class=\"py-3 flex justify-between\">\n <rolatech-title title=\"基本信息\"></rolatech-title>\n\n <button mat-stroked-button (click)=\"selectLocation()\" i18n>Location select</button>\n </div>\n <div class=\"flex flex-row gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Province </mat-label>\n <input matInput [(ngModel)]=\"classroom().province\" name=\"province\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> City </mat-label>\n <input matInput [(ngModel)]=\"classroom().city\" name=\"city\" required disabled />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> County </mat-label>\n <input matInput [(ngModel)]=\"classroom().county\" name=\"county\" required disabled />\n </mat-form-field>\n </div>\n <!-- <mat-form-field appearance=\"fill\">\n <mat-label i18n> Street </mat-label>\n <input\n matInput\n [(ngModel)]=\"classroom().town\"\n name=\"town\"\n required\n readonly\n />\n </mat-form-field> -->\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> <Address></Address> </mat-label>\n <input matInput [(ngModel)]=\"classroom().address\" name=\"address\" />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Detail </mat-label>\n <textarea\n matInput\n [(ngModel)]=\"classroom().detail\"\n name=\"detail\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n </div>\n </div>\n <div>\n <div class=\"py-3\">\n <rolatech-title title=\"Basic info\"></rolatech-title>\n <div class=\"text-sm font-thin text-gray-500\" i18n>Limit 5MB per image</div>\n </div>\n <!-- media -->\n <div>\n <rolatech-media-list (upload)=\"onUploadMedia($event)\" [isUploading]=\"isUploading()\">\n @for (item of classroom().media; track item; let i = $index) {\n <rolatech-media-list-item\n [media]=\"item\"\n (mediaItemClick)=\"onMediaItemClick(i, item)\"\n (deleteMedia)=\"onDeleteMedia(classroom().id, item)\"\n ></rolatech-media-list-item>\n }\n </rolatech-media-list>\n </div>\n </div>\n </div>\n</div>\n@if (actions()) {\n <div class=\"flex flex-row justify-end p-4\">\n <button mat-button (click)=\"onDelete(classroom())\" i18n>Delete</button>\n <button mat-flat-button (click)=\"onSave(classroom())\" i18n>Save</button>\n </div>\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'rolatech-instructor-info',\n imports: [CommonModule],\n templateUrl: './instructor-info.component.html',\n styleUrl: './instructor-info.component.scss',\n})\nexport class InstructorInfoComponent implements OnInit {\n username = '';\n\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit() {\n this.route.paramMap.subscribe((params) => {\n this.username = params.get('username') || '';\n });\n }\n}\n","<p>instructor-info works!</p>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-instructor",
3
- "version": "20.1.6-beta.5",
3
+ "version": "20.1.6-beta.7",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",