@rolatech/angular-course 17.6.4 → 19.0.0-beta.1
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-index.component-vjwivkqz.mjs → rolatech-angular-course-course-index.component-Ba8BsDP1.mjs} +6 -6
- package/fesm2022/rolatech-angular-course-course-index.component-Ba8BsDP1.mjs.map +1 -0
- package/fesm2022/rolatech-angular-course.mjs +275 -300
- package/fesm2022/rolatech-angular-course.mjs.map +1 -1
- package/lib/components/index.d.ts +0 -1
- package/package.json +8 -6
- package/themes/_default.scss +1 -1
- package/esm2022/index.mjs +0 -7
- package/esm2022/lib/components/course-action/course-action.component.mjs +0 -29
- package/esm2022/lib/components/course-details/course-details.component.mjs +0 -28
- package/esm2022/lib/components/course-details-dialog/course-details-dialog.component.mjs +0 -92
- package/esm2022/lib/components/course-edit-dialog/course-edit-dialog.component.mjs +0 -233
- package/esm2022/lib/components/course-info/course-info.component.mjs +0 -23
- package/esm2022/lib/components/course-item/course-item.component.mjs +0 -19
- package/esm2022/lib/components/course-media/course-media.component.mjs +0 -34
- package/esm2022/lib/components/course-media-owner-renderer/course-media-owner-renderer.component.mjs +0 -20
- package/esm2022/lib/components/course-preview/course-preview.component.mjs +0 -11
- package/esm2022/lib/components/course-pricing/course-pricing.component.mjs +0 -15
- package/esm2022/lib/components/course-pricing-add-dialog/course-pricing-add-dialog.component.mjs +0 -25
- package/esm2022/lib/components/course-pricing-dialog/course-pricing-dialog.component.mjs +0 -59
- package/esm2022/lib/components/course-schedule/course-schedule.component.mjs +0 -20
- package/esm2022/lib/components/course-schedule-add-dialog/course-schedule-add-dialog.component.mjs +0 -26
- package/esm2022/lib/components/course-schedule-dialog/course-schedule-dialog.component.mjs +0 -56
- package/esm2022/lib/components/course-section-item/course-section-item.component.mjs +0 -52
- package/esm2022/lib/components/course-section-lecture-item/course-section-lecture-item.component.mjs +0 -112
- package/esm2022/lib/components/course-section-lecture-video-dialog/course-section-lecture-video-dialog.component.mjs +0 -111
- package/esm2022/lib/components/course-section-lecture-video-item/course-section-lecture-video-item.component.mjs +0 -11
- package/esm2022/lib/components/course-sections/course-sections.component.mjs +0 -28
- package/esm2022/lib/components/detail-item/detail-item.component.mjs +0 -72
- package/esm2022/lib/components/index.mjs +0 -24
- package/esm2022/lib/components/pricing-item/pricing-item.component.mjs +0 -44
- package/esm2022/lib/components/schedule-item/schedule-item.component.mjs +0 -127
- package/esm2022/lib/interfaces/category.mjs +0 -2
- package/esm2022/lib/interfaces/course.mjs +0 -146
- package/esm2022/lib/interfaces/index.mjs +0 -2
- package/esm2022/lib/interfaces/media.mjs +0 -2
- package/esm2022/lib/pages/course/course-category/course-category.component.mjs +0 -74
- package/esm2022/lib/pages/course/course-detail/course-detail.component.mjs +0 -148
- package/esm2022/lib/pages/course/course-index/course-index.component.mjs +0 -53
- package/esm2022/lib/pages/course/course-layout/course-layout.component.mjs +0 -49
- package/esm2022/lib/pages/course/course-section-content/course-section-content.component.mjs +0 -133
- package/esm2022/lib/pages/course/course.routes.mjs +0 -33
- package/esm2022/lib/pages/course-manage/course-manage-content/course-manage-content.component.mjs +0 -12
- package/esm2022/lib/pages/course-manage/course-manage-details/course-manage-details.component.mjs +0 -159
- package/esm2022/lib/pages/course-manage/course-manage-info/course-manage-info.component.mjs +0 -139
- package/esm2022/lib/pages/course-manage/course-manage-layout/course-manage-layout.component.mjs +0 -68
- package/esm2022/lib/pages/course-manage/course-manage-media/course-manage-media.component.mjs +0 -137
- package/esm2022/lib/pages/course-manage/course-manage-pricing/course-manage-pricing.component.mjs +0 -127
- package/esm2022/lib/pages/course-manage/course-manage-schedule/course-manage-schedule.component.mjs +0 -131
- package/esm2022/lib/pages/course-manage/course-manage-section/course-manage-section.component.mjs +0 -341
- package/esm2022/lib/pages/course-manage/course-manage.routes.mjs +0 -40
- package/esm2022/lib/services/booking.service.mjs +0 -24
- package/esm2022/lib/services/category.service.mjs +0 -38
- package/esm2022/lib/services/course-section.service.mjs +0 -26
- package/esm2022/lib/services/course.service.mjs +0 -280
- package/esm2022/lib/services/index.mjs +0 -6
- package/esm2022/lib/services/instructor.service.mjs +0 -24
- package/esm2022/provider.mjs +0 -13
- package/esm2022/rolatech-angular-course.mjs +0 -5
- package/fesm2022/rolatech-angular-course-course-index.component-vjwivkqz.mjs.map +0 -1
- package/lib/components/course-item/course-item.component.d.ts +0 -9
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BaseService } from '@rolatech/angular-services';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class CourseService extends BaseService {
|
|
5
|
-
init() {
|
|
6
|
-
this.endpoint = 'courses';
|
|
7
|
-
super.init();
|
|
8
|
-
}
|
|
9
|
-
me(options) {
|
|
10
|
-
return this.http.get(`${this.actionUrl}/me`, {
|
|
11
|
-
params: options,
|
|
12
|
-
withCredentials: true,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
findSchedule(id) {
|
|
16
|
-
return this.http.get(`${this.actionUrl}/${id}/schedule`, {
|
|
17
|
-
withCredentials: true,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
findPricing(id) {
|
|
21
|
-
return this.http.get(`${this.actionUrl}/${id}/pricing`, {
|
|
22
|
-
withCredentials: true,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
addDetail(id, data) {
|
|
26
|
-
return this.http.post(`${this.actionUrl}/${id}/details`, data, {
|
|
27
|
-
withCredentials: true,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
addBatchDetails(id, data) {
|
|
31
|
-
return this.http.post(`${this.actionUrl}/${id}/details/batch`, data, {
|
|
32
|
-
withCredentials: true,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
findDetails(id) {
|
|
36
|
-
return this.http.get(`${this.actionUrl}/${id}/details`, {
|
|
37
|
-
withCredentials: true,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
updateDetail(id, detailId, data) {
|
|
41
|
-
return this.http.put(`${this.actionUrl}/${id}/details/${detailId}`, data, {
|
|
42
|
-
withCredentials: true,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
deleteDetail(id, detailId) {
|
|
46
|
-
return this.http.delete(`${this.actionUrl}/${id}/details/${detailId}`, {
|
|
47
|
-
withCredentials: true,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
uploadDetailMedia(id, detailId, data) {
|
|
51
|
-
return this.http.post(`${this.actionUrl}/${id}/details/${detailId}/media`, data, {
|
|
52
|
-
withCredentials: true,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
deleteDetailMedia(id, detailId, mediaId) {
|
|
56
|
-
return this.http.delete(`${this.actionUrl}/${id}/details/${detailId}/media/${mediaId}`, {
|
|
57
|
-
withCredentials: true,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
review(id) {
|
|
61
|
-
return this.http.post(`${this.actionUrl}/${id}/review`, {}, {
|
|
62
|
-
withCredentials: true,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
start(id) {
|
|
66
|
-
return this.http.post(`${this.actionUrl}/${id}/start`, {}, {
|
|
67
|
-
withCredentials: true,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
finish(id) {
|
|
71
|
-
return this.http.post(`${this.actionUrl}/${id}/finish`, {}, {
|
|
72
|
-
withCredentials: true,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
publish(id) {
|
|
76
|
-
return this.http.post(`${this.actionUrl}/${id}/publish`, {}, {
|
|
77
|
-
withCredentials: true,
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
upload(data) {
|
|
81
|
-
return this.http.post(`${this.actionUrl}/upload`, data, {
|
|
82
|
-
withCredentials: true,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
uploadMedia(id, data) {
|
|
86
|
-
return this.http.post(`${this.actionUrl}/${id}/media`, data, {
|
|
87
|
-
withCredentials: true,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
deleteMedia(id, mediaId) {
|
|
91
|
-
return this.http.delete(`${this.actionUrl}/${id}/media/${mediaId}`, {
|
|
92
|
-
withCredentials: true,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
importFromExcel(data) {
|
|
96
|
-
return this.http.post(`${this.actionUrl}/excel`, data, {
|
|
97
|
-
withCredentials: true,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
createFromExcel(data) {
|
|
101
|
-
return this.http.post(`${this.actionUrl}/list`, data, {
|
|
102
|
-
withCredentials: true,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
findAllRequests(options) {
|
|
106
|
-
return this.http.get(`${this.actionUrl}/requests`, {
|
|
107
|
-
params: options,
|
|
108
|
-
withCredentials: true,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
findRequestDetail(id) {
|
|
112
|
-
return this.http.get(`${this.actionUrl}/requests/${id}`, {
|
|
113
|
-
withCredentials: true,
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
accept(id) {
|
|
117
|
-
return this.http.post(`${this.actionUrl}/${id}/reviews/accept`, {}, {
|
|
118
|
-
withCredentials: true,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
reject(id, body) {
|
|
122
|
-
return this.http.post(`${this.actionUrl}/${id}/reviews/reject`, body, {
|
|
123
|
-
withCredentials: true,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
acceptRequest(id) {
|
|
127
|
-
return this.http.post(`${this.actionUrl}/requests/${id}/reviews/accept`, {}, {
|
|
128
|
-
withCredentials: true,
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
rejectRequest(id, body) {
|
|
132
|
-
return this.http.post(`${this.actionUrl}/requests/${id}/reviews/reject`, body, {
|
|
133
|
-
withCredentials: true,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
addPricing(id, data) {
|
|
137
|
-
return this.http.post(`${this.actionUrl}/${id}/pricing`, data, {
|
|
138
|
-
withCredentials: true,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
updatePricing(id, pricingId, data) {
|
|
142
|
-
return this.http.put(`${this.actionUrl}/${id}/pricing/${pricingId}`, data, {
|
|
143
|
-
withCredentials: true,
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
deletePricing(id, pricingId) {
|
|
147
|
-
return this.http.delete(`${this.actionUrl}/${id}/pricing/${pricingId}`, {
|
|
148
|
-
withCredentials: true,
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
addSchedule(id, data) {
|
|
152
|
-
return this.http.post(`${this.actionUrl}/${id}/schedule`, data, {
|
|
153
|
-
withCredentials: true,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
updateSchedule(id, scheduleId, data) {
|
|
157
|
-
return this.http.put(`${this.actionUrl}/${id}/schedule/${scheduleId}`, data, {
|
|
158
|
-
withCredentials: true,
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
deleteSchedule(id, scheduleId) {
|
|
162
|
-
return this.http.delete(`${this.actionUrl}/${id}/schedule/${scheduleId}`, {
|
|
163
|
-
withCredentials: true,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
findAllReviews(options) {
|
|
167
|
-
return this.http.get(`${this.actionUrl}/reviews`, {
|
|
168
|
-
params: options,
|
|
169
|
-
withCredentials: true,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
getReview(id) {
|
|
173
|
-
return this.http.get(`${this.actionUrl}/reviews/${id}`, {
|
|
174
|
-
withCredentials: true,
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
findReviews(options) {
|
|
178
|
-
return this.http.get(`${this.actionUrl}/reviews/me`, {
|
|
179
|
-
params: options,
|
|
180
|
-
withCredentials: true,
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
countUsers(options) {
|
|
184
|
-
return this.http.get(`${this.actionUrl}/users/count/by`, {
|
|
185
|
-
params: options,
|
|
186
|
-
withCredentials: true,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
findByIds(ids) {
|
|
190
|
-
return this.http.get(`${this.actionUrl}/by`, {
|
|
191
|
-
params: { ids },
|
|
192
|
-
withCredentials: true,
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
findWishlist(options) {
|
|
196
|
-
return this.http.get(`${this.actionUrl}/wishlist`, { params: options, withCredentials: true });
|
|
197
|
-
}
|
|
198
|
-
addToWishlist(courseId) {
|
|
199
|
-
return this.http.post(`${this.actionUrl}/${courseId}/wishlist`, {}, { withCredentials: true });
|
|
200
|
-
}
|
|
201
|
-
removeFromWishlist(courseId) {
|
|
202
|
-
return this.http.delete(`${this.actionUrl}/${courseId}/wishlist`, { withCredentials: true });
|
|
203
|
-
}
|
|
204
|
-
findWishlistBy(courseId) {
|
|
205
|
-
return this.http.get(`${this.actionUrl}/${courseId}/wishlist/by`, { withCredentials: true });
|
|
206
|
-
}
|
|
207
|
-
findMyCourses(options) {
|
|
208
|
-
return this.http.get(`${this.actionUrl}/users`, { params: options, withCredentials: true });
|
|
209
|
-
}
|
|
210
|
-
findPurchasedByCourseId(courseId) {
|
|
211
|
-
return this.http.get(`${this.actionUrl}/users/me/by?courseId=${courseId}`, {
|
|
212
|
-
withCredentials: true,
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
deleteFromWishlist(sectionId) {
|
|
216
|
-
return this.http.delete(`${this.actionUrl}/sections/${sectionId}`, { withCredentials: true });
|
|
217
|
-
}
|
|
218
|
-
// Course sections
|
|
219
|
-
findCourseSections(options) {
|
|
220
|
-
return this.http.get(`${this.actionUrl}/sections`, { params: options, withCredentials: false });
|
|
221
|
-
}
|
|
222
|
-
addCourseSection(courseId, data) {
|
|
223
|
-
return this.http.post(`${this.actionUrl}/${courseId}/sections`, data, { withCredentials: true });
|
|
224
|
-
}
|
|
225
|
-
updateCourseSection(sectionId, data) {
|
|
226
|
-
return this.http.put(`${this.actionUrl}/sections/${sectionId}`, data, { withCredentials: true });
|
|
227
|
-
}
|
|
228
|
-
deleteCourseSection(sectionId) {
|
|
229
|
-
return this.http.delete(`${this.actionUrl}/sections/${sectionId}`, { withCredentials: true });
|
|
230
|
-
}
|
|
231
|
-
getCourseSection(courseId) {
|
|
232
|
-
return this.http.get(`${this.actionUrl}/${courseId}/sections`, { withCredentials: false });
|
|
233
|
-
}
|
|
234
|
-
addLecture(sectionId, data) {
|
|
235
|
-
return this.http.post(`${this.actionUrl}/sections/${sectionId}/lectures`, data, { withCredentials: true });
|
|
236
|
-
}
|
|
237
|
-
updateLecture(lectureId, data) {
|
|
238
|
-
return this.http.put(`${this.actionUrl}/sections/lectures/${lectureId}`, data, { withCredentials: true });
|
|
239
|
-
}
|
|
240
|
-
deleteLecture(lectureId) {
|
|
241
|
-
return this.http.delete(`${this.actionUrl}/sections/lectures/${lectureId}`, { withCredentials: true });
|
|
242
|
-
}
|
|
243
|
-
uploadVideoInit(lectureId, data) {
|
|
244
|
-
return this.http.post(`${this.actionUrl}/sections/lectures/${lectureId}/videos/init`, data, {
|
|
245
|
-
withCredentials: true,
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
uploadVideoPartsToLecture(lectureId, data) {
|
|
249
|
-
return this.http.post(`${this.actionUrl}/sections/lectures/${lectureId}/videos/parts`, data, {
|
|
250
|
-
withCredentials: true,
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
completePartUpload(lectureId, data) {
|
|
254
|
-
return this.http.put(`${this.actionUrl}/sections/lectures/${lectureId}/videos/parts`, data, {
|
|
255
|
-
withCredentials: true,
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
uploadVideoToLecture(lectureId, data) {
|
|
259
|
-
return this.http.post(`${this.actionUrl}/sections/lectures/${lectureId}/videos`, data, {
|
|
260
|
-
withCredentials: true,
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
deleteLectureVideo(videoId) {
|
|
264
|
-
return this.http.delete(`${this.actionUrl}/sections/lectures/videos/${videoId}`, { withCredentials: true });
|
|
265
|
-
}
|
|
266
|
-
uploadLectureVideoThumbnail(videoId, data) {
|
|
267
|
-
return this.http.post(`${this.actionUrl}/sections/lectures/videos/${videoId}/thumbnail`, data, {
|
|
268
|
-
withCredentials: true,
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CourseService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
272
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CourseService, providedIn: 'root' }); }
|
|
273
|
-
}
|
|
274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: CourseService, decorators: [{
|
|
275
|
-
type: Injectable,
|
|
276
|
-
args: [{
|
|
277
|
-
providedIn: 'root',
|
|
278
|
-
}]
|
|
279
|
-
}] });
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvc2VydmljZXMvY291cnNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBS3pELE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQUNuQyxJQUFJO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELEVBQUUsQ0FBQyxPQUFZO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRTtZQUNoRCxNQUFNLEVBQUUsT0FBTztZQUNmLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUM1RCxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxDQUFDLEVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDM0QsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFNBQVMsQ0FBQyxFQUFVLEVBQUUsSUFBUztRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFB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QyxTQUFpQixFQUFFLElBQVM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLElBQUksQ0FBQyxTQUFTLHNCQUFzQixTQUFTLGVBQWUsRUFBRSxJQUFJLEVBQUU7WUFDL0YsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELG9CQUFvQixDQUFDLFNBQWlCLEVBQUUsSUFBUztRQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsc0JBQXNCLFNBQVMsU0FBUyxFQUFFLElBQUksRUFBRTtZQUMxRixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsNkJBQTZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUNELDJCQUEyQixDQUFDLE9BQVksRUFBRSxJQUFjO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyw2QkFBNkIsT0FBTyxZQUFZLEVBQUUsSUFBSSxFQUFFO1lBQzdGLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBclNVLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZVNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gIG92ZXJyaWRlIGluaXQoKSB7XG4gICAgdGhpcy5lbmRwb2ludCA9ICdjb3Vyc2VzJztcbiAgICBzdXBlci5pbml0KCk7XG4gIH1cbiAgbWUob3B0aW9uczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9tZWAsIHtcbiAgICAgIHBhcmFtczogb3B0aW9ucyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGZpbmRTY2hlZHVsZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9zY2hlZHVsZWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBmaW5kUHJpY2luZyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9wcmljaW5nYCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGFkZERldGFpbChpZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9kZXRhaWxzYCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGFkZEJhdGNoRGV0YWlscyhpZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9kZXRhaWxzL2JhdGNoYCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGZpbmREZXRhaWxzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L2RldGFpbHNgLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgdXBkYXRlRGV0YWlsKGlkOiBzdHJpbmcsIGRldGFpbElkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55PihgJHt0aGlzLmFjdGlvblVybH0vJHtpZH0vZGV0YWlscy8ke2RldGFpbElkfWAsIGRhdGEsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBkZWxldGVEZXRhaWwoaWQ6IHN0cmluZywgZGV0YWlsSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55PihgJHt0aGlzLmFjdGlvblVybH0vJHtpZH0vZGV0YWlscy8ke2RldGFpbElkfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICB1cGxvYWREZXRhaWxNZWRpYShpZDogc3RyaW5nLCBkZXRhaWxJZDogc3RyaW5nLCBkYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L2RldGFpbHMvJHtkZXRhaWxJZH0vbWVkaWFgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlRGV0YWlsTWVkaWEoaWQ6IHN0cmluZywgZGV0YWlsSWQ6IHN0cmluZywgbWVkaWFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9kZXRhaWxzLyR7ZGV0YWlsSWR9L21lZGlhLyR7bWVkaWFJZH1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgcmV2aWV3KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3Jldmlld2AsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG4gIHN0YXJ0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3N0YXJ0YCxcbiAgICAgIHt9LFxuICAgICAge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbiAgZmluaXNoKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L2ZpbmlzaGAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG4gIHB1Ymxpc2goaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXG4gICAgICBgJHt0aGlzLmFjdGlvblVybH0vJHtpZH0vcHVibGlzaGAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgdXBsb2FkKGRhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmFjdGlvblVybH0vdXBsb2FkYCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIHVwbG9hZE1lZGlhKGlkOiBzdHJpbmcsIGRhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmFjdGlvblVybH0vJHtpZH0vbWVkaWFgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlTWVkaWEoaWQ6IHN0cmluZywgbWVkaWFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9tZWRpYS8ke21lZGlhSWR9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGltcG9ydEZyb21FeGNlbChkYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L2V4Y2VsYCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGNyZWF0ZUZyb21FeGNlbChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9saXN0YCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGZpbmRBbGxSZXF1ZXN0cyhvcHRpb25zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcXVlc3RzYCwge1xuICAgICAgcGFyYW1zOiBvcHRpb25zLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGZpbmRSZXF1ZXN0RGV0YWlsKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcXVlc3RzLyR7aWR9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGFjY2VwdChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcbiAgICAgIGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9yZXZpZXdzL2FjY2VwdGAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG4gIHJlamVjdChpZDogc3RyaW5nLCBib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9yZXZpZXdzL3JlamVjdGAsIGJvZHksIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBhY2NlcHRSZXF1ZXN0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcXVlc3RzLyR7aWR9L3Jldmlld3MvYWNjZXB0YCxcbiAgICAgIHt9LFxuICAgICAge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbiAgcmVqZWN0UmVxdWVzdChpZDogc3RyaW5nLCBib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9yZXF1ZXN0cy8ke2lkfS9yZXZpZXdzL3JlamVjdGAsIGJvZHksIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBhZGRQcmljaW5nKGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3ByaWNpbmdgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgdXBkYXRlUHJpY2luZyhpZDogc3RyaW5nLCBwcmljaW5nSWQ6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9wcmljaW5nLyR7cHJpY2luZ0lkfWAsIGRhdGEsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBkZWxldGVQcmljaW5nKGlkOiBzdHJpbmcsIHByaWNpbmdJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9wcmljaW5nLyR7cHJpY2luZ0lkfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBhZGRTY2hlZHVsZShpZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2lkfS9zY2hlZHVsZWAsIGRhdGEsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICB1cGRhdGVTY2hlZHVsZShpZDogc3RyaW5nLCBzY2hlZHVsZUlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55PihgJHt0aGlzLmFjdGlvblVybH0vJHtpZH0vc2NoZWR1bGUvJHtzY2hlZHVsZUlkfWAsIGRhdGEsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBkZWxldGVTY2hlZHVsZShpZDogc3RyaW5nLCBzY2hlZHVsZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3NjaGVkdWxlLyR7c2NoZWR1bGVJZH1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZmluZEFsbFJldmlld3Mob3B0aW9uczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9yZXZpZXdzYCwge1xuICAgICAgcGFyYW1zOiBvcHRpb25zLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGdldFJldmlldyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9yZXZpZXdzLyR7aWR9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGZpbmRSZXZpZXdzKG9wdGlvbnM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFjdGlvblVybH0vcmV2aWV3cy9tZWAsIHtcbiAgICAgIHBhcmFtczogb3B0aW9ucyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBjb3VudFVzZXJzKG9wdGlvbnM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFjdGlvblVybH0vdXNlcnMvY291bnQvYnlgLCB7XG4gICAgICBwYXJhbXM6IG9wdGlvbnMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZmluZEJ5SWRzKGlkczogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9ieWAsIHtcbiAgICAgIHBhcmFtczogeyBpZHMgfSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBmaW5kV2lzaGxpc3Qob3B0aW9uczogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3dpc2hsaXN0YCwgeyBwYXJhbXM6IG9wdGlvbnMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcbiAgfVxuICBhZGRUb1dpc2hsaXN0KGNvdXJzZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y291cnNlSWR9L3dpc2hsaXN0YCwge30sIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG4gIHJlbW92ZUZyb21XaXNobGlzdChjb3Vyc2VJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y291cnNlSWR9L3dpc2hsaXN0YCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSk7XG4gIH1cbiAgZmluZFdpc2hsaXN0QnkoY291cnNlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYWN0aW9uVXJsfS8ke2NvdXJzZUlkfS93aXNobGlzdC9ieWAsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG4gIGZpbmRNeUNvdXJzZXMob3B0aW9uczogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3VzZXJzYCwgeyBwYXJhbXM6IG9wdGlvbnMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcbiAgfVxuICBmaW5kUHVyY2hhc2VkQnlDb3Vyc2VJZChjb3Vyc2VJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3VzZXJzL21lL2J5P2NvdXJzZUlkPSR7Y291cnNlSWR9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGRlbGV0ZUZyb21XaXNobGlzdChzZWN0aW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYWN0aW9uVXJsfS9zZWN0aW9ucy8ke3NlY3Rpb25JZH1gLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8vIENvdXJzZSBzZWN0aW9uc1xuICBmaW5kQ291cnNlU2VjdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zYCwgeyBwYXJhbXM6IG9wdGlvbnMsIHdpdGhDcmVkZW50aWFsczogZmFsc2UgfSk7XG4gIH1cbiAgYWRkQ291cnNlU2VjdGlvbihjb3Vyc2VJZDogYW55LCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFjdGlvblVybH0vJHtjb3Vyc2VJZH0vc2VjdGlvbnNgLCBkYXRhLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcbiAgfVxuICB1cGRhdGVDb3Vyc2VTZWN0aW9uKHNlY3Rpb25JZDogYW55LCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuYWN0aW9uVXJsfS9zZWN0aW9ucy8ke3NlY3Rpb25JZH1gLCBkYXRhLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcbiAgfVxuICBkZWxldGVDb3Vyc2VTZWN0aW9uKHNlY3Rpb25JZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmFjdGlvblVybH0vc2VjdGlvbnMvJHtzZWN0aW9uSWR9YCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSk7XG4gIH1cbiAgZ2V0Q291cnNlU2VjdGlvbihjb3Vyc2VJZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFjdGlvblVybH0vJHtjb3Vyc2VJZH0vc2VjdGlvbnNgLCB7IHdpdGhDcmVkZW50aWFsczogZmFsc2UgfSk7XG4gIH1cbiAgYWRkTGVjdHVyZShzZWN0aW9uSWQ6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zLyR7c2VjdGlvbklkfS9sZWN0dXJlc2AsIGRhdGEsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG4gIHVwZGF0ZUxlY3R1cmUobGVjdHVyZUlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zL2xlY3R1cmVzLyR7bGVjdHVyZUlkfWAsIGRhdGEsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG4gIGRlbGV0ZUxlY3R1cmUobGVjdHVyZUlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYWN0aW9uVXJsfS9zZWN0aW9ucy9sZWN0dXJlcy8ke2xlY3R1cmVJZH1gLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcbiAgfVxuICB1cGxvYWRWaWRlb0luaXQobGVjdHVyZUlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zL2xlY3R1cmVzLyR7bGVjdHVyZUlkfS92aWRlb3MvaW5pdGAsIGRhdGEsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICB1cGxvYWRWaWRlb1BhcnRzVG9MZWN0dXJlKGxlY3R1cmVJZDogc3RyaW5nLCBkYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zL2xlY3R1cmVzLyR7bGVjdHVyZUlkfS92aWRlb3MvcGFydHNgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgY29tcGxldGVQYXJ0VXBsb2FkKGxlY3R1cmVJZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zL2xlY3R1cmVzLyR7bGVjdHVyZUlkfS92aWRlb3MvcGFydHNgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgdXBsb2FkVmlkZW9Ub0xlY3R1cmUobGVjdHVyZUlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zL2xlY3R1cmVzLyR7bGVjdHVyZUlkfS92aWRlb3NgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlTGVjdHVyZVZpZGVvKHZpZGVvSWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5hY3Rpb25Vcmx9L3NlY3Rpb25zL2xlY3R1cmVzL3ZpZGVvcy8ke3ZpZGVvSWR9YCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSk7XG4gIH1cbiAgdXBsb2FkTGVjdHVyZVZpZGVvVGh1bWJuYWlsKHZpZGVvSWQ6IGFueSwgZGF0YTogRm9ybURhdGEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFjdGlvblVybH0vc2VjdGlvbnMvbGVjdHVyZXMvdmlkZW9zLyR7dmlkZW9JZH0vdGh1bWJuYWlsYCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CourseService } from './course.service';
|
|
2
|
-
import { CourseSectionService } from './course-section.service';
|
|
3
|
-
import { CategoryService } from './category.service';
|
|
4
|
-
export { CourseService, CourseSectionService, CategoryService };
|
|
5
|
-
export const services = [CourseService, CourseSectionService, CategoryService];
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBVSxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdXJzZVNlcnZpY2UgfSBmcm9tICcuL2NvdXJzZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvdXJzZVNlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3Vyc2Utc2VjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENhdGVnb3J5U2VydmljZSB9IGZyb20gJy4vY2F0ZWdvcnkuc2VydmljZSc7XG5leHBvcnQgeyBDb3Vyc2VTZXJ2aWNlLCBDb3Vyc2VTZWN0aW9uU2VydmljZSwgQ2F0ZWdvcnlTZXJ2aWNlIH07XG5leHBvcnQgY29uc3Qgc2VydmljZXM6IGFueVtdID0gW0NvdXJzZVNlcnZpY2UsIENvdXJzZVNlY3Rpb25TZXJ2aWNlLCBDYXRlZ29yeVNlcnZpY2VdO1xuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BaseService } from '@rolatech/angular-services';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class InstructorService extends BaseService {
|
|
5
|
-
init() {
|
|
6
|
-
this.endpoint = 'instructors';
|
|
7
|
-
super.init();
|
|
8
|
-
}
|
|
9
|
-
findMyClassrooms(options) {
|
|
10
|
-
return this.http.get(`${this.actionUrl}/classrooms/me`, {
|
|
11
|
-
params: options,
|
|
12
|
-
withCredentials: true,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: InstructorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: InstructorService, providedIn: 'root' }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: InstructorService, decorators: [{
|
|
19
|
-
type: Injectable,
|
|
20
|
-
args: [{
|
|
21
|
-
providedIn: 'root',
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL3NlcnZpY2VzL2luc3RydWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFDdkMsSUFBSTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxPQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxnQkFBZ0IsRUFBRTtZQUMzRCxNQUFNLEVBQUUsT0FBTztZQUNmLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBVlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSW5zdHJ1Y3RvclNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gIG92ZXJyaWRlIGluaXQoKSB7XG4gICAgdGhpcy5lbmRwb2ludCA9ICdpbnN0cnVjdG9ycyc7XG4gICAgc3VwZXIuaW5pdCgpO1xuICB9XG4gIGZpbmRNeUNsYXNzcm9vbXMob3B0aW9uczogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFjdGlvblVybH0vY2xhc3Nyb29tcy9tZWAsIHtcbiAgICAgIHBhcmFtczogb3B0aW9ucyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/esm2022/provider.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { importProvidersFrom, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { RouterModule } from '@angular/router';
|
|
5
|
-
import * as fromServices from './lib/services';
|
|
6
|
-
export function provideAngularCourse() {
|
|
7
|
-
const providers = [
|
|
8
|
-
...fromServices.services,
|
|
9
|
-
importProvidersFrom(CommonModule, ReactiveFormsModule, FormsModule, RouterModule),
|
|
10
|
-
];
|
|
11
|
-
return makeEnvironmentProviders(providers);
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxNQUFNLFNBQVMsR0FBd0M7UUFDckQsR0FBRyxZQUFZLENBQUMsUUFBUTtRQUN4QixtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztLQUNsRixDQUFDO0lBQ0YsT0FBTyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIFByb3ZpZGVyLCBpbXBvcnRQcm92aWRlcnNGcm9tLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgKiBhcyBmcm9tU2VydmljZXMgZnJvbSAnLi9saWIvc2VydmljZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFuZ3VsYXJDb3Vyc2UoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCBwcm92aWRlcnM6IChQcm92aWRlciB8IEVudmlyb25tZW50UHJvdmlkZXJzKVtdID0gW1xuICAgIC4uLmZyb21TZXJ2aWNlcy5zZXJ2aWNlcyxcbiAgICBpbXBvcnRQcm92aWRlcnNGcm9tKENvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIFJvdXRlck1vZHVsZSksXG4gIF07XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMocHJvdmlkZXJzKTtcbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1jb3Vyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9yb2xhdGVjaC1hbmd1bGFyLWNvdXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-course-course-index.component-vjwivkqz.mjs","sources":["../../../../libs/angular-course/src/lib/pages/course/course-index/course-index.component.ts","../../../../libs/angular-course/src/lib/pages/course/course-index/course-index.component.html"],"sourcesContent":["import { Component, inject, OnInit } from '@angular/core';\nimport { CourseCategory, Course } from '../../../interfaces';\nimport { CategoryService, CourseService } from '../../../services';\nimport { AngularCommonModule, FixedPipe } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent, RichItemComponent, RichViewComponent } from '@rolatech/angular-components';\nimport { CourseItemComponent } from '../../../components/course-item/course-item.component';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, CourseItemComponent, RichViewComponent, RichItemComponent, FixedPipe],\n selector: 'rolatech-course-index',\n templateUrl: './course-index.component.html',\n styleUrls: ['./course-index.component.scss'],\n})\nexport class CourseIndexComponent 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\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 class=\"min-w-[320px] max-w-[1120px] m-auto\">\n <div class=\"p-3 hidden md:block text-2xl font-medium\">全部课程</div>\n @if (loading) {\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\n <div class=\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\">\n <div class=\"h-fit w-2/5 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]=\"['./', 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":";;;;;;;AAcM,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAPvD,IAAA,WAAA,GAAA;;QAQE,IAAO,CAAA,OAAA,GAAa,EAAE,CAAC;QACvB,IAAU,CAAA,UAAA,GAAqB,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAE1C,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AA+BjB,KAAA;IA7BC,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACxC;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;AACzC,YAAA,IAAI,EAAE,CAAC,GAAQ,KAAI;AACjB,gBAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AACf,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;AACF,SAAA,CAAC,CAAC;KACJ;IACD,cAAc,GAAA;QACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AACtC,YAAA,IAAI,EAAE,CAAC,GAAQ,KAAI;AACjB,gBAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;aAC5B;AACF,SAAA,CAAC,CAAC;KACJ;8GApCU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdjC,45CAkCA,EAAA,MAAA,EAAA,CAAA,kCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzBY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAuB,iBAAiB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAE,iBAAiB,EAAE,SAAS,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKjH,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,CAAC,YACnH,uBAAuB,EAAA,QAAA,EAAA,45CAAA,EAAA,MAAA,EAAA,CAAA,kCAAA,CAAA,EAAA,CAAA;;;;;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Course } from '../../interfaces';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class CourseItemComponent {
|
|
4
|
-
course: import("@angular/core").InputSignal<Course>;
|
|
5
|
-
row: import("@angular/core").InputSignal<boolean>;
|
|
6
|
-
inset: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CourseItemComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CourseItemComponent, "rolatech-course-item", never, { "course": { "alias": "course"; "required": true; "isSignal": true; }; "row": { "alias": "row"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
9
|
-
}
|