@sunbird-cb/consumption 0.0.52 → 0.0.54
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/bundles/sunbird-cb-consumption.umd.js +2288 -938
- package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js +2 -2
- package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
- package/esm2015/lib/_common/announcements/announcements.component.js +18 -3
- package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +6 -5
- package/esm2015/lib/_common/cards/card-wide/card-wide.component.js +1 -1
- package/esm2015/lib/_common/cbp-plan/cbp-plan.component.js +166 -0
- package/esm2015/lib/_common/cbp-plan/cbp-plan.module.js +27 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +210 -34
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +3 -1
- package/esm2015/lib/_common/data-points/data-points.component.js +24 -3
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +23 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +255 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel.module.js +52 -0
- package/esm2015/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +269 -0
- package/esm2015/lib/_common/microsites/providers/providers.module.js +51 -0
- package/esm2015/lib/_common/top-learners/top-learners.component.js +155 -0
- package/esm2015/lib/_common/top-learners/top-learners.module.js +21 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.component.js +3 -3
- package/esm2015/lib/_services/insite-data.service.js +9 -2
- package/esm2015/lib/consumption.module.js +7 -3
- package/esm2015/public-api.js +5 -1
- package/esm2015/sunbird-cb-consumption.js +52 -47
- package/esm5/lib/_common/announcements/announcements.component.js +21 -3
- package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +6 -5
- package/esm5/lib/_common/cards/card-wide/card-wide.component.js +1 -1
- package/esm5/lib/_common/cbp-plan/cbp-plan.component.js +185 -0
- package/esm5/lib/_common/cbp-plan/cbp-plan.module.js +31 -0
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +205 -17
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +3 -1
- package/esm5/lib/_common/data-points/data-points.component.js +29 -3
- package/esm5/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +29 -0
- package/esm5/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +292 -0
- package/esm5/lib/_common/microsites/mdo-channels/mdo-channel.module.js +56 -0
- package/esm5/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +312 -0
- package/esm5/lib/_common/microsites/providers/providers.module.js +55 -0
- package/esm5/lib/_common/top-learners/top-learners.component.js +172 -0
- package/esm5/lib/_common/top-learners/top-learners.module.js +25 -0
- package/esm5/lib/_common/user-content-rating/user-content-rating-lib.component.js +3 -3
- package/esm5/lib/_services/insite-data.service.js +12 -2
- package/esm5/lib/consumption.module.js +7 -3
- package/esm5/public-api.js +5 -1
- package/esm5/sunbird-cb-consumption.js +52 -47
- package/fesm2015/sunbird-cb-consumption.js +1526 -336
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +2232 -891
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/announcements/announcements.component.d.ts +3 -0
- package/lib/_common/cbp-plan/cbp-plan.component.d.ts +25 -0
- package/lib/_common/cbp-plan/cbp-plan.module.d.ts +2 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +3 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +1 -0
- package/lib/_common/data-points/data-points.component.d.ts +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts +5 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts +39 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +2 -0
- package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts +36 -0
- package/lib/_common/microsites/providers/providers.module.d.ts +2 -0
- package/lib/_common/top-learners/top-learners.component.d.ts +18 -0
- package/lib/_common/top-learners/top-learners.module.d.ts +2 -0
- package/lib/_services/insite-data.service.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/sunbird-cb-consumption.d.ts +50 -45
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Injectable, ɵɵdefineInjectable, Component, EventEmitter, Input, Output, ViewChild, NgModule, ɵɵinject, Inject, HostBinding, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA,
|
|
1
|
+
import { Injectable, ɵɵdefineInjectable, Component, EventEmitter, Input, Output, ViewChild, NgModule, ɵɵinject, Inject, HostBinding, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA, ElementRef, ViewChildren, Pipe } from '@angular/core';
|
|
2
2
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
3
|
-
import { Router, RouterModule } from '@angular/router';
|
|
3
|
+
import { Router, RouterModule, ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { fromEvent, timer, BehaviorSubject, Subject, of, EMPTY, ReplaySubject, throwError, interval } from 'rxjs';
|
|
5
5
|
import { debounceTime, throttleTime, shareReplay, retry, map, catchError, filter, distinctUntilChanged } from 'rxjs/operators';
|
|
6
6
|
import { ValueService, ConfigurationsService as ConfigurationsService$1, WsEvents, LoggerService, EventService, UtilityService, MultilingualTranslationsService as MultilingualTranslationsService$1, PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';
|
|
@@ -8,8 +8,8 @@ import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarMod
|
|
|
8
8
|
import { __awaiter } from 'tslib';
|
|
9
9
|
import { WidgetBaseComponent, SbUiResolverModule } from '@sunbird-cb/resolver-v2';
|
|
10
10
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
11
|
-
import { get, uniqBy, orderBy, camelCase } from 'lodash';
|
|
12
|
-
import * as moment$
|
|
11
|
+
import { get, uniqBy, orderBy, camelCase, kebabCase } from 'lodash';
|
|
12
|
+
import * as moment$2 from 'moment';
|
|
13
13
|
import { duration, utc } from 'moment';
|
|
14
14
|
import { TranslateService, TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
15
15
|
import * as dayjs_ from 'dayjs';
|
|
@@ -1443,7 +1443,7 @@ function viewerRouteGenerator(id, mimeType, collectionId, collectionType, forPre
|
|
|
1443
1443
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1444
1444
|
*/
|
|
1445
1445
|
/** @type {?} */
|
|
1446
|
-
const moment = moment$
|
|
1446
|
+
const moment = moment$2;
|
|
1447
1447
|
// tslint:enable
|
|
1448
1448
|
// TODO: move this in some common place
|
|
1449
1449
|
/** @type {?} */
|
|
@@ -3271,6 +3271,8 @@ if (false) {
|
|
|
3271
3271
|
/** @type {?} */
|
|
3272
3272
|
IStripUnitContentData.prototype.stripConfig;
|
|
3273
3273
|
/** @type {?|undefined} */
|
|
3274
|
+
IStripUnitContentData.prototype.tabsType;
|
|
3275
|
+
/** @type {?|undefined} */
|
|
3274
3276
|
IStripUnitContentData.prototype.tabs;
|
|
3275
3277
|
/** @type {?|undefined} */
|
|
3276
3278
|
IStripUnitContentData.prototype.stripName;
|
|
@@ -4050,7 +4052,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
4050
4052
|
const dateA = new Date(a.batch.startDate || 0);
|
|
4051
4053
|
/** @type {?} */
|
|
4052
4054
|
const dateB = new Date(b.batch.startDate || 0);
|
|
4053
|
-
return
|
|
4055
|
+
return dateA - dateB;
|
|
4054
4056
|
}));
|
|
4055
4057
|
this.processStrip(strip, this.transformContentsToWidgets(filteredArray, strip), 'done', calculateParentStatus, viewMoreUrl);
|
|
4056
4058
|
clearInterval(this.enrollInterval);
|
|
@@ -4383,6 +4385,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
4383
4385
|
disableTranslate: strip.disableTranslate,
|
|
4384
4386
|
sliderConfig: strip.sliderConfig,
|
|
4385
4387
|
tabs: tabsResults ? tabsResults : strip.tabs,
|
|
4388
|
+
tabsType: strip.tabsType ? strip.tabsType : '',
|
|
4386
4389
|
stripName: strip.name,
|
|
4387
4390
|
mode: strip.mode,
|
|
4388
4391
|
stripConfig: strip.stripConfig,
|
|
@@ -4527,6 +4530,12 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
4527
4530
|
else if (currentTabFromMap.request.trendingSearch) {
|
|
4528
4531
|
this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, currentTabFromMap, true);
|
|
4529
4532
|
}
|
|
4533
|
+
else if (currentTabFromMap.request.topContent) {
|
|
4534
|
+
this.getTabDataByNewReqTopContent(currentStrip, tabEvent.index, currentTabFromMap, true);
|
|
4535
|
+
}
|
|
4536
|
+
else if (currentTabFromMap.request.playlistRead) {
|
|
4537
|
+
this.getTabDataByNewReqPlaylistReadContent(currentStrip, tabEvent.index, currentTabFromMap, true);
|
|
4538
|
+
}
|
|
4530
4539
|
if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {
|
|
4531
4540
|
stripMap.tabs[tabEvent.index].tabLoading = false;
|
|
4532
4541
|
}
|
|
@@ -4900,29 +4909,45 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
4900
4909
|
originalFilters = strip.request.topContent.request.filters;
|
|
4901
4910
|
strip.request.topContent.request.filters = this.postMethodFilters(strip.request.topContent.request.filters);
|
|
4902
4911
|
}
|
|
4903
|
-
|
|
4912
|
+
if (strip.tabs && strip.tabs.length) {
|
|
4913
|
+
// TODO: Have to extract requestRequired to outer level of tabs config
|
|
4904
4914
|
/** @type {?} */
|
|
4905
|
-
const
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4915
|
+
const firstTab = strip.tabs[0];
|
|
4916
|
+
if (firstTab.requestRequired) {
|
|
4917
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
4918
|
+
/** @type {?} */
|
|
4919
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
4920
|
+
/** @type {?} */
|
|
4921
|
+
const currentTabFromMap = (/** @type {?} */ ((allTabs && allTabs.length && allTabs[0])));
|
|
4922
|
+
this.getTabDataByNewReqTopContent(strip, 0, currentTabFromMap, calculateParentStatus);
|
|
4923
|
+
}
|
|
4924
|
+
}
|
|
4925
|
+
}
|
|
4926
|
+
else {
|
|
4927
|
+
try {
|
|
4928
|
+
/** @type {?} */
|
|
4929
|
+
const response = yield this.postRequestMethod(strip, strip.request.topContent, strip.request.apiUrl, calculateParentStatus);
|
|
4930
|
+
// console.log('calling after - response, ', response)
|
|
4931
|
+
if (response && response.results) {
|
|
4932
|
+
// console.log('calling after-- ')
|
|
4933
|
+
if (response.results.result.content && response.results.result.content.length) {
|
|
4934
|
+
this.processStrip(strip, this.transformContentsToWidgets(response.results.result.content, strip), 'done', calculateParentStatus, response.viewMoreUrl);
|
|
4935
|
+
}
|
|
4936
|
+
else {
|
|
4937
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
4938
|
+
this.emptyResponse.emit(true);
|
|
4939
|
+
}
|
|
4911
4940
|
}
|
|
4912
4941
|
else {
|
|
4913
4942
|
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
4914
4943
|
this.emptyResponse.emit(true);
|
|
4915
4944
|
}
|
|
4916
4945
|
}
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4946
|
+
catch (error) {
|
|
4947
|
+
// Handle errors
|
|
4948
|
+
// console.error('Error:', error);
|
|
4920
4949
|
}
|
|
4921
4950
|
}
|
|
4922
|
-
catch (error) {
|
|
4923
|
-
// Handle errors
|
|
4924
|
-
// console.error('Error:', error);
|
|
4925
|
-
}
|
|
4926
4951
|
}
|
|
4927
4952
|
});
|
|
4928
4953
|
}
|
|
@@ -4970,6 +4995,51 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
4970
4995
|
}
|
|
4971
4996
|
});
|
|
4972
4997
|
}
|
|
4998
|
+
/**
|
|
4999
|
+
* @param {?} strip
|
|
5000
|
+
* @param {?} tabIndex
|
|
5001
|
+
* @param {?} currentTab
|
|
5002
|
+
* @param {?} calculateParentStatus
|
|
5003
|
+
* @return {?}
|
|
5004
|
+
*/
|
|
5005
|
+
getTabDataByNewReqTopContent(strip, tabIndex, currentTab, calculateParentStatus) {
|
|
5006
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5007
|
+
if (currentTab.request &&
|
|
5008
|
+
currentTab.request.topContent &&
|
|
5009
|
+
currentTab.request.topContent.request &&
|
|
5010
|
+
currentTab.request.topContent.request.filters) {
|
|
5011
|
+
currentTab.request.topContent.request.filters = this.postMethodFilters(currentTab.request.topContent.request.filters);
|
|
5012
|
+
}
|
|
5013
|
+
try {
|
|
5014
|
+
// const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);
|
|
5015
|
+
/** @type {?} */
|
|
5016
|
+
const response = yield this.postRequestMethod(strip, currentTab.request.topContent, currentTab.request.apiUrl, calculateParentStatus);
|
|
5017
|
+
if (response.results && response.results.result) {
|
|
5018
|
+
/** @type {?} */
|
|
5019
|
+
const widgets = this.transformContentsToWidgets(response.results.result.content, strip);
|
|
5020
|
+
/** @type {?} */
|
|
5021
|
+
let tabResults = [];
|
|
5022
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
5023
|
+
/** @type {?} */
|
|
5024
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
5025
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
5026
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { widgets, fetchTabStatus: 'done' });
|
|
5027
|
+
tabResults = allTabs;
|
|
5028
|
+
}
|
|
5029
|
+
}
|
|
5030
|
+
this.processStrip(strip, widgets, 'done', calculateParentStatus, response.viewMoreUrl, tabResults // tabResults as widgets
|
|
5031
|
+
);
|
|
5032
|
+
}
|
|
5033
|
+
else {
|
|
5034
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
5035
|
+
}
|
|
5036
|
+
}
|
|
5037
|
+
catch (error) {
|
|
5038
|
+
// Handle errors
|
|
5039
|
+
// console.error('Error:', error);
|
|
5040
|
+
}
|
|
5041
|
+
});
|
|
5042
|
+
}
|
|
4973
5043
|
/**
|
|
4974
5044
|
* @param {?} stripData
|
|
4975
5045
|
* @return {?}
|
|
@@ -5115,7 +5185,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
5115
5185
|
postMethodFilters(filters) {
|
|
5116
5186
|
if (filters.organisation &&
|
|
5117
5187
|
filters.organisation.indexOf('<orgID>') >= 0) {
|
|
5118
|
-
filters.organisation = this.providerId;
|
|
5188
|
+
filters.organisation = filters.organisation.replace('<orgID>', this.providerId);
|
|
5119
5189
|
}
|
|
5120
5190
|
return filters;
|
|
5121
5191
|
}
|
|
@@ -5126,7 +5196,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
5126
5196
|
*/
|
|
5127
5197
|
getFullUrl(apiUrl, id) {
|
|
5128
5198
|
/** @type {?} */
|
|
5129
|
-
let formedUrl =
|
|
5199
|
+
let formedUrl = apiUrl;
|
|
5130
5200
|
if (apiUrl.indexOf('<bookmarkId>') >= 0) {
|
|
5131
5201
|
formedUrl = apiUrl.replace('<bookmarkId>', this.environment.mdoChannelsBookmarkId);
|
|
5132
5202
|
}
|
|
@@ -5290,30 +5360,136 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
5290
5360
|
strip.request.playlistRead.type) {
|
|
5291
5361
|
strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.playlistRead.type);
|
|
5292
5362
|
}
|
|
5293
|
-
|
|
5363
|
+
if (strip.tabs && strip.tabs.length) {
|
|
5364
|
+
// TODO: Have to extract requestRequired to outer level of tabs config
|
|
5294
5365
|
/** @type {?} */
|
|
5295
|
-
const
|
|
5296
|
-
if (
|
|
5366
|
+
const firstTab = strip.tabs[0];
|
|
5367
|
+
if (firstTab.requestRequired) {
|
|
5368
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
5369
|
+
/** @type {?} */
|
|
5370
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
5371
|
+
/** @type {?} */
|
|
5372
|
+
const currentTabFromMap = (/** @type {?} */ ((allTabs && allTabs.length && allTabs[0])));
|
|
5373
|
+
this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);
|
|
5374
|
+
}
|
|
5375
|
+
}
|
|
5376
|
+
}
|
|
5377
|
+
else {
|
|
5378
|
+
try {
|
|
5297
5379
|
/** @type {?} */
|
|
5298
|
-
|
|
5299
|
-
if (
|
|
5380
|
+
const response = yield this.getRequestMethod(strip, strip.request.playlistRead, strip.request.apiUrl, calculateParentStatus);
|
|
5381
|
+
if (response && response.results.result.content) {
|
|
5300
5382
|
/** @type {?} */
|
|
5301
|
-
let
|
|
5302
|
-
|
|
5383
|
+
let content = response.results.result.content;
|
|
5384
|
+
if (strip.key === 'providers') {
|
|
5385
|
+
/** @type {?} */
|
|
5386
|
+
let featuredProviders = JSON.parse(content.featuredProviders || '[]');
|
|
5387
|
+
this.processStrip(strip, this.transformAllContentsToWidgets(featuredProviders, strip), 'done', calculateParentStatus, response);
|
|
5388
|
+
}
|
|
5389
|
+
else {
|
|
5390
|
+
this.processStrip(strip, this.transformAllContentsToWidgets(content, strip), 'done', calculateParentStatus, response);
|
|
5391
|
+
}
|
|
5303
5392
|
}
|
|
5304
5393
|
else {
|
|
5305
|
-
this.processStrip(strip,
|
|
5394
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
5395
|
+
this.emptyResponse.emit(true);
|
|
5306
5396
|
}
|
|
5307
5397
|
}
|
|
5308
|
-
|
|
5309
|
-
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
5398
|
+
catch (error) {
|
|
5310
5399
|
this.emptyResponse.emit(true);
|
|
5400
|
+
// Handle errors
|
|
5401
|
+
// console.error('Error:', error);
|
|
5311
5402
|
}
|
|
5312
5403
|
}
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5404
|
+
}
|
|
5405
|
+
});
|
|
5406
|
+
}
|
|
5407
|
+
/**
|
|
5408
|
+
* @param {?} strip
|
|
5409
|
+
* @param {?} tabIndex
|
|
5410
|
+
* @param {?} currentTab
|
|
5411
|
+
* @param {?} calculateParentStatus
|
|
5412
|
+
* @return {?}
|
|
5413
|
+
*/
|
|
5414
|
+
getTabDataByNewReqPlaylistReadContent(strip, tabIndex, currentTab, calculateParentStatus) {
|
|
5415
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5416
|
+
if (currentTab.request &&
|
|
5417
|
+
strip.request.playlistRead &&
|
|
5418
|
+
strip.request.playlistRead.type) {
|
|
5419
|
+
currentTab.request.apiUrl = this.getFullUrl(currentTab.request.apiUrl, currentTab.request.playlistRead.type);
|
|
5420
|
+
}
|
|
5421
|
+
try {
|
|
5422
|
+
/** @type {?} */
|
|
5423
|
+
const response = yield this.getRequestMethod(strip, currentTab.request.playlistRead, currentTab.request.apiUrl, calculateParentStatus);
|
|
5424
|
+
// if (response && response.results.result.content) {
|
|
5425
|
+
// let content = response.results.result.content
|
|
5426
|
+
// if(strip.key === 'providers'){
|
|
5427
|
+
// let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')
|
|
5428
|
+
// this.processStrip(
|
|
5429
|
+
// strip,
|
|
5430
|
+
// this.transformAllContentsToWidgets(featuredProviders, strip),
|
|
5431
|
+
// 'done',
|
|
5432
|
+
// calculateParentStatus,
|
|
5433
|
+
// response,
|
|
5434
|
+
// );
|
|
5435
|
+
// } else {
|
|
5436
|
+
// this.processStrip(
|
|
5437
|
+
// strip,
|
|
5438
|
+
// this.transformAllContentsToWidgets(content, strip),
|
|
5439
|
+
// 'done',
|
|
5440
|
+
// calculateParentStatus,
|
|
5441
|
+
// response,
|
|
5442
|
+
// );
|
|
5443
|
+
// }
|
|
5444
|
+
// } else {
|
|
5445
|
+
// this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
5446
|
+
// this.emptyResponse.emit(true)
|
|
5447
|
+
// }
|
|
5448
|
+
if (response.results && response.results.result) {
|
|
5449
|
+
/** @type {?} */
|
|
5450
|
+
const widgets = this.transformContentsToWidgets(response.results.result.content, strip);
|
|
5451
|
+
/** @type {?} */
|
|
5452
|
+
let tabResults = [];
|
|
5453
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
5454
|
+
/** @type {?} */
|
|
5455
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
5456
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
5457
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { widgets, fetchTabStatus: 'done' });
|
|
5458
|
+
tabResults = allTabs;
|
|
5459
|
+
}
|
|
5460
|
+
}
|
|
5461
|
+
this.processStrip(strip, widgets, 'done', calculateParentStatus, response.viewMoreUrl, tabResults // tabResults as widgets
|
|
5462
|
+
);
|
|
5463
|
+
}
|
|
5464
|
+
else {
|
|
5465
|
+
/** @type {?} */
|
|
5466
|
+
let tabResults = [];
|
|
5467
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
5468
|
+
/** @type {?} */
|
|
5469
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
5470
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
5471
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { fetchTabStatus: 'done' });
|
|
5472
|
+
tabResults = allTabs;
|
|
5473
|
+
}
|
|
5474
|
+
}
|
|
5475
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);
|
|
5476
|
+
}
|
|
5477
|
+
}
|
|
5478
|
+
catch (error) {
|
|
5479
|
+
console.error('Error:', error);
|
|
5480
|
+
/** @type {?} */
|
|
5481
|
+
let tabResults = [];
|
|
5482
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {
|
|
5483
|
+
/** @type {?} */
|
|
5484
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
5485
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
5486
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { fetchTabStatus: 'done' });
|
|
5487
|
+
tabResults = allTabs;
|
|
5488
|
+
}
|
|
5489
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);
|
|
5490
|
+
}
|
|
5491
|
+
else {
|
|
5492
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
5317
5493
|
}
|
|
5318
5494
|
}
|
|
5319
5495
|
});
|
|
@@ -5372,8 +5548,8 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
5372
5548
|
ContentStripWithTabsLibComponent.decorators = [
|
|
5373
5549
|
{ type: Component, args: [{
|
|
5374
5550
|
selector: 'sb-uic-content-strip-with-tabs',
|
|
5375
|
-
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])\">\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])\"\n 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 class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0].viewMoreUrl.viewMoreText,'home') || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\" color=\"accent\">navigate_next</mat-icon>\n </a>\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\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\" dynamicHeight\n (selectedTabChange)=\"tabClicked($event, stripsResultDataMap[key], key)\">\n <mat-tab label=\"{{tab?.label}}\" *ngFor=\"let tab of stripsResultDataMap[key].tabs; let last = last;\">\n <ng-template mat-tab-label>\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <span *ngIf=\"tab?.showTabDataCount && tab?.widgets?.length\">({{tab?.widgets?.length}})</span>\n </ng-template>\n <div>\n <!-- <ng-container [ngTemplateOutlet]=\"loader\" *ngIf=\"stripsResultDataMap[key]?.showOnLoader\">\n </ng-container> -->\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader ||\n !tab.fetchTabStatus\"\n class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [id]=\"key+'-scroller'\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *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 <div *ngIf=\"((tab?.fetchTabStatus && tab?.fetchTabStatus === 'done') &&\n (!tab?.widgets || !tab?.widgets?.length))\">\n <ng-container *ngIf=\"tab?.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\">{{ 'contentstripmultiple.getReadyForLearningAdventure' | translate }} -\n <a class=\"click-here\" [routerLink]=\"'/page/learn'\">{{ 'contentstripmultiple.clickHere' | translate }}</a> {{ 'contentstripmultiple.toEnrollNextCourse' | translate }}</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\">{{ translateLabels(tab.nodataMsg, 'home') }}</div>\n </div>\n </ng-template>\n </div>\n <ng-container *ngIf=\"(tab?.fetchTabStatus === 'done' || tab?.widgets?.length)\">\n <ng-container *ngIf=\"!tab?.tabLoading\">\n\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [widgetsLength]=\"tab?.widgets?.length\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\"\n [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of tab?.widgets| slice:0:(tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </ng-container>\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"!stripsResultDataMap[key].tabs || !stripsResultDataMap[key].tabs.length\">\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader\" class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *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 <div class=\"\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\" [widgetsLength]=\"stripsResultDataMap[key]?.widgets?.length\" [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.widgets| slice:0:(stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <!-- <ng-container *ngIf=\"widget.widgetData.context.pageSection === 'continueLearning' \"> -->\n <!-- <ng-container *ngIf=\"widget.widgetData.content.completionPercentage !== 100\"\n [sbUiResolverWidget]=\"widget\"></ng-container> -->\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n <!-- </ng-container> -->\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </a>\n\n </ng-container>\n </ng-container>\n</ng-template>",
|
|
5376
|
-
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}.margin-bottom-custom{margin-bottom:60px}.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 .mat-tab-body{padding:20px 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:0 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}.click-here{color:#1b4ca1}.info-content{opacity:1;color:rgba(0,0,0,.87);font:700 14px/20px Lato-Bold;text-align:center}"]
|
|
5551
|
+
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])\">\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 min-height-40 \" [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])\"\n 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 class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0].viewMoreUrl.viewMoreText,'home') || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\" color=\"accent\">navigate_next</mat-icon>\n </a>\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\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 \" dynamicHeight\n [ngClass]=\"stripsResultDataMap[key]?.tabsType ? stripsResultDataMap[key]?.tabsType : ''\"\n (selectedTabChange)=\"tabClicked($event, stripsResultDataMap[key], key)\">\n <mat-tab label=\"{{tab?.label}}\" *ngFor=\"let tab of stripsResultDataMap[key].tabs; let last = last;\">\n <ng-template mat-tab-label>\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <span *ngIf=\"tab?.showTabDataCount && tab?.widgets?.length\">({{tab?.widgets?.length}})</span>\n </ng-template>\n <div>\n <!-- <ng-container [ngTemplateOutlet]=\"loader\" *ngIf=\"stripsResultDataMap[key]?.showOnLoader\">\n </ng-container> -->\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader ||\n !tab.fetchTabStatus\"\n class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [id]=\"key+'-scroller'\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *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 <div *ngIf=\"((tab?.fetchTabStatus && tab?.fetchTabStatus === 'done') &&\n (!tab?.widgets || !tab?.widgets?.length))\">\n <ng-container *ngIf=\"tab?.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\">{{ 'contentstripmultiple.getReadyForLearningAdventure' | translate }} -\n <a class=\"click-here\" [routerLink]=\"'/page/learn'\">{{ 'contentstripmultiple.clickHere' | translate }}</a> {{ 'contentstripmultiple.toEnrollNextCourse' | translate }}</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\">{{ translateLabels(tab.nodataMsg, 'home') }}</div>\n </div>\n </ng-template>\n </div>\n <ng-container *ngIf=\"(tab?.fetchTabStatus === 'done' || tab?.widgets?.length)\">\n <ng-container *ngIf=\"!tab?.tabLoading\">\n\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [widgetsLength]=\"tab?.widgets?.length\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\"\n [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of tab?.widgets| slice:0:(tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </ng-container>\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"!stripsResultDataMap[key].tabs || !stripsResultDataMap[key].tabs.length\">\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader\" class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *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 <div class=\"\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\" [widgetsLength]=\"stripsResultDataMap[key]?.widgets?.length\" [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.widgets| slice:0:(stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <!-- <ng-container *ngIf=\"widget.widgetData.context.pageSection === 'continueLearning' \"> -->\n <!-- <ng-container *ngIf=\"widget.widgetData.content.completionPercentage !== 100\"\n [sbUiResolverWidget]=\"widget\"></ng-container> -->\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n <!-- </ng-container> -->\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </a>\n\n </ng-container>\n </ng-container>\n</ng-template>",
|
|
5552
|
+
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}.margin-bottom-custom{margin-bottom:60px}.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 .mat-tab-body{padding:20px 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:0 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}.click-here{color:#1b4ca1}.info-content{opacity:1;color:rgba(0,0,0,.87);font:700 14px/20px Lato-Bold;text-align:center}::ng-deep .pills-tab .mat-tab-header{border-bottom:unset!important}::ng-deep .pills-tab .mat-tab-label{border:1px solid rgba(0,0,0,.2392156863)!important;padding:2px 8px;margin-right:8px!important;min-width:unset!important;border-radius:12px;height:unset!important}::ng-deep .pills-tab .mat-ink-bar{background-color:transparent!important;visibility:hidden!important}::ng-deep .pills-tab .mat-tab-label-active{color:#fff!important;background-color:#1b4ca1!important}::ng-deep .pills-tab .mat-tab-body{padding:0!important}.min-height-40{min-height:40px}"]
|
|
5377
5553
|
}] }
|
|
5378
5554
|
];
|
|
5379
5555
|
/** @nocollapse */
|
|
@@ -5990,7 +6166,8 @@ SlidersLibModule.decorators = [
|
|
|
5990
6166
|
const API_END_POINTS$2 = {
|
|
5991
6167
|
PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,
|
|
5992
6168
|
TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,
|
|
5993
|
-
ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search
|
|
6169
|
+
ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`,
|
|
6170
|
+
LEARNERS: `apis/proxies/v8/halloffame/top/learners`
|
|
5994
6171
|
};
|
|
5995
6172
|
class InsiteDataService {
|
|
5996
6173
|
/**
|
|
@@ -6020,6 +6197,12 @@ class InsiteDataService {
|
|
|
6020
6197
|
fetchTrainingDetails(request) {
|
|
6021
6198
|
return this.http.post(API_END_POINTS$2.TRAINING_DETAILS, request);
|
|
6022
6199
|
}
|
|
6200
|
+
/**
|
|
6201
|
+
* @return {?}
|
|
6202
|
+
*/
|
|
6203
|
+
fetchLearner() {
|
|
6204
|
+
return this.http.get(API_END_POINTS$2.LEARNERS);
|
|
6205
|
+
}
|
|
6023
6206
|
}
|
|
6024
6207
|
InsiteDataService.decorators = [
|
|
6025
6208
|
{ type: Injectable, args: [{
|
|
@@ -6126,12 +6309,33 @@ class DataPointsComponent {
|
|
|
6126
6309
|
this.isDataLoading = false;
|
|
6127
6310
|
}));
|
|
6128
6311
|
}
|
|
6312
|
+
/**
|
|
6313
|
+
* @param {?} value
|
|
6314
|
+
* @return {?}
|
|
6315
|
+
*/
|
|
6316
|
+
converToIndianSystem(value) {
|
|
6317
|
+
/** @type {?} */
|
|
6318
|
+
let numStr = value.toString();
|
|
6319
|
+
let [integerPart, decimalPart] = numStr.split('.');
|
|
6320
|
+
/** @type {?} */
|
|
6321
|
+
let lastThree = integerPart.slice(-3);
|
|
6322
|
+
/** @type {?} */
|
|
6323
|
+
let otherNumbers = integerPart.slice(0, -3);
|
|
6324
|
+
if (otherNumbers !== '') {
|
|
6325
|
+
lastThree = ',' + lastThree;
|
|
6326
|
+
}
|
|
6327
|
+
/** @type {?} */
|
|
6328
|
+
let formattedIntegerPart = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ',') + lastThree;
|
|
6329
|
+
/** @type {?} */
|
|
6330
|
+
const result = decimalPart ? `${formattedIntegerPart}.${decimalPart.substr(0, 2)}` : formattedIntegerPart;
|
|
6331
|
+
return result;
|
|
6332
|
+
}
|
|
6129
6333
|
}
|
|
6130
6334
|
DataPointsComponent.decorators = [
|
|
6131
6335
|
{ type: Component, args: [{
|
|
6132
6336
|
selector: 'sb-uic-data-points',
|
|
6133
|
-
template: "<div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData; let last = last\" class=\"\">\n <div class=\"element-div\" [ngClass]=\"{'linebreak': obj?.linebreak && !last}\">\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <img class=\"objIcon\" [src]=\"obj.icon\" [style.color]=\"obj?.iconColor\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"objDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"top-container\">\n <div class=\"flex-container\" *ngFor=\"let chunk of customArray\">\n <div *ngFor=\"let item of chunk\">\n <div class=\"flex-item\">\n <div class=\"flex flex-row gap-5 infra-element-div\">\n <div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"!(item && item.value)\">0</div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"(item && item.value)\">\n {{item?.value | number: item.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"item?.labelColor\" class=\"custom-opacity infra-objDescription padding-top-s\">{{item?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleFlexeRow' && !isDataLoading\">\n <div class=\"flex\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"singleFlexeRowIcon\" [src]=\"obj.icon\">\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n {{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- skeleton loaders -->\n\n<ng-container>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && isDataLoading\">\n <div *ngFor=\"let obj of [0,1,2,3]\" class=\"\">\n <div class=\"element-div linebreak\" >\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'150px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'singleFlexeRow' && isDataLoading\">\n <div class=\"flex\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n",
|
|
6134
|
-
styles: [".white{color:#fff}.custom-opacity{opacity:.7}.black{color:#000}.objIcon{width:32px;height:32px}.mobjIcon{width:24px;height:24px}.objHeader{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left}.mobjHeader{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left}.mobjDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.metrics-web{height:inherit;overflow-y:auto}.element-div{padding:25px 0;margin:0 25px}.linebreak{border-bottom:1px solid rgba(0,0,0,.16)}.singleFlexeRow-div{padding:16px;border-radius:15px}.singleFlexeRowHeader{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.singleFlexeRowDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.singleFlexeRowIcon{width:24px;height:24px}.melement-div{padding:16px;border-radius:15px;width:249px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-element-div{min-width:325px;padding:25px 0;align-items:baseline}.infra-objIcon{width:32px;height:32px}.infra-objHeader{font-family:Montserrat;font-size:36px;font-weight:600;line-height:29.26px;text-align:left}.infra-objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left;width:230px;text-overflow:ellipsis;overflow:hidden}.flex-container{display:flex}.top-container{overflow-x:auto;width:100%}::-webkit-scrollbar{height:4px}::-webkit-scrollbar-track{border-radius:10px;background:#000}::-webkit-scrollbar-thumb{background:#cccc;border-radius:10px}.flex-item{flex:0 0 auto;white-space:nowrap;min-width:200px}@media screen and (max-width:768px){.infra-objIcon{width:24px;height:24px}.infra-objHeader{font-size:24px}.infra-element-div{min-width:250px;padding:15px 0 25px}}"]
|
|
6337
|
+
template: "<div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData; let last = last\" class=\"\">\n <div class=\"element-div\" [ngClass]=\"{'linebreak': obj?.linebreak && !last}\">\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <img class=\"objIcon\" [src]=\"obj.icon\" [style.color]=\"obj?.iconColor\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"objDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'multipleRows-V2' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData; let i = index\">\n <div class=\"flex flex-row gap-4 {{(i+1 === objectData.length ? '' : 'pb-5')}}\">\n <div class=\"v2-icons-div\">\n <div class=\"v2-icon-contaier\"\n [style.background]=\"obj?.iconBackgroupColorV2\"\n [style.borderColor]=\"obj?.valueColor\">\n <img class=\"v2-objIcon\" [src]=\"obj.icon\" />\n </div>\n </div>\n <div class=\"v2-content-div\">\n <div class=\"flex flex-col\">\n <div class=\"v2-value\" [style.color]=\"obj?.valueColorV2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div class=\"v2-value\" [style.color]=\"obj?.valueColorV2\">\n {{obj.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div class=\"v2-label\" [style.color]=\"obj?.labelColorV2\">\n {{obj?.label}}\n </div>\n <div class=\"flex flex-row dot-container\" *ngIf=\"i+1 !== objectData.length\">\n <div class=\"v2-dot\"\n [style.background]=\"obj?.valueColorV2\"\n [style.borderColor]=\"obj?.labelColorV2\"></div>\n <div class=\"v2-border\" [style.background]=\"obj?.labelColorV2\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow-v2' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div flex-item\" [style.background]=\"obj?.backgroundV2\" >\n <div class=\"flex flex-row gap-3\">\n <div class=\"mob-image-container-v2\">\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon-v2\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColorMobV2\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColorMobV2\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColorV2\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"top-container\">\n <div class=\"flex-container\" *ngFor=\"let chunk of customArray\">\n <div *ngFor=\"let item of chunk\">\n <div class=\"flex-item\">\n <div class=\"flex flex-row gap-5 infra-element-div\">\n <div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"!(item && item.value)\">0</div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"(item && item.value)\">\n {{item?.value | number: item.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"item?.labelColor\" class=\"custom-opacity infra-objDescription padding-top-s\">{{item?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleFlexeRow' && !isDataLoading\">\n <div class=\"flex space-around\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div singleFlexeRow flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"singleFlexeRowIcon\" [src]=\"obj.icon\">\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- skeleton loaders -->\n\n<ng-container>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows-V2' && isDataLoading\">\n <div *ngFor=\"let obj of [1,2,3,4]l let i = index\">\n <div class=\"flex flex-row gap-4 {{(i+1 === objectData.length ? '' : 'pb-5')}}\">\n <div class=\"v2-icons-div\">\n <div class=\"v2-icon-contaier\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'55px'\"\n [height]=\"'55px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"v2-content-div\">\n <div class=\"flex flex-col\">\n <div class=\"v2-value\" [style.color]=\"obj?.valueColor\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"v2-label\" [style.color]=\"obj?.labelColor\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n</ng-container>\n\n<ng-container>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && isDataLoading\">\n <div *ngFor=\"let obj of [0,1,2,3]\" class=\"\">\n <div class=\"element-div linebreak\" >\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'150px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'singleFlexeRow' && isDataLoading\">\n <div class=\"flex\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow-v2' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div flex-item\" [style.background]=\"obj?.backgroundV2\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n",
|
|
6338
|
+
styles: ["@font-face{font-family:Poppins;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2) format('woff2'),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff) format('woff')}.mob-image-container-v2{height:28px;width:28px;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #fff}.mobjIcon-v2{width:18px;height:18px}.v2-icon-contaier{height:50px;width:50px;border:1px solid #fff;border-radius:50%;align-items:center;display:flex;justify-content:center}.v2-value{font-family:Poppins;font-size:24px;font-weight:600;line-height:24px;text-align:left;padding-bottom:5px;padding-left:10px}.v2-label{font-family:Poppins;font-size:12px;font-weight:400;line-height:18px;text-align:left;padding-bottom:5px;padding-left:10px}.dot-container{align-items:center}.v2-dot{width:9px;height:9px;border:2px solid #fff;border-radius:50%}.v2-border{height:1px;width:182px}.white{color:#fff}.custom-opacity{opacity:.7}.black{color:#000}.objIcon{width:32px;height:32px}.mobjIcon{width:24px;height:24px}.objHeader{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left}.mobjHeader{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left}.mobjDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.metrics-web{height:inherit;overflow-y:auto}.element-div{padding:25px 0;margin:0 25px}.linebreak{border-bottom:1px solid rgba(0,0,0,.16)}.singleFlexeRow-flex-item{flex:0 0 auto;white-space:nowrap}.singleFlexeRow-div{padding:16px;border-radius:15px}.singleFlexeRowHeader{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.singleFlexeRowDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.singleFlexeRowIcon{width:24px;height:24px}.melement-div{padding:16px;border-radius:15px;width:249px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-element-div{min-width:325px;padding:25px 0;align-items:baseline}.infra-objIcon{width:32px;height:32px}.infra-objHeader{font-family:Montserrat;font-size:36px;font-weight:600;line-height:29.26px;text-align:left}.infra-objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left;width:230px;text-overflow:ellipsis;overflow:hidden}.flex-container{display:flex}.top-container{overflow-x:auto;width:100%}::-webkit-scrollbar{height:4px}::-webkit-scrollbar-track{border-radius:10px;background:#000}::-webkit-scrollbar-thumb{background:#cccc;border-radius:10px}.flex-item{flex:0 0 auto;white-space:nowrap;min-width:200px}.space-around{justify-content:space-evenly}@media screen and (max-width:768px){.infra-objIcon{width:24px;height:24px}.infra-objHeader{font-size:24px}.infra-element-div{min-width:250px;padding:15px 0 25px}}"]
|
|
6135
6339
|
}] }
|
|
6136
6340
|
];
|
|
6137
6341
|
/** @nocollapse */
|
|
@@ -7431,6 +7635,8 @@ class AnnouncementsComponent {
|
|
|
7431
7635
|
this.openDialog = new EventEmitter();
|
|
7432
7636
|
this.isLoading = false;
|
|
7433
7637
|
this.announcements = [];
|
|
7638
|
+
this.expand = false;
|
|
7639
|
+
this.expanded = false;
|
|
7434
7640
|
}
|
|
7435
7641
|
/**
|
|
7436
7642
|
* @return {?}
|
|
@@ -7481,6 +7687,9 @@ class AnnouncementsComponent {
|
|
|
7481
7687
|
});
|
|
7482
7688
|
}));
|
|
7483
7689
|
}
|
|
7690
|
+
if (this.announcements.length > 3) {
|
|
7691
|
+
this.expand = true;
|
|
7692
|
+
}
|
|
7484
7693
|
this.objectData.list = this.announcements;
|
|
7485
7694
|
this.isLoading = false;
|
|
7486
7695
|
}), (/**
|
|
@@ -7508,12 +7717,18 @@ class AnnouncementsComponent {
|
|
|
7508
7717
|
openAnnouncements() {
|
|
7509
7718
|
this.openDialog.emit(true);
|
|
7510
7719
|
}
|
|
7720
|
+
/**
|
|
7721
|
+
* @return {?}
|
|
7722
|
+
*/
|
|
7723
|
+
showMoreOrLess() {
|
|
7724
|
+
this.expanded = !this.expanded;
|
|
7725
|
+
}
|
|
7511
7726
|
}
|
|
7512
7727
|
AnnouncementsComponent.decorators = [
|
|
7513
7728
|
{ type: Component, args: [{
|
|
7514
7729
|
selector: 'sb-uic-announcements',
|
|
7515
|
-
template: "<div class=\"w-full\" *ngIf=\"layoutType === 'web' && !isLoading\">\n <div class=\"flex item-center key-logo\">\n <img class=\"\" [src]=\"objectData?.logoUrl\">\n </div>\n <div class=\"flex item-center key-logo\">\n <div class=\"key-heading\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n {{objectData?.title}}\n </div>\n </div>\n <div class=\"key-list-container\"\n [style.borderColor]=\"objectData?.panelborder\"\n [style.backgroundColor]=\"objectData?.panelBackground\">\n <div class=\"{{mobileHeight ? 'mob-key-list' : 'key-list'}}\" *ngIf=\"objectData?.list?.length\">\n <div *ngFor=\"let item of objectData?.list; let i = index\">\n <div class=\"key-list-item mb-{{ objectData?.list?.length === (i+1) ? '' : '4'}}\" \n [style.borderColor]=\"objectData?.listItem?.border\"\n [style.backgroundColor]=\"objectData?.listItem?.background\">\n <div class=\"key-list-item-content {{item?.value?.length > 152 && !item?.expanded ? 'expand' : 'un-expand'}}\" [innerHTML]=\"item?.value\"></div>\n <div class=\"more-or-less\" *ngIf=\"item?.value?.length > 152\" [style.color]=\"objectData?.panelborder\">\n <div class=\"cursor-pointer\" (click)=\"viewMoreOrLess(item)\" *ngIf=\"!item?.expanded\">View more</div>\n <div class=\"cursor-pointer\" (click)=\"viewMoreOrLess(item)\" *ngIf=\"item?.expanded\">View less</div>\n </div>\n </div>\n </div> \n </div>\n <div class=\"{{mobileHeight ? 'mob-key-list' : 'key-list'}}\" *ngIf=\"!objectData?.list?.length\">\n <div class=\"text-center\">No announcements yet!</div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'mobile'\">\n <div class=\"flex item-center key-logo \">\n <div class=\"mob-key-heading\" (click)=\"openAnnouncements()\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n <div class=\"flex key-button gap-3\">\n <div>\n <img [src]=\"objectData?.mobileIcon\">\n </div>\n <div>{{objectData?.title}}</div> \n <div><mat-icon class=\"key-mob-icon\">arrow_forward_ios</mat-icon></div>\n </div> \n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'web' && isLoading\">\n <div class=\"flex item-center key-logo\">\n <img class=\"\" [src]=\"objectData?.logoUrl\">\n </div>\n <div class=\"flex item-center key-logo pt-1\">\n <div class=\"key-heading\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n {{objectData?.title}}\n </div>\n </div>\n <div class=\"key-list-container\"\n [style.borderColor]=\"objectData?.panelborder\"\n [style.backgroundColor]=\"objectData?.panelBackground\">\n <div class=\"{{mobileHeight ? 'mob-key-list' : 'key-list'}}\" > \n <div class=\"key-list-item mb-4\" \n *ngFor=\"let item of[0,1,2,3,4]; let i = index\"\n [style.borderColor]=\"objectData?.listItem?.border\"\n [style.backgroundColor]=\"objectData?.listItem?.background\">\n <div class=\"key-list-item-content un-expand\">\n <div class=\"py-1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'350px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"py-1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'350px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n",
|
|
7516
|
-
styles: [".key-logo{align-items:center;justify-content:center}.key-list-container{border:1px solid #ccc;padding:45px 15px 15px;border-radius:12px;margin-top:-20px}.key-list{height:
|
|
7730
|
+
template: "<div class=\"w-full\" *ngIf=\"layoutType === 'web' && !isLoading\">\n <div class=\"flex item-center key-logo\">\n <img class=\"\" [src]=\"objectData?.logoUrl\">\n </div>\n <div class=\"flex item-center key-logo\">\n <div class=\"key-heading\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n {{objectData?.title}}\n </div>\n </div>\n <div class=\"key-list-container\"\n [style.borderColor]=\"objectData?.panelborder\"\n [style.backgroundColor]=\"objectData?.panelBackground\">\n <div class=\"{{mobileHeight ? 'mob-key-list' : expand && expanded ? 'exp-key-list' : 'key-list'}}\" *ngIf=\"objectData?.list?.length\">\n <div *ngFor=\"let item of objectData?.list; let i = index\">\n <div class=\"key-list-item mb-{{ objectData?.list?.length === (i+1) ? '' : '4'}}\" \n [style.borderColor]=\"objectData?.listItem?.border\"\n [style.backgroundColor]=\"objectData?.listItem?.background\">\n <div class=\"key-list-item-content {{item?.value?.length > 152 && !item?.expanded ? 'expand' : 'un-expand'}}\" [innerHTML]=\"item?.value\"></div>\n <div class=\"more-or-less\" *ngIf=\"item?.value?.length > 152\" [style.color]=\"objectData?.panelborder\">\n <div class=\"cursor-pointer\" (click)=\"viewMoreOrLess(item)\" *ngIf=\"!item?.expanded\">View more</div>\n <div class=\"cursor-pointer\" (click)=\"viewMoreOrLess(item)\" *ngIf=\"item?.expanded\">View less</div>\n </div>\n </div>\n </div> \n </div>\n <div class=\"{{mobileHeight ? 'mob-key-list' : 'key-list'}}\" *ngIf=\"!objectData?.list?.length\">\n <div class=\"text-center\">No announcements yet!</div>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"!mobileHeight && expand\">\n <div (click)=\"showMoreOrLess()\" class=\"announcements-expand\" *ngIf=\"!expanded\">\n <mat-icon>expand_more</mat-icon>\n </div>\n <div (click)=\"showMoreOrLess()\" class=\"announcements-expand\" *ngIf=\"expanded\">\n <mat-icon>expand_less</mat-icon>\n </div>\n</ng-container>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'mobile'\">\n <div class=\"flex item-center key-logo \">\n <div class=\"mob-key-heading\" (click)=\"openAnnouncements()\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n <div class=\"flex key-button gap-3\">\n <div>\n <img [src]=\"objectData?.mobileIcon\">\n </div>\n <div>{{objectData?.title}}</div> \n <div><mat-icon class=\"key-mob-icon\">arrow_forward_ios</mat-icon></div>\n </div> \n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'web' && isLoading\">\n <div class=\"flex item-center key-logo\">\n <img class=\"\" [src]=\"objectData?.logoUrl\">\n </div>\n <div class=\"flex item-center key-logo pt-1\">\n <div class=\"key-heading\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n {{objectData?.title}}\n </div>\n </div>\n <div class=\"key-list-container\"\n [style.borderColor]=\"objectData?.panelborder\"\n [style.backgroundColor]=\"objectData?.panelBackground\">\n <div class=\"{{mobileHeight ? 'mob-key-list' : 'key-list'}}\" > \n <div class=\"key-list-item mb-4\" \n *ngFor=\"let item of[0,1,2,3,4]; let i = index\"\n [style.borderColor]=\"objectData?.listItem?.border\"\n [style.backgroundColor]=\"objectData?.listItem?.background\">\n <div class=\"key-list-item-content un-expand\">\n <div class=\"py-1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'350px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"py-1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'350px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div> \n </div>\n</div>\n",
|
|
7731
|
+
styles: [".key-logo{align-items:center;justify-content:center}.key-list-container{border:1px solid #ccc;padding:45px 15px 15px;border-radius:12px;margin-top:-20px}.key-list{height:325px;overflow:auto}.exp-key-list{height:100%;overflow:auto}.mob-key-list{height:calc(100vh - 252px);overflow:auto}.key-list::-webkit-scrollbar{display:none}.key-list-item{padding:16px;border:1px solid #ccc;border-radius:12px;min-height:56px}::ng-deep .key-list-item-content a{color:#1b4ca1!important}.key-list-item-content{font-family:Lato;font-size:14px;font-weight:400;line-height:20px;text-align:left;white-space:initial;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.expand{-webkit-line-clamp:3}.un-expand{-webkit-line-clamp:0}.more-or-less{font-family:Lato;font-size:14px;line-height:20px;font-weight:600}.mob-key-heading{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center;padding:7px 25px;border-radius:20px;animation:.9s infinite mobPaddingAnimation;cursor:pointer}.key-mob-icon{font-size:12px;width:12px;height:12px}.key-button{align-items:center;justify-content:center}.key-heading{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center;padding:10px 50px;border-radius:20px;margin-top:-3px;animation:.9s infinite paddingAnimation}.announcements-expand{width:32px;height:32px;position:relative;background:#000;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;left:50%;right:50%;top:-16px;cursor:pointer}@keyframes mobPaddingAnimation{0%,100%{padding:7px 25px}25%,75%{padding:7px 30px}50%{padding:7px 35px}}@keyframes paddingAnimation{0%,100%{padding:10px 50px}25%,75%{padding:10px 55px}50%{padding:10px 60px}}"]
|
|
7517
7732
|
}] }
|
|
7518
7733
|
];
|
|
7519
7734
|
/** @nocollapse */
|
|
@@ -7546,6 +7761,10 @@ if (false) {
|
|
|
7546
7761
|
/** @type {?} */
|
|
7547
7762
|
AnnouncementsComponent.prototype.announcements;
|
|
7548
7763
|
/** @type {?} */
|
|
7764
|
+
AnnouncementsComponent.prototype.expand;
|
|
7765
|
+
/** @type {?} */
|
|
7766
|
+
AnnouncementsComponent.prototype.expanded;
|
|
7767
|
+
/** @type {?} */
|
|
7549
7768
|
AnnouncementsComponent.prototype.insightSvc;
|
|
7550
7769
|
}
|
|
7551
7770
|
|
|
@@ -7567,75 +7786,728 @@ AnnouncementsModule.decorators = [
|
|
|
7567
7786
|
},] }
|
|
7568
7787
|
];
|
|
7569
7788
|
|
|
7570
|
-
/**
|
|
7571
|
-
* @fileoverview added by tsickle
|
|
7572
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7573
|
-
*/
|
|
7574
|
-
class ConsumptionModule {
|
|
7575
|
-
}
|
|
7576
|
-
ConsumptionModule.decorators = [
|
|
7577
|
-
{ type: NgModule, args: [{
|
|
7578
|
-
declarations: [ConsumptionComponent],
|
|
7579
|
-
imports: [
|
|
7580
|
-
ContentStripWithTabsLibModule,
|
|
7581
|
-
SlidersLibModule
|
|
7582
|
-
],
|
|
7583
|
-
exports: [ConsumptionComponent,
|
|
7584
|
-
ContentStripWithTabsLibModule,
|
|
7585
|
-
SlidersLibModule,
|
|
7586
|
-
DataPointsModule,
|
|
7587
|
-
CalenderModule,
|
|
7588
|
-
CommonStripModule,
|
|
7589
|
-
AnnouncementsModule
|
|
7590
|
-
],
|
|
7591
|
-
},] }
|
|
7592
|
-
];
|
|
7593
|
-
|
|
7594
7789
|
/**
|
|
7595
7790
|
* @fileoverview added by tsickle
|
|
7596
7791
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7597
7792
|
*/
|
|
7598
7793
|
/** @type {?} */
|
|
7599
|
-
const
|
|
7600
|
-
|
|
7601
|
-
_type: 'cardLib',
|
|
7602
|
-
cardResource: 'cardContentLib'
|
|
7603
|
-
},
|
|
7604
|
-
};
|
|
7605
|
-
|
|
7606
|
-
/**
|
|
7607
|
-
* @fileoverview added by tsickle
|
|
7608
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7609
|
-
*/
|
|
7610
|
-
var NsCardContent$1;
|
|
7611
|
-
(function (NsCardContent) {
|
|
7794
|
+
const moment$1 = moment$2;
|
|
7795
|
+
class TopLearnersComponent {
|
|
7612
7796
|
/**
|
|
7613
|
-
* @
|
|
7797
|
+
* @param {?} insightSvc
|
|
7614
7798
|
*/
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
/** @type {?} */
|
|
7633
|
-
ICard.prototype.stateData;
|
|
7634
|
-
/** @type {?|undefined} */
|
|
7635
|
-
ICard.prototype.cardCustomeClass;
|
|
7799
|
+
constructor(insightSvc) {
|
|
7800
|
+
this.insightSvc = insightSvc;
|
|
7801
|
+
this.loading = false;
|
|
7802
|
+
this.month = '';
|
|
7803
|
+
this.results = [];
|
|
7804
|
+
this.colors = [
|
|
7805
|
+
'#EB7181',
|
|
7806
|
+
'#306933',
|
|
7807
|
+
'#000000',
|
|
7808
|
+
'#3670B2',
|
|
7809
|
+
'#4E9E87',
|
|
7810
|
+
'#7E4C8D',
|
|
7811
|
+
'#EB7181',
|
|
7812
|
+
'#306933',
|
|
7813
|
+
'#000000',
|
|
7814
|
+
'#3670B2',
|
|
7815
|
+
];
|
|
7636
7816
|
}
|
|
7637
7817
|
/**
|
|
7638
|
-
* @
|
|
7818
|
+
* @return {?}
|
|
7819
|
+
*/
|
|
7820
|
+
ngOnInit() {
|
|
7821
|
+
this.getData();
|
|
7822
|
+
this.month = new Date().toLocaleString('default', { month: 'long' });
|
|
7823
|
+
}
|
|
7824
|
+
/**
|
|
7825
|
+
* @return {?}
|
|
7826
|
+
*/
|
|
7827
|
+
getData() {
|
|
7828
|
+
this.loading = true;
|
|
7829
|
+
this.insightSvc.fetchLearner().subscribe((/**
|
|
7830
|
+
* @param {?} res
|
|
7831
|
+
* @return {?}
|
|
7832
|
+
*/
|
|
7833
|
+
(res) => {
|
|
7834
|
+
if (res && res.result && res.result.result) {
|
|
7835
|
+
this.results = res.result.result;
|
|
7836
|
+
this.month = moment$1().month(Number(res.result.result[0].month) - 1).format('MMMM');
|
|
7837
|
+
this.loading = false;
|
|
7838
|
+
}
|
|
7839
|
+
}), (/**
|
|
7840
|
+
* @param {?} _error
|
|
7841
|
+
* @return {?}
|
|
7842
|
+
*/
|
|
7843
|
+
(_error) => {
|
|
7844
|
+
// tslint:disable-next-line: align
|
|
7845
|
+
this.loading = false;
|
|
7846
|
+
}));
|
|
7847
|
+
}
|
|
7848
|
+
/**
|
|
7849
|
+
* @param {?} rank
|
|
7850
|
+
* @return {?}
|
|
7851
|
+
*/
|
|
7852
|
+
getRank(rank) {
|
|
7853
|
+
if (rank === 1) {
|
|
7854
|
+
return "1st";
|
|
7855
|
+
}
|
|
7856
|
+
if (rank === 2) {
|
|
7857
|
+
return "2nd";
|
|
7858
|
+
}
|
|
7859
|
+
if (rank === 3) {
|
|
7860
|
+
return "3rd";
|
|
7861
|
+
}
|
|
7862
|
+
else {
|
|
7863
|
+
return `${rank}th`;
|
|
7864
|
+
}
|
|
7865
|
+
}
|
|
7866
|
+
/**
|
|
7867
|
+
* @return {?}
|
|
7868
|
+
*/
|
|
7869
|
+
getColor() {
|
|
7870
|
+
/** @type {?} */
|
|
7871
|
+
let circleColor = '';
|
|
7872
|
+
/** @type {?} */
|
|
7873
|
+
const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length));
|
|
7874
|
+
circleColor = this.colors[randomIndex];
|
|
7875
|
+
return circleColor;
|
|
7876
|
+
}
|
|
7877
|
+
/**
|
|
7878
|
+
* @param {?} name
|
|
7879
|
+
* @return {?}
|
|
7880
|
+
*/
|
|
7881
|
+
createInititals(name) {
|
|
7882
|
+
/** @type {?} */
|
|
7883
|
+
let initials = '';
|
|
7884
|
+
/** @type {?} */
|
|
7885
|
+
const array = name.toString().split(' ');
|
|
7886
|
+
if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {
|
|
7887
|
+
initials += array[0].charAt(0);
|
|
7888
|
+
initials += array[1].charAt(0);
|
|
7889
|
+
}
|
|
7890
|
+
else {
|
|
7891
|
+
for (let i = 0; i < name.length; i += 1) {
|
|
7892
|
+
if (name.charAt(i) === ' ') {
|
|
7893
|
+
continue;
|
|
7894
|
+
}
|
|
7895
|
+
if (name.charAt(i) === name.charAt(i)) {
|
|
7896
|
+
initials += name.charAt(i);
|
|
7897
|
+
if (initials.length === 2) {
|
|
7898
|
+
break;
|
|
7899
|
+
}
|
|
7900
|
+
}
|
|
7901
|
+
}
|
|
7902
|
+
}
|
|
7903
|
+
return initials.toUpperCase();
|
|
7904
|
+
}
|
|
7905
|
+
}
|
|
7906
|
+
TopLearnersComponent.decorators = [
|
|
7907
|
+
{ type: Component, args: [{
|
|
7908
|
+
selector: 'sb-uic-top-learners',
|
|
7909
|
+
template: "<div class=\"flex flex-center\">\n <div>\n <div class=\"title-border\"></div>\n <div class=\"title\" [style.color]=\"objectData?.titleFontColor\">{{objectData?.title}} ({{month}})</div>\n <div class=\"title-border\"></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\">\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 {{createInititals(obj?.fullname)}}\n </div>\n <div class=\"flex flex-col gap-1\">\n <div class=\"name-sec\">{{obj?.fullname}}</div>\n <div class=\"designation-sec\">{{obj?.designation}}</div>\n <div class=\"designation-sec\">{{channnelName}}</div>\n </div>\n </div>\n <div class=\"flex gap-3\"> \n <div class=\"rank-sec\">{{getRank(+obj?.rank)}}</div>\n </div> \n </div>\n <div class=\"flex gap-2 kp-section\">\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>",
|
|
7910
|
+
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,rgba(255,255,255,0) 0,#ef951e 20%,#ef951e 80%,rgba(255,255,255,0) 100%)}.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{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-track{border-radius:10px}::-webkit-scrollbar-thumb{background:rgba(204,204,204,.8);border-radius:10px}@media screen and (max-width:768px){.user-box{width:343px}}"]
|
|
7911
|
+
}] }
|
|
7912
|
+
];
|
|
7913
|
+
/** @nocollapse */
|
|
7914
|
+
TopLearnersComponent.ctorParameters = () => [
|
|
7915
|
+
{ type: InsiteDataService }
|
|
7916
|
+
];
|
|
7917
|
+
TopLearnersComponent.propDecorators = {
|
|
7918
|
+
objectData: [{ type: Input }],
|
|
7919
|
+
channelId: [{ type: Input }],
|
|
7920
|
+
channnelName: [{ type: Input }]
|
|
7921
|
+
};
|
|
7922
|
+
if (false) {
|
|
7923
|
+
/** @type {?} */
|
|
7924
|
+
TopLearnersComponent.prototype.objectData;
|
|
7925
|
+
/** @type {?} */
|
|
7926
|
+
TopLearnersComponent.prototype.channelId;
|
|
7927
|
+
/** @type {?} */
|
|
7928
|
+
TopLearnersComponent.prototype.channnelName;
|
|
7929
|
+
/** @type {?} */
|
|
7930
|
+
TopLearnersComponent.prototype.loading;
|
|
7931
|
+
/** @type {?} */
|
|
7932
|
+
TopLearnersComponent.prototype.month;
|
|
7933
|
+
/** @type {?} */
|
|
7934
|
+
TopLearnersComponent.prototype.results;
|
|
7935
|
+
/** @type {?} */
|
|
7936
|
+
TopLearnersComponent.prototype.colors;
|
|
7937
|
+
/** @type {?} */
|
|
7938
|
+
TopLearnersComponent.prototype.insightSvc;
|
|
7939
|
+
}
|
|
7940
|
+
|
|
7941
|
+
/**
|
|
7942
|
+
* @fileoverview added by tsickle
|
|
7943
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7944
|
+
*/
|
|
7945
|
+
class TopLearnersModule {
|
|
7946
|
+
}
|
|
7947
|
+
TopLearnersModule.decorators = [
|
|
7948
|
+
{ type: NgModule, args: [{
|
|
7949
|
+
declarations: [TopLearnersComponent],
|
|
7950
|
+
imports: [
|
|
7951
|
+
CommonModule,
|
|
7952
|
+
SkeletonLoaderLibModule
|
|
7953
|
+
],
|
|
7954
|
+
exports: [TopLearnersComponent],
|
|
7955
|
+
},] }
|
|
7956
|
+
];
|
|
7957
|
+
|
|
7958
|
+
/**
|
|
7959
|
+
* @fileoverview added by tsickle
|
|
7960
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7961
|
+
*/
|
|
7962
|
+
class ScrollableItemDirective {
|
|
7963
|
+
/**
|
|
7964
|
+
* @param {?} el
|
|
7965
|
+
*/
|
|
7966
|
+
constructor(el) {
|
|
7967
|
+
this.el = el;
|
|
7968
|
+
}
|
|
7969
|
+
/**
|
|
7970
|
+
* @param {?} blockValue
|
|
7971
|
+
* @return {?}
|
|
7972
|
+
*/
|
|
7973
|
+
scrollIntoView(blockValue) {
|
|
7974
|
+
this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });
|
|
7975
|
+
}
|
|
7976
|
+
}
|
|
7977
|
+
ScrollableItemDirective.decorators = [
|
|
7978
|
+
{ type: Directive, args: [{
|
|
7979
|
+
selector: '[sbUicScrollableItem]'
|
|
7980
|
+
},] }
|
|
7981
|
+
];
|
|
7982
|
+
/** @nocollapse */
|
|
7983
|
+
ScrollableItemDirective.ctorParameters = () => [
|
|
7984
|
+
{ type: ElementRef }
|
|
7985
|
+
];
|
|
7986
|
+
ScrollableItemDirective.propDecorators = {
|
|
7987
|
+
key: [{ type: Input, args: ['sbUicScrollableItem',] }]
|
|
7988
|
+
};
|
|
7989
|
+
if (false) {
|
|
7990
|
+
/** @type {?} */
|
|
7991
|
+
ScrollableItemDirective.prototype.key;
|
|
7992
|
+
/**
|
|
7993
|
+
* @type {?}
|
|
7994
|
+
* @private
|
|
7995
|
+
*/
|
|
7996
|
+
ScrollableItemDirective.prototype.el;
|
|
7997
|
+
}
|
|
7998
|
+
|
|
7999
|
+
/**
|
|
8000
|
+
* @fileoverview added by tsickle
|
|
8001
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8002
|
+
*/
|
|
8003
|
+
class CbpPlanComponent {
|
|
8004
|
+
/**
|
|
8005
|
+
* @param {?} translate
|
|
8006
|
+
* @param {?} langtranslations
|
|
8007
|
+
*/
|
|
8008
|
+
constructor(translate, langtranslations) {
|
|
8009
|
+
this.translate = translate;
|
|
8010
|
+
this.langtranslations = langtranslations;
|
|
8011
|
+
this.mobileHeight = false;
|
|
8012
|
+
this.fetchDataFromApi = false;
|
|
8013
|
+
this.openDialog = new EventEmitter();
|
|
8014
|
+
this.isLoading = false;
|
|
8015
|
+
this.currentIndex = 0;
|
|
8016
|
+
this.styleData = {};
|
|
8017
|
+
this.contentdata = [];
|
|
8018
|
+
}
|
|
8019
|
+
/**
|
|
8020
|
+
* @return {?}
|
|
8021
|
+
*/
|
|
8022
|
+
ngOnInit() {
|
|
8023
|
+
this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData;
|
|
8024
|
+
if (this.objectData && this.objectData.list) {
|
|
8025
|
+
this.objectData.list.forEach((/**
|
|
8026
|
+
* @param {?} contentEle
|
|
8027
|
+
* @return {?}
|
|
8028
|
+
*/
|
|
8029
|
+
(contentEle) => {
|
|
8030
|
+
/** @type {?} */
|
|
8031
|
+
let localData = {};
|
|
8032
|
+
localData['title'] = contentEle.title;
|
|
8033
|
+
localData['downloaUrl'] = contentEle.downloaUrl;
|
|
8034
|
+
localData['cardSubType'] = "card-wide-lib";
|
|
8035
|
+
localData['cardCustomeClass'] = "";
|
|
8036
|
+
this.contentdata.push(localData);
|
|
8037
|
+
}));
|
|
8038
|
+
}
|
|
8039
|
+
}
|
|
8040
|
+
/**
|
|
8041
|
+
* @param {?} indexValue
|
|
8042
|
+
* @return {?}
|
|
8043
|
+
*/
|
|
8044
|
+
getCurrentIndex(indexValue) {
|
|
8045
|
+
this.currentIndex = indexValue;
|
|
8046
|
+
}
|
|
8047
|
+
/**
|
|
8048
|
+
* @param {?} item
|
|
8049
|
+
* @return {?}
|
|
8050
|
+
*/
|
|
8051
|
+
getFileName(item) {
|
|
8052
|
+
console.log(item.downloadUrl);
|
|
8053
|
+
return item.downloadUrl.split("/").at(-1);
|
|
8054
|
+
}
|
|
8055
|
+
/**
|
|
8056
|
+
* @param {?} label
|
|
8057
|
+
* @param {?} type
|
|
8058
|
+
* @return {?}
|
|
8059
|
+
*/
|
|
8060
|
+
translateLabels(label, type) {
|
|
8061
|
+
return this.langtranslations.translateActualLabel(label, type, '');
|
|
8062
|
+
}
|
|
8063
|
+
/**
|
|
8064
|
+
* @param {?} item
|
|
8065
|
+
* @return {?}
|
|
8066
|
+
*/
|
|
8067
|
+
downloadCBPPlan(item) {
|
|
8068
|
+
/** @type {?} */
|
|
8069
|
+
const downloadUrl = item.downloaUrl;
|
|
8070
|
+
/** @type {?} */
|
|
8071
|
+
const xhr = new XMLHttpRequest();
|
|
8072
|
+
xhr.open('GET', downloadUrl, true);
|
|
8073
|
+
xhr.responseType = 'blob';
|
|
8074
|
+
xhr.onload = (/**
|
|
8075
|
+
* @return {?}
|
|
8076
|
+
*/
|
|
8077
|
+
function () {
|
|
8078
|
+
if (xhr.status === 200) {
|
|
8079
|
+
/** @type {?} */
|
|
8080
|
+
const blob = new Blob([xhr.response], { type: 'application/pdf' });
|
|
8081
|
+
/** @type {?} */
|
|
8082
|
+
const url = window.URL.createObjectURL(blob);
|
|
8083
|
+
/** @type {?} */
|
|
8084
|
+
const a = document.createElement('a');
|
|
8085
|
+
a.href = url;
|
|
8086
|
+
a.download = downloadUrl.split("/").at(-1);
|
|
8087
|
+
document.body.appendChild(a);
|
|
8088
|
+
a.click();
|
|
8089
|
+
document.body.removeChild(a);
|
|
8090
|
+
window.URL.revokeObjectURL(url);
|
|
8091
|
+
}
|
|
8092
|
+
else {
|
|
8093
|
+
console.error('Error downloading the PDF', xhr.statusText);
|
|
8094
|
+
}
|
|
8095
|
+
});
|
|
8096
|
+
xhr.onerror = (/**
|
|
8097
|
+
* @return {?}
|
|
8098
|
+
*/
|
|
8099
|
+
function () {
|
|
8100
|
+
console.error('Network error');
|
|
8101
|
+
});
|
|
8102
|
+
xhr.send();
|
|
8103
|
+
}
|
|
8104
|
+
}
|
|
8105
|
+
CbpPlanComponent.decorators = [
|
|
8106
|
+
{ type: Component, args: [{
|
|
8107
|
+
selector: 'sb-uic-cbp-plan',
|
|
8108
|
+
template: "<div class=\"w-full\">\n <div class=\"flex item-center cbp-logo\">\n <div class=\"cbp-heading\"\n [style.backgroundColor]=\"objectData?.header?.background\"\n [style.color]=\"objectData?.header?.color\">\n {{objectData?.title}}\n </div>\n </div>\n \n <div class=\"cbp-list-container\" *ngIf=\"contentdata.length\"\n [style.borderColor]=\"objectData?.panelborder\"\n [style.backgroundColor]=\"objectData?.panelBackground\">\n <ng-container *ngIf=\"contentdata.length; else msgTemp\">\n <sb-uic-sliders-ng-content\n [title]=\"'providerName'\"\n [currentIndex]=\"currentIndex\"\n (currentIndexValue)=\"getCurrentIndex($event)\"\n [loadNgContentData]=\"true\" [widgetData]=\"contentdata\"\n [styleData]=\"styleData\">\n <div sliderbody>\n <div *ngFor=\"let item of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"cbp-list-item\"\n [style.borderColor]=\"objectData?.listItem?.border\"\n [style.color]=\"objectData?.listItem?.border\"\n [style.backgroundColor]=\"objectData?.listItem?.background\">\n <div class=\"cbp-item-title\">{{item?.title}}</div>\n <div class=\"flex download-sec\">\n <div class=\"flex gap-3 cbp-download\" (click)=\"downloadCBPPlan(item)\">\n <img [src]=\"objectData?.downloadIcon\">Download\n </div>\n </div>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n </ng-container>\n <ng-template #msgTemp>\n <div class=\"padding-bottom-m\">\n {{ translateLabels(objectData?.noData, 'home') }}\n </div>\n </ng-template>\n </div>\n</div>",
|
|
8109
|
+
styles: [".cbp-logo{align-items:center;justify-content:center}.cbp-heading{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center;padding:10px 50px;border-radius:20px;margin-top:-3px}.cbp-list-container{border:1px solid #ccc;padding:40px 25px 0;border-radius:12px;margin-top:-20px}.cbp-list-item{padding:16px;border:1px solid #ccc;border-radius:12px}.cbp-item-title{font-family:Lato;font-size:14px;font-weight:400;line-height:20px;text-align:left;height:48px;padding-bottom:10px}.cbp-mob-icon{font-size:20px;width:20px;height:20px}.download-sec{align-items:center;justify-content:end}.cbp-download{display:flex;align-items:center;gap:4px;background:#fff;padding:6px 8px;border-radius:20px;cursor:pointer;font-family:Lato;font-size:12px;font-weight:700;line-height:20px;text-align:left}[hidden]{display:none!important}.cbp-list-container ::ng-deep.cbp-card{min-height:115px!important;padding-bottom:30px!important}.cbp-list-container ::ng-deep.banner-title{display:none}.cbp-list-container ::ng-deep.prev{font-size:10px;height:20px!important;width:20px!important;margin-left:-11px}.cbp-list-container ::ng-deep.next{font-size:10px;height:20px!important;width:20px!important;margin-right:-11px}"]
|
|
8110
|
+
}] }
|
|
8111
|
+
];
|
|
8112
|
+
/** @nocollapse */
|
|
8113
|
+
CbpPlanComponent.ctorParameters = () => [
|
|
8114
|
+
{ type: TranslateService },
|
|
8115
|
+
{ type: MultilingualTranslationsService }
|
|
8116
|
+
];
|
|
8117
|
+
CbpPlanComponent.propDecorators = {
|
|
8118
|
+
objectData: [{ type: Input }],
|
|
8119
|
+
layoutType: [{ type: Input }],
|
|
8120
|
+
mobileHeight: [{ type: Input }],
|
|
8121
|
+
fetchDataFromApi: [{ type: Input }],
|
|
8122
|
+
channelId: [{ type: Input }],
|
|
8123
|
+
openDialog: [{ type: Output }],
|
|
8124
|
+
scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
|
|
8125
|
+
};
|
|
8126
|
+
if (false) {
|
|
8127
|
+
/** @type {?} */
|
|
8128
|
+
CbpPlanComponent.prototype.objectData;
|
|
8129
|
+
/** @type {?} */
|
|
8130
|
+
CbpPlanComponent.prototype.layoutType;
|
|
8131
|
+
/** @type {?} */
|
|
8132
|
+
CbpPlanComponent.prototype.mobileHeight;
|
|
8133
|
+
/** @type {?} */
|
|
8134
|
+
CbpPlanComponent.prototype.fetchDataFromApi;
|
|
8135
|
+
/** @type {?} */
|
|
8136
|
+
CbpPlanComponent.prototype.channelId;
|
|
8137
|
+
/** @type {?} */
|
|
8138
|
+
CbpPlanComponent.prototype.openDialog;
|
|
8139
|
+
/** @type {?} */
|
|
8140
|
+
CbpPlanComponent.prototype.isLoading;
|
|
8141
|
+
/** @type {?} */
|
|
8142
|
+
CbpPlanComponent.prototype.currentIndex;
|
|
8143
|
+
/** @type {?} */
|
|
8144
|
+
CbpPlanComponent.prototype.styleData;
|
|
8145
|
+
/** @type {?} */
|
|
8146
|
+
CbpPlanComponent.prototype.contentdata;
|
|
8147
|
+
/** @type {?} */
|
|
8148
|
+
CbpPlanComponent.prototype.scrollableItems;
|
|
8149
|
+
/**
|
|
8150
|
+
* @type {?}
|
|
8151
|
+
* @private
|
|
8152
|
+
*/
|
|
8153
|
+
CbpPlanComponent.prototype.translate;
|
|
8154
|
+
/**
|
|
8155
|
+
* @type {?}
|
|
8156
|
+
* @private
|
|
8157
|
+
*/
|
|
8158
|
+
CbpPlanComponent.prototype.langtranslations;
|
|
8159
|
+
}
|
|
8160
|
+
|
|
8161
|
+
/**
|
|
8162
|
+
* @fileoverview added by tsickle
|
|
8163
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8164
|
+
*/
|
|
8165
|
+
class SlidersNgContentLibComponent extends WidgetBaseComponent {
|
|
8166
|
+
/**
|
|
8167
|
+
* @param {?} events
|
|
8168
|
+
* @param {?} valueSvc
|
|
8169
|
+
*/
|
|
8170
|
+
constructor(events, valueSvc) {
|
|
8171
|
+
super();
|
|
8172
|
+
this.events = events;
|
|
8173
|
+
this.valueSvc = valueSvc;
|
|
8174
|
+
this.title = '';
|
|
8175
|
+
this.loadNgContentData = false;
|
|
8176
|
+
this.autoScroll = false;
|
|
8177
|
+
this.currentIndexValue = new EventEmitter();
|
|
8178
|
+
this.id = `banner_${Math.random()}`;
|
|
8179
|
+
this.defaultMenuSubscribe = null;
|
|
8180
|
+
this.isLtMedium$ = this.valueSvc.isLtMedium$;
|
|
8181
|
+
this.currentIndex = 0;
|
|
8182
|
+
this.slideInterval = null;
|
|
8183
|
+
this.isMobile = false;
|
|
8184
|
+
}
|
|
8185
|
+
/**
|
|
8186
|
+
* @return {?}
|
|
8187
|
+
*/
|
|
8188
|
+
ngOnInit() {
|
|
8189
|
+
if (this.autoScroll) {
|
|
8190
|
+
this.reInitiateSlideInterval();
|
|
8191
|
+
}
|
|
8192
|
+
this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
|
|
8193
|
+
* @param {?} isLtMedium
|
|
8194
|
+
* @return {?}
|
|
8195
|
+
*/
|
|
8196
|
+
(isLtMedium) => {
|
|
8197
|
+
this.isMobile = isLtMedium;
|
|
8198
|
+
}));
|
|
8199
|
+
}
|
|
8200
|
+
/**
|
|
8201
|
+
* @return {?}
|
|
8202
|
+
*/
|
|
8203
|
+
reInitiateSlideInterval() {
|
|
8204
|
+
if (this.widgetData && this.widgetData.length > 1) {
|
|
8205
|
+
try {
|
|
8206
|
+
if (this.slideInterval) {
|
|
8207
|
+
this.slideInterval.unsubscribe();
|
|
8208
|
+
}
|
|
8209
|
+
}
|
|
8210
|
+
catch (e) {
|
|
8211
|
+
}
|
|
8212
|
+
finally {
|
|
8213
|
+
this.slideInterval = interval(8000).subscribe((/**
|
|
8214
|
+
* @return {?}
|
|
8215
|
+
*/
|
|
8216
|
+
() => {
|
|
8217
|
+
if (this.currentIndex === this.widgetData.length - 1) {
|
|
8218
|
+
this.currentIndex = 0;
|
|
8219
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
8220
|
+
}
|
|
8221
|
+
else {
|
|
8222
|
+
this.currentIndex += 1;
|
|
8223
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
8224
|
+
}
|
|
8225
|
+
}));
|
|
8226
|
+
}
|
|
8227
|
+
}
|
|
8228
|
+
}
|
|
8229
|
+
/**
|
|
8230
|
+
* @param {?} index
|
|
8231
|
+
* @return {?}
|
|
8232
|
+
*/
|
|
8233
|
+
slideTo(index) {
|
|
8234
|
+
if (index >= 0 && index < this.widgetData.length) {
|
|
8235
|
+
this.currentIndex = index;
|
|
8236
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
8237
|
+
}
|
|
8238
|
+
else if (index === this.widgetData.length) {
|
|
8239
|
+
this.currentIndex = 0;
|
|
8240
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
8241
|
+
}
|
|
8242
|
+
else {
|
|
8243
|
+
this.currentIndex = this.widgetData.length + index;
|
|
8244
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
8245
|
+
}
|
|
8246
|
+
if (this.autoScroll) {
|
|
8247
|
+
this.reInitiateSlideInterval();
|
|
8248
|
+
}
|
|
8249
|
+
}
|
|
8250
|
+
/**
|
|
8251
|
+
* @return {?}
|
|
8252
|
+
*/
|
|
8253
|
+
get isOpenInNewTab() {
|
|
8254
|
+
/** @type {?} */
|
|
8255
|
+
const currentData = this.widgetData[this.currentIndex];
|
|
8256
|
+
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
8257
|
+
return true;
|
|
8258
|
+
}
|
|
8259
|
+
return false;
|
|
8260
|
+
}
|
|
8261
|
+
/**
|
|
8262
|
+
* @return {?}
|
|
8263
|
+
*/
|
|
8264
|
+
openInNewTab() {
|
|
8265
|
+
/** @type {?} */
|
|
8266
|
+
const currentData = this.widgetData[this.currentIndex];
|
|
8267
|
+
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
8268
|
+
window.open(currentData.redirectUrl);
|
|
8269
|
+
}
|
|
8270
|
+
}
|
|
8271
|
+
/**
|
|
8272
|
+
* @param {?} bannerUrl
|
|
8273
|
+
* @return {?}
|
|
8274
|
+
*/
|
|
8275
|
+
raiseTelemetry(bannerUrl) {
|
|
8276
|
+
this.openInNewTab();
|
|
8277
|
+
/** @type {?} */
|
|
8278
|
+
const path = window.location.pathname.replace('/', '');
|
|
8279
|
+
/** @type {?} */
|
|
8280
|
+
const url = path + window.location.search;
|
|
8281
|
+
this.events.raiseInteractTelemetry({
|
|
8282
|
+
type: 'click',
|
|
8283
|
+
subType: 'banner',
|
|
8284
|
+
}, {
|
|
8285
|
+
pageUrl: url,
|
|
8286
|
+
bannerRedirectUrl: bannerUrl,
|
|
8287
|
+
}, {
|
|
8288
|
+
pageIdExt: 'banner',
|
|
8289
|
+
module: WsEvents.EnumTelemetrymodules.CONTENT,
|
|
8290
|
+
});
|
|
8291
|
+
}
|
|
8292
|
+
/**
|
|
8293
|
+
* @return {?}
|
|
8294
|
+
*/
|
|
8295
|
+
ngOnDestroy() {
|
|
8296
|
+
if (this.defaultMenuSubscribe) {
|
|
8297
|
+
this.defaultMenuSubscribe.unsubscribe();
|
|
8298
|
+
}
|
|
8299
|
+
}
|
|
8300
|
+
}
|
|
8301
|
+
SlidersNgContentLibComponent.decorators = [
|
|
8302
|
+
{ type: Component, args: [{
|
|
8303
|
+
selector: 'sb-uic-sliders-ng-content',
|
|
8304
|
+
template: "<div class=\"banner-container {{isMobile? styleData?.responsive?.bannerMetaClass : styleData?.bannerMetaClass}}\" (swipeleft)=\"slideTo(currentIndex + 1)\" (swiperight)=\"slideTo(currentIndex - 1)\"\n *ngIf=\"widgetData?.length > 1\" [style.height]=\"isMobile? styleData?.responsive?.customHeight : styleData?.customHeight\"\n [ngStyle]=\"{'border-radius': styleData?.borderRadius || '12px'}\">\n <ng-container *ngIf=\"!loadNgContentData\">\n <a (click)=\"raiseTelemetry(widgetData[currentIndex].redirectUrl)\"\n [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-overlay\"\n [ngClass]=\"{'cursor-auto': !widgetData[currentIndex].redirectUrl}\">\n <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\">\n <img i18n-alt alt=\"Page Banner\" [src]=\"slide.banners\" wsUtilsImageResponsive class=\"banner-image\" />\n </div>\n </a>\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"loadNgContentData\">\n <!-- <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\"> -->\n <ng-content select=\"[sliderbody]\"></ng-content>\n <!-- </div> -->\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n <ng-content select=\"[sliderMeta]\"></ng-content>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"navigation {{isMobile? styleData?.responsive?.arrowsPlacement : styleData?.arrowsPlacement}}\" \n *ngIf=\"isMobile && styleData?.responsive?.navigationArrows !== 'hidden' || !isMobile && styleData?.navigationArrows !== 'hidden'\">\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"prev\" (click)=\"slideTo(currentIndex - 1)\">❮</a>\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"next\" (click)=\"slideTo(currentIndex + 1)\">❯</a>\n </div>\n</div>\n<div class=\"banner-container-solo margin-top-s\" *ngIf=\"widgetData?.length == 1\">\n <img i18n-alt alt=\"Page Banner\" width=\"100%\" height=\"100%\" [src]=\"widgetData[0].banners\" wsUtilsImageResponsive class=\"banner-image-solo\" />\n</div>\n\n<!-- <ng-container *ngIf=\"!widgetData?.length\">\n <div class=\"slider default-slider h-full\">\n <div class=\"relative h-full\">\n <img class=\"h-full\" src=\"assets/icons/home/default-slider-image.svg\" alt=\"\">\n <div class=\"default-title rounded-full\">\n <p class=\"mat-h1\">{{title}}</p>\n </div>\n </div>\n </div>\n</ng-container> -->\n",
|
|
8305
|
+
styles: [".banner-container{min-height:243px;position:relative;margin:auto;padding-bottom:40px}.banner-container.inline-meta{padding-bottom:0!important}.banner-container.flat .banner .banner-image{border-radius:0!important}.banner-overlay{z-index:1;top:0;left:0;width:100%;height:100%;background:linear-gradient(to left,rgba(0,0,0,.25) 0,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,.25) 100%);border-radius:inherit}.banner{-webkit-animation-name:fade;-webkit-animation-duration:1.5s;animation-name:fade;animation-duration:1.5s;border-radius:inherit;height:inherit}.banner .banner-image{width:100%;min-height:243px;display:block;border-radius:inherit;height:inherit}.banner-meta{text-align:center;z-index:2;padding:8px 12px;position:absolute;bottom:0;left:50%;border-radius:12px;transform:translateX(-50%);box-sizing:border-box}.banner-meta.left{left:0;transform:translateX(0)}.banner-meta.right{left:100%;transform:translateX(-100%)}.banner-meta.top-center{left:0;bottom:100%;transform:translateX(-100%)}.banner-meta .banner-title{color:#f2f2f2;margin-bottom:8px;font-size:1.1rem}@media only screen and (max-width:599px){.banner-meta .banner-title{display:none}}.banner-meta .dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.banner-meta .dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}@media only screen and (max-width:599px){.banner-meta .dots-container .dot{height:8px;width:8px;margin:0 4px}}.banner-meta .dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}@keyframes fade{from{opacity:.25}to{opacity:1}}.next,.prev{cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-weight:700;background-color:#1b2133!important;border-radius:50%;z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;margin-top:-16px;justify-content:center}.prev{left:0;margin-left:-16px}.next{right:0;margin-right:-16px}.navigation.bottom-right .prev{left:unset;right:45px;bottom:-15px;top:unset}.navigation.bottom-right .next{left:unset;right:15px;bottom:-15px;top:unset}.navigation.bottom-center .prev{left:calc(50% - 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-center .next{left:calc(50% + 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-left .prev{left:15px;right:unset;bottom:-15px;top:unset}.navigation.bottom-left .next{left:60px;right:unset;bottom:-15px;top:unset}.navigation.middle-inline .prev{left:30px}.navigation.middle-inline .next{right:30px}.banner-container-solo{overflow:hidden;margin:auto;border-radius:12px}.banner-image-solo{width:100%;display:block;border-radius:12px}.default-slider{height:100%;background:#d4e2fb}.default-slider .default-title{text-align:center;position:absolute;top:50%;left:0;right:0;margin:auto;transform:translateY(-50%);z-index:999;background:#e6efff;padding:32px;width:500px}.default-slider .default-title p{word-break:break-word;margin:0!important;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;text-transform:uppercase}@media screen and (max-width:768px){.default-slider{height:384px;width:100%}.default-slider .default-title{width:unset!important}}"]
|
|
8306
|
+
}] }
|
|
8307
|
+
];
|
|
8308
|
+
/** @nocollapse */
|
|
8309
|
+
SlidersNgContentLibComponent.ctorParameters = () => [
|
|
8310
|
+
{ type: EventService },
|
|
8311
|
+
{ type: ValueService }
|
|
8312
|
+
];
|
|
8313
|
+
SlidersNgContentLibComponent.propDecorators = {
|
|
8314
|
+
widgetData: [{ type: Input }],
|
|
8315
|
+
styleData: [{ type: Input }],
|
|
8316
|
+
title: [{ type: Input }],
|
|
8317
|
+
loadNgContentData: [{ type: Input }],
|
|
8318
|
+
autoScroll: [{ type: Input }],
|
|
8319
|
+
currentIndexValue: [{ type: Output }],
|
|
8320
|
+
id: [{ type: HostBinding, args: ['id',] }],
|
|
8321
|
+
currentIndex: [{ type: Input }]
|
|
8322
|
+
};
|
|
8323
|
+
if (false) {
|
|
8324
|
+
/** @type {?} */
|
|
8325
|
+
SlidersNgContentLibComponent.prototype.widgetData;
|
|
8326
|
+
/** @type {?} */
|
|
8327
|
+
SlidersNgContentLibComponent.prototype.styleData;
|
|
8328
|
+
/** @type {?} */
|
|
8329
|
+
SlidersNgContentLibComponent.prototype.title;
|
|
8330
|
+
/** @type {?} */
|
|
8331
|
+
SlidersNgContentLibComponent.prototype.loadNgContentData;
|
|
8332
|
+
/** @type {?} */
|
|
8333
|
+
SlidersNgContentLibComponent.prototype.autoScroll;
|
|
8334
|
+
/** @type {?} */
|
|
8335
|
+
SlidersNgContentLibComponent.prototype.currentIndexValue;
|
|
8336
|
+
/** @type {?} */
|
|
8337
|
+
SlidersNgContentLibComponent.prototype.id;
|
|
8338
|
+
/**
|
|
8339
|
+
* @type {?}
|
|
8340
|
+
* @private
|
|
8341
|
+
*/
|
|
8342
|
+
SlidersNgContentLibComponent.prototype.defaultMenuSubscribe;
|
|
8343
|
+
/** @type {?} */
|
|
8344
|
+
SlidersNgContentLibComponent.prototype.isLtMedium$;
|
|
8345
|
+
/** @type {?} */
|
|
8346
|
+
SlidersNgContentLibComponent.prototype.currentIndex;
|
|
8347
|
+
/** @type {?} */
|
|
8348
|
+
SlidersNgContentLibComponent.prototype.slideInterval;
|
|
8349
|
+
/** @type {?} */
|
|
8350
|
+
SlidersNgContentLibComponent.prototype.isMobile;
|
|
8351
|
+
/**
|
|
8352
|
+
* @type {?}
|
|
8353
|
+
* @private
|
|
8354
|
+
*/
|
|
8355
|
+
SlidersNgContentLibComponent.prototype.events;
|
|
8356
|
+
/**
|
|
8357
|
+
* @type {?}
|
|
8358
|
+
* @private
|
|
8359
|
+
*/
|
|
8360
|
+
SlidersNgContentLibComponent.prototype.valueSvc;
|
|
8361
|
+
}
|
|
8362
|
+
|
|
8363
|
+
/**
|
|
8364
|
+
* @fileoverview added by tsickle
|
|
8365
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8366
|
+
*/
|
|
8367
|
+
/* tslint:enable */
|
|
8368
|
+
class MyHammerConfig$1 extends HammerGestureConfig {
|
|
8369
|
+
/**
|
|
8370
|
+
* @param {?} element
|
|
8371
|
+
* @return {?}
|
|
8372
|
+
*/
|
|
8373
|
+
buildHammer(element) {
|
|
8374
|
+
/** @type {?} */
|
|
8375
|
+
const mc = new Hammer(element, {
|
|
8376
|
+
touchAction: 'pan-y',
|
|
8377
|
+
});
|
|
8378
|
+
return mc;
|
|
8379
|
+
}
|
|
8380
|
+
}
|
|
8381
|
+
// tslint:disable-next-line: max-classes-per-file
|
|
8382
|
+
class SlidersNgContentLibModule {
|
|
8383
|
+
}
|
|
8384
|
+
SlidersNgContentLibModule.decorators = [
|
|
8385
|
+
{ type: NgModule, args: [{
|
|
8386
|
+
declarations: [SlidersNgContentLibComponent],
|
|
8387
|
+
imports: [
|
|
8388
|
+
CommonModule,
|
|
8389
|
+
RouterModule,
|
|
8390
|
+
NavigationModule,
|
|
8391
|
+
ImageResponsiveModule,
|
|
8392
|
+
],
|
|
8393
|
+
exports: [SlidersNgContentLibComponent],
|
|
8394
|
+
entryComponents: [SlidersNgContentLibComponent],
|
|
8395
|
+
providers: [
|
|
8396
|
+
{
|
|
8397
|
+
provide: HAMMER_GESTURE_CONFIG,
|
|
8398
|
+
useClass: MyHammerConfig$1,
|
|
8399
|
+
},
|
|
8400
|
+
],
|
|
8401
|
+
},] }
|
|
8402
|
+
];
|
|
8403
|
+
|
|
8404
|
+
/**
|
|
8405
|
+
* @fileoverview added by tsickle
|
|
8406
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8407
|
+
*/
|
|
8408
|
+
class ScrollableItemModule {
|
|
8409
|
+
}
|
|
8410
|
+
ScrollableItemModule.decorators = [
|
|
8411
|
+
{ type: NgModule, args: [{
|
|
8412
|
+
declarations: [ScrollableItemDirective],
|
|
8413
|
+
imports: [
|
|
8414
|
+
CommonModule,
|
|
8415
|
+
],
|
|
8416
|
+
exports: [ScrollableItemDirective],
|
|
8417
|
+
},] }
|
|
8418
|
+
];
|
|
8419
|
+
|
|
8420
|
+
/**
|
|
8421
|
+
* @fileoverview added by tsickle
|
|
8422
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8423
|
+
*/
|
|
8424
|
+
class CbpPlanModule {
|
|
8425
|
+
}
|
|
8426
|
+
CbpPlanModule.decorators = [
|
|
8427
|
+
{ type: NgModule, args: [{
|
|
8428
|
+
declarations: [CbpPlanComponent],
|
|
8429
|
+
imports: [
|
|
8430
|
+
CommonModule,
|
|
8431
|
+
SkeletonLoaderLibModule,
|
|
8432
|
+
MatIconModule,
|
|
8433
|
+
ScrollableItemModule,
|
|
8434
|
+
SlidersNgContentLibModule,
|
|
8435
|
+
],
|
|
8436
|
+
exports: [CbpPlanComponent]
|
|
8437
|
+
},] }
|
|
8438
|
+
];
|
|
8439
|
+
|
|
8440
|
+
/**
|
|
8441
|
+
* @fileoverview added by tsickle
|
|
8442
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8443
|
+
*/
|
|
8444
|
+
class ConsumptionModule {
|
|
8445
|
+
}
|
|
8446
|
+
ConsumptionModule.decorators = [
|
|
8447
|
+
{ type: NgModule, args: [{
|
|
8448
|
+
declarations: [ConsumptionComponent,],
|
|
8449
|
+
imports: [
|
|
8450
|
+
ContentStripWithTabsLibModule,
|
|
8451
|
+
SlidersLibModule
|
|
8452
|
+
],
|
|
8453
|
+
exports: [ConsumptionComponent,
|
|
8454
|
+
ContentStripWithTabsLibModule,
|
|
8455
|
+
SlidersLibModule,
|
|
8456
|
+
DataPointsModule,
|
|
8457
|
+
CalenderModule,
|
|
8458
|
+
CommonStripModule,
|
|
8459
|
+
AnnouncementsModule,
|
|
8460
|
+
TopLearnersModule,
|
|
8461
|
+
CbpPlanModule,
|
|
8462
|
+
],
|
|
8463
|
+
},] }
|
|
8464
|
+
];
|
|
8465
|
+
|
|
8466
|
+
/**
|
|
8467
|
+
* @fileoverview added by tsickle
|
|
8468
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8469
|
+
*/
|
|
8470
|
+
/** @type {?} */
|
|
8471
|
+
const ROOT_WIDGET_CONFIG = {
|
|
8472
|
+
card: {
|
|
8473
|
+
_type: 'cardLib',
|
|
8474
|
+
cardResource: 'cardContentLib'
|
|
8475
|
+
},
|
|
8476
|
+
};
|
|
8477
|
+
|
|
8478
|
+
/**
|
|
8479
|
+
* @fileoverview added by tsickle
|
|
8480
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8481
|
+
*/
|
|
8482
|
+
var NsCardContent$1;
|
|
8483
|
+
(function (NsCardContent) {
|
|
8484
|
+
/**
|
|
8485
|
+
* @record
|
|
8486
|
+
*/
|
|
8487
|
+
function ICard() { }
|
|
8488
|
+
NsCardContent.ICard = ICard;
|
|
8489
|
+
if (false) {
|
|
8490
|
+
/** @type {?} */
|
|
8491
|
+
ICard.prototype.content;
|
|
8492
|
+
/** @type {?} */
|
|
8493
|
+
ICard.prototype.cardSubType;
|
|
8494
|
+
/** @type {?} */
|
|
8495
|
+
ICard.prototype.context;
|
|
8496
|
+
/** @type {?|undefined} */
|
|
8497
|
+
ICard.prototype.intranetMode;
|
|
8498
|
+
/** @type {?|undefined} */
|
|
8499
|
+
ICard.prototype.deletedMode;
|
|
8500
|
+
/** @type {?|undefined} */
|
|
8501
|
+
ICard.prototype.likes;
|
|
8502
|
+
/** @type {?|undefined} */
|
|
8503
|
+
ICard.prototype.contentTags;
|
|
8504
|
+
/** @type {?} */
|
|
8505
|
+
ICard.prototype.stateData;
|
|
8506
|
+
/** @type {?|undefined} */
|
|
8507
|
+
ICard.prototype.cardCustomeClass;
|
|
8508
|
+
}
|
|
8509
|
+
/**
|
|
8510
|
+
* @record
|
|
7639
8511
|
*/
|
|
7640
8512
|
function IContentTags() { }
|
|
7641
8513
|
NsCardContent.IContentTags = IContentTags;
|
|
@@ -8808,7 +9680,7 @@ CardWideComponent.decorators = [
|
|
|
8808
9680
|
{ type: Component, args: [{
|
|
8809
9681
|
selector: 'sb-uic-card-wide',
|
|
8810
9682
|
template: "<mat-card class=\"card-wide-lib\">\n <a (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" \n role=\"link\" i18n-aria-label>\n <div class=\"flex\">\n <div>\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-wide-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-wide-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-wide-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div>\n <div class=\"pl-4 pr-4 w-full\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData?.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData?.content?.name }}\n </div>\n\n <div class=\"flex w-full flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</mat-card>\n",
|
|
8811
|
-
styles: [".card-wide-lib{width:inherit;padding:16px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.16)}.card-wide-lib .card-wide-img{width:190px;height:107px;border-radius:12px}.card-wide-lib .course_widget{margin-top:10px}.card-wide-lib .course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.card-wide-lib .course_widget .course_v2{border:1px solid #ef951e;padding:4px 8px;align-items:end;border-radius:16px}.card-wide-lib .course_widget .main_icon{font-size:16px;width:16px;height:16px}.card-wide-lib .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.card-wide-lib .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-wide-lib .course_logo_box p{display:inline-block;vertical-align:top}.card-wide-lib .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}@media screen and (max-width:768px){.card-wide-img{width:147px!important;height:117px!important;border-radius:12px!important}}"]
|
|
9683
|
+
styles: [".card-wide-lib{width:inherit;padding:16px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.16)}.card-wide-lib .card-wide-img{width:190px;height:107px;border-radius:12px}.card-wide-lib .course_widget{margin-top:10px}.card-wide-lib .course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.card-wide-lib .course_widget .course_v2{border:1px solid #ef951e;padding:4px 8px;align-items:end;border-radius:16px}.card-wide-lib .course_widget .main_icon{font-size:16px;width:16px;height:16px}.card-wide-lib .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.card-wide-lib .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-wide-lib .course_logo_box p{display:inline-block;vertical-align:top}.card-wide-lib .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}@media screen and (max-width:768px){.card-wide-img{width:147px!important;height:117px!important;border-radius:12px!important}.course_widget{max-width:145px}.org-text{width:56%!important}}"]
|
|
8812
9684
|
}] }
|
|
8813
9685
|
];
|
|
8814
9686
|
/** @nocollapse */
|
|
@@ -9824,13 +10696,14 @@ class CardAssessmentComponent {
|
|
|
9824
10696
|
/** @type {?} */
|
|
9825
10697
|
let now = new Date().getTime();
|
|
9826
10698
|
/** @type {?} */
|
|
9827
|
-
let startingDate = new Date(startDate)
|
|
10699
|
+
let startingDate = new Date(startDate).getTime()
|
|
9828
10700
|
// startingDate.setHours(startingDate.getHours() - 5);
|
|
9829
10701
|
// startingDate.setMinutes(startingDate.getMinutes() - 30);
|
|
10702
|
+
// startingDate = startingDate.getTime()
|
|
9830
10703
|
;
|
|
9831
10704
|
// startingDate.setHours(startingDate.getHours() - 5);
|
|
9832
10705
|
// startingDate.setMinutes(startingDate.getMinutes() - 30);
|
|
9833
|
-
startingDate = startingDate.getTime()
|
|
10706
|
+
// startingDate = startingDate.getTime()
|
|
9834
10707
|
/** @type {?} */
|
|
9835
10708
|
const distance = startingDate - now;
|
|
9836
10709
|
if (distance > 0) {
|
|
@@ -9866,8 +10739,8 @@ class CardAssessmentComponent {
|
|
|
9866
10739
|
CardAssessmentComponent.decorators = [
|
|
9867
10740
|
{ type: Component, args: [{
|
|
9868
10741
|
selector: 'sb-uic-card-assessment',
|
|
9869
|
-
template: "<ng-container *ngIf=\"!isCardLoading\">\n\t<mat-card
|
|
9870
|
-
styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:340px;margin-top:16px;margin-right:12px;border-radius:12px}.image-container{width:145px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.image-container img{border-radius:8px;opacity:1;background-size:100%;width:145px!important;height:120px!important;display:flex}.title-container{width:155px;margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width:
|
|
10742
|
+
template: "<ng-container *ngIf=\"!isCardLoading\">\n\t<mat-card\n\t\tclass=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t\t<a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n\t\t\t<div class=\"display-contents\">\n\t\t\t\t<ng-container *ngIf=\"widgetData\">\n\t\t\t\t\t<mat-card-content>\n\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t\t<img mat-card-image class=\"margin-remove assess-img\"\n\t\t\t\t\t\t\t\t\t\t\t[src]=\"widgetData?.content?.posterImage | pipePublicURL\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\">\n\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t\t<ng-template #defaultImg>\n\t\t\t\t\t\t\t\t\t\t\t<img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"card-wide-img ws-mat-primary-lite-background margin-remove assess-img\"\n\t\t\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\" />\n\t\t\t\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex title-text mat-subheading-1\">\n\t\t\t\t\t\t\t\t\t\t{{ widgetData?.content?.name }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-s font-normal mat-caption sub-title-text\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"course_logo_box\">\n\t\t\t\t\t\t\t\t\t\t\t<img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n\t\t\t\t\t\t\t\t\t\t\t\t[alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sub-title-text\">\n\t\t\t\t\t\t\t\t\t\t\t{{ (widgetData?.content?.organisation &&\n\t\t\t\t\t\t\t\t\t\t\twidgetData?.content?.organisation[0]) ?\n\t\t\t\t\t\t\t\t\t\t\twidgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<mat-card-footer class=\"assessment-card-footer padding-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t\t<span>{{ startCountdown(widgetData?.content?.batch) }}</span>\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-row\" *ngIf=\"daysPending\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"start-span\">Assessment starts in </span>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex margin-right-s\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"big-text\"><b>{{ days }}</b> <span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"small-text\">days</span> </span> : <span\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"big-text\"><b>{{ hours }} </b><span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"small-text\">hours</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span> : <span class=\"big-text\"> <b>{{ minutes }}</b> <span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"small-text\">minutes</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"time-span flex items-center justify-center\">{{widgetData?.content?.batch?.startDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t| date: 'dd MMM yyy HH:mm' }}</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div *ngIf=\"!daysPending\" class=\"flex flex-row\"> \n\t\t\t\t\t\t\t\t\t\t\t<span class=\"start-span\">Assessment ends in </span>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex margin-right-s\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"start-btn\">Start Assessment</span> \n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"time-span flex items-center justify-center\">{{widgetData?.content?.batch?.endDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t| date: 'dd MMM yyy HH:mm' }}</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</mat-card-content>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</a>\n\t</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n\t<ng-container [ngTemplateOutlet]=\"skeltonLoader\"></ng-container>\n</ng-container>\n\n<ng-template #skeltonLoader>\n\t<mat-card\n\t\tclass=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t\t<a>\n\t\t\t<div class=\"display-contents\">\n\t\t\t\t<ng-container>\n\t\t\t\t\t<mat-card-content>\n\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t\t<ng-container>\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'300px'\"\n\t\t\t\t\t\t\t\t\t\t\t[height]=\"'155px'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex title-container flex-col margin-top-m\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-l font-normal\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <span class=\"text-center\"><sb-uic-skeleton-loader [width]=\"'90px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader> </span> -->\n\t\t\t\t\t\t\t<mat-card-footer class=\"assessment-card-footer col-row padding-l\">\n\t\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</mat-card-content>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</a>\n\t</mat-card>\n</ng-template>",
|
|
10743
|
+
styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:340px;margin-top:16px;margin-right:12px;border-radius:12px}.image-container{width:145px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.image-container img{border-radius:8px;opacity:1;background-size:100%;width:145px!important;height:120px!important;display:flex}.title-container{width:155px;margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width:90%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;margin-right:4px;box-shadow:0 2px 1px -1px rgb(0 0 0 / 20%),0 1px 1px 0 rgb(0 0 0 / 14%),0 1px 3px 0 rgb(0 0 0 / 12%)}.course_logo_box img.source-icon{height:28px;width:28px;padding:5px;display:inline-block}.mat-card-footer{margin:0!important}.time-span{padding:2px 8px;color:#fff;border-radius:4px;text-align:center;font-size:12px;background-color:green;width:100px}span.start-span{border-radius:50px;border:2px solid rgba(0,0,0,.08);font-size:12px;text-align:center;position:absolute;bottom:0;width:140px;left:50%;margin-left:-70px;background-color:#fff;margin-bottom:62px;margin-right:8px}.assessment-card-footer{background:rgba(239,149,30,.16)!important;text-align:center;box-sizing:border-box;border-radius:0 0 8px 8px}.start-btn{background:#1b4ca1!important;color:#fff;font-size:14px;font-weight:600;border-radius:25px;text-align:center;padding:4px 12px}.dots-container{display:none}.big-text{font-size:16px}.small-text{font-size:12px!important;vertical-align:top;margin-left:4px}"]
|
|
9871
10744
|
}] }
|
|
9872
10745
|
];
|
|
9873
10746
|
/** @nocollapse */
|
|
@@ -13755,47 +14628,6 @@ if (false) {
|
|
|
13755
14628
|
RatingService.prototype.http;
|
|
13756
14629
|
}
|
|
13757
14630
|
|
|
13758
|
-
/**
|
|
13759
|
-
* @fileoverview added by tsickle
|
|
13760
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
13761
|
-
*/
|
|
13762
|
-
class ScrollableItemDirective {
|
|
13763
|
-
/**
|
|
13764
|
-
* @param {?} el
|
|
13765
|
-
*/
|
|
13766
|
-
constructor(el) {
|
|
13767
|
-
this.el = el;
|
|
13768
|
-
}
|
|
13769
|
-
/**
|
|
13770
|
-
* @param {?} blockValue
|
|
13771
|
-
* @return {?}
|
|
13772
|
-
*/
|
|
13773
|
-
scrollIntoView(blockValue) {
|
|
13774
|
-
this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });
|
|
13775
|
-
}
|
|
13776
|
-
}
|
|
13777
|
-
ScrollableItemDirective.decorators = [
|
|
13778
|
-
{ type: Directive, args: [{
|
|
13779
|
-
selector: '[sbUicScrollableItem]'
|
|
13780
|
-
},] }
|
|
13781
|
-
];
|
|
13782
|
-
/** @nocollapse */
|
|
13783
|
-
ScrollableItemDirective.ctorParameters = () => [
|
|
13784
|
-
{ type: ElementRef }
|
|
13785
|
-
];
|
|
13786
|
-
ScrollableItemDirective.propDecorators = {
|
|
13787
|
-
key: [{ type: Input, args: ['sbUicScrollableItem',] }]
|
|
13788
|
-
};
|
|
13789
|
-
if (false) {
|
|
13790
|
-
/** @type {?} */
|
|
13791
|
-
ScrollableItemDirective.prototype.key;
|
|
13792
|
-
/**
|
|
13793
|
-
* @type {?}
|
|
13794
|
-
* @private
|
|
13795
|
-
*/
|
|
13796
|
-
ScrollableItemDirective.prototype.el;
|
|
13797
|
-
}
|
|
13798
|
-
|
|
13799
14631
|
/**
|
|
13800
14632
|
* @fileoverview added by tsickle
|
|
13801
14633
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -13942,8 +14774,8 @@ class UserContentRatingLibComponent {
|
|
|
13942
14774
|
UserContentRatingLibComponent.decorators = [
|
|
13943
14775
|
{ type: Component, args: [{
|
|
13944
14776
|
selector: 'sb-uic-user-content-rating',
|
|
13945
|
-
template: "<ng-container *ngIf=\"contentdata.length\">\n <sb-uic-sliders-ng-content [title]=\"'providerName'\" [currentIndex]=\"currentIndex\" (currentIndexValue)=\"getCurrentIndex($event)\" [loadNgContentData]=\"true\" [widgetData]=\"contentdata\" [styleData]=\"styleData\">\n
|
|
13946
|
-
styles: [".user-ratting-wrapper .userName{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:center}.user-ratting-wrapper .content-feedback{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:center;color:rgba(0,0,0,.87)}.user-ratting-wrapper .content-info{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#666}.avatar-block{border:8px solid transparent;position:relative;cursor:pointer;width:48px;height:48px}.user-active{content:\"\";border:5px solid #f3972e;border-radius:50%;display:flex;justify-content:center;align-items:center;margin-bottom:0;width:48px;height:48px}.user-active::after{content:\" \";position:absolute;top:106%;left:50%;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:18px solid #f3972e}.users-block{overflow-x:auto;padding:16px;padding-bottom:
|
|
14777
|
+
template: "<ng-container *ngIf=\"contentdata.length\">\n <div class=\"user-rating-section\">\n <sb-uic-sliders-ng-content [title]=\"'providerName'\" [currentIndex]=\"currentIndex\" (currentIndexValue)=\"getCurrentIndex($event)\" [loadNgContentData]=\"true\" [widgetData]=\"contentdata\" [styleData]=\"styleData\">\n <div sliderbody>\n <div class=\"flex justify-start md:justify-center users-block\">\n <ng-container *ngFor=\"let userData of contentdata; let j = index\">\n <div class=\"avatar-block mr-1\" [sbUicScrollableItem]=\"j\"\n [ngClass]=\"{'user-active': j === currentIndex}\" (click)=\"handleScrollClick(currentIndex);currentIndex = j\">\n <sb-uic-avatar-photo [defaulfColor]=\"'#1B2133'\" [datalen]=\"1\" [randomColor]=\"true\" [name]=\"userData?.userDetails?.firstName\" [photoUrl]=\"userData?.userDetails?.profileImageUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </div>\n </ng-container>\n </div>\n <div *ngFor=\"let ratingData of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"user-ratting-wrapper flex flex-wrap justify-center\">\n <div class=\"w-full mr-0 md:mr-8 ml-0 md:ml-8 pb-5\">\n <sb-uic-cards [widgetData]=\"ratingData\"></sb-uic-cards>\n </div>\n <div class=\"title-border-v2\"></div>\n <p class=\"userName w-full mb-4 pt-6\">{{ratingData?.userDetails?.firstName}}</p>\n <div class=\"flex w-full flex-row justify-center gap-2 mb-4\">\n <mat-icon class=\"mat-icon material-icons rating-icon ws-mat-black16-text\"\n [ngClass]=\"{'ws-mat-orange-text': getRatingIconClass(rating, ratingData?.rating)}\"\n *ngFor=\"let rating of [1, 2, 3, 4, 5]\">\n {{ getRatingIcon(rating, ratingData?.rating) }}\n </mat-icon>\n </div>\n <p class=\"content-feedback w-full mb-4 px-4 md:px-8\">{{ratingData?.review}}</p>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n </div>\n</ng-container>\n\n",
|
|
14778
|
+
styles: [".user-ratting-wrapper .userName{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:center}.user-ratting-wrapper .content-feedback{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:center;color:rgba(0,0,0,.87)}.user-ratting-wrapper .content-info{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#666}.avatar-block{border:8px solid transparent;position:relative;cursor:pointer;width:48px;height:48px}.user-active{content:\"\";border:5px solid #f3972e;border-radius:50%;display:flex;justify-content:center;align-items:center;margin-bottom:0;width:48px;height:48px}.user-active::after{content:\" \";position:absolute;top:106%;left:50%;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:18px solid #f3972e}.users-block{overflow-x:auto;padding:16px;padding-bottom:10px!important;width:100%}.title-border-v2{margin:10px;width:300px;height:3px;background:linear-gradient(90deg,rgba(255,255,255,0) 0,#ef951e 20%,#ef951e 80%,rgba(255,255,255,0) 100%)}.user-ratting-wrapper{border:2px solid #f3962f;border-radius:15px;padding:30px 0;background:linear-gradient(111.16deg,rgba(243,150,47,.24) 9.09%,rgba(255,255,255,0) 74.81%)}.user-rating-section ::ng-deep.prev{margin-left:-50px;top:59%}.user-rating-section ::ng-deep.next{margin-right:-50px;top:59%}.user-rating-section ::ng-deep.dots-container{display:none!important}@media screen and (max-width:768px){.user-rating-section ::ng-deep.next{margin-right:-16px;top:59%}.user-rating-section .users-block{width:90%}.user-rating-section ::ng-deep.widget-card-content-new{margin:0 15px}.user-rating-section .user-ratting-wrapper{padding:15px 0}.user-rating-section ::ng-deep.dots-container{display:block!important}.user-rating-section ::ng-deep.banner-meta{bottom:-12px}}"]
|
|
13947
14779
|
}] }
|
|
13948
14780
|
];
|
|
13949
14781
|
/** @nocollapse */
|
|
@@ -13982,283 +14814,641 @@ if (false) {
|
|
|
13982
14814
|
* @fileoverview added by tsickle
|
|
13983
14815
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
13984
14816
|
*/
|
|
13985
|
-
class
|
|
14817
|
+
class UserContentRatingLibModule {
|
|
14818
|
+
}
|
|
14819
|
+
UserContentRatingLibModule.decorators = [
|
|
14820
|
+
{ type: NgModule, args: [{
|
|
14821
|
+
declarations: [UserContentRatingLibComponent],
|
|
14822
|
+
imports: [
|
|
14823
|
+
CommonModule,
|
|
14824
|
+
MatIconModule,
|
|
14825
|
+
MatChipsModule,
|
|
14826
|
+
SkeletonLoaderLibModule,
|
|
14827
|
+
SlidersLibModule,
|
|
14828
|
+
CardsModule,
|
|
14829
|
+
AvatarPhotoLibModule,
|
|
14830
|
+
SlidersNgContentLibModule,
|
|
14831
|
+
ScrollableItemModule
|
|
14832
|
+
],
|
|
14833
|
+
exports: [UserContentRatingLibComponent],
|
|
14834
|
+
providers: [RatingService, UserContentRatingLibService],
|
|
14835
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
14836
|
+
},] }
|
|
14837
|
+
];
|
|
14838
|
+
|
|
14839
|
+
/**
|
|
14840
|
+
* @fileoverview added by tsickle
|
|
14841
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14842
|
+
*/
|
|
14843
|
+
class MdoChannelV1Component {
|
|
14844
|
+
constructor() { }
|
|
14845
|
+
/**
|
|
14846
|
+
* @return {?}
|
|
14847
|
+
*/
|
|
14848
|
+
ngOnInit() {
|
|
14849
|
+
}
|
|
14850
|
+
}
|
|
14851
|
+
MdoChannelV1Component.decorators = [
|
|
14852
|
+
{ type: Component, args: [{
|
|
14853
|
+
selector: 'sb-uic-mdo-channel-v1',
|
|
14854
|
+
template: "<p>mdo-channel-v1 works!</p>\n",
|
|
14855
|
+
styles: [""]
|
|
14856
|
+
}] }
|
|
14857
|
+
];
|
|
14858
|
+
/** @nocollapse */
|
|
14859
|
+
MdoChannelV1Component.ctorParameters = () => [];
|
|
14860
|
+
|
|
14861
|
+
/**
|
|
14862
|
+
* @fileoverview added by tsickle
|
|
14863
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14864
|
+
*/
|
|
14865
|
+
class MdoChannelV2Component {
|
|
14866
|
+
/**
|
|
14867
|
+
* @param {?} route
|
|
14868
|
+
* @param {?} router
|
|
14869
|
+
* @param {?} eventSvc
|
|
14870
|
+
* @param {?} translate
|
|
14871
|
+
* @param {?} langtranslations
|
|
14872
|
+
*/
|
|
14873
|
+
constructor(route, router, eventSvc, translate, langtranslations) {
|
|
14874
|
+
this.route = route;
|
|
14875
|
+
this.router = router;
|
|
14876
|
+
this.eventSvc = eventSvc;
|
|
14877
|
+
this.translate = translate;
|
|
14878
|
+
this.langtranslations = langtranslations;
|
|
14879
|
+
this.sectionList = [];
|
|
14880
|
+
this.channnelName = '';
|
|
14881
|
+
this.orgId = '';
|
|
14882
|
+
this.selectedIndex = 0;
|
|
14883
|
+
this.hideCompetencyBlock = false;
|
|
14884
|
+
this.contentTabEmptyResponseCount = 0;
|
|
14885
|
+
this.titles = [
|
|
14886
|
+
{ title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },
|
|
14887
|
+
{
|
|
14888
|
+
title: `MDO Channel`,
|
|
14889
|
+
url: `/app/learn/mdo-channels/all-channels`,
|
|
14890
|
+
icon: '', disableTranslate: true,
|
|
14891
|
+
},
|
|
14892
|
+
];
|
|
14893
|
+
this.showModal = false;
|
|
14894
|
+
this.descriptionMaxLength = 500;
|
|
14895
|
+
this.isTelemetryRaised = false;
|
|
14896
|
+
if (this.route.snapshot.data && this.route.snapshot.data.formData
|
|
14897
|
+
&& this.route.snapshot.data.formData.data
|
|
14898
|
+
&& this.route.snapshot.data.formData.data.result
|
|
14899
|
+
&& this.route.snapshot.data.formData.data.result.form
|
|
14900
|
+
&& this.route.snapshot.data.formData.data.result.form.data
|
|
14901
|
+
&& this.route.snapshot.data.formData.data.result.form.data.sectionList) {
|
|
14902
|
+
this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList;
|
|
14903
|
+
}
|
|
14904
|
+
this.langtranslations.languageSelectedObservable.subscribe((/**
|
|
14905
|
+
* @return {?}
|
|
14906
|
+
*/
|
|
14907
|
+
() => {
|
|
14908
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
14909
|
+
this.translate.setDefaultLang('en');
|
|
14910
|
+
/** @type {?} */
|
|
14911
|
+
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
14912
|
+
this.translate.use(lang);
|
|
14913
|
+
}
|
|
14914
|
+
}));
|
|
14915
|
+
}
|
|
14916
|
+
/**
|
|
14917
|
+
* @return {?}
|
|
14918
|
+
*/
|
|
14919
|
+
ngOnInit() {
|
|
14920
|
+
this.route.params.subscribe((/**
|
|
14921
|
+
* @param {?} params
|
|
14922
|
+
* @return {?}
|
|
14923
|
+
*/
|
|
14924
|
+
params => {
|
|
14925
|
+
this.channnelName = params['channel'];
|
|
14926
|
+
this.orgId = params['orgId'];
|
|
14927
|
+
this.titles.push({
|
|
14928
|
+
title: this.channnelName, icon: '', url: 'none', disableTranslate: true,
|
|
14929
|
+
});
|
|
14930
|
+
}));
|
|
14931
|
+
}
|
|
14932
|
+
/**
|
|
14933
|
+
* @param {?} tabEvent
|
|
14934
|
+
* @return {?}
|
|
14935
|
+
*/
|
|
14936
|
+
tabClicked(tabEvent) {
|
|
14937
|
+
this.raiseTelemetry(`${tabEvent.tab.textLabel} tab`);
|
|
14938
|
+
}
|
|
14939
|
+
/**
|
|
14940
|
+
* @param {?} event
|
|
14941
|
+
* @param {?} contentStripData
|
|
14942
|
+
* @return {?}
|
|
14943
|
+
*/
|
|
14944
|
+
hideContentStrip(event, contentStripData) {
|
|
14945
|
+
if (event) {
|
|
14946
|
+
contentStripData['hideSection'] = true;
|
|
14947
|
+
this.contentTabEmptyResponseCount = this.contentTabEmptyResponseCount + 1;
|
|
14948
|
+
// if(this.contentTabEmptyResponseCount === 4 ) {
|
|
14949
|
+
// this.selectedIndex = 1
|
|
14950
|
+
// }
|
|
14951
|
+
}
|
|
14952
|
+
}
|
|
14953
|
+
/**
|
|
14954
|
+
* @param {?} event
|
|
14955
|
+
* @return {?}
|
|
14956
|
+
*/
|
|
14957
|
+
triggerOpenDialog(event) {
|
|
14958
|
+
if (event) {
|
|
14959
|
+
this.showModal = true;
|
|
14960
|
+
document.body.style.overflow = 'hidden';
|
|
14961
|
+
}
|
|
14962
|
+
this.raiseTelemetry('btn open key annoucements');
|
|
14963
|
+
}
|
|
14964
|
+
/**
|
|
14965
|
+
* @return {?}
|
|
14966
|
+
*/
|
|
14967
|
+
onClose() {
|
|
14968
|
+
this.showModal = false;
|
|
14969
|
+
document.body.style.overflow = 'auto';
|
|
14970
|
+
this.raiseTelemetry('btn close key annoucements');
|
|
14971
|
+
}
|
|
14972
|
+
/**
|
|
14973
|
+
* @param {?} event
|
|
14974
|
+
* @return {?}
|
|
14975
|
+
*/
|
|
14976
|
+
raiseTelemetryInteratEvent(event) {
|
|
14977
|
+
if (event && event.viewMoreUrl) {
|
|
14978
|
+
this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`);
|
|
14979
|
+
}
|
|
14980
|
+
if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {
|
|
14981
|
+
this.eventSvc.raiseInteractTelemetry({
|
|
14982
|
+
type: 'click',
|
|
14983
|
+
subType: 'mdo-channel',
|
|
14984
|
+
id: `${kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,
|
|
14985
|
+
}, {
|
|
14986
|
+
id: event.identifier,
|
|
14987
|
+
type: event.primaryCategory,
|
|
14988
|
+
}, {
|
|
14989
|
+
pageIdExt: `${kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,
|
|
14990
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
14991
|
+
});
|
|
14992
|
+
this.isTelemetryRaised = true;
|
|
14993
|
+
}
|
|
14994
|
+
}
|
|
14995
|
+
/**
|
|
14996
|
+
* @param {?} name
|
|
14997
|
+
* @return {?}
|
|
14998
|
+
*/
|
|
14999
|
+
raiseCompetencyTelemetry(name) {
|
|
15000
|
+
this.raiseTelemetry(`${name} core expertise`);
|
|
15001
|
+
}
|
|
15002
|
+
/**
|
|
15003
|
+
* @param {?} name
|
|
15004
|
+
* @return {?}
|
|
15005
|
+
*/
|
|
15006
|
+
raiseTelemetry(name) {
|
|
15007
|
+
this.eventSvc.raiseInteractTelemetry({
|
|
15008
|
+
type: 'click',
|
|
15009
|
+
subType: 'mdo-channel',
|
|
15010
|
+
id: `${kebabCase(name).toLocaleLowerCase()}`,
|
|
15011
|
+
}, {}, {
|
|
15012
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
15013
|
+
});
|
|
15014
|
+
}
|
|
15015
|
+
/**
|
|
15016
|
+
* @param {?} event
|
|
15017
|
+
* @return {?}
|
|
15018
|
+
*/
|
|
15019
|
+
hideCompetency(event) {
|
|
15020
|
+
if (event) {
|
|
15021
|
+
this.hideCompetencyBlock = true;
|
|
15022
|
+
}
|
|
15023
|
+
}
|
|
15024
|
+
/**
|
|
15025
|
+
* @param {?} _stripData
|
|
15026
|
+
* @param {?} contentStrip
|
|
15027
|
+
* @return {?}
|
|
15028
|
+
*/
|
|
15029
|
+
showAllContent(_stripData, contentStrip) {
|
|
15030
|
+
if (contentStrip && contentStrip.strips && contentStrip.strips.length) {
|
|
15031
|
+
/** @type {?} */
|
|
15032
|
+
const stripData = contentStrip.strips[0];
|
|
15033
|
+
if (stripData && stripData.request) {
|
|
15034
|
+
delete (stripData['loaderWidgets']);
|
|
15035
|
+
this.router.navigate([`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`], { queryParams: { stripData: JSON.stringify(stripData) } });
|
|
15036
|
+
}
|
|
15037
|
+
}
|
|
15038
|
+
else {
|
|
15039
|
+
this.router.navigate([`/app/learn/browse-by/provider/${this.channnelName}/${this.orgId}/all-CBP`]);
|
|
15040
|
+
}
|
|
15041
|
+
}
|
|
15042
|
+
}
|
|
15043
|
+
MdoChannelV2Component.decorators = [
|
|
15044
|
+
{ type: Component, args: [{
|
|
15045
|
+
selector: 'sb-uic-mdo-channel-v2',
|
|
15046
|
+
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\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\" [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=\"'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>\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 sticky-logo-square\">\n </div>\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\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\"\n [style.color]=\"data.titleColor\">{{data.title || channnelName}}</h1>\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\" [styleData]=\"data.sliderData.styleData\" ></sb-uic-sliders>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n \n </div>\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\" [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\" [src]=\"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 <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\"\n [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points\n [providerId]=\"orgId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'singleFlexeRow'\"\n [pageLayout]=\"'mdo'\">\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\n [providerId]=\"orgId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'singleRow'\"\n [pageLayout]=\"'mdo'\">\n </sb-uic-data-points>\n </div>\n \n </div>\n </div>\n </div>\n</ng-template>\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 <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 <div class=\"block md:hidden col-span-12 mt-6\">\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 <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 <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 <!-- Tabs Section -->\n <mat-tab-group animationDuration=\"0ms\" class=\"mat-tab-labels mytabs w-full \"\n [selectedIndex]=\"selectedIndex\" (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 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-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 </div>\n <div class=\"col-span-12 md:col-span-4\">\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\"\n *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 <div class=\"hidden md:block\" \n *ngIf=\"data?.announcementSection?.data\">\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 </div> \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\" [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'\" [ngTemplateOutlet]=\"contentStrip\"\n [ngTemplateOutletContext]=\"{contentStrip: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedCoursesStrip'\" [ngTemplateOutlet]=\"contentStrip\"\n [ngTemplateOutletContext]=\"{contentStrip: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\" [ngTemplateOutlet]=\"contentStrip\"\n [ngTemplateOutletContext]=\"{contentStrip: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentcertificationsOfWeekStrip'\" [ngTemplateOutlet]=\"contentStrip\"\n [ngTemplateOutletContext]=\"{contentStrip: column?.data}\"></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\" *ngIf=\"!hideCompetencyBlock;else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1\">This section shows the list of top competencies users in 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\n [dynamicColor]=\"'#999999'\"\n [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\"\n (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\"\n [objectData]=\"competency\"\n [providerId]=\"orgId\"\n >\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\n<ng-template #contentStrip let-contentStrip=\"contentStrip\">\n <ng-container *ngIf=\"!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, contentStrip)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"hideContentStrip($event, contentStrip)\"\n [providerId]=\"orgId\"\n [widgetData]=\"contentStrip\"\n [channnelName]=\"channnelName\"\n >\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\n [objectData]=\"data\"\n [channnelName]=\"channnelName\"\n [channelId]=\"orgId\">\n </sb-uic-top-learners>\n </div>\n </div>\n</ng-template>",
|
|
15047
|
+
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(https://portal.karmayogiqa.nic.in/content-store/orgStore/0135071359030722569/1720698778795_MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(https://portal.karmayogiqa.nic.in/content-store/orgStore/0135071359030722569/1720693634596_MDOChannel_RightGraphic%202.svg);background-position:right;background-repeat:no-repeat}.sticky-logo-square{position:absolute;top:215px;justify-content:end;width:20.5%;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px}.logo-square{width:112px;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px;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 0 rgba(0,0,0,.06)}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{-o-object-fit:contain;object-fit:contain;max-height:52px;height:96px;z-index:10}.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:rgba(19,19,19,.6392156863);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){.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}"]
|
|
15048
|
+
}] }
|
|
15049
|
+
];
|
|
15050
|
+
/** @nocollapse */
|
|
15051
|
+
MdoChannelV2Component.ctorParameters = () => [
|
|
15052
|
+
{ type: ActivatedRoute },
|
|
15053
|
+
{ type: Router },
|
|
15054
|
+
{ type: EventService },
|
|
15055
|
+
{ type: TranslateService },
|
|
15056
|
+
{ type: MultilingualTranslationsService$1 }
|
|
15057
|
+
];
|
|
15058
|
+
MdoChannelV2Component.propDecorators = {
|
|
15059
|
+
sectionList: [{ type: Input }]
|
|
15060
|
+
};
|
|
15061
|
+
if (false) {
|
|
15062
|
+
/** @type {?} */
|
|
15063
|
+
MdoChannelV2Component.prototype.sectionList;
|
|
15064
|
+
/** @type {?} */
|
|
15065
|
+
MdoChannelV2Component.prototype.channnelName;
|
|
15066
|
+
/** @type {?} */
|
|
15067
|
+
MdoChannelV2Component.prototype.orgId;
|
|
15068
|
+
/** @type {?} */
|
|
15069
|
+
MdoChannelV2Component.prototype.selectedIndex;
|
|
15070
|
+
/** @type {?} */
|
|
15071
|
+
MdoChannelV2Component.prototype.hideCompetencyBlock;
|
|
15072
|
+
/** @type {?} */
|
|
15073
|
+
MdoChannelV2Component.prototype.contentTabEmptyResponseCount;
|
|
15074
|
+
/** @type {?} */
|
|
15075
|
+
MdoChannelV2Component.prototype.titles;
|
|
15076
|
+
/** @type {?} */
|
|
15077
|
+
MdoChannelV2Component.prototype.showModal;
|
|
15078
|
+
/** @type {?} */
|
|
15079
|
+
MdoChannelV2Component.prototype.descriptionMaxLength;
|
|
15080
|
+
/** @type {?} */
|
|
15081
|
+
MdoChannelV2Component.prototype.isTelemetryRaised;
|
|
15082
|
+
/**
|
|
15083
|
+
* @type {?}
|
|
15084
|
+
* @private
|
|
15085
|
+
*/
|
|
15086
|
+
MdoChannelV2Component.prototype.route;
|
|
15087
|
+
/**
|
|
15088
|
+
* @type {?}
|
|
15089
|
+
* @private
|
|
15090
|
+
*/
|
|
15091
|
+
MdoChannelV2Component.prototype.router;
|
|
15092
|
+
/**
|
|
15093
|
+
* @type {?}
|
|
15094
|
+
* @private
|
|
15095
|
+
*/
|
|
15096
|
+
MdoChannelV2Component.prototype.eventSvc;
|
|
15097
|
+
/**
|
|
15098
|
+
* @type {?}
|
|
15099
|
+
* @private
|
|
15100
|
+
*/
|
|
15101
|
+
MdoChannelV2Component.prototype.translate;
|
|
15102
|
+
/**
|
|
15103
|
+
* @type {?}
|
|
15104
|
+
* @private
|
|
15105
|
+
*/
|
|
15106
|
+
MdoChannelV2Component.prototype.langtranslations;
|
|
15107
|
+
}
|
|
15108
|
+
|
|
15109
|
+
/**
|
|
15110
|
+
* @fileoverview added by tsickle
|
|
15111
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
15112
|
+
*/
|
|
15113
|
+
const ɵ0$7 = HttpLoaderFactory;
|
|
15114
|
+
class MDOChannelModule {
|
|
15115
|
+
}
|
|
15116
|
+
MDOChannelModule.decorators = [
|
|
15117
|
+
{ type: NgModule, args: [{
|
|
15118
|
+
declarations: [MdoChannelV1Component, MdoChannelV2Component],
|
|
15119
|
+
imports: [
|
|
15120
|
+
CommonModule,
|
|
15121
|
+
MatIconModule,
|
|
15122
|
+
MatChipsModule,
|
|
15123
|
+
SkeletonLoaderLibModule,
|
|
15124
|
+
AnnouncementsModule,
|
|
15125
|
+
TopLearnersModule,
|
|
15126
|
+
CbpPlanModule,
|
|
15127
|
+
CardsModule,
|
|
15128
|
+
CommonStripModule,
|
|
15129
|
+
CompetencyPassbookModule,
|
|
15130
|
+
CompetencyPassbookMdoModule,
|
|
15131
|
+
ContentStripWithTabsLibModule,
|
|
15132
|
+
DataPointsModule,
|
|
15133
|
+
SlidersLibModule,
|
|
15134
|
+
MatTabsModule,
|
|
15135
|
+
TranslateModule.forRoot({
|
|
15136
|
+
loader: {
|
|
15137
|
+
provide: TranslateLoader,
|
|
15138
|
+
useFactory: ɵ0$7,
|
|
15139
|
+
deps: [HttpClient],
|
|
15140
|
+
},
|
|
15141
|
+
}),
|
|
15142
|
+
],
|
|
15143
|
+
exports: [MdoChannelV1Component, MdoChannelV2Component],
|
|
15144
|
+
providers: [
|
|
15145
|
+
CommonMethodsService
|
|
15146
|
+
],
|
|
15147
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
15148
|
+
},] }
|
|
15149
|
+
];
|
|
15150
|
+
|
|
15151
|
+
/**
|
|
15152
|
+
* @fileoverview added by tsickle
|
|
15153
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
15154
|
+
*/
|
|
15155
|
+
class ProvidersV2Component {
|
|
13986
15156
|
/**
|
|
15157
|
+
* @param {?} route
|
|
15158
|
+
* @param {?} router
|
|
15159
|
+
* @param {?} datePipe
|
|
13987
15160
|
* @param {?} events
|
|
13988
|
-
* @param {?} valueSvc
|
|
13989
15161
|
*/
|
|
13990
|
-
constructor(
|
|
13991
|
-
|
|
15162
|
+
constructor(route, router, datePipe, events) {
|
|
15163
|
+
this.route = route;
|
|
15164
|
+
this.router = router;
|
|
15165
|
+
this.datePipe = datePipe;
|
|
13992
15166
|
this.events = events;
|
|
13993
|
-
this.
|
|
13994
|
-
this.
|
|
13995
|
-
this.
|
|
13996
|
-
this.
|
|
13997
|
-
this.
|
|
13998
|
-
|
|
13999
|
-
|
|
14000
|
-
|
|
14001
|
-
|
|
14002
|
-
|
|
14003
|
-
|
|
15167
|
+
this.sectionList = [];
|
|
15168
|
+
this.providerName = '';
|
|
15169
|
+
this.providerId = '';
|
|
15170
|
+
this.hideCompetencyBlock = false;
|
|
15171
|
+
this.titles = [
|
|
15172
|
+
{ title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },
|
|
15173
|
+
{ title: `All Providers`,
|
|
15174
|
+
url: `/app/learn/browse-by/provider/all-providers`,
|
|
15175
|
+
icon: '', disableTranslate: true,
|
|
15176
|
+
},
|
|
15177
|
+
];
|
|
15178
|
+
this.descriptionMaxLength = 500;
|
|
15179
|
+
this.isTelemetryRaised = false;
|
|
14004
15180
|
}
|
|
14005
15181
|
/**
|
|
14006
15182
|
* @return {?}
|
|
14007
15183
|
*/
|
|
14008
15184
|
ngOnInit() {
|
|
14009
|
-
if (this.
|
|
14010
|
-
this.
|
|
14011
|
-
|
|
14012
|
-
|
|
14013
|
-
|
|
15185
|
+
if (this.route.snapshot.data && this.route.snapshot.data.formData
|
|
15186
|
+
&& this.route.snapshot.data.formData.data
|
|
15187
|
+
&& this.route.snapshot.data.formData.data.result
|
|
15188
|
+
&& this.route.snapshot.data.formData.data.result.form
|
|
15189
|
+
&& this.route.snapshot.data.formData.data.result.form.data
|
|
15190
|
+
&& this.route.snapshot.data.formData.data.result.form.data.sectionList) {
|
|
15191
|
+
this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList;
|
|
15192
|
+
}
|
|
15193
|
+
this.route.params.subscribe((/**
|
|
15194
|
+
* @param {?} params
|
|
14014
15195
|
* @return {?}
|
|
14015
15196
|
*/
|
|
14016
|
-
|
|
14017
|
-
this.
|
|
15197
|
+
params => {
|
|
15198
|
+
this.providerName = params['provider'];
|
|
15199
|
+
this.providerId = params['orgId'];
|
|
15200
|
+
this.titles.push({
|
|
15201
|
+
title: this.providerName, icon: '', url: 'none', disableTranslate: true,
|
|
15202
|
+
});
|
|
14018
15203
|
}));
|
|
15204
|
+
this.getNavitems();
|
|
15205
|
+
this.currentMonthAndYear = this.datePipe.transform(new Date(), 'MMMM y');
|
|
14019
15206
|
}
|
|
14020
15207
|
/**
|
|
14021
15208
|
* @return {?}
|
|
14022
15209
|
*/
|
|
14023
|
-
|
|
14024
|
-
|
|
14025
|
-
|
|
14026
|
-
|
|
14027
|
-
|
|
14028
|
-
|
|
14029
|
-
|
|
14030
|
-
|
|
14031
|
-
|
|
14032
|
-
|
|
14033
|
-
|
|
15210
|
+
getNavitems() {
|
|
15211
|
+
this.navList = this.sectionList.filter((/**
|
|
15212
|
+
* @param {?} obj
|
|
15213
|
+
* @return {?}
|
|
15214
|
+
*/
|
|
15215
|
+
(obj) => obj.enabled && obj.navigation && obj.navOrder)).sort((/**
|
|
15216
|
+
* @param {?} a
|
|
15217
|
+
* @param {?} b
|
|
15218
|
+
* @return {?}
|
|
15219
|
+
*/
|
|
15220
|
+
(a, b) => a.navOrder - b.navOrder));
|
|
15221
|
+
}
|
|
15222
|
+
/**
|
|
15223
|
+
* @param {?} name
|
|
15224
|
+
* @return {?}
|
|
15225
|
+
*/
|
|
15226
|
+
scrollToSection(name) {
|
|
15227
|
+
/** @type {?} */
|
|
15228
|
+
let section;
|
|
15229
|
+
section = document.getElementById(name);
|
|
15230
|
+
if (section) {
|
|
15231
|
+
// section.scrollIntoView({ behavior: 'smooth', block: 'start',inline: 'nearest', offsetTop: yOffset })
|
|
15232
|
+
window.scrollTo({
|
|
15233
|
+
top: section.offsetTop - 121,
|
|
15234
|
+
behavior: 'smooth',
|
|
15235
|
+
});
|
|
15236
|
+
}
|
|
15237
|
+
}
|
|
15238
|
+
/**
|
|
15239
|
+
* @param {?} event
|
|
15240
|
+
* @param {?} columnData
|
|
15241
|
+
* @return {?}
|
|
15242
|
+
*/
|
|
15243
|
+
hideCompetency(event, columnData) {
|
|
15244
|
+
if (event) {
|
|
15245
|
+
this.hideCompetencyBlock = true;
|
|
15246
|
+
columnData['navigation'] = false;
|
|
15247
|
+
columnData['enabled'] = false;
|
|
15248
|
+
this.navList.forEach((/**
|
|
15249
|
+
* @param {?} navItem
|
|
15250
|
+
* @return {?}
|
|
15251
|
+
*/
|
|
15252
|
+
(navItem) => {
|
|
15253
|
+
navItem.column.forEach((/**
|
|
15254
|
+
* @param {?} colEle
|
|
14034
15255
|
* @return {?}
|
|
14035
15256
|
*/
|
|
14036
|
-
() => {
|
|
14037
|
-
if (
|
|
14038
|
-
|
|
14039
|
-
this.currentIndexValue.emit(this.currentIndex);
|
|
14040
|
-
}
|
|
14041
|
-
else {
|
|
14042
|
-
this.currentIndex += 1;
|
|
14043
|
-
this.currentIndexValue.emit(this.currentIndex);
|
|
15257
|
+
(colEle) => {
|
|
15258
|
+
if (colEle.key === columnData.key) {
|
|
15259
|
+
navItem['navigation'] = false;
|
|
14044
15260
|
}
|
|
14045
15261
|
}));
|
|
14046
|
-
}
|
|
15262
|
+
}));
|
|
14047
15263
|
}
|
|
14048
15264
|
}
|
|
14049
15265
|
/**
|
|
14050
|
-
* @param {?}
|
|
15266
|
+
* @param {?} event
|
|
15267
|
+
* @param {?} contentStripData
|
|
14051
15268
|
* @return {?}
|
|
14052
15269
|
*/
|
|
14053
|
-
|
|
14054
|
-
if (
|
|
14055
|
-
|
|
14056
|
-
this.currentIndexValue.emit(this.currentIndex);
|
|
15270
|
+
hideContentStrip(event, contentStripData) {
|
|
15271
|
+
if (event) {
|
|
15272
|
+
contentStripData['hideSection'] = true;
|
|
14057
15273
|
}
|
|
14058
|
-
|
|
14059
|
-
|
|
14060
|
-
|
|
15274
|
+
}
|
|
15275
|
+
/**
|
|
15276
|
+
* @param {?} event
|
|
15277
|
+
* @param {?} learnerReview
|
|
15278
|
+
* @return {?}
|
|
15279
|
+
*/
|
|
15280
|
+
hideLearnerReview(event, learnerReview) {
|
|
15281
|
+
if (event) {
|
|
15282
|
+
learnerReview['hideSection'] = true;
|
|
14061
15283
|
}
|
|
14062
|
-
|
|
14063
|
-
|
|
14064
|
-
|
|
15284
|
+
}
|
|
15285
|
+
/**
|
|
15286
|
+
* @param {?} _stripData
|
|
15287
|
+
* @param {?} contentStrip
|
|
15288
|
+
* @return {?}
|
|
15289
|
+
*/
|
|
15290
|
+
showAllContent(_stripData, contentStrip) {
|
|
15291
|
+
if (contentStrip && contentStrip.strips && contentStrip.strips.length) {
|
|
15292
|
+
/** @type {?} */
|
|
15293
|
+
const stripData = contentStrip.strips[0];
|
|
15294
|
+
if (stripData && stripData.request) {
|
|
15295
|
+
delete (stripData['loaderWidgets']);
|
|
15296
|
+
this.router.navigate([`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-content`], { queryParams: { stripData: JSON.stringify(stripData), pageDetails: true } });
|
|
15297
|
+
}
|
|
14065
15298
|
}
|
|
14066
|
-
|
|
14067
|
-
this.
|
|
15299
|
+
else {
|
|
15300
|
+
this.router.navigate([`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`], { queryParams: { pageDetails: true } });
|
|
14068
15301
|
}
|
|
14069
15302
|
}
|
|
14070
15303
|
/**
|
|
15304
|
+
* @param {?} event
|
|
14071
15305
|
* @return {?}
|
|
14072
15306
|
*/
|
|
14073
|
-
|
|
14074
|
-
|
|
14075
|
-
|
|
14076
|
-
|
|
14077
|
-
|
|
15307
|
+
raiseTelemetryInteratEvent(event) {
|
|
15308
|
+
if (event && event.viewMoreUrl) {
|
|
15309
|
+
this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`);
|
|
15310
|
+
}
|
|
15311
|
+
if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {
|
|
15312
|
+
this.events.raiseInteractTelemetry({
|
|
15313
|
+
type: 'click',
|
|
15314
|
+
subType: 'ATI/CTI',
|
|
15315
|
+
id: `${kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,
|
|
15316
|
+
}, {
|
|
15317
|
+
id: event.identifier,
|
|
15318
|
+
type: event.primaryCategory,
|
|
15319
|
+
}, {
|
|
15320
|
+
pageIdExt: `${kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,
|
|
15321
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
15322
|
+
});
|
|
15323
|
+
this.isTelemetryRaised = true;
|
|
14078
15324
|
}
|
|
14079
|
-
return false;
|
|
14080
15325
|
}
|
|
14081
15326
|
/**
|
|
15327
|
+
* @param {?} name
|
|
14082
15328
|
* @return {?}
|
|
14083
15329
|
*/
|
|
14084
|
-
|
|
14085
|
-
|
|
14086
|
-
const currentData = this.widgetData[this.currentIndex];
|
|
14087
|
-
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
14088
|
-
window.open(currentData.redirectUrl);
|
|
14089
|
-
}
|
|
15330
|
+
raiseCompetencyTelemetry(name) {
|
|
15331
|
+
this.raiseTelemetry(`${name} core expertise`);
|
|
14090
15332
|
}
|
|
14091
15333
|
/**
|
|
14092
|
-
* @param {?}
|
|
15334
|
+
* @param {?} name
|
|
14093
15335
|
* @return {?}
|
|
14094
15336
|
*/
|
|
14095
|
-
raiseTelemetry(
|
|
14096
|
-
this.openInNewTab();
|
|
14097
|
-
/** @type {?} */
|
|
14098
|
-
const path = window.location.pathname.replace('/', '');
|
|
14099
|
-
/** @type {?} */
|
|
14100
|
-
const url = path + window.location.search;
|
|
15337
|
+
raiseTelemetry(name) {
|
|
14101
15338
|
this.events.raiseInteractTelemetry({
|
|
14102
15339
|
type: 'click',
|
|
14103
|
-
subType: '
|
|
14104
|
-
|
|
14105
|
-
|
|
14106
|
-
|
|
14107
|
-
}, {
|
|
14108
|
-
pageIdExt: 'banner',
|
|
14109
|
-
module: WsEvents.EnumTelemetrymodules.CONTENT,
|
|
15340
|
+
subType: 'ATI/CTI',
|
|
15341
|
+
id: `${kebabCase(name).toLocaleLowerCase()}`,
|
|
15342
|
+
}, {}, {
|
|
15343
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
14110
15344
|
});
|
|
14111
15345
|
}
|
|
14112
15346
|
/**
|
|
15347
|
+
* @param {?} name
|
|
14113
15348
|
* @return {?}
|
|
14114
15349
|
*/
|
|
14115
|
-
|
|
14116
|
-
|
|
14117
|
-
|
|
14118
|
-
|
|
15350
|
+
raiseNavTelemetry(name) {
|
|
15351
|
+
this.events.raiseInteractTelemetry({
|
|
15352
|
+
type: 'click',
|
|
15353
|
+
subType: 'ATI/CTI',
|
|
15354
|
+
id: `${kebabCase(name).toLocaleLowerCase()}-navigation`,
|
|
15355
|
+
}, {}, {
|
|
15356
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
15357
|
+
});
|
|
14119
15358
|
}
|
|
14120
15359
|
}
|
|
14121
|
-
|
|
15360
|
+
ProvidersV2Component.decorators = [
|
|
14122
15361
|
{ type: Component, args: [{
|
|
14123
|
-
selector: 'sb-uic-
|
|
14124
|
-
template: "<div class=\"banner-container {{isMobile? styleData?.responsive?.bannerMetaClass : styleData?.bannerMetaClass}}\" (swipeleft)=\"slideTo(currentIndex + 1)\" (swiperight)=\"slideTo(currentIndex - 1)\"\n *ngIf=\"widgetData?.length > 1\" [style.height]=\"isMobile? styleData?.responsive?.customHeight : styleData?.customHeight\"\n [ngStyle]=\"{'border-radius': styleData?.borderRadius || '12px'}\">\n <ng-container *ngIf=\"!loadNgContentData\">\n <a (click)=\"raiseTelemetry(widgetData[currentIndex].redirectUrl)\"\n [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-overlay\"\n [ngClass]=\"{'cursor-auto': !widgetData[currentIndex].redirectUrl}\">\n <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\">\n <img i18n-alt alt=\"Page Banner\" [src]=\"slide.banners\" wsUtilsImageResponsive class=\"banner-image\" />\n </div>\n </a>\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"loadNgContentData\">\n <!-- <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\"> -->\n <ng-content select=\"[sliderbody]\"></ng-content>\n <!-- </div> -->\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n <ng-content select=\"[sliderMeta]\"></ng-content>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"navigation {{isMobile? styleData?.responsive?.arrowsPlacement : styleData?.arrowsPlacement}}\" \n *ngIf=\"isMobile && styleData?.responsive?.navigationArrows !== 'hidden' || !isMobile && styleData?.navigationArrows !== 'hidden'\">\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"prev\" (click)=\"slideTo(currentIndex - 1)\">❮</a>\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"next\" (click)=\"slideTo(currentIndex + 1)\">❯</a>\n </div>\n</div>\n<div class=\"banner-container-solo margin-top-s\" *ngIf=\"widgetData?.length == 1\">\n <img i18n-alt alt=\"Page Banner\" width=\"100%\" height=\"100%\" [src]=\"widgetData[0].banners\" wsUtilsImageResponsive class=\"banner-image-solo\" />\n</div>\n\n<!-- <ng-container *ngIf=\"!widgetData?.length\">\n <div class=\"slider default-slider h-full\">\n <div class=\"relative h-full\">\n <img class=\"h-full\" src=\"assets/icons/home/default-slider-image.svg\" alt=\"\">\n <div class=\"default-title rounded-full\">\n <p class=\"mat-h1\">{{title}}</p>\n </div>\n </div>\n </div>\n</ng-container> -->\n",
|
|
14125
|
-
styles: [".
|
|
15362
|
+
selector: 'sb-uic-providers-v2',
|
|
15363
|
+
template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: titles }\">\n</ws-widget-btn-page-back>\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\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\">\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=\"'trainingCalendar'\" [ngTemplateOutlet]=\"trainingCalendar\"\n [ngTemplateOutletContext]=\"{trainingCalendar: column.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contributors'\" [ngTemplateOutlet]=\"contributors\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'infra'\" [ngTemplateOutlet]=\"infra\"\n [ngTemplateOutletContext]=\"{infra: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\" [ngTemplateOutlet]=\"contentStrip\"\n [ngTemplateOutletContext]=\"{contentStrip: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentTopStrip'\" [ngTemplateOutlet]=\"contentStrip\"\n [ngTemplateOutletContext]=\"{contentStrip: column?.data}\"></ng-container> \n <ng-container *ngSwitchCase=\"'competency'\" [ngTemplateOutlet]=\"competency\"\n [ngTemplateOutletContext]=\"{competency: column}\"></ng-container> \n <ng-container *ngSwitchCase=\"'learnerReview'\" [ngTemplateOutlet]=\"learnerReviewBlock\"\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<div class=\"container-fluid\" *ngIf=\"navList?.length\">\n <div class=\"flex sticky-navigator gap-4\">\n <mat-icon class=\"nav-up-arrow cursor-pointer\" (click)=\"scrollToSection('section-micro-sites')\">arrow_upwards</mat-icon>\n <ng-container *ngFor=\"let section of navList\">\n <ng-container *ngIf=\"section.navigation\">\n <div class=\"nav-button\" (click)=\"scrollToSection(section?.key); raiseNavTelemetry(section?.title)\">{{section?.title}}</div>\n </ng-container>\n </ng-container>\n </div>\n\n</div>\n\n\n<ng-template #topSection let-data=\"data\">\n <!-- <div class=\"w-full grid grid-cols-12 gap-4\"> -->\n <div class=\"col-span-12 \">\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12 md:col-span-8\">\n <div class=\"slider h-full\" *ngIf=\"data?.sliderData?.sliders\">\n <sb-uic-sliders [title]=\"providerName\" [widgetData]=\"data?.sliderData?.sliders\" [styleData]=\"data?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n <div class=\"hidden md:block col-span-4 p-5\" style=\"background: #0754AC;\" >\n <sb-uic-data-points [providerId]=\"providerId\" [fetchDataFromApi]=\"true\" [objectData]=\"data?.metrics?.data\" [layoutType]=\"'multipleRows-V2'\"></sb-uic-data-points>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 title-section px-5 md:py-5 mob-container\">\n <div class=\"container flex flex-col md:flex-row\">\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?.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 || providerName}}</h1>\n <p>{{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n <div class=\"block md:hidden overflow-y-auto mb-3\">\n <sb-uic-data-points [providerId]=\"providerId\" [fetchDataFromApi]=\"true\" [objectData]=\"data?.metrics?.data\" [layoutType]=\"'singleRow-v2'\"></sb-uic-data-points>\n </div>\n <button\n (click)=\"raiseTelemetry(data?.contentButton?.title)\"\n [routerLink]=\"[data?.contentButton?.redirectUrl, providerName, providerId, 'all-CBP']\"\n [queryParams]=\"{pageDetails: true}\" mat-button type=\"button\"\n class=\"view-btn margin-left-xs margin-right-xs small-button blue-border flex-auto-display\">\n <span class=\"mat-heading-1 bold ws-mat-default-text\" i18n>\n {{data?.contentButton?.title}}\n </span>\n </button>\n </div>\n </div>\n </div>\n <!-- </div> -->\n</ng-template>\n\n<ng-template #contentStrip let-contentStrip=\"contentStrip\">\n <ng-container *ngIf=\"!contentStrip?.hideSection\">\n <div class=\"flex justify-center relative mt-8 mb-8\">\n <img class=\"absolute {{contentStrip?.sectionImagePosition}}\" src=\"{{contentStrip?.sectionImage}}\" alt=\"\">\n <div class=\"container \">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"true\"\n (viewAllResponse)=\"showAllContent($event,contentStrip)\"\n (emptyResponse)=\"hideContentStrip($event, contentStrip)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n [providerId]=\"providerId\"\n [widgetData]=\"contentStrip\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #contributors let-data=\"data\">\n <div class=\"contributors-background px-5 py-5\" [style.background]=\"data?.background\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 padding-top-l mb-6\">\n <div class=\"col-span-12 md:col-span-3 contributor-desc\">\n <div class=\"infra-box flex flex-col\">\n <div class=\"infra-title-v2 hidden md:block\">\n {{data.detaulTitle}}<span class=\"infra-title2-v2\">{{data.defaultTitle1}}</span>\n </div>\n <div class=\"infra-title-v2 hidden md:block\">\n {{data.myTitle}}<span class=\"infra-title2-v2\">{{data.myTitle1}}</span>\n </div>\n <div class=\"block md:hidden\">\n <span class=\"infra-title-v2\">{{data.detaulTitle}}</span>\n <span class=\"infra-title2-v2\">{{data.defaultTitle1}}</span>\n <span class=\"infra-title-v2\"> {{data.myTitle}}</span>\n <span class=\"infra-title2-v2\">{{data.myTitle1}}</span>\n </div>\n <div class=\"infra-description padding-top-s\">\n {{data.description}}\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-9\">\n <sb-uic-common-strip [widgetData]=\"data\"></sb-uic-common-strip>\n </div>\n </div>\n <div class=\"w-full section-divider pt-6\">\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #infra let-infra=\"infra\">\n <div class=\"infra-background px-5\" [style.background]=\"infra?.background\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 infra-sec padding-top-l\">\n <div class=\"col-span-12 md:col-span-4 infra-sec-desc\">\n <div class=\"infra-box flex flex-col\">\n <div class=\"infra-title2 hidden md:block\">\n {{infra?.detaulTitle}}\n </div>\n <div class=\"block md:hidden\">\n <span class=\"infra-title2\">{{infra?.detaulTitle}}</span>\n </div>\n <div class=\"infra-description padding-top-s\">\n {{infra?.description}}\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-8\">\n <sb-uic-data-points [objectData]=\"infra\" [layoutType]=\"'gridLayout'\"></sb-uic-data-points>\n </div>\n </div>\n </div>\n </div>\n <div class=\"infra-background slider-background\" [style.background]=\"infra?.background\">\n </div>\n <div class=\"slider-background1 mb-8\">\n <div class=\"container-balanced w-full slider-background-2\">\n <div class=\"info-slider\">\n <sb-uic-sliders [widgetData]=\"infra?.sliderData?.sliders\" [styleData]=\"infra?.sliderData?.styleData\"></sb-uic-sliders>\n </div>\n </div>\n </div>\n</ng-template>\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\" *ngIf=\"!hideCompetencyBlock\">\n <div class=\"w-full container-balanced\">\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook\n (emptyResponse)=\"hideCompetency($event, competency)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\"\n [objectData]=\"competency\"\n [providerId]=\"providerId\">\n </sb-uic-competency-passbook>\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\n\n<ng-template #trainingCalendar let-trainingCalendar=\"trainingCalendar\">\n <div class=\"hidden md:block\">\n <div class=\"col-span-12 px-8 py-8\" [style.background]=\"trainingCalendar?.background\">\n <div class=\"container-balanced flex flex-col\">\n <div class=\"col-span-12 mat-subheading-1 margin-remove\">{{trainingCalendar?.title}}: {{currentMonthAndYear}}</div>\n <sb-uic-calender\n [objectData]=\"trainingCalendar\"\n [fetchDataFromApi]=\"true\"\n [layoutType]=\"'grid'\"\n [defaultDays]=\"trainingCalendar?.defaultDays\"\n [providerId]=\"providerId\">\n </sb-uic-calender>\n </div>\n <div class=\"flex item-center justify-center\">\n <button mat-button type=\"button\"\n (click)=\"raiseTelemetry(trainingCalendar?.contentButton?.title)\"\n [routerLink]=\"[trainingCalendar?.contentButton?.redirectUrl, providerName, providerId, 'training-calendar']\"\n class=\"view-btn margin-left-xs margin-right-xs small-button blue-border flex-auto-display\">\n <span class=\"mat-heading-1 bold ws-mat-default-text\" i18n>\n {{trainingCalendar?.contentButton?.title}}\n </span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"block md:hidden\">\n <div class=\"col-span-12 px-5 py-3 mob-header\">{{trainingCalendar?.title}}: {{currentMonthAndYear}}</div>\n <div class=\"col-span-12\">\n <sb-uic-calender\n [objectData]=\"trainingCalendar\"\n [fetchDataFromApi]=\"true\"\n [layoutType]=\"'row'\"\n [defaultDays]=\"trainingCalendar?.defaultDays\"\n [providerId]=\"providerId\">\n </sb-uic-calender>\n </div>\n <div class=\"col-span-12 flex item-center justify-center\">\n <button mat-button type=\"button\"\n (click)=\"raiseTelemetry(trainingCalendar?.contentButton?.title)\"\n [routerLink]=\"[trainingCalendar?.contentButton?.redirectUrl, providerName, providerId, 'training-calendar']\"\n class=\"view-btn margin-left-xs margin-right-xs small-button blue-border flex-auto-display\">\n <span class=\"mat-heading-1 bold ws-mat-default-text\" i18n>\n {{trainingCalendar?.contentButton?.title}}\n </span>\n </button>\n </div>\n </div>\n</ng-template>\n<ng-template #learnerReviewBlock let-data=\"data\">\n <div class=\"contributors-background px-5 py-5\" [style.background]=\"data?.background\" *ngIf=\"!data?.hideSection\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 padding-top-l mb-6\">\n <div class=\"col-span-12 md:col-span-4 contributor-desc\">\n <div class=\"infra-box-review flex flex-col\">\n <div class=\"learner-title hidden md:block\">\n {{data?.detaulTitle}}\n </div>\n <div class=\"infra-title2 hidden md:block\">\n {{data?.myTitle}}\n </div>\n <div class=\"block md:hidden\">\n <span class=\"learner-title\">{{data?.detaulTitle}}</span> <span class=\"infra-title2\"> {{data?.myTitle}}</span>\n </div> \n </div> \n </div>\n <div class=\"col-span-12 md:col-span-8\">\n <sb-uic-user-content-rating (emptyResponse)=\"hideLearnerReview($event, data)\" [formData]=\"data\" [providerId]=\"providerId\"></sb-uic-user-content-rating>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
15364
|
+
styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.section-divider{border-bottom:1px solid rgba(0,0,0,.16)}.banner-container{align-items:center;background:#eee;padding:16px;gap:2.5rem;justify-content:center}.logo-box{vertical-align:middle;max-width:250px;background:#f5fdf1;padding:8px;border:1px solid rgba(0,0,0,.5)}.title-section{position:relative;display:flex;justify-content:center;background-color:#fff}.logo-box-container{width:180px;position:relative}@media only screen and (max-width:599px){.logo-box-container{width:112px;height:72px}}.view-btn{width:160px;background:#fff;padding:0 16px;border-radius:49px;border:1px solid #1b4ca9;font-weight:700!important;font-size:14px;margin-top:4px;margin-bottom:4px;line-height:36px}.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 0 rgba(0,0,0,.06)}.logo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width:599px){.view-btn{margin-top:12px;margin-bottom:16px}.logo-box-rounded{width:112px;height:112px}.logo-box-rounded .logo-img{max-width:84px}}.logo-box-rounded.top{position:absolute;top:-110px}.slider-box{max-width:30%}.stats-container{justify-content:space-around;display:flex;flex-wrap:wrap}.stats-item{display:flex;align-items:center;flex-wrap:nowrap;padding:8px 16px;margin-bottom:16px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-sec{padding:25px 0}.infra-sec-desc{padding-top:32px}.contributors-background,.infra-background{align-items:center;justify-content:center;display:flex}.contributor-desc{align-items:center;display:inline-flex;margin-top:-24px}.infra-box{width:256px}.infra-box-review{width:100%}.infra-title-v2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#fff}.infra-title2-v2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#ef951e}.infra-title{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#fff}.infra-title2{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#ef951e}.infra-description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;color:#fff;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.overlay{position:absolute;top:-20px}.slider-background{height:160px}.slider-background1{height:195px}.slider-background-2{position:relative}.info-slider{position:absolute;top:-180px;padding:25px}.sticky-navigator{padding:15px 5px;background-color:#fdead5;align-items:center;overflow:auto;position:fixed;left:0;bottom:0;width:100%;z-index:1002;justify-content:center}.nav-button{padding:12px 16px;border-radius:40px;border:1px solid #000;text-align:center;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;cursor:pointer;min-width:140px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-up-arrow{height:28px}.img-left{left:0}.img-right{right:0}.learner-title{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left;color:#000}@media screen and (max-width:1201px){.img-left,.img-right{display:none}}@media screen and (max-width:768px){.infra-sec{padding:0}.infra-box,.infra-box-review{width:99%;height:auto}.infra-sec-desc{padding-top:0}.mob-container{background-image:url(https://portal.karmayogiqa.nic.in/content-store/orgStore/0135071359030722569/1720693634596_MDOChannel_RightGraphic%202.svg);background-position:bottom 0 right 0;background-repeat:no-repeat}.infra-title,.infra-title-v2,.infra-title2,.infra-title2-v2{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.slider-background,.slider-background1{height:150px}.info-slider{position:absolute;top:-155px}.sticky-navigator{align-items:center;justify-content:left;bottom:63px}.logo-box-rounded.top{position:absolute;top:-50px}.learner-title{font-size:16px}}.competencies-backgroud{background-color:#1b2133}.txt-ellipsis-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.comp-back-img{bottom:0;left:0;right:0;margin-left:auto;margin-right:auto;width:50%;filter:brightness(100)}.mob-header{font-family:Lato;font-size:16px;font-weight:600}"]
|
|
14126
15365
|
}] }
|
|
14127
15366
|
];
|
|
14128
15367
|
/** @nocollapse */
|
|
14129
|
-
|
|
14130
|
-
{ type:
|
|
14131
|
-
{ type:
|
|
15368
|
+
ProvidersV2Component.ctorParameters = () => [
|
|
15369
|
+
{ type: ActivatedRoute },
|
|
15370
|
+
{ type: Router },
|
|
15371
|
+
{ type: DatePipe },
|
|
15372
|
+
{ type: EventService }
|
|
14132
15373
|
];
|
|
14133
|
-
|
|
14134
|
-
|
|
14135
|
-
styleData: [{ type: Input }],
|
|
14136
|
-
title: [{ type: Input }],
|
|
14137
|
-
loadNgContentData: [{ type: Input }],
|
|
14138
|
-
autoScroll: [{ type: Input }],
|
|
14139
|
-
currentIndexValue: [{ type: Output }],
|
|
14140
|
-
id: [{ type: HostBinding, args: ['id',] }],
|
|
14141
|
-
currentIndex: [{ type: Input }]
|
|
15374
|
+
ProvidersV2Component.propDecorators = {
|
|
15375
|
+
sectionList: [{ type: Input }]
|
|
14142
15376
|
};
|
|
14143
15377
|
if (false) {
|
|
14144
15378
|
/** @type {?} */
|
|
14145
|
-
|
|
15379
|
+
ProvidersV2Component.prototype.sectionList;
|
|
14146
15380
|
/** @type {?} */
|
|
14147
|
-
|
|
15381
|
+
ProvidersV2Component.prototype.providerName;
|
|
14148
15382
|
/** @type {?} */
|
|
14149
|
-
|
|
15383
|
+
ProvidersV2Component.prototype.providerId;
|
|
14150
15384
|
/** @type {?} */
|
|
14151
|
-
|
|
15385
|
+
ProvidersV2Component.prototype.navList;
|
|
14152
15386
|
/** @type {?} */
|
|
14153
|
-
|
|
15387
|
+
ProvidersV2Component.prototype.hideCompetencyBlock;
|
|
14154
15388
|
/** @type {?} */
|
|
14155
|
-
|
|
15389
|
+
ProvidersV2Component.prototype.currentMonthAndYear;
|
|
14156
15390
|
/** @type {?} */
|
|
14157
|
-
|
|
15391
|
+
ProvidersV2Component.prototype.titles;
|
|
15392
|
+
/** @type {?} */
|
|
15393
|
+
ProvidersV2Component.prototype.descriptionMaxLength;
|
|
15394
|
+
/** @type {?} */
|
|
15395
|
+
ProvidersV2Component.prototype.isTelemetryRaised;
|
|
14158
15396
|
/**
|
|
14159
15397
|
* @type {?}
|
|
14160
15398
|
* @private
|
|
14161
15399
|
*/
|
|
14162
|
-
|
|
14163
|
-
/** @type {?} */
|
|
14164
|
-
SlidersNgContentLibComponent.prototype.isLtMedium$;
|
|
15400
|
+
ProvidersV2Component.prototype.route;
|
|
14165
15401
|
/** @type {?} */
|
|
14166
|
-
|
|
14167
|
-
/** @type {?} */
|
|
14168
|
-
SlidersNgContentLibComponent.prototype.slideInterval;
|
|
14169
|
-
/** @type {?} */
|
|
14170
|
-
SlidersNgContentLibComponent.prototype.isMobile;
|
|
15402
|
+
ProvidersV2Component.prototype.router;
|
|
14171
15403
|
/**
|
|
14172
15404
|
* @type {?}
|
|
14173
15405
|
* @private
|
|
14174
15406
|
*/
|
|
14175
|
-
|
|
15407
|
+
ProvidersV2Component.prototype.datePipe;
|
|
14176
15408
|
/**
|
|
14177
15409
|
* @type {?}
|
|
14178
15410
|
* @private
|
|
14179
15411
|
*/
|
|
14180
|
-
|
|
14181
|
-
}
|
|
14182
|
-
|
|
14183
|
-
/**
|
|
14184
|
-
* @fileoverview added by tsickle
|
|
14185
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14186
|
-
*/
|
|
14187
|
-
/* tslint:enable */
|
|
14188
|
-
class MyHammerConfig$1 extends HammerGestureConfig {
|
|
14189
|
-
/**
|
|
14190
|
-
* @param {?} element
|
|
14191
|
-
* @return {?}
|
|
14192
|
-
*/
|
|
14193
|
-
buildHammer(element) {
|
|
14194
|
-
/** @type {?} */
|
|
14195
|
-
const mc = new Hammer(element, {
|
|
14196
|
-
touchAction: 'pan-y',
|
|
14197
|
-
});
|
|
14198
|
-
return mc;
|
|
14199
|
-
}
|
|
14200
|
-
}
|
|
14201
|
-
// tslint:disable-next-line: max-classes-per-file
|
|
14202
|
-
class SlidersNgContentLibModule {
|
|
14203
|
-
}
|
|
14204
|
-
SlidersNgContentLibModule.decorators = [
|
|
14205
|
-
{ type: NgModule, args: [{
|
|
14206
|
-
declarations: [SlidersNgContentLibComponent],
|
|
14207
|
-
imports: [
|
|
14208
|
-
CommonModule,
|
|
14209
|
-
RouterModule,
|
|
14210
|
-
NavigationModule,
|
|
14211
|
-
ImageResponsiveModule,
|
|
14212
|
-
],
|
|
14213
|
-
exports: [SlidersNgContentLibComponent],
|
|
14214
|
-
entryComponents: [SlidersNgContentLibComponent],
|
|
14215
|
-
providers: [
|
|
14216
|
-
{
|
|
14217
|
-
provide: HAMMER_GESTURE_CONFIG,
|
|
14218
|
-
useClass: MyHammerConfig$1,
|
|
14219
|
-
},
|
|
14220
|
-
],
|
|
14221
|
-
},] }
|
|
14222
|
-
];
|
|
14223
|
-
|
|
14224
|
-
/**
|
|
14225
|
-
* @fileoverview added by tsickle
|
|
14226
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14227
|
-
*/
|
|
14228
|
-
class ScrollableItemModule {
|
|
15412
|
+
ProvidersV2Component.prototype.events;
|
|
14229
15413
|
}
|
|
14230
|
-
ScrollableItemModule.decorators = [
|
|
14231
|
-
{ type: NgModule, args: [{
|
|
14232
|
-
declarations: [ScrollableItemDirective],
|
|
14233
|
-
imports: [
|
|
14234
|
-
CommonModule,
|
|
14235
|
-
],
|
|
14236
|
-
exports: [ScrollableItemDirective],
|
|
14237
|
-
},] }
|
|
14238
|
-
];
|
|
14239
15414
|
|
|
14240
15415
|
/**
|
|
14241
15416
|
* @fileoverview added by tsickle
|
|
14242
15417
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14243
15418
|
*/
|
|
14244
|
-
|
|
15419
|
+
const ɵ0$8 = HttpLoaderFactory;
|
|
15420
|
+
class ProvidersModule {
|
|
14245
15421
|
}
|
|
14246
|
-
|
|
15422
|
+
ProvidersModule.decorators = [
|
|
14247
15423
|
{ type: NgModule, args: [{
|
|
14248
|
-
declarations: [
|
|
15424
|
+
declarations: [ProvidersV2Component],
|
|
14249
15425
|
imports: [
|
|
14250
15426
|
CommonModule,
|
|
14251
15427
|
MatIconModule,
|
|
15428
|
+
RouterModule,
|
|
14252
15429
|
MatChipsModule,
|
|
14253
15430
|
SkeletonLoaderLibModule,
|
|
14254
|
-
|
|
15431
|
+
CalenderModule,
|
|
14255
15432
|
CardsModule,
|
|
14256
|
-
|
|
14257
|
-
|
|
14258
|
-
|
|
15433
|
+
CommonStripModule,
|
|
15434
|
+
CompetencyPassbookModule,
|
|
15435
|
+
UserContentRatingLibModule,
|
|
15436
|
+
ContentStripWithTabsLibModule,
|
|
15437
|
+
DataPointsModule,
|
|
15438
|
+
SlidersLibModule,
|
|
15439
|
+
MatTabsModule,
|
|
15440
|
+
TranslateModule.forRoot({
|
|
15441
|
+
loader: {
|
|
15442
|
+
provide: TranslateLoader,
|
|
15443
|
+
useFactory: ɵ0$8,
|
|
15444
|
+
deps: [HttpClient],
|
|
15445
|
+
},
|
|
15446
|
+
}),
|
|
15447
|
+
],
|
|
15448
|
+
exports: [ProvidersV2Component],
|
|
15449
|
+
providers: [
|
|
15450
|
+
CommonMethodsService
|
|
14259
15451
|
],
|
|
14260
|
-
exports: [UserContentRatingLibComponent],
|
|
14261
|
-
providers: [RatingService, UserContentRatingLibService],
|
|
14262
15452
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
14263
15453
|
},] }
|
|
14264
15454
|
];
|
|
@@ -14273,5 +15463,5 @@ UserContentRatingLibModule.decorators = [
|
|
|
14273
15463
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14274
15464
|
*/
|
|
14275
15465
|
|
|
14276
|
-
export { AnnouncementsModule, CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, ContentStripWithTabsPillsModule, DataPointsModule, HttpLoaderFactory, HttpLoaderFactory1, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb,
|
|
15466
|
+
export { AnnouncementsModule, CalenderModule, CardsModule, CbpPlanModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, ContentStripWithTabsPillsModule, DataPointsModule, HttpLoaderFactory, HttpLoaderFactory1, MDOChannelModule, MyHammerConfig, ProvidersModule, ROOT_WIDGET_CONFIG, SlidersLibModule, TopLearnersModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardResourceComponent as ɵba, CardsComponent as ɵbb, CardPortraitComponent as ɵbc, CardUserComponent as ɵbd, CardLandscapeComponent as ɵbe, CardWideComponent as ɵbf, CardMDOChannelComponent as ɵbg, CardWideV2Component as ɵbh, CardKarmaProgramsComponent as ɵbi, CardKarmaProgramsV2Component as ɵbj, ProviderCardComponent as ɵbk, CardPortraitExtComponent as ɵbl, CardAssessmentComponent as ɵbm, CardProgressPortraitLibComponent as ɵbn, CertificateService as ɵbo, CardMdoChannelV1Component as ɵbp, PipePublicURLModule as ɵbq, PipePublicURL as ɵbr, ObjectToArrayPipeModule as ɵbs, ObjectToArrayPipe as ɵbt, DisplayContentTypeLibModule as ɵbu, DisplayContentTypeLibComponent as ɵbv, DefaultThumbnailModule as ɵbw, DefaultThumbnailDirective as ɵbx, PipeDurationTransformModule as ɵby, PipeDurationTransformPipe as ɵbz, MultilingualTranslationsService as ɵc, ContentProgressComponent as ɵca, DialogComponentsModule as ɵcb, CertificateDialogComponent as ɵcc, AvatarPhotoLibModule as ɵcd, AvatarPhotoLibComponent as ɵce, ContentStripWithTabsPillsComponent as ɵcf, CompetencyPassbookComponent as ɵcg, CompetencyPassbookService as ɵch, PillsModule as ɵci, PillsComponent as ɵcj, CompetencyPassbookMdoComponent as ɵck, CompetencyPassbookMdoService as ɵcl, UserContentRatingLibComponent as ɵcm, RatingService as ɵcn, UserContentRatingLibService as ɵco, MdoChannelV1Component as ɵcp, MdoChannelV2Component as ɵcq, ProvidersV2Component as ɵcr, ConfigurationsService as ɵd, HorizontalScrollerV2Module as ɵe, HorizontalScrollerV2Component as ɵf, SlidersLibComponent as ɵg, NavigationModule as ɵh, NavigationDirective as ɵi, ImageResponsiveModule as ɵj, ImageResponsiveDirective as ɵk, DataPointsComponent as ɵl, InsiteDataService as ɵm, SkeletonLoaderLibModule as ɵn, SkeletonLoaderLibComponent as ɵo, CalenderComponent as ɵp, CalenderDayComponent as ɵq, CommonStripComponent as ɵr, AnnouncementsComponent as ɵs, TopLearnersComponent as ɵt, CbpPlanComponent as ɵu, ScrollableItemDirective as ɵv, ScrollableItemModule as ɵw, MyHammerConfig$1 as ɵx, SlidersNgContentLibModule as ɵy, SlidersNgContentLibComponent as ɵz };
|
|
14277
15467
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|