@rolatech/angular-course 17.2.2 → 17.2.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.
- package/esm2022/lib/components/course-details/course-details.component.mjs +4 -3
- package/esm2022/lib/components/course-item/course-item.component.mjs +4 -3
- package/esm2022/lib/components/course-media/course-media.component.mjs +4 -4
- package/fesm2022/rolatech-angular-course.mjs +7 -7
- package/fesm2022/rolatech-angular-course.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ViewportScroller } from '@angular/common';
|
|
2
2
|
import { Component, ElementRef, inject, input, PLATFORM_ID } from '@angular/core';
|
|
3
|
+
import { ThumbnailComponent } from '@rolatech/angular-components';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class CourseDetailsComponent {
|
|
5
6
|
constructor() {
|
|
@@ -18,10 +19,10 @@ export class CourseDetailsComponent {
|
|
|
18
19
|
this.viewportScroller.scrollToAnchor(id);
|
|
19
20
|
}
|
|
20
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseDetailsComponent, isStandalone: true, selector: "rolatech-course-details", inputs: { details: { classPropertyName: "details", publicName: "details", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseDetailsComponent, isStandalone: true, selector: "rolatech-course-details", inputs: { details: { classPropertyName: "details", publicName: "details", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <rolatech-thumbnail [src]=\"item.url + '?imageMogr2/format/avif'\" size=\"medium\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size"] }] }); }
|
|
22
23
|
}
|
|
23
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseDetailsComponent, decorators: [{
|
|
24
25
|
type: Component,
|
|
25
|
-
args: [{ selector: 'rolatech-course-details', standalone: true, imports: [], template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <
|
|
26
|
+
args: [{ selector: 'rolatech-course-details', standalone: true, imports: [ThumbnailComponent], template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <rolatech-thumbnail [src]=\"item.url + '?imageMogr2/format/avif'\" size=\"medium\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n" }]
|
|
26
27
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBU2xFLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztRQUMzQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUlqQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGtCQUFhLEdBQUcsRUFBRSxDQUFDO0tBTXBCO0lBTEMsUUFBUSxLQUFVLENBQUM7SUFFbkIsZUFBZSxDQUFDLEVBQVU7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQWxCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvZUNabkMsMjZCQTZCQSwwRERuQlksa0JBQWtCOzsyRkFFakIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdwb3J0U2Nyb2xsZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkluaXQsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Vyc2VEZXRhaWwgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jb3Vyc2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3Vyc2UtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtUaHVtYm5haWxDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGV0YWlscyA9IGlucHV0LnJlcXVpcmVkPENvdXJzZURldGFpbFtdPigpO1xuICBpbnN0cnVjdG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuICB1c2VybmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgdmlld3BvcnRTY3JvbGxlciA9IGluamVjdChWaWV3cG9ydFNjcm9sbGVyKTtcbiAgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcGxheWVyOiBhbnk7XG5cbiAgc2hvdyA9IGZhbHNlO1xuICBtZWRpYUluZGV4ID0gMDtcbiAgZmluYWxTY2hlZHVsZSA9IFtdO1xuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgb25DbGlja1Njcm9sbGVyKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9BbmNob3IoaWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHktM1wiIGlkPVwiZGV0YWlsc1wiPlxuICA8ZGl2IGNsYXNzPVwidGV4dC14bCBmb250LW1lZGl1bSBweS0yXCI+6K+m5oOFPC9kaXY+XG4gIEBpZiAoZGV0YWlscygpKSB7XG4gICAgQGZvciAoZGV0YWlsIG9mIGRldGFpbHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2PlxuICAgICAgICBAaWYgKGRldGFpbC50aXRsZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0zIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNCB3LTEgYmctb3JhbmdlLTUwMCBpbmxpbmUtYmxvY2tcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbGcgZm9udC1tZWRpdW0gcHktMVwiPiB7eyBkZXRhaWwudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkZXRhaWwuY29udGVudCkge1xuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7eyBkZXRhaWwuY29udGVudCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZGV0YWlsLm1lZGlhKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctODAlXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGRldGFpbC5tZWRpYTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgICAgICAgICAgIDxyb2xhdGVjaC10aHVtYm5haWwgW3NyY109XCJpdGVtLnVybCArICc/aW1hZ2VNb2dyMi9mb3JtYXQvYXZpZidcIiBzaXplPVwibWVkaXVtXCI+PC9yb2xhdGVjaC10aHVtYm5haWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, input } from '@angular/core';
|
|
2
|
+
import { ThumbnailComponent } from '@rolatech/angular-components';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class CourseItemComponent {
|
|
4
5
|
constructor() {
|
|
@@ -6,10 +7,10 @@ export class CourseItemComponent {
|
|
|
6
7
|
this.row = input(true);
|
|
7
8
|
}
|
|
8
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseItemComponent, isStandalone: true, selector: "rolatech-course-item", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseItemComponent, isStandalone: true, selector: "rolatech-course-item", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div>\n <div class=\"sm:text-xl font-medium break-words line-clamp-2 whitespace-normal\">{{ course().name }}</div>\n <div class=\"invisible h-0 sm:h-auto sm:visible break-words line-clamp-1 whitespace-normal\">\n {{ course().description }}\n </div>\n </div>\n @if (course().pricing) {\n <div class=\"sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n} @else {\n <div>\n <div class=\"bg-gray-200 rounded-lg h-fit\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"medium\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"mt-2\">\n <div class=\"text-md sm:text-xl font-medium break-words line-clamp-2\">{{ course().name }}</div>\n @if (course().pricing) {\n <div class=\"text-md sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size"] }] }); }
|
|
10
11
|
}
|
|
11
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseItemComponent, decorators: [{
|
|
12
13
|
type: Component,
|
|
13
|
-
args: [{ selector: 'rolatech-course-item', standalone: true, imports: [], template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n
|
|
14
|
+
args: [{ selector: 'rolatech-course-item', standalone: true, imports: [ThumbnailComponent], template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div>\n <div class=\"sm:text-xl font-medium break-words line-clamp-2 whitespace-normal\">{{ course().name }}</div>\n <div class=\"invisible h-0 sm:h-auto sm:visible break-words line-clamp-1 whitespace-normal\">\n {{ course().description }}\n </div>\n </div>\n @if (course().pricing) {\n <div class=\"sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n} @else {\n <div>\n <div class=\"bg-gray-200 rounded-lg h-fit\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"medium\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"mt-2\">\n <div class=\"text-md sm:text-xl font-medium break-words line-clamp-2\">{{ course().name }}</div>\n @if (course().pricing) {\n <div class=\"text-md sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n}\n" }]
|
|
14
15
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWl0ZW0vY291cnNlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWl0ZW0vY291cnNlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBU2xFLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLFFBQUcsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7S0FDNUI7OEdBSFksbUJBQW1CO2tHQUFuQixtQkFBbUIsd1VDWGhDLHUwQ0FrQ0EsMEREekJZLGtCQUFrQjs7MkZBRWpCLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQLENBQUMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Vyc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jb3Vyc2UtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3Vyc2UtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtUaHVtYm5haWxDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VJdGVtQ29tcG9uZW50IHtcbiAgY291cnNlID0gaW5wdXQucmVxdWlyZWQ8Q291cnNlPigpO1xuICByb3cgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbn1cbiIsIkBpZiAocm93KCkpIHtcbiAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImgtZml0IHctMi81IHNtOnctMS80IGFzcGVjdC12aWRlbyBiZy1ncmF5LTIwMCByb3VuZGVkLWxnXCI+XG4gICAgICBAaWYgKGNvdXJzZSgpLm1lZGlhKSB7XG4gICAgICAgIDxyb2xhdGVjaC10aHVtYm5haWwgW3NyY109XCJjb3Vyc2UoKS5tZWRpYVswXS51cmxcIiBzaXplPVwic21hbGxcIj48L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidy0zLzUgc206dy0zLzQgbWwtMyBweS0xIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic206dGV4dC14bCBmb250LW1lZGl1bSBicmVhay13b3JkcyBsaW5lLWNsYW1wLTIgd2hpdGVzcGFjZS1ub3JtYWxcIj57eyBjb3Vyc2UoKS5uYW1lIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnZpc2libGUgaC0wIHNtOmgtYXV0byBzbTp2aXNpYmxlIGJyZWFrLXdvcmRzIGxpbmUtY2xhbXAtMSB3aGl0ZXNwYWNlLW5vcm1hbFwiPlxuICAgICAgICAgIHt7IGNvdXJzZSgpLmRlc2NyaXB0aW9uIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGNvdXJzZSgpLnByaWNpbmcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNtOnRleHQtbGcgZm9udC1tZWRpdW0gcHktMVwiPsKle3sgY291cnNlKCkucHJpY2luZ1swXS50b3RhbCAvIDEwMCB9fTwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5LTIwMCByb3VuZGVkLWxnIGgtZml0XCI+XG4gICAgICBAaWYgKGNvdXJzZSgpLm1lZGlhKSB7XG4gICAgICAgIDxyb2xhdGVjaC10aHVtYm5haWwgW3NyY109XCJjb3Vyc2UoKS5tZWRpYVswXS51cmxcIiBzaXplPVwibWVkaXVtXCI+PC9yb2xhdGVjaC10aHVtYm5haWw+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHNtOnRleHQteGwgZm9udC1tZWRpdW0gYnJlYWstd29yZHMgbGluZS1jbGFtcC0yXCI+e3sgY291cnNlKCkubmFtZSB9fTwvZGl2PlxuICAgICAgQGlmIChjb3Vyc2UoKS5wcmljaW5nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHNtOnRleHQtbGcgZm9udC1tZWRpdW0gcHktMVwiPsKle3sgY291cnNlKCkucHJpY2luZ1swXS50b3RhbCAvIDEwMCB9fTwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, inject, input } from '@angular/core';
|
|
2
2
|
import { MatDialog } from '@angular/material/dialog';
|
|
3
3
|
import { NgClass } from '@angular/common';
|
|
4
|
-
import { MediaPreviewDialogComponent } from '@rolatech/angular-components';
|
|
4
|
+
import { MediaPreviewDialogComponent, ThumbnailComponent } from '@rolatech/angular-components';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class CourseMediaComponent {
|
|
7
7
|
constructor() {
|
|
@@ -25,10 +25,10 @@ export class CourseMediaComponent {
|
|
|
25
25
|
dialogRef.afterClosed().subscribe((result) => { });
|
|
26
26
|
}
|
|
27
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseMediaComponent, isStandalone: true, selector: "rolatech-course-media", inputs: { media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseMediaComponent, isStandalone: true, selector: "rolatech-course-media", inputs: { media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <rolatech-thumbnail [src]=\"media()[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n } @else {\n <div>\n <div class=\"object-cover aspect-video bg-gray-200\">\n <img class=\"aspect-video object-cover w-full rounded-md\" [src]=\"media()[mediaIndex].url\" />\n </div>\n @for (item of media(); track $index) {\n <div\n class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\"\n (click)=\"mediaIndex = $index\"\n [ngClass]=\"mediaIndex === $index ? '' : 'opacity-30'\"\n >\n <rolatech-thumbnail [src]=\"item.url\" size=\"small\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n}\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size"] }] }); }
|
|
29
29
|
}
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
|
-
args: [{ selector: 'rolatech-course-media', standalone: true, imports: [NgClass], template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <
|
|
32
|
+
args: [{ selector: 'rolatech-course-media', standalone: true, imports: [NgClass, ThumbnailComponent], template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <rolatech-thumbnail [src]=\"media()[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n } @else {\n <div>\n <div class=\"object-cover aspect-video bg-gray-200\">\n <img class=\"aspect-video object-cover w-full rounded-md\" [src]=\"media()[mediaIndex].url\" />\n </div>\n @for (item of media(); track $index) {\n <div\n class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\"\n (click)=\"mediaIndex = $index\"\n [ngClass]=\"mediaIndex === $index ? '' : 'opacity-30'\"\n >\n <rolatech-thumbnail [src]=\"item.url\" size=\"small\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n}\n" }]
|
|
33
33
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLW1lZGlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb3Vyc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NvdXJzZS1tZWRpYS9jb3Vyc2UtbWVkaWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLW1lZGlhL2NvdXJzZS1tZWRpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFTL0YsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFFLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLEtBQUssQ0FBVSxFQUFFLENBQUMsQ0FBQztRQUMzQixRQUFHLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGVBQVUsR0FBRyxDQUFDLENBQUM7S0FlaEI7SUFkQyxZQUFZLENBQUMsQ0FBTTtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUM5RCxRQUFRLEVBQUUsTUFBTTtZQUNoQixTQUFTLEVBQUUsTUFBTTtZQUNqQixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0FsQlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsdVVDYmpDLDQwQkF3QkEsMEREYlksT0FBTyxvRkFBRSxrQkFBa0I7OzJGQUUxQixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBR3JCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lZGlhUHJldmlld0RpYWxvZ0NvbXBvbmVudCwgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNvdXJzZS1tZWRpYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3Vyc2UtbWVkaWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3Vyc2UtbWVkaWEuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIFRodW1ibmFpbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZU1lZGlhQ29tcG9uZW50IHtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIG1lZGlhID0gaW5wdXQ8TWVkaWFbXT4oW10pO1xuICBtaW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1lZGlhSW5kZXggPSAwO1xuICBvbkltYWdlQ2xpY2soaTogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihNZWRpYVByZXZpZXdEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcbiAgICAgIGhlaWdodDogJzgwJScsXG4gICAgICB3aWR0aDogJzgwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZnVsbC1zY3JlZW4tbW9kYWwnLFxuICAgICAgZGF0YToge1xuICAgICAgICBtZWRpYTogdGhpcy5tZWRpYSxcbiAgICAgICAgc2VsZWN0ZWQ6IGksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7fSk7XG4gIH1cbn1cbiIsIkBpZiAobWVkaWEoKSkge1xuICBAaWYgKG1pbigpKSB7XG4gICAgPGRpdiBjbGFzcz1cInNtOnctODAgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyBiZy1ncmF5LTIwMCByb3VuZGVkLWxnXCI+XG4gICAgICBAaWYgKG1lZGlhKCkpIHtcbiAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbCBbc3JjXT1cIm1lZGlhKClbMF0udXJsXCIgc2l6ZT1cInNtYWxsXCI+PC9yb2xhdGVjaC10aHVtYm5haWw+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyBiZy1ncmF5LTIwMFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwiYXNwZWN0LXZpZGVvIG9iamVjdC1jb3ZlciB3LWZ1bGwgcm91bmRlZC1tZFwiIFtzcmNdPVwibWVkaWEoKVttZWRpYUluZGV4XS51cmxcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICBAZm9yIChpdGVtIG9mIG1lZGlhKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBmbGV4LXJvdyBtdC0zIG1yLTMgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC1tZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1lZGlhSW5kZXggPSAkaW5kZXhcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIm1lZGlhSW5kZXggPT09ICRpbmRleCA/ICcnIDogJ29wYWNpdHktMzAnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxyb2xhdGVjaC10aHVtYm5haWwgW3NyY109XCJpdGVtLnVybFwiIHNpemU9XCJzbWFsbFwiPjwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
|
|
@@ -10,7 +10,7 @@ import * as i2 from '@angular/material/icon';
|
|
|
10
10
|
import { MatIconModule } from '@angular/material/icon';
|
|
11
11
|
import * as i1$2 from '@angular/material/dialog';
|
|
12
12
|
import { MatDialog, MAT_DIALOG_DATA, MatDialogClose } from '@angular/material/dialog';
|
|
13
|
-
import { MediaPreviewDialogComponent, AngularComponentsModule, MediaListComponent, MediaListItemComponent, BaseComponent, AppContainerComponent } from '@rolatech/angular-components';
|
|
13
|
+
import { MediaPreviewDialogComponent, ThumbnailComponent, AngularComponentsModule, MediaListComponent, MediaListItemComponent, BaseComponent, AppContainerComponent } from '@rolatech/angular-components';
|
|
14
14
|
import * as i1 from '@angular/material/expansion';
|
|
15
15
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
16
16
|
import * as i3$2 from '@angular/material/checkbox';
|
|
@@ -580,11 +580,11 @@ class CourseMediaComponent {
|
|
|
580
580
|
dialogRef.afterClosed().subscribe((result) => { });
|
|
581
581
|
}
|
|
582
582
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
583
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseMediaComponent, isStandalone: true, selector: "rolatech-course-media", inputs: { media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <
|
|
583
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseMediaComponent, isStandalone: true, selector: "rolatech-course-media", inputs: { media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <rolatech-thumbnail [src]=\"media()[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n } @else {\n <div>\n <div class=\"object-cover aspect-video bg-gray-200\">\n <img class=\"aspect-video object-cover w-full rounded-md\" [src]=\"media()[mediaIndex].url\" />\n </div>\n @for (item of media(); track $index) {\n <div\n class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\"\n (click)=\"mediaIndex = $index\"\n [ngClass]=\"mediaIndex === $index ? '' : 'opacity-30'\"\n >\n <rolatech-thumbnail [src]=\"item.url\" size=\"small\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n}\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size"] }] }); }
|
|
584
584
|
}
|
|
585
585
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaComponent, decorators: [{
|
|
586
586
|
type: Component,
|
|
587
|
-
args: [{ selector: 'rolatech-course-media', standalone: true, imports: [NgClass], template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <
|
|
587
|
+
args: [{ selector: 'rolatech-course-media', standalone: true, imports: [NgClass, ThumbnailComponent], template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <rolatech-thumbnail [src]=\"media()[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n } @else {\n <div>\n <div class=\"object-cover aspect-video bg-gray-200\">\n <img class=\"aspect-video object-cover w-full rounded-md\" [src]=\"media()[mediaIndex].url\" />\n </div>\n @for (item of media(); track $index) {\n <div\n class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\"\n (click)=\"mediaIndex = $index\"\n [ngClass]=\"mediaIndex === $index ? '' : 'opacity-30'\"\n >\n <rolatech-thumbnail [src]=\"item.url\" size=\"small\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n}\n" }]
|
|
588
588
|
}] });
|
|
589
589
|
|
|
590
590
|
class CoursePricingComponent {
|
|
@@ -1016,11 +1016,11 @@ class CourseItemComponent {
|
|
|
1016
1016
|
this.row = input(true);
|
|
1017
1017
|
}
|
|
1018
1018
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1019
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseItemComponent, isStandalone: true, selector: "rolatech-course-item", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n
|
|
1019
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseItemComponent, isStandalone: true, selector: "rolatech-course-item", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div>\n <div class=\"sm:text-xl font-medium break-words line-clamp-2 whitespace-normal\">{{ course().name }}</div>\n <div class=\"invisible h-0 sm:h-auto sm:visible break-words line-clamp-1 whitespace-normal\">\n {{ course().description }}\n </div>\n </div>\n @if (course().pricing) {\n <div class=\"sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n} @else {\n <div>\n <div class=\"bg-gray-200 rounded-lg h-fit\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"medium\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"mt-2\">\n <div class=\"text-md sm:text-xl font-medium break-words line-clamp-2\">{{ course().name }}</div>\n @if (course().pricing) {\n <div class=\"text-md sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size"] }] }); }
|
|
1020
1020
|
}
|
|
1021
1021
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseItemComponent, decorators: [{
|
|
1022
1022
|
type: Component,
|
|
1023
|
-
args: [{ selector: 'rolatech-course-item', standalone: true, imports: [], template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n
|
|
1023
|
+
args: [{ selector: 'rolatech-course-item', standalone: true, imports: [ThumbnailComponent], template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"small\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div>\n <div class=\"sm:text-xl font-medium break-words line-clamp-2 whitespace-normal\">{{ course().name }}</div>\n <div class=\"invisible h-0 sm:h-auto sm:visible break-words line-clamp-1 whitespace-normal\">\n {{ course().description }}\n </div>\n </div>\n @if (course().pricing) {\n <div class=\"sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n} @else {\n <div>\n <div class=\"bg-gray-200 rounded-lg h-fit\">\n @if (course().media) {\n <rolatech-thumbnail [src]=\"course().media[0].url\" size=\"medium\"></rolatech-thumbnail>\n }\n </div>\n <div class=\"mt-2\">\n <div class=\"text-md sm:text-xl font-medium break-words line-clamp-2\">{{ course().name }}</div>\n @if (course().pricing) {\n <div class=\"text-md sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n}\n" }]
|
|
1024
1024
|
}] });
|
|
1025
1025
|
|
|
1026
1026
|
class PricingItemComponent {
|
|
@@ -1529,11 +1529,11 @@ class CourseDetailsComponent {
|
|
|
1529
1529
|
this.viewportScroller.scrollToAnchor(id);
|
|
1530
1530
|
}
|
|
1531
1531
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1532
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseDetailsComponent, isStandalone: true, selector: "rolatech-course-details", inputs: { details: { classPropertyName: "details", publicName: "details", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <
|
|
1532
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseDetailsComponent, isStandalone: true, selector: "rolatech-course-details", inputs: { details: { classPropertyName: "details", publicName: "details", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <rolatech-thumbnail [src]=\"item.url + '?imageMogr2/format/avif'\" size=\"medium\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size"] }] }); }
|
|
1533
1533
|
}
|
|
1534
1534
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseDetailsComponent, decorators: [{
|
|
1535
1535
|
type: Component,
|
|
1536
|
-
args: [{ selector: 'rolatech-course-details', standalone: true, imports: [], template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <
|
|
1536
|
+
args: [{ selector: 'rolatech-course-details', standalone: true, imports: [ThumbnailComponent], template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <rolatech-thumbnail [src]=\"item.url + '?imageMogr2/format/avif'\" size=\"medium\"></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n" }]
|
|
1537
1537
|
}] });
|
|
1538
1538
|
|
|
1539
1539
|
class CourseMediaOwnerRendererComponent {
|