@sunbird-cb/consumption 0.1.21-cbrelease-4.8.28 → 0.1.22-cbrelease-4.8.27-multilingual
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/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.mjs +1 -2
- package/esm2022/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.mjs +2 -986
- package/esm2022/lib/_common/microsites/mdo-channels/mdo-channel.module.mjs +7 -83
- package/esm2022/lib/_services/widget-content-lib.service.mjs +2 -2
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/sunbird-cb-consumption.mjs +33 -2053
- package/fesm2022/sunbird-cb-consumption.mjs.map +1 -1
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts.map +1 -1
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts.map +1 -1
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +26 -46
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/_common/microsites/mdo-channels/components/column-section-display/column-section-display.component.mjs +0 -54
- package/esm2022/lib/_common/microsites/mdo-channels/components/competency/competency.component.mjs +0 -50
- package/esm2022/lib/_common/microsites/mdo-channels/components/content-strip/content-strip.component.mjs +0 -56
- package/esm2022/lib/_common/microsites/mdo-channels/components/editor-dialog/editor-dialog.component.mjs +0 -286
- package/esm2022/lib/_common/microsites/mdo-channels/components/looker-section/looker-section.component.mjs +0 -45
- package/esm2022/lib/_common/microsites/mdo-channels/components/main-content/main-content.component.mjs +0 -143
- package/esm2022/lib/_common/microsites/mdo-channels/components/mobile-sections/mobile-sections.component.mjs +0 -35
- package/esm2022/lib/_common/microsites/mdo-channels/components/support-section/support-section.component.mjs +0 -30
- package/esm2022/lib/_common/microsites/mdo-channels/components/top-learners/top-learners.component.mjs +0 -42
- package/esm2022/lib/_common/microsites/mdo-channels/components/top-section/top-section.component.mjs +0 -99
- package/esm2022/lib/_common/microsites/mdo-channels/mdo-channel-v3/mdo-channel-v3.component.mjs +0 -222
- package/lib/_common/microsites/mdo-channels/components/column-section-display/column-section-display.component.d.ts +0 -20
- package/lib/_common/microsites/mdo-channels/components/column-section-display/column-section-display.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/competency/competency.component.d.ts +0 -16
- package/lib/_common/microsites/mdo-channels/components/competency/competency.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/content-strip/content-strip.component.d.ts +0 -16
- package/lib/_common/microsites/mdo-channels/components/content-strip/content-strip.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/editor-dialog/editor-dialog.component.d.ts +0 -61
- package/lib/_common/microsites/mdo-channels/components/editor-dialog/editor-dialog.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/looker-section/looker-section.component.d.ts +0 -17
- package/lib/_common/microsites/mdo-channels/components/looker-section/looker-section.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/main-content/main-content.component.d.ts +0 -32
- package/lib/_common/microsites/mdo-channels/components/main-content/main-content.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/mobile-sections/mobile-sections.component.d.ts +0 -15
- package/lib/_common/microsites/mdo-channels/components/mobile-sections/mobile-sections.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/support-section/support-section.component.d.ts +0 -10
- package/lib/_common/microsites/mdo-channels/components/support-section/support-section.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/top-learners/top-learners.component.d.ts +0 -13
- package/lib/_common/microsites/mdo-channels/components/top-learners/top-learners.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/components/top-section/top-section.component.d.ts +0 -23
- package/lib/_common/microsites/mdo-channels/components/top-section/top-section.component.d.ts.map +0 -1
- package/lib/_common/microsites/mdo-channels/mdo-channel-v3/mdo-channel-v3.component.d.ts +0 -54
- package/lib/_common/microsites/mdo-channels/mdo-channel-v3/mdo-channel-v3.component.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, EventEmitter, Input, Output, ViewChild, NgModule, Inject, HostBinding, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA, ViewChildren, Pipe,
|
|
2
|
+
import { Injectable, Component, EventEmitter, Input, Output, ViewChild, NgModule, Inject, HostBinding, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA, ViewChildren, Pipe, ContentChild } from '@angular/core';
|
|
3
3
|
import * as i2$2 from '@angular/common';
|
|
4
4
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
5
5
|
import * as i1$1 from '@angular/router';
|
|
@@ -49,11 +49,10 @@ import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';
|
|
|
49
49
|
import * as i7 from '@sunbird-cb/resolver-v2';
|
|
50
50
|
import { WidgetBaseComponent, SbUiResolverModule } from '@sunbird-cb/resolver-v2';
|
|
51
51
|
import * as _ from 'lodash';
|
|
52
|
-
import { cloneDeep } from 'lodash';
|
|
53
52
|
import * as moment from 'moment';
|
|
54
53
|
import moment__default from 'moment';
|
|
55
54
|
import * as i1 from '@angular/common/http';
|
|
56
|
-
import { HttpHeaders, HttpClient
|
|
55
|
+
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
57
56
|
import 'rxjs/add/observable/of';
|
|
58
57
|
import dayjs from 'dayjs';
|
|
59
58
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
@@ -67,16 +66,11 @@ import * as i4$1 from '@angular/material/legacy-menu';
|
|
|
67
66
|
import { MatLegacyMenuModule } from '@angular/material/legacy-menu';
|
|
68
67
|
import * as i2$3 from '@angular/material/legacy-progress-bar';
|
|
69
68
|
import { MatLegacyProgressBarModule } from '@angular/material/legacy-progress-bar';
|
|
70
|
-
import * as
|
|
71
|
-
import
|
|
72
|
-
import * as i1$5 from '@angular/material/snack-bar';
|
|
69
|
+
import * as i1$5 from '@angular/material/dialog';
|
|
70
|
+
import * as i1$6 from '@angular/material/snack-bar';
|
|
73
71
|
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
74
72
|
import { MatDividerModule } from '@angular/material/divider';
|
|
75
|
-
import * as
|
|
76
|
-
import * as i11 from '@angular/cdk/drag-drop';
|
|
77
|
-
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
78
|
-
import * as i10 from '@angular/material/legacy-slide-toggle';
|
|
79
|
-
import { MatLegacySlideToggleModule } from '@angular/material/legacy-slide-toggle';
|
|
73
|
+
import * as i4$2 from '@angular/platform-browser';
|
|
80
74
|
|
|
81
75
|
class ConsumptionService {
|
|
82
76
|
constructor() { }
|
|
@@ -1774,7 +1768,7 @@ class WidgetContentLibService {
|
|
|
1774
1768
|
if (enrollmentData && enrollmentData.recent_language) {
|
|
1775
1769
|
if (baseContentRead.languageMapV1 && Object.keys(baseContentRead.languageMapV1).length) {
|
|
1776
1770
|
const recent_LANG_DATA = baseContentRead.languageMapV1[enrollmentData.recent_language];
|
|
1777
|
-
if (recent_LANG_DATA && recent_LANG_DATA.id
|
|
1771
|
+
if (recent_LANG_DATA && recent_LANG_DATA.id) {
|
|
1778
1772
|
return this.gotoPlayerPage(enrollmentData, content, baseContentRead?.identifier, resourceId, mimeType, enrollmentData.recent_language, recent_LANG_DATA.id);
|
|
1779
1773
|
}
|
|
1780
1774
|
}
|
|
@@ -2688,7 +2682,6 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
2688
2682
|
}
|
|
2689
2683
|
}
|
|
2690
2684
|
checkInvitOnlyAssessments(content, strip, calculateParentStatus, viewMoreUrl, enrollmentData) {
|
|
2691
|
-
debugger;
|
|
2692
2685
|
if (Object.keys(enrollmentData)) {
|
|
2693
2686
|
enrollmentData = Object.keys(enrollmentData).length ? enrollmentData : {};
|
|
2694
2687
|
let filteredArray = [];
|
|
@@ -5690,7 +5683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
5690
5683
|
}]
|
|
5691
5684
|
}] });
|
|
5692
5685
|
|
|
5693
|
-
|
|
5686
|
+
class TopLearnersComponent {
|
|
5694
5687
|
constructor(insightSvc) {
|
|
5695
5688
|
this.insightSvc = insightSvc;
|
|
5696
5689
|
this.slwConfig = {};
|
|
@@ -5797,8 +5790,8 @@ let TopLearnersComponent$1 = class TopLearnersComponent {
|
|
|
5797
5790
|
}
|
|
5798
5791
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersComponent, deps: [{ token: InsiteDataService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5799
5792
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TopLearnersComponent, selector: "sb-uic-top-learners", inputs: { objectData: "objectData", channelId: "channelId", channnelName: "channnelName", slwConfig: "slwConfig" }, ngImport: i0, template: "<div class=\"flex flex-center\">\n <div class=\"flex items-center flex-wrap justify-center\">\n <div class=\"title-border w-full\"></div>\n <div class=\"title w-full\" [style.color]=\"objectData?.titleFontColor\">{{objectData?.title}} ({{month}})</div>\n <div class=\"title-border w-full\"></div>\n </div> \n</div>\n<div class=\"top-learners-container\" *ngIf=\"!loading && results.length\">\n <div class=\"w-full margin-bottom-l margin-top-l\">\n <div class=\"flex gap-3\">\n <div *ngFor=\"let obj of results; let i=index\" class=\"flex-container\">\n <div class=\"flex-item user-box {{objectData?.customClass}}\" [style.height]=\"objectData?.cardHeight\" [style.minHeight]=\"objectData?.cardMinHeight\">\n <div class=\"flex gap-3 img-name-sec\">\n <div class=\"flex gap-3\">\n <div class=\"profile-pic\" *ngIf=\"obj?.profile_image\">\n <img [src]=\"obj?.profile_image\" class=\"user-image\"/>\n </div>\n <div class=\"initial\" *ngIf=\"!obj?.profile_image\"\n [style.backgroundColor]=\"colors[i]\"\n >\n {{createInititals(obj?.fullName || obj?.fullname)}}\n </div>\n <div class=\"flex flex-col gap-1\">\n <div class=\"name-sec\" *ngIf=\"(obj?.fullName || obj?.fullname)?.length >= 24\"\n #tooltip=\"matTooltip\"\n [matTooltipClass]=\"'below'\"\n matTooltip=\"{{obj?.fullName || obj?.fullname}}\"\n [matTooltipPosition]=\"'below'\">\n {{obj?.fullName || obj?.fullname}}\n </div>\n <div class=\"name-sec\" *ngIf=\"(obj?.fullName || obj?.fullname)?.length < 24\">\n {{obj?.fullName || obj?.fullname}}\n </div>\n <div class=\"designation-sec\" *ngIf=\"obj?.designation?.length >= 32\"\n #tooltip=\"matTooltip\"\n [matTooltipClass]=\"'below'\"\n matTooltip=\"{{obj?.designation}}\"\n [matTooltipPosition]=\"'below'\">\n {{obj?.designation}}\n </div>\n <div class=\"designation-sec\" *ngIf=\"obj?.designation?.length < 32\">{{obj?.designation}}</div>\n <div class=\"designation-sec\" *ngIf=\"(obj?.orgName || obj?.org_name)?.length >= 32\"\n #tooltip=\"matTooltip\"\n [matTooltipClass]=\"'below'\"\n matTooltip=\"{{obj?.orgName || obj?.org_name}}\"\n [matTooltipPosition]=\"'below'\">\n {{obj?.orgName || obj?.org_name}}\n </div>\n <div class=\"designation-sec\" *ngIf=\"(obj?.orgName || obj?.org_name)?.length < 32\">{{obj?.orgName || obj?.org_name}}</div>\n </div>\n </div>\n <div class=\"flex gap-3\"> \n <div class=\"rank-sec\">{{getRank(+obj?.row_num)}}</div>\n </div> \n </div>\n <div class=\"flex gap-2 kp-section\" *ngIf=\"!objectData?.hideEle?.includes('karma-points')\">\n <div class=\"kp-icon\"><img [src]=\"objectData?.kpIcon\" class=\"kp-image\"/></div>\n <div class=\"points\">{{obj?.total_points || 0}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"top-learners-container\" *ngIf=\"!loading && results.length === 0\">\n <div class=\"margin-top-l noData\">\n No data\n </div>\n</div>\n\n<ng-container>\n <div class=\"top-learners-container\" *ngIf=\"loading\">\n <div class=\"w-full margin-bottom-l margin-top-l\">\n <div class=\"flex gap-3\">\n <div *ngFor=\"let obj of [1,2,3]\" class=\"flex-container\">\n <div class=\"flex-item user-box\" >\n <div class=\"flex gap-3 img-name-sec\">\n <div class=\"flex gap-3\">\n <div class=\"profile-pic\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'44px'\"\n [height]=\"'44px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col gap-1\">\n <div class=\"name-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"designation-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"designation-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"flex gap-3\"> \n <div class=\"rank-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'44px'\"\n [height]=\"'44px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n <div class=\"flex gap-2 kp-section\">\n <div class=\"kp-icon\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> \n </div>\n <div class=\"points\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>", styles: [".title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center;padding:15px}.title-border{margin:10px;width:240px;height:3px;background:linear-gradient(90deg,#fff0,#ef951e 20% 80%,#fff0)}.noData{border:1px solid #1B4CA1;padding:15px;display:flex;justify-content:center;border-radius:12px}.top-learners-container{overflow:auto}::-webkit-scrollbar{height:10px!important}::-webkit-scrollbar-track{border-radius:10px;background:#eff3f9!important}.user-box{width:360px;height:134px;border-radius:8px;background-color:#fff;padding:16px;position:relative}.flex-container{display:flex}.flex-item{flex:0 0 auto;white-space:nowrap}.img-name-sec{justify-content:space-between}.initial{width:44px;height:44px;border-radius:50%;align-items:center;display:flex;justify-content:center;font-weight:700;color:#fff}.user-image{width:44px;height:44px;border-radius:50%}.name-sec{font-family:Lato;font-size:16px;font-weight:700;line-height:19.2px;text-align:left;width:200px!important;overflow:hidden;text-overflow:ellipsis}.designation-sec{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:left;opacity:.6;width:200px!important;overflow:hidden;text-overflow:ellipsis}.rank-sec{font-family:Montserrat;font-size:36px;font-weight:700;line-height:43.88px;text-align:left;color:#ef951e}.kp-section{justify-content:flex-end;position:absolute;right:18px;bottom:16px;align-items:center}.kp-image{width:32px;height:32px;padding-top:3px}.points{font-family:Lato;font-size:24px;font-weight:700;line-height:28.8px;text-align:left;color:#1b4ca1;padding-bottom:3px}::-webkit-scrollbar{height:4px}::-webkit-scrollbar-track{border-radius:10px;background:#000}::-webkit-scrollbar-thumb{background:#cccc;border-radius:10px}@media screen and (max-width: 768px){.user-box{width:343px}}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }, { kind: "directive", type: i4.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
|
|
5800
|
-
}
|
|
5801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersComponent
|
|
5793
|
+
}
|
|
5794
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersComponent, decorators: [{
|
|
5802
5795
|
type: Component,
|
|
5803
5796
|
args: [{ selector: 'sb-uic-top-learners', template: "<div class=\"flex flex-center\">\n <div class=\"flex items-center flex-wrap justify-center\">\n <div class=\"title-border w-full\"></div>\n <div class=\"title w-full\" [style.color]=\"objectData?.titleFontColor\">{{objectData?.title}} ({{month}})</div>\n <div class=\"title-border w-full\"></div>\n </div> \n</div>\n<div class=\"top-learners-container\" *ngIf=\"!loading && results.length\">\n <div class=\"w-full margin-bottom-l margin-top-l\">\n <div class=\"flex gap-3\">\n <div *ngFor=\"let obj of results; let i=index\" class=\"flex-container\">\n <div class=\"flex-item user-box {{objectData?.customClass}}\" [style.height]=\"objectData?.cardHeight\" [style.minHeight]=\"objectData?.cardMinHeight\">\n <div class=\"flex gap-3 img-name-sec\">\n <div class=\"flex gap-3\">\n <div class=\"profile-pic\" *ngIf=\"obj?.profile_image\">\n <img [src]=\"obj?.profile_image\" class=\"user-image\"/>\n </div>\n <div class=\"initial\" *ngIf=\"!obj?.profile_image\"\n [style.backgroundColor]=\"colors[i]\"\n >\n {{createInititals(obj?.fullName || obj?.fullname)}}\n </div>\n <div class=\"flex flex-col gap-1\">\n <div class=\"name-sec\" *ngIf=\"(obj?.fullName || obj?.fullname)?.length >= 24\"\n #tooltip=\"matTooltip\"\n [matTooltipClass]=\"'below'\"\n matTooltip=\"{{obj?.fullName || obj?.fullname}}\"\n [matTooltipPosition]=\"'below'\">\n {{obj?.fullName || obj?.fullname}}\n </div>\n <div class=\"name-sec\" *ngIf=\"(obj?.fullName || obj?.fullname)?.length < 24\">\n {{obj?.fullName || obj?.fullname}}\n </div>\n <div class=\"designation-sec\" *ngIf=\"obj?.designation?.length >= 32\"\n #tooltip=\"matTooltip\"\n [matTooltipClass]=\"'below'\"\n matTooltip=\"{{obj?.designation}}\"\n [matTooltipPosition]=\"'below'\">\n {{obj?.designation}}\n </div>\n <div class=\"designation-sec\" *ngIf=\"obj?.designation?.length < 32\">{{obj?.designation}}</div>\n <div class=\"designation-sec\" *ngIf=\"(obj?.orgName || obj?.org_name)?.length >= 32\"\n #tooltip=\"matTooltip\"\n [matTooltipClass]=\"'below'\"\n matTooltip=\"{{obj?.orgName || obj?.org_name}}\"\n [matTooltipPosition]=\"'below'\">\n {{obj?.orgName || obj?.org_name}}\n </div>\n <div class=\"designation-sec\" *ngIf=\"(obj?.orgName || obj?.org_name)?.length < 32\">{{obj?.orgName || obj?.org_name}}</div>\n </div>\n </div>\n <div class=\"flex gap-3\"> \n <div class=\"rank-sec\">{{getRank(+obj?.row_num)}}</div>\n </div> \n </div>\n <div class=\"flex gap-2 kp-section\" *ngIf=\"!objectData?.hideEle?.includes('karma-points')\">\n <div class=\"kp-icon\"><img [src]=\"objectData?.kpIcon\" class=\"kp-image\"/></div>\n <div class=\"points\">{{obj?.total_points || 0}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"top-learners-container\" *ngIf=\"!loading && results.length === 0\">\n <div class=\"margin-top-l noData\">\n No data\n </div>\n</div>\n\n<ng-container>\n <div class=\"top-learners-container\" *ngIf=\"loading\">\n <div class=\"w-full margin-bottom-l margin-top-l\">\n <div class=\"flex gap-3\">\n <div *ngFor=\"let obj of [1,2,3]\" class=\"flex-container\">\n <div class=\"flex-item user-box\" >\n <div class=\"flex gap-3 img-name-sec\">\n <div class=\"flex gap-3\">\n <div class=\"profile-pic\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'44px'\"\n [height]=\"'44px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col gap-1\">\n <div class=\"name-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"designation-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"designation-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"flex gap-3\"> \n <div class=\"rank-sec\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'44px'\"\n [height]=\"'44px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n <div class=\"flex gap-2 kp-section\">\n <div class=\"kp-icon\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> \n </div>\n <div class=\"points\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>", styles: [".title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center;padding:15px}.title-border{margin:10px;width:240px;height:3px;background:linear-gradient(90deg,#fff0,#ef951e 20% 80%,#fff0)}.noData{border:1px solid #1B4CA1;padding:15px;display:flex;justify-content:center;border-radius:12px}.top-learners-container{overflow:auto}::-webkit-scrollbar{height:10px!important}::-webkit-scrollbar-track{border-radius:10px;background:#eff3f9!important}.user-box{width:360px;height:134px;border-radius:8px;background-color:#fff;padding:16px;position:relative}.flex-container{display:flex}.flex-item{flex:0 0 auto;white-space:nowrap}.img-name-sec{justify-content:space-between}.initial{width:44px;height:44px;border-radius:50%;align-items:center;display:flex;justify-content:center;font-weight:700;color:#fff}.user-image{width:44px;height:44px;border-radius:50%}.name-sec{font-family:Lato;font-size:16px;font-weight:700;line-height:19.2px;text-align:left;width:200px!important;overflow:hidden;text-overflow:ellipsis}.designation-sec{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:left;opacity:.6;width:200px!important;overflow:hidden;text-overflow:ellipsis}.rank-sec{font-family:Montserrat;font-size:36px;font-weight:700;line-height:43.88px;text-align:left;color:#ef951e}.kp-section{justify-content:flex-end;position:absolute;right:18px;bottom:16px;align-items:center}.kp-image{width:32px;height:32px;padding-top:3px}.points{font-family:Lato;font-size:24px;font-weight:700;line-height:28.8px;text-align:left;color:#1b4ca1;padding-bottom:3px}::-webkit-scrollbar{height:4px}::-webkit-scrollbar-track{border-radius:10px;background:#000}::-webkit-scrollbar-thumb{background:#cccc;border-radius:10px}@media screen and (max-width: 768px){.user-box{width:343px}}\n"] }]
|
|
5804
5797
|
}], ctorParameters: function () { return [{ type: InsiteDataService }]; }, propDecorators: { objectData: [{
|
|
@@ -5813,9 +5806,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
5813
5806
|
|
|
5814
5807
|
class TopLearnersModule {
|
|
5815
5808
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5816
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersModule, declarations: [TopLearnersComponent
|
|
5809
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersModule, declarations: [TopLearnersComponent], imports: [CommonModule,
|
|
5817
5810
|
SkeletonLoaderLibModule,
|
|
5818
|
-
MatLegacyTooltipModule], exports: [TopLearnersComponent
|
|
5811
|
+
MatLegacyTooltipModule], exports: [TopLearnersComponent] }); }
|
|
5819
5812
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersModule, imports: [CommonModule,
|
|
5820
5813
|
SkeletonLoaderLibModule,
|
|
5821
5814
|
MatLegacyTooltipModule] }); }
|
|
@@ -5823,13 +5816,13 @@ class TopLearnersModule {
|
|
|
5823
5816
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersModule, decorators: [{
|
|
5824
5817
|
type: NgModule,
|
|
5825
5818
|
args: [{
|
|
5826
|
-
declarations: [TopLearnersComponent
|
|
5819
|
+
declarations: [TopLearnersComponent],
|
|
5827
5820
|
imports: [
|
|
5828
5821
|
CommonModule,
|
|
5829
5822
|
SkeletonLoaderLibModule,
|
|
5830
5823
|
MatLegacyTooltipModule
|
|
5831
5824
|
],
|
|
5832
|
-
exports: [TopLearnersComponent
|
|
5825
|
+
exports: [TopLearnersComponent],
|
|
5833
5826
|
}]
|
|
5834
5827
|
}] });
|
|
5835
5828
|
|
|
@@ -8075,20 +8068,20 @@ class AddCompetencyPopupComponent {
|
|
|
8075
8068
|
submitCompetency() {
|
|
8076
8069
|
this.modalRef.close(this.selectedList);
|
|
8077
8070
|
}
|
|
8078
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCompetencyPopupComponent, deps: [{ token:
|
|
8071
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCompetencyPopupComponent, deps: [{ token: i1$5.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8079
8072
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddCompetencyPopupComponent, selector: "sb-uic-add-competency-popup", ngImport: i0, template: "<div class=\"text-center mt-4\">\n <p mat-dialog-title class=\"ff-montserrat font-bold text-xl\">Select skills which you want to learn.</p>\n <p class=\"lato font-normal text-sm\">Based on you choice, We will recommend best suitable content for you.</p>\n</div>\n<mat-dialog-content>\n <div class=\"enrollment-list-wrapper\">\n <div class=\"flex iteams-center justify-between flex-col\">\n <div>\n <div class=\"mat-full-radius\">\n <mat-form-field appearance=\"outline\" class=\"margin-top-xs stakeholders w-full\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput #search maxlength=\"70\" i18n-placeholder placeholder=\"Search\"\n [formControl]=\"searchTextCtrl\">\n </mat-form-field>\n </div>\n <div class=\"form_item_full\">\n <div class=\"max-height-320\" *ngIf=\"selectedList && selectedList?.length > 0\">\n <div class=\"flex flex-row justify-between w-full\">\n <div class=\"flex flex-row w-90\">\n <div class=\"font-normal mt-5 w-17\">Selected Items <span\n *ngIf=\"selectedList && selectedList?.length\">({{(selectedList) ?\n (selectedList?.length) :\n '0'}})</span>\n :</div>\n <div class=\"flex flex-row flex-wrap\" [ngClass]=\"showMore ? 'w-78':''\">\n <ng-container *ngFor=\"let org of selectedList | slice : 0:sliceCount\">\n <div class=\"flex items-center orgBoxChip margin-bottom-s px-4 py-3 mt-2 ml-4\">\n <div class=\"flex-col flex-1\">\n <h3\n class=\"mat-h2 margin-remove inline-block flex-1 long-text-wrap-new-ui\">\n <span *ngIf=\"org?.orgName?.length > 25\">{{org?.orgName | slice : 0 :\n 25}}...</span>\n <span *ngIf=\"org?.orgName?.length < 25\">{{org?.orgName}}</span>\n </h3>\n </div>\n <mat-icon matPrefix\n class=\"flex items-right justify-right margin-right-0 cursor-pointer close-rounded ml-6\"\n (click)=\"removeSelectedOrg(org)\">close</mat-icon>\n </div>\n </ng-container>\n </div>\n <div class=\"more mt-5 ml-2 w-10\"\n *ngIf=\"selectedList?.length > 0 && sliceCount < selectedList?.length\">\n <a href=\"javascript:void(0)\" (click)=\"showMoreSelectedOrg()\">+{{selectedList?.length\n -\n sliceCount}}\n more</a>\n </div>\n <div class=\"more mt-5 ml-2\"\n *ngIf=\"showMore && selectedList?.length > 0 && selectedList?.length === sliceCount\">\n <a href=\"javascript:void(0)\" (click)=\"showLessSelectedOrg()\">Show less</a>\n </div>\n </div>\n <div class=\"flex flex-row mt-5 w-10 justify-end\">\n <div class=\"more\" *ngIf=\"selectedList?.length > 1 \">\n <a href=\"javascript:void(0)\" (click)=\"clearAll()\">Clear all</a>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <div class=\"max-height-320 padding-left-s mt-3 border-section\">\n <div *ngFor=\"let value of orgList\" class=\"custome-checkbox margin-bottom-s\">\n <mat-checkbox (change)=\"selectedOrgChange($event.checked, value)\" [checked]=\"value.checked\">\n <div class=\"margin-left-sm\">\n <h3 class=\"margin-remove inline-block flex-1 long-text-wrap\">\n {{value.orgName}}\n </h3>\n </div>\n </mat-checkbox>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions class=\"flex justify-center py-4 gap-4\">\n <button mat-button mat-dialog-close class=\"mat-btn-outline\" (click)=\"cancelModal()\">Cancel</button>\n <button mat-button class=\"mat-btn-flat\" (click)=\"submitCompetency()\">Submit</button>\n</mat-dialog-actions>", styles: [".ff-montserrat{font-family:Montserrat}.section-btn{height:32px;width:100px;background-color:#fff!important;color:#0006!important;font:700 14px Lato;border-radius:16px;border:1px solid rgba(0,0,0,.4)}.section-btn.active-section-btn{background-color:#1b4ca129!important;border:1px solid #1B4CA1;color:#1b4ca1!important}.subtite-color{color:#0009}.border-bottom-c{border-bottom:2px solid rgba(0,0,0,.0784313725)!important}.long-text-wrap{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:14px;font-family:Lato;color:#000000de}.long-text-wrap-new-ui{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:131px;line-height:14px;color:#0000008a;font-size:14px;font-weight:400}.custome-icon-font-size{font-size:12px;line-height:12px}.subheading{font-size:12px;color:#0009}.custome-checkbox ::ng-deep .mat-checkbox-layout{margin-bottom:10px}.orgBox{background-color:#f5f5f5;border-radius:5px}.max-height-320{max-height:230px;overflow-y:auto}.max-height-320::-webkit-scrollbar{width:5px}.max-height-320::-webkit-scrollbar-track{background:#f1f1f1}.max-height-320::-webkit-scrollbar-thumb{background:#888;border-radius:100vw}.max-height-320::-webkit-scrollbar-thumb:hover{background:#555}.custome-slide{font-size:14px;font-weight:400!important;width:auto}.disable{opacity:.3;pointer-events:none;cursor:none}::ng-deep .stakeholders .mat-form-field-wrapper{padding:0}.border-section{border-radius:8px;border:1px solid rgba(0,0,0,.0784313725);padding:16px;background-color:#fff;padding:1.2rem}.orgBoxChip{background-color:#fff;border-radius:27px;border:1px solid rgba(0,0,0,.08);height:23px}.align-center{align-items:center}.more{color:#1b4ca1;margin-left:6px;font-weight:700;font-size:14px}.margin-right-0{margin-right:0!important}.w-90{width:90%}.w-10{width:10%}.w-78{width:78%}.w-17{width:15%}.black-text{color:#000!important}.enrollment-list-wrapper{padding:1rem}.margin-left-sm{margin-left:4px}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-form-field-outline{border-radius:30px}::ng-deep .mat-full-radius .mat-form-field .mat-form-field-outline-end{border-radius:0 30px 30px 0!important}::ng-deep .mat-full-radius .mat-form-field .mat-form-field-outline-start{border-radius:30px 0 0 30px!important;flex-grow:1}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-form-field-infix{padding:6px 0 15px}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(5%)}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-form-field-flex{padding:0 16px}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$3.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatLegacyDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$3.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLegacyPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i7$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i7$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i7$2.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i8$1.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i2$2.SlicePipe, name: "slice" }] }); }
|
|
8080
8073
|
}
|
|
8081
8074
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCompetencyPopupComponent, decorators: [{
|
|
8082
8075
|
type: Component,
|
|
8083
8076
|
args: [{ selector: "sb-uic-add-competency-popup", template: "<div class=\"text-center mt-4\">\n <p mat-dialog-title class=\"ff-montserrat font-bold text-xl\">Select skills which you want to learn.</p>\n <p class=\"lato font-normal text-sm\">Based on you choice, We will recommend best suitable content for you.</p>\n</div>\n<mat-dialog-content>\n <div class=\"enrollment-list-wrapper\">\n <div class=\"flex iteams-center justify-between flex-col\">\n <div>\n <div class=\"mat-full-radius\">\n <mat-form-field appearance=\"outline\" class=\"margin-top-xs stakeholders w-full\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput #search maxlength=\"70\" i18n-placeholder placeholder=\"Search\"\n [formControl]=\"searchTextCtrl\">\n </mat-form-field>\n </div>\n <div class=\"form_item_full\">\n <div class=\"max-height-320\" *ngIf=\"selectedList && selectedList?.length > 0\">\n <div class=\"flex flex-row justify-between w-full\">\n <div class=\"flex flex-row w-90\">\n <div class=\"font-normal mt-5 w-17\">Selected Items <span\n *ngIf=\"selectedList && selectedList?.length\">({{(selectedList) ?\n (selectedList?.length) :\n '0'}})</span>\n :</div>\n <div class=\"flex flex-row flex-wrap\" [ngClass]=\"showMore ? 'w-78':''\">\n <ng-container *ngFor=\"let org of selectedList | slice : 0:sliceCount\">\n <div class=\"flex items-center orgBoxChip margin-bottom-s px-4 py-3 mt-2 ml-4\">\n <div class=\"flex-col flex-1\">\n <h3\n class=\"mat-h2 margin-remove inline-block flex-1 long-text-wrap-new-ui\">\n <span *ngIf=\"org?.orgName?.length > 25\">{{org?.orgName | slice : 0 :\n 25}}...</span>\n <span *ngIf=\"org?.orgName?.length < 25\">{{org?.orgName}}</span>\n </h3>\n </div>\n <mat-icon matPrefix\n class=\"flex items-right justify-right margin-right-0 cursor-pointer close-rounded ml-6\"\n (click)=\"removeSelectedOrg(org)\">close</mat-icon>\n </div>\n </ng-container>\n </div>\n <div class=\"more mt-5 ml-2 w-10\"\n *ngIf=\"selectedList?.length > 0 && sliceCount < selectedList?.length\">\n <a href=\"javascript:void(0)\" (click)=\"showMoreSelectedOrg()\">+{{selectedList?.length\n -\n sliceCount}}\n more</a>\n </div>\n <div class=\"more mt-5 ml-2\"\n *ngIf=\"showMore && selectedList?.length > 0 && selectedList?.length === sliceCount\">\n <a href=\"javascript:void(0)\" (click)=\"showLessSelectedOrg()\">Show less</a>\n </div>\n </div>\n <div class=\"flex flex-row mt-5 w-10 justify-end\">\n <div class=\"more\" *ngIf=\"selectedList?.length > 1 \">\n <a href=\"javascript:void(0)\" (click)=\"clearAll()\">Clear all</a>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <div class=\"max-height-320 padding-left-s mt-3 border-section\">\n <div *ngFor=\"let value of orgList\" class=\"custome-checkbox margin-bottom-s\">\n <mat-checkbox (change)=\"selectedOrgChange($event.checked, value)\" [checked]=\"value.checked\">\n <div class=\"margin-left-sm\">\n <h3 class=\"margin-remove inline-block flex-1 long-text-wrap\">\n {{value.orgName}}\n </h3>\n </div>\n </mat-checkbox>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions class=\"flex justify-center py-4 gap-4\">\n <button mat-button mat-dialog-close class=\"mat-btn-outline\" (click)=\"cancelModal()\">Cancel</button>\n <button mat-button class=\"mat-btn-flat\" (click)=\"submitCompetency()\">Submit</button>\n</mat-dialog-actions>", styles: [".ff-montserrat{font-family:Montserrat}.section-btn{height:32px;width:100px;background-color:#fff!important;color:#0006!important;font:700 14px Lato;border-radius:16px;border:1px solid rgba(0,0,0,.4)}.section-btn.active-section-btn{background-color:#1b4ca129!important;border:1px solid #1B4CA1;color:#1b4ca1!important}.subtite-color{color:#0009}.border-bottom-c{border-bottom:2px solid rgba(0,0,0,.0784313725)!important}.long-text-wrap{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:14px;font-family:Lato;color:#000000de}.long-text-wrap-new-ui{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:131px;line-height:14px;color:#0000008a;font-size:14px;font-weight:400}.custome-icon-font-size{font-size:12px;line-height:12px}.subheading{font-size:12px;color:#0009}.custome-checkbox ::ng-deep .mat-checkbox-layout{margin-bottom:10px}.orgBox{background-color:#f5f5f5;border-radius:5px}.max-height-320{max-height:230px;overflow-y:auto}.max-height-320::-webkit-scrollbar{width:5px}.max-height-320::-webkit-scrollbar-track{background:#f1f1f1}.max-height-320::-webkit-scrollbar-thumb{background:#888;border-radius:100vw}.max-height-320::-webkit-scrollbar-thumb:hover{background:#555}.custome-slide{font-size:14px;font-weight:400!important;width:auto}.disable{opacity:.3;pointer-events:none;cursor:none}::ng-deep .stakeholders .mat-form-field-wrapper{padding:0}.border-section{border-radius:8px;border:1px solid rgba(0,0,0,.0784313725);padding:16px;background-color:#fff;padding:1.2rem}.orgBoxChip{background-color:#fff;border-radius:27px;border:1px solid rgba(0,0,0,.08);height:23px}.align-center{align-items:center}.more{color:#1b4ca1;margin-left:6px;font-weight:700;font-size:14px}.margin-right-0{margin-right:0!important}.w-90{width:90%}.w-10{width:10%}.w-78{width:78%}.w-17{width:15%}.black-text{color:#000!important}.enrollment-list-wrapper{padding:1rem}.margin-left-sm{margin-left:4px}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-form-field-outline{border-radius:30px}::ng-deep .mat-full-radius .mat-form-field .mat-form-field-outline-end{border-radius:0 30px 30px 0!important}::ng-deep .mat-full-radius .mat-form-field .mat-form-field-outline-start{border-radius:30px 0 0 30px!important;flex-grow:1}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-form-field-infix{padding:6px 0 15px}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(5%)}::ng-deep .mat-full-radius .mat-form-field-appearance-outline .mat-form-field-flex{padding:0 16px}\n"] }]
|
|
8084
|
-
}], ctorParameters: function () { return [{ type:
|
|
8077
|
+
}], ctorParameters: function () { return [{ type: i1$5.MatDialogRef }]; } });
|
|
8085
8078
|
|
|
8086
8079
|
class SnackbarComponent {
|
|
8087
8080
|
constructor(data, snackBarRef) {
|
|
8088
8081
|
this.data = data;
|
|
8089
8082
|
this.snackBarRef = snackBarRef;
|
|
8090
8083
|
}
|
|
8091
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1$
|
|
8084
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1$6.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8092
8085
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SnackbarComponent, selector: "sb-uic-snackbar", ngImport: i0, template: "<div class=\"snackbar-wrapper\">\n <div class=\"flex items-center justify-between\">\n <div class=\"message flex items-center gap-4\">\n <mat-icon *ngIf=\"data?.type === 'success'\" class=\"text-white\">check</mat-icon>\n <!-- <mat-icon *ngIf=\"data?.type === 'error'\" class=\"text-white\">close</mat-icon> -->\n <span *ngIf=\"data?.message\" class=\"text-white\">{{data?.message}}</span>\n </div>\n <div class=\"close\">\n <mat-icon class=\"cursor-pointer\" (click)=\"snackBarRef.dismiss()\" class=\"text-white\">close</mat-icon>\n </div>\n </div>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
8093
8086
|
}
|
|
8094
8087
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackbarComponent, decorators: [{
|
|
@@ -8097,7 +8090,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8097
8090
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
8098
8091
|
type: Inject,
|
|
8099
8092
|
args: [MAT_SNACK_BAR_DATA]
|
|
8100
|
-
}] }, { type: i1$
|
|
8093
|
+
}] }, { type: i1$6.MatSnackBarRef }]; } });
|
|
8101
8094
|
|
|
8102
8095
|
class ConfirmationDialogComponent {
|
|
8103
8096
|
constructor(dialogRef, data) {
|
|
@@ -10972,7 +10965,7 @@ class ContentStripWithTabsPillsComponent extends WidgetBaseComponent {
|
|
|
10972
10965
|
this.stripsResultDataMap[strip.key].showOnLoader = false;
|
|
10973
10966
|
}
|
|
10974
10967
|
}
|
|
10975
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripWithTabsPillsComponent, deps: [{ token: 'environment' }, { token: WidgetContentLibService }, { token: i2.LoggerService }, { token: i2.EventService }, { token: i2.ConfigurationsService }, { token: i2.UtilityService }, { token: i1$1.Router }, { token: WidgetUserServiceLib }, { token: i2$1.TranslateService }, { token: MultilingualTranslationsService }, { token: i2.WidgetEnrollService }, { token:
|
|
10968
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripWithTabsPillsComponent, deps: [{ token: 'environment' }, { token: WidgetContentLibService }, { token: i2.LoggerService }, { token: i2.EventService }, { token: i2.ConfigurationsService }, { token: i2.UtilityService }, { token: i1$1.Router }, { token: WidgetUserServiceLib }, { token: i2$1.TranslateService }, { token: MultilingualTranslationsService }, { token: i2.WidgetEnrollService }, { token: i1$5.MatDialog }, { token: i1$6.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10976
10969
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentStripWithTabsPillsComponent, selector: "sb-uic-content-strip-with-tabs-pills", inputs: { widgetData: "widgetData", providerId: "providerId", emitViewAll: "emitViewAll", channnelName: "channnelName" }, outputs: { emptyResponse: "emptyResponse", viewAllResponse: "viewAllResponse", telemtryResponse: "telemtryResponse" }, host: { properties: { "id": "this.id" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!contentAvailable; else otherTemplate\"></ng-container>\n<ng-template #otherTemplate>\n <!-- <div *ngIf=\"showParentLoader\" class=\"text-center my-2\">\n <mat-spinner class=\"inline-block\"></mat-spinner>\n </div> -->\n <ng-container *ngIf=\"showParentError\" [sbUiResolverWidget]=\"widgetData.errorWidget\"></ng-container>\n <ng-container *ngIf=\"showParentNoData\" [sbUiResolverWidget]=\"widgetData.noDataWidget\"></ng-container>\n <ng-container *ngFor=\"let key of stripsKeyOrder; let i = index; trackBy: identify\">\n <ng-container *ngIf=\"isStripShowing(stripsResultDataMap[key]) && canShowHeading(stripsResultDataMap[key])\">\n <a name=\"{{stripsResultDataMap[key]?.stripTitle}}\" [class]=\"key\">\n <div *ngIf=\"stripsResultDataMap && (getLength(stripsResultDataMap[key]) ||\n stripsResultDataMap[key]?.showOnNoData ||\n stripsResultDataMap[key]?.showOnLoader ||\n stripsResultDataMap[key]?.showOnError)\n \" [ngClass]=\"\n !widgetData?.isChannelStrip ? 'xs:px-8 sx:px-10ss' : i > 0 ? 'mt-12' : ''\n \" [id]=\"key\" [ngClass]=\"!widgetData?.isChannelStrip ? 'margin-bottom-custom' : 'margin-bottom-xs'\">\n <div [ngClass]=\"{ pad: stripsResultDataMap[key]?.stripBackground }\"\n [ngStyle]=\"{ 'background-color': stripsResultDataMap[key]?.stripBackground }\">\n <div class=\"flex flex-col pl-4 pr-4 md:pr-0 md:pl-0 \" [ngClass]=\"\n !widgetData?.isChannelStrip\n ? ''\n : stripsResultDataMap[key]?.stripTitle\n ? 'mb-8'\n : ''\n \">\n <div class=\"flex flex-1 items-center\">\n <p class=\"mat-subheading-1 margin-remove inline-block \" *ngIf=\"stripsResultDataMap[key]?.stripTitle\">\n <span class=\"capitalize\" *ngIf=\"stripsResultDataMap[key]?.disableTranslate\">\n {{stripsResultDataMap[key]?.stripTitle}}\n </span>\n <span *ngIf=\"!stripsResultDataMap[key]?.disableTranslate\">\n {{ translateLabels(stripsResultDataMap[key]?.stripTitle, 'home') }}\n </span>\n </p>\n\n <button *ngIf=\"stripsResultDataMap[key]?.stripInfo?.icon\" type=\"button\" mat-icon-button\n (click)=\"toggleInfo(stripsResultDataMap[key])\" i18n-matTooltip matTooltip=\"info\"\n class=\"margin-left-xs\">\n <mat-icon>{{ stripsResultDataMap[key]?.stripInfo?.icon.icon }}</mat-icon>\n </button>\n <a *ngIf=\"stripsResultDataMap[key]?.stripTitleLink?.link\"\n [routerLink]=\"stripsResultDataMap[key]?.stripTitleLink?.link\"\n [queryParams]=\"stripsResultDataMap[key]?.stripTitleLink?.link?.queryParams\">\n <mat-icon class=\"ws-mat-primary-primary-text ws-mat-default-text\" [color]=\"'accent'\">{{\n stripsResultDataMap[key]?.stripTitleLink?.icon }}</mat-icon>\n </a>\n <span class=\"spacer\"></span>\n <!-- viewAll start-->\n <div *ngIf=\"checkCondition(widgetData , stripsResultDataMap[key])\" class=\"block md:hidden\">\n <div class=\"ml-4 pl-2 view-more ws-mat-default-text \">\n <a class=\"flex ws-mat-default-text items-center justify-center mat-body-1 cursor-pointer\"\n (click)=\"raiseTelemetry(stripsResultDataMap[key]);redirectViewAll(stripsResultDataMap[key], stripsResultDataMap[key]?.viewMoreUrl?.path, stripsResultDataMap[key]?.viewMoreUrl?.queryParams )\">\n <span i18n\n class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0]?.viewMoreUrl?.viewMoreText,'home')\n || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\"\n color=\"accent\">navigate_next</mat-icon>\n </a>\n </div>\n </div>\n <!-- viewAll end-->\n </div>\n <button mat-icon-button (click)=\"setHiddenForStrip(key)\" *ngIf=\"stripsResultDataMap[key]?.canHideStrip\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"stripsResultDataMap[key]?.mode === 'accordion' && isMobile\"\n (click)=\"showAccordionData = !showAccordionData\">{{ showAccordionData ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </div>\n\n <div class=\"mb-4\" *ngIf=\"checkVisible(stripsResultDataMap[key])\">\n <ng-container [sbUiResolverWidget]=\"getdata(stripsResultDataMap[key])\">\n </ng-container>\n </div>\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnNoData\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.noDataWidget\"></ng-container>\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnError\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.errorWidget\"></ng-container>\n <!-- IF no errors then proceed to show tabs or non tabs strip -->\n <ng-container *ngIf=\"!stripsResultDataMap[key]?.showOnNoData && !stripsResultDataMap[key]?.showOnError\">\n <ng-container *ngIf=\"stripsResultDataMap[key].tabs && stripsResultDataMap[key].tabs.length\">\n <mat-tab-group animationDuration=\"0ms\" [selectedIndex]=\"getSelectedIndex(stripsResultDataMap[key], key)\"\n class=\"mat-tab-labels w-full strips-tabgroup padding-bottom-tabs\" dynamicHeight\n (selectedIndexChange)=\"tabClicked($event, 0, stripsResultDataMap[key], key)\">\n <ng-container *ngFor=\"let tab of stripsResultDataMap[key].tabs; let last = last;let tabIndex = index\">\n <mat-tab *ngIf=\"!tab?.hideTab\">\n <ng-template mat-tab-label>\n <ng-container *ngIf=\"tab?.value !== sakshamAIEnum.SakshamAI\">\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <span *ngIf=\"tab?.showTabDataCount && tab?.widgets?.length\">({{tab?.widgets?.length}})</span>\n </ng-container>\n <ng-container *ngIf=\"tab?.value === sakshamAIEnum.SakshamAI\">\n <div class=\"flex items-center\">\n <img src=\"/assets/images/sakshamAI/ai-icon.svg\" alt=\"loader\" width=\"16\" height=\"16\"\n class=\"mr-2\">\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <mat-icon svgIcon=\"info-outline\"\n class=\"margin-remove w-16-px cursor-pointer request-id-toolTip m-px\"\n [matTooltip]=\"'home.sakshamAITooltip' | translate\" [matTooltipPosition]=\"'above'\"\n matTooltipClass=\"request-id-toolTip\"></mat-icon>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"wfull wrapper-saksham\"\n *ngIf=\"tab?.pillsData && tab?.pillsData?.length && !tab?.hideTab\"\n [ngClass]=\"{'overlay-max-height': recommendationPopup || sakshamFeedbackPopup}\">\n <div class=\"pt-3 flex justify-between item-center\">\n <ng-container *ngIf=\"tab?.value !== sakshamAIEnum.SakshamAI\">\n <div class=\" flex items-center\">\n <mat-chip-list class=\"content-pill\" aria-label=\"Fish selection\">\n <ng-container *ngFor=\"let pill of tab?.pillsData;let p = index\">\n <mat-chip [selected]=\"pill?.selected\"\n (click)=\"pillClicked($event, stripsResultDataMap[key], key, p, tabIndex)\">\n <span class=\"pill-name\">{{pill?.label}}</span></mat-chip>\n </ng-container>\n </mat-chip-list>\n </div>\n </ng-container>\n <!-- viewAll start-->\n <div\n *ngIf=\"checkCondition(widgetData , stripsResultDataMap[key]) && tab?.value !== sakshamAIEnum.SakshamAI\"\n class=\" hidden md:block\">\n <div class=\"ml-4 pl-2 view-more ws-mat-default-text\">\n <a class=\"flex ws-mat-default-text items-center justify-center mat-body-1 cursor-pointer\"\n (click)=\"raiseTelemetry(stripsResultDataMap[key]);redirectViewAll(stripsResultDataMap[key], stripsResultDataMap[key]?.viewMoreUrl?.path, stripsResultDataMap[key]?.viewMoreUrl?.queryParams )\">\n <span i18n\n class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0]?.viewMoreUrl?.viewMoreText,'home')\n || 'See all'}}</span>\n <mat-icon\n class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\"\n color=\"accent\">navigate_next</mat-icon>\n </a>\n </div>\n </div>\n <!-- viewAll end-->\n </div>\n <div *ngIf=\"(stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader ||\n !tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus) && !sakshamLoader\"\n class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n [id]=\"key+'-scroller'\" [loadStatus]=\"'fetching'\"\n [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container\n *ngFor=\"let widget of stripsResultDataMap[key]?.loaderWidgets; trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n <ng-container\n *ngIf=\"tab?.pillsData && tab?.pillsData.length && tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]\">\n <div\n *ngIf=\"((tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus && tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus === 'done') &&\n (!tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets || !tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets?.length))\">\n <ng-container\n *ngIf=\"tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.value === 'inprogress'; else msgTemp\">\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.svg\">\n <div class=\"mat-subheading-1 text-center info-content\">{{\n 'contentstripmultiple.getReadyForLearningAdventure' | translate }} -\n <a class=\"click-here\"\n [routerLink]=\"tab?.label === 'Events' ? '/app/event-hub/home':'/page/learn'\">{{\n 'contentstripmultiple.clickHere' | translate }}</a> <span\n *ngIf=\" tab?.label === 'Events'\">{{'contentstripmultiple.toEnrollNextEvents' |\n translate }}</span>\n <span *ngIf=\" tab?.label !== 'Events'\">{{ 'contentstripmultiple.toEnrollNextCourse' |\n translate }}</span>\n </div>\n </div>\n </ng-container>\n <ng-template #msgTemp>\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.png\">\n <div class=\"mat-subheading-1 text-center\">{{\n translateLabels(tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.nodataMsg,\n 'home') }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"(tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus === 'done' || tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets?.length)\">\n <ng-container *ngIf=\"!tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.tabLoading\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\"\n [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n [widgetsLength]=\"tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets?.length\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\"\n [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"tab?.value === sakshamAIEnum.SakshamAI ? maxWidgetsSakshamAI : tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets\"\n [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\" [extraMeta]=\"tab\">\n <!-- <ng-container\n *ngFor=\"let widget of tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets| slice:0:(tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container> -->\n <ng-container\n *ngFor=\"let widget of tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets | slice:0:(\n tab?.value === sakshamAIEnum.SakshamAI \n ? maxWidgetsSakshamAI \n : tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || \n defaultMaxWidgets\n ); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n\n </sb-uic-horizontal-scroller-v2>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"tab?.value === sakshamAIEnum.SakshamAI\">\n <ng-container *ngIf=\"recommendationPopup\">\n <div class=\"greet-overlay\" @fadeInOut>\n <img src=\"/assets/images/sakshamAI/lady-greet.svg\" alt=\"greet\" width=\"106\">\n <div class=\"overlay-text mt-4 text-white\">\n {{'home.sakshamaidesc' | translate}}\n </div>\n <button mat-raised-button class=\"overlay-button\"\n (click)=\"recommendationPopup = false\">{{'profileInfo.ok' | translate}}</button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sakshamFeedbackPopup\" >\n <div class=\"greet-overlay feedback-overlay\" @fadeInOut>\n <div class=\"overlay-text mt-4 text-white\">\n {{'home.sakshamaifeedbackText' | translate}}\n </div>\n <mat-form-field class=\"feedback-text w-4/5 mt-4\" appearance=\"outline\">\n <textarea matInput placeholder=\"Enter your feedback...\" rows=\"4\" #feedback [maxLength]=\"500\"></textarea>\n </mat-form-field>\n <div class=\"action-feedback mt-4 flex gap-4 justify-center items-center\">\n <button mat-raised-button class=\"overlay-button\"\n (click)=\"saveFeedback(feedback.value)\">{{'userProfile.submit' | translate}}\n </button>\n <button mat-raised-button class=\"overlay-button-transparent\"\n (click)=\"cancelFeedbackPopup()\">{{'userProfile.cancel' | translate}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sakshamAddCompetency\">\n <div class=\"text-center py-6\">\n <div class=\"saksham-load-text text-sm font-normal lato\">\n Let us know what do you want to learn today!\n </div>\n <button mat-raised-button class=\"overlay-button mt-4\" (click)=\"addCompetency()\">\n <mat-icon class=\"mb-1\">add</mat-icon>\n Add Competency</button>\n\n </div>\n </ng-container>\n\n <!-- Loader and Content -->\n <ng-container *ngIf=\"sakshamLoader\">\n <div class=\"w-full text-center py-6\">\n <img src=\"/assets/images/sakshamAI/saksham_ai_loader-2.gif\" alt=\"loader\" class=\"mb-3\"\n width=\"100\" height=\"100\">\n <div class=\"saksham-load-text text-sm font-normal lato\">\n {{'home.sakshamaiLoaderText' | translate}}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n </mat-tab>\n </ng-container>\n </mat-tab-group>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </a>\n\n </ng-container>\n </ng-container>\n</ng-template>", styles: [".view-more{display:flex;align-items:center;text-align:center;height:40px;justify-content:center}.view-more .icon{font-size:24px;width:24px;height:24px;border:1px solid;border-radius:50%;padding:8px;margin-bottom:8px}.view-more:hover{background-color:#dcdfe5}::ng-deep .strips-tabgroup .mat-tab-header{border-bottom:2px solid rgba(0,0,0,.12)}::ng-deep .strips-tabgroup.padding-bottom-tabs .mat-tab-body{padding:0!important;box-sizing:border-box;overflow-y:initial!important}::ng-deep .strips-tabgroup .mat-tab-body-wrapper{overflow:inherit!important}::ng-deep .strips-tabgroup .mat-tab-label{border-bottom:0px solid rgba(0,0,0,.1);margin-right:0;opacity:1}::ng-deep .strips-tabgroup .mat-tab-label .mat-tab-label-content{text-transform:inherit;font:400 14px/20px Lato}::ng-deep .strips-tabgroup .mat-tab-label-active .mat-tab-label-content{font-weight:700!important}::ng-deep .mat-tab-header-pagination{display:none!important}.click-here{color:#1b4ca1}.info-content{opacity:1;color:#000000de;font:700 14px/20px Lato-Bold;text-align:center}.active{background:#1b4ca1!important}.active .pill-name{color:#fff!important}::ng-deep .content-pill .mat-chip-selected{background-color:#1b4ca1!important}::ng-deep .content-pill .mat-chip-selected .pill-name{color:#fff!important}.saksham-load-text{line-height:16.8px}.lato{font-family:Lato}.wrapper-saksham{position:relative}.overlay-max-height{min-height:348px}.greet-overlay{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:999;background:#0000008f;border-radius:12px}.overlay-text{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;max-width:454px}.overlay-button,.overlay-button-transparent{margin-top:20px;color:#000!important;height:40px;border-radius:41px;font-size:14px;font-weight:700!important}.overlay-button-transparent{background:transparent!important;border:1px solid #ffffff;color:#fff!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{border-radius:4px}::ng-deep .request-id-toolTip.mat-icon{width:16px!important;margin-top:-3px!important;vertical-align:middle;height:16px}\n"], dependencies: [{ kind: "directive", type: i7.SbUiResolverDirective, selector: "[sbUiResolverWidget]", inputs: ["sbUiResolverWidget"] }, { kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HorizontalScrollerV2Component, selector: "sb-uic-horizontal-scroller-v2", inputs: ["loadStatus", "id", "onHover", "sliderConfig", "widgetsLength", "defaultMaxWidgets", "stripConfig", "extraMeta"], outputs: ["loadNext"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i14.MatLegacyChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i14.MatLegacyChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$1.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "component", type: i13.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i13.MatLegacyTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i13.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "pipe", type: i2$2.SlicePipe, name: "slice" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], animations: [fadeAnimation] }); }
|
|
10977
10970
|
}
|
|
10978
10971
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripWithTabsPillsComponent, decorators: [{
|
|
@@ -10981,7 +10974,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10981
10974
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10982
10975
|
type: Inject,
|
|
10983
10976
|
args: ['environment']
|
|
10984
|
-
}] }, { type: WidgetContentLibService }, { type: i2.LoggerService }, { type: i2.EventService }, { type: i2.ConfigurationsService }, { type: i2.UtilityService }, { type: i1$1.Router }, { type: WidgetUserServiceLib }, { type: i2$1.TranslateService }, { type: MultilingualTranslationsService }, { type: i2.WidgetEnrollService }, { type:
|
|
10977
|
+
}] }, { type: WidgetContentLibService }, { type: i2.LoggerService }, { type: i2.EventService }, { type: i2.ConfigurationsService }, { type: i2.UtilityService }, { type: i1$1.Router }, { type: WidgetUserServiceLib }, { type: i2$1.TranslateService }, { type: MultilingualTranslationsService }, { type: i2.WidgetEnrollService }, { type: i1$5.MatDialog }, { type: i1$6.MatSnackBar }]; }, propDecorators: { widgetData: [{
|
|
10985
10978
|
type: Input
|
|
10986
10979
|
}], emptyResponse: [{
|
|
10987
10980
|
type: Output
|
|
@@ -12965,991 +12958,7 @@ class MdoChannelV2Component {
|
|
|
12965
12958
|
&& this.route.snapshot.data.formData.data.result.form
|
|
12966
12959
|
&& this.route.snapshot.data.formData.data.result.form.data
|
|
12967
12960
|
&& this.route.snapshot.data.formData.data.result.form.data.sectionList) {
|
|
12968
|
-
this.sectionList =
|
|
12969
|
-
{
|
|
12970
|
-
"active": true,
|
|
12971
|
-
"enabled": true,
|
|
12972
|
-
"title": "",
|
|
12973
|
-
"key": "sectionTopBanner",
|
|
12974
|
-
"order": 1,
|
|
12975
|
-
"column": [
|
|
12976
|
-
{
|
|
12977
|
-
"active": true,
|
|
12978
|
-
"enabled": true,
|
|
12979
|
-
"key": "topSection",
|
|
12980
|
-
"title": "",
|
|
12981
|
-
"colspan": 12,
|
|
12982
|
-
"background": "",
|
|
12983
|
-
"bannerBackgroudClass": "web-banner-background",
|
|
12984
|
-
"data": {
|
|
12985
|
-
"background": "#1B4CA1",
|
|
12986
|
-
"logo": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745380667949_Maharashtra Logo Strip.png",
|
|
12987
|
-
"logoMobile": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745380774459_Logo 4.jpeg",
|
|
12988
|
-
"bannerBackgroundWebMobile": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1735299398814_ctd_logo.png",
|
|
12989
|
-
"title": "महाराष्ट्र टेक लर्निंग वीक",
|
|
12990
|
-
"titleClass": "main-title",
|
|
12991
|
-
"titleColor": "#fca311",
|
|
12992
|
-
"subTitle": "",
|
|
12993
|
-
"subTitleClass": "sub-title",
|
|
12994
|
-
"subTitleColor": "#FFFFFF",
|
|
12995
|
-
"subTitleColorMobile": "#000",
|
|
12996
|
-
"subTitleTwo": "महाराष्ट्र",
|
|
12997
|
-
"subTitleColorTwo": "#FFFFFF",
|
|
12998
|
-
"subTitleColorTwoMobile": "#000",
|
|
12999
|
-
"description": "महाराष्ट्र नेहमीच प्रगतीच्या अग्रस्थानी राहिला आहे. शिक्षण, आरोग्य, उद्योग, कृषी आणि प्रशासन या क्षेत्रांमध्ये नवोन्मेषाला प्रोत्साहन देत आला आहे. डिजिटल युगातील परिवर्तनाच्या गतीनुसार त्याच्या बरोबरीने शासकीय कामकाज देखील विकसित होणं आवश्यक आहे. टेक-वारी - महाराष्ट्राचा टेक लर्निंग वीक, हे त्या दृष्टीने एक पाउल आहे. ज्यात तंत्रज्ञान, परंपरा आणि परिवर्तन यांच्या त्रिवेणी संगमाच्या माध्यमातून शासकीय कर्मचारी लोकाभिमुख प्रशासनासाठी सज्ज होईल.",
|
|
13000
|
-
"descriptionColor": "#FFFFFF",
|
|
13001
|
-
"sliderData": {
|
|
13002
|
-
"styleData": {
|
|
13003
|
-
"bannerMetaClass": "",
|
|
13004
|
-
"bannerMeta": "visible",
|
|
13005
|
-
"bannerMetaAlign": "right",
|
|
13006
|
-
"navigationArrows": "visible",
|
|
13007
|
-
"borderRadius": "12px",
|
|
13008
|
-
"customHeight": "334px",
|
|
13009
|
-
"arrowsPlacement": "",
|
|
13010
|
-
"imageBorderWidth": 3,
|
|
13011
|
-
"imageBorderColor": "#FFFFFF",
|
|
13012
|
-
"imageBorderStyle": "solid",
|
|
13013
|
-
"responsive": {
|
|
13014
|
-
"bannerMetaClass": "inline-meta",
|
|
13015
|
-
"customHeight": "232px",
|
|
13016
|
-
"bannerMetaAlign": "center",
|
|
13017
|
-
"navigationArrows": "visible",
|
|
13018
|
-
"dots": "hidden",
|
|
13019
|
-
"arrowsPlacement": "middle-inline"
|
|
13020
|
-
}
|
|
13021
|
-
},
|
|
13022
|
-
"sliders": [
|
|
13023
|
-
{
|
|
13024
|
-
"active": true,
|
|
13025
|
-
"banners": {
|
|
13026
|
-
"l": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381273661_Maharashtra SLW 1.jpeg",
|
|
13027
|
-
"m": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381273661_Maharashtra SLW 1.jpeg",
|
|
13028
|
-
"s": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381273661_Maharashtra SLW 1.jpeg",
|
|
13029
|
-
"xl": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381273661_Maharashtra SLW 1.jpeg",
|
|
13030
|
-
"xs": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381273661_Maharashtra SLW 1.jpeg",
|
|
13031
|
-
"xxl": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381273661_Maharashtra SLW 1.jpeg"
|
|
13032
|
-
},
|
|
13033
|
-
"redirectUrl": "",
|
|
13034
|
-
"queryParams": {},
|
|
13035
|
-
"title": ""
|
|
13036
|
-
},
|
|
13037
|
-
{
|
|
13038
|
-
"active": true,
|
|
13039
|
-
"banners": {
|
|
13040
|
-
"l": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381330450_Maharashtra SLW 4.jpeg",
|
|
13041
|
-
"m": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381330450_Maharashtra SLW 4.jpeg",
|
|
13042
|
-
"s": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381330450_Maharashtra SLW 4.jpeg",
|
|
13043
|
-
"xl": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381330450_Maharashtra SLW 4.jpeg",
|
|
13044
|
-
"xs": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381330450_Maharashtra SLW 4.jpeg",
|
|
13045
|
-
"xxl": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745381330450_Maharashtra SLW 4.jpeg"
|
|
13046
|
-
},
|
|
13047
|
-
"redirectUrl": "",
|
|
13048
|
-
"queryParams": {},
|
|
13049
|
-
"title": ""
|
|
13050
|
-
}
|
|
13051
|
-
]
|
|
13052
|
-
},
|
|
13053
|
-
"metrics": {
|
|
13054
|
-
"background": "#1B4CA1",
|
|
13055
|
-
"data": [
|
|
13056
|
-
{
|
|
13057
|
-
"icon": "https://portal.karmayogi.nic.in/content-store/content/do_114061821837287424110/artifact/do_114061821837287424110_1716531049564_network.svg",
|
|
13058
|
-
"iconColor": "#FFFFFF",
|
|
13059
|
-
"value": "9876",
|
|
13060
|
-
"valueColor": "#FFFFFF",
|
|
13061
|
-
"label": "Total Users",
|
|
13062
|
-
"labelColor": "#FFFFFF",
|
|
13063
|
-
"linebreak": false,
|
|
13064
|
-
"background": "#1B4CA1"
|
|
13065
|
-
},
|
|
13066
|
-
{
|
|
13067
|
-
"icon": "https://portal.karmayogiqa.nic.in/content-store/orgStore/0135071359030722569/1715676445834_badges.svg",
|
|
13068
|
-
"iconColor": "#FFFFFF",
|
|
13069
|
-
"value": "2678",
|
|
13070
|
-
"valueColor": "#FFFFFF",
|
|
13071
|
-
"label": "Certificates",
|
|
13072
|
-
"labelColor": "#FFFFFF",
|
|
13073
|
-
"linebreak": false,
|
|
13074
|
-
"background": "#1B4CA1"
|
|
13075
|
-
},
|
|
13076
|
-
{
|
|
13077
|
-
"icon": "https://portal.karmayogi.nic.in/content-store/content/do_114061824512778240111/artifact/do_114061824512778240111_1716531357219_knowledge-resources.svg",
|
|
13078
|
-
"iconColor": "#FFFFFF",
|
|
13079
|
-
"value": "9867",
|
|
13080
|
-
"valueColor": "#FFFFFF",
|
|
13081
|
-
"label": "Enrolments",
|
|
13082
|
-
"labelColor": "#FFFFFF",
|
|
13083
|
-
"linebreak": false,
|
|
13084
|
-
"background": "#1B4CA1"
|
|
13085
|
-
},
|
|
13086
|
-
{
|
|
13087
|
-
"icon": "https://portal.karmayogi.nic.in/content-store/content/do_114061847565107200114/artifact/do_114061847565107200114_1716534165064_program1.svg",
|
|
13088
|
-
"iconColor": "#FFFFFF",
|
|
13089
|
-
"value": "12",
|
|
13090
|
-
"valueColor": "#FFFFFF",
|
|
13091
|
-
"label": "Content Published",
|
|
13092
|
-
"labelColor": "#FFFFFF",
|
|
13093
|
-
"linebreak": false,
|
|
13094
|
-
"background": "#1B4CA1"
|
|
13095
|
-
},
|
|
13096
|
-
{
|
|
13097
|
-
"icon": "https://portal.karmayogi.nic.in/content-store/content/do_114061826604261376113/artifact/do_114061826604261376113_1716531614554_percent.svg",
|
|
13098
|
-
"iconColor": "#FFFFFF",
|
|
13099
|
-
"value": "40",
|
|
13100
|
-
"valueColor": "#FFFFFF",
|
|
13101
|
-
"label": "24hr Login",
|
|
13102
|
-
"labelColor": "#FFFFFF",
|
|
13103
|
-
"linebreak": false,
|
|
13104
|
-
"background": "#1B4CA1"
|
|
13105
|
-
}
|
|
13106
|
-
]
|
|
13107
|
-
}
|
|
13108
|
-
}
|
|
13109
|
-
}
|
|
13110
|
-
]
|
|
13111
|
-
},
|
|
13112
|
-
{
|
|
13113
|
-
"active": true,
|
|
13114
|
-
"enabled": true,
|
|
13115
|
-
"title": "",
|
|
13116
|
-
"key": "sectionLookerpro",
|
|
13117
|
-
"order": 4,
|
|
13118
|
-
"column": [
|
|
13119
|
-
{
|
|
13120
|
-
"active": true,
|
|
13121
|
-
"enabled": true,
|
|
13122
|
-
"key": "lookerSection",
|
|
13123
|
-
"title": "",
|
|
13124
|
-
"colspan": 12,
|
|
13125
|
-
"background": "banner",
|
|
13126
|
-
"data": {
|
|
13127
|
-
"header": {
|
|
13128
|
-
"headerText": "Performance Dashboard",
|
|
13129
|
-
"description": "View MDO performance based on their learning activities for the week, with real-time insights into progress, engagement, and development across various MDOs."
|
|
13130
|
-
},
|
|
13131
|
-
"disableDynamicHeight": false,
|
|
13132
|
-
"mobileHeight": "500px",
|
|
13133
|
-
"desktopHeight": "280px",
|
|
13134
|
-
"lookerProDesktopUrl": "https://lookerstudio.google.com/embed/reporting/17028145-cdd5-459d-bb13-b3de2ef62aee/page/fyd9D",
|
|
13135
|
-
"lookerProMobileUrl": "https://lookerstudio.google.com/embed/reporting/17028145-cdd5-459d-bb13-b3de2ef62aee/page/fyd9D"
|
|
13136
|
-
}
|
|
13137
|
-
}
|
|
13138
|
-
]
|
|
13139
|
-
},
|
|
13140
|
-
{
|
|
13141
|
-
"active": false,
|
|
13142
|
-
"enabled": false,
|
|
13143
|
-
"title": "",
|
|
13144
|
-
"key": "sectionTopLearners",
|
|
13145
|
-
"order": 2,
|
|
13146
|
-
"column": [
|
|
13147
|
-
{
|
|
13148
|
-
"active": true,
|
|
13149
|
-
"enabled": true,
|
|
13150
|
-
"key": "topLearners",
|
|
13151
|
-
"title": "Top 10 Learners",
|
|
13152
|
-
"colspan": 12,
|
|
13153
|
-
"background": "",
|
|
13154
|
-
"data": {
|
|
13155
|
-
"title": "Top 10 Learners",
|
|
13156
|
-
"enableMonth": false,
|
|
13157
|
-
"titleFontColor": "#000000",
|
|
13158
|
-
"kpIcon": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1728035311295_karma-badge.svg",
|
|
13159
|
-
"learners": [],
|
|
13160
|
-
"customClass": "min-h-20",
|
|
13161
|
-
"cardHeight": "64px",
|
|
13162
|
-
"carMinHeight": "100px",
|
|
13163
|
-
"hideEle": [
|
|
13164
|
-
"karma-points"
|
|
13165
|
-
]
|
|
13166
|
-
}
|
|
13167
|
-
}
|
|
13168
|
-
]
|
|
13169
|
-
},
|
|
13170
|
-
{
|
|
13171
|
-
"active": true,
|
|
13172
|
-
"enabled": true,
|
|
13173
|
-
"title": "",
|
|
13174
|
-
"key": "sectionMain",
|
|
13175
|
-
"order": 3,
|
|
13176
|
-
"wrapperClass": "",
|
|
13177
|
-
"column": [
|
|
13178
|
-
{
|
|
13179
|
-
"active": true,
|
|
13180
|
-
"enabled": true,
|
|
13181
|
-
"key": "mainContent",
|
|
13182
|
-
"title": "",
|
|
13183
|
-
"colspan": 12,
|
|
13184
|
-
"background": "",
|
|
13185
|
-
"data": {
|
|
13186
|
-
"tabSection": {
|
|
13187
|
-
"colspan": 8,
|
|
13188
|
-
"disable": true,
|
|
13189
|
-
"contentTab": [
|
|
13190
|
-
{
|
|
13191
|
-
"active": false,
|
|
13192
|
-
"enabled": false,
|
|
13193
|
-
"title": "Certifications of the Week",
|
|
13194
|
-
"navigation": true,
|
|
13195
|
-
"key": "sectionCertificationsOfWeeks",
|
|
13196
|
-
"order": 3,
|
|
13197
|
-
"navOrder": 1,
|
|
13198
|
-
"column": [
|
|
13199
|
-
{
|
|
13200
|
-
"active": true,
|
|
13201
|
-
"enabled": true,
|
|
13202
|
-
"key": "contentcertificationsOfWeekStrip",
|
|
13203
|
-
"title": "Recommended Courses",
|
|
13204
|
-
"data": {
|
|
13205
|
-
"sectionImagePosition": "img-left",
|
|
13206
|
-
"sectionImage": "assets/icons/microsite/left_arrow.svg",
|
|
13207
|
-
"order": 4,
|
|
13208
|
-
"strips": [
|
|
13209
|
-
{
|
|
13210
|
-
"active": true,
|
|
13211
|
-
"key": "certificationsOfWeek",
|
|
13212
|
-
"logo": "school",
|
|
13213
|
-
"title": "Certifications of the Week",
|
|
13214
|
-
"stripTitleLink": {
|
|
13215
|
-
"link": "",
|
|
13216
|
-
"icon": ""
|
|
13217
|
-
},
|
|
13218
|
-
"customeClass": "min-width-763",
|
|
13219
|
-
"sliderConfig": {
|
|
13220
|
-
"showNavs": true,
|
|
13221
|
-
"showDots": true,
|
|
13222
|
-
"maxWidgets": 12,
|
|
13223
|
-
"showNavsSpacing": true,
|
|
13224
|
-
"cerificateCardMargin": true
|
|
13225
|
-
},
|
|
13226
|
-
"loader": true,
|
|
13227
|
-
"stripBackground": "",
|
|
13228
|
-
"titleDescription": "Certifications of the Week",
|
|
13229
|
-
"stripConfig": {
|
|
13230
|
-
"cardSubType": "card-wide-v2"
|
|
13231
|
-
},
|
|
13232
|
-
"loaderConfig": {
|
|
13233
|
-
"cardSubType": "card-wide-v2-skelton"
|
|
13234
|
-
},
|
|
13235
|
-
"viewMoreUrl": {
|
|
13236
|
-
"path": "/app/seeAll",
|
|
13237
|
-
"viewMoreText": "Show all",
|
|
13238
|
-
"queryParams": {
|
|
13239
|
-
"key": "certificationsOfWeek"
|
|
13240
|
-
},
|
|
13241
|
-
"loaderConfig": {
|
|
13242
|
-
"cardSubType": "card-portrait-click-skeleton"
|
|
13243
|
-
},
|
|
13244
|
-
"stripConfig": {
|
|
13245
|
-
"cardSubType": "card-portrait-click"
|
|
13246
|
-
}
|
|
13247
|
-
},
|
|
13248
|
-
"tabs": [],
|
|
13249
|
-
"filters": [],
|
|
13250
|
-
"request": {
|
|
13251
|
-
"trendingSearch": {
|
|
13252
|
-
"request": {
|
|
13253
|
-
"filters": {
|
|
13254
|
-
"contextType": [
|
|
13255
|
-
"certifications"
|
|
13256
|
-
],
|
|
13257
|
-
"organisation": "<orgID>"
|
|
13258
|
-
},
|
|
13259
|
-
"limit": 5
|
|
13260
|
-
},
|
|
13261
|
-
"responseKey": "certifications"
|
|
13262
|
-
}
|
|
13263
|
-
}
|
|
13264
|
-
}
|
|
13265
|
-
]
|
|
13266
|
-
}
|
|
13267
|
-
}
|
|
13268
|
-
]
|
|
13269
|
-
},
|
|
13270
|
-
{
|
|
13271
|
-
"active": false,
|
|
13272
|
-
"enabled": false,
|
|
13273
|
-
"title": "Trending",
|
|
13274
|
-
"navigation": true,
|
|
13275
|
-
"key": "sectionRecommendedProgram",
|
|
13276
|
-
"order": 3,
|
|
13277
|
-
"navOrder": 1,
|
|
13278
|
-
"column": [
|
|
13279
|
-
{
|
|
13280
|
-
"active": true,
|
|
13281
|
-
"enabled": true,
|
|
13282
|
-
"key": "contentRecommendedProgramStrip",
|
|
13283
|
-
"title": "Popular courses",
|
|
13284
|
-
"data": {
|
|
13285
|
-
"sectionImagePosition": "img-left",
|
|
13286
|
-
"sectionImage": "assets/icons/microsite/left_arrow.svg",
|
|
13287
|
-
"order": 4,
|
|
13288
|
-
"strips": [
|
|
13289
|
-
{
|
|
13290
|
-
"active": true,
|
|
13291
|
-
"customeClass": "width-238",
|
|
13292
|
-
"key": "recommendedProgram",
|
|
13293
|
-
"logo": "school",
|
|
13294
|
-
"disableTranslate": true,
|
|
13295
|
-
"title": "Trending",
|
|
13296
|
-
"stripTitleLink": {
|
|
13297
|
-
"link": "",
|
|
13298
|
-
"icon": ""
|
|
13299
|
-
},
|
|
13300
|
-
"sliderConfig": {
|
|
13301
|
-
"showNavs": true,
|
|
13302
|
-
"showDots": true,
|
|
13303
|
-
"maxWidgets": 12,
|
|
13304
|
-
"showNavsSpacing": true
|
|
13305
|
-
},
|
|
13306
|
-
"stripBackground": "",
|
|
13307
|
-
"titleDescription": "Recently Added",
|
|
13308
|
-
"stripConfig": {
|
|
13309
|
-
"cardSubType": "card-portrait-lib"
|
|
13310
|
-
},
|
|
13311
|
-
"viewMoreUrl": {
|
|
13312
|
-
"path": "/app/seeAll",
|
|
13313
|
-
"viewMoreText": "Show all",
|
|
13314
|
-
"queryParams": {
|
|
13315
|
-
"key": "recentlyAdded"
|
|
13316
|
-
},
|
|
13317
|
-
"loaderConfig": {
|
|
13318
|
-
"cardSubType": "card-portrait-lib-skeleton"
|
|
13319
|
-
},
|
|
13320
|
-
"stripConfig": {
|
|
13321
|
-
"cardSubType": "card-portrait-lib"
|
|
13322
|
-
}
|
|
13323
|
-
},
|
|
13324
|
-
"loader": true,
|
|
13325
|
-
"loaderConfig": {
|
|
13326
|
-
"cardSubType": "card-portrait-lib-skeleton"
|
|
13327
|
-
},
|
|
13328
|
-
"tabsType": "pills-tab",
|
|
13329
|
-
"tabs": [
|
|
13330
|
-
{
|
|
13331
|
-
"label": "Courses",
|
|
13332
|
-
"value": "course",
|
|
13333
|
-
"computeDataOnClick": false,
|
|
13334
|
-
"computeDataOnClickKey": "",
|
|
13335
|
-
"requestRequired": true,
|
|
13336
|
-
"showTabDataCount": false,
|
|
13337
|
-
"maxWidgets": 12,
|
|
13338
|
-
"nodataMsg": "nocontent",
|
|
13339
|
-
"request": {
|
|
13340
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13341
|
-
"playlistRead": {
|
|
13342
|
-
"type": "MDO_RECOMMENDED_COURSES"
|
|
13343
|
-
}
|
|
13344
|
-
}
|
|
13345
|
-
},
|
|
13346
|
-
{
|
|
13347
|
-
"label": "Programs",
|
|
13348
|
-
"value": "program",
|
|
13349
|
-
"computeDataOnClick": false,
|
|
13350
|
-
"computeDataOnClickKey": "",
|
|
13351
|
-
"requestRequired": true,
|
|
13352
|
-
"showTabDataCount": false,
|
|
13353
|
-
"maxWidgets": 12,
|
|
13354
|
-
"nodataMsg": "nocontent",
|
|
13355
|
-
"request": {
|
|
13356
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13357
|
-
"playlistRead": {
|
|
13358
|
-
"type": "MDO_RECOMMENDED_PROGRAMS"
|
|
13359
|
-
}
|
|
13360
|
-
}
|
|
13361
|
-
}
|
|
13362
|
-
],
|
|
13363
|
-
"filters": [],
|
|
13364
|
-
"request": {
|
|
13365
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13366
|
-
"playlistRead": {
|
|
13367
|
-
"type": "MDO_RECOMMENDED_PROGRAMS"
|
|
13368
|
-
}
|
|
13369
|
-
}
|
|
13370
|
-
}
|
|
13371
|
-
]
|
|
13372
|
-
}
|
|
13373
|
-
}
|
|
13374
|
-
]
|
|
13375
|
-
},
|
|
13376
|
-
{
|
|
13377
|
-
"active": false,
|
|
13378
|
-
"enabled": false,
|
|
13379
|
-
"title": "Featured",
|
|
13380
|
-
"navigation": true,
|
|
13381
|
-
"key": "sectionFeatureCourses",
|
|
13382
|
-
"order": 3,
|
|
13383
|
-
"navOrder": 1,
|
|
13384
|
-
"column": [
|
|
13385
|
-
{
|
|
13386
|
-
"active": true,
|
|
13387
|
-
"enabled": true,
|
|
13388
|
-
"key": "contentFeaturedStrip",
|
|
13389
|
-
"title": "Featured",
|
|
13390
|
-
"data": {
|
|
13391
|
-
"sectionImagePosition": "img-left",
|
|
13392
|
-
"sectionImage": "assets/icons/microsite/left_arrow.svg",
|
|
13393
|
-
"order": 4,
|
|
13394
|
-
"strips": [
|
|
13395
|
-
{
|
|
13396
|
-
"active": true,
|
|
13397
|
-
"customeClass": "width-238",
|
|
13398
|
-
"key": "featuredCourses",
|
|
13399
|
-
"logo": "school",
|
|
13400
|
-
"disableTranslate": true,
|
|
13401
|
-
"title": "Featured",
|
|
13402
|
-
"stripTitleLink": {
|
|
13403
|
-
"link": "",
|
|
13404
|
-
"icon": ""
|
|
13405
|
-
},
|
|
13406
|
-
"sliderConfig": {
|
|
13407
|
-
"showNavs": true,
|
|
13408
|
-
"showDots": true,
|
|
13409
|
-
"maxWidgets": 12,
|
|
13410
|
-
"showNavsSpacing": true
|
|
13411
|
-
},
|
|
13412
|
-
"stripBackground": "",
|
|
13413
|
-
"titleDescription": "Recently Added",
|
|
13414
|
-
"stripConfig": {
|
|
13415
|
-
"cardSubType": "card-portrait-lib"
|
|
13416
|
-
},
|
|
13417
|
-
"viewMoreUrl": {
|
|
13418
|
-
"path": "/app/seeAll",
|
|
13419
|
-
"viewMoreText": "Show all",
|
|
13420
|
-
"queryParams": {
|
|
13421
|
-
"key": "recentlyAdded"
|
|
13422
|
-
},
|
|
13423
|
-
"loaderConfig": {
|
|
13424
|
-
"cardSubType": "card-portrait-lib-skeleton"
|
|
13425
|
-
},
|
|
13426
|
-
"stripConfig": {
|
|
13427
|
-
"cardSubType": "card-portrait-lib"
|
|
13428
|
-
}
|
|
13429
|
-
},
|
|
13430
|
-
"loader": true,
|
|
13431
|
-
"loaderConfig": {
|
|
13432
|
-
"cardSubType": "card-portrait-lib-skeleton"
|
|
13433
|
-
},
|
|
13434
|
-
"tabsType": "pills-tab",
|
|
13435
|
-
"tabs": [
|
|
13436
|
-
{
|
|
13437
|
-
"label": "Courses",
|
|
13438
|
-
"value": "course",
|
|
13439
|
-
"computeDataOnClick": false,
|
|
13440
|
-
"computeDataOnClickKey": "",
|
|
13441
|
-
"requestRequired": true,
|
|
13442
|
-
"showTabDataCount": false,
|
|
13443
|
-
"maxWidgets": 12,
|
|
13444
|
-
"nodataMsg": "nocontent",
|
|
13445
|
-
"request": {
|
|
13446
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13447
|
-
"playlistRead": {
|
|
13448
|
-
"type": "MDO_FEATURED_COURSES"
|
|
13449
|
-
}
|
|
13450
|
-
}
|
|
13451
|
-
},
|
|
13452
|
-
{
|
|
13453
|
-
"label": "Programs",
|
|
13454
|
-
"value": "program",
|
|
13455
|
-
"computeDataOnClick": false,
|
|
13456
|
-
"computeDataOnClickKey": "",
|
|
13457
|
-
"requestRequired": true,
|
|
13458
|
-
"showTabDataCount": false,
|
|
13459
|
-
"maxWidgets": 12,
|
|
13460
|
-
"nodataMsg": "nocontent",
|
|
13461
|
-
"request": {
|
|
13462
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13463
|
-
"playlistRead": {
|
|
13464
|
-
"type": "MDO_FEATURED_PROGRAMS"
|
|
13465
|
-
}
|
|
13466
|
-
}
|
|
13467
|
-
}
|
|
13468
|
-
],
|
|
13469
|
-
"filters": [],
|
|
13470
|
-
"request": {
|
|
13471
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13472
|
-
"playlistRead": {
|
|
13473
|
-
"type": "MDO_FEATURED_COURSES"
|
|
13474
|
-
}
|
|
13475
|
-
}
|
|
13476
|
-
}
|
|
13477
|
-
]
|
|
13478
|
-
}
|
|
13479
|
-
}
|
|
13480
|
-
]
|
|
13481
|
-
}
|
|
13482
|
-
],
|
|
13483
|
-
"coreAreasTab": [
|
|
13484
|
-
{
|
|
13485
|
-
"active": false,
|
|
13486
|
-
"enabled": false,
|
|
13487
|
-
"title": "Core Expertise",
|
|
13488
|
-
"navigation": true,
|
|
13489
|
-
"key": "sectionCompetency",
|
|
13490
|
-
"order": 5,
|
|
13491
|
-
"navOrder": 3,
|
|
13492
|
-
"column": [
|
|
13493
|
-
{
|
|
13494
|
-
"active": true,
|
|
13495
|
-
"enabled": true,
|
|
13496
|
-
"key": "competency",
|
|
13497
|
-
"title": "",
|
|
13498
|
-
"colspan": 12,
|
|
13499
|
-
"background": "",
|
|
13500
|
-
"data": []
|
|
13501
|
-
}
|
|
13502
|
-
]
|
|
13503
|
-
}
|
|
13504
|
-
],
|
|
13505
|
-
"tabs": [
|
|
13506
|
-
{
|
|
13507
|
-
"name": "content"
|
|
13508
|
-
},
|
|
13509
|
-
{
|
|
13510
|
-
"name": "Core Areas"
|
|
13511
|
-
}
|
|
13512
|
-
]
|
|
13513
|
-
},
|
|
13514
|
-
"announcementSection": {
|
|
13515
|
-
"disable": true,
|
|
13516
|
-
"colspan": 4,
|
|
13517
|
-
"data": {
|
|
13518
|
-
"title": "Key Announcements",
|
|
13519
|
-
"logoUrl": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1728035426855_key-announcements1.svg",
|
|
13520
|
-
"mobileIcon": "https://portal.karmayogi.nic.in/content-store/content/do_114061893940887552115/artifact/do_114061893940887552115_1716539807520_campaign_black.svg",
|
|
13521
|
-
"header": {
|
|
13522
|
-
"background": "#1B4CA1",
|
|
13523
|
-
"color": "#FFFFFF"
|
|
13524
|
-
},
|
|
13525
|
-
"panelborder": "#1B4CA1",
|
|
13526
|
-
"panelBackground": "#FFFFFF",
|
|
13527
|
-
"listItem": {
|
|
13528
|
-
"border": "#F3962F",
|
|
13529
|
-
"background": "#FCEEDB"
|
|
13530
|
-
},
|
|
13531
|
-
"ViewMoreColor": "#1B4CA1",
|
|
13532
|
-
"pageSize": 15,
|
|
13533
|
-
"list": [
|
|
13534
|
-
{
|
|
13535
|
-
"value": "Hon. Chief Minister of Gujarat will launch MDO Channel of SPIPA on IGoT Karmayogi Portal on occasion of Good Governance Day.",
|
|
13536
|
-
"expanded": false
|
|
13537
|
-
},
|
|
13538
|
-
{
|
|
13539
|
-
"value": "Hon. Chief Minister of Gujarat will launch MDO Channel of SPIPA on IGoT Karmayogi Portal on occasion of Good Governance Day.",
|
|
13540
|
-
"expanded": false
|
|
13541
|
-
}
|
|
13542
|
-
]
|
|
13543
|
-
}
|
|
13544
|
-
},
|
|
13545
|
-
"stateLearningWeekSection": {
|
|
13546
|
-
"lookerSection": {
|
|
13547
|
-
"active": true,
|
|
13548
|
-
"enabled": true,
|
|
13549
|
-
"key": "lookerSection",
|
|
13550
|
-
"title": "",
|
|
13551
|
-
"colspan": 12,
|
|
13552
|
-
"background": "banner",
|
|
13553
|
-
"data": {
|
|
13554
|
-
"header": {
|
|
13555
|
-
"headerText": "Performance Dashboard",
|
|
13556
|
-
"description": "View MDO performance based on their learning activities for the week, with real-time insights into progress, engagement, and development across various MDOs."
|
|
13557
|
-
},
|
|
13558
|
-
"lookerProDesktopUrl": "https://lookerstudio.google.com/embed/reporting/17028145-cdd5-459d-bb13-b3de2ef62aee/page/fyd9D",
|
|
13559
|
-
"lookerProMobileUrl": "https://lookerstudio.google.com/embed/reporting/17028145-cdd5-459d-bb13-b3de2ef62aee/page/fyd9D"
|
|
13560
|
-
}
|
|
13561
|
-
},
|
|
13562
|
-
"keyHighlights": {
|
|
13563
|
-
"enabled": true,
|
|
13564
|
-
"backgroundColor": "#FFFFFF",
|
|
13565
|
-
"titleMaxLength": 200,
|
|
13566
|
-
"content": [
|
|
13567
|
-
{
|
|
13568
|
-
"title": "Enroll in the courses and contribute to your continuous learning journey and growth"
|
|
13569
|
-
},
|
|
13570
|
-
{
|
|
13571
|
-
"title": "Be a learning champion - complete courses and inspire your peers on iGOT!"
|
|
13572
|
-
}
|
|
13573
|
-
],
|
|
13574
|
-
"sliderData": {
|
|
13575
|
-
"styleData": {
|
|
13576
|
-
"borderRadius": "0",
|
|
13577
|
-
"customHeight": "100px",
|
|
13578
|
-
"bannerMeta": "visible",
|
|
13579
|
-
"dots": "hidden",
|
|
13580
|
-
"arrowsPlacement": "middle-inline",
|
|
13581
|
-
"responsive": {
|
|
13582
|
-
"customHeight": "80px",
|
|
13583
|
-
"bannerMetaAlign": "left",
|
|
13584
|
-
"navigationArrows": "visible",
|
|
13585
|
-
"dots": "hidden",
|
|
13586
|
-
"arrowsPlacement": "middle-inline"
|
|
13587
|
-
}
|
|
13588
|
-
}
|
|
13589
|
-
}
|
|
13590
|
-
},
|
|
13591
|
-
"speakerOftheDay": {
|
|
13592
|
-
"enabled": false,
|
|
13593
|
-
"data": {
|
|
13594
|
-
"title": "Speaker of the day",
|
|
13595
|
-
"infoText": "Join insightful webinars and masterclasses hosted by prominent speakers and thought leaders.",
|
|
13596
|
-
"infoIcon": "https://portal.dev.karmayogibharat.net/content-store/orgStore/0135071359030722569/1726652230008_info_icon.svg",
|
|
13597
|
-
"sliderData": {
|
|
13598
|
-
"styleData": {
|
|
13599
|
-
"borderRadius": "12px",
|
|
13600
|
-
"customHeight": "",
|
|
13601
|
-
"bannerMeta": "visible",
|
|
13602
|
-
"bannerMetaClass": "cbp-card-1",
|
|
13603
|
-
"responsive": {
|
|
13604
|
-
"bannerMetaClass": "cbp-card-1"
|
|
13605
|
-
}
|
|
13606
|
-
}
|
|
13607
|
-
},
|
|
13608
|
-
"list": [
|
|
13609
|
-
{
|
|
13610
|
-
"title": "Ms Arushi Malhotra",
|
|
13611
|
-
"description": "Beyond the Desk: Using Behavioral Science to Improve Workplace Well-Being",
|
|
13612
|
-
"profileImage": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1742617698083_IMG_9084.jpg",
|
|
13613
|
-
"identifier": "do_1142743067745812481229"
|
|
13614
|
-
},
|
|
13615
|
-
{
|
|
13616
|
-
"title": "Prof Bimlesh Kumar Singh",
|
|
13617
|
-
"description": "Maintenance of Transformers",
|
|
13618
|
-
"profileImage": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1742617868268_Bimlesh.jpg",
|
|
13619
|
-
"identifier": "do_1142743211854888961161"
|
|
13620
|
-
},
|
|
13621
|
-
{
|
|
13622
|
-
"title": "Prof. Dr. Sanjukkta Bhaduril",
|
|
13623
|
-
"description": "Resilient tourism infrastructure for Rajasthan Islands",
|
|
13624
|
-
"profileImage": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1742618016728_Dr. Sanjukkta.jpeg",
|
|
13625
|
-
"identifier": "do_1142743114401218561137"
|
|
13626
|
-
}
|
|
13627
|
-
]
|
|
13628
|
-
}
|
|
13629
|
-
},
|
|
13630
|
-
"weekHighlights": {
|
|
13631
|
-
"enabled": true,
|
|
13632
|
-
"data": {
|
|
13633
|
-
"title": "Highlights of the week",
|
|
13634
|
-
"sliderData": {
|
|
13635
|
-
"styleData": {
|
|
13636
|
-
"borderRadius": "12px",
|
|
13637
|
-
"customHeight": "",
|
|
13638
|
-
"bannerMetaClass": "cbp-card",
|
|
13639
|
-
"responsive": {
|
|
13640
|
-
"bannerMetaClass": "cbp-card"
|
|
13641
|
-
}
|
|
13642
|
-
}
|
|
13643
|
-
},
|
|
13644
|
-
"list": [
|
|
13645
|
-
{
|
|
13646
|
-
"title": "Get ready for Maharashtra Tech Learning Week",
|
|
13647
|
-
"description": "Tech-Wari, Maharashtra’s Tech Learning Week, blends technology, tradition & transformation—empowering government employees for citizen-first governance through future-ready digital learning.",
|
|
13648
|
-
"videoUrl": "https://portal.igotkarmayogi.gov.in/content-store/orgStore/0133783095823810560/1745394867601_IMG_8833.MP4"
|
|
13649
|
-
}
|
|
13650
|
-
]
|
|
13651
|
-
}
|
|
13652
|
-
},
|
|
13653
|
-
"myprogress": {
|
|
13654
|
-
"enabled": true,
|
|
13655
|
-
"data": {
|
|
13656
|
-
"title": "Your week's progress",
|
|
13657
|
-
"infoText": "During Rajya Karmayogi Saptah, stay informed about your learning journey. Monitor your Learning Hours, and earn Certificates.",
|
|
13658
|
-
"infoIcon": "https://portal.dev.karmayogibharat.net/content-store/orgStore/0135071359030722569/1726652230008_info_icon.svg",
|
|
13659
|
-
"profleDetails": {},
|
|
13660
|
-
"hideEle": [
|
|
13661
|
-
"karma-points"
|
|
13662
|
-
],
|
|
13663
|
-
"insights": {
|
|
13664
|
-
"data": {
|
|
13665
|
-
"sliderData": {
|
|
13666
|
-
"styleData": {
|
|
13667
|
-
"borderRadius": "12px",
|
|
13668
|
-
"customHeight": "83px",
|
|
13669
|
-
"bannerMeta": "visible",
|
|
13670
|
-
"bannerMetaClass": "cbp-card",
|
|
13671
|
-
"responsive": {
|
|
13672
|
-
"bannerMetaClass": "cbp-card",
|
|
13673
|
-
"customHeight": "83px"
|
|
13674
|
-
}
|
|
13675
|
-
}
|
|
13676
|
-
}
|
|
13677
|
-
}
|
|
13678
|
-
}
|
|
13679
|
-
}
|
|
13680
|
-
},
|
|
13681
|
-
"mdoLeaderboard": {
|
|
13682
|
-
"enabled": true,
|
|
13683
|
-
"data": {
|
|
13684
|
-
"title": "Leaderboard",
|
|
13685
|
-
"infoText": "Celebrate top performers! The leaderboard showcases the Departments and Organizations based on total learning hours earned during State Learning Week.",
|
|
13686
|
-
"infoIcon": "https://portal.dev.karmayogibharat.net/content-store/orgStore/0135071359030722569/1726652230008_info_icon.svg",
|
|
13687
|
-
"currentTab": "S",
|
|
13688
|
-
"customClass": "",
|
|
13689
|
-
"cardHeight": "",
|
|
13690
|
-
"carMinHeight": "",
|
|
13691
|
-
"searchHint": "Search Departments",
|
|
13692
|
-
"hideEle": [
|
|
13693
|
-
"karma-points"
|
|
13694
|
-
],
|
|
13695
|
-
"options": [
|
|
13696
|
-
{
|
|
13697
|
-
"label": "1 - 500",
|
|
13698
|
-
"value": "XS"
|
|
13699
|
-
},
|
|
13700
|
-
{
|
|
13701
|
-
"label": "501 - 1000",
|
|
13702
|
-
"value": "S"
|
|
13703
|
-
},
|
|
13704
|
-
{
|
|
13705
|
-
"label": "1001 - 5000",
|
|
13706
|
-
"value": "M"
|
|
13707
|
-
},
|
|
13708
|
-
{
|
|
13709
|
-
"label": "5001 and 20000",
|
|
13710
|
-
"value": "L"
|
|
13711
|
-
},
|
|
13712
|
-
{
|
|
13713
|
-
"label": "20001 and adove",
|
|
13714
|
-
"value": "XL"
|
|
13715
|
-
}
|
|
13716
|
-
]
|
|
13717
|
-
}
|
|
13718
|
-
},
|
|
13719
|
-
"mandatoryCourse": {
|
|
13720
|
-
"enabled": true,
|
|
13721
|
-
"navigation": true,
|
|
13722
|
-
"key": "sectionMandatoryCourses",
|
|
13723
|
-
"order": 3,
|
|
13724
|
-
"navOrder": 1,
|
|
13725
|
-
"column": [
|
|
13726
|
-
{
|
|
13727
|
-
"active": true,
|
|
13728
|
-
"enabled": true,
|
|
13729
|
-
"key": "contentMandatoryCoursesStrip",
|
|
13730
|
-
"data": {
|
|
13731
|
-
"order": 4,
|
|
13732
|
-
"strips": [
|
|
13733
|
-
{
|
|
13734
|
-
"active": true,
|
|
13735
|
-
"title": "Recommended Courses for Maharashtra Tech Learning Week",
|
|
13736
|
-
"titleClass": "mat-title",
|
|
13737
|
-
"customeClass": "width-238",
|
|
13738
|
-
"key": "Recommended Courses for Maharashtra Tech Learning Week",
|
|
13739
|
-
"logo": "school",
|
|
13740
|
-
"disableTranslate": true,
|
|
13741
|
-
"stripTitleLink": {
|
|
13742
|
-
"link": "",
|
|
13743
|
-
"icon": ""
|
|
13744
|
-
},
|
|
13745
|
-
"sliderConfig": {
|
|
13746
|
-
"showNavs": true,
|
|
13747
|
-
"showDots": true,
|
|
13748
|
-
"maxWidgets": 18,
|
|
13749
|
-
"showNavsSpacing": true
|
|
13750
|
-
},
|
|
13751
|
-
"stripBackground": "",
|
|
13752
|
-
"titleDescription": "Recommended Courses for Rajasthan state learning week",
|
|
13753
|
-
"stripConfig": {
|
|
13754
|
-
"cardSubType": "card-portrait-lib"
|
|
13755
|
-
},
|
|
13756
|
-
"loader": true,
|
|
13757
|
-
"loaderConfig": {
|
|
13758
|
-
"cardSubType": "card-portrait-lib-skeleton"
|
|
13759
|
-
},
|
|
13760
|
-
"filters": [],
|
|
13761
|
-
"request": {
|
|
13762
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13763
|
-
"playlistRead": {
|
|
13764
|
-
"type": "Mdo_RECOMMENDED_COURSES_MAHARASHTRA"
|
|
13765
|
-
}
|
|
13766
|
-
}
|
|
13767
|
-
}
|
|
13768
|
-
]
|
|
13769
|
-
}
|
|
13770
|
-
}
|
|
13771
|
-
]
|
|
13772
|
-
},
|
|
13773
|
-
"exploreLearningContent": {
|
|
13774
|
-
"enabled": true,
|
|
13775
|
-
"strips": [
|
|
13776
|
-
{
|
|
13777
|
-
"active": true,
|
|
13778
|
-
"key": "featuredContents",
|
|
13779
|
-
"logo": "school",
|
|
13780
|
-
"title": "Explore Learning Contents",
|
|
13781
|
-
"titleClass": "mat-title",
|
|
13782
|
-
"type": "learningContent",
|
|
13783
|
-
"disableTranslate": true,
|
|
13784
|
-
"stripTitleLink": {
|
|
13785
|
-
"link": "",
|
|
13786
|
-
"icon": ""
|
|
13787
|
-
},
|
|
13788
|
-
"sliderConfig": {
|
|
13789
|
-
"showNavs": true,
|
|
13790
|
-
"showDots": true,
|
|
13791
|
-
"maxWidgets": 100,
|
|
13792
|
-
"showNavsSpacing": true
|
|
13793
|
-
},
|
|
13794
|
-
"stripBackground": "",
|
|
13795
|
-
"titleDescription": "For you",
|
|
13796
|
-
"stripConfig": {
|
|
13797
|
-
"cardSubType": "card-portrait-lib",
|
|
13798
|
-
"hideShowAll": true
|
|
13799
|
-
},
|
|
13800
|
-
"viewMoreUrl": {},
|
|
13801
|
-
"hideViewMoreUrl": true,
|
|
13802
|
-
"loader": true,
|
|
13803
|
-
"loaderConfig": {
|
|
13804
|
-
"cardSubType": "card-portrait-lib-skeleton"
|
|
13805
|
-
},
|
|
13806
|
-
"tabs": [
|
|
13807
|
-
{
|
|
13808
|
-
"label": "Group A",
|
|
13809
|
-
"value": "Group A",
|
|
13810
|
-
"computeDataOnClick": false,
|
|
13811
|
-
"disableTranslate": true,
|
|
13812
|
-
"computeDataOnClickKey": "",
|
|
13813
|
-
"requestRequired": true,
|
|
13814
|
-
"showTabDataCount": false,
|
|
13815
|
-
"maxWidgets": 100,
|
|
13816
|
-
"nodataMsg": "no Data Course",
|
|
13817
|
-
"contentShuffel": true,
|
|
13818
|
-
"request": {
|
|
13819
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13820
|
-
"playlistRead": {
|
|
13821
|
-
"type": "MDO_GROUP_A_MAHARASHTRA"
|
|
13822
|
-
}
|
|
13823
|
-
}
|
|
13824
|
-
},
|
|
13825
|
-
{
|
|
13826
|
-
"label": "Group B",
|
|
13827
|
-
"value": "Group B",
|
|
13828
|
-
"computeDataOnClick": false,
|
|
13829
|
-
"disableTranslate": true,
|
|
13830
|
-
"computeDataOnClickKey": "",
|
|
13831
|
-
"requestRequired": true,
|
|
13832
|
-
"showTabDataCount": false,
|
|
13833
|
-
"maxWidgets": 100,
|
|
13834
|
-
"nodataMsg": "no Data Course",
|
|
13835
|
-
"contentShuffel": true,
|
|
13836
|
-
"request": {
|
|
13837
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13838
|
-
"playlistRead": {
|
|
13839
|
-
"type": "MDO_GROUP_B_MAHARASHTRA"
|
|
13840
|
-
}
|
|
13841
|
-
}
|
|
13842
|
-
},
|
|
13843
|
-
{
|
|
13844
|
-
"label": "Group C",
|
|
13845
|
-
"value": "Group C",
|
|
13846
|
-
"computeDataOnClick": false,
|
|
13847
|
-
"disableTranslate": true,
|
|
13848
|
-
"computeDataOnClickKey": "",
|
|
13849
|
-
"requestRequired": true,
|
|
13850
|
-
"showTabDataCount": false,
|
|
13851
|
-
"maxWidgets": 100,
|
|
13852
|
-
"nodataMsg": "no Data Course",
|
|
13853
|
-
"contentShuffel": true,
|
|
13854
|
-
"request": {
|
|
13855
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13856
|
-
"playlistRead": {
|
|
13857
|
-
"type": "MDO_GROUP_C_MAHARASHTRA"
|
|
13858
|
-
}
|
|
13859
|
-
}
|
|
13860
|
-
}
|
|
13861
|
-
],
|
|
13862
|
-
"filters": [],
|
|
13863
|
-
"stripRequestType": "post",
|
|
13864
|
-
"stripRequestFor": "search",
|
|
13865
|
-
"onTabClickRequest": false,
|
|
13866
|
-
"request": {
|
|
13867
|
-
"apiUrl": "/apis/proxies/v8/playList/read/<playlistKey>/<orgID>",
|
|
13868
|
-
"playlistRead": {
|
|
13869
|
-
"type": "ORG_FEATURED_COURSES"
|
|
13870
|
-
}
|
|
13871
|
-
}
|
|
13872
|
-
}
|
|
13873
|
-
]
|
|
13874
|
-
},
|
|
13875
|
-
"events": {
|
|
13876
|
-
"active": false,
|
|
13877
|
-
"enabled": false,
|
|
13878
|
-
"title": "Explore events",
|
|
13879
|
-
"navigation": true,
|
|
13880
|
-
"key": "sectionExploreEvents",
|
|
13881
|
-
"order": 3,
|
|
13882
|
-
"navOrder": 1,
|
|
13883
|
-
"column": [
|
|
13884
|
-
{
|
|
13885
|
-
"maxContent": 3,
|
|
13886
|
-
"active": true,
|
|
13887
|
-
"enabled": true,
|
|
13888
|
-
"key": "exploreEventsContent",
|
|
13889
|
-
"title": "Explore events",
|
|
13890
|
-
"defaultImage": "https://portal.dev.karmayogibharat.net/content-store/orgStore/01390354700029132834/1727084157602_Image.svg",
|
|
13891
|
-
"request": {
|
|
13892
|
-
"locale": [
|
|
13893
|
-
"en"
|
|
13894
|
-
],
|
|
13895
|
-
"query": "",
|
|
13896
|
-
"request": {
|
|
13897
|
-
"query": "",
|
|
13898
|
-
"filters": {
|
|
13899
|
-
"resourceType": [
|
|
13900
|
-
"Karmayogi Saptah",
|
|
13901
|
-
"Karmayogi Talks",
|
|
13902
|
-
"Rajya Karmayogi Saptah"
|
|
13903
|
-
],
|
|
13904
|
-
"status": [
|
|
13905
|
-
"Live"
|
|
13906
|
-
],
|
|
13907
|
-
"contentType": "Event",
|
|
13908
|
-
"category": "Event",
|
|
13909
|
-
"startDate": "<startDateObj>"
|
|
13910
|
-
},
|
|
13911
|
-
"sort_by": {
|
|
13912
|
-
"startDate": "desc"
|
|
13913
|
-
}
|
|
13914
|
-
}
|
|
13915
|
-
}
|
|
13916
|
-
}
|
|
13917
|
-
]
|
|
13918
|
-
}
|
|
13919
|
-
}
|
|
13920
|
-
}
|
|
13921
|
-
}
|
|
13922
|
-
]
|
|
13923
|
-
},
|
|
13924
|
-
{
|
|
13925
|
-
"active": true,
|
|
13926
|
-
"enabled": true,
|
|
13927
|
-
"title": "",
|
|
13928
|
-
"key": "sectionSupport",
|
|
13929
|
-
"order": 5,
|
|
13930
|
-
"customClass": "contact-us-wrapper mt-20",
|
|
13931
|
-
"column": [
|
|
13932
|
-
{
|
|
13933
|
-
"active": true,
|
|
13934
|
-
"enabled": true,
|
|
13935
|
-
"key": "supportSection",
|
|
13936
|
-
"title": "",
|
|
13937
|
-
"colspan": 12,
|
|
13938
|
-
"background": "banner",
|
|
13939
|
-
"data": {
|
|
13940
|
-
"title": "Maharashtra Tech Learning Week Dedicated Technical Support",
|
|
13941
|
-
"thumbnail": "https://dev.karmayogibharat.net/assets/videoconference/thumbnail.png",
|
|
13942
|
-
"text": "For any support required",
|
|
13943
|
-
"date": "April 01, 2025 - May 09, 2025 ",
|
|
13944
|
-
"time": "9:00am – 5:00pm · Time zone: Asia/Kolkata",
|
|
13945
|
-
"technicalSupport": "For any technical issues please contact",
|
|
13946
|
-
"plsContact": "igot-mh[at]mah[dot]gov[dot]in",
|
|
13947
|
-
"plsContacts": "igot-mh@mah.gov.in"
|
|
13948
|
-
}
|
|
13949
|
-
}
|
|
13950
|
-
]
|
|
13951
|
-
}
|
|
13952
|
-
];
|
|
12961
|
+
this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList;
|
|
13953
12962
|
}
|
|
13954
12963
|
this.langtranslations.languageSelectedObservable.subscribe(() => {
|
|
13955
12964
|
if (localStorage.getItem('websiteLanguage')) {
|
|
@@ -14078,13 +13087,13 @@ class MdoChannelV2Component {
|
|
|
14078
13087
|
this.router.navigate([`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`], { queryParams: { tabSelected, key: columnData.sectionKey } });
|
|
14079
13088
|
}
|
|
14080
13089
|
}
|
|
14081
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MdoChannelV2Component, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2.EventService }, { token: i2$1.TranslateService }, { token: i2.MultilingualTranslationsService }, { token: i2.ConfigurationsService }, { token:
|
|
14082
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MdoChannelV2Component, selector: "sb-uic-mdo-channel-v2", inputs: { sectionList: "sectionList", slwConfiguration: "slwConfiguration" }, host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: titles }\">\n</ws-widget-btn-page-back>\n\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList | orderBy: 'order'\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4 {{section?.customClass}}\"\n [ngClass]=\"{'container': section.wrapperClass}\" >\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'lookerSection'\" [ngTemplateOutlet]=\"lookerproSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'topLearners'\" [ngTemplateOutlet]=\"topLearners\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'mainContent'\" [ngTemplateOutlet]=\"mainContent\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'supportSection'\" [ngTemplateOutlet]=\"supportSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n\n<ng-template #topSection let-data=\"data\">\n <!-- top section desktop layout -->\n <div class=\"hidden md:block\">\n <div class=\"web-banner-background\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"flex sticky-logo-square\" [style.width]=\"stripWidth\">\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-xxxl mb-10\">\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"flex-1 flex flex-col mr-4 ws-mat-black-text\">\n <div class=\"\">\n <div class=\"flex items-center logo-square \">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n </div>\n <h1 class=\" txt-ellipsis-2 break-words pt-10 mt-2 {{data?.titleClass}}\" [style.color]=\"data?.titleColor\">\n {{data.title || channnelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\" txt-ellipsis-2 break-words {{data?.subTitleClass}}\" [style.color]=\"data?.subTitleColor\">\n {{data?.subTitle}}</h4>\n\n <h4 *ngIf=\"data?.subTitleTwo\" class=\" sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwo\">\n {{data?.subTitleTwo}}</h4>\n <p class=\"mat-body-1\" [style.color]=\"data?.descriptionColor\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData && data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n\n <div class=\"hidden md:block\">\n <div class=\"col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'mobile'\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n\n </div>\n </div>\n\n <!-- top section m-site layout -->\n <div class=\"block md:hidden\">\n <div class=\"col-span-12\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData && data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n <div class=\"container px-4 flex flex-col mob-container\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-square top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img logo-img-mb {{data?.customMobileClass}}\" [src]=\"data?.logoMobile || data?.logo\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col\">\n <h1 class=\" txt-ellipsis-2 break-words\">{{data?.title || channnelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\" sub-title txt-ellipsis-2 break-words \" [style.color]=\"data?.subTitleColorMobile\">\n {{data?.subTitle}}</h4>\n\n <h4 *ngIf=\"data?.subTitleTwo\" class=\" sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwoMobile\">\n {{data?.subTitleTwo}}</h4>\n <p class=\"mat-body-2\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"flex items-center justify-center\">\n <div class=\"container metrics-section\">\n <div class=\"hidden md:block\">\n <div class=\"metrics\" [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points [providerId]=\"orgId\" [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleFlexeRow'\" [pageLayout]=\"'mdo'\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-data-points>\n </div>\n </div>\n <div class=\"block md:hidden pt-14 px-4\">\n <div class=\"mob-metrics mob-metrics-sec\">\n <sb-uic-data-points [providerId]=\"orgId\" [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleRow'\" [pageLayout]=\"'mdo'\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-data-points>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #mainContent let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"container\">\n <ng-container *ngIf=\"isMobile\">\n <ng-container>\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" [providerId]=\"providerId\"\n [mode]=\"'mobile'\"></sb-uic-key-highlights>\n </div>\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\">\n </sb-uic-highlights-of-week>\n </div>\n\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" [slwConfig]=\"slwConfiguration\"\n (tabClicked)=\"raiseTabClick($event)\" [orgId]=\"orgId\"></sb-uic-mdo-leaderboard>\n </div>\n </div>\n </ng-container>\n\n <div class=\"block md:hidden col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <sb-uic-cbp-plan [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n <div class=\"block md:hidden col-span-12 mt-6\" *ngIf=\"!data?.announcementSection?.disable\">\n <sb-uic-announcements [layoutType]=\"'mobile'\" (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" [fetchDataFromApi]=\"false\" [channelId]=\"orgId\">\n </sb-uic-announcements>\n <div class=\"announcements-container\" *ngIf=\"showModal\">\n <div class=\"cursor-pointer close-share-dialog\">\n <mat-icon (click)=\"onClose()\" class=\"close-icon\">close</mat-icon>\n </div>\n <div class=\"share-modal px-3 pt-8\">\n <sb-uic-announcements [layoutType]=\"'web'\" (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" [mobileHeight]=\"true\"\n [fetchDataFromApi]=\"true\" [channelId]=\"orgId\">\n </sb-uic-announcements>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\" >\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" [providerId]=\"providerId\"\n [mode]=\"'desktop'\"></sb-uic-key-highlights>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-m mb-6\">\n <div class=\"col-span-12 md:col-span-{{data.tabSection.colspan}}\">\n <ng-container >\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\">\n </sb-uic-highlights-of-week>\n </div>\n\n <div>\n <div\n *ngIf=\"data?.stateLearningWeekSection?.mandatoryCourse?.enabled && data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div class=\"\">\n <div\n *ngIf=\"data?.stateLearningWeekSection?.exploreLearningContent?.enabled \n && data?.stateLearningWeekSection?.exploreLearningContent?.strips[0]\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.exploreLearningContent\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"data?.stateLearningWeekSection?.events?.enabled && data?.stateLearningWeekSection?.events?.column?.length &&\n data?.stateLearningWeekSection?.events?.column[0]\">\n <sb-uic-events [object]=\"data?.stateLearningWeekSection?.events?.column[0]\"\n [nwlEventsConfig]=\"slwConfiguration\"></sb-uic-events>\n </div>\n </ng-container>\n <!-- Tabs Section -->\n <ng-container *ngIf=\"!data?.tabSection?.disable\">\n\n <mat-tab-group animationDuration=\"0ms\" class=\"mat-tab-labels mytabs w-full \"\n [selectedIndex]=\"selectedIndex\"\n (selectedTabChange)=\"selectedIndex = $event.index; tabClicked($event)\">\n <mat-tab label=\"Content\">\n <ng-template mat-tab-label i18n>\n Learn\n </ng-template>\n <ng-container *ngIf=\"data?.tabSection?.contentTab?.length === contentTabEmptyResponseCount\">\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive\n alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' |\n translate}}</h2>\n </div>\n </div>\n </ng-container>\n <div class=\"padding-top-l \">\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.contentTab}\"></ng-container>\n </div>\n </mat-tab>\n <mat-tab label=\"Core Areas\">\n <ng-template mat-tab-label i18n>\n Competency\n </ng-template>\n <div>\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.coreAreasTab}\"></ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n </div>\n <!-- <div class=\"col-span-12 md:col-span-8\">\n <div\n *ngIf=\"data?.stateLearningWeekSection?.events.enabled && data?.stateLearningWeekSection?.events.column[0]\">\n <sb-uic-events [object]=\"data?.stateLearningWeekSection?.events.column[0]\"\n [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div> -->\n <div class=\"col-span-12 md:col-span-4\">\n <ng-container *ngIf=\"!isMobile\">\n <ng-container >\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" [slwConfig]=\"slwConfiguration\"\n (tabClicked)=\"raiseTabClick($event)\" [orgId]=\"orgId\"></sb-uic-mdo-leaderboard>\n </div>\n </div>\n </ng-container>\n \n <div class=\"hidden md:block padding-top-xl padding-bottom-m\" *ngIf=\"data?.cbpPlanSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-cbp-plan [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n </div>\n <div class=\"hidden md:block\" *ngIf=\"!data?.announcementSection?.disable\">\n <div class=\"pt-4\">\n <sb-uic-announcements [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.announcementSection?.data\">\n </sb-uic-announcements>\n </div>\n </div>\n </ng-container>\n </div>\n\n\n </div>\n </div>\n </div>\n</ng-template>\n<!-- \n<ng-template #announcement let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"w-full\">\n Announcement Section -->\n<!-- <h1>Announcement</h1>\n </div>\n </div>\n</ng-template> -->\n\n\n<ng-template #columnSectionDisplay let-data=\"data\">\n <ng-container *ngIf=\"data?.length\">\n <ng-container *ngFor=\"let section of data\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'competency'\" [ngTemplateOutlet]=\"competency\"\n [ngTemplateOutletContext]=\"{competency: column}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedProgramStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedCoursesStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentcertificationsOfWeekStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n\n<!-- Start Competencies -->\n<ng-template #competency let-competency=\"competency\">\n <div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock;else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">This section shows the list of top competencies users in\n this MDO are learning, based on the courses they've completed and enrolled in.</p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo [dynamicColor]=\"'#999999'\" [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n <!-- <img class=\"absolute comp-back-img\" src=\"assets/icons/microsite/competency.svg\" alt=\"\"> -->\n </div>\n</ng-template>\n<!-- End Competencies -->\n<ng-template #contentStripTemplate let-data=\"data\">\n <ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"true\" (viewAllResponse)=\"showAllContent($event, data)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" [channnelName]=\"channnelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive alt=\"No results\"\n class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>\n\n<ng-template #topLearners let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container top-learners margin-bottom-l margin-top-l\">\n <sb-uic-top-learners [objectData]=\"data\" [channnelName]=\"channnelName\" [channelId]=\"orgId\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-top-learners>\n </div>\n </div>\n</ng-template>\n\n<ng-template #lookerproSection let-data=\"data\">\n <div class=\"flex items-center justify-center flex-wrap\">\n <div class=\" w-full flex flex-col items-center justify-center\">\n <h2 *ngIf=\"data?.header?.headerText\" class=\"pt-4\">{{data?.header?.headerText}}</h2>\n <p *ngIf=\"data?.header?.description\">{{data?.header?.description}}</p>\n </div>\n <div class=\"container mt-4 mb-4\" *ngIf=\"lookerProUrl\">\n <iframe class=\"w-full \" height=\"{{iframeHeight}}\"\n [src]=\"lookerProUrl\"\n frameborder=\"0\" style=\"border:0\" allowfullscreen\n sandbox=\"allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"></iframe>\n </div>\n </div>\n</ng-template>\n<ng-template #supportSection let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container support-section\">\n <sb-uic-video-conference [videoConf]=\"data\"></sb-uic-video-conference>\n </div>\n </div>\n</ng-template>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AnnouncementsComponent, selector: "sb-uic-announcements", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { kind: "component", type: TopLearnersComponent$1, selector: "sb-uic-top-learners", inputs: ["objectData", "channelId", "channnelName", "slwConfig"] }, { kind: "component", type: CbpPlanComponent, selector: "sb-uic-cbp-plan", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { kind: "component", type: CompetencyPassbookMdoComponent, selector: "sb-uic-competency-passbook-mdo", inputs: ["objectData", "providerId", "cardDisplayCount", "dynamicClass", "dynamicColor", "dynamicAlignPills"], outputs: ["emptyResponse", "temeletryResponse"] }, { kind: "component", type: ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }, { kind: "component", type: DataPointsComponent, selector: "sb-uic-data-points", inputs: ["objectData", "layoutType", "fetchDataFromApi", "providerId", "pageLayout", "title", "slwConfig"] }, { kind: "component", type: SlidersLibComponent, selector: "sb-uic-sliders", inputs: ["widgetData", "styleData", "title", "type"] }, { kind: "component", type: HighlightsOfWeekComponent, selector: "sb-uic-highlights-of-week", inputs: ["objectData"] }, { kind: "component", type: UserProgressComponent, selector: "sb-uic-user-progress", inputs: ["objectData", "rootOrgId"] }, { kind: "component", type: EventsComponent, selector: "sb-uic-events", inputs: ["object", "nwlEventsConfig"] }, { kind: "component", type: SpeakersComponent, selector: "sb-uic-speakers", inputs: ["objectData"] }, { kind: "component", type: MdoLeaderboardComponent, selector: "sb-uic-mdo-leaderboard", inputs: ["orgId", "object", "slwConfig"], outputs: ["tabClicked"] }, { kind: "component", type: KeyHighlightsComponent, selector: "sb-uic-key-highlights", inputs: ["providerId", "formData", "mode"], outputs: ["emptyResponse"] }, { kind: "component", type: i13.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i13.MatLegacyTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i13.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: VideoConferenceComponent, selector: "sb-uic-video-conference", inputs: ["videoConf"] }, { kind: "pipe", type: i2$2.SlicePipe, name: "slice" }, { kind: "pipe", type: OrderByPipe, name: "orderBy" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
13090
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MdoChannelV2Component, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2.EventService }, { token: i2$1.TranslateService }, { token: i2.MultilingualTranslationsService }, { token: i2.ConfigurationsService }, { token: i4$2.DomSanitizer }, { token: i2.UtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13091
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MdoChannelV2Component, selector: "sb-uic-mdo-channel-v2", inputs: { sectionList: "sectionList", slwConfiguration: "slwConfiguration" }, host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: titles }\">\n</ws-widget-btn-page-back>\n\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList | orderBy: 'order'\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4 {{section?.customClass}}\"\n [ngClass]=\"{'container': section.wrapperClass}\" >\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'lookerSection'\" [ngTemplateOutlet]=\"lookerproSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'topLearners'\" [ngTemplateOutlet]=\"topLearners\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'mainContent'\" [ngTemplateOutlet]=\"mainContent\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'supportSection'\" [ngTemplateOutlet]=\"supportSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n\n<ng-template #topSection let-data=\"data\">\n <!-- top section desktop layout -->\n <div class=\"hidden md:block\">\n <div class=\"web-banner-background\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"flex sticky-logo-square\" [style.width]=\"stripWidth\">\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-xxxl mb-10\">\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"flex-1 flex flex-col mr-4 ws-mat-black-text\">\n <div class=\"\">\n <div class=\"flex items-center logo-square \">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n </div>\n <h1 class=\" txt-ellipsis-2 break-words pt-10 mt-2 {{data?.titleClass}}\" [style.color]=\"data?.titleColor\">\n {{data.title || channnelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\" txt-ellipsis-2 break-words {{data?.subTitleClass}}\" [style.color]=\"data?.subTitleColor\">\n {{data?.subTitle}}</h4>\n\n <h4 *ngIf=\"data?.subTitleTwo\" class=\" sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwo\">\n {{data?.subTitleTwo}}</h4>\n <p class=\"mat-body-1\" [style.color]=\"data?.descriptionColor\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData && data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n\n <div class=\"hidden md:block\">\n <div class=\"col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'mobile'\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n\n </div>\n </div>\n\n <!-- top section m-site layout -->\n <div class=\"block md:hidden\">\n <div class=\"col-span-12\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData && data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n <div class=\"container px-4 flex flex-col mob-container\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-square top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img logo-img-mb {{data?.customMobileClass}}\" [src]=\"data?.logoMobile || data?.logo\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col\">\n <h1 class=\" txt-ellipsis-2 break-words\">{{data?.title || channnelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\" sub-title txt-ellipsis-2 break-words \" [style.color]=\"data?.subTitleColorMobile\">\n {{data?.subTitle}}</h4>\n\n <h4 *ngIf=\"data?.subTitleTwo\" class=\" sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwoMobile\">\n {{data?.subTitleTwo}}</h4>\n <p class=\"mat-body-2\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"flex items-center justify-center\">\n <div class=\"container metrics-section\">\n <div class=\"hidden md:block\">\n <div class=\"metrics\" [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points [providerId]=\"orgId\" [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleFlexeRow'\" [pageLayout]=\"'mdo'\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-data-points>\n </div>\n </div>\n <div class=\"block md:hidden pt-14 px-4\">\n <div class=\"mob-metrics mob-metrics-sec\">\n <sb-uic-data-points [providerId]=\"orgId\" [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleRow'\" [pageLayout]=\"'mdo'\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-data-points>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #mainContent let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"container\">\n <ng-container *ngIf=\"isMobile\">\n <ng-container>\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" [providerId]=\"providerId\"\n [mode]=\"'mobile'\"></sb-uic-key-highlights>\n </div>\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\">\n </sb-uic-highlights-of-week>\n </div>\n\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" [slwConfig]=\"slwConfiguration\"\n (tabClicked)=\"raiseTabClick($event)\" [orgId]=\"orgId\"></sb-uic-mdo-leaderboard>\n </div>\n </div>\n </ng-container>\n\n <div class=\"block md:hidden col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <sb-uic-cbp-plan [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n <div class=\"block md:hidden col-span-12 mt-6\" *ngIf=\"!data?.announcementSection?.disable\">\n <sb-uic-announcements [layoutType]=\"'mobile'\" (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" [fetchDataFromApi]=\"false\" [channelId]=\"orgId\">\n </sb-uic-announcements>\n <div class=\"announcements-container\" *ngIf=\"showModal\">\n <div class=\"cursor-pointer close-share-dialog\">\n <mat-icon (click)=\"onClose()\" class=\"close-icon\">close</mat-icon>\n </div>\n <div class=\"share-modal px-3 pt-8\">\n <sb-uic-announcements [layoutType]=\"'web'\" (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" [mobileHeight]=\"true\"\n [fetchDataFromApi]=\"true\" [channelId]=\"orgId\">\n </sb-uic-announcements>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\" >\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" [providerId]=\"providerId\"\n [mode]=\"'desktop'\"></sb-uic-key-highlights>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-m mb-6\">\n <div class=\"col-span-12 md:col-span-{{data.tabSection.colspan}}\">\n <ng-container >\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\">\n </sb-uic-highlights-of-week>\n </div>\n\n <div>\n <div\n *ngIf=\"data?.stateLearningWeekSection?.mandatoryCourse?.enabled && data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div class=\"\">\n <div\n *ngIf=\"data?.stateLearningWeekSection?.exploreLearningContent?.enabled \n && data?.stateLearningWeekSection?.exploreLearningContent?.strips[0]\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.exploreLearningContent\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"data?.stateLearningWeekSection?.events?.enabled && data?.stateLearningWeekSection?.events?.column?.length &&\n data?.stateLearningWeekSection?.events?.column[0]\">\n <sb-uic-events [object]=\"data?.stateLearningWeekSection?.events?.column[0]\"\n [nwlEventsConfig]=\"slwConfiguration\"></sb-uic-events>\n </div>\n </ng-container>\n <!-- Tabs Section -->\n <ng-container *ngIf=\"!data?.tabSection?.disable\">\n\n <mat-tab-group animationDuration=\"0ms\" class=\"mat-tab-labels mytabs w-full \"\n [selectedIndex]=\"selectedIndex\"\n (selectedTabChange)=\"selectedIndex = $event.index; tabClicked($event)\">\n <mat-tab label=\"Content\">\n <ng-template mat-tab-label i18n>\n Learn\n </ng-template>\n <ng-container *ngIf=\"data?.tabSection?.contentTab?.length === contentTabEmptyResponseCount\">\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive\n alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' |\n translate}}</h2>\n </div>\n </div>\n </ng-container>\n <div class=\"padding-top-l \">\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.contentTab}\"></ng-container>\n </div>\n </mat-tab>\n <mat-tab label=\"Core Areas\">\n <ng-template mat-tab-label i18n>\n Competency\n </ng-template>\n <div>\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.coreAreasTab}\"></ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n </div>\n <!-- <div class=\"col-span-12 md:col-span-8\">\n <div\n *ngIf=\"data?.stateLearningWeekSection?.events.enabled && data?.stateLearningWeekSection?.events.column[0]\">\n <sb-uic-events [object]=\"data?.stateLearningWeekSection?.events.column[0]\"\n [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div> -->\n <div class=\"col-span-12 md:col-span-4\">\n <ng-container *ngIf=\"!isMobile\">\n <ng-container >\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" [slwConfig]=\"slwConfiguration\"\n (tabClicked)=\"raiseTabClick($event)\" [orgId]=\"orgId\"></sb-uic-mdo-leaderboard>\n </div>\n </div>\n </ng-container>\n \n <div class=\"hidden md:block padding-top-xl padding-bottom-m\" *ngIf=\"data?.cbpPlanSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-cbp-plan [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n </div>\n <div class=\"hidden md:block\" *ngIf=\"!data?.announcementSection?.disable\">\n <div class=\"pt-4\">\n <sb-uic-announcements [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.announcementSection?.data\">\n </sb-uic-announcements>\n </div>\n </div>\n </ng-container>\n </div>\n\n\n </div>\n </div>\n </div>\n</ng-template>\n<!-- \n<ng-template #announcement let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"w-full\">\n Announcement Section -->\n<!-- <h1>Announcement</h1>\n </div>\n </div>\n</ng-template> -->\n\n\n<ng-template #columnSectionDisplay let-data=\"data\">\n <ng-container *ngIf=\"data?.length\">\n <ng-container *ngFor=\"let section of data\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'competency'\" [ngTemplateOutlet]=\"competency\"\n [ngTemplateOutletContext]=\"{competency: column}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedProgramStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedCoursesStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentcertificationsOfWeekStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n\n<!-- Start Competencies -->\n<ng-template #competency let-competency=\"competency\">\n <div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock;else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">This section shows the list of top competencies users in\n this MDO are learning, based on the courses they've completed and enrolled in.</p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo [dynamicColor]=\"'#999999'\" [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n <!-- <img class=\"absolute comp-back-img\" src=\"assets/icons/microsite/competency.svg\" alt=\"\"> -->\n </div>\n</ng-template>\n<!-- End Competencies -->\n<ng-template #contentStripTemplate let-data=\"data\">\n <ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"true\" (viewAllResponse)=\"showAllContent($event, data)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" [channnelName]=\"channnelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive alt=\"No results\"\n class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>\n\n<ng-template #topLearners let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container top-learners margin-bottom-l margin-top-l\">\n <sb-uic-top-learners [objectData]=\"data\" [channnelName]=\"channnelName\" [channelId]=\"orgId\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-top-learners>\n </div>\n </div>\n</ng-template>\n\n<ng-template #lookerproSection let-data=\"data\">\n <div class=\"flex items-center justify-center flex-wrap\">\n <div class=\" w-full flex flex-col items-center justify-center\">\n <h2 *ngIf=\"data?.header?.headerText\" class=\"pt-4\">{{data?.header?.headerText}}</h2>\n <p *ngIf=\"data?.header?.description\">{{data?.header?.description}}</p>\n </div>\n <div class=\"container mt-4 mb-4\" *ngIf=\"lookerProUrl\">\n <iframe class=\"w-full \" height=\"{{iframeHeight}}\"\n [src]=\"lookerProUrl\"\n frameborder=\"0\" style=\"border:0\" allowfullscreen\n sandbox=\"allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"></iframe>\n </div>\n </div>\n</ng-template>\n<ng-template #supportSection let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container support-section\">\n <sb-uic-video-conference [videoConf]=\"data\"></sb-uic-video-conference>\n </div>\n </div>\n</ng-template>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AnnouncementsComponent, selector: "sb-uic-announcements", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { kind: "component", type: TopLearnersComponent, selector: "sb-uic-top-learners", inputs: ["objectData", "channelId", "channnelName", "slwConfig"] }, { kind: "component", type: CbpPlanComponent, selector: "sb-uic-cbp-plan", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { kind: "component", type: CompetencyPassbookMdoComponent, selector: "sb-uic-competency-passbook-mdo", inputs: ["objectData", "providerId", "cardDisplayCount", "dynamicClass", "dynamicColor", "dynamicAlignPills"], outputs: ["emptyResponse", "temeletryResponse"] }, { kind: "component", type: ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }, { kind: "component", type: DataPointsComponent, selector: "sb-uic-data-points", inputs: ["objectData", "layoutType", "fetchDataFromApi", "providerId", "pageLayout", "title", "slwConfig"] }, { kind: "component", type: SlidersLibComponent, selector: "sb-uic-sliders", inputs: ["widgetData", "styleData", "title", "type"] }, { kind: "component", type: HighlightsOfWeekComponent, selector: "sb-uic-highlights-of-week", inputs: ["objectData"] }, { kind: "component", type: UserProgressComponent, selector: "sb-uic-user-progress", inputs: ["objectData", "rootOrgId"] }, { kind: "component", type: EventsComponent, selector: "sb-uic-events", inputs: ["object", "nwlEventsConfig"] }, { kind: "component", type: SpeakersComponent, selector: "sb-uic-speakers", inputs: ["objectData"] }, { kind: "component", type: MdoLeaderboardComponent, selector: "sb-uic-mdo-leaderboard", inputs: ["orgId", "object", "slwConfig"], outputs: ["tabClicked"] }, { kind: "component", type: KeyHighlightsComponent, selector: "sb-uic-key-highlights", inputs: ["providerId", "formData", "mode"], outputs: ["emptyResponse"] }, { kind: "component", type: i13.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i13.MatLegacyTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i13.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: VideoConferenceComponent, selector: "sb-uic-video-conference", inputs: ["videoConf"] }, { kind: "pipe", type: i2$2.SlicePipe, name: "slice" }, { kind: "pipe", type: OrderByPipe, name: "orderBy" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
14083
13092
|
}
|
|
14084
13093
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MdoChannelV2Component, decorators: [{
|
|
14085
13094
|
type: Component,
|
|
14086
13095
|
args: [{ selector: 'sb-uic-mdo-channel-v2', template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: titles }\">\n</ws-widget-btn-page-back>\n\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList | orderBy: 'order'\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4 {{section?.customClass}}\"\n [ngClass]=\"{'container': section.wrapperClass}\" >\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'lookerSection'\" [ngTemplateOutlet]=\"lookerproSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'topLearners'\" [ngTemplateOutlet]=\"topLearners\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'mainContent'\" [ngTemplateOutlet]=\"mainContent\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'supportSection'\" [ngTemplateOutlet]=\"supportSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n\n<ng-template #topSection let-data=\"data\">\n <!-- top section desktop layout -->\n <div class=\"hidden md:block\">\n <div class=\"web-banner-background\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"flex sticky-logo-square\" [style.width]=\"stripWidth\">\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-xxxl mb-10\">\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"flex-1 flex flex-col mr-4 ws-mat-black-text\">\n <div class=\"\">\n <div class=\"flex items-center logo-square \">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n </div>\n <h1 class=\" txt-ellipsis-2 break-words pt-10 mt-2 {{data?.titleClass}}\" [style.color]=\"data?.titleColor\">\n {{data.title || channnelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\" txt-ellipsis-2 break-words {{data?.subTitleClass}}\" [style.color]=\"data?.subTitleColor\">\n {{data?.subTitle}}</h4>\n\n <h4 *ngIf=\"data?.subTitleTwo\" class=\" sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwo\">\n {{data?.subTitleTwo}}</h4>\n <p class=\"mat-body-1\" [style.color]=\"data?.descriptionColor\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData && data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n\n <div class=\"hidden md:block\">\n <div class=\"col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'mobile'\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n\n </div>\n </div>\n\n <!-- top section m-site layout -->\n <div class=\"block md:hidden\">\n <div class=\"col-span-12\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData && data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n <div class=\"container px-4 flex flex-col mob-container\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-square top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img logo-img-mb {{data?.customMobileClass}}\" [src]=\"data?.logoMobile || data?.logo\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col\">\n <h1 class=\" txt-ellipsis-2 break-words\">{{data?.title || channnelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\" sub-title txt-ellipsis-2 break-words \" [style.color]=\"data?.subTitleColorMobile\">\n {{data?.subTitle}}</h4>\n\n <h4 *ngIf=\"data?.subTitleTwo\" class=\" sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwoMobile\">\n {{data?.subTitleTwo}}</h4>\n <p class=\"mat-body-2\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"flex items-center justify-center\">\n <div class=\"container metrics-section\">\n <div class=\"hidden md:block\">\n <div class=\"metrics\" [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points [providerId]=\"orgId\" [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleFlexeRow'\" [pageLayout]=\"'mdo'\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-data-points>\n </div>\n </div>\n <div class=\"block md:hidden pt-14 px-4\">\n <div class=\"mob-metrics mob-metrics-sec\">\n <sb-uic-data-points [providerId]=\"orgId\" [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleRow'\" [pageLayout]=\"'mdo'\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-data-points>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #mainContent let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"container\">\n <ng-container *ngIf=\"isMobile\">\n <ng-container>\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" [providerId]=\"providerId\"\n [mode]=\"'mobile'\"></sb-uic-key-highlights>\n </div>\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\">\n </sb-uic-highlights-of-week>\n </div>\n\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n <div class=\"block md:hidden \">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" [slwConfig]=\"slwConfiguration\"\n (tabClicked)=\"raiseTabClick($event)\" [orgId]=\"orgId\"></sb-uic-mdo-leaderboard>\n </div>\n </div>\n </ng-container>\n\n <div class=\"block md:hidden col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <sb-uic-cbp-plan [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n <div class=\"block md:hidden col-span-12 mt-6\" *ngIf=\"!data?.announcementSection?.disable\">\n <sb-uic-announcements [layoutType]=\"'mobile'\" (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" [fetchDataFromApi]=\"false\" [channelId]=\"orgId\">\n </sb-uic-announcements>\n <div class=\"announcements-container\" *ngIf=\"showModal\">\n <div class=\"cursor-pointer close-share-dialog\">\n <mat-icon (click)=\"onClose()\" class=\"close-icon\">close</mat-icon>\n </div>\n <div class=\"share-modal px-3 pt-8\">\n <sb-uic-announcements [layoutType]=\"'web'\" (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" [mobileHeight]=\"true\"\n [fetchDataFromApi]=\"true\" [channelId]=\"orgId\">\n </sb-uic-announcements>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\" >\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" [providerId]=\"providerId\"\n [mode]=\"'desktop'\"></sb-uic-key-highlights>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-m mb-6\">\n <div class=\"col-span-12 md:col-span-{{data.tabSection.colspan}}\">\n <ng-container >\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\">\n </sb-uic-highlights-of-week>\n </div>\n\n <div>\n <div\n *ngIf=\"data?.stateLearningWeekSection?.mandatoryCourse?.enabled && data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div class=\"\">\n <div\n *ngIf=\"data?.stateLearningWeekSection?.exploreLearningContent?.enabled \n && data?.stateLearningWeekSection?.exploreLearningContent?.strips[0]\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.exploreLearningContent\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"data?.stateLearningWeekSection?.events?.enabled && data?.stateLearningWeekSection?.events?.column?.length &&\n data?.stateLearningWeekSection?.events?.column[0]\">\n <sb-uic-events [object]=\"data?.stateLearningWeekSection?.events?.column[0]\"\n [nwlEventsConfig]=\"slwConfiguration\"></sb-uic-events>\n </div>\n </ng-container>\n <!-- Tabs Section -->\n <ng-container *ngIf=\"!data?.tabSection?.disable\">\n\n <mat-tab-group animationDuration=\"0ms\" class=\"mat-tab-labels mytabs w-full \"\n [selectedIndex]=\"selectedIndex\"\n (selectedTabChange)=\"selectedIndex = $event.index; tabClicked($event)\">\n <mat-tab label=\"Content\">\n <ng-template mat-tab-label i18n>\n Learn\n </ng-template>\n <ng-container *ngIf=\"data?.tabSection?.contentTab?.length === contentTabEmptyResponseCount\">\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive\n alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' |\n translate}}</h2>\n </div>\n </div>\n </ng-container>\n <div class=\"padding-top-l \">\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.contentTab}\"></ng-container>\n </div>\n </mat-tab>\n <mat-tab label=\"Core Areas\">\n <ng-template mat-tab-label i18n>\n Competency\n </ng-template>\n <div>\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.coreAreasTab}\"></ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n </div>\n <!-- <div class=\"col-span-12 md:col-span-8\">\n <div\n *ngIf=\"data?.stateLearningWeekSection?.events.enabled && data?.stateLearningWeekSection?.events.column[0]\">\n <sb-uic-events [object]=\"data?.stateLearningWeekSection?.events.column[0]\"\n [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div> -->\n <div class=\"col-span-12 md:col-span-4\">\n <ng-container *ngIf=\"!isMobile\">\n <ng-container >\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers [layoutType]=\"'web'\" [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" [slwConfig]=\"slwConfiguration\"\n (tabClicked)=\"raiseTabClick($event)\" [orgId]=\"orgId\"></sb-uic-mdo-leaderboard>\n </div>\n </div>\n </ng-container>\n \n <div class=\"hidden md:block padding-top-xl padding-bottom-m\" *ngIf=\"data?.cbpPlanSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-cbp-plan [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n </div>\n <div class=\"hidden md:block\" *ngIf=\"!data?.announcementSection?.disable\">\n <div class=\"pt-4\">\n <sb-uic-announcements [layoutType]=\"'web'\" [mobileHeight]=\"false\" [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" [objectData]=\"data?.announcementSection?.data\">\n </sb-uic-announcements>\n </div>\n </div>\n </ng-container>\n </div>\n\n\n </div>\n </div>\n </div>\n</ng-template>\n<!-- \n<ng-template #announcement let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"w-full\">\n Announcement Section -->\n<!-- <h1>Announcement</h1>\n </div>\n </div>\n</ng-template> -->\n\n\n<ng-template #columnSectionDisplay let-data=\"data\">\n <ng-container *ngIf=\"data?.length\">\n <ng-container *ngFor=\"let section of data\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'competency'\" [ngTemplateOutlet]=\"competency\"\n [ngTemplateOutletContext]=\"{competency: column}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedProgramStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedCoursesStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentcertificationsOfWeekStrip'\"\n [ngTemplateOutlet]=\"contentStripTemplate\" [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n\n<!-- Start Competencies -->\n<ng-template #competency let-competency=\"competency\">\n <div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock;else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">This section shows the list of top competencies users in\n this MDO are learning, based on the courses they've completed and enrolled in.</p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo [dynamicColor]=\"'#999999'\" [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n <!-- <img class=\"absolute comp-back-img\" src=\"assets/icons/microsite/competency.svg\" alt=\"\"> -->\n </div>\n</ng-template>\n<!-- End Competencies -->\n<ng-template #contentStripTemplate let-data=\"data\">\n <ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs [emitViewAll]=\"true\" (viewAllResponse)=\"showAllContent($event, data)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" [channnelName]=\"channnelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive alt=\"No results\"\n class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>\n\n<ng-template #topLearners let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container top-learners margin-bottom-l margin-top-l\">\n <sb-uic-top-learners [objectData]=\"data\" [channnelName]=\"channnelName\" [channelId]=\"orgId\" [slwConfig]=\"slwConfiguration\">\n </sb-uic-top-learners>\n </div>\n </div>\n</ng-template>\n\n<ng-template #lookerproSection let-data=\"data\">\n <div class=\"flex items-center justify-center flex-wrap\">\n <div class=\" w-full flex flex-col items-center justify-center\">\n <h2 *ngIf=\"data?.header?.headerText\" class=\"pt-4\">{{data?.header?.headerText}}</h2>\n <p *ngIf=\"data?.header?.description\">{{data?.header?.description}}</p>\n </div>\n <div class=\"container mt-4 mb-4\" *ngIf=\"lookerProUrl\">\n <iframe class=\"w-full \" height=\"{{iframeHeight}}\"\n [src]=\"lookerProUrl\"\n frameborder=\"0\" style=\"border:0\" allowfullscreen\n sandbox=\"allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"></iframe>\n </div>\n </div>\n</ng-template>\n<ng-template #supportSection let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container support-section\">\n <sb-uic-video-conference [videoConf]=\"data\"></sb-uic-video-conference>\n </div>\n </div>\n</ng-template>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}\n"] }]
|
|
14087
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2.EventService }, { type: i2$1.TranslateService }, { type: i2.MultilingualTranslationsService }, { type: i2.ConfigurationsService }, { type:
|
|
13096
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2.EventService }, { type: i2$1.TranslateService }, { type: i2.MultilingualTranslationsService }, { type: i2.ConfigurationsService }, { type: i4$2.DomSanitizer }, { type: i2.UtilityService }]; }, propDecorators: { sectionList: [{
|
|
14088
13097
|
type: Input
|
|
14089
13098
|
}], slwConfiguration: [{
|
|
14090
13099
|
type: Input
|
|
@@ -14205,7 +13214,7 @@ class SafeUrlPipe {
|
|
|
14205
13214
|
transform(url) {
|
|
14206
13215
|
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
|
|
14207
13216
|
}
|
|
14208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeUrlPipe, deps: [{ token:
|
|
13217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i4$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14209
13218
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" }); }
|
|
14210
13219
|
}
|
|
14211
13220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeUrlPipe, decorators: [{
|
|
@@ -14213,7 +13222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14213
13222
|
args: [{
|
|
14214
13223
|
name: 'safeUrl'
|
|
14215
13224
|
}]
|
|
14216
|
-
}], ctorParameters: function () { return [{ type:
|
|
13225
|
+
}], ctorParameters: function () { return [{ type: i4$2.DomSanitizer }]; } });
|
|
14217
13226
|
|
|
14218
13227
|
class SafeUrlPipeModule {
|
|
14219
13228
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeUrlPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -14251,994 +13260,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14251
13260
|
}]
|
|
14252
13261
|
}] });
|
|
14253
13262
|
|
|
14254
|
-
class EditorDialogComponent {
|
|
14255
|
-
constructor(fb, http, dialogRef, data) {
|
|
14256
|
-
this.fb = fb;
|
|
14257
|
-
this.http = http;
|
|
14258
|
-
this.dialogRef = dialogRef;
|
|
14259
|
-
this.data = data;
|
|
14260
|
-
this.uploadStatus = '';
|
|
14261
|
-
this.isUploading = false;
|
|
14262
|
-
// Slider specific properties
|
|
14263
|
-
this.sliderData = {
|
|
14264
|
-
sliders: [],
|
|
14265
|
-
styleData: {
|
|
14266
|
-
dots: true,
|
|
14267
|
-
infinite: true,
|
|
14268
|
-
speed: 500,
|
|
14269
|
-
slidesToShow: 1,
|
|
14270
|
-
slidesToScroll: 1
|
|
14271
|
-
}
|
|
14272
|
-
};
|
|
14273
|
-
this.isEditingSlider = false;
|
|
14274
|
-
this.editingIndex = -1;
|
|
14275
|
-
this.formType = data.fieldType || 'text';
|
|
14276
|
-
}
|
|
14277
|
-
ngOnInit() {
|
|
14278
|
-
this.initForm();
|
|
14279
|
-
this.initSliderItemForm();
|
|
14280
|
-
}
|
|
14281
|
-
initForm() {
|
|
14282
|
-
// Create form based on field type
|
|
14283
|
-
switch (this.formType) {
|
|
14284
|
-
case 'textarea':
|
|
14285
|
-
this.editorForm = this.fb.group({
|
|
14286
|
-
value: [this.data.value, [Validators.required]]
|
|
14287
|
-
});
|
|
14288
|
-
break;
|
|
14289
|
-
case 'color':
|
|
14290
|
-
this.editorForm = this.fb.group({
|
|
14291
|
-
value: [this.data.value, [Validators.required, Validators.pattern(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)]]
|
|
14292
|
-
});
|
|
14293
|
-
break;
|
|
14294
|
-
case 'image':
|
|
14295
|
-
this.editorForm = this.fb.group({
|
|
14296
|
-
value: [this.data.value, [Validators.required]]
|
|
14297
|
-
});
|
|
14298
|
-
break;
|
|
14299
|
-
case 'boolean':
|
|
14300
|
-
this.editorForm = this.fb.group({
|
|
14301
|
-
value: [!!this.data.value]
|
|
14302
|
-
});
|
|
14303
|
-
break;
|
|
14304
|
-
case 'metrics':
|
|
14305
|
-
this.editorForm = this.fb.group({
|
|
14306
|
-
value: [this.data.value]
|
|
14307
|
-
});
|
|
14308
|
-
break;
|
|
14309
|
-
case 'slider':
|
|
14310
|
-
// Initialize slider data from the input or use defaults
|
|
14311
|
-
if (this.data.value && this.data.value.sliders && this.data.value.styleData) {
|
|
14312
|
-
this.sliderData = this.data.value;
|
|
14313
|
-
}
|
|
14314
|
-
else if (this.data.sliderData) {
|
|
14315
|
-
this.sliderData = this.data.sliderData;
|
|
14316
|
-
}
|
|
14317
|
-
this.editorForm = this.fb.group({
|
|
14318
|
-
value: [this.sliderData]
|
|
14319
|
-
});
|
|
14320
|
-
break;
|
|
14321
|
-
default:
|
|
14322
|
-
this.editorForm = this.fb.group({
|
|
14323
|
-
value: [this.data.value, [Validators.required]]
|
|
14324
|
-
});
|
|
14325
|
-
}
|
|
14326
|
-
}
|
|
14327
|
-
initSliderItemForm(item) {
|
|
14328
|
-
this.sliderItemForm = this.fb.group({
|
|
14329
|
-
active: [item?.active !== undefined ? item.active : true],
|
|
14330
|
-
banners: this.fb.group({
|
|
14331
|
-
l: [item?.banners?.l || '', [Validators.required]],
|
|
14332
|
-
m: [item?.banners?.m || ''],
|
|
14333
|
-
s: [item?.banners?.s || ''],
|
|
14334
|
-
xl: [item?.banners?.xl || ''],
|
|
14335
|
-
xs: [item?.banners?.xs || ''],
|
|
14336
|
-
xxl: [item?.banners?.xxl || '']
|
|
14337
|
-
}),
|
|
14338
|
-
redirectUrl: [item?.redirectUrl || ''],
|
|
14339
|
-
queryParams: [item?.queryParams || {}],
|
|
14340
|
-
title: [item?.title || '']
|
|
14341
|
-
});
|
|
14342
|
-
}
|
|
14343
|
-
// General image upload methods
|
|
14344
|
-
onFileSelected(event) {
|
|
14345
|
-
const file = event.target.files[0];
|
|
14346
|
-
if (file) {
|
|
14347
|
-
this.uploadImage(file);
|
|
14348
|
-
}
|
|
14349
|
-
}
|
|
14350
|
-
uploadImage(file) {
|
|
14351
|
-
this.isUploading = true;
|
|
14352
|
-
this.uploadStatus = 'Uploading...';
|
|
14353
|
-
const formData = new FormData();
|
|
14354
|
-
formData.append('file', file);
|
|
14355
|
-
// Headers as specified in the curl command
|
|
14356
|
-
const headers = new HttpHeaders({
|
|
14357
|
-
'Accept': 'application/json, text/plain, */*',
|
|
14358
|
-
'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8',
|
|
14359
|
-
'Cache-Control': 'no-cache',
|
|
14360
|
-
'Pragma': 'no-cache',
|
|
14361
|
-
'locale': 'en',
|
|
14362
|
-
'org': 'dopt',
|
|
14363
|
-
'rootOrg': 'igot'
|
|
14364
|
-
});
|
|
14365
|
-
this.http.post('http://localhost:3000/apis/proxies/v8/storage/orgStoreUpload', formData, { headers })
|
|
14366
|
-
.subscribe({
|
|
14367
|
-
next: (response) => {
|
|
14368
|
-
this.isUploading = false;
|
|
14369
|
-
if (response.responseCode === 'OK' && response.result && response.result.url) {
|
|
14370
|
-
// Transform the URL
|
|
14371
|
-
const transformedUrl = this.transformImageUrl(response.result.url);
|
|
14372
|
-
// Update the form with the new URL
|
|
14373
|
-
this.editorForm.get('value')?.setValue(transformedUrl);
|
|
14374
|
-
this.uploadStatus = 'Upload successful!';
|
|
14375
|
-
// Clear status after 3 seconds
|
|
14376
|
-
setTimeout(() => {
|
|
14377
|
-
this.uploadStatus = '';
|
|
14378
|
-
}, 3000);
|
|
14379
|
-
}
|
|
14380
|
-
else {
|
|
14381
|
-
this.uploadStatus = 'Upload failed. Invalid response.';
|
|
14382
|
-
}
|
|
14383
|
-
},
|
|
14384
|
-
error: (error) => {
|
|
14385
|
-
this.isUploading = false;
|
|
14386
|
-
this.uploadStatus = 'Upload failed. Please try again.';
|
|
14387
|
-
console.error('Upload error:', error);
|
|
14388
|
-
}
|
|
14389
|
-
});
|
|
14390
|
-
}
|
|
14391
|
-
// Slider specific methods
|
|
14392
|
-
onSliderClick(event) {
|
|
14393
|
-
console.log('Slider click:', event);
|
|
14394
|
-
}
|
|
14395
|
-
onSliderImageSelected(event) {
|
|
14396
|
-
const file = event.target.files[0];
|
|
14397
|
-
if (file) {
|
|
14398
|
-
this.uploadSliderImage(file);
|
|
14399
|
-
}
|
|
14400
|
-
}
|
|
14401
|
-
uploadSliderImage(file) {
|
|
14402
|
-
this.uploadStatus = 'Uploading...';
|
|
14403
|
-
const formData = new FormData();
|
|
14404
|
-
formData.append('file', file);
|
|
14405
|
-
const headers = new HttpHeaders({
|
|
14406
|
-
'Accept': 'application/json, text/plain, */*',
|
|
14407
|
-
'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8',
|
|
14408
|
-
'Cache-Control': 'no-cache',
|
|
14409
|
-
'Pragma': 'no-cache',
|
|
14410
|
-
'locale': 'en',
|
|
14411
|
-
'org': 'dopt',
|
|
14412
|
-
'rootOrg': 'igot'
|
|
14413
|
-
});
|
|
14414
|
-
this.http.post('http://localhost:3000/apis/proxies/v8/storage/orgStoreUpload', formData, { headers })
|
|
14415
|
-
.subscribe({
|
|
14416
|
-
next: (response) => {
|
|
14417
|
-
if (response.responseCode === 'OK' && response.result && response.result.url) {
|
|
14418
|
-
// Transform the URL
|
|
14419
|
-
const transformedUrl = this.transformImageUrl(response.result.url);
|
|
14420
|
-
// Update all banner sizes with the same URL
|
|
14421
|
-
const bannersControl = this.sliderItemForm.get('banners');
|
|
14422
|
-
if (bannersControl) {
|
|
14423
|
-
bannersControl.get('l')?.setValue(transformedUrl);
|
|
14424
|
-
bannersControl.get('m')?.setValue(transformedUrl);
|
|
14425
|
-
bannersControl.get('s')?.setValue(transformedUrl);
|
|
14426
|
-
bannersControl.get('xl')?.setValue(transformedUrl);
|
|
14427
|
-
bannersControl.get('xs')?.setValue(transformedUrl);
|
|
14428
|
-
bannersControl.get('xxl')?.setValue(transformedUrl);
|
|
14429
|
-
}
|
|
14430
|
-
this.uploadStatus = 'Upload successful!';
|
|
14431
|
-
// Clear status after 3 seconds
|
|
14432
|
-
setTimeout(() => {
|
|
14433
|
-
this.uploadStatus = '';
|
|
14434
|
-
}, 3000);
|
|
14435
|
-
}
|
|
14436
|
-
else {
|
|
14437
|
-
this.uploadStatus = 'Upload failed. Invalid response.';
|
|
14438
|
-
}
|
|
14439
|
-
},
|
|
14440
|
-
error: (error) => {
|
|
14441
|
-
this.uploadStatus = 'Upload failed. Please try again.';
|
|
14442
|
-
console.error('Upload error:', error);
|
|
14443
|
-
}
|
|
14444
|
-
});
|
|
14445
|
-
}
|
|
14446
|
-
addSliderItem() {
|
|
14447
|
-
this.isEditingSlider = true;
|
|
14448
|
-
this.editingIndex = -1;
|
|
14449
|
-
this.initSliderItemForm();
|
|
14450
|
-
}
|
|
14451
|
-
editSliderItem(index) {
|
|
14452
|
-
this.isEditingSlider = true;
|
|
14453
|
-
this.editingIndex = index;
|
|
14454
|
-
this.initSliderItemForm(this.sliderData.sliders[index]);
|
|
14455
|
-
}
|
|
14456
|
-
removeSliderItem(index) {
|
|
14457
|
-
this.sliderData.sliders.splice(index, 1);
|
|
14458
|
-
this.updateEditorFormValue();
|
|
14459
|
-
}
|
|
14460
|
-
saveSliderItem() {
|
|
14461
|
-
if (this.sliderItemForm.valid) {
|
|
14462
|
-
const item = this.sliderItemForm.value;
|
|
14463
|
-
// Ensure all banner sizes have the same URL if not already set
|
|
14464
|
-
const mainImageUrl = item.banners.l;
|
|
14465
|
-
if (mainImageUrl) {
|
|
14466
|
-
item.banners.m = item.banners.m || mainImageUrl;
|
|
14467
|
-
item.banners.s = item.banners.s || mainImageUrl;
|
|
14468
|
-
item.banners.xl = item.banners.xl || mainImageUrl;
|
|
14469
|
-
item.banners.xs = item.banners.xs || mainImageUrl;
|
|
14470
|
-
item.banners.xxl = item.banners.xxl || mainImageUrl;
|
|
14471
|
-
}
|
|
14472
|
-
// Ensure queryParams is an object
|
|
14473
|
-
if (!item.queryParams || typeof item.queryParams !== 'object') {
|
|
14474
|
-
item.queryParams = {};
|
|
14475
|
-
}
|
|
14476
|
-
if (this.editingIndex === -1) {
|
|
14477
|
-
// Add new item
|
|
14478
|
-
this.sliderData.sliders.push(item);
|
|
14479
|
-
}
|
|
14480
|
-
else {
|
|
14481
|
-
// Update existing item
|
|
14482
|
-
this.sliderData.sliders[this.editingIndex] = item;
|
|
14483
|
-
}
|
|
14484
|
-
this.updateEditorFormValue();
|
|
14485
|
-
this.cancelSliderItemEdit();
|
|
14486
|
-
}
|
|
14487
|
-
}
|
|
14488
|
-
cancelSliderItemEdit() {
|
|
14489
|
-
this.isEditingSlider = false;
|
|
14490
|
-
this.editingIndex = -1;
|
|
14491
|
-
}
|
|
14492
|
-
updateEditorFormValue() {
|
|
14493
|
-
// Update the main form with the new slider data
|
|
14494
|
-
this.editorForm.get('value')?.setValue({ ...this.sliderData });
|
|
14495
|
-
}
|
|
14496
|
-
transformImageUrl(originalUrl) {
|
|
14497
|
-
// Replace 'https://storage.googleapis.com/igotqa/' with 'https://portal.qa.karmayogibharat.net/content-store/'
|
|
14498
|
-
return originalUrl.replace('https://storage.googleapis.com/igotqa/', 'https://portal.qa.karmayogibharat.net/content-store/');
|
|
14499
|
-
}
|
|
14500
|
-
onSubmit() {
|
|
14501
|
-
if (this.editorForm.valid) {
|
|
14502
|
-
this.dialogRef.close(this.editorForm.value.value);
|
|
14503
|
-
}
|
|
14504
|
-
}
|
|
14505
|
-
onCancel() {
|
|
14506
|
-
this.dialogRef.close();
|
|
14507
|
-
}
|
|
14508
|
-
dropSliderItem(event) {
|
|
14509
|
-
moveItemInArray(this.sliderData.sliders, event.previousIndex, event.currentIndex);
|
|
14510
|
-
this.updateEditorFormValue();
|
|
14511
|
-
}
|
|
14512
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorDialogComponent, deps: [{ token: i7$1.FormBuilder }, { token: i1.HttpClient }, { token: i3$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14513
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditorDialogComponent, selector: "app-editor-dialog", ngImport: i0, template: "<h2 mat-dialog-title>Edit {{data.displayName}}</h2>\n<mat-dialog-content>\n <form [formGroup]=\"editorForm\" class=\"editor-form\">\n <div [ngSwitch]=\"formType\">\n <!-- Text input -->\n <mat-form-field *ngSwitchCase=\"'text'\" appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter {{data.displayName}}\">\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">This field is required</mat-error>\n </mat-form-field>\n \n <!-- Textarea -->\n <mat-form-field *ngSwitchCase=\"'textarea'\" appearance=\"outline\" class=\"full-width\">\n <textarea matInput formControlName=\"value\" placeholder=\"Enter {{data.displayName}}\" rows=\"5\"></textarea>\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">This field is required</mat-error>\n </mat-form-field>\n \n <!-- Color picker -->\n <div *ngSwitchCase=\"'color'\" class=\"color-picker-container\">\n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter color code (e.g., #FF5733)\">\n <mat-error *ngIf=\"editorForm.get('value')?.hasError('required')\">Color is required</mat-error>\n <mat-error *ngIf=\"editorForm.get('value')?.hasError('pattern')\">Invalid color format</mat-error>\n </mat-form-field>\n <div class=\"color-preview\" [style.background-color]=\"editorForm.get('value')?.value\"></div>\n </div>\n \n <!-- Image URL with upload option -->\n <div *ngSwitchCase=\"'image'\" class=\"image-container\">\n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter image URL\">\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">Valid image URL is required</mat-error>\n </mat-form-field>\n \n <div class=\"upload-section\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"fileInput.click()\">\n <mat-icon>cloud_upload</mat-icon> Upload Image\n </button>\n <input hidden (change)=\"onFileSelected($event)\" #fileInput type=\"file\" accept=\"image/*\">\n <span *ngIf=\"uploadStatus\" class=\"upload-status\">{{uploadStatus}}</span>\n </div>\n \n <div class=\"image-preview\">\n <img [src]=\"editorForm.get('value')?.value\" alt=\"Image Preview\" *ngIf=\"editorForm.get('value')?.value\">\n </div>\n </div>\n \n <!-- Boolean toggle -->\n <mat-slide-toggle *ngSwitchCase=\"'boolean'\" formControlName=\"value\" color=\"primary\">\n {{editorForm.get('value')?.value ? 'Enabled' : 'Disabled'}}\n </mat-slide-toggle>\n \n <!-- For complex types like metrics -->\n <div *ngSwitchCase=\"'metrics'\" class=\"complex-editor\">\n <p>Metrics editor not yet implemented</p>\n <!-- Implement metrics editor UI here -->\n </div>\n \n <!-- Slider implementation -->\n <div *ngSwitchCase=\"'slider'\" class=\"slider-editor\">\n <!-- Slider Preview -->\n <div class=\"slider-preview-container\">\n <h3>Preview</h3>\n <div class=\"slider-preview\">\n <sb-uic-sliders \n [widgetData]=\"sliderData.sliders\" \n [styleData]=\"sliderData.styleData\"\n (clickEvent)=\"onSliderClick($event)\">\n </sb-uic-sliders>\n </div>\n </div>\n \n <!-- Slider Items Management -->\n <div class=\"slider-items-container\">\n <h3>Slider Items</h3>\n \n <div class=\"slider-items\" *ngIf=\"sliderData.sliders.length\" cdkDropList (cdkDropListDropped)=\"dropSliderItem($event)\">\n <div *ngFor=\"let item of sliderData.sliders; let i = index\" class=\"slider-item\" cdkDrag>\n <div class=\"drag-handle\" cdkDragHandle>\n <mat-icon>drag_indicator</mat-icon>\n </div>\n <div class=\"item-preview\">\n <img [src]=\"item?.banners?.l\" alt=\"Slider image\" class=\"item-image\">\n <div class=\"item-details\">\n <div class=\"item-title\">{{item.title || 'No title'}}</div>\n <div class=\"item-status\" [class.active]=\"item.active\">\n {{item.active ? 'Active' : 'Inactive'}}\n </div>\n </div>\n </div>\n <div class=\"item-actions\">\n <button mat-icon-button color=\"primary\" (click)=\"editSliderItem(i)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button color=\"warn\" (click)=\"removeSliderItem(i)\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n \n <div *ngIf=\"!sliderData.sliders.length\" class=\"no-items\">\n No slider items available. Add some items to see them here.\n </div>\n <button mat-raised-button color=\"primary\" class=\"add-item-btn\" (click)=\"addSliderItem()\">\n <mat-icon>add</mat-icon> Add Slider Item\n </button>\n </div>\n \n <!-- Item Editor (when editing) -->\n <div *ngIf=\"isEditingSlider\" class=\"slider-item-editor\">\n <h3>{{editingIndex === -1 ? 'Add' : 'Edit'}} Slider Item</h3>\n <form [formGroup]=\"sliderItemForm\" class=\"slider-item-form\">\n <div class=\"form-section\">\n <h4>Basic Information</h4>\n \n <div class=\"toggle-container\">\n <label class=\"toggle-label\">Item Status:</label>\n <mat-slide-toggle formControlName=\"active\" color=\"primary\" class=\"active-toggle\">\n <span class=\"toggle-text\">{{sliderItemForm.get('active')?.value ? 'Active' : 'Inactive'}}</span>\n </mat-slide-toggle>\n </div>\n \n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"title\" placeholder=\"Enter title\">\n </mat-form-field>\n </div>\n \n <div class=\"form-section\" formGroupName=\"banners\">\n <h4>Banner Image</h4>\n \n <div class=\"image-container\">\n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"l\" placeholder=\"Enter image URL\">\n <mat-error *ngIf=\"sliderItemForm.get('banners.l')?.invalid\">Valid image URL is required</mat-error>\n </mat-form-field>\n \n <div class=\"upload-section\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"sliderFileInput.click()\">\n <mat-icon>cloud_upload</mat-icon> Upload Image\n </button>\n <input hidden (change)=\"onSliderImageSelected($event)\" #sliderFileInput type=\"file\" accept=\"image/*\">\n <span *ngIf=\"uploadStatus\" class=\"upload-status\">{{uploadStatus}}</span>\n </div>\n \n <div class=\"image-preview\">\n <img [src]=\"sliderItemForm.get('banners.l')?.value\" alt=\"Image Preview\" *ngIf=\"sliderItemForm.get('banners.l')?.value\">\n </div>\n \n <div class=\"note\">\n <small>\n <mat-icon class=\"small-icon\">info</mat-icon>\n The same image will be used for all banner sizes (L, M, S, XL, XS, XXL)\n </small>\n </div>\n </div>\n </div>\n \n <div class=\"form-section\">\n <h4>Navigation</h4>\n \n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"redirectUrl\" placeholder=\"Enter redirect URL (optional)\">\n </mat-form-field>\n </div>\n \n <div class=\"item-form-actions\">\n <button mat-button (click)=\"cancelSliderItemEdit()\">Cancel</button>\n <button mat-raised-button color=\"primary\" [disabled]=\"sliderItemForm.invalid\" (click)=\"saveSliderItem()\">\n Save Item\n </button>\n </div>\n </form>\n </div>\n </div>\n \n <!-- Default case -->\n <mat-form-field *ngSwitchDefault appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter {{data.displayName}}\">\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">This field is required</mat-error>\n </mat-form-field>\n </div>\n </form>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button (click)=\"onCancel()\">Cancel</button>\n <button mat-raised-button color=\"primary\" [disabled]=\"editorForm.invalid\" (click)=\"onSubmit()\">Save</button>\n</mat-dialog-actions>", styles: [".editor-form{min-width:150px;width:100%;padding:16px 0}h2.mat-dialog-title{margin-top:0;font-size:20px;font-weight:500;color:#333}mat-dialog-content{padding:0 8px}mat-form-field{margin-bottom:16px}.color-picker-container{display:flex;align-items:center;gap:16px;margin-bottom:16px}.color-preview{width:40px;height:40px;border-radius:4px;border:1px solid #ccc;box-shadow:0 2px 4px #0000001a}.image-container{margin-bottom:16px}.upload-section{display:flex;align-items:center;margin:16px 0;gap:16px}.upload-status{margin-left:12px;font-size:14px;color:#666}.image-preview{margin-top:16px;max-width:100%;background-color:#f5f5f5;border-radius:4px;padding:8px}.image-preview img{max-width:100%;max-height:200px;object-fit:contain;border-radius:4px;box-shadow:0 2px 4px #0000001a}.complex-editor{margin:16px 0;padding:16px;border:1px solid #e0e0e0;border-radius:4px;background-color:#f9f9f9}mat-slide-toggle{margin:16px 0;display:block}mat-dialog-actions{padding:16px 0;margin-bottom:0}button[mat-button],button[mat-raised-button]{min-width:88px;margin-left:8px}.slider-editor{display:flex;flex-direction:column;gap:20px}.slider-preview-container{margin-bottom:20px}.slider-preview{border:1px solid #ddd;border-radius:4px;padding:16px;background-color:#f9f9f9}.slider-items-container{margin-bottom:20px}.slider-items{max-height:300px;overflow-y:auto;margin-bottom:15px}.slider-item{display:flex;align-items:center;padding:10px;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;background-color:#fff;cursor:move}.slider-item:hover{border-color:#aaa;background-color:#f8f8f8}.slider-item.cdk-drag-placeholder{opacity:0}.slider-item.cdk-drag-preview{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.item-preview{display:flex;align-items:center;gap:10px;flex:1}.item-image{width:80px;height:50px;object-fit:cover;border-radius:4px}.item-details{display:flex;flex-direction:column}.item-title{font-weight:700}.item-description{font-size:.9em;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.item-actions{display:flex;gap:5px}.no-items{padding:15px;text-align:center;color:#666;background-color:#f9f9f9;border-radius:4px;margin-bottom:15px}.add-item-btn{margin-bottom:15px}.slider-item-editor{border:1px solid #ddd;border-radius:4px;padding:15px;margin-top:20px}.slider-item-form{display:flex;flex-direction:column;gap:15px}.image-container{display:flex;flex-direction:column;gap:10px}.upload-section{display:flex;align-items:center;gap:10px}.upload-status{color:#3f51b5;font-style:italic}.image-preview{margin-top:10px}.image-preview img{max-width:100%;max-height:200px;border-radius:4px;border:1px solid #ddd}.item-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.full-width{width:100%}.toggle-container{display:flex;align-items:center;margin-bottom:16px;padding:10px;border-radius:4px;background-color:#f5f5f5}.toggle-label{margin-right:12px;font-weight:500;color:#333}.active-toggle{display:flex;align-items:center}.active-toggle .mat-slide-toggle-content{font-weight:500}.toggle-text{margin-left:8px;font-weight:500;color:#333}.toggle-text:empty:before{content:\"Inactive\";color:#888}.cdk-drop-list-dragging .slider-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.form-section{margin-bottom:24px}.form-section h4{margin-bottom:12px;font-weight:500;color:#333;border-bottom:1px solid #eee;padding-bottom:8px}.note{margin-top:8px;background-color:#f8f9fa;padding:8px;border-radius:4px;border-left:3px solid #3f51b5}.small-icon{font-size:16px;height:16px;width:16px;vertical-align:middle;margin-right:4px}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SlidersLibComponent, selector: "sb-uic-sliders", inputs: ["widgetData", "styleData", "title", "type"] }, { kind: "directive", type: i7$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i5.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$1.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatLegacySlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i11.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i11.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i11.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
14514
|
-
}
|
|
14515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorDialogComponent, decorators: [{
|
|
14516
|
-
type: Component,
|
|
14517
|
-
args: [{ selector: 'app-editor-dialog', template: "<h2 mat-dialog-title>Edit {{data.displayName}}</h2>\n<mat-dialog-content>\n <form [formGroup]=\"editorForm\" class=\"editor-form\">\n <div [ngSwitch]=\"formType\">\n <!-- Text input -->\n <mat-form-field *ngSwitchCase=\"'text'\" appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter {{data.displayName}}\">\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">This field is required</mat-error>\n </mat-form-field>\n \n <!-- Textarea -->\n <mat-form-field *ngSwitchCase=\"'textarea'\" appearance=\"outline\" class=\"full-width\">\n <textarea matInput formControlName=\"value\" placeholder=\"Enter {{data.displayName}}\" rows=\"5\"></textarea>\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">This field is required</mat-error>\n </mat-form-field>\n \n <!-- Color picker -->\n <div *ngSwitchCase=\"'color'\" class=\"color-picker-container\">\n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter color code (e.g., #FF5733)\">\n <mat-error *ngIf=\"editorForm.get('value')?.hasError('required')\">Color is required</mat-error>\n <mat-error *ngIf=\"editorForm.get('value')?.hasError('pattern')\">Invalid color format</mat-error>\n </mat-form-field>\n <div class=\"color-preview\" [style.background-color]=\"editorForm.get('value')?.value\"></div>\n </div>\n \n <!-- Image URL with upload option -->\n <div *ngSwitchCase=\"'image'\" class=\"image-container\">\n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter image URL\">\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">Valid image URL is required</mat-error>\n </mat-form-field>\n \n <div class=\"upload-section\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"fileInput.click()\">\n <mat-icon>cloud_upload</mat-icon> Upload Image\n </button>\n <input hidden (change)=\"onFileSelected($event)\" #fileInput type=\"file\" accept=\"image/*\">\n <span *ngIf=\"uploadStatus\" class=\"upload-status\">{{uploadStatus}}</span>\n </div>\n \n <div class=\"image-preview\">\n <img [src]=\"editorForm.get('value')?.value\" alt=\"Image Preview\" *ngIf=\"editorForm.get('value')?.value\">\n </div>\n </div>\n \n <!-- Boolean toggle -->\n <mat-slide-toggle *ngSwitchCase=\"'boolean'\" formControlName=\"value\" color=\"primary\">\n {{editorForm.get('value')?.value ? 'Enabled' : 'Disabled'}}\n </mat-slide-toggle>\n \n <!-- For complex types like metrics -->\n <div *ngSwitchCase=\"'metrics'\" class=\"complex-editor\">\n <p>Metrics editor not yet implemented</p>\n <!-- Implement metrics editor UI here -->\n </div>\n \n <!-- Slider implementation -->\n <div *ngSwitchCase=\"'slider'\" class=\"slider-editor\">\n <!-- Slider Preview -->\n <div class=\"slider-preview-container\">\n <h3>Preview</h3>\n <div class=\"slider-preview\">\n <sb-uic-sliders \n [widgetData]=\"sliderData.sliders\" \n [styleData]=\"sliderData.styleData\"\n (clickEvent)=\"onSliderClick($event)\">\n </sb-uic-sliders>\n </div>\n </div>\n \n <!-- Slider Items Management -->\n <div class=\"slider-items-container\">\n <h3>Slider Items</h3>\n \n <div class=\"slider-items\" *ngIf=\"sliderData.sliders.length\" cdkDropList (cdkDropListDropped)=\"dropSliderItem($event)\">\n <div *ngFor=\"let item of sliderData.sliders; let i = index\" class=\"slider-item\" cdkDrag>\n <div class=\"drag-handle\" cdkDragHandle>\n <mat-icon>drag_indicator</mat-icon>\n </div>\n <div class=\"item-preview\">\n <img [src]=\"item?.banners?.l\" alt=\"Slider image\" class=\"item-image\">\n <div class=\"item-details\">\n <div class=\"item-title\">{{item.title || 'No title'}}</div>\n <div class=\"item-status\" [class.active]=\"item.active\">\n {{item.active ? 'Active' : 'Inactive'}}\n </div>\n </div>\n </div>\n <div class=\"item-actions\">\n <button mat-icon-button color=\"primary\" (click)=\"editSliderItem(i)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button color=\"warn\" (click)=\"removeSliderItem(i)\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n \n <div *ngIf=\"!sliderData.sliders.length\" class=\"no-items\">\n No slider items available. Add some items to see them here.\n </div>\n <button mat-raised-button color=\"primary\" class=\"add-item-btn\" (click)=\"addSliderItem()\">\n <mat-icon>add</mat-icon> Add Slider Item\n </button>\n </div>\n \n <!-- Item Editor (when editing) -->\n <div *ngIf=\"isEditingSlider\" class=\"slider-item-editor\">\n <h3>{{editingIndex === -1 ? 'Add' : 'Edit'}} Slider Item</h3>\n <form [formGroup]=\"sliderItemForm\" class=\"slider-item-form\">\n <div class=\"form-section\">\n <h4>Basic Information</h4>\n \n <div class=\"toggle-container\">\n <label class=\"toggle-label\">Item Status:</label>\n <mat-slide-toggle formControlName=\"active\" color=\"primary\" class=\"active-toggle\">\n <span class=\"toggle-text\">{{sliderItemForm.get('active')?.value ? 'Active' : 'Inactive'}}</span>\n </mat-slide-toggle>\n </div>\n \n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"title\" placeholder=\"Enter title\">\n </mat-form-field>\n </div>\n \n <div class=\"form-section\" formGroupName=\"banners\">\n <h4>Banner Image</h4>\n \n <div class=\"image-container\">\n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"l\" placeholder=\"Enter image URL\">\n <mat-error *ngIf=\"sliderItemForm.get('banners.l')?.invalid\">Valid image URL is required</mat-error>\n </mat-form-field>\n \n <div class=\"upload-section\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"sliderFileInput.click()\">\n <mat-icon>cloud_upload</mat-icon> Upload Image\n </button>\n <input hidden (change)=\"onSliderImageSelected($event)\" #sliderFileInput type=\"file\" accept=\"image/*\">\n <span *ngIf=\"uploadStatus\" class=\"upload-status\">{{uploadStatus}}</span>\n </div>\n \n <div class=\"image-preview\">\n <img [src]=\"sliderItemForm.get('banners.l')?.value\" alt=\"Image Preview\" *ngIf=\"sliderItemForm.get('banners.l')?.value\">\n </div>\n \n <div class=\"note\">\n <small>\n <mat-icon class=\"small-icon\">info</mat-icon>\n The same image will be used for all banner sizes (L, M, S, XL, XS, XXL)\n </small>\n </div>\n </div>\n </div>\n \n <div class=\"form-section\">\n <h4>Navigation</h4>\n \n <mat-form-field appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"redirectUrl\" placeholder=\"Enter redirect URL (optional)\">\n </mat-form-field>\n </div>\n \n <div class=\"item-form-actions\">\n <button mat-button (click)=\"cancelSliderItemEdit()\">Cancel</button>\n <button mat-raised-button color=\"primary\" [disabled]=\"sliderItemForm.invalid\" (click)=\"saveSliderItem()\">\n Save Item\n </button>\n </div>\n </form>\n </div>\n </div>\n \n <!-- Default case -->\n <mat-form-field *ngSwitchDefault appearance=\"outline\" class=\"full-width\">\n <input matInput formControlName=\"value\" placeholder=\"Enter {{data.displayName}}\">\n <mat-error *ngIf=\"editorForm.get('value')?.invalid\">This field is required</mat-error>\n </mat-form-field>\n </div>\n </form>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button (click)=\"onCancel()\">Cancel</button>\n <button mat-raised-button color=\"primary\" [disabled]=\"editorForm.invalid\" (click)=\"onSubmit()\">Save</button>\n</mat-dialog-actions>", styles: [".editor-form{min-width:150px;width:100%;padding:16px 0}h2.mat-dialog-title{margin-top:0;font-size:20px;font-weight:500;color:#333}mat-dialog-content{padding:0 8px}mat-form-field{margin-bottom:16px}.color-picker-container{display:flex;align-items:center;gap:16px;margin-bottom:16px}.color-preview{width:40px;height:40px;border-radius:4px;border:1px solid #ccc;box-shadow:0 2px 4px #0000001a}.image-container{margin-bottom:16px}.upload-section{display:flex;align-items:center;margin:16px 0;gap:16px}.upload-status{margin-left:12px;font-size:14px;color:#666}.image-preview{margin-top:16px;max-width:100%;background-color:#f5f5f5;border-radius:4px;padding:8px}.image-preview img{max-width:100%;max-height:200px;object-fit:contain;border-radius:4px;box-shadow:0 2px 4px #0000001a}.complex-editor{margin:16px 0;padding:16px;border:1px solid #e0e0e0;border-radius:4px;background-color:#f9f9f9}mat-slide-toggle{margin:16px 0;display:block}mat-dialog-actions{padding:16px 0;margin-bottom:0}button[mat-button],button[mat-raised-button]{min-width:88px;margin-left:8px}.slider-editor{display:flex;flex-direction:column;gap:20px}.slider-preview-container{margin-bottom:20px}.slider-preview{border:1px solid #ddd;border-radius:4px;padding:16px;background-color:#f9f9f9}.slider-items-container{margin-bottom:20px}.slider-items{max-height:300px;overflow-y:auto;margin-bottom:15px}.slider-item{display:flex;align-items:center;padding:10px;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;background-color:#fff;cursor:move}.slider-item:hover{border-color:#aaa;background-color:#f8f8f8}.slider-item.cdk-drag-placeholder{opacity:0}.slider-item.cdk-drag-preview{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.item-preview{display:flex;align-items:center;gap:10px;flex:1}.item-image{width:80px;height:50px;object-fit:cover;border-radius:4px}.item-details{display:flex;flex-direction:column}.item-title{font-weight:700}.item-description{font-size:.9em;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.item-actions{display:flex;gap:5px}.no-items{padding:15px;text-align:center;color:#666;background-color:#f9f9f9;border-radius:4px;margin-bottom:15px}.add-item-btn{margin-bottom:15px}.slider-item-editor{border:1px solid #ddd;border-radius:4px;padding:15px;margin-top:20px}.slider-item-form{display:flex;flex-direction:column;gap:15px}.image-container{display:flex;flex-direction:column;gap:10px}.upload-section{display:flex;align-items:center;gap:10px}.upload-status{color:#3f51b5;font-style:italic}.image-preview{margin-top:10px}.image-preview img{max-width:100%;max-height:200px;border-radius:4px;border:1px solid #ddd}.item-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.full-width{width:100%}.toggle-container{display:flex;align-items:center;margin-bottom:16px;padding:10px;border-radius:4px;background-color:#f5f5f5}.toggle-label{margin-right:12px;font-weight:500;color:#333}.active-toggle{display:flex;align-items:center}.active-toggle .mat-slide-toggle-content{font-weight:500}.toggle-text{margin-left:8px;font-weight:500;color:#333}.toggle-text:empty:before{content:\"Inactive\";color:#888}.cdk-drop-list-dragging .slider-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.form-section{margin-bottom:24px}.form-section h4{margin-bottom:12px;font-weight:500;color:#333;border-bottom:1px solid #eee;padding-bottom:8px}.note{margin-top:8px;background-color:#f8f9fa;padding:8px;border-radius:4px;border-left:3px solid #3f51b5}.small-icon{font-size:16px;height:16px;width:16px;vertical-align:middle;margin-right:4px}\n"] }]
|
|
14518
|
-
}], ctorParameters: function () { return [{ type: i7$1.FormBuilder }, { type: i1.HttpClient }, { type: i3$1.MatDialogRef }, { type: undefined, decorators: [{
|
|
14519
|
-
type: Inject,
|
|
14520
|
-
args: [MAT_DIALOG_DATA]
|
|
14521
|
-
}] }]; } });
|
|
14522
|
-
|
|
14523
|
-
class TopSectionComponent {
|
|
14524
|
-
constructor(data, channelName, orgId, isMobile, slwConfig, isEdit, eventCallback, sanitizer) {
|
|
14525
|
-
this.data = data;
|
|
14526
|
-
this.channelName = channelName;
|
|
14527
|
-
this.orgId = orgId;
|
|
14528
|
-
this.isMobile = isMobile;
|
|
14529
|
-
this.slwConfig = slwConfig;
|
|
14530
|
-
this.isEdit = isEdit;
|
|
14531
|
-
this.eventCallback = eventCallback;
|
|
14532
|
-
this.sanitizer = sanitizer;
|
|
14533
|
-
this.descriptionMaxLength = 500;
|
|
14534
|
-
if (this.isEdit) {
|
|
14535
|
-
console.log('Edit mode active for top section');
|
|
14536
|
-
}
|
|
14537
|
-
}
|
|
14538
|
-
ngOnInit() {
|
|
14539
|
-
this.stripWidth = `${(window.innerWidth - 1200 + 135) / 2}px`;
|
|
14540
|
-
}
|
|
14541
|
-
emitEvent(action, id, data) {
|
|
14542
|
-
this.eventCallback({
|
|
14543
|
-
action,
|
|
14544
|
-
source: 'topSection',
|
|
14545
|
-
id,
|
|
14546
|
-
data: data || this.data
|
|
14547
|
-
});
|
|
14548
|
-
}
|
|
14549
|
-
openEditor(fieldName, displayName, currentValue) {
|
|
14550
|
-
this.eventCallback({
|
|
14551
|
-
action: 'edit',
|
|
14552
|
-
source: 'topSection',
|
|
14553
|
-
id: fieldName,
|
|
14554
|
-
data: {
|
|
14555
|
-
fieldName,
|
|
14556
|
-
displayName,
|
|
14557
|
-
currentValue,
|
|
14558
|
-
path: fieldName,
|
|
14559
|
-
fieldType: this.getFieldType(fieldName, currentValue),
|
|
14560
|
-
parentData: this.data
|
|
14561
|
-
}
|
|
14562
|
-
});
|
|
14563
|
-
}
|
|
14564
|
-
getFieldType(fieldName, value) {
|
|
14565
|
-
if (fieldName === 'logo' || fieldName === 'logoMobile' || fieldName.includes('banner')) {
|
|
14566
|
-
return 'image';
|
|
14567
|
-
}
|
|
14568
|
-
else if (fieldName === 'sliderData') {
|
|
14569
|
-
return 'slider';
|
|
14570
|
-
}
|
|
14571
|
-
else if (fieldName === 'metrics') {
|
|
14572
|
-
return 'metrics';
|
|
14573
|
-
}
|
|
14574
|
-
else if (typeof value === 'string' && value.startsWith('#')) {
|
|
14575
|
-
return 'color';
|
|
14576
|
-
}
|
|
14577
|
-
else if (typeof value === 'boolean') {
|
|
14578
|
-
return 'boolean';
|
|
14579
|
-
}
|
|
14580
|
-
else if (fieldName.includes('description')) {
|
|
14581
|
-
return 'textarea';
|
|
14582
|
-
}
|
|
14583
|
-
else {
|
|
14584
|
-
return 'text';
|
|
14585
|
-
}
|
|
14586
|
-
}
|
|
14587
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopSectionComponent, deps: [{ token: 'sectionData' }, { token: 'channelName' }, { token: 'orgId' }, { token: 'isMobile' }, { token: 'slwConfiguration' }, { token: 'isEdit' }, { token: 'eventCallback' }, { token: i1$6.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14588
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TopSectionComponent, selector: "app-top-section", ngImport: i0, template: "<div class=\"hidden md:block\" *ngIf=\"!isMobile\">\n <div class=\"web-banner-background\" [style.background]=\"data?.background\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div *ngIf=\"!isEdit\" class=\"flex sticky-logo-square\" [style.width]=\"stripWidth\"></div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-xxxl mb-10\">\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"flex-1 flex flex-col mr-4 ws-mat-black-text\">\n <div class=\"\">\n <div class=\"flex items-center logo-square\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('logo', 'Logo', data?.logo)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </div>\n <h1 class=\"txt-ellipsis-2 break-words pt-10 mt-2 {{data?.titleClass}}\" [style.color]=\"data?.titleColor\">\n {{data.title || channelName}}\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('title', 'Title', data?.title || channelName)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </h1>\n <h4 *ngIf=\"data?.subTitle\" class=\"txt-ellipsis-2 break-words {{data?.subTitleClass}}\" [style.color]=\"data?.subTitleColor\">\n {{data?.subTitle}}\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('subTitle', 'Subtitle', data?.subTitle)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </h4>\n <h4 *ngIf=\"data?.subTitleTwo\" class=\"sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwo\">\n {{data?.subTitleTwo}}\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('subTitleTwo', 'Secondary Subtitle', data?.subTitleTwo)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </h4>\n <p class=\"mat-body-1\" [style.color]=\"data?.descriptionColor\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('description', 'Description', data?.description)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\" (clickEvent)=\"emitEvent('slider-click', $event)\"></sb-uic-sliders>\n <button *ngIf=\"isEdit\" class=\"edit-icon slider-edit\" (click)=\"openEditor('sliderData', 'Slider Images', data?.sliderData)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"block md:hidden\" *ngIf=\"isMobile\">\n <!-- Mobile view simplified -->\n <div class=\"col-span-12\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\" \n [styleData]=\"data?.sliderData?.styleData\" (clickEvent)=\"emitEvent('slider-click', $event)\"></sb-uic-sliders>\n </div>\n </div>\n <div class=\"container px-4 flex flex-col mob-container\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-square top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img logo-img-mb {{data?.customMobileClass}}\" [src]=\"data?.logoMobile || data?.logo\">\n </div>\n </div>\n <div class=\"w-full flex-1 flex flex-col\">\n <h1 class=\"txt-ellipsis-2 break-words\">{{data?.title || channelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\"sub-title txt-ellipsis-2 break-words\" [style.color]=\"data?.subTitleColorMobile\">\n {{data?.subTitle}}</h4>\n <p class=\"mat-body-2\">{{data?.description | slice:0:descriptionMaxLength}}</p>\n </div>\n </div>\n</div>\n\n<div class=\"flex items-center justify-center\">\n <div class=\"container metrics-section\">\n <div [class]=\"isMobile ? 'block md:hidden pt-14 px-4' : 'hidden md:block'\">\n <div [class]=\"isMobile ? 'mob-metrics mob-metrics-sec' : 'metrics'\" [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points \n [providerId]=\"orgId\" \n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" \n [layoutType]=\"isMobile ? 'singleRow' : 'singleFlexeRow'\" \n [pageLayout]=\"'mdo'\" \n [slwConfig]=\"slwConfig\"\n (metricClick)=\"emitEvent('metric-click', $event)\">\n </sb-uic-data-points>\n <button *ngIf=\"isEdit\" class=\"edit-icon metrics-edit\" (click)=\"openEditor('metrics', 'Metrics', data?.metrics)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center;position:relative}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}.edit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:#00000080;color:#fff;border:none;cursor:pointer;margin-left:8px;transition:all .2s ease;position:relative;z-index:10}.edit-icon:hover{background-color:#000c;transform:scale(1.1)}.edit-icon i{font-size:16px}.slider-edit{position:absolute;top:8px;right:8px;z-index:100}.metrics-edit{position:absolute;top:8px;right:8px}.slider-box,.metrics{position:relative}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DataPointsComponent, selector: "sb-uic-data-points", inputs: ["objectData", "layoutType", "fetchDataFromApi", "providerId", "pageLayout", "title", "slwConfig"] }, { kind: "component", type: SlidersLibComponent, selector: "sb-uic-sliders", inputs: ["widgetData", "styleData", "title", "type"] }, { kind: "pipe", type: i2$2.SlicePipe, name: "slice" }] }); }
|
|
14589
|
-
}
|
|
14590
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopSectionComponent, decorators: [{
|
|
14591
|
-
type: Component,
|
|
14592
|
-
args: [{ selector: 'app-top-section', template: "<div class=\"hidden md:block\" *ngIf=\"!isMobile\">\n <div class=\"web-banner-background\" [style.background]=\"data?.background\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div *ngIf=\"!isEdit\" class=\"flex sticky-logo-square\" [style.width]=\"stripWidth\"></div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-xxxl mb-10\">\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"flex-1 flex flex-col mr-4 ws-mat-black-text\">\n <div class=\"\">\n <div class=\"flex items-center logo-square\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('logo', 'Logo', data?.logo)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </div>\n <h1 class=\"txt-ellipsis-2 break-words pt-10 mt-2 {{data?.titleClass}}\" [style.color]=\"data?.titleColor\">\n {{data.title || channelName}}\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('title', 'Title', data?.title || channelName)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </h1>\n <h4 *ngIf=\"data?.subTitle\" class=\"txt-ellipsis-2 break-words {{data?.subTitleClass}}\" [style.color]=\"data?.subTitleColor\">\n {{data?.subTitle}}\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('subTitle', 'Subtitle', data?.subTitle)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </h4>\n <h4 *ngIf=\"data?.subTitleTwo\" class=\"sub-title-two txt-ellipsis-2 break-words pt-4 mb-8\" [style.color]=\"data?.subTitleColorTwo\">\n {{data?.subTitleTwo}}\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('subTitleTwo', 'Secondary Subtitle', data?.subTitleTwo)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </h4>\n <p class=\"mat-body-1\" [style.color]=\"data?.descriptionColor\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n <button *ngIf=\"isEdit\" class=\"edit-icon\" (click)=\"openEditor('description', 'Description', data?.description)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\"\n [styleData]=\"data?.sliderData?.styleData\" (clickEvent)=\"emitEvent('slider-click', $event)\"></sb-uic-sliders>\n <button *ngIf=\"isEdit\" class=\"edit-icon slider-edit\" (click)=\"openEditor('sliderData', 'Slider Images', data?.sliderData)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"block md:hidden\" *ngIf=\"isMobile\">\n <!-- Mobile view simplified -->\n <div class=\"col-span-12\">\n <div class=\"slider slider-box\" *ngIf=\"data?.sliderData?.sliders\">\n <sb-uic-sliders [widgetData]=\"data?.sliderData?.sliders\" \n [styleData]=\"data?.sliderData?.styleData\" (clickEvent)=\"emitEvent('slider-click', $event)\"></sb-uic-sliders>\n </div>\n </div>\n <div class=\"container px-4 flex flex-col mob-container\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-square top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img logo-img-mb {{data?.customMobileClass}}\" [src]=\"data?.logoMobile || data?.logo\">\n </div>\n </div>\n <div class=\"w-full flex-1 flex flex-col\">\n <h1 class=\"txt-ellipsis-2 break-words\">{{data?.title || channelName}}</h1>\n <h4 *ngIf=\"data?.subTitle\" class=\"sub-title txt-ellipsis-2 break-words\" [style.color]=\"data?.subTitleColorMobile\">\n {{data?.subTitle}}</h4>\n <p class=\"mat-body-2\">{{data?.description | slice:0:descriptionMaxLength}}</p>\n </div>\n </div>\n</div>\n\n<div class=\"flex items-center justify-center\">\n <div class=\"container metrics-section\">\n <div [class]=\"isMobile ? 'block md:hidden pt-14 px-4' : 'hidden md:block'\">\n <div [class]=\"isMobile ? 'mob-metrics mob-metrics-sec' : 'metrics'\" [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points \n [providerId]=\"orgId\" \n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\" \n [layoutType]=\"isMobile ? 'singleRow' : 'singleFlexeRow'\" \n [pageLayout]=\"'mdo'\" \n [slwConfig]=\"slwConfig\"\n (metricClick)=\"emitEvent('metric-click', $event)\">\n </sb-uic-data-points>\n <button *ngIf=\"isEdit\" class=\"edit-icon metrics-edit\" (click)=\"openEditor('metrics', 'Metrics', data?.metrics)\">\n <i class=\"material-icons\">edit</i>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center;position:relative}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}.edit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:#00000080;color:#fff;border:none;cursor:pointer;margin-left:8px;transition:all .2s ease;position:relative;z-index:10}.edit-icon:hover{background-color:#000c;transform:scale(1.1)}.edit-icon i{font-size:16px}.slider-edit{position:absolute;top:8px;right:8px;z-index:100}.metrics-edit{position:absolute;top:8px;right:8px}.slider-box,.metrics{position:relative}\n"] }]
|
|
14593
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14594
|
-
type: Inject,
|
|
14595
|
-
args: ['sectionData']
|
|
14596
|
-
}] }, { type: undefined, decorators: [{
|
|
14597
|
-
type: Inject,
|
|
14598
|
-
args: ['channelName']
|
|
14599
|
-
}] }, { type: undefined, decorators: [{
|
|
14600
|
-
type: Inject,
|
|
14601
|
-
args: ['orgId']
|
|
14602
|
-
}] }, { type: undefined, decorators: [{
|
|
14603
|
-
type: Inject,
|
|
14604
|
-
args: ['isMobile']
|
|
14605
|
-
}] }, { type: undefined, decorators: [{
|
|
14606
|
-
type: Inject,
|
|
14607
|
-
args: ['slwConfiguration']
|
|
14608
|
-
}] }, { type: undefined, decorators: [{
|
|
14609
|
-
type: Inject,
|
|
14610
|
-
args: ['isEdit']
|
|
14611
|
-
}] }, { type: undefined, decorators: [{
|
|
14612
|
-
type: Inject,
|
|
14613
|
-
args: ['eventCallback']
|
|
14614
|
-
}] }, { type: i1$6.DomSanitizer }]; } });
|
|
14615
|
-
|
|
14616
|
-
class LookerSectionComponent {
|
|
14617
|
-
constructor(data, isMobile, sanitizer, eventCallback) {
|
|
14618
|
-
this.data = data;
|
|
14619
|
-
this.isMobile = isMobile;
|
|
14620
|
-
this.sanitizer = sanitizer;
|
|
14621
|
-
this.eventCallback = eventCallback;
|
|
14622
|
-
}
|
|
14623
|
-
ngOnInit() {
|
|
14624
|
-
this.iframeHeight = `${window.innerWidth * 0.667}px`;
|
|
14625
|
-
this.setLookerUrl();
|
|
14626
|
-
}
|
|
14627
|
-
setLookerUrl() {
|
|
14628
|
-
const url = this.isMobile ?
|
|
14629
|
-
this.data?.lookerProMobileUrl :
|
|
14630
|
-
this.data?.lookerProDesktopUrl;
|
|
14631
|
-
if (url) {
|
|
14632
|
-
this.lookerUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);
|
|
14633
|
-
this.eventCallback({
|
|
14634
|
-
action: 'looker-loaded',
|
|
14635
|
-
source: 'lookerSection',
|
|
14636
|
-
id: 'looker-dashboard'
|
|
14637
|
-
});
|
|
14638
|
-
}
|
|
14639
|
-
}
|
|
14640
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LookerSectionComponent, deps: [{ token: 'sectionData' }, { token: 'isMobile' }, { token: i1$6.DomSanitizer }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14641
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LookerSectionComponent, selector: "app-looker-section", ngImport: i0, template: "<div class=\"flex items-center justify-center flex-wrap\">\n <div class=\"w-full flex flex-col items-center justify-center\">\n <h2 *ngIf=\"data?.header?.headerText\" class=\"pt-4\">{{data?.header?.headerText}}</h2>\n <p *ngIf=\"data?.header?.description\">{{data?.header?.description}}</p>\n </div>\n <div class=\"container mt-4 mb-4\" *ngIf=\"lookerUrl\">\n <iframe class=\"w-full\" height=\"{{iframeHeight}}\"\n [src]=\"lookerUrl\"\n frameborder=\"0\" style=\"border:0\" allowfullscreen\n sandbox=\"allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\">\n </iframe>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
14642
|
-
}
|
|
14643
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LookerSectionComponent, decorators: [{
|
|
14644
|
-
type: Component,
|
|
14645
|
-
args: [{ selector: 'app-looker-section', template: "<div class=\"flex items-center justify-center flex-wrap\">\n <div class=\"w-full flex flex-col items-center justify-center\">\n <h2 *ngIf=\"data?.header?.headerText\" class=\"pt-4\">{{data?.header?.headerText}}</h2>\n <p *ngIf=\"data?.header?.description\">{{data?.header?.description}}</p>\n </div>\n <div class=\"container mt-4 mb-4\" *ngIf=\"lookerUrl\">\n <iframe class=\"w-full\" height=\"{{iframeHeight}}\"\n [src]=\"lookerUrl\"\n frameborder=\"0\" style=\"border:0\" allowfullscreen\n sandbox=\"allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\">\n </iframe>\n </div>\n</div>" }]
|
|
14646
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14647
|
-
type: Inject,
|
|
14648
|
-
args: ['sectionData']
|
|
14649
|
-
}] }, { type: undefined, decorators: [{
|
|
14650
|
-
type: Inject,
|
|
14651
|
-
args: ['isMobile']
|
|
14652
|
-
}] }, { type: i1$6.DomSanitizer }, { type: undefined, decorators: [{
|
|
14653
|
-
type: Inject,
|
|
14654
|
-
args: ['eventCallback']
|
|
14655
|
-
}] }]; } });
|
|
14656
|
-
|
|
14657
|
-
class TopLearnersComponent {
|
|
14658
|
-
constructor(data, channelName, orgId, slwConfig, eventCallback) {
|
|
14659
|
-
this.data = data;
|
|
14660
|
-
this.channelName = channelName;
|
|
14661
|
-
this.orgId = orgId;
|
|
14662
|
-
this.slwConfig = slwConfig;
|
|
14663
|
-
this.eventCallback = eventCallback;
|
|
14664
|
-
}
|
|
14665
|
-
onEventFromLeaders(event) {
|
|
14666
|
-
this.eventCallback({
|
|
14667
|
-
action: 'top-learners',
|
|
14668
|
-
source: 'topLearners',
|
|
14669
|
-
id: event.id || 'learner-event',
|
|
14670
|
-
data: event
|
|
14671
|
-
});
|
|
14672
|
-
}
|
|
14673
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersComponent, deps: [{ token: 'sectionData' }, { token: 'channelName' }, { token: 'orgId' }, { token: 'slwConfiguration' }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14674
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TopLearnersComponent, selector: "app-top-learners", ngImport: i0, template: "<div class=\"flex items-center justify-center\">\n <div class=\"container top-learners margin-bottom-l margin-top-l\">\n <sb-uic-top-learners \n [objectData]=\"data\" \n [channnelName]=\"channelName\" \n [channelId]=\"orgId\" \n [slwConfig]=\"slwConfig\"\n (learnerEvent)=\"onEventFromLeaders($event)\">\n </sb-uic-top-learners>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "component", type: TopLearnersComponent$1, selector: "sb-uic-top-learners", inputs: ["objectData", "channelId", "channnelName", "slwConfig"] }] }); }
|
|
14675
|
-
}
|
|
14676
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TopLearnersComponent, decorators: [{
|
|
14677
|
-
type: Component,
|
|
14678
|
-
args: [{ selector: 'app-top-learners', template: "<div class=\"flex items-center justify-center\">\n <div class=\"container top-learners margin-bottom-l margin-top-l\">\n <sb-uic-top-learners \n [objectData]=\"data\" \n [channnelName]=\"channelName\" \n [channelId]=\"orgId\" \n [slwConfig]=\"slwConfig\"\n (learnerEvent)=\"onEventFromLeaders($event)\">\n </sb-uic-top-learners>\n </div>\n</div>" }]
|
|
14679
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14680
|
-
type: Inject,
|
|
14681
|
-
args: ['sectionData']
|
|
14682
|
-
}] }, { type: undefined, decorators: [{
|
|
14683
|
-
type: Inject,
|
|
14684
|
-
args: ['channelName']
|
|
14685
|
-
}] }, { type: undefined, decorators: [{
|
|
14686
|
-
type: Inject,
|
|
14687
|
-
args: ['orgId']
|
|
14688
|
-
}] }, { type: undefined, decorators: [{
|
|
14689
|
-
type: Inject,
|
|
14690
|
-
args: ['slwConfiguration']
|
|
14691
|
-
}] }, { type: undefined, decorators: [{
|
|
14692
|
-
type: Inject,
|
|
14693
|
-
args: ['eventCallback']
|
|
14694
|
-
}] }]; } });
|
|
14695
|
-
|
|
14696
|
-
class CompetencyComponent {
|
|
14697
|
-
constructor(orgId, eventCallback) {
|
|
14698
|
-
this.orgId = orgId;
|
|
14699
|
-
this.eventCallback = eventCallback;
|
|
14700
|
-
this.emptyResponse = new EventEmitter();
|
|
14701
|
-
this.telemetryResponse = new EventEmitter();
|
|
14702
|
-
this.hideCompetencyBlock = false;
|
|
14703
|
-
}
|
|
14704
|
-
hideCompetency(event) {
|
|
14705
|
-
this.hideCompetencyBlock = event;
|
|
14706
|
-
this.emptyResponse.emit(event);
|
|
14707
|
-
this.eventCallback({
|
|
14708
|
-
action: 'hide-competency',
|
|
14709
|
-
source: 'competency',
|
|
14710
|
-
id: 'competency-block'
|
|
14711
|
-
});
|
|
14712
|
-
}
|
|
14713
|
-
raiseCompetencyTelemetry(name) {
|
|
14714
|
-
this.telemetryResponse.emit(name);
|
|
14715
|
-
this.eventCallback({
|
|
14716
|
-
action: 'competency-click',
|
|
14717
|
-
source: 'competency',
|
|
14718
|
-
id: `${name}-core-expertise`
|
|
14719
|
-
});
|
|
14720
|
-
}
|
|
14721
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompetencyComponent, deps: [{ token: 'orgId' }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14722
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CompetencyComponent, selector: "app-competency", inputs: { competency: "competency" }, outputs: { emptyResponse: "emptyResponse", telemetryResponse: "telemetryResponse" }, ngImport: i0, template: "<div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock; else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">\n This section shows the list of top competencies users in this MDO are learning, \n based on the courses they've completed and enrolled in.\n </p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo \n [dynamicColor]=\"'#999999'\" \n [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" \n (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" \n [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n</div>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CompetencyPassbookMdoComponent, selector: "sb-uic-competency-passbook-mdo", inputs: ["objectData", "providerId", "cardDisplayCount", "dynamicClass", "dynamicColor", "dynamicAlignPills"], outputs: ["emptyResponse", "temeletryResponse"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
14723
|
-
}
|
|
14724
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompetencyComponent, decorators: [{
|
|
14725
|
-
type: Component,
|
|
14726
|
-
args: [{ selector: 'app-competency', template: "<div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock; else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">\n This section shows the list of top competencies users in this MDO are learning, \n based on the courses they've completed and enrolled in.\n </p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo \n [dynamicColor]=\"'#999999'\" \n [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" \n (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" \n [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n</div>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>" }]
|
|
14727
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14728
|
-
type: Inject,
|
|
14729
|
-
args: ['orgId']
|
|
14730
|
-
}] }, { type: undefined, decorators: [{
|
|
14731
|
-
type: Inject,
|
|
14732
|
-
args: ['eventCallback']
|
|
14733
|
-
}] }]; }, propDecorators: { competency: [{
|
|
14734
|
-
type: Input
|
|
14735
|
-
}], emptyResponse: [{
|
|
14736
|
-
type: Output
|
|
14737
|
-
}], telemetryResponse: [{
|
|
14738
|
-
type: Output
|
|
14739
|
-
}] } });
|
|
14740
|
-
|
|
14741
|
-
class ContentStripComponent {
|
|
14742
|
-
constructor(orgId, channelName, eventCallback) {
|
|
14743
|
-
this.orgId = orgId;
|
|
14744
|
-
this.channelName = channelName;
|
|
14745
|
-
this.eventCallback = eventCallback;
|
|
14746
|
-
this.viewAllResponse = new EventEmitter();
|
|
14747
|
-
this.telemetryResponse = new EventEmitter();
|
|
14748
|
-
}
|
|
14749
|
-
showAllContent(event) {
|
|
14750
|
-
this.viewAllResponse.emit({
|
|
14751
|
-
event: event,
|
|
14752
|
-
data: this.data
|
|
14753
|
-
});
|
|
14754
|
-
this.eventCallback({
|
|
14755
|
-
action: 'view-all',
|
|
14756
|
-
source: 'contentStrip',
|
|
14757
|
-
id: this.data?.sectionKey || 'content-section',
|
|
14758
|
-
data: event
|
|
14759
|
-
});
|
|
14760
|
-
}
|
|
14761
|
-
raiseTelemetryInteratEvent(event) {
|
|
14762
|
-
this.telemetryResponse.emit(event);
|
|
14763
|
-
this.eventCallback({
|
|
14764
|
-
action: 'telemetry',
|
|
14765
|
-
source: 'contentStrip',
|
|
14766
|
-
id: event.id || 'content-interaction',
|
|
14767
|
-
data: event
|
|
14768
|
-
});
|
|
14769
|
-
}
|
|
14770
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripComponent, deps: [{ token: 'orgId' }, { token: 'channelName' }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14771
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentStripComponent, selector: "app-content-strip", inputs: { data: "data" }, outputs: { viewAllResponse: "viewAllResponse", telemetryResponse: "telemetryResponse" }, ngImport: i0, template: "<ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"true\" \n (viewAllResponse)=\"showAllContent($event)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" \n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }] }); }
|
|
14772
|
-
}
|
|
14773
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripComponent, decorators: [{
|
|
14774
|
-
type: Component,
|
|
14775
|
-
args: [{ selector: 'app-content-strip', template: "<ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"true\" \n (viewAllResponse)=\"showAllContent($event)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" \n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n</ng-container>" }]
|
|
14776
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14777
|
-
type: Inject,
|
|
14778
|
-
args: ['orgId']
|
|
14779
|
-
}] }, { type: undefined, decorators: [{
|
|
14780
|
-
type: Inject,
|
|
14781
|
-
args: ['channelName']
|
|
14782
|
-
}] }, { type: undefined, decorators: [{
|
|
14783
|
-
type: Inject,
|
|
14784
|
-
args: ['eventCallback']
|
|
14785
|
-
}] }]; }, propDecorators: { data: [{
|
|
14786
|
-
type: Input
|
|
14787
|
-
}], viewAllResponse: [{
|
|
14788
|
-
type: Output
|
|
14789
|
-
}], telemetryResponse: [{
|
|
14790
|
-
type: Output
|
|
14791
|
-
}] } });
|
|
14792
|
-
|
|
14793
|
-
class ColumnSectionDisplayComponent {
|
|
14794
|
-
constructor() {
|
|
14795
|
-
this.data = [];
|
|
14796
|
-
this.competencyEvent = new EventEmitter();
|
|
14797
|
-
this.competencyTelemetry = new EventEmitter();
|
|
14798
|
-
this.contentTelemetry = new EventEmitter();
|
|
14799
|
-
this.viewAllEvent = new EventEmitter();
|
|
14800
|
-
this.filteredData = [];
|
|
14801
|
-
}
|
|
14802
|
-
ngOnInit() {
|
|
14803
|
-
this.filteredData = this.data?.filter(section => section?.enabled) || [];
|
|
14804
|
-
}
|
|
14805
|
-
onCompetencyEvent(event) {
|
|
14806
|
-
this.competencyEvent.emit(event);
|
|
14807
|
-
}
|
|
14808
|
-
onCompetencyTelemetry(event) {
|
|
14809
|
-
this.competencyTelemetry.emit(event);
|
|
14810
|
-
}
|
|
14811
|
-
onContentTelemetry(event) {
|
|
14812
|
-
this.contentTelemetry.emit(event);
|
|
14813
|
-
}
|
|
14814
|
-
onViewAllEvent(event, data) {
|
|
14815
|
-
this.viewAllEvent.emit({
|
|
14816
|
-
event: event,
|
|
14817
|
-
data: data
|
|
14818
|
-
});
|
|
14819
|
-
}
|
|
14820
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnSectionDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14821
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnSectionDisplayComponent, selector: "app-column-section-display", inputs: { data: "data", orgId: "orgId", channelName: "channelName" }, outputs: { competencyEvent: "competencyEvent", competencyTelemetry: "competencyTelemetry", contentTelemetry: "contentTelemetry", viewAllEvent: "viewAllEvent" }, ngImport: i0, template: "<ng-container *ngIf=\"filteredData?.length\">\n <ng-container *ngFor=\"let section of filteredData\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}}\">\n <ng-container *ngIf=\"column?.enabled\">\n <!-- Competency component -->\n <app-competency \n *ngIf=\"column?.key === 'competency'\"\n [competency]=\"column\"\n (emptyResponse)=\"onCompetencyEvent($event)\"\n (telemetryResponse)=\"onCompetencyTelemetry($event)\">\n </app-competency>\n \n <!-- Content strip components -->\n <app-content-strip\n *ngIf=\"column?.key.includes('content')\"\n [data]=\"{contentStrip: column?.data, sectionKey: section.key}\"\n (viewAllResponse)=\"onViewAllEvent($event.event, $event.data)\"\n (telemetryResponse)=\"onContentTelemetry($event)\">\n </app-content-strip>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CompetencyComponent, selector: "app-competency", inputs: ["competency"], outputs: ["emptyResponse", "telemetryResponse"] }, { kind: "component", type: ContentStripComponent, selector: "app-content-strip", inputs: ["data"], outputs: ["viewAllResponse", "telemetryResponse"] }] }); }
|
|
14822
|
-
}
|
|
14823
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnSectionDisplayComponent, decorators: [{
|
|
14824
|
-
type: Component,
|
|
14825
|
-
args: [{ selector: 'app-column-section-display', template: "<ng-container *ngIf=\"filteredData?.length\">\n <ng-container *ngFor=\"let section of filteredData\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}}\">\n <ng-container *ngIf=\"column?.enabled\">\n <!-- Competency component -->\n <app-competency \n *ngIf=\"column?.key === 'competency'\"\n [competency]=\"column\"\n (emptyResponse)=\"onCompetencyEvent($event)\"\n (telemetryResponse)=\"onCompetencyTelemetry($event)\">\n </app-competency>\n \n <!-- Content strip components -->\n <app-content-strip\n *ngIf=\"column?.key.includes('content')\"\n [data]=\"{contentStrip: column?.data, sectionKey: section.key}\"\n (viewAllResponse)=\"onViewAllEvent($event.event, $event.data)\"\n (telemetryResponse)=\"onContentTelemetry($event)\">\n </app-content-strip>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n</ng-container>" }]
|
|
14826
|
-
}], propDecorators: { data: [{
|
|
14827
|
-
type: Input
|
|
14828
|
-
}], orgId: [{
|
|
14829
|
-
type: Input
|
|
14830
|
-
}], channelName: [{
|
|
14831
|
-
type: Input
|
|
14832
|
-
}], competencyEvent: [{
|
|
14833
|
-
type: Output
|
|
14834
|
-
}], competencyTelemetry: [{
|
|
14835
|
-
type: Output
|
|
14836
|
-
}], contentTelemetry: [{
|
|
14837
|
-
type: Output
|
|
14838
|
-
}], viewAllEvent: [{
|
|
14839
|
-
type: Output
|
|
14840
|
-
}] } });
|
|
14841
|
-
|
|
14842
|
-
class MobileSectionsComponent {
|
|
14843
|
-
constructor() {
|
|
14844
|
-
this.leaderboardTabClicked = new EventEmitter();
|
|
14845
|
-
}
|
|
14846
|
-
onTabClicked(event) {
|
|
14847
|
-
this.leaderboardTabClicked.emit(event);
|
|
14848
|
-
}
|
|
14849
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileSectionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14850
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MobileSectionsComponent, selector: "app-mobile-sections", inputs: { myProgressData: "myProgressData", speakersData: "speakersData", leaderboardData: "leaderboardData", rootOrgId: "rootOrgId", orgId: "orgId", slwConfig: "slwConfig" }, outputs: { leaderboardTabClicked: "leaderboardTabClicked" }, ngImport: i0, template: "<div class=\"block md:hidden\">\n <div *ngIf=\"myProgressData?.enabled\">\n <sb-uic-user-progress \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"myProgressData?.data\"\n [rootOrgId]=\"rootOrgId\">\n </sb-uic-user-progress>\n </div>\n</div>\n\n<div class=\"block md:hidden\">\n <div *ngIf=\"speakersData?.enabled\">\n <sb-uic-speakers \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"speakersData?.data\">\n </sb-uic-speakers>\n </div>\n</div>\n\n<div class=\"block md:hidden\">\n <div *ngIf=\"leaderboardData?.enabled\">\n <sb-uic-mdo-leaderboard \n [object]=\"leaderboardData?.data\" \n [slwConfig]=\"slwConfig\"\n (tabClicked)=\"onTabClicked($event)\" \n [orgId]=\"orgId\">\n </sb-uic-mdo-leaderboard>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UserProgressComponent, selector: "sb-uic-user-progress", inputs: ["objectData", "rootOrgId"] }, { kind: "component", type: SpeakersComponent, selector: "sb-uic-speakers", inputs: ["objectData"] }, { kind: "component", type: MdoLeaderboardComponent, selector: "sb-uic-mdo-leaderboard", inputs: ["orgId", "object", "slwConfig"], outputs: ["tabClicked"] }] }); }
|
|
14851
|
-
}
|
|
14852
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileSectionsComponent, decorators: [{
|
|
14853
|
-
type: Component,
|
|
14854
|
-
args: [{ selector: 'app-mobile-sections', template: "<div class=\"block md:hidden\">\n <div *ngIf=\"myProgressData?.enabled\">\n <sb-uic-user-progress \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"myProgressData?.data\"\n [rootOrgId]=\"rootOrgId\">\n </sb-uic-user-progress>\n </div>\n</div>\n\n<div class=\"block md:hidden\">\n <div *ngIf=\"speakersData?.enabled\">\n <sb-uic-speakers \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"speakersData?.data\">\n </sb-uic-speakers>\n </div>\n</div>\n\n<div class=\"block md:hidden\">\n <div *ngIf=\"leaderboardData?.enabled\">\n <sb-uic-mdo-leaderboard \n [object]=\"leaderboardData?.data\" \n [slwConfig]=\"slwConfig\"\n (tabClicked)=\"onTabClicked($event)\" \n [orgId]=\"orgId\">\n </sb-uic-mdo-leaderboard>\n </div>\n</div>" }]
|
|
14855
|
-
}], propDecorators: { myProgressData: [{
|
|
14856
|
-
type: Input
|
|
14857
|
-
}], speakersData: [{
|
|
14858
|
-
type: Input
|
|
14859
|
-
}], leaderboardData: [{
|
|
14860
|
-
type: Input
|
|
14861
|
-
}], rootOrgId: [{
|
|
14862
|
-
type: Input
|
|
14863
|
-
}], orgId: [{
|
|
14864
|
-
type: Input
|
|
14865
|
-
}], slwConfig: [{
|
|
14866
|
-
type: Input
|
|
14867
|
-
}], leaderboardTabClicked: [{
|
|
14868
|
-
type: Output
|
|
14869
|
-
}] } });
|
|
14870
|
-
|
|
14871
|
-
class MainContentComponent {
|
|
14872
|
-
constructor(data, channelName, orgId, isMobile, providerId, slwConfig, eventCallback, configSvc) {
|
|
14873
|
-
this.data = data;
|
|
14874
|
-
this.channelName = channelName;
|
|
14875
|
-
this.orgId = orgId;
|
|
14876
|
-
this.isMobile = isMobile;
|
|
14877
|
-
this.providerId = providerId;
|
|
14878
|
-
this.slwConfig = slwConfig;
|
|
14879
|
-
this.eventCallback = eventCallback;
|
|
14880
|
-
this.configSvc = configSvc;
|
|
14881
|
-
this.selectedIndex = 0;
|
|
14882
|
-
this.hideCompetencyBlock = false;
|
|
14883
|
-
this.contentTabEmptyResponseCount = 0;
|
|
14884
|
-
this.showModal = false;
|
|
14885
|
-
}
|
|
14886
|
-
ngOnInit() {
|
|
14887
|
-
// Initialization logic
|
|
14888
|
-
}
|
|
14889
|
-
tabClicked(event) {
|
|
14890
|
-
this.selectedIndex = event.index;
|
|
14891
|
-
this.eventCallback({
|
|
14892
|
-
action: 'tab-click',
|
|
14893
|
-
source: 'mainContent',
|
|
14894
|
-
id: `${event.tab.textLabel}-tab`
|
|
14895
|
-
});
|
|
14896
|
-
}
|
|
14897
|
-
raiseTabClick(event) {
|
|
14898
|
-
this.eventCallback({
|
|
14899
|
-
action: 'mdo-leaderboard',
|
|
14900
|
-
source: 'mainContent',
|
|
14901
|
-
id: `${event}-tab`
|
|
14902
|
-
});
|
|
14903
|
-
}
|
|
14904
|
-
hideKeyHightlight(event, data) {
|
|
14905
|
-
if (event) {
|
|
14906
|
-
data.enabled = false;
|
|
14907
|
-
this.eventCallback({
|
|
14908
|
-
action: 'hide-highlight',
|
|
14909
|
-
source: 'mainContent',
|
|
14910
|
-
id: 'key-highlight'
|
|
14911
|
-
});
|
|
14912
|
-
}
|
|
14913
|
-
}
|
|
14914
|
-
triggerOpenDialog(event) {
|
|
14915
|
-
if (event) {
|
|
14916
|
-
this.showModal = true;
|
|
14917
|
-
document.body.style.overflow = 'hidden';
|
|
14918
|
-
}
|
|
14919
|
-
this.eventCallback({
|
|
14920
|
-
action: 'open-dialog',
|
|
14921
|
-
source: 'mainContent',
|
|
14922
|
-
id: 'key-announcements'
|
|
14923
|
-
});
|
|
14924
|
-
}
|
|
14925
|
-
onClose() {
|
|
14926
|
-
this.showModal = false;
|
|
14927
|
-
document.body.style.overflow = 'auto';
|
|
14928
|
-
this.eventCallback({
|
|
14929
|
-
action: 'close-dialog',
|
|
14930
|
-
source: 'mainContent',
|
|
14931
|
-
id: 'key-announcements'
|
|
14932
|
-
});
|
|
14933
|
-
}
|
|
14934
|
-
raiseTelemetryInteratEvent(event) {
|
|
14935
|
-
this.eventCallback({
|
|
14936
|
-
action: 'telemetry',
|
|
14937
|
-
source: 'mainContent',
|
|
14938
|
-
id: event.id || 'content-interaction',
|
|
14939
|
-
data: event
|
|
14940
|
-
});
|
|
14941
|
-
}
|
|
14942
|
-
showAllContent(event, data) {
|
|
14943
|
-
this.eventCallback({
|
|
14944
|
-
action: 'view-all',
|
|
14945
|
-
source: 'mainContent',
|
|
14946
|
-
id: data?.sectionKey || 'content-section',
|
|
14947
|
-
data: event
|
|
14948
|
-
});
|
|
14949
|
-
}
|
|
14950
|
-
hideCompetency(event) {
|
|
14951
|
-
if (event) {
|
|
14952
|
-
this.hideCompetencyBlock = true;
|
|
14953
|
-
this.eventCallback({
|
|
14954
|
-
action: 'hide-competency',
|
|
14955
|
-
source: 'mainContent',
|
|
14956
|
-
id: 'competency-block'
|
|
14957
|
-
});
|
|
14958
|
-
}
|
|
14959
|
-
}
|
|
14960
|
-
raiseCompetencyTelemetry(name) {
|
|
14961
|
-
this.eventCallback({
|
|
14962
|
-
action: 'competency-click',
|
|
14963
|
-
source: 'mainContent',
|
|
14964
|
-
id: `${name}-core-expertise`
|
|
14965
|
-
});
|
|
14966
|
-
}
|
|
14967
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainContentComponent, deps: [{ token: 'sectionData' }, { token: 'channelName' }, { token: 'orgId' }, { token: 'isMobile' }, { token: 'providerId' }, { token: 'slwConfiguration' }, { token: 'eventCallback' }, { token: i2.ConfigurationsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14968
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MainContentComponent, selector: "app-main-content", ngImport: i0, template: "<div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data?.background}\">\n <div class=\"container\">\n <!-- Mobile view components -->\n <ng-container *ngIf=\"isMobile\">\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" \n [providerId]=\"providerId\"\n [mode]=\"'mobile'\">\n </sb-uic-key-highlights>\n </div>\n \n <!-- Other mobile sections (condensed) -->\n <div class=\"block md:hidden\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\"></sb-uic-highlights-of-week>\n </div>\n \n <!-- Mobile progress, speakers, leaderboard -->\n <ng-container *ngIf=\"isMobile\">\n <app-mobile-sections \n [myProgressData]=\"data?.stateLearningWeekSection?.myprogress\"\n [speakersData]=\"data?.stateLearningWeekSection?.speakerOftheDay\"\n [leaderboardData]=\"data?.stateLearningWeekSection?.mdoLeaderboard\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\"\n [orgId]=\"orgId\"\n [slwConfig]=\"slwConfig\"\n (leaderboardTabClicked)=\"raiseTabClick($event)\">\n </app-mobile-sections>\n </ng-container>\n \n <!-- Mobile CBP Plan -->\n <div class=\"block md:hidden col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <sb-uic-cbp-plan \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\" \n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" \n [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n \n <!-- Mobile announcements -->\n <div class=\"block md:hidden col-span-12 mt-6\" *ngIf=\"!data?.announcementSection?.disable\">\n <sb-uic-announcements \n [layoutType]=\"'mobile'\" \n (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" \n [fetchDataFromApi]=\"false\" \n [channelId]=\"orgId\">\n </sb-uic-announcements>\n \n <!-- Announcement dialog -->\n <div class=\"announcements-container\" *ngIf=\"showModal\">\n <div class=\"cursor-pointer close-share-dialog\">\n <mat-icon (click)=\"onClose()\" class=\"close-icon\">close</mat-icon>\n </div>\n <div class=\"share-modal px-3 pt-8\">\n <sb-uic-announcements \n [layoutType]=\"'web'\" \n (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" \n [mobileHeight]=\"true\"\n [fetchDataFromApi]=\"true\" \n [channelId]=\"orgId\">\n </sb-uic-announcements>\n </div>\n </div>\n </div>\n </ng-container>\n \n <!-- Desktop Key Highlights -->\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\">\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" \n [providerId]=\"providerId\"\n [mode]=\"'desktop'\">\n </sb-uic-key-highlights>\n </div>\n </div>\n </div>\n </div>\n \n <!-- Main grid layout -->\n <div class=\"grid grid-cols-12 gap-4 padding-top-m mb-6\">\n <!-- Main tab section -->\n <div class=\"col-span-12 md:col-span-{{data.tabSection.colspan}}\">\n <!-- Week highlights (desktop) -->\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\"></sb-uic-highlights-of-week>\n </div>\n \n <!-- Mandatory courses -->\n <ng-container *ngIf=\"data?.stateLearningWeekSection?.mandatoryCourse?.enabled && \n data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </ng-container>\n \n <!-- Learning content -->\n <ng-container *ngIf=\"data?.stateLearningWeekSection?.exploreLearningContent?.enabled && \n data?.stateLearningWeekSection?.exploreLearningContent?.strips[0]\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.exploreLearningContent\"\n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </ng-container>\n \n <!-- Events -->\n <div *ngIf=\"data?.stateLearningWeekSection?.events?.enabled && \n data?.stateLearningWeekSection?.events?.column?.length &&\n data?.stateLearningWeekSection?.events?.column[0]\">\n <sb-uic-events \n [object]=\"data?.stateLearningWeekSection?.events?.column[0]\"\n [nwlEventsConfig]=\"slwConfig\">\n </sb-uic-events>\n </div>\n \n <!-- Tabs -->\n <ng-container *ngIf=\"!data?.tabSection?.disable\">\n <mat-tab-group \n animationDuration=\"0ms\" \n class=\"mat-tab-labels mytabs w-full\"\n [selectedIndex]=\"selectedIndex\"\n (selectedTabChange)=\"tabClicked($event)\">\n \n <!-- Content Tab -->\n <mat-tab label=\"Content\">\n <ng-template mat-tab-label i18n>Learn</ng-template>\n <!-- Empty state -->\n <ng-container *ngIf=\"data?.tabSection?.contentTab?.length === contentTabEmptyResponseCount\">\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n </ng-container>\n \n <!-- Content tab content -->\n <div class=\"padding-top-l\">\n <app-column-section-display \n [data]=\"data.tabSection.contentTab\"\n [orgId]=\"orgId\"\n [channelName]=\"channelName\"\n (competencyEvent)=\"hideCompetency($event)\"\n (competencyTelemetry)=\"raiseCompetencyTelemetry($event)\"\n (contentTelemetry)=\"raiseTelemetryInteratEvent($event)\"\n (viewAllEvent)=\"showAllContent($event.event, $event.data)\">\n </app-column-section-display>\n </div>\n </mat-tab>\n \n <!-- Competency Tab -->\n <mat-tab label=\"Core Areas\">\n <ng-template mat-tab-label i18n>Competency</ng-template>\n <div>\n <app-column-section-display \n [data]=\"data.tabSection.coreAreasTab\"\n [orgId]=\"orgId\"\n [channelName]=\"channelName\"\n (competencyEvent)=\"hideCompetency($event)\"\n (competencyTelemetry)=\"raiseCompetencyTelemetry($event)\"\n (contentTelemetry)=\"raiseTelemetryInteratEvent($event)\"\n (viewAllEvent)=\"showAllContent($event.event, $event.data)\">\n </app-column-section-display>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n </div>\n \n <!-- Sidebar -->\n <div class=\"col-span-12 md:col-span-4\">\n <ng-container *ngIf=\"!isMobile\">\n <!-- Progress -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n \n <!-- Speakers -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n \n <!-- Leaderboard -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard \n [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" \n [slwConfig]=\"slwConfig\"\n (tabClicked)=\"raiseTabClick($event)\" \n [orgId]=\"orgId\">\n </sb-uic-mdo-leaderboard>\n </div>\n </div>\n \n <!-- CBP Plan -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\" *ngIf=\"data?.cbpPlanSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-cbp-plan \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\" \n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" \n [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n </div>\n \n <!-- Announcements -->\n <div class=\"hidden md:block\" *ngIf=\"!data?.announcementSection?.disable\">\n <div class=\"pt-4\">\n <sb-uic-announcements \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\" \n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" \n [objectData]=\"data?.announcementSection?.data\">\n </sb-uic-announcements>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AnnouncementsComponent, selector: "sb-uic-announcements", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { kind: "component", type: CbpPlanComponent, selector: "sb-uic-cbp-plan", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { kind: "component", type: ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }, { kind: "component", type: HighlightsOfWeekComponent, selector: "sb-uic-highlights-of-week", inputs: ["objectData"] }, { kind: "component", type: UserProgressComponent, selector: "sb-uic-user-progress", inputs: ["objectData", "rootOrgId"] }, { kind: "component", type: EventsComponent, selector: "sb-uic-events", inputs: ["object", "nwlEventsConfig"] }, { kind: "component", type: SpeakersComponent, selector: "sb-uic-speakers", inputs: ["objectData"] }, { kind: "component", type: MdoLeaderboardComponent, selector: "sb-uic-mdo-leaderboard", inputs: ["orgId", "object", "slwConfig"], outputs: ["tabClicked"] }, { kind: "component", type: KeyHighlightsComponent, selector: "sb-uic-key-highlights", inputs: ["providerId", "formData", "mode"], outputs: ["emptyResponse"] }, { kind: "component", type: i13.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i13.MatLegacyTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i13.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: ColumnSectionDisplayComponent, selector: "app-column-section-display", inputs: ["data", "orgId", "channelName"], outputs: ["competencyEvent", "competencyTelemetry", "contentTelemetry", "viewAllEvent"] }, { kind: "component", type: MobileSectionsComponent, selector: "app-mobile-sections", inputs: ["myProgressData", "speakersData", "leaderboardData", "rootOrgId", "orgId", "slwConfig"], outputs: ["leaderboardTabClicked"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
14969
|
-
}
|
|
14970
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainContentComponent, decorators: [{
|
|
14971
|
-
type: Component,
|
|
14972
|
-
args: [{ selector: 'app-main-content', template: "<div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data?.background}\">\n <div class=\"container\">\n <!-- Mobile view components -->\n <ng-container *ngIf=\"isMobile\">\n <div class=\"block md:hidden mb-4\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" \n [providerId]=\"providerId\"\n [mode]=\"'mobile'\">\n </sb-uic-key-highlights>\n </div>\n \n <!-- Other mobile sections (condensed) -->\n <div class=\"block md:hidden\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\"></sb-uic-highlights-of-week>\n </div>\n \n <!-- Mobile progress, speakers, leaderboard -->\n <ng-container *ngIf=\"isMobile\">\n <app-mobile-sections \n [myProgressData]=\"data?.stateLearningWeekSection?.myprogress\"\n [speakersData]=\"data?.stateLearningWeekSection?.speakerOftheDay\"\n [leaderboardData]=\"data?.stateLearningWeekSection?.mdoLeaderboard\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\"\n [orgId]=\"orgId\"\n [slwConfig]=\"slwConfig\"\n (leaderboardTabClicked)=\"raiseTabClick($event)\">\n </app-mobile-sections>\n </ng-container>\n \n <!-- Mobile CBP Plan -->\n <div class=\"block md:hidden col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <sb-uic-cbp-plan \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\" \n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" \n [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n \n <!-- Mobile announcements -->\n <div class=\"block md:hidden col-span-12 mt-6\" *ngIf=\"!data?.announcementSection?.disable\">\n <sb-uic-announcements \n [layoutType]=\"'mobile'\" \n (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" \n [fetchDataFromApi]=\"false\" \n [channelId]=\"orgId\">\n </sb-uic-announcements>\n \n <!-- Announcement dialog -->\n <div class=\"announcements-container\" *ngIf=\"showModal\">\n <div class=\"cursor-pointer close-share-dialog\">\n <mat-icon (click)=\"onClose()\" class=\"close-icon\">close</mat-icon>\n </div>\n <div class=\"share-modal px-3 pt-8\">\n <sb-uic-announcements \n [layoutType]=\"'web'\" \n (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\" \n [mobileHeight]=\"true\"\n [fetchDataFromApi]=\"true\" \n [channelId]=\"orgId\">\n </sb-uic-announcements>\n </div>\n </div>\n </div>\n </ng-container>\n \n <!-- Desktop Key Highlights -->\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\">\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.keyHighlights?.enabled\">\n <sb-uic-key-highlights\n (emptyResponse)=\"hideKeyHightlight($event, data?.stateLearningWeekSection?.keyHighlights)\"\n [formData]=\"data?.stateLearningWeekSection?.keyHighlights\" \n [providerId]=\"providerId\"\n [mode]=\"'desktop'\">\n </sb-uic-key-highlights>\n </div>\n </div>\n </div>\n </div>\n \n <!-- Main grid layout -->\n <div class=\"grid grid-cols-12 gap-4 padding-top-m mb-6\">\n <!-- Main tab section -->\n <div class=\"col-span-12 md:col-span-{{data.tabSection.colspan}}\">\n <!-- Week highlights (desktop) -->\n <div class=\"hidden md:block\" *ngIf=\"data?.stateLearningWeekSection?.weekHighlights?.enabled\">\n <sb-uic-highlights-of-week [objectData]=\"data?.stateLearningWeekSection?.weekHighlights?.data\"></sb-uic-highlights-of-week>\n </div>\n \n <!-- Mandatory courses -->\n <ng-container *ngIf=\"data?.stateLearningWeekSection?.mandatoryCourse?.enabled && \n data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </ng-container>\n \n <!-- Learning content -->\n <ng-container *ngIf=\"data?.stateLearningWeekSection?.exploreLearningContent?.enabled && \n data?.stateLearningWeekSection?.exploreLearningContent?.strips[0]\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"false\" \n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.stateLearningWeekSection?.exploreLearningContent\"\n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </ng-container>\n \n <!-- Events -->\n <div *ngIf=\"data?.stateLearningWeekSection?.events?.enabled && \n data?.stateLearningWeekSection?.events?.column?.length &&\n data?.stateLearningWeekSection?.events?.column[0]\">\n <sb-uic-events \n [object]=\"data?.stateLearningWeekSection?.events?.column[0]\"\n [nwlEventsConfig]=\"slwConfig\">\n </sb-uic-events>\n </div>\n \n <!-- Tabs -->\n <ng-container *ngIf=\"!data?.tabSection?.disable\">\n <mat-tab-group \n animationDuration=\"0ms\" \n class=\"mat-tab-labels mytabs w-full\"\n [selectedIndex]=\"selectedIndex\"\n (selectedTabChange)=\"tabClicked($event)\">\n \n <!-- Content Tab -->\n <mat-tab label=\"Content\">\n <ng-template mat-tab-label i18n>Learn</ng-template>\n <!-- Empty state -->\n <ng-container *ngIf=\"data?.tabSection?.contentTab?.length === contentTabEmptyResponseCount\">\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n </ng-container>\n \n <!-- Content tab content -->\n <div class=\"padding-top-l\">\n <app-column-section-display \n [data]=\"data.tabSection.contentTab\"\n [orgId]=\"orgId\"\n [channelName]=\"channelName\"\n (competencyEvent)=\"hideCompetency($event)\"\n (competencyTelemetry)=\"raiseCompetencyTelemetry($event)\"\n (contentTelemetry)=\"raiseTelemetryInteratEvent($event)\"\n (viewAllEvent)=\"showAllContent($event.event, $event.data)\">\n </app-column-section-display>\n </div>\n </mat-tab>\n \n <!-- Competency Tab -->\n <mat-tab label=\"Core Areas\">\n <ng-template mat-tab-label i18n>Competency</ng-template>\n <div>\n <app-column-section-display \n [data]=\"data.tabSection.coreAreasTab\"\n [orgId]=\"orgId\"\n [channelName]=\"channelName\"\n (competencyEvent)=\"hideCompetency($event)\"\n (competencyTelemetry)=\"raiseCompetencyTelemetry($event)\"\n (contentTelemetry)=\"raiseTelemetryInteratEvent($event)\"\n (viewAllEvent)=\"showAllContent($event.event, $event.data)\">\n </app-column-section-display>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n </div>\n \n <!-- Sidebar -->\n <div class=\"col-span-12 md:col-span-4\">\n <ng-container *ngIf=\"!isMobile\">\n <!-- Progress -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.myprogress?.enabled\">\n <sb-uic-user-progress \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.myprogress?.data\"\n [rootOrgId]=\"configSvc?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n </div>\n \n <!-- Speakers -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.speakerOftheDay?.enabled\">\n <sb-uic-speakers \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\"\n [objectData]=\"data?.stateLearningWeekSection?.speakerOftheDay?.data\">\n </sb-uic-speakers>\n </div>\n </div>\n \n <!-- Leaderboard -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\">\n <div *ngIf=\"data?.stateLearningWeekSection?.mdoLeaderboard?.enabled\">\n <sb-uic-mdo-leaderboard \n [object]=\"data?.stateLearningWeekSection?.mdoLeaderboard?.data\" \n [slwConfig]=\"slwConfig\"\n (tabClicked)=\"raiseTabClick($event)\" \n [orgId]=\"orgId\">\n </sb-uic-mdo-leaderboard>\n </div>\n </div>\n \n <!-- CBP Plan -->\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\" *ngIf=\"data?.cbpPlanSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-cbp-plan \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\" \n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" \n [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n </div>\n \n <!-- Announcements -->\n <div class=\"hidden md:block\" *ngIf=\"!data?.announcementSection?.disable\">\n <div class=\"pt-4\">\n <sb-uic-announcements \n [layoutType]=\"'web'\" \n [mobileHeight]=\"false\" \n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\" \n [objectData]=\"data?.announcementSection?.data\">\n </sb-uic-announcements>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>" }]
|
|
14973
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
14974
|
-
type: Inject,
|
|
14975
|
-
args: ['sectionData']
|
|
14976
|
-
}] }, { type: undefined, decorators: [{
|
|
14977
|
-
type: Inject,
|
|
14978
|
-
args: ['channelName']
|
|
14979
|
-
}] }, { type: undefined, decorators: [{
|
|
14980
|
-
type: Inject,
|
|
14981
|
-
args: ['orgId']
|
|
14982
|
-
}] }, { type: undefined, decorators: [{
|
|
14983
|
-
type: Inject,
|
|
14984
|
-
args: ['isMobile']
|
|
14985
|
-
}] }, { type: undefined, decorators: [{
|
|
14986
|
-
type: Inject,
|
|
14987
|
-
args: ['providerId']
|
|
14988
|
-
}] }, { type: undefined, decorators: [{
|
|
14989
|
-
type: Inject,
|
|
14990
|
-
args: ['slwConfiguration']
|
|
14991
|
-
}] }, { type: undefined, decorators: [{
|
|
14992
|
-
type: Inject,
|
|
14993
|
-
args: ['eventCallback']
|
|
14994
|
-
}] }, { type: i2.ConfigurationsService }]; } });
|
|
14995
|
-
|
|
14996
|
-
class SupportSectionComponent {
|
|
14997
|
-
constructor(data, eventCallback) {
|
|
14998
|
-
this.data = data;
|
|
14999
|
-
this.eventCallback = eventCallback;
|
|
15000
|
-
}
|
|
15001
|
-
onVideoEvent(event) {
|
|
15002
|
-
this.eventCallback({
|
|
15003
|
-
action: 'video-conference',
|
|
15004
|
-
source: 'supportSection',
|
|
15005
|
-
id: event.id || 'video-event',
|
|
15006
|
-
data: event
|
|
15007
|
-
});
|
|
15008
|
-
}
|
|
15009
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupportSectionComponent, deps: [{ token: 'sectionData' }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15010
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SupportSectionComponent, selector: "app-support-section", ngImport: i0, template: "<div class=\"flex items-center justify-center\">\n <div class=\"container support-section\">\n <sb-uic-video-conference \n [videoConf]=\"data\"\n (videoEvent)=\"onVideoEvent($event)\">\n </sb-uic-video-conference>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "component", type: VideoConferenceComponent, selector: "sb-uic-video-conference", inputs: ["videoConf"] }] }); }
|
|
15011
|
-
}
|
|
15012
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupportSectionComponent, decorators: [{
|
|
15013
|
-
type: Component,
|
|
15014
|
-
args: [{ selector: 'app-support-section', template: "<div class=\"flex items-center justify-center\">\n <div class=\"container support-section\">\n <sb-uic-video-conference \n [videoConf]=\"data\"\n (videoEvent)=\"onVideoEvent($event)\">\n </sb-uic-video-conference>\n </div>\n</div>" }]
|
|
15015
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
15016
|
-
type: Inject,
|
|
15017
|
-
args: ['sectionData']
|
|
15018
|
-
}] }, { type: undefined, decorators: [{
|
|
15019
|
-
type: Inject,
|
|
15020
|
-
args: ['eventCallback']
|
|
15021
|
-
}] }]; } });
|
|
15022
|
-
|
|
15023
|
-
class MdoChannelV3Component {
|
|
15024
|
-
constructor(route, router, eventSvc, translate, langTranslations, configSvc, sanitizer, utilsSvc, injector, cdr, dialog // Add this
|
|
15025
|
-
) {
|
|
15026
|
-
this.route = route;
|
|
15027
|
-
this.router = router;
|
|
15028
|
-
this.eventSvc = eventSvc;
|
|
15029
|
-
this.translate = translate;
|
|
15030
|
-
this.langTranslations = langTranslations;
|
|
15031
|
-
this.configSvc = configSvc;
|
|
15032
|
-
this.sanitizer = sanitizer;
|
|
15033
|
-
this.utilsSvc = utilsSvc;
|
|
15034
|
-
this.injector = injector;
|
|
15035
|
-
this.cdr = cdr;
|
|
15036
|
-
this.dialog = dialog;
|
|
15037
|
-
this.sectionList = [];
|
|
15038
|
-
this.isEdit = false;
|
|
15039
|
-
this.activeSections = [];
|
|
15040
|
-
this.providerId = '123456789';
|
|
15041
|
-
this.isMobile = false;
|
|
15042
|
-
this.navigationTitles = [
|
|
15043
|
-
{ title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },
|
|
15044
|
-
{ title: 'MDO Channels', url: '/app/learn/mdo-channels/all-channels', icon: '', disableTranslate: true }
|
|
15045
|
-
];
|
|
15046
|
-
this.componentRegistry = {
|
|
15047
|
-
'topSection': TopSectionComponent,
|
|
15048
|
-
'lookerSection': LookerSectionComponent,
|
|
15049
|
-
'topLearners': TopLearnersComponent,
|
|
15050
|
-
'mainContent': MainContentComponent,
|
|
15051
|
-
'supportSection': SupportSectionComponent
|
|
15052
|
-
};
|
|
15053
|
-
this.injectorCache = new Map();
|
|
15054
|
-
this.isMobile = this.utilsSvc.isMobile;
|
|
15055
|
-
}
|
|
15056
|
-
ngOnInit() {
|
|
15057
|
-
// Get active sections
|
|
15058
|
-
this.activeSections = this.sectionList?.filter(section => section.enabled)
|
|
15059
|
-
.sort((a, b) => (a.order || 0) - (b.order || 0)) || [];
|
|
15060
|
-
// Get channel info from route
|
|
15061
|
-
this.route.params.subscribe(params => {
|
|
15062
|
-
debugger;
|
|
15063
|
-
if (params.channelId) {
|
|
15064
|
-
this.channelName = params.channelName || '';
|
|
15065
|
-
this.orgId = params.channelId;
|
|
15066
|
-
this.cdr.markForCheck();
|
|
15067
|
-
}
|
|
15068
|
-
});
|
|
15069
|
-
}
|
|
15070
|
-
ngOnChanges(changes) {
|
|
15071
|
-
if (changes.sectionList || changes.slwConfiguration) {
|
|
15072
|
-
// Clear injector cache when inputs change
|
|
15073
|
-
this.injectorCache.clear();
|
|
15074
|
-
}
|
|
15075
|
-
}
|
|
15076
|
-
handleSectionEvent(event) {
|
|
15077
|
-
// Handle events from child components
|
|
15078
|
-
console.log('Section event:', event);
|
|
15079
|
-
// Raise telemetry for the event
|
|
15080
|
-
if (event.action) {
|
|
15081
|
-
this.raiseTelemetry(`${event.source}-${event.id}`);
|
|
15082
|
-
}
|
|
15083
|
-
// Handle specific events
|
|
15084
|
-
if (event.action === 'view-all' && event.data?.viewMoreUrl) {
|
|
15085
|
-
this.router.navigateByUrl(event.data.viewMoreUrl);
|
|
15086
|
-
}
|
|
15087
|
-
// Handle edit events
|
|
15088
|
-
if (event.action === 'edit') {
|
|
15089
|
-
this.openEditorDialog(event);
|
|
15090
|
-
}
|
|
15091
|
-
}
|
|
15092
|
-
getSectionComponent(key) {
|
|
15093
|
-
return this.componentRegistry[key] || null;
|
|
15094
|
-
}
|
|
15095
|
-
createInjector(section, column) {
|
|
15096
|
-
// Create a stable reference to the callback function
|
|
15097
|
-
if (!this._eventCallbackFn) {
|
|
15098
|
-
this._eventCallbackFn = (event) => this.handleSectionEvent(event);
|
|
15099
|
-
}
|
|
15100
|
-
// Create a cache key based on section and column keys
|
|
15101
|
-
const cacheKey = `${section.key}-${column.key}`;
|
|
15102
|
-
// Return cached injector if available
|
|
15103
|
-
if (this.injectorCache.has(cacheKey)) {
|
|
15104
|
-
return this.injectorCache.get(cacheKey);
|
|
15105
|
-
}
|
|
15106
|
-
// Create new injector
|
|
15107
|
-
const injector = Injector.create({
|
|
15108
|
-
providers: [
|
|
15109
|
-
{ provide: 'sectionData', useValue: column.data },
|
|
15110
|
-
{ provide: 'channelName', useValue: this.channelName },
|
|
15111
|
-
{ provide: 'orgId', useValue: this.orgId },
|
|
15112
|
-
{ provide: 'isMobile', useValue: this.isMobile },
|
|
15113
|
-
...(this.isEdit ? [{ provide: 'isEdit', useValue: this.isEdit }] : [{ provide: 'isEdit', useValue: this.isEdit }]),
|
|
15114
|
-
{ provide: 'slwConfiguration', useValue: this.slwConfiguration },
|
|
15115
|
-
{ provide: 'providerId', useValue: this.orgId },
|
|
15116
|
-
{ provide: 'eventCallback', useValue: this._eventCallbackFn }
|
|
15117
|
-
],
|
|
15118
|
-
parent: this.injector
|
|
15119
|
-
});
|
|
15120
|
-
// Cache the injector
|
|
15121
|
-
this.injectorCache.set(cacheKey, injector);
|
|
15122
|
-
return injector;
|
|
15123
|
-
}
|
|
15124
|
-
trackByFn(index, item) {
|
|
15125
|
-
return item.key || index;
|
|
15126
|
-
}
|
|
15127
|
-
raiseTelemetry(name) {
|
|
15128
|
-
this.eventSvc.raiseInteractTelemetry({
|
|
15129
|
-
type: 'click',
|
|
15130
|
-
subType: 'mdo-channel',
|
|
15131
|
-
id: `${_.kebabCase(name).toLowerCase()}`
|
|
15132
|
-
}, {}, { module: 'LEARN' });
|
|
15133
|
-
}
|
|
15134
|
-
// Add new method to handle edit dialog
|
|
15135
|
-
openEditorDialog(event) {
|
|
15136
|
-
const dialogRef = this.dialog.open(EditorDialogComponent, {
|
|
15137
|
-
width: this.getDialogWidth(event.data.fieldType),
|
|
15138
|
-
data: {
|
|
15139
|
-
fieldName: event.data.fieldName,
|
|
15140
|
-
displayName: event.data.displayName,
|
|
15141
|
-
value: event.data.currentValue,
|
|
15142
|
-
fieldType: event.data.fieldType,
|
|
15143
|
-
section: event.source
|
|
15144
|
-
}
|
|
15145
|
-
});
|
|
15146
|
-
dialogRef.afterClosed().subscribe(result => {
|
|
15147
|
-
if (result) {
|
|
15148
|
-
// Update the section data
|
|
15149
|
-
this.updateSectionData(event.source, event.data.fieldName, result);
|
|
15150
|
-
}
|
|
15151
|
-
});
|
|
15152
|
-
}
|
|
15153
|
-
// Helper method to determine dialog width based on field type
|
|
15154
|
-
getDialogWidth(fieldType) {
|
|
15155
|
-
switch (fieldType) {
|
|
15156
|
-
case 'textarea':
|
|
15157
|
-
case 'slider':
|
|
15158
|
-
case 'metrics':
|
|
15159
|
-
return '800px';
|
|
15160
|
-
case 'image':
|
|
15161
|
-
return '600px';
|
|
15162
|
-
default:
|
|
15163
|
-
return '400px';
|
|
15164
|
-
}
|
|
15165
|
-
}
|
|
15166
|
-
// Method to update section data
|
|
15167
|
-
updateSectionData(sectionType, fieldName, newValue) {
|
|
15168
|
-
// Make a deep copy to avoid modifying the original reference
|
|
15169
|
-
const updatedSections = cloneDeep(this.sectionList);
|
|
15170
|
-
// Find the relevant section and column
|
|
15171
|
-
for (const section of updatedSections) {
|
|
15172
|
-
if (!section.enabled)
|
|
15173
|
-
continue;
|
|
15174
|
-
for (const column of section.column) {
|
|
15175
|
-
if (column.key === sectionType && column.data) {
|
|
15176
|
-
// Update the specific field
|
|
15177
|
-
this.updateNestedField(column.data, fieldName, newValue);
|
|
15178
|
-
break;
|
|
15179
|
-
}
|
|
15180
|
-
}
|
|
15181
|
-
}
|
|
15182
|
-
// Clear the injector cache to force component recreation
|
|
15183
|
-
this.injectorCache.clear();
|
|
15184
|
-
// Update the sectionList (this will trigger change detection)
|
|
15185
|
-
this.sectionList = updatedSections;
|
|
15186
|
-
console.log('Updated sectionList:', this.sectionList);
|
|
15187
|
-
// Update active sections
|
|
15188
|
-
this.activeSections = this.sectionList.filter(section => section.enabled)
|
|
15189
|
-
.sort((a, b) => (a.order || 0) - (b.order || 0));
|
|
15190
|
-
// Force change detection to ensure UI updates
|
|
15191
|
-
this.cdr.detectChanges(); // Use detectChanges instead of markForCheck
|
|
15192
|
-
}
|
|
15193
|
-
// Helper method to update nested fields
|
|
15194
|
-
updateNestedField(obj, path, value) {
|
|
15195
|
-
// Handle nested paths (e.g., "sliderData.styleData.borderRadius")
|
|
15196
|
-
const parts = path.split('.');
|
|
15197
|
-
let current = obj;
|
|
15198
|
-
// Navigate to the parent object
|
|
15199
|
-
for (let i = 0; i < parts.length - 1; i++) {
|
|
15200
|
-
if (!current[parts[i]]) {
|
|
15201
|
-
current[parts[i]] = {};
|
|
15202
|
-
}
|
|
15203
|
-
current = current[parts[i]];
|
|
15204
|
-
}
|
|
15205
|
-
// Update the final property
|
|
15206
|
-
current[parts[parts.length - 1]] = value;
|
|
15207
|
-
}
|
|
15208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MdoChannelV3Component, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2.EventService }, { token: i2$1.TranslateService }, { token: i2.MultilingualTranslationsService }, { token: i2.ConfigurationsService }, { token: i1$6.DomSanitizer }, { token: i2.UtilityService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i3$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MdoChannelV3Component, selector: "sb-uic-mdo-channel-v3", inputs: { sectionList: "sectionList", slwConfiguration: "slwConfiguration", isEdit: "isEdit", providerId: "providerId", channelName: "channelName", orgId: "orgId" }, usesOnChanges: true, ngImport: i0, template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: navigationTitles }\"></ws-widget-btn-page-back>\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <ng-container *ngFor=\"let section of activeSections; trackBy: trackByFn\">\n <section [id]=\"section.key\" class=\"w-full grid grid-cols-12 gap-4 {{section.customClass}}\" \n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column; trackBy: trackByFn\">\n <div *ngIf=\"column?.enabled\" [id]=\"column.key\" class=\"col-span-{{column.colspan || 12}}\">\n <ng-container *ngIf=\"getSectionComponent(column.key)\"\n [ngComponentOutlet]=\"getSectionComponent(column.key)\"\n [ngComponentOutletInjector]=\"createInjector(section, column)\">\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n</div>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15210
|
-
}
|
|
15211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MdoChannelV3Component, decorators: [{
|
|
15212
|
-
type: Component,
|
|
15213
|
-
args: [{ selector: 'sb-uic-mdo-channel-v3', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: navigationTitles }\"></ws-widget-btn-page-back>\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <ng-container *ngFor=\"let section of activeSections; trackBy: trackByFn\">\n <section [id]=\"section.key\" class=\"w-full grid grid-cols-12 gap-4 {{section.customClass}}\" \n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column; trackBy: trackByFn\">\n <div *ngIf=\"column?.enabled\" [id]=\"column.key\" class=\"col-span-{{column.colspan || 12}}\">\n <ng-container *ngIf=\"getSectionComponent(column.key)\"\n [ngComponentOutlet]=\"getSectionComponent(column.key)\"\n [ngComponentOutletInjector]=\"createInjector(section, column)\">\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n</div>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sub-title{font-size:24px;font-weight:400}.sub-title-two{font-size:24px;font-weight:600}.main-title{font-size:32px;font-size:48px;font-weight:700}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:fit-content;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 16px 16px 0;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.logo-img-mb{max-height:unset}.metrics{border:3px solid #fff;border-radius:10px;align-items:center}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:#131313a3;width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}.contact-us-wrapper{background:linear-gradient(106.94deg,#3a70cf 3.96%,#1146a2 39.76%)}\n"] }]
|
|
15214
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2.EventService }, { type: i2$1.TranslateService }, { type: i2.MultilingualTranslationsService }, { type: i2.ConfigurationsService }, { type: i1$6.DomSanitizer }, { type: i2.UtilityService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i3$1.MatDialog }]; }, propDecorators: { sectionList: [{
|
|
15215
|
-
type: Input
|
|
15216
|
-
}], slwConfiguration: [{
|
|
15217
|
-
type: Input
|
|
15218
|
-
}], isEdit: [{
|
|
15219
|
-
type: Input
|
|
15220
|
-
}], providerId: [{
|
|
15221
|
-
type: Input
|
|
15222
|
-
}], channelName: [{
|
|
15223
|
-
type: Input
|
|
15224
|
-
}], orgId: [{
|
|
15225
|
-
type: Input
|
|
15226
|
-
}] } });
|
|
15227
|
-
|
|
15228
13263
|
class MDOChannelModule {
|
|
15229
13264
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MDOChannelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15230
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MDOChannelModule, declarations: [MdoChannelV1Component, MdoChannelV2Component,
|
|
15231
|
-
MdoChannelV3Component,
|
|
15232
|
-
TopSectionComponent,
|
|
15233
|
-
LookerSectionComponent,
|
|
15234
|
-
TopLearnersComponent,
|
|
15235
|
-
MainContentComponent,
|
|
15236
|
-
SupportSectionComponent,
|
|
15237
|
-
CompetencyComponent,
|
|
15238
|
-
ContentStripComponent,
|
|
15239
|
-
ColumnSectionDisplayComponent,
|
|
15240
|
-
MobileSectionsComponent,
|
|
15241
|
-
EditorDialogComponent], imports: [CommonModule,
|
|
13265
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MDOChannelModule, declarations: [MdoChannelV1Component, MdoChannelV2Component], imports: [CommonModule,
|
|
15242
13266
|
MatIconModule,
|
|
15243
13267
|
MatLegacyChipsModule,
|
|
15244
13268
|
SkeletonLoaderLibModule,
|
|
@@ -15261,17 +13285,7 @@ class MDOChannelModule {
|
|
|
15261
13285
|
MatLegacyTabsModule,
|
|
15262
13286
|
OrderByPipeModule,
|
|
15263
13287
|
SafeUrlPipeModule,
|
|
15264
|
-
VideoConferenceModule,
|
|
15265
|
-
SbUiResolverModule,
|
|
15266
|
-
FormsModule,
|
|
15267
|
-
ReactiveFormsModule, i2$1.TranslateModule, MatDialogModule,
|
|
15268
|
-
MatLegacyFormFieldModule,
|
|
15269
|
-
MatLegacyInputModule,
|
|
15270
|
-
MatLegacyButtonModule,
|
|
15271
|
-
MatLegacySlideToggleModule,
|
|
15272
|
-
DragDropModule,
|
|
15273
|
-
HttpClientModule,
|
|
15274
|
-
MatIconModule], exports: [MdoChannelV1Component, MdoChannelV2Component, MdoChannelV3Component] }); }
|
|
13288
|
+
VideoConferenceModule, i2$1.TranslateModule], exports: [MdoChannelV1Component, MdoChannelV2Component] }); }
|
|
15275
13289
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MDOChannelModule, providers: [
|
|
15276
13290
|
CommonMethodsService
|
|
15277
13291
|
], imports: [CommonModule,
|
|
@@ -15298,41 +13312,18 @@ class MDOChannelModule {
|
|
|
15298
13312
|
OrderByPipeModule,
|
|
15299
13313
|
SafeUrlPipeModule,
|
|
15300
13314
|
VideoConferenceModule,
|
|
15301
|
-
SbUiResolverModule,
|
|
15302
|
-
FormsModule,
|
|
15303
|
-
ReactiveFormsModule,
|
|
15304
13315
|
TranslateModule.forRoot({
|
|
15305
13316
|
loader: {
|
|
15306
13317
|
provide: TranslateLoader,
|
|
15307
13318
|
useFactory: HttpLoaderFactory,
|
|
15308
13319
|
deps: [HttpClient],
|
|
15309
13320
|
},
|
|
15310
|
-
})
|
|
15311
|
-
MatDialogModule,
|
|
15312
|
-
MatLegacyFormFieldModule,
|
|
15313
|
-
MatLegacyInputModule,
|
|
15314
|
-
MatLegacyButtonModule,
|
|
15315
|
-
MatLegacySlideToggleModule,
|
|
15316
|
-
DragDropModule,
|
|
15317
|
-
HttpClientModule,
|
|
15318
|
-
MatIconModule] }); }
|
|
13321
|
+
})] }); }
|
|
15319
13322
|
}
|
|
15320
13323
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MDOChannelModule, decorators: [{
|
|
15321
13324
|
type: NgModule,
|
|
15322
13325
|
args: [{
|
|
15323
|
-
declarations: [MdoChannelV1Component, MdoChannelV2Component,
|
|
15324
|
-
MdoChannelV3Component,
|
|
15325
|
-
TopSectionComponent,
|
|
15326
|
-
LookerSectionComponent,
|
|
15327
|
-
TopLearnersComponent,
|
|
15328
|
-
MainContentComponent,
|
|
15329
|
-
SupportSectionComponent,
|
|
15330
|
-
CompetencyComponent,
|
|
15331
|
-
ContentStripComponent,
|
|
15332
|
-
ColumnSectionDisplayComponent,
|
|
15333
|
-
MobileSectionsComponent,
|
|
15334
|
-
EditorDialogComponent
|
|
15335
|
-
],
|
|
13326
|
+
declarations: [MdoChannelV1Component, MdoChannelV2Component],
|
|
15336
13327
|
imports: [
|
|
15337
13328
|
CommonModule,
|
|
15338
13329
|
MatIconModule,
|
|
@@ -15358,9 +13349,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
15358
13349
|
OrderByPipeModule,
|
|
15359
13350
|
SafeUrlPipeModule,
|
|
15360
13351
|
VideoConferenceModule,
|
|
15361
|
-
SbUiResolverModule,
|
|
15362
|
-
FormsModule,
|
|
15363
|
-
ReactiveFormsModule,
|
|
15364
13352
|
TranslateModule.forRoot({
|
|
15365
13353
|
loader: {
|
|
15366
13354
|
provide: TranslateLoader,
|
|
@@ -15368,16 +13356,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
15368
13356
|
deps: [HttpClient],
|
|
15369
13357
|
},
|
|
15370
13358
|
}),
|
|
15371
|
-
MatDialogModule,
|
|
15372
|
-
MatLegacyFormFieldModule,
|
|
15373
|
-
MatLegacyInputModule,
|
|
15374
|
-
MatLegacyButtonModule,
|
|
15375
|
-
MatLegacySlideToggleModule,
|
|
15376
|
-
DragDropModule,
|
|
15377
|
-
HttpClientModule,
|
|
15378
|
-
MatIconModule,
|
|
15379
13359
|
],
|
|
15380
|
-
exports: [MdoChannelV1Component, MdoChannelV2Component
|
|
13360
|
+
exports: [MdoChannelV1Component, MdoChannelV2Component],
|
|
15381
13361
|
providers: [
|
|
15382
13362
|
CommonMethodsService
|
|
15383
13363
|
],
|
|
@@ -15673,7 +13653,7 @@ class NationalLearningComponent {
|
|
|
15673
13653
|
}
|
|
15674
13654
|
});
|
|
15675
13655
|
}
|
|
15676
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NationalLearningComponent, deps: [{ token: 'environment' }, { token: i1$1.Router }, { token: i2.EventService }, { token:
|
|
13656
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NationalLearningComponent, deps: [{ token: 'environment' }, { token: i1$1.Router }, { token: i2.EventService }, { token: i4$2.DomSanitizer }, { token: i2.UtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15677
13657
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NationalLearningComponent, selector: "sb-uic-national-learning", inputs: { sectionList: "sectionList", configDetails: "configDetails", nwlConfiguration: "nwlConfiguration" }, ngImport: i0, template: "<div class=\"container-fluid white-background nlm-micro-sites micro-white\" id=\"nlm-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4 white-bg\" [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentSection'\" [ngTemplateOutlet]=\"contentSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'lookerSection'\" [ngTemplateOutlet]=\"lookerTemplate\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #topSection let-data=\"data\">\n <!-- top section desktop layout -->\n <div class=\"w-full topSection\">\n <div *ngIf=\"data.sliderData && data.sliderData.sliders\">\n <sb-uic-sliders [widgetData]=\"data.sliderData.sliders\" [styleData]=\"data.sliderData.styleData\" ></sb-uic-sliders>\n </div>\n <div *ngIf=\"data && data.metrics\">\n <div class=\"block md:hidden\">\n <sb-uic-data-points\n [providerId]=\"providerId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'nlwCol'\"\n [title]=\"data?.metrics?.title\"\n [pageLayout]=\"'nlw'\">\n </sb-uic-data-points>\n </div>\n <div class=\"hidden md:block\">\n <sb-uic-data-points\n [providerId]=\"providerId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'nlwRow'\"\n [title]=\"data?.metrics?.title\"\n [pageLayout]=\"'nlw'\">\n </sb-uic-data-points>\n </div>\n </div>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"block md:hidden\">\n <sb-uic-key-highlights (emptyResponse)=\"hideKeyHightlight($event, data.keyHighlights)\" [formData]=\"data.keyHighlights\" [providerId]=\"providerId\" [mode]=\"'mobile'\"></sb-uic-key-highlights>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"hidden md:block\">\n <div class=\"flex flex items-center justify-center gap-10\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-rounded top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.imageUrl\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col pr-3\">\n <div class=\" txt-ellipsis-2 break-words description-title\">{{data?.title}}</div>\n <div class=\"description\">{{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"block md:hidden\">\n <div class=\"flex flex-col items-center justify-center margin-bottom-xl px-5\">\n <div class=\"mlogo-box-rounded\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.imageUrl\">\n </div>\n </div>\n <div class=\"flex flex-col px-5\">\n <div class=\" txt-ellipsis-2 break-words description-title\">{{data?.title}}</div>\n <div class=\"mdescription\">{{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\">\n <div class=\"hidden md:block\">\n <sb-uic-key-highlights (emptyResponse)=\"hideKeyHightlight($event, data.keyHighlights)\" [formData]=\"data.keyHighlights\" [providerId]=\"providerId\" [mode]=\"'desktop'\"></sb-uic-key-highlights>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n\n<ng-template #contentSection let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 mb-6\">\n <div class=\"col-span-12 md:col-span-{{data.leftContent.colspan}}\">\n <div *ngIf=\"data.leftContent.data.weekHighlights.data\">\n <sb-uic-highlights-of-week\n [objectData]=\"data.leftContent.data.weekHighlights.data\">\n </sb-uic-highlights-of-week>\n </div>\n <div class=\"hidden md:block\">\n <div *ngIf=\"data.leftContent.data.mandatoryCourse.enabled && data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"false\"\n (viewAllResponse)=\"''\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"''\"\n [providerId]=\"'123456789'\"\n [widgetData]=\"data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div class=\"hidden md:block\">\n <div *ngIf=\"data?.leftContent?.data?.exploreLearningContent?.strips[0]\">\n <!-- <sb-uic-content-strip-facet-filter [widgetData]=\"data?.leftContent?.data?.exploreLearningContent\"></sb-uic-content-strip-facet-filter> -->\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"false\"\n (viewAllResponse)=\"''\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"''\"\n [providerId]=\"environment?.spvorgID\"\n [widgetData]=\"data?.leftContent?.data?.exploreLearningContent\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n <div class=\"hidden md:block\">\n <div *ngIf=\"data.leftContent.data.events.enabled && data.leftContent.data.events.column[0]\">\n <sb-uic-events [object]=\"data.leftContent.data.events.column[0]\" [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-{{data.rightContent.colspan}}\">\n <div *ngIf=\"data.rightContent.data.myprogress\">\n <sb-uic-user-progress\n [objectData]=\"data.rightContent.data.myprogress.data\" [rootOrgId]=\"configDetails?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n <div *ngIf=\"data.rightContent.data.speakerOftheDay\">\n <sb-uic-speakers\n [objectData]=\"data.rightContent.data.speakerOftheDay.data\">\n </sb-uic-speakers>\n </div>\n <div *ngIf=\"data.rightContent.data.mdoLeaderboard\">\n <sb-uic-mdo-leaderboard\n [object]=\"data.rightContent.data.mdoLeaderboard.data\"\n (tabClicked)=\"raiseTabClick($event)\"></sb-uic-mdo-leaderboard>\n </div>\n\n <div class=\"block md:hidden\">\n <div *ngIf=\"data.leftContent.data.mandatoryCourse.enabled && data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"false\"\n (viewAllResponse)=\"''\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"''\"\n [providerId]=\"'123456789'\"\n [widgetData]=\"data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n <div class=\"block md:hidden px-4 md-px-0\">\n <div *ngIf=\"data?.leftContent?.data?.exploreLearningContent?.strips[0]\">\n <sb-uic-content-strip-facet-filter [widgetData]=\"data?.leftContent?.data?.exploreLearningContent\"></sb-uic-content-strip-facet-filter>\n </div>\n </div>\n <div class=\"block md:hidden px-4 md-px-0\">\n <div *ngIf=\"data.leftContent.data.events.enabled && data.leftContent.data.events.column[0]\">\n <sb-uic-events [object]=\"data.leftContent.data.events.column[0]\" [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n\n\n<ng-template #lookerTemplate let-data=\"data\">\n <div class=\"flex items-center justify-center\" >\n <div class=\"container mt-8\">\n <div class=\"key-speakers flex-wrap flex items-center justify-center\">\n <h1 class=\"featured text-center\">{{data?.header?.headerText}}</h1>\n <p class=\"featured-description p-4 md:p-0 text-center\">{{data?.header?.description}}</p>\n </div>\n <div class=\"lookpro\" *ngIf=\"lookerProUrl\">\n <iframe title=\"{{data?.header?.headerText}}\" width=\"100%\" height=\"520\" [src]=\"lookerProUrl\" frameborder=\"0\" style=\"border:0\" sandbox=\"allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"></iframe>\n </div>\n </div>\n </div>\n</ng-template>", styles: [".white-bg{background:#fff!important}.nlw-mandatoryCourse ::ng-deep .capitalize{font-size:20px;line-height:24.38px}.nlm-micro-sites ::ng-deep .container{max-width:1200px!important}.nlm-micro-sites ::ng-deep .banner-container{padding-bottom:0!important}.topSection ::ng-deep .prev{margin-left:15px!important}.topSection ::ng-deep .next{margin-right:15px!important}.topSection .stats-header{display:flex;align-items:center;justify-content:center;position:absolute;left:43.5%;top:-20px;text-transform:capitalize}.topSection .stats-title{display:flex;align-items:center;justify-content:center;background-color:#f3962f;padding:12px 16px;color:#fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;border-radius:35px}.topSection .my-arrow{font-size:12px}.topSection .less-opacity1{opacity:.75}.topSection .less-opacity2{opacity:.5}.topSection .details-wrapper{padding:16px;display:flex;gap:50px}.topSection .logo-box-container{width:180px;position:relative}@media only screen and (max-width: 599px){.topSection .logo-box-container{width:112px;height:72px}}.topSection .logo-box-rounded{height:180px;width:180px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}@media only screen and (max-width: 599px){.topSection .logo-box-rounded{width:112px;height:112px}}.topSection .logo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width: 599px){.topSection .logo-box-rounded .logo-img{max-width:84px}}.topSection .mlogo-box-rounded{height:180px;width:180px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:1px 1px 8px 3px #0000000f}@media only screen and (max-width: 599px){.topSection .mlogo-box-rounded{width:112px;height:112px}}.topSection .mlogo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width: 599px){.topSection .mlogo-box-rounded .logo-img{max-width:84px}}.topSection .txt-ellipsis-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.topSection .description-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;padding-bottom:16px}.topSection .description{font-family:Lato;font-size:16px;font-weight:400;line-height:24px;text-align:left}.topSection .mdescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}@media screen and (min-width: 320px) and (max-width: 769px){.topSection ::ng-deep .prev{margin-left:15px!important}.topSection ::ng-deep .next{margin-right:15px!important}.topSection ::ng-deep .banner-container{min-height:212px!important}}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: SlidersLibComponent, selector: "sb-uic-sliders", inputs: ["widgetData", "styleData", "title", "type"] }, { kind: "component", type: KeyHighlightsComponent, selector: "sb-uic-key-highlights", inputs: ["providerId", "formData", "mode"], outputs: ["emptyResponse"] }, { kind: "component", type: ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }, { kind: "component", type: DataPointsComponent, selector: "sb-uic-data-points", inputs: ["objectData", "layoutType", "fetchDataFromApi", "providerId", "pageLayout", "title", "slwConfig"] }, { kind: "component", type: EventsComponent, selector: "sb-uic-events", inputs: ["object", "nwlEventsConfig"] }, { kind: "component", type: MdoLeaderboardComponent, selector: "sb-uic-mdo-leaderboard", inputs: ["orgId", "object", "slwConfig"], outputs: ["tabClicked"] }, { kind: "component", type: HighlightsOfWeekComponent, selector: "sb-uic-highlights-of-week", inputs: ["objectData"] }, { kind: "component", type: SpeakersComponent, selector: "sb-uic-speakers", inputs: ["objectData"] }, { kind: "component", type: UserProgressComponent, selector: "sb-uic-user-progress", inputs: ["objectData", "rootOrgId"] }, { kind: "component", type: ContentStripFacetFilterComponent, selector: "sb-uic-content-strip-facet-filter", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryLearningContentResponse"] }, { kind: "pipe", type: i2$2.SlicePipe, name: "slice" }] }); }
|
|
15678
13658
|
}
|
|
15679
13659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NationalLearningComponent, decorators: [{
|
|
@@ -15682,7 +13662,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
15682
13662
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
15683
13663
|
type: Inject,
|
|
15684
13664
|
args: ['environment']
|
|
15685
|
-
}] }, { type: i1$1.Router }, { type: i2.EventService }, { type:
|
|
13665
|
+
}] }, { type: i1$1.Router }, { type: i2.EventService }, { type: i4$2.DomSanitizer }, { type: i2.UtilityService }]; }, propDecorators: { sectionList: [{
|
|
15686
13666
|
type: Input
|
|
15687
13667
|
}], configDetails: [{
|
|
15688
13668
|
type: Input
|
|
@@ -16254,5 +14234,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16254
14234
|
* Generated bundle index. Do not edit.
|
|
16255
14235
|
*/
|
|
16256
14236
|
|
|
16257
|
-
export { AddCompetencyPopupComponent, AnnouncementsComponent, AnnouncementsModule, AvailableLanguagesComponent, AvatarPhotoLibComponent, AvatarPhotoLibModule, CalenderComponent, CalenderModule, CardKarmaProgramsComponent, CardKarmaProgramsV2Component, CardLandscapeComponent, CardMDOChannelComponent, CardPortraitComponent, CardPortraitExtComponent, CardResourceComponent, CardUserComponent, CardWideComponent, CardWideV2Component, CardsComponent, CardsModule, CbpPlanComponent, CbpPlanModule, CertificateDialogComponent, CommonMethodsService, CommonStripComponent, CommonStripModule, CommunitySuggestionsComponent, CommunitySuggestionsModule, CompetencyPassbookComponent, CompetencyPassbookMdoComponent, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConfirmationDialogComponent, ConnectionHoverCardComponent, ConnectionNameComponent, ConnectionNameModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentLanguageService, ContentProgressComponent, ContentProgressModule, ContentStripFacetFilterComponent, ContentStripFacetFilterModule, ContentStripWithTabsLibComponent, ContentStripWithTabsLibModule, ContentStripWithTabsPillsComponent, ContentStripWithTabsPillsModule, DataPointsComponent, DataPointsModule, DialogComponentsModule, EventCardComponent, EventsComponent, EventsModule, HighlightsOfWeekComponent, HighlightsOfWeekModule, HorizontalScrollerV2Component, HorizontalScrollerV2Module, HttpLoaderFactory, HttpLoaderFactory1, KeyHighlightsComponent, KeyHighlightsModule, MDOChannelModule, MdoChannelV1Component, MdoChannelV2Component,
|
|
14237
|
+
export { AddCompetencyPopupComponent, AnnouncementsComponent, AnnouncementsModule, AvailableLanguagesComponent, AvatarPhotoLibComponent, AvatarPhotoLibModule, CalenderComponent, CalenderModule, CardKarmaProgramsComponent, CardKarmaProgramsV2Component, CardLandscapeComponent, CardMDOChannelComponent, CardPortraitComponent, CardPortraitExtComponent, CardResourceComponent, CardUserComponent, CardWideComponent, CardWideV2Component, CardsComponent, CardsModule, CbpPlanComponent, CbpPlanModule, CertificateDialogComponent, CommonMethodsService, CommonStripComponent, CommonStripModule, CommunitySuggestionsComponent, CommunitySuggestionsModule, CompetencyPassbookComponent, CompetencyPassbookMdoComponent, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConfirmationDialogComponent, ConnectionHoverCardComponent, ConnectionNameComponent, ConnectionNameModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentLanguageService, ContentProgressComponent, ContentProgressModule, ContentStripFacetFilterComponent, ContentStripFacetFilterModule, ContentStripWithTabsLibComponent, ContentStripWithTabsLibModule, ContentStripWithTabsPillsComponent, ContentStripWithTabsPillsModule, DataPointsComponent, DataPointsModule, DialogComponentsModule, EventCardComponent, EventsComponent, EventsModule, HighlightsOfWeekComponent, HighlightsOfWeekModule, HorizontalScrollerV2Component, HorizontalScrollerV2Module, HttpLoaderFactory, HttpLoaderFactory1, KeyHighlightsComponent, KeyHighlightsModule, MDOChannelModule, MdoChannelV1Component, MdoChannelV2Component, MdoLeaderboardComponent, MdoLeaderboardModule, NationalLearningComponent, NationalLearningModule, NbspModule, NbspPipe, ProvidersModule, ProvidersV2Component, ROOT_WIDGET_CONFIG, SakshamAI, SlidersLibComponent, SlidersLibModule, SnackbarComponent, SpeakersComponent, SpeakersModule, TOCMultiLingualDialogComponent, TOCMultiLingualDialogModule, TooltipDirective, TooltipModule, TopLearnersComponent, TopLearnersModule, UserContentRatingLibComponent, UserContentRatingLibModule, UserProgressComponent, UserProgressModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentLibService, WidgetUserServiceLib };
|
|
16258
14238
|
//# sourceMappingURL=sunbird-cb-consumption.mjs.map
|