@rolatech/angular-course 19.0.0-beta.9 → 19.1.0-beta.3

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.
Files changed (67) hide show
  1. package/fesm2022/{rolatech-angular-course-course-category-index.component-D5HIrVD-.mjs → rolatech-angular-course-course-category-index.component-DnDVtQf2.mjs} +4 -4
  2. package/fesm2022/rolatech-angular-course-course-category-index.component-DnDVtQf2.mjs.map +1 -0
  3. package/fesm2022/{rolatech-angular-course-course-index.component-Ds-a9GF7.mjs → rolatech-angular-course-course-index.component-VJOHMAD9.mjs} +4 -4
  4. package/fesm2022/rolatech-angular-course-course-index.component-VJOHMAD9.mjs.map +1 -0
  5. package/fesm2022/rolatech-angular-course.mjs +311 -216
  6. package/fesm2022/rolatech-angular-course.mjs.map +1 -1
  7. package/index.d.ts +628 -8
  8. package/package.json +7 -7
  9. package/themes/_default.scss +1 -1
  10. package/fesm2022/rolatech-angular-course-course-category-index.component-D5HIrVD-.mjs.map +0 -1
  11. package/fesm2022/rolatech-angular-course-course-index.component-Ds-a9GF7.mjs.map +0 -1
  12. package/lib/components/course-action/course-action.component.d.ts +0 -14
  13. package/lib/components/course-details/course-details.component.d.ts +0 -20
  14. package/lib/components/course-details-dialog/course-details-dialog.component.d.ts +0 -23
  15. package/lib/components/course-edit-dialog/course-edit-dialog.component.d.ts +0 -51
  16. package/lib/components/course-info/course-info.component.d.ts +0 -10
  17. package/lib/components/course-media/course-media.component.d.ts +0 -12
  18. package/lib/components/course-media-owner-renderer/course-media-owner-renderer.component.d.ts +0 -8
  19. package/lib/components/course-preview/course-preview.component.d.ts +0 -5
  20. package/lib/components/course-pricing/course-pricing.component.d.ts +0 -7
  21. package/lib/components/course-pricing-add-dialog/course-pricing-add-dialog.component.d.ts +0 -10
  22. package/lib/components/course-pricing-dialog/course-pricing-dialog.component.d.ts +0 -19
  23. package/lib/components/course-schedule/course-schedule.component.d.ts +0 -10
  24. package/lib/components/course-schedule-add-dialog/course-schedule-add-dialog.component.d.ts +0 -10
  25. package/lib/components/course-schedule-dialog/course-schedule-dialog.component.d.ts +0 -14
  26. package/lib/components/course-section-item/course-section-item.component.d.ts +0 -24
  27. package/lib/components/course-section-lecture-item/course-section-lecture-item.component.d.ts +0 -40
  28. package/lib/components/course-section-lecture-video-dialog/course-section-lecture-video-dialog.component.d.ts +0 -29
  29. package/lib/components/course-section-lecture-video-item/course-section-lecture-video-item.component.d.ts +0 -5
  30. package/lib/components/course-sections/course-sections.component.d.ts +0 -18
  31. package/lib/components/detail-item/detail-item.component.d.ts +0 -31
  32. package/lib/components/index.d.ts +0 -22
  33. package/lib/components/pricing-item/pricing-item.component.d.ts +0 -16
  34. package/lib/components/schedule-item/schedule-item.component.d.ts +0 -33
  35. package/lib/interfaces/category.d.ts +0 -17
  36. package/lib/interfaces/course.d.ts +0 -143
  37. package/lib/interfaces/index.d.ts +0 -3
  38. package/lib/interfaces/media.d.ts +0 -9
  39. package/lib/pages/course/course-category/course-category.component.d.ts +0 -27
  40. package/lib/pages/course/course-category-index/course-category-index.component.d.ts +0 -22
  41. package/lib/pages/course/course-category-layout/course-category-layout.component.d.ts +0 -17
  42. package/lib/pages/course/course-category.routes.d.ts +0 -2
  43. package/lib/pages/course/course-detail/course-detail.component.d.ts +0 -43
  44. package/lib/pages/course/course-index/course-index.component.d.ts +0 -18
  45. package/lib/pages/course/course-layout/course-layout.component.d.ts +0 -17
  46. package/lib/pages/course/course-section-content/course-section-content.component.d.ts +0 -41
  47. package/lib/pages/course/course.routes.d.ts +0 -2
  48. package/lib/pages/course-manage/course-manage-application/course-manage-application.component.d.ts +0 -32
  49. package/lib/pages/course-manage/course-manage-application-detail/course-manage-application-detail.component.d.ts +0 -5
  50. package/lib/pages/course-manage/course-manage-content/course-manage-content.component.d.ts +0 -5
  51. package/lib/pages/course-manage/course-manage-create/course-manage-create.component.d.ts +0 -37
  52. package/lib/pages/course-manage/course-manage-details/course-manage-details.component.d.ts +0 -29
  53. package/lib/pages/course-manage/course-manage-index/course-manage-index.component.d.ts +0 -43
  54. package/lib/pages/course-manage/course-manage-info/course-manage-info.component.d.ts +0 -42
  55. package/lib/pages/course-manage/course-manage-layout/course-manage-layout.component.d.ts +0 -19
  56. package/lib/pages/course-manage/course-manage-media/course-manage-media.component.d.ts +0 -29
  57. package/lib/pages/course-manage/course-manage-pricing/course-manage-pricing.component.d.ts +0 -20
  58. package/lib/pages/course-manage/course-manage-schedule/course-manage-schedule.component.d.ts +0 -20
  59. package/lib/pages/course-manage/course-manage-section/course-manage-section.component.d.ts +0 -37
  60. package/lib/pages/course-manage/course-manage.routes.d.ts +0 -2
  61. package/lib/services/booking.service.d.ts +0 -9
  62. package/lib/services/category.service.d.ts +0 -12
  63. package/lib/services/course-section.service.d.ts +0 -10
  64. package/lib/services/course.service.d.ts +0 -65
  65. package/lib/services/index.d.ts +0 -5
  66. package/lib/services/instructor.service.d.ts +0 -25
  67. package/provider.d.ts +0 -2
package/index.d.ts CHANGED
@@ -1,8 +1,628 @@
1
- export * from './lib/interfaces';
2
- export * from './provider';
3
- export * from './lib/components';
4
- export * from './lib/services';
5
- export { courseRoutes } from './lib/pages/course/course.routes';
6
- export { courseCategoryRoutes } from './lib/pages/course/course-category.routes';
7
- export { courseManageRoutes } from './lib/pages/course-manage/course-manage.routes';
8
- export declare const loadCourseRoutes: () => Promise<import("@angular/router").Routes>;
1
+ import * as _angular_router from '@angular/router';
2
+ import { Routes } from '@angular/router';
3
+ import * as _angular_core from '@angular/core';
4
+ import { EnvironmentProviders, OnInit, ElementRef, DoCheck, AfterViewInit, OnDestroy } from '@angular/core';
5
+ import { MatDialog, MatDialogRef } from '@angular/material/dialog';
6
+ import { DialogService, BaseService } from '@rolatech/angular-services';
7
+ import { MatSnackBar } from '@angular/material/snack-bar';
8
+ import { AuthUserService } from '@rolatech/angular-auth';
9
+ import { Observable } from 'rxjs';
10
+ import { MatStepper } from '@angular/material/stepper';
11
+ import { ViewportScroller } from '@angular/common';
12
+
13
+ interface Media {
14
+ id?: string;
15
+ url: string;
16
+ alt: string;
17
+ width?: number;
18
+ height?: number;
19
+ uuid?: string;
20
+ selected?: boolean;
21
+ }
22
+
23
+ interface CourseCategory {
24
+ id: string;
25
+ name: string;
26
+ media: CourseCategoryMedia[];
27
+ courses: Course[];
28
+ createdAt: string;
29
+ originId: string;
30
+ level: number;
31
+ children: CourseCategory[];
32
+ parent: CourseCategory;
33
+ }
34
+ interface CourseCategoryMedia {
35
+ id: string;
36
+ url: string;
37
+ alt: string;
38
+ }
39
+
40
+ interface Course {
41
+ id: string;
42
+ name: string;
43
+ description: string;
44
+ categories: CourseCategory[];
45
+ createdAt: string;
46
+ updatedAt: string;
47
+ status: CourseStatus | string;
48
+ media: Media[];
49
+ type: CourseType;
50
+ instructorId: string;
51
+ classroom: CourseClassroom;
52
+ details: CourseDetail[];
53
+ pricing: CoursePricing[];
54
+ schedule: CourseSchedule[];
55
+ }
56
+ interface CoursePricing {
57
+ id: string;
58
+ min: number;
59
+ max: number;
60
+ total: number;
61
+ }
62
+ interface CourseSchedule {
63
+ id: string;
64
+ title: string;
65
+ content: string;
66
+ startDate: string;
67
+ startTime: string;
68
+ startAt: string;
69
+ endDate: string;
70
+ endTime: string;
71
+ endAt: string;
72
+ }
73
+ interface CourseClassroom {
74
+ id: string;
75
+ name: string;
76
+ contact: string;
77
+ phone: string;
78
+ province: string;
79
+ city: string;
80
+ county: string;
81
+ town: string;
82
+ address: string;
83
+ detail: string;
84
+ latitude: string;
85
+ longitude: string;
86
+ media: Media[];
87
+ isUploading?: boolean;
88
+ room?: string;
89
+ }
90
+ declare enum CourseStatus {
91
+ ACTIVE,
92
+ ACCEPTED,
93
+ AWAITING,
94
+ PENDING,
95
+ STARTED,
96
+ ENDED,
97
+ DELETED,
98
+ DRAFT
99
+ }
100
+ declare enum CourseApplicationStatus {
101
+ AWAITING = "\u5BA1\u6838\u4E2D",
102
+ ACTIVE = "\u5DF2\u901A\u8FC7",
103
+ REJECTED = "\u5DF2\u62D2\u7EDD"
104
+ }
105
+ interface CourseReviewRecord {
106
+ content: string;
107
+ status: CourseReviewStatus;
108
+ course: Course;
109
+ createdAt: string;
110
+ updatedAt: string;
111
+ }
112
+ declare enum CourseReviewStatus {
113
+ ACCEPTED = "\u5DF2\u901A\u8FC7",
114
+ REJECTED = "\u672A\u901A\u8FC7"
115
+ }
116
+ interface CourseDetail {
117
+ id: string;
118
+ title: string;
119
+ description: string;
120
+ content: string;
121
+ media: Media[];
122
+ isUploading?: boolean;
123
+ }
124
+ interface CourseSection {
125
+ id?: string;
126
+ title: string;
127
+ description: string;
128
+ lectures: CourseSectionLecture[];
129
+ }
130
+ interface CourseSectionLecture {
131
+ id?: string;
132
+ title: string;
133
+ description: string;
134
+ type: CourseSectionLectureContentType | string;
135
+ item: CourseSectionLectureVideo;
136
+ isUploading?: boolean;
137
+ progress?: number | 0;
138
+ }
139
+ interface CourseSectionLectureItem {
140
+ id: string;
141
+ }
142
+ declare enum CourseSectionLectureContentType {
143
+ VIDEO,
144
+ ARTICLE
145
+ }
146
+ interface CourseSectionLectureVideo {
147
+ id?: string;
148
+ url: string;
149
+ thumbnail: string;
150
+ duration: number;
151
+ isUploading?: boolean;
152
+ progress: number | 0;
153
+ canBePreviewed: boolean;
154
+ }
155
+ interface CourseSectionLectureVideoMetadata {
156
+ duration: string;
157
+ }
158
+ interface Schedule {
159
+ id?: string;
160
+ title: string;
161
+ content: string;
162
+ startDate?: string;
163
+ startTime?: string;
164
+ startAt: string;
165
+ endDate?: string;
166
+ endTime?: string;
167
+ endAt: string;
168
+ }
169
+ interface Pricing {
170
+ id?: string;
171
+ min: number;
172
+ max: number;
173
+ total: number;
174
+ }
175
+ declare enum CourseType {
176
+ ONLINE,
177
+ OFFLINE,
178
+ MIXED
179
+ }
180
+ declare const ScheduleDate: string[];
181
+
182
+ declare function provideAngularCourse(): EnvironmentProviders;
183
+
184
+ declare class CoursePreviewComponent {
185
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CoursePreviewComponent, never>;
186
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CoursePreviewComponent, "rolatech-course-preview", never, {}, {}, never, never, true, never>;
187
+ }
188
+
189
+ declare class CourseInfoComponent {
190
+ course: _angular_core.InputSignal<Course>;
191
+ instructor: _angular_core.InputSignal<string | undefined>;
192
+ username: _angular_core.InputSignal<string | undefined>;
193
+ dataToDisplay: _angular_core.EffectRef;
194
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseInfoComponent, never>;
195
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseInfoComponent, "rolatech-course-info", never, { "course": { "alias": "course"; "required": true; "isSignal": true; }; "instructor": { "alias": "instructor"; "required": false; "isSignal": true; }; "username": { "alias": "username"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
196
+ }
197
+
198
+ declare class CourseMediaComponent {
199
+ dialog: MatDialog;
200
+ media: _angular_core.InputSignal<Media[]>;
201
+ min: _angular_core.InputSignal<boolean>;
202
+ mediaIndex: number;
203
+ onImageClick(i: any): void;
204
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseMediaComponent, never>;
205
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseMediaComponent, "rolatech-course-media", never, { "media": { "alias": "media"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
206
+ }
207
+
208
+ declare class CoursePricingComponent {
209
+ pricing: _angular_core.InputSignal<CoursePricing[]>;
210
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CoursePricingComponent, never>;
211
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CoursePricingComponent, "rolatech-course-pricing", never, { "pricing": { "alias": "pricing"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
212
+ }
213
+
214
+ declare class CourseActionComponent {
215
+ course: _angular_core.InputSignal<Course>;
216
+ inWishList: _angular_core.InputSignal<boolean>;
217
+ cart: _angular_core.OutputEmitterRef<Course>;
218
+ wish: _angular_core.OutputEmitterRef<Course>;
219
+ checkout: _angular_core.OutputEmitterRef<Course>;
220
+ onCart(course: Course): void;
221
+ onWish(course: Course): void;
222
+ onCheckout(course: Course): void;
223
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseActionComponent, never>;
224
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseActionComponent, "rolatech-course-action", never, { "course": { "alias": "course"; "required": true; "isSignal": true; }; "inWishList": { "alias": "inWishList"; "required": false; "isSignal": true; }; }, { "cart": "cart"; "wish": "wish"; "checkout": "checkout"; }, never, never, true, never>;
225
+ }
226
+
227
+ declare class CourseScheduleComponent implements OnInit {
228
+ schedule: _angular_core.InputSignal<CourseSchedule[]>;
229
+ ngOnInit(): void;
230
+ formatSchedule(): void;
231
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseScheduleComponent, never>;
232
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseScheduleComponent, "rolatech-course-schedule", never, { "schedule": { "alias": "schedule"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
233
+ }
234
+
235
+ declare class CourseSectionsComponent {
236
+ purchased: _angular_core.InputSignal<boolean>;
237
+ sections: _angular_core.InputSignal<CourseSection[]>;
238
+ section: _angular_core.OutputEmitterRef<{
239
+ section: CourseSection;
240
+ lecture: CourseSectionLecture;
241
+ }>;
242
+ checkout: _angular_core.OutputEmitterRef<{
243
+ section: CourseSection;
244
+ lecture: CourseSectionLecture;
245
+ }>;
246
+ onSection(section: CourseSection, lecture: CourseSectionLecture): void;
247
+ onCheckout(section: CourseSection, lecture: CourseSectionLecture): void;
248
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseSectionsComponent, never>;
249
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseSectionsComponent, "rolatech-course-sections", never, { "purchased": { "alias": "purchased"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; }, { "section": "section"; "checkout": "checkout"; }, never, never, true, never>;
250
+ }
251
+
252
+ declare class CourseSectionItemComponent implements OnInit {
253
+ section: _angular_core.ModelSignal<CourseSection>;
254
+ actions: _angular_core.ModelSignal<boolean | undefined>;
255
+ hasUnsaved: _angular_core.ModelSignal<boolean[] | undefined>;
256
+ editId: _angular_core.ModelSignal<any>;
257
+ save: _angular_core.OutputEmitterRef<CourseSection>;
258
+ cancel: _angular_core.OutputEmitterRef<CourseSection>;
259
+ delete: _angular_core.OutputEmitterRef<CourseSection>;
260
+ edit: _angular_core.OutputEmitterRef<CourseSection>;
261
+ addLecture: _angular_core.OutputEmitterRef<CourseSection>;
262
+ editing: boolean;
263
+ isExpand: boolean;
264
+ ngOnInit(): void;
265
+ onSave(section: CourseSection): void;
266
+ onCancel(section: CourseSection): void;
267
+ onDelete(section: CourseSection): void;
268
+ onEdit(section: CourseSection): void;
269
+ onAddLecture(section: CourseSection): void;
270
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseSectionItemComponent, never>;
271
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseSectionItemComponent, "rolatech-course-section-item", never, { "section": { "alias": "section"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "hasUnsaved": { "alias": "hasUnsaved"; "required": false; "isSignal": true; }; "editId": { "alias": "editId"; "required": false; "isSignal": true; }; }, { "section": "sectionChange"; "actions": "actionsChange"; "hasUnsaved": "hasUnsavedChange"; "editId": "editIdChange"; "save": "save"; "cancel": "cancel"; "delete": "delete"; "edit": "edit"; "addLecture": "addLecture"; }, never, ["*"], true, never>;
272
+ }
273
+
274
+ declare class CourseSectionLectureItemComponent implements OnInit {
275
+ platformId: Object;
276
+ el: ElementRef<any>;
277
+ dialogService: DialogService;
278
+ myVideo: _angular_core.Signal<unknown>;
279
+ progress: _angular_core.InputSignal<number>;
280
+ lecture: _angular_core.InputSignal<CourseSectionLecture>;
281
+ actions: _angular_core.InputSignal<boolean>;
282
+ hasUnsaved: _angular_core.InputSignal<boolean>;
283
+ editId: _angular_core.ModelSignal<any>;
284
+ save: _angular_core.OutputEmitterRef<CourseSectionLecture>;
285
+ cancel: _angular_core.OutputEmitterRef<CourseSectionLecture>;
286
+ delete: _angular_core.OutputEmitterRef<CourseSectionLecture>;
287
+ edit: _angular_core.OutputEmitterRef<CourseSectionLecture>;
288
+ mediaEdit: _angular_core.OutputEmitterRef<CourseSectionLectureVideo>;
289
+ thumbnailUpload: _angular_core.OutputEmitterRef<CourseSectionLectureVideo>;
290
+ upload: _angular_core.OutputEmitterRef<{
291
+ id: any;
292
+ data: FormData | null;
293
+ }>;
294
+ deleteMedia: _angular_core.OutputEmitterRef<CourseSectionLectureItem>;
295
+ editing: boolean;
296
+ ngOnInit(): void;
297
+ onSave(lecture: CourseSectionLecture): void;
298
+ onCancel(lecture: CourseSectionLecture): void;
299
+ onDelete(lecture: CourseSectionLecture): void;
300
+ onEdit(lecture: CourseSectionLecture): void;
301
+ onMediaEdit(lecture: CourseSectionLectureVideo): void;
302
+ onVideoThumbnailUpload(video: CourseSectionLectureVideo): void;
303
+ onUpload(id: any, data: any): void;
304
+ onDeleteMedia(data: any): void;
305
+ onLoadedMetadata(event: Event): void;
306
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseSectionLectureItemComponent, never>;
307
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseSectionLectureItemComponent, "rolatech-course-section-lecture-item", never, { "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "lecture": { "alias": "lecture"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "hasUnsaved": { "alias": "hasUnsaved"; "required": false; "isSignal": true; }; "editId": { "alias": "editId"; "required": false; "isSignal": true; }; }, { "editId": "editIdChange"; "save": "save"; "cancel": "cancel"; "delete": "delete"; "edit": "edit"; "mediaEdit": "mediaEdit"; "thumbnailUpload": "thumbnailUpload"; "upload": "upload"; "deleteMedia": "deleteMedia"; }, never, ["*"], true, never>;
308
+ }
309
+
310
+ declare class CourseSectionLectureVideoItemComponent {
311
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseSectionLectureVideoItemComponent, never>;
312
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseSectionLectureVideoItemComponent, "rolatech-course-section-lecture-video-item", never, {}, {}, never, never, true, never>;
313
+ }
314
+
315
+ declare class CoursePricingAddDialogComponent implements DoCheck {
316
+ output: _angular_core.OutputEmitterRef<any>;
317
+ pricing: Pricing;
318
+ ngDoCheck(): void;
319
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CoursePricingAddDialogComponent, never>;
320
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CoursePricingAddDialogComponent, "rolatech-course-pricing-add-dialog", never, {}, { "output": "output"; }, never, never, true, never>;
321
+ }
322
+
323
+ declare class CourseScheduleAddDialogComponent implements DoCheck {
324
+ output: _angular_core.OutputEmitterRef<any>;
325
+ schedule: Schedule;
326
+ ngDoCheck(): void;
327
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseScheduleAddDialogComponent, never>;
328
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseScheduleAddDialogComponent, "rolatech-course-schedule-add-dialog", never, {}, { "output": "output"; }, never, never, true, never>;
329
+ }
330
+
331
+ declare class CourseService extends BaseService {
332
+ authUserService: AuthUserService;
333
+ init(): void;
334
+ me(options: any): Observable<any>;
335
+ findSchedule(id: string): Observable<any>;
336
+ findPricing(id: string): Observable<any>;
337
+ addDetail(id: string, data: any): Observable<any>;
338
+ addBatchDetails(id: string, data: any): Observable<any>;
339
+ findDetails(id: string): Observable<any>;
340
+ updateDetail(id: string, detailId: string, data: any): Observable<any>;
341
+ deleteDetail(id: string, detailId: string): Observable<any>;
342
+ uploadDetailMedia(id: string, detailId: string, data: FormData): Observable<any>;
343
+ deleteDetailMedia(id: string, detailId: string, mediaId: string): Observable<any>;
344
+ review(id: string): Observable<any>;
345
+ start(id: string): Observable<any>;
346
+ finish(id: string): Observable<any>;
347
+ publish(id: string): Observable<any>;
348
+ upload(data: FormData): Observable<any>;
349
+ uploadMedia(id: string, data: FormData): Observable<any>;
350
+ deleteMedia(id: string, mediaId: string): Observable<any>;
351
+ importFromExcel(data: FormData): Observable<any>;
352
+ createFromExcel(data: any): Observable<any>;
353
+ findAllApplications(options: any): Observable<any>;
354
+ findApplicationsUser(ids: Array<string>): Observable<any>;
355
+ findApplicationDetail(id: string): Observable<any>;
356
+ accept(id: string): Observable<any>;
357
+ reject(id: string, body: any): Observable<any>;
358
+ acceptApplication(id: string): Observable<any>;
359
+ rejectApplication(id: string, body: any): Observable<any>;
360
+ addPricing(id: string, data: any): Observable<any>;
361
+ updatePricing(id: string, pricingId: string, data: any): Observable<any>;
362
+ deletePricing(id: string, pricingId: string): Observable<any>;
363
+ addSchedule(id: string, data: any): Observable<any>;
364
+ updateSchedule(id: string, scheduleId: string, data: any): Observable<any>;
365
+ deleteSchedule(id: string, scheduleId: string): Observable<any>;
366
+ findAllReviews(options: any): Observable<any>;
367
+ getReview(id: string): Observable<any>;
368
+ findReviews(options: any): Observable<any>;
369
+ countUsers(options: any): Observable<any>;
370
+ findByIds(ids: string): Observable<any>;
371
+ findWishlist(options: any): Observable<Object>;
372
+ addToWishlist(courseId: string): Observable<Object>;
373
+ removeFromWishlist(courseId: string): Observable<Object>;
374
+ findWishlistBy(courseId: string): Observable<Object>;
375
+ findMyCourses(options: any): Observable<Object>;
376
+ findPurchasedByCourseId(courseId: string): Observable<Object>;
377
+ deleteFromWishlist(sectionId: string): Observable<Object>;
378
+ findCourseSections(options: any): Observable<Object>;
379
+ addCourseSection(courseId: any, data: any): Observable<any>;
380
+ updateCourseSection(sectionId: any, data: any): Observable<any>;
381
+ deleteCourseSection(sectionId: any): Observable<any>;
382
+ getCourseSection(courseId: any): Observable<any>;
383
+ addLecture(sectionId: string, data: any): Observable<any>;
384
+ updateLecture(lectureId: string, data: any): Observable<any>;
385
+ deleteLecture(lectureId: any): Observable<any>;
386
+ uploadVideoInit(lectureId: string, data: any): Observable<any>;
387
+ uploadVideoPartsToLecture(lectureId: string, data: FormData): Observable<any>;
388
+ completePartUpload(lectureId: string, data: any): Observable<any>;
389
+ uploadVideoToLecture(lectureId: string, data: any): Observable<any>;
390
+ deleteLectureVideo(videoId: any): Observable<any>;
391
+ uploadLectureVideoThumbnail(videoId: any, data: FormData): Observable<any>;
392
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseService, never>;
393
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CourseService>;
394
+ }
395
+
396
+ declare class CourseSectionService extends BaseService {
397
+ init(): void;
398
+ findSections(id: string): Observable<any>;
399
+ canBePreviewed(videoId: any, data: any): Observable<any>;
400
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseSectionService, never>;
401
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CourseSectionService>;
402
+ }
403
+
404
+ declare class CategoryService extends BaseService {
405
+ init(): void;
406
+ uploadMedia(id: string, data: FormData): Observable<any>;
407
+ deleteMedia(id: string, mediaId: string): Observable<any>;
408
+ importFromExcel(data: FormData): Observable<any>;
409
+ createFromExcel(data: any): Observable<any>;
410
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CategoryService, never>;
411
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CategoryService>;
412
+ }
413
+
414
+ declare const services: any[];
415
+
416
+ declare class CoursePricingDialogComponent {
417
+ private dialogRef;
418
+ data: any;
419
+ private courseService;
420
+ private snackBar;
421
+ private dialog;
422
+ courseId: string;
423
+ pricing: Pricing[];
424
+ constructor(dialogRef: MatDialogRef<CoursePricingDialogComponent>, data: any, courseService: CourseService, snackBar: MatSnackBar, dialog: MatDialog);
425
+ close(): void;
426
+ addPricing(): void;
427
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CoursePricingDialogComponent, never>;
428
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CoursePricingDialogComponent, "rolatech-course-pricing-dialog", never, {}, {}, never, never, true, never>;
429
+ }
430
+
431
+ declare class CourseScheduleDialogComponent {
432
+ private dialogRef;
433
+ data: any;
434
+ courseId: string;
435
+ schedule: Schedule[];
436
+ constructor(dialogRef: MatDialogRef<CourseScheduleDialogComponent>, data: any);
437
+ close(): void;
438
+ addSchedule(): void;
439
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseScheduleDialogComponent, never>;
440
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseScheduleDialogComponent, "rolatech-course-schedule-dialog", never, {}, {}, never, never, true, never>;
441
+ }
442
+
443
+ declare class CourseDetailsDialogComponent {
444
+ private dialogRef;
445
+ data: any;
446
+ private courseService;
447
+ private snackBar;
448
+ private dialog;
449
+ courseId: string;
450
+ details: CourseDetail[];
451
+ constructor(dialogRef: MatDialogRef<CourseDetailsDialogComponent>, data: any, courseService: CourseService, snackBar: MatSnackBar, dialog: MatDialog);
452
+ close(): void;
453
+ addDetail(): void;
454
+ onDetailMediaUpload(event: any): void;
455
+ onDetailMediaDelete(event: any): void;
456
+ onDetailSave(event: any): void;
457
+ onDetailDelete(detail: CourseDetail): void;
458
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseDetailsDialogComponent, never>;
459
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseDetailsDialogComponent, "rolatech-course-details-dialog", never, {}, {}, never, never, true, never>;
460
+ }
461
+
462
+ declare class CourseEditDialogComponent implements OnInit {
463
+ private dialogRef;
464
+ data: any;
465
+ private categoryService;
466
+ private courseService;
467
+ private snackBar;
468
+ private dialog;
469
+ course: any;
470
+ isUploading: boolean;
471
+ details: any;
472
+ pricing: any;
473
+ schedule: any;
474
+ courseType: {
475
+ key: string;
476
+ value: string;
477
+ }[];
478
+ selectedCategoyIds: string[];
479
+ categories: CourseCategory[];
480
+ selectedCategory: CourseCategory;
481
+ classrooms: any;
482
+ date: string[];
483
+ lastStepper: boolean;
484
+ firstStepper: boolean;
485
+ stepper: _angular_core.Signal<MatStepper>;
486
+ constructor(dialogRef: MatDialogRef<CourseEditDialogComponent>, data: any, categoryService: CategoryService, courseService: CourseService, snackBar: MatSnackBar, dialog: MatDialog);
487
+ ngOnInit(): void;
488
+ close(): void;
489
+ compareFn(o1: any, o2: any): boolean;
490
+ addDetail(): void;
491
+ addSchedule(): void;
492
+ addPricing(): void;
493
+ onSelectionChange(event: any): void;
494
+ onStepperChange(event: any): void;
495
+ previous(): void;
496
+ next(): void;
497
+ onDetailMediaUpload(event: any): void;
498
+ onDetailMediaDelete(event: any): void;
499
+ onDetailSave(event: any): void;
500
+ onDetailDelete(detail: CourseDetail): void;
501
+ onImageClick(i: any): void;
502
+ onUpload(event: any): void;
503
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseEditDialogComponent, never>;
504
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseEditDialogComponent, "rolatech-course-edit-dialog", never, {}, {}, never, never, true, never>;
505
+ }
506
+
507
+ declare class CourseDetailsComponent implements OnInit {
508
+ details: _angular_core.InputSignal<CourseDetail[]>;
509
+ instructor: _angular_core.InputSignal<string | undefined>;
510
+ username: _angular_core.InputSignal<string | undefined>;
511
+ el: ElementRef<any>;
512
+ viewportScroller: ViewportScroller;
513
+ platformId: Object;
514
+ player: any;
515
+ show: boolean;
516
+ mediaIndex: number;
517
+ finalSchedule: never[];
518
+ ngOnInit(): void;
519
+ onClickScroller(id: string): void;
520
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseDetailsComponent, never>;
521
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseDetailsComponent, "rolatech-course-details", never, { "details": { "alias": "details"; "required": true; "isSignal": true; }; "instructor": { "alias": "instructor"; "required": false; "isSignal": true; }; "username": { "alias": "username"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
522
+ }
523
+
524
+ declare class CourseMediaOwnerRendererComponent {
525
+ name: _angular_core.InputSignal<string | undefined>;
526
+ avatar: _angular_core.InputSignal<string | undefined>;
527
+ username: _angular_core.InputSignal<string | undefined>;
528
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseMediaOwnerRendererComponent, never>;
529
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseMediaOwnerRendererComponent, "rolatech-course-media-owner-renderer", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "username": { "alias": "username"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
530
+ }
531
+
532
+ declare class CourseSectionLectureVideoDialogComponent implements OnInit, AfterViewInit, OnDestroy {
533
+ private dialogRef;
534
+ data: any;
535
+ lecture: CourseSectionLecture;
536
+ thumbnailUpload: _angular_core.OutputEmitterRef<any>;
537
+ courseService: CourseService;
538
+ courseSectionService: CourseSectionService;
539
+ snackBar: MatSnackBar;
540
+ platformId: Object;
541
+ el: ElementRef<any>;
542
+ mediaSrc: any;
543
+ player: any;
544
+ constructor(dialogRef: MatDialogRef<CourseSectionLectureVideoDialogComponent>, data: any);
545
+ ngAfterViewInit(): void;
546
+ close(): void;
547
+ initPlayer(url: string, thumbnail?: string): void;
548
+ ngOnInit(): void;
549
+ ngOnDestroy(): void;
550
+ onThumbnailUpload(event: any): void;
551
+ onPreviewChange(event: any): void;
552
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CourseSectionLectureVideoDialogComponent, never>;
553
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CourseSectionLectureVideoDialogComponent, "rolatech-course-section-lecture-video-dialog", never, {}, { "thumbnailUpload": "thumbnailUpload"; }, never, never, true, never>;
554
+ }
555
+
556
+ declare class ScheduleItemComponent implements OnInit, OnDestroy {
557
+ value: _angular_core.InputSignal<Schedule | undefined>;
558
+ actions: _angular_core.InputSignal<boolean>;
559
+ delete: _angular_core.OutputEmitterRef<Schedule>;
560
+ save: _angular_core.OutputEmitterRef<Schedule>;
561
+ date: string[];
562
+ schedule: any;
563
+ ngOnInit(): void;
564
+ ngOnDestroy(): void;
565
+ startDateChanged(event: any): void;
566
+ startTimeChanged(event: any): void;
567
+ endDateChanged(event: any): void;
568
+ endTimeChanged(event: any): void;
569
+ onSave(schedule: Schedule): void;
570
+ onDelete(schedule: Schedule): void;
571
+ private format;
572
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScheduleItemComponent, never>;
573
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScheduleItemComponent, "rolatech-schedule-item", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, { "delete": "delete"; "save": "save"; }, never, never, true, never>;
574
+ }
575
+
576
+ declare class PricingItemComponent implements OnInit {
577
+ actions: _angular_core.InputSignal<boolean>;
578
+ pricing: _angular_core.ModelSignal<Pricing>;
579
+ delete: _angular_core.OutputEmitterRef<Pricing>;
580
+ save: _angular_core.OutputEmitterRef<Pricing>;
581
+ constructor();
582
+ ngOnInit(): void;
583
+ onSave(pricing: Pricing): void;
584
+ onDelete(pricing: Pricing): void;
585
+ setTwoNumberDecimal(e: any): void;
586
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PricingItemComponent, never>;
587
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PricingItemComponent, "rolatech-pricing-item", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "pricing": { "alias": "pricing"; "required": true; "isSignal": true; }; }, { "pricing": "pricingChange"; "delete": "delete"; "save": "save"; }, never, never, true, never>;
588
+ }
589
+
590
+ declare class DetailItemComponent implements OnInit {
591
+ isUploading: _angular_core.InputSignal<boolean | undefined>;
592
+ detail: _angular_core.InputSignal<CourseDetail>;
593
+ actions: _angular_core.InputSignal<boolean>;
594
+ selectMedia: _angular_core.InputSignal<any>;
595
+ upload: _angular_core.OutputEmitterRef<{
596
+ id: string;
597
+ data: FormData | null;
598
+ }>;
599
+ delete: _angular_core.OutputEmitterRef<CourseDetail>;
600
+ save: _angular_core.OutputEmitterRef<CourseDetail>;
601
+ deleteMedia: _angular_core.OutputEmitterRef<{
602
+ id: string;
603
+ media: Media;
604
+ }>;
605
+ selectedImg: Media | any;
606
+ constructor();
607
+ ngOnInit(): void;
608
+ onUpload(id: string, data: any): void;
609
+ onMediaItemClick(image: Media): void;
610
+ select(item: any): void;
611
+ deleteImage(): void;
612
+ onSave(detail: CourseDetail): void;
613
+ onDelete(detail: CourseDetail): void;
614
+ onDeleteMedia(id: string, media: Media): void;
615
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailItemComponent, never>;
616
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailItemComponent, "rolatech-detail-item", never, { "isUploading": { "alias": "isUploading"; "required": false; "isSignal": true; }; "detail": { "alias": "detail"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "selectMedia": { "alias": "selectMedia"; "required": false; "isSignal": true; }; }, { "upload": "upload"; "delete": "delete"; "save": "save"; "deleteMedia": "deleteMedia"; }, never, never, true, never>;
617
+ }
618
+
619
+ declare const courseRoutes: Routes;
620
+
621
+ declare const courseCategoryRoutes: Routes;
622
+
623
+ declare const courseManageRoutes: Routes;
624
+
625
+ declare const loadCourseRoutes: () => Promise<_angular_router.Routes>;
626
+
627
+ export { CategoryService, CourseActionComponent, CourseApplicationStatus, CourseDetailsComponent, CourseDetailsDialogComponent, CourseEditDialogComponent, CourseInfoComponent, CourseMediaComponent, CourseMediaOwnerRendererComponent, CoursePreviewComponent, CoursePricingAddDialogComponent, CoursePricingComponent, CoursePricingDialogComponent, CourseReviewStatus, CourseScheduleAddDialogComponent, CourseScheduleComponent, CourseScheduleDialogComponent, CourseSectionItemComponent, CourseSectionLectureContentType, CourseSectionLectureItemComponent, CourseSectionLectureVideoDialogComponent, CourseSectionLectureVideoItemComponent, CourseSectionService, CourseSectionsComponent, CourseService, CourseStatus, CourseType, DetailItemComponent, PricingItemComponent, ScheduleDate, ScheduleItemComponent, courseCategoryRoutes, courseManageRoutes, courseRoutes, loadCourseRoutes, provideAngularCourse, services };
628
+ export type { Course, CourseCategory, CourseCategoryMedia, CourseClassroom, CourseDetail, CoursePricing, CourseReviewRecord, CourseSchedule, CourseSection, CourseSectionLecture, CourseSectionLectureVideo, CourseSectionLectureVideoMetadata, Media, Pricing, Schedule };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-course",
3
- "version": "19.0.0-beta.9",
3
+ "version": "19.1.0-beta.3",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/core": "^19.0.0",
@@ -16,12 +16,12 @@
16
16
  "moment": "^2.30.1"
17
17
  },
18
18
  "dependencies": {
19
- "@rolatech/angular-common": "19.0.0-beta.9",
20
- "@rolatech/angular-components": "19.0.0-beta.9",
21
- "@rolatech/angular-services": "19.0.0-beta.9",
22
- "@rolatech/angular-auth": "19.0.0-beta.9",
23
- "@rolatech/angular-category": "19.0.0-beta.9",
24
- "@rolatech/angular-comment": "19.0.0-beta.9",
19
+ "@rolatech/angular-common": "19.1.0-beta.3",
20
+ "@rolatech/angular-components": "19.1.0-beta.3",
21
+ "@rolatech/angular-services": "19.1.0-beta.3",
22
+ "@rolatech/angular-auth": "19.1.0-beta.3",
23
+ "@rolatech/angular-category": "19.1.0-beta.3",
24
+ "@rolatech/angular-comment": "19.1.0-beta.3",
25
25
  "tslib": "^2.3.0"
26
26
  },
27
27
  "sideEffects": false,