@sunbird-cb/consumption 0.0.53 → 0.0.55
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 +2282 -933
- 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-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 +209 -33
- 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-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 +204 -16
- 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 +1520 -331
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +2226 -886
- 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;
|
|
@@ -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
|
+
}
|
|
7838
|
+
this.loading = false;
|
|
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 */
|
|
@@ -13756,47 +14628,6 @@ if (false) {
|
|
|
13756
14628
|
RatingService.prototype.http;
|
|
13757
14629
|
}
|
|
13758
14630
|
|
|
13759
|
-
/**
|
|
13760
|
-
* @fileoverview added by tsickle
|
|
13761
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
13762
|
-
*/
|
|
13763
|
-
class ScrollableItemDirective {
|
|
13764
|
-
/**
|
|
13765
|
-
* @param {?} el
|
|
13766
|
-
*/
|
|
13767
|
-
constructor(el) {
|
|
13768
|
-
this.el = el;
|
|
13769
|
-
}
|
|
13770
|
-
/**
|
|
13771
|
-
* @param {?} blockValue
|
|
13772
|
-
* @return {?}
|
|
13773
|
-
*/
|
|
13774
|
-
scrollIntoView(blockValue) {
|
|
13775
|
-
this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });
|
|
13776
|
-
}
|
|
13777
|
-
}
|
|
13778
|
-
ScrollableItemDirective.decorators = [
|
|
13779
|
-
{ type: Directive, args: [{
|
|
13780
|
-
selector: '[sbUicScrollableItem]'
|
|
13781
|
-
},] }
|
|
13782
|
-
];
|
|
13783
|
-
/** @nocollapse */
|
|
13784
|
-
ScrollableItemDirective.ctorParameters = () => [
|
|
13785
|
-
{ type: ElementRef }
|
|
13786
|
-
];
|
|
13787
|
-
ScrollableItemDirective.propDecorators = {
|
|
13788
|
-
key: [{ type: Input, args: ['sbUicScrollableItem',] }]
|
|
13789
|
-
};
|
|
13790
|
-
if (false) {
|
|
13791
|
-
/** @type {?} */
|
|
13792
|
-
ScrollableItemDirective.prototype.key;
|
|
13793
|
-
/**
|
|
13794
|
-
* @type {?}
|
|
13795
|
-
* @private
|
|
13796
|
-
*/
|
|
13797
|
-
ScrollableItemDirective.prototype.el;
|
|
13798
|
-
}
|
|
13799
|
-
|
|
13800
14631
|
/**
|
|
13801
14632
|
* @fileoverview added by tsickle
|
|
13802
14633
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -13943,8 +14774,8 @@ class UserContentRatingLibComponent {
|
|
|
13943
14774
|
UserContentRatingLibComponent.decorators = [
|
|
13944
14775
|
{ type: Component, args: [{
|
|
13945
14776
|
selector: 'sb-uic-user-content-rating',
|
|
13946
|
-
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
|
|
13947
|
-
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}}"]
|
|
13948
14779
|
}] }
|
|
13949
14780
|
];
|
|
13950
14781
|
/** @nocollapse */
|
|
@@ -13983,283 +14814,641 @@ if (false) {
|
|
|
13983
14814
|
* @fileoverview added by tsickle
|
|
13984
14815
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
13985
14816
|
*/
|
|
13986
|
-
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 {
|
|
13987
15156
|
/**
|
|
15157
|
+
* @param {?} route
|
|
15158
|
+
* @param {?} router
|
|
15159
|
+
* @param {?} datePipe
|
|
13988
15160
|
* @param {?} events
|
|
13989
|
-
* @param {?} valueSvc
|
|
13990
15161
|
*/
|
|
13991
|
-
constructor(
|
|
13992
|
-
|
|
15162
|
+
constructor(route, router, datePipe, events) {
|
|
15163
|
+
this.route = route;
|
|
15164
|
+
this.router = router;
|
|
15165
|
+
this.datePipe = datePipe;
|
|
13993
15166
|
this.events = events;
|
|
13994
|
-
this.
|
|
13995
|
-
this.
|
|
13996
|
-
this.
|
|
13997
|
-
this.
|
|
13998
|
-
this.
|
|
13999
|
-
|
|
14000
|
-
|
|
14001
|
-
|
|
14002
|
-
|
|
14003
|
-
|
|
14004
|
-
|
|
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;
|
|
14005
15180
|
}
|
|
14006
15181
|
/**
|
|
14007
15182
|
* @return {?}
|
|
14008
15183
|
*/
|
|
14009
15184
|
ngOnInit() {
|
|
14010
|
-
if (this.
|
|
14011
|
-
this.
|
|
14012
|
-
|
|
14013
|
-
|
|
14014
|
-
|
|
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
|
|
14015
15195
|
* @return {?}
|
|
14016
15196
|
*/
|
|
14017
|
-
|
|
14018
|
-
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
|
+
});
|
|
14019
15203
|
}));
|
|
15204
|
+
this.getNavitems();
|
|
15205
|
+
this.currentMonthAndYear = this.datePipe.transform(new Date(), 'MMMM y');
|
|
14020
15206
|
}
|
|
14021
15207
|
/**
|
|
14022
15208
|
* @return {?}
|
|
14023
15209
|
*/
|
|
14024
|
-
|
|
14025
|
-
|
|
14026
|
-
|
|
14027
|
-
|
|
14028
|
-
|
|
14029
|
-
|
|
14030
|
-
|
|
14031
|
-
|
|
14032
|
-
|
|
14033
|
-
|
|
14034
|
-
|
|
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
|
|
14035
15255
|
* @return {?}
|
|
14036
15256
|
*/
|
|
14037
|
-
() => {
|
|
14038
|
-
if (
|
|
14039
|
-
|
|
14040
|
-
this.currentIndexValue.emit(this.currentIndex);
|
|
14041
|
-
}
|
|
14042
|
-
else {
|
|
14043
|
-
this.currentIndex += 1;
|
|
14044
|
-
this.currentIndexValue.emit(this.currentIndex);
|
|
15257
|
+
(colEle) => {
|
|
15258
|
+
if (colEle.key === columnData.key) {
|
|
15259
|
+
navItem['navigation'] = false;
|
|
14045
15260
|
}
|
|
14046
15261
|
}));
|
|
14047
|
-
}
|
|
15262
|
+
}));
|
|
14048
15263
|
}
|
|
14049
15264
|
}
|
|
14050
15265
|
/**
|
|
14051
|
-
* @param {?}
|
|
15266
|
+
* @param {?} event
|
|
15267
|
+
* @param {?} contentStripData
|
|
14052
15268
|
* @return {?}
|
|
14053
15269
|
*/
|
|
14054
|
-
|
|
14055
|
-
if (
|
|
14056
|
-
|
|
14057
|
-
this.currentIndexValue.emit(this.currentIndex);
|
|
15270
|
+
hideContentStrip(event, contentStripData) {
|
|
15271
|
+
if (event) {
|
|
15272
|
+
contentStripData['hideSection'] = true;
|
|
14058
15273
|
}
|
|
14059
|
-
|
|
14060
|
-
|
|
14061
|
-
|
|
15274
|
+
}
|
|
15275
|
+
/**
|
|
15276
|
+
* @param {?} event
|
|
15277
|
+
* @param {?} learnerReview
|
|
15278
|
+
* @return {?}
|
|
15279
|
+
*/
|
|
15280
|
+
hideLearnerReview(event, learnerReview) {
|
|
15281
|
+
if (event) {
|
|
15282
|
+
learnerReview['hideSection'] = true;
|
|
14062
15283
|
}
|
|
14063
|
-
|
|
14064
|
-
|
|
14065
|
-
|
|
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
|
+
}
|
|
14066
15298
|
}
|
|
14067
|
-
|
|
14068
|
-
this.
|
|
15299
|
+
else {
|
|
15300
|
+
this.router.navigate([`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`], { queryParams: { pageDetails: true } });
|
|
14069
15301
|
}
|
|
14070
15302
|
}
|
|
14071
15303
|
/**
|
|
15304
|
+
* @param {?} event
|
|
14072
15305
|
* @return {?}
|
|
14073
15306
|
*/
|
|
14074
|
-
|
|
14075
|
-
|
|
14076
|
-
|
|
14077
|
-
|
|
14078
|
-
|
|
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;
|
|
14079
15324
|
}
|
|
14080
|
-
return false;
|
|
14081
15325
|
}
|
|
14082
15326
|
/**
|
|
15327
|
+
* @param {?} name
|
|
14083
15328
|
* @return {?}
|
|
14084
15329
|
*/
|
|
14085
|
-
|
|
14086
|
-
|
|
14087
|
-
const currentData = this.widgetData[this.currentIndex];
|
|
14088
|
-
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
14089
|
-
window.open(currentData.redirectUrl);
|
|
14090
|
-
}
|
|
15330
|
+
raiseCompetencyTelemetry(name) {
|
|
15331
|
+
this.raiseTelemetry(`${name} core expertise`);
|
|
14091
15332
|
}
|
|
14092
15333
|
/**
|
|
14093
|
-
* @param {?}
|
|
15334
|
+
* @param {?} name
|
|
14094
15335
|
* @return {?}
|
|
14095
15336
|
*/
|
|
14096
|
-
raiseTelemetry(
|
|
14097
|
-
this.openInNewTab();
|
|
14098
|
-
/** @type {?} */
|
|
14099
|
-
const path = window.location.pathname.replace('/', '');
|
|
14100
|
-
/** @type {?} */
|
|
14101
|
-
const url = path + window.location.search;
|
|
15337
|
+
raiseTelemetry(name) {
|
|
14102
15338
|
this.events.raiseInteractTelemetry({
|
|
14103
15339
|
type: 'click',
|
|
14104
|
-
subType: '
|
|
14105
|
-
|
|
14106
|
-
|
|
14107
|
-
|
|
14108
|
-
}, {
|
|
14109
|
-
pageIdExt: 'banner',
|
|
14110
|
-
module: WsEvents.EnumTelemetrymodules.CONTENT,
|
|
15340
|
+
subType: 'ATI/CTI',
|
|
15341
|
+
id: `${kebabCase(name).toLocaleLowerCase()}`,
|
|
15342
|
+
}, {}, {
|
|
15343
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
14111
15344
|
});
|
|
14112
15345
|
}
|
|
14113
15346
|
/**
|
|
15347
|
+
* @param {?} name
|
|
14114
15348
|
* @return {?}
|
|
14115
15349
|
*/
|
|
14116
|
-
|
|
14117
|
-
|
|
14118
|
-
|
|
14119
|
-
|
|
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
|
+
});
|
|
14120
15358
|
}
|
|
14121
15359
|
}
|
|
14122
|
-
|
|
15360
|
+
ProvidersV2Component.decorators = [
|
|
14123
15361
|
{ type: Component, args: [{
|
|
14124
|
-
selector: 'sb-uic-
|
|
14125
|
-
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",
|
|
14126
|
-
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}"]
|
|
14127
15365
|
}] }
|
|
14128
15366
|
];
|
|
14129
15367
|
/** @nocollapse */
|
|
14130
|
-
|
|
14131
|
-
{ type:
|
|
14132
|
-
{ type:
|
|
15368
|
+
ProvidersV2Component.ctorParameters = () => [
|
|
15369
|
+
{ type: ActivatedRoute },
|
|
15370
|
+
{ type: Router },
|
|
15371
|
+
{ type: DatePipe },
|
|
15372
|
+
{ type: EventService }
|
|
14133
15373
|
];
|
|
14134
|
-
|
|
14135
|
-
|
|
14136
|
-
styleData: [{ type: Input }],
|
|
14137
|
-
title: [{ type: Input }],
|
|
14138
|
-
loadNgContentData: [{ type: Input }],
|
|
14139
|
-
autoScroll: [{ type: Input }],
|
|
14140
|
-
currentIndexValue: [{ type: Output }],
|
|
14141
|
-
id: [{ type: HostBinding, args: ['id',] }],
|
|
14142
|
-
currentIndex: [{ type: Input }]
|
|
15374
|
+
ProvidersV2Component.propDecorators = {
|
|
15375
|
+
sectionList: [{ type: Input }]
|
|
14143
15376
|
};
|
|
14144
15377
|
if (false) {
|
|
14145
15378
|
/** @type {?} */
|
|
14146
|
-
|
|
15379
|
+
ProvidersV2Component.prototype.sectionList;
|
|
14147
15380
|
/** @type {?} */
|
|
14148
|
-
|
|
15381
|
+
ProvidersV2Component.prototype.providerName;
|
|
14149
15382
|
/** @type {?} */
|
|
14150
|
-
|
|
15383
|
+
ProvidersV2Component.prototype.providerId;
|
|
14151
15384
|
/** @type {?} */
|
|
14152
|
-
|
|
15385
|
+
ProvidersV2Component.prototype.navList;
|
|
14153
15386
|
/** @type {?} */
|
|
14154
|
-
|
|
15387
|
+
ProvidersV2Component.prototype.hideCompetencyBlock;
|
|
14155
15388
|
/** @type {?} */
|
|
14156
|
-
|
|
15389
|
+
ProvidersV2Component.prototype.currentMonthAndYear;
|
|
14157
15390
|
/** @type {?} */
|
|
14158
|
-
|
|
15391
|
+
ProvidersV2Component.prototype.titles;
|
|
15392
|
+
/** @type {?} */
|
|
15393
|
+
ProvidersV2Component.prototype.descriptionMaxLength;
|
|
15394
|
+
/** @type {?} */
|
|
15395
|
+
ProvidersV2Component.prototype.isTelemetryRaised;
|
|
14159
15396
|
/**
|
|
14160
15397
|
* @type {?}
|
|
14161
15398
|
* @private
|
|
14162
15399
|
*/
|
|
14163
|
-
|
|
14164
|
-
/** @type {?} */
|
|
14165
|
-
SlidersNgContentLibComponent.prototype.isLtMedium$;
|
|
15400
|
+
ProvidersV2Component.prototype.route;
|
|
14166
15401
|
/** @type {?} */
|
|
14167
|
-
|
|
14168
|
-
/** @type {?} */
|
|
14169
|
-
SlidersNgContentLibComponent.prototype.slideInterval;
|
|
14170
|
-
/** @type {?} */
|
|
14171
|
-
SlidersNgContentLibComponent.prototype.isMobile;
|
|
15402
|
+
ProvidersV2Component.prototype.router;
|
|
14172
15403
|
/**
|
|
14173
15404
|
* @type {?}
|
|
14174
15405
|
* @private
|
|
14175
15406
|
*/
|
|
14176
|
-
|
|
15407
|
+
ProvidersV2Component.prototype.datePipe;
|
|
14177
15408
|
/**
|
|
14178
15409
|
* @type {?}
|
|
14179
15410
|
* @private
|
|
14180
15411
|
*/
|
|
14181
|
-
|
|
14182
|
-
}
|
|
14183
|
-
|
|
14184
|
-
/**
|
|
14185
|
-
* @fileoverview added by tsickle
|
|
14186
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14187
|
-
*/
|
|
14188
|
-
/* tslint:enable */
|
|
14189
|
-
class MyHammerConfig$1 extends HammerGestureConfig {
|
|
14190
|
-
/**
|
|
14191
|
-
* @param {?} element
|
|
14192
|
-
* @return {?}
|
|
14193
|
-
*/
|
|
14194
|
-
buildHammer(element) {
|
|
14195
|
-
/** @type {?} */
|
|
14196
|
-
const mc = new Hammer(element, {
|
|
14197
|
-
touchAction: 'pan-y',
|
|
14198
|
-
});
|
|
14199
|
-
return mc;
|
|
14200
|
-
}
|
|
14201
|
-
}
|
|
14202
|
-
// tslint:disable-next-line: max-classes-per-file
|
|
14203
|
-
class SlidersNgContentLibModule {
|
|
14204
|
-
}
|
|
14205
|
-
SlidersNgContentLibModule.decorators = [
|
|
14206
|
-
{ type: NgModule, args: [{
|
|
14207
|
-
declarations: [SlidersNgContentLibComponent],
|
|
14208
|
-
imports: [
|
|
14209
|
-
CommonModule,
|
|
14210
|
-
RouterModule,
|
|
14211
|
-
NavigationModule,
|
|
14212
|
-
ImageResponsiveModule,
|
|
14213
|
-
],
|
|
14214
|
-
exports: [SlidersNgContentLibComponent],
|
|
14215
|
-
entryComponents: [SlidersNgContentLibComponent],
|
|
14216
|
-
providers: [
|
|
14217
|
-
{
|
|
14218
|
-
provide: HAMMER_GESTURE_CONFIG,
|
|
14219
|
-
useClass: MyHammerConfig$1,
|
|
14220
|
-
},
|
|
14221
|
-
],
|
|
14222
|
-
},] }
|
|
14223
|
-
];
|
|
14224
|
-
|
|
14225
|
-
/**
|
|
14226
|
-
* @fileoverview added by tsickle
|
|
14227
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14228
|
-
*/
|
|
14229
|
-
class ScrollableItemModule {
|
|
15412
|
+
ProvidersV2Component.prototype.events;
|
|
14230
15413
|
}
|
|
14231
|
-
ScrollableItemModule.decorators = [
|
|
14232
|
-
{ type: NgModule, args: [{
|
|
14233
|
-
declarations: [ScrollableItemDirective],
|
|
14234
|
-
imports: [
|
|
14235
|
-
CommonModule,
|
|
14236
|
-
],
|
|
14237
|
-
exports: [ScrollableItemDirective],
|
|
14238
|
-
},] }
|
|
14239
|
-
];
|
|
14240
15414
|
|
|
14241
15415
|
/**
|
|
14242
15416
|
* @fileoverview added by tsickle
|
|
14243
15417
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14244
15418
|
*/
|
|
14245
|
-
|
|
15419
|
+
const ɵ0$8 = HttpLoaderFactory;
|
|
15420
|
+
class ProvidersModule {
|
|
14246
15421
|
}
|
|
14247
|
-
|
|
15422
|
+
ProvidersModule.decorators = [
|
|
14248
15423
|
{ type: NgModule, args: [{
|
|
14249
|
-
declarations: [
|
|
15424
|
+
declarations: [ProvidersV2Component],
|
|
14250
15425
|
imports: [
|
|
14251
15426
|
CommonModule,
|
|
14252
15427
|
MatIconModule,
|
|
15428
|
+
RouterModule,
|
|
14253
15429
|
MatChipsModule,
|
|
14254
15430
|
SkeletonLoaderLibModule,
|
|
14255
|
-
|
|
15431
|
+
CalenderModule,
|
|
14256
15432
|
CardsModule,
|
|
14257
|
-
|
|
14258
|
-
|
|
14259
|
-
|
|
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
|
|
14260
15451
|
],
|
|
14261
|
-
exports: [UserContentRatingLibComponent],
|
|
14262
|
-
providers: [RatingService, UserContentRatingLibService],
|
|
14263
15452
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
14264
15453
|
},] }
|
|
14265
15454
|
];
|
|
@@ -14274,5 +15463,5 @@ UserContentRatingLibModule.decorators = [
|
|
|
14274
15463
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
14275
15464
|
*/
|
|
14276
15465
|
|
|
14277
|
-
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 };
|
|
14278
15467
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|