@rolatech/angular-course 19.0.0-beta.4 → 19.0.0-beta.5
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/fesm2022/rolatech-angular-course-course-category-index.component-CoWc72bH.mjs +65 -0
- package/fesm2022/rolatech-angular-course-course-category-index.component-CoWc72bH.mjs.map +1 -0
- package/fesm2022/rolatech-angular-course.mjs +26 -14
- package/fesm2022/rolatech-angular-course.mjs.map +1 -1
- package/lib/pages/course/course-category-index/course-category-index.component.d.ts +4 -0
- package/lib/pages/course-manage/{course-manage-request/course-manage-request.component.d.ts → course-manage-application/course-manage-application.component.d.ts} +5 -9
- package/lib/pages/course-manage/course-manage-application-detail/course-manage-application-detail.component.d.ts +5 -0
- package/package.json +7 -7
- package/fesm2022/rolatech-angular-course-course-category-index.component-DNmnv2wu.mjs +0 -55
- package/fesm2022/rolatech-angular-course-course-category-index.component-DNmnv2wu.mjs.map +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Component } from '@angular/core';
|
|
3
|
+
import { AngularCommonModule, FixedPipe } from '@rolatech/angular-common';
|
|
4
|
+
import { BaseComponent, AngularComponentsModule, RichViewComponent, RichItemComponent } from '@rolatech/angular-components';
|
|
5
|
+
import { CourseService, CategoryService } from './rolatech-angular-course.mjs';
|
|
6
|
+
import { CategoryBreadcrumbComponent } from '@rolatech/angular-category';
|
|
7
|
+
import * as i1 from '@angular/router';
|
|
8
|
+
|
|
9
|
+
class CourseCategoryIndexComponent extends BaseComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.courses = [];
|
|
13
|
+
this.categories = [];
|
|
14
|
+
this.courseService = inject(CourseService);
|
|
15
|
+
this.categoryService = inject(CategoryService);
|
|
16
|
+
this.loading = false;
|
|
17
|
+
this.c = [{ name: '分类', path: '/categories' }];
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.findCategories();
|
|
21
|
+
this.findCourses();
|
|
22
|
+
this.titleService.setTitle('课程');
|
|
23
|
+
}
|
|
24
|
+
findCourses() {
|
|
25
|
+
this.loading = true;
|
|
26
|
+
const options = {
|
|
27
|
+
sort: 'updatedAt desc',
|
|
28
|
+
filter: 'published:true',
|
|
29
|
+
};
|
|
30
|
+
this.courseService.find(options).subscribe({
|
|
31
|
+
next: (res) => {
|
|
32
|
+
this.courses = res.data;
|
|
33
|
+
this.meta = res.meta;
|
|
34
|
+
this.loading = false;
|
|
35
|
+
},
|
|
36
|
+
error: (error) => {
|
|
37
|
+
this.loading = false;
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
findCategories() {
|
|
42
|
+
this.categoryService.find({}).subscribe({
|
|
43
|
+
next: (res) => {
|
|
44
|
+
this.categories = res.data;
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: CourseCategoryIndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: CourseCategoryIndexComponent, isStandalone: true, selector: "rolatech-course-category-index", usesInheritance: true, ngImport: i0, template: "<div>\n <div class=\"hidden md:block\">\n <rolatech-category-breadcrumb [categories]=\"c\"></rolatech-category-breadcrumb>\n <div class=\"text-2xl font-medium mt-2\">\u5168\u90E8\u8BFE\u7A0B</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 md:w-1/4 aspect-video hover:bg-[--rt-base-background] rounded-lg\"></div>\n <div class=\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-[--rt-base-background] rounded col-span-2\"></div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-1\"></div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n <rolatech-rich-view list>\n @for (item of courses; track $index) {\n @defer {\n <rolatech-rich-item\n [routerLink]=\"['/courses/', item.id]\"\n [thumbnail]=\"item.media[0].url + '!w400'\"\n [title]=\"item.name\"\n [subtitle]=\"item.description\"\n [price]=\"item.pricing[0].total | fixed\"\n ></rolatech-rich-item>\n }\n }\n </rolatech-rich-view>\n }\n</div>\n", styles: ["rolatech-rich-item{--rt-rich-view-item-margin: 0px}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: RichViewComponent, selector: "rolatech-rich-view", inputs: ["list", "wrap"] }, { kind: "component", type: CategoryBreadcrumbComponent, selector: "rolatech-category-breadcrumb", inputs: ["categories"], outputs: ["categoriesChange"] }], deferBlockDependencies: [() => [i1.RouterLink, RichItemComponent,
|
|
50
|
+
FixedPipe]] }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: CourseCategoryIndexComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'rolatech-course-category-index', imports: [
|
|
55
|
+
AngularCommonModule,
|
|
56
|
+
AngularComponentsModule,
|
|
57
|
+
RichViewComponent,
|
|
58
|
+
RichItemComponent,
|
|
59
|
+
FixedPipe,
|
|
60
|
+
CategoryBreadcrumbComponent,
|
|
61
|
+
], template: "<div>\n <div class=\"hidden md:block\">\n <rolatech-category-breadcrumb [categories]=\"c\"></rolatech-category-breadcrumb>\n <div class=\"text-2xl font-medium mt-2\">\u5168\u90E8\u8BFE\u7A0B</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 md:w-1/4 aspect-video hover:bg-[--rt-base-background] rounded-lg\"></div>\n <div class=\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-[--rt-base-background] rounded col-span-2\"></div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-1\"></div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n <rolatech-rich-view list>\n @for (item of courses; track $index) {\n @defer {\n <rolatech-rich-item\n [routerLink]=\"['/courses/', item.id]\"\n [thumbnail]=\"item.media[0].url + '!w400'\"\n [title]=\"item.name\"\n [subtitle]=\"item.description\"\n [price]=\"item.pricing[0].total | fixed\"\n ></rolatech-rich-item>\n }\n }\n </rolatech-rich-view>\n }\n</div>\n", styles: ["rolatech-rich-item{--rt-rich-view-item-margin: 0px}\n"] }]
|
|
62
|
+
}] });
|
|
63
|
+
|
|
64
|
+
export { CourseCategoryIndexComponent };
|
|
65
|
+
//# sourceMappingURL=rolatech-angular-course-course-category-index.component-CoWc72bH.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-course-course-category-index.component-CoWc72bH.mjs","sources":["../../../../packages/angular-course/src/lib/pages/course/course-category-index/course-category-index.component.ts","../../../../packages/angular-course/src/lib/pages/course/course-category-index/course-category-index.component.html"],"sourcesContent":["import { Component, inject, OnInit } from '@angular/core';\nimport { AngularCommonModule, FixedPipe } from '@rolatech/angular-common';\nimport { AngularComponentsModule, RichViewComponent, RichItemComponent, BaseComponent } from '@rolatech/angular-components';\nimport { Course, CourseCategory } from '../../../interfaces';\nimport { CourseService, CategoryService } from '../../../services';\nimport { CategoryBreadcrumbComponent } from '@rolatech/angular-category';\n\n@Component({\n selector: 'rolatech-course-category-index',\n imports: [\n AngularCommonModule,\n AngularComponentsModule,\n RichViewComponent,\n RichItemComponent,\n FixedPipe,\n CategoryBreadcrumbComponent,\n ],\n templateUrl: './course-category-index.component.html',\n styleUrl: './course-category-index.component.scss',\n})\nexport class CourseCategoryIndexComponent extends BaseComponent implements OnInit {\n courses: Course[] = [];\n categories: CourseCategory[] = [];\n courseService = inject(CourseService);\n categoryService = inject(CategoryService);\n meta: any;\n loading = false;\n c = [{ name: '分类', path: '/categories' }];\n ngOnInit(): void {\n this.findCategories();\n this.findCourses();\n this.titleService.setTitle('课程');\n }\n findCourses() {\n this.loading = true;\n const options = {\n sort: 'updatedAt desc',\n filter: 'published:true',\n };\n this.courseService.find(options).subscribe({\n next: (res: any) => {\n this.courses = res.data;\n this.meta = res.meta;\n this.loading = false;\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n findCategories() {\n this.categoryService.find({}).subscribe({\n next: (res: any) => {\n this.categories = res.data;\n },\n });\n }\n}\n","<div>\n <div class=\"hidden md:block\">\n <rolatech-category-breadcrumb [categories]=\"c\"></rolatech-category-breadcrumb>\n <div class=\"text-2xl font-medium mt-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 md:w-1/4 aspect-video hover:bg-[--rt-base-background] rounded-lg\"></div>\n <div class=\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div class=\"space-y-3\">\n <div class=\"h-4 bg-[--rt-base-background] rounded col-span-2\"></div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-1\"></div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\"></div>\n </div>\n <div>\n <div class=\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\"></div>\n </div>\n </div>\n </div>\n }\n } @else {\n <rolatech-rich-view list>\n @for (item of courses; track $index) {\n @defer {\n <rolatech-rich-item\n [routerLink]=\"['/courses/', item.id]\"\n [thumbnail]=\"item.media[0].url + '!w400'\"\n [title]=\"item.name\"\n [subtitle]=\"item.description\"\n [price]=\"item.pricing[0].total | fixed\"\n ></rolatech-rich-item>\n }\n }\n </rolatech-rich-view>\n }\n</div>\n"],"names":[],"mappings":"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"}
|
|
@@ -1996,7 +1996,7 @@ const courseCategoryRoutes = [
|
|
|
1996
1996
|
children: [
|
|
1997
1997
|
{
|
|
1998
1998
|
path: '',
|
|
1999
|
-
loadComponent: () => import('./rolatech-angular-course-course-category-index.component-
|
|
1999
|
+
loadComponent: () => import('./rolatech-angular-course-course-category-index.component-CoWc72bH.mjs').then((x) => x.CourseCategoryIndexComponent),
|
|
2000
2000
|
},
|
|
2001
2001
|
{
|
|
2002
2002
|
path: ':id',
|
|
@@ -3509,11 +3509,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
3509
3509
|
], template: "<rolatech-toolbar title=\"\u521B\u5EFA\u8BFE\u7A0B\" link=\"../\"> </rolatech-toolbar>\n<div class=\"p-3\">\n <section class=\"sample-app-content\">\n <form #courseForm=\"ngForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u8BFE\u7A0B\u540D\u79F0 </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"course.name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u8BFE\u7A0B\u63CF\u8FF0 </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"course.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <div class=\"flex gap-3\">\n <mat-form-field appearance=\"fill\" required>\n <mat-label>\u4E00\u7EA7\u5206\u7C7B</mat-label>\n <mat-select name=\"id\" [(ngModel)]=\"parentCategory\" (selectionChange)=\"onParentCategoryChange($event)\">\n @for (item of categories; track item) {\n <mat-option [value]=\"item\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" required>\n <mat-label>\u4E8C\u7EA7\u5206\u7C7B</mat-label>\n <mat-select multiple name=\"id\" #select=\"matSelect\" (selectionChange)=\"onChildCategoryChange($event)\">\n @for (item of childrenCategories; track item) {\n <mat-option [value]=\"item\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <mat-form-field appearance=\"fill\">\n <mat-label>\u7C7B\u578B</mat-label>\n <mat-select name=\"type\" [(ngModel)]=\"course.type\" required>\n @for (item of courseType; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (course.type && course.type.toString() !== 'ONLINE') {\n <mat-form-field appearance=\"fill\" ngModelGroup=\"classroom\">\n <mat-label>\u6559\u5BA4</mat-label>\n <mat-select [(ngModel)]=\"course.classroom\" name=\"id\" required>\n @for (classroom of classrooms; track classroom) {\n <mat-option [value]=\"classroom\" (selectionChange)=\"onClassroomSelected($event)\">\n <div class=\"flex gap-3\">\n <span>{{ classroom.name }}</span>\n <span> {{ classroom.address }}</span>\n </div>\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n </div>\n <div>\n <div class=\"py-3\">\n <div class=\"text-xl font-medium\">\u56FE\u7247\u4FE1\u606F</div>\n <div class=\"text-sm font-thin text-gray-500\">\u56FE\u7247\u6587\u4EF6\u5927\u5C0F\u9650\u5236\u57285MB\u4EE5\u4E0B</div>\n </div>\n <rolatech-media-list (upload)=\"onUpload($event)\" [isUploading]=\"isUploading\">\n @for (item of media; track item; let i = $index) {\n <rolatech-media-list-item\n [media]=\"item\"\n (mediaItemClick)=\"onImageClick(i)\"\n (deleteMedia)=\"onMediaDelete($event)\"\n ></rolatech-media-list-item>\n }\n </rolatech-media-list>\n </div>\n </form>\n </section>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\">\u521B\u5EFA</button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
3510
3510
|
}] });
|
|
3511
3511
|
|
|
3512
|
-
class
|
|
3513
|
-
constructor(
|
|
3514
|
-
|
|
3515
|
-
this.
|
|
3516
|
-
this.courseService = courseService;
|
|
3512
|
+
class CourseManageApplicationComponent extends BaseComponent {
|
|
3513
|
+
constructor() {
|
|
3514
|
+
super(...arguments);
|
|
3515
|
+
this.courseService = inject(CourseService);
|
|
3517
3516
|
this.isLoading = false;
|
|
3518
3517
|
this.isSearch = false;
|
|
3519
3518
|
this.length = 100;
|
|
@@ -3576,17 +3575,26 @@ class CourseManageRequestComponent {
|
|
|
3576
3575
|
},
|
|
3577
3576
|
error: (e) => {
|
|
3578
3577
|
this.isLoading = false;
|
|
3579
|
-
this.
|
|
3578
|
+
this.snackBarService.open(e.message);
|
|
3580
3579
|
},
|
|
3581
3580
|
});
|
|
3582
3581
|
}
|
|
3583
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type:
|
|
3584
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.5", type:
|
|
3582
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: CourseManageApplicationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3583
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.5", type: CourseManageApplicationComponent, isStandalone: true, selector: "rolatech-course-manage-application", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"\u5B66\u751F\u6C42\u8BFE\"></rolatech-toolbar>\n<table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>\u6807\u9898</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.title }}</td>\n </ng-container>\n\n <!-- status Column -->\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef>\u72B6\u6001</th>\n <td mat-cell *matCellDef=\"let item\">{{ status[item.status] }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>\u521B\u5EFA\u65E5\u671F</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">\u8BE6\u60C5</th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <!-- <a (click)=\"edit(item)\"> \u7F16\u8F91 </a> -->\n <!-- <a [routerLink]=\"['../', item.id]\"> \u8BE6\u60C5 </a> -->\n <a routerLink=\"/console/courses/requests/{{ item.id }}\" class=\"underline\"> \u8BE6\u60C5 </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n</table>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = find($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem}.mat-mdc-header-cell.actions{text-align:right;max-width:180px;width:180px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3$4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5$3.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
|
|
3585
3584
|
}
|
|
3586
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type:
|
|
3585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: CourseManageApplicationComponent, decorators: [{
|
|
3587
3586
|
type: Component,
|
|
3588
|
-
args: [{ selector: 'rolatech-course-manage-
|
|
3589
|
-
}]
|
|
3587
|
+
args: [{ selector: 'rolatech-course-manage-application', imports: [MatTableModule, RouterLink, MatPaginatorModule, ToolbarComponent], template: "<rolatech-toolbar title=\"\u5B66\u751F\u6C42\u8BFE\"></rolatech-toolbar>\n<table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>\u6807\u9898</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.title }}</td>\n </ng-container>\n\n <!-- status Column -->\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef>\u72B6\u6001</th>\n <td mat-cell *matCellDef=\"let item\">{{ status[item.status] }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>\u521B\u5EFA\u65E5\u671F</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">\u8BE6\u60C5</th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <!-- <a (click)=\"edit(item)\"> \u7F16\u8F91 </a> -->\n <!-- <a [routerLink]=\"['../', item.id]\"> \u8BE6\u60C5 </a> -->\n <a routerLink=\"/console/courses/requests/{{ item.id }}\" class=\"underline\"> \u8BE6\u60C5 </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n</table>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = find($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem}.mat-mdc-header-cell.actions{text-align:right;max-width:180px;width:180px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"] }]
|
|
3588
|
+
}] });
|
|
3589
|
+
|
|
3590
|
+
class CourseManageApplicationDetailComponent {
|
|
3591
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: CourseManageApplicationDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3592
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: CourseManageApplicationDetailComponent, isStandalone: true, selector: "rolatech-course-manage-application-detail", ngImport: i0, template: "<rolatech-toolbar title=\"\u8BE6\u60C5\" link=\"../\"></rolatech-toolbar>\n", styles: [""], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
|
|
3593
|
+
}
|
|
3594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: CourseManageApplicationDetailComponent, decorators: [{
|
|
3595
|
+
type: Component,
|
|
3596
|
+
args: [{ selector: 'rolatech-course-manage-application-detail', imports: [ToolbarComponent], template: "<rolatech-toolbar title=\"\u8BE6\u60C5\" link=\"../\"></rolatech-toolbar>\n" }]
|
|
3597
|
+
}] });
|
|
3590
3598
|
|
|
3591
3599
|
const courseManageRoutes = [
|
|
3592
3600
|
{
|
|
@@ -3598,8 +3606,12 @@ const courseManageRoutes = [
|
|
|
3598
3606
|
component: CourseManageCreateComponent,
|
|
3599
3607
|
},
|
|
3600
3608
|
{
|
|
3601
|
-
path: '
|
|
3602
|
-
component:
|
|
3609
|
+
path: 'applications',
|
|
3610
|
+
component: CourseManageApplicationComponent,
|
|
3611
|
+
},
|
|
3612
|
+
{
|
|
3613
|
+
path: 'applications/:id',
|
|
3614
|
+
component: CourseManageApplicationDetailComponent,
|
|
3603
3615
|
},
|
|
3604
3616
|
{
|
|
3605
3617
|
path: ':id/manage',
|