@sunbird-cb/consumption 0.0.43 → 0.0.44
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 +1244 -165
- 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/cards/card-assessment/card-assessment/card-assessment.component.js +175 -0
- package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +261 -0
- package/esm2015/lib/_common/cards/cards.component.js +24 -25
- package/esm2015/lib/_common/cards/cards.module.js +28 -3
- package/esm2015/lib/_common/content-progress/content-progress.component.js +89 -0
- package/esm2015/lib/_common/content-progress/content-progress.module.js +22 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +43 -2
- package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +225 -0
- package/esm2015/lib/_common/dialog-components/dialog-components.module.js +43 -0
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +28 -0
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +19 -0
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +2 -2
- package/esm2015/lib/_services/certificate.service.js +63 -0
- package/esm2015/lib/_services/multilingual-translations.service.js +27 -24
- package/esm2015/lib/consumption.module.js +1 -1
- package/esm2015/public-api.js +2 -1
- package/esm2015/sunbird-cb-consumption.js +34 -26
- package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +202 -0
- package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +278 -0
- package/esm5/lib/_common/cards/cards.component.js +28 -17
- package/esm5/lib/_common/cards/cards.module.js +28 -3
- package/esm5/lib/_common/content-progress/content-progress.component.js +94 -0
- package/esm5/lib/_common/content-progress/content-progress.module.js +26 -0
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +58 -8
- package/esm5/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +248 -0
- package/esm5/lib/_common/dialog-components/dialog-components.module.js +47 -0
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
- package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.js +57 -0
- package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.module.js +23 -0
- package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +3 -3
- package/esm5/lib/_services/certificate.service.js +70 -0
- package/esm5/lib/_services/multilingual-translations.service.js +27 -24
- package/esm5/lib/consumption.module.js +1 -1
- package/esm5/public-api.js +2 -1
- package/esm5/sunbird-cb-consumption.js +34 -26
- package/fesm2015/sunbird-cb-consumption.js +1075 -136
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +1211 -140
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +28 -0
- package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +41 -0
- package/lib/_common/cards/cards.component.d.ts +5 -3
- package/lib/_common/content-progress/content-progress.component.d.ts +13 -0
- package/lib/_common/content-progress/content-progress.module.d.ts +2 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +2 -0
- package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +22 -0
- package/lib/_common/dialog-components/dialog-components.module.d.ts +2 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +4 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +2 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -1
- package/lib/_services/certificate.service.d.ts +8 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/sunbird-cb-consumption.d.ts +32 -24
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -3,8 +3,8 @@ import { CommonModule, DatePipe } from '@angular/common';
|
|
|
3
3
|
import { Router, RouterModule } 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
|
-
import { ValueService, ConfigurationsService as ConfigurationsService$1, WsEvents, LoggerService, EventService, UtilityService, MultilingualTranslationsService as MultilingualTranslationsService$1 } from '@sunbird-cb/utils-v2';
|
|
7
|
-
import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarModule, MatTooltipModule, MatListModule, MatSidenavModule, MatCardModule, MatExpansionModule, MatRadioModule, MatChipsModule, MatInputModule, MatFormFieldModule, MatDialogModule, MatSnackBarModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatTableModule, MatCheckboxModule, MatButtonToggleModule, MatTabsModule, MatAutocompleteModule, MatSnackBar, MatMenuModule, MatRippleModule } from '@angular/material';
|
|
6
|
+
import { ValueService, ConfigurationsService as ConfigurationsService$1, WsEvents, LoggerService, EventService, UtilityService, MultilingualTranslationsService as MultilingualTranslationsService$1, PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';
|
|
7
|
+
import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarModule, MatTooltipModule, MatListModule, MatSidenavModule, MatCardModule, MatExpansionModule, MatRadioModule, MatChipsModule, MatInputModule, MatFormFieldModule, MatDialogModule, MatSnackBarModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatTableModule, MatCheckboxModule, MatButtonToggleModule, MatTabsModule, MatAutocompleteModule, MatSnackBar, MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatProgressBarModule, MatMenuModule, MatRippleModule } from '@angular/material';
|
|
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';
|
|
@@ -18,6 +18,7 @@ import { BreakpointObserver } from '@angular/cdk/layout';
|
|
|
18
18
|
import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
|
|
19
19
|
import Hammer from 'hammerjs';
|
|
20
20
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
21
|
+
import { jsPDF } from 'jspdf';
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
24
|
* @fileoverview added by tsickle
|
|
@@ -321,15 +322,13 @@ class HorizontalScrollerV2Component {
|
|
|
321
322
|
/** @type {?} */
|
|
322
323
|
const totalCardsLength = cardWidth * this.widgetsLength;
|
|
323
324
|
if (totalCardsLength > scrollerWidth) {
|
|
324
|
-
arrLength = (scrollerWidth / cardWidth);
|
|
325
|
+
arrLength = Math.round(scrollerWidth / cardWidth);
|
|
325
326
|
this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
|
|
326
327
|
this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
|
|
327
328
|
arrLength = this.defaultMaxWidgets / arrLength;
|
|
328
329
|
for (let i = 0; i < arrLength; i += 1) {
|
|
329
330
|
this.bottomDotsArray.push(i);
|
|
330
331
|
}
|
|
331
|
-
// console.log('this.cardSubType', this.cardSubType, arrLength, this.widgetsLength ,
|
|
332
|
-
// this.defaultMaxWidgets, scrollerWidth, this.bottomDotsArray)
|
|
333
332
|
}
|
|
334
333
|
}
|
|
335
334
|
}
|
|
@@ -2602,33 +2601,36 @@ class MultilingualTranslationsService {
|
|
|
2602
2601
|
* @return {?}
|
|
2603
2602
|
*/
|
|
2604
2603
|
translateLabel(label, type, subtype) {
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2604
|
+
if (label) {
|
|
2605
|
+
/** @type {?} */
|
|
2606
|
+
let nlabel = label;
|
|
2607
|
+
nlabel = nlabel && nlabel.toLowerCase();
|
|
2608
|
+
/** @type {?} */
|
|
2609
|
+
const sl = nlabel.split(' ');
|
|
2610
|
+
sl.forEach((/**
|
|
2611
|
+
* @param {?} w
|
|
2612
|
+
* @param {?} index
|
|
2613
|
+
* @return {?}
|
|
2614
|
+
*/
|
|
2615
|
+
(w, index) => {
|
|
2616
|
+
if (index !== 0) {
|
|
2617
|
+
sl[index] = w[0].toUpperCase() + w.slice(1);
|
|
2618
|
+
}
|
|
2619
|
+
}));
|
|
2620
|
+
nlabel = sl.join('');
|
|
2621
|
+
nlabel = nlabel.replace(/\s/g, '');
|
|
2622
|
+
if (subtype) {
|
|
2623
|
+
// tslint:disable-next-line: prefer-template
|
|
2624
|
+
/** @type {?} */
|
|
2625
|
+
const translationKey = type + '.' + nlabel + subtype;
|
|
2626
|
+
return this.translate.instant(translationKey);
|
|
2618
2627
|
}
|
|
2619
|
-
}));
|
|
2620
|
-
nlabel = sl.join('');
|
|
2621
|
-
nlabel = nlabel.replace(/\s/g, '');
|
|
2622
|
-
if (subtype) {
|
|
2623
2628
|
// tslint:disable-next-line: prefer-template
|
|
2624
2629
|
/** @type {?} */
|
|
2625
|
-
const
|
|
2626
|
-
return this.translate.instant(
|
|
2630
|
+
const translationKeyn = type + '.' + nlabel;
|
|
2631
|
+
return this.translate.instant(translationKeyn);
|
|
2627
2632
|
}
|
|
2628
|
-
|
|
2629
|
-
/** @type {?} */
|
|
2630
|
-
const translationKeyn = type + '.' + nlabel;
|
|
2631
|
-
return this.translate.instant(translationKeyn);
|
|
2633
|
+
return label;
|
|
2632
2634
|
}
|
|
2633
2635
|
/**
|
|
2634
2636
|
* @param {?} label
|
|
@@ -3921,7 +3923,18 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
3921
3923
|
if (response && response.results) {
|
|
3922
3924
|
// console.log('calling after-- ')
|
|
3923
3925
|
if (response.results.result.content) {
|
|
3924
|
-
|
|
3926
|
+
if (strip.key === 'scheduledAssessment') {
|
|
3927
|
+
this.enrollInterval = setInterval((/**
|
|
3928
|
+
* @return {?}
|
|
3929
|
+
*/
|
|
3930
|
+
() => {
|
|
3931
|
+
this.checkInvitOnlyAssessments(response.results.result.content, strip, calculateParentStatus, response.viewMoreUrl);
|
|
3932
|
+
// tslint:disable-next-line
|
|
3933
|
+
}), 1000);
|
|
3934
|
+
}
|
|
3935
|
+
else {
|
|
3936
|
+
this.processStrip(strip, this.transformContentsToWidgets(response.results.result.content, strip), 'done', calculateParentStatus, response.viewMoreUrl);
|
|
3937
|
+
}
|
|
3925
3938
|
}
|
|
3926
3939
|
else if (response.results.result.Event) {
|
|
3927
3940
|
this.processStrip(strip, this.transformEventsToWidgets(response.results.result.Event, strip), 'done', calculateParentStatus, response.viewMoreUrl);
|
|
@@ -3942,6 +3955,33 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
3942
3955
|
}
|
|
3943
3956
|
});
|
|
3944
3957
|
}
|
|
3958
|
+
/**
|
|
3959
|
+
* @param {?} content
|
|
3960
|
+
* @param {?} strip
|
|
3961
|
+
* @param {?} calculateParentStatus
|
|
3962
|
+
* @param {?} viewMoreUrl
|
|
3963
|
+
* @return {?}
|
|
3964
|
+
*/
|
|
3965
|
+
checkInvitOnlyAssessments(content, strip, calculateParentStatus, viewMoreUrl) {
|
|
3966
|
+
if (localStorage.getItem('enrollmentMapData')) {
|
|
3967
|
+
this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}');
|
|
3968
|
+
/** @type {?} */
|
|
3969
|
+
let filteredArray = [];
|
|
3970
|
+
content.forEach((/**
|
|
3971
|
+
* @param {?} data
|
|
3972
|
+
* @return {?}
|
|
3973
|
+
*/
|
|
3974
|
+
(data) => {
|
|
3975
|
+
if (this.enrollmentMapData[data.identifier]) {
|
|
3976
|
+
data['batch'] = this.enrollmentMapData[data.identifier].batch;
|
|
3977
|
+
data['completionPercentage'] = this.enrollmentMapData[data.identifier].completionPercentage;
|
|
3978
|
+
filteredArray.push(data);
|
|
3979
|
+
}
|
|
3980
|
+
}));
|
|
3981
|
+
this.processStrip(strip, this.transformContentsToWidgets(filteredArray, strip), 'done', calculateParentStatus, viewMoreUrl);
|
|
3982
|
+
clearInterval(this.enrollInterval);
|
|
3983
|
+
}
|
|
3984
|
+
}
|
|
3945
3985
|
/**
|
|
3946
3986
|
* @param {?} strip
|
|
3947
3987
|
* @param {?} request
|
|
@@ -5194,6 +5234,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
5194
5234
|
fetchCiosContentData(strip, calculateParentStatus = true) {
|
|
5195
5235
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5196
5236
|
if (strip.request && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {
|
|
5237
|
+
debugger;
|
|
5197
5238
|
/** @type {?} */
|
|
5198
5239
|
let originalFilters = [];
|
|
5199
5240
|
if (strip.request &&
|
|
@@ -5318,6 +5359,8 @@ if (false) {
|
|
|
5318
5359
|
ContentStripWithTabsLibComponent.prototype.enrollInterval;
|
|
5319
5360
|
/** @type {?} */
|
|
5320
5361
|
ContentStripWithTabsLibComponent.prototype.todaysEvents;
|
|
5362
|
+
/** @type {?} */
|
|
5363
|
+
ContentStripWithTabsLibComponent.prototype.enrollmentMapData;
|
|
5321
5364
|
/**
|
|
5322
5365
|
* @type {?}
|
|
5323
5366
|
* @private
|
|
@@ -7545,14 +7588,12 @@ var NsCardContent$1;
|
|
|
7545
7588
|
class CardsComponent extends WidgetBaseComponent {
|
|
7546
7589
|
/**
|
|
7547
7590
|
* @param {?} utilitySvc
|
|
7548
|
-
* @param {?} configSvc
|
|
7549
7591
|
* @param {?} contSvc
|
|
7550
7592
|
* @param {?} router
|
|
7551
7593
|
*/
|
|
7552
|
-
constructor(utilitySvc,
|
|
7594
|
+
constructor(utilitySvc, contSvc, router) {
|
|
7553
7595
|
super();
|
|
7554
7596
|
this.utilitySvc = utilitySvc;
|
|
7555
|
-
this.configSvc = configSvc;
|
|
7556
7597
|
this.contSvc = contSvc;
|
|
7557
7598
|
this.router = router;
|
|
7558
7599
|
this.triggerTelemetry = new EventEmitter();
|
|
@@ -7568,6 +7609,13 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7568
7609
|
() => {
|
|
7569
7610
|
this.getCbPlanData();
|
|
7570
7611
|
}), 1000);
|
|
7612
|
+
this.enrollInterval = setInterval((/**
|
|
7613
|
+
* @return {?}
|
|
7614
|
+
*/
|
|
7615
|
+
() => {
|
|
7616
|
+
this.getEnrollmentData();
|
|
7617
|
+
// tslint:disable-next-line
|
|
7618
|
+
}), 1000);
|
|
7571
7619
|
}
|
|
7572
7620
|
/**
|
|
7573
7621
|
* @return {?}
|
|
@@ -7595,21 +7643,8 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7595
7643
|
*/
|
|
7596
7644
|
getRedirectUrlData(content) {
|
|
7597
7645
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7598
|
-
/** @type {?} */
|
|
7599
|
-
const userProfile = this.configSvc.userProfile;
|
|
7600
7646
|
if (content.externalId) {
|
|
7601
|
-
/** @type {?} */
|
|
7602
|
-
let extUrl = content.redirectUrl.replace('<username>', userProfile.userId)
|
|
7603
|
-
// const url = this.router.serializeUrl(
|
|
7604
|
-
// this.router.createUrlTree([extUrl])
|
|
7605
|
-
// );
|
|
7606
|
-
;
|
|
7607
|
-
// const url = this.router.serializeUrl(
|
|
7608
|
-
// this.router.createUrlTree([extUrl])
|
|
7609
|
-
// );
|
|
7610
7647
|
this.router.navigate([`app/toc/ext/${content.contentId}`]);
|
|
7611
|
-
// window.open(extUrl, '_blank');
|
|
7612
|
-
// window.open(content.redirectUrl)
|
|
7613
7648
|
}
|
|
7614
7649
|
else {
|
|
7615
7650
|
/** @type {?} */
|
|
@@ -7643,6 +7678,15 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7643
7678
|
clearInterval(this.cbPlanInterval);
|
|
7644
7679
|
}
|
|
7645
7680
|
}
|
|
7681
|
+
/**
|
|
7682
|
+
* @return {?}
|
|
7683
|
+
*/
|
|
7684
|
+
getEnrollmentData() {
|
|
7685
|
+
if (localStorage.getItem('enrollmentMapData')) {
|
|
7686
|
+
this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}');
|
|
7687
|
+
clearInterval(this.enrollInterval);
|
|
7688
|
+
}
|
|
7689
|
+
}
|
|
7646
7690
|
/**
|
|
7647
7691
|
* @param {?} data
|
|
7648
7692
|
* @return {?}
|
|
@@ -7654,14 +7698,13 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7654
7698
|
CardsComponent.decorators = [
|
|
7655
7699
|
{ type: Component, args: [{
|
|
7656
7700
|
selector: 'sb-uic-cards',
|
|
7657
|
-
template: "<div class=\"widget-card-content-new\">\n <ng-container *ngIf=\"widgetData && (((widgetData?.deletedMode || 'none') === 'hide' && !!!isLiveOrMarkForDeletion)\n ? false\n : !((widgetData?.intranetMode || 'none') === 'hide' && !!showIntranetContent))\"\n [ngSwitch]=\"( (widgetData && widgetData?.cardSubType) || 'cardPortraitLib')\">\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'user-card'\" [ngTemplateOutlet]=\"cardUser\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib'\" [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib-skeleton'\" [ngTemplateOutlet]=\"cardLandscapeLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib'\" [ngTemplateOutlet]=\"cardLandscapeLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib-skeleton'\" [ngTemplateOutlet]=\"cardWideLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib'\" [ngTemplateOutlet]=\"cardWideLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2'\" [ngTemplateOutlet]=\"cardWideV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2-skeleton'\" [ngTemplateOutlet]=\"cardWideV2Skeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib'\" [ngTemplateOutlet]=\"cardMdo\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-home-lib'\" [ngTemplateOutlet]=\"cardMdoHome\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib-skeleton'\" [ngTemplateOutlet]=\"cardMdoSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib'\" [ngTemplateOutlet]=\"cardKarmaProgram\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitExtLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib'\" [ngTemplateOutlet]=\"cardPortraitExtLib\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #cardPortraitLibSkeleton>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardPortraitLib>\n <sb-uic-card-portrait \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardLandscapeLibSkeleton>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" \n [cbPlanMapData]=\"cbPlanMapData\" [isCardLoading]=\"true\"></sb-uic-card-landscape>\n</ng-template>\n<ng-template #cardLandscapeLib>\n <sb-uic-card-landscape\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [widgetData]=\"widgetData\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\">\n </sb-uic-card-landscape>\n</ng-template>\n\n<ng-template #cardWideLib>\n <sb-uic-card-wide (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n<ng-template #cardWideLibSkeleton>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n\n<ng-template #cardWideV2Skeleton>\n <sb-uic-card-wide-v2 [widgetData]=\"widgetData\" [isCardLoading]=\"true\" ></sb-uic-card-wide-v2>\n</ng-template>\n<ng-template #cardWideV2>\n <sb-uic-card-wide-v2\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\"\n [widgetData]=\"widgetData\">\n </sb-uic-card-wide-v2>\n</ng-template>\n\n<ng-template #cardUser>\n <sb-uic-card-user [widgetData]=\"widgetData\"></sb-uic-card-user>\n</ng-template>\n<ng-template #cardMdoHome>\n <sb-uic-card-mdo-channel-v1 [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel-v1>\n</ng-template>\n<ng-template #cardMdo>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardMdoSkeleton>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardKarmaProgramSkeleton>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"true\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardKarmaProgram>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"false\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardKarmaProgramV2>\n <!-- <sb-uic-card-karma-programs-v2 [widgetData]=\"widgetData\"><sb-uic-card-karma-programs-v2> -->\n</ng-template>\n\n<!-- cios card -->\n<ng-template #cardPortraitExtLibSkeleton>\n <sb-uic-card-portrait-ext [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait-ext>\n</ng-template>\n<ng-template #cardPortraitExtLib>\n <sb-uic-card-portrait-ext \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait-ext>\n</ng-template>",
|
|
7701
|
+
template: "<div class=\"widget-card-content-new\">\n <ng-container *ngIf=\"widgetData && (((widgetData?.deletedMode || 'none') === 'hide' && !!!isLiveOrMarkForDeletion)\n ? false\n : !((widgetData?.intranetMode || 'none') === 'hide' && !!showIntranetContent))\"\n [ngSwitch]=\"( (widgetData && widgetData?.cardSubType) || 'cardPortraitLib')\">\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'user-card'\" [ngTemplateOutlet]=\"cardUser\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib'\" [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib-skeleton'\" [ngTemplateOutlet]=\"cardLandscapeLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib'\" [ngTemplateOutlet]=\"cardLandscapeLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib-skeleton'\" [ngTemplateOutlet]=\"cardWideLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib'\" [ngTemplateOutlet]=\"cardWideLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2'\" [ngTemplateOutlet]=\"cardWideV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2-skeleton'\" [ngTemplateOutlet]=\"cardWideV2Skeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib'\" [ngTemplateOutlet]=\"cardMdo\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-home-lib'\" [ngTemplateOutlet]=\"cardMdoHome\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib-skeleton'\" [ngTemplateOutlet]=\"cardMdoSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-scheduled-assessment'\" [ngTemplateOutlet]=\"cardScheduledAssessment\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-scheduled-assessment-skeleton'\" [ngTemplateOutlet]=\"cardScheduledAssessmentSkelton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib'\" [ngTemplateOutlet]=\"cardKarmaProgram\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-progress-portrait-lib'\" [ngTemplateOutlet]=\"cardProgressLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-progress-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardProgressLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitExtLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib'\" [ngTemplateOutlet]=\"cardPortraitExtLib\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #cardPortraitLibSkeleton>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardPortraitLib>\n <sb-uic-card-portrait \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardLandscapeLibSkeleton>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" \n [cbPlanMapData]=\"cbPlanMapData\" [isCardLoading]=\"true\"></sb-uic-card-landscape>\n</ng-template>\n<ng-template #cardLandscapeLib>\n <sb-uic-card-landscape\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [widgetData]=\"widgetData\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\">\n </sb-uic-card-landscape>\n</ng-template>\n\n<ng-template #cardWideLib>\n <sb-uic-card-wide (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n<ng-template #cardWideLibSkeleton>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n\n<ng-template #cardWideV2Skeleton>\n <sb-uic-card-wide-v2 [widgetData]=\"widgetData\" [isCardLoading]=\"true\" ></sb-uic-card-wide-v2>\n</ng-template>\n<ng-template #cardWideV2>\n <sb-uic-card-wide-v2\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\"\n [widgetData]=\"widgetData\">\n </sb-uic-card-wide-v2>\n</ng-template>\n\n<ng-template #cardUser>\n <sb-uic-card-user [widgetData]=\"widgetData\"></sb-uic-card-user>\n</ng-template>\n<ng-template #cardMdoHome>\n <sb-uic-card-mdo-channel-v1 [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel-v1>\n</ng-template>\n<ng-template #cardMdo>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardMdoSkeleton>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardKarmaProgramSkeleton>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"true\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardKarmaProgram>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"false\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardScheduledAssessmentSkelton>\n <sb-uic-card-assessment [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-assessment>\n</ng-template>\n<ng-template #cardScheduledAssessment>\n <sb-uic-card-assessment [widgetData]=\"widgetData\" (contentData)=\"getRedirectUrlData($event)\" [isCardLoading]=\"false\" [enrollmentMapData]=\"enrollmentMapData\"></sb-uic-card-assessment>\n</ng-template>\n<ng-template #cardProgressLibSkeleton>\n <sb-uic-card-progress-portrait-lib \n [isCardLoading]=\"true\" [widgetData]=\"widgetData\"></sb-uic-card-progress-portrait-lib>\n</ng-template>\n<ng-template #cardProgressLib>\n <sb-uic-card-progress-portrait-lib \n [isCardLoading]=\"false\" (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-progress-portrait-lib>\n</ng-template>\n<ng-template #cardKarmaProgramV2>\n <!-- <sb-uic-card-karma-programs-v2 [widgetData]=\"widgetData\"><sb-uic-card-karma-programs-v2> -->\n</ng-template>\n\n<!-- cios card -->\n<ng-template #cardPortraitExtLibSkeleton>\n <sb-uic-card-portrait-ext [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait-ext>\n</ng-template>\n<ng-template #cardPortraitExtLib>\n <sb-uic-card-portrait-ext \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait-ext>\n</ng-template>",
|
|
7658
7702
|
styles: [""]
|
|
7659
7703
|
}] }
|
|
7660
7704
|
];
|
|
7661
7705
|
/** @nocollapse */
|
|
7662
7706
|
CardsComponent.ctorParameters = () => [
|
|
7663
7707
|
{ type: UtilityService },
|
|
7664
|
-
{ type: ConfigurationsService$1 },
|
|
7665
7708
|
{ type: WidgetContentService },
|
|
7666
7709
|
{ type: Router }
|
|
7667
7710
|
];
|
|
@@ -7680,16 +7723,15 @@ if (false) {
|
|
|
7680
7723
|
CardsComponent.prototype.cbPlanMapData;
|
|
7681
7724
|
/** @type {?} */
|
|
7682
7725
|
CardsComponent.prototype.cbPlanInterval;
|
|
7726
|
+
/** @type {?} */
|
|
7727
|
+
CardsComponent.prototype.enrollInterval;
|
|
7728
|
+
/** @type {?} */
|
|
7729
|
+
CardsComponent.prototype.enrollmentMapData;
|
|
7683
7730
|
/**
|
|
7684
7731
|
* @type {?}
|
|
7685
7732
|
* @private
|
|
7686
7733
|
*/
|
|
7687
7734
|
CardsComponent.prototype.utilitySvc;
|
|
7688
|
-
/**
|
|
7689
|
-
* @type {?}
|
|
7690
|
-
* @private
|
|
7691
|
-
*/
|
|
7692
|
-
CardsComponent.prototype.configSvc;
|
|
7693
7735
|
/**
|
|
7694
7736
|
* @type {?}
|
|
7695
7737
|
* @private
|
|
@@ -7943,6 +7985,49 @@ PipePublicURLModule.decorators = [
|
|
|
7943
7985
|
},] }
|
|
7944
7986
|
];
|
|
7945
7987
|
|
|
7988
|
+
/**
|
|
7989
|
+
* @fileoverview added by tsickle
|
|
7990
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7991
|
+
*/
|
|
7992
|
+
class ObjectToArrayPipe {
|
|
7993
|
+
// transform(value: any, ...args: any[]): any[] {
|
|
7994
|
+
// console.log("function called")
|
|
7995
|
+
// if (!value) {
|
|
7996
|
+
// return [];
|
|
7997
|
+
// }
|
|
7998
|
+
// console.log(Object.keys(value).map(key => ({ key, value: value[key] })), "Object.keys(value).map(key => ({ key, value: value[key] }))==----------")
|
|
7999
|
+
// return Object.keys(value).map(key => ({ key, value: value[key] }));
|
|
8000
|
+
// }
|
|
8001
|
+
/**
|
|
8002
|
+
* @param {...?} args
|
|
8003
|
+
* @return {?}
|
|
8004
|
+
*/
|
|
8005
|
+
transform(...args) {
|
|
8006
|
+
return args;
|
|
8007
|
+
}
|
|
8008
|
+
}
|
|
8009
|
+
ObjectToArrayPipe.decorators = [
|
|
8010
|
+
{ type: Pipe, args: [{
|
|
8011
|
+
name: 'objectToArray'
|
|
8012
|
+
},] }
|
|
8013
|
+
];
|
|
8014
|
+
|
|
8015
|
+
/**
|
|
8016
|
+
* @fileoverview added by tsickle
|
|
8017
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8018
|
+
*/
|
|
8019
|
+
class ObjectToArrayPipeModule {
|
|
8020
|
+
}
|
|
8021
|
+
ObjectToArrayPipeModule.decorators = [
|
|
8022
|
+
{ type: NgModule, args: [{
|
|
8023
|
+
declarations: [ObjectToArrayPipe],
|
|
8024
|
+
imports: [
|
|
8025
|
+
CommonModule,
|
|
8026
|
+
],
|
|
8027
|
+
exports: [ObjectToArrayPipe],
|
|
8028
|
+
},] }
|
|
8029
|
+
];
|
|
8030
|
+
|
|
7946
8031
|
/**
|
|
7947
8032
|
* @fileoverview added by tsickle
|
|
7948
8033
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -8088,7 +8173,7 @@ DefaultThumbnailModule.decorators = [
|
|
|
8088
8173
|
class PipeDurationTransformPipe {
|
|
8089
8174
|
/**
|
|
8090
8175
|
* @param {?} data
|
|
8091
|
-
* @param {
|
|
8176
|
+
* @param {?=} type
|
|
8092
8177
|
* @return {?}
|
|
8093
8178
|
*/
|
|
8094
8179
|
transform(data, type) {
|
|
@@ -9514,37 +9599,24 @@ if (false) {
|
|
|
9514
9599
|
* @fileoverview added by tsickle
|
|
9515
9600
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9516
9601
|
*/
|
|
9517
|
-
|
|
9602
|
+
// @Directive({
|
|
9603
|
+
// selector: '[callFunctionOnInit]'
|
|
9604
|
+
// })
|
|
9605
|
+
class CardAssessmentComponent {
|
|
9518
9606
|
/**
|
|
9519
|
-
* @param {?} events
|
|
9520
|
-
* @param {?} translate
|
|
9521
|
-
* @param {?} langtranslations
|
|
9522
9607
|
* @param {?} configSvc
|
|
9523
9608
|
* @param {?} contSvc
|
|
9524
|
-
* @param {?} router
|
|
9525
9609
|
*/
|
|
9526
|
-
constructor(
|
|
9527
|
-
this.events = events;
|
|
9528
|
-
this.translate = translate;
|
|
9529
|
-
this.langtranslations = langtranslations;
|
|
9610
|
+
constructor(configSvc, contSvc) {
|
|
9530
9611
|
this.configSvc = configSvc;
|
|
9531
9612
|
this.contSvc = contSvc;
|
|
9532
|
-
this.
|
|
9533
|
-
this.
|
|
9534
|
-
this.
|
|
9535
|
-
this.
|
|
9536
|
-
this.
|
|
9537
|
-
this.
|
|
9538
|
-
|
|
9539
|
-
*/
|
|
9540
|
-
() => {
|
|
9541
|
-
if (localStorage.getItem('websiteLanguage')) {
|
|
9542
|
-
this.translate.setDefaultLang('en');
|
|
9543
|
-
/** @type {?} */
|
|
9544
|
-
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
9545
|
-
this.translate.use(lang);
|
|
9546
|
-
}
|
|
9547
|
-
}));
|
|
9613
|
+
this.contentData = new EventEmitter();
|
|
9614
|
+
this.isCardLoading = false;
|
|
9615
|
+
this.stripData = [];
|
|
9616
|
+
this.enrollList = [];
|
|
9617
|
+
this.activeResource = [];
|
|
9618
|
+
this.daysRemaining = 0;
|
|
9619
|
+
this.daysPending = false;
|
|
9548
9620
|
}
|
|
9549
9621
|
/**
|
|
9550
9622
|
* @return {?}
|
|
@@ -9554,8 +9626,7 @@ class CardMdoChannelV1Component {
|
|
|
9554
9626
|
const instanceConfig = this.configSvc.instanceConfig;
|
|
9555
9627
|
if (instanceConfig) {
|
|
9556
9628
|
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
9557
|
-
this.
|
|
9558
|
-
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
9629
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
9559
9630
|
}
|
|
9560
9631
|
else {
|
|
9561
9632
|
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
@@ -9563,110 +9634,963 @@ class CardMdoChannelV1Component {
|
|
|
9563
9634
|
}
|
|
9564
9635
|
}
|
|
9565
9636
|
/**
|
|
9566
|
-
* @param {?}
|
|
9637
|
+
* @param {?} startDate
|
|
9567
9638
|
* @return {?}
|
|
9568
9639
|
*/
|
|
9569
|
-
|
|
9570
|
-
this.
|
|
9571
|
-
|
|
9572
|
-
|
|
9640
|
+
updateStartDate(startDate) {
|
|
9641
|
+
this.startDate = startDate;
|
|
9642
|
+
this.startCountdown(this.startDate);
|
|
9643
|
+
}
|
|
9644
|
+
/**
|
|
9645
|
+
* @param {?} date
|
|
9646
|
+
* @return {?}
|
|
9647
|
+
*/
|
|
9648
|
+
startCountdown(date) {
|
|
9649
|
+
// Update the countdown immediately on start
|
|
9650
|
+
this.updateCountdown(date);
|
|
9651
|
+
// Update the countdown every second
|
|
9652
|
+
this.intervalId = setInterval((/**
|
|
9653
|
+
* @return {?}
|
|
9654
|
+
*/
|
|
9655
|
+
() => {
|
|
9656
|
+
this.updateCountdown(date);
|
|
9657
|
+
}), 1000);
|
|
9658
|
+
}
|
|
9659
|
+
// Method to update the countdown values
|
|
9660
|
+
/**
|
|
9661
|
+
* @param {?} targetDate
|
|
9662
|
+
* @return {?}
|
|
9663
|
+
*/
|
|
9664
|
+
updateCountdown(targetDate) {
|
|
9665
|
+
/** @type {?} */
|
|
9666
|
+
const now = new Date().getTime();
|
|
9667
|
+
// Current time in milliseconds
|
|
9668
|
+
/** @type {?} */
|
|
9669
|
+
const targetTime = new Date(targetDate).getTime();
|
|
9670
|
+
/** @type {?} */
|
|
9671
|
+
const distance = targetTime - now;
|
|
9672
|
+
if (distance > 0) {
|
|
9673
|
+
this.daysRemaining = Math.ceil(distance / (1000 * 60 * 60 * 24));
|
|
9674
|
+
this.daysPending = true;
|
|
9675
|
+
}
|
|
9676
|
+
else {
|
|
9677
|
+
this.daysRemaining = 0;
|
|
9678
|
+
this.daysPending = false;
|
|
9679
|
+
this.clearTimer();
|
|
9573
9680
|
}
|
|
9574
|
-
this.contSvc.changeTelemetryData(contentData);
|
|
9575
9681
|
}
|
|
9682
|
+
// Method to clear the interval
|
|
9576
9683
|
/**
|
|
9577
|
-
* @param {?} channeldata
|
|
9578
9684
|
* @return {?}
|
|
9579
9685
|
*/
|
|
9580
|
-
|
|
9581
|
-
this.
|
|
9686
|
+
clearTimer() {
|
|
9687
|
+
clearInterval(this.intervalId);
|
|
9582
9688
|
}
|
|
9583
9689
|
/**
|
|
9584
|
-
* @param {?} content
|
|
9585
9690
|
* @return {?}
|
|
9586
9691
|
*/
|
|
9587
|
-
|
|
9588
|
-
this.
|
|
9692
|
+
ngOnDestroy() {
|
|
9693
|
+
this.clearTimer();
|
|
9694
|
+
}
|
|
9695
|
+
/**
|
|
9696
|
+
* @param {?} contentData
|
|
9697
|
+
* @return {?}
|
|
9698
|
+
*/
|
|
9699
|
+
getRedirectUrlData(contentData) {
|
|
9700
|
+
// for telemetry
|
|
9701
|
+
if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
|
|
9702
|
+
contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
|
|
9703
|
+
}
|
|
9704
|
+
this.contSvc.changeTelemetryData(contentData);
|
|
9705
|
+
// for redirection
|
|
9706
|
+
this.contentData.emit(contentData);
|
|
9589
9707
|
}
|
|
9590
9708
|
}
|
|
9591
|
-
|
|
9709
|
+
CardAssessmentComponent.decorators = [
|
|
9592
9710
|
{ type: Component, args: [{
|
|
9593
|
-
selector: 'sb-uic-card-
|
|
9594
|
-
template: "<mat-card class=\"
|
|
9595
|
-
styles: [".card-
|
|
9711
|
+
selector: 'sb-uic-card-assessment',
|
|
9712
|
+
template: "<ng-container *ngIf=\"!isCardLoading\">\n<ng-container >\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t<a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n\t\t<div class=\"display-contents\">\n\t\t\t<ng-container *ngIf=\"widgetData\">\n\t\t\t\t<mat-card-content>\n\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<img mat-card-image class=\"margin-remove assess-img\" [src]=\"widgetData?.content?.posterImage | pipePublicURL\"\n\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\">\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<ng-template #defaultImg>\n\t\t\t\t\t\t\t\t\t\t<img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"card-wide-img ws-mat-primary-lite-background margin-remove assess-img\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\" />\n\t\t\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t<div class=\"flex title-text mat-subheading-1\">\n\t\t\t\t\t\t\t\t\t{{ widgetData?.content?.name }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-s font-normal mat-caption sub-title-text\">\n\t\t\t\t\t\t\t\t\t<div class=\"course_logo_box\">\n\t\t\t\t\t\t\t\t\t\t<img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\"\n\t\t\t\t\t\t\t\t\t\t\t[wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span class=\"sub-title-text\">\n\t\t\t\t\t\t\t\t\t\t{{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n\t\t\t\t\t\t\t\t\t\twidgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"start-span\">Assessment starts in </span>\n\t\t\t\t\t\t<mat-card-footer class=\"assessment-card-footer padding-m\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"daysPending\"> {{ startCountdown(widgetData?.content?.batch?.startDate) }}<div id=\"demo\"></div> </span>\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"!daysPending\" class=\"start-btn\"> Start Assessment\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<span class=\"time-span flex items-center justify-center\">{{widgetData?.content?.batch?.startDate | date: 'd MMM, y' }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t</div>\n\t\t\t\t</mat-card-content>\n\t\t\t</ng-container>\n\t\t</div>\n\t</a>\n</mat-card>\n</ng-container>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"isCardLoading\">\n\t<ng-container [ngTemplateOutlet]=\"skeltonLoader\"></ng-container>\n</ng-container>\n\n<ng-template #skeltonLoader>\n\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t\t<a>\n\t\t\t<div class=\"display-contents\">\n\t\t\t\t<ng-container>\n\t\t\t\t\t<mat-card-content>\n\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t\t<ng-container>\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'300px'\" [height]=\"'155px'\"\n\t\t\t\t\t\t\t\t\t\t\t></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-l font-normal\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <span class=\"text-center\"><sb-uic-skeleton-loader [width]=\"'90px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader> </span> -->\n\t\t\t\t\t\t\t<mat-card-footer\n\t\t\t\t\t\t\t\tclass=\"assessment-card-footer col-row padding-l\">\n\t\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</mat-card-content>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</a>\n\t</mat-card>\n</ng-template>",
|
|
9713
|
+
styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:335px;margin-top:16px}.image-container{width:155px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.title-container{margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;margin-right:4px;box-shadow:0 2px 1px -1px rgb(0 0 0 / 20%),0 1px 1px 0 rgb(0 0 0 / 14%),0 1px 3px 0 rgb(0 0 0 / 12%)}.course_logo_box img.source-icon{height:28px;width:28px;padding:5px;display:inline-block}.mat-card-footer{margin:0!important}.time-span{padding:2px 8px;color:#fff;border-radius:4px;text-align:center;font-size:12px;background-color:green}span.start-span{border-radius:50px;border:2px solid rgba(0,0,0,.08);font-size:12px;text-align:center;position:absolute;bottom:0;width:140px;left:50%;margin-left:-70px;background-color:#fff;margin-bottom:62px;margin-right:8px}.assessment-card-footer{background:rgba(239,149,30,.16)!important;text-align:center;box-sizing:border-box}.start-btn{background:#1b4ca1!important;color:#fff;font-size:14px;font-weight:600;border-radius:25px;text-align:center;padding:4px 12px}.dots-container{display:none}"]
|
|
9596
9714
|
}] }
|
|
9597
9715
|
];
|
|
9598
9716
|
/** @nocollapse */
|
|
9599
|
-
|
|
9600
|
-
{ type: EventService },
|
|
9601
|
-
{ type: TranslateService },
|
|
9602
|
-
{ type: MultilingualTranslationsService$1 },
|
|
9717
|
+
CardAssessmentComponent.ctorParameters = () => [
|
|
9603
9718
|
{ type: ConfigurationsService$1 },
|
|
9604
|
-
{ type: WidgetContentService }
|
|
9605
|
-
{ type: Router }
|
|
9719
|
+
{ type: WidgetContentService }
|
|
9606
9720
|
];
|
|
9607
|
-
|
|
9721
|
+
CardAssessmentComponent.propDecorators = {
|
|
9608
9722
|
widgetData: [{ type: Input }],
|
|
9609
|
-
|
|
9610
|
-
|
|
9723
|
+
enrollmentMapData: [{ type: Input }],
|
|
9724
|
+
contentData: [{ type: Output }],
|
|
9725
|
+
isCardLoading: [{ type: Input }]
|
|
9611
9726
|
};
|
|
9612
9727
|
if (false) {
|
|
9613
9728
|
/** @type {?} */
|
|
9614
|
-
|
|
9729
|
+
CardAssessmentComponent.prototype.widgetData;
|
|
9615
9730
|
/** @type {?} */
|
|
9616
|
-
|
|
9731
|
+
CardAssessmentComponent.prototype.enrollmentMapData;
|
|
9617
9732
|
/** @type {?} */
|
|
9618
|
-
|
|
9733
|
+
CardAssessmentComponent.prototype.contentData;
|
|
9619
9734
|
/** @type {?} */
|
|
9620
|
-
|
|
9735
|
+
CardAssessmentComponent.prototype.isCardLoading;
|
|
9621
9736
|
/** @type {?} */
|
|
9622
|
-
|
|
9737
|
+
CardAssessmentComponent.prototype.stripData;
|
|
9623
9738
|
/** @type {?} */
|
|
9624
|
-
|
|
9739
|
+
CardAssessmentComponent.prototype.enrollList;
|
|
9625
9740
|
/** @type {?} */
|
|
9626
|
-
|
|
9741
|
+
CardAssessmentComponent.prototype.activeResource;
|
|
9627
9742
|
/** @type {?} */
|
|
9628
|
-
|
|
9743
|
+
CardAssessmentComponent.prototype.defaultThumbnail;
|
|
9744
|
+
/** @type {?} */
|
|
9745
|
+
CardAssessmentComponent.prototype.defaultSLogo;
|
|
9746
|
+
/** @type {?} */
|
|
9747
|
+
CardAssessmentComponent.prototype.daysRemaining;
|
|
9748
|
+
/** @type {?} */
|
|
9749
|
+
CardAssessmentComponent.prototype.startDate;
|
|
9750
|
+
/** @type {?} */
|
|
9751
|
+
CardAssessmentComponent.prototype.daysPending;
|
|
9629
9752
|
/**
|
|
9630
9753
|
* @type {?}
|
|
9631
9754
|
* @private
|
|
9632
9755
|
*/
|
|
9633
|
-
|
|
9756
|
+
CardAssessmentComponent.prototype.intervalId;
|
|
9634
9757
|
/**
|
|
9635
9758
|
* @type {?}
|
|
9636
9759
|
* @private
|
|
9637
9760
|
*/
|
|
9638
|
-
|
|
9761
|
+
CardAssessmentComponent.prototype.configSvc;
|
|
9639
9762
|
/**
|
|
9640
9763
|
* @type {?}
|
|
9641
9764
|
* @private
|
|
9642
9765
|
*/
|
|
9643
|
-
|
|
9766
|
+
CardAssessmentComponent.prototype.contSvc;
|
|
9767
|
+
}
|
|
9768
|
+
|
|
9769
|
+
/**
|
|
9770
|
+
* @fileoverview added by tsickle
|
|
9771
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9772
|
+
*/
|
|
9773
|
+
const ɵ0$3 = /**
|
|
9774
|
+
* @param {?} id
|
|
9775
|
+
* @return {?}
|
|
9776
|
+
*/
|
|
9777
|
+
(id) => `certreg/v2/certs/download/${id}`, ɵ1$2 = /**
|
|
9778
|
+
* @param {?} id
|
|
9779
|
+
* @return {?}
|
|
9780
|
+
*/
|
|
9781
|
+
(id) => `apis/protected/v8/cohorts/course/batch/cert/download/${id}`;
|
|
9782
|
+
/** @type {?} */
|
|
9783
|
+
const urls = {
|
|
9784
|
+
DOWNLOAD_CERTIFICATE: (ɵ0$3),
|
|
9785
|
+
DOWNLOAD_CERTIFICATE_v2: (ɵ1$2),
|
|
9786
|
+
};
|
|
9787
|
+
class CertificateService {
|
|
9644
9788
|
/**
|
|
9645
|
-
* @
|
|
9646
|
-
* @private
|
|
9789
|
+
* @param {?} http
|
|
9647
9790
|
*/
|
|
9648
|
-
|
|
9791
|
+
constructor(http) {
|
|
9792
|
+
this.http = http;
|
|
9793
|
+
}
|
|
9794
|
+
/**
|
|
9795
|
+
* @param {?} id
|
|
9796
|
+
* @return {?}
|
|
9797
|
+
*/
|
|
9798
|
+
downloadCertificate(id) {
|
|
9799
|
+
return this.http.get(urls.DOWNLOAD_CERTIFICATE(id));
|
|
9800
|
+
}
|
|
9801
|
+
/**
|
|
9802
|
+
* @param {?} id
|
|
9803
|
+
* @return {?}
|
|
9804
|
+
*/
|
|
9805
|
+
downloadCertificate_v2(id) {
|
|
9806
|
+
return this.http.get(urls.DOWNLOAD_CERTIFICATE_v2(id));
|
|
9807
|
+
}
|
|
9808
|
+
}
|
|
9809
|
+
CertificateService.decorators = [
|
|
9810
|
+
{ type: Injectable, args: [{
|
|
9811
|
+
providedIn: 'root'
|
|
9812
|
+
},] }
|
|
9813
|
+
];
|
|
9814
|
+
/** @nocollapse */
|
|
9815
|
+
CertificateService.ctorParameters = () => [
|
|
9816
|
+
{ type: HttpClient }
|
|
9817
|
+
];
|
|
9818
|
+
/** @nocollapse */ CertificateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function CertificateService_Factory() { return new CertificateService(ɵɵinject(HttpClient)); }, token: CertificateService, providedIn: "root" });
|
|
9819
|
+
if (false) {
|
|
9649
9820
|
/**
|
|
9650
9821
|
* @type {?}
|
|
9651
9822
|
* @private
|
|
9652
9823
|
*/
|
|
9653
|
-
|
|
9654
|
-
/** @type {?} */
|
|
9655
|
-
CardMdoChannelV1Component.prototype.router;
|
|
9824
|
+
CertificateService.prototype.http;
|
|
9656
9825
|
}
|
|
9657
9826
|
|
|
9658
9827
|
/**
|
|
9659
9828
|
* @fileoverview added by tsickle
|
|
9660
9829
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9661
9830
|
*/
|
|
9662
|
-
class
|
|
9663
|
-
|
|
9664
|
-
|
|
9665
|
-
|
|
9666
|
-
|
|
9667
|
-
|
|
9668
|
-
|
|
9669
|
-
|
|
9831
|
+
class CertificateDialogComponent {
|
|
9832
|
+
/**
|
|
9833
|
+
* @param {?} environment
|
|
9834
|
+
* @param {?} events
|
|
9835
|
+
* @param {?} translate
|
|
9836
|
+
* @param {?} langtranslations
|
|
9837
|
+
* @param {?} dialogRef
|
|
9838
|
+
* @param {?} data
|
|
9839
|
+
*/
|
|
9840
|
+
constructor(environment, events, translate, langtranslations, dialogRef, data) {
|
|
9841
|
+
this.events = events;
|
|
9842
|
+
this.translate = translate;
|
|
9843
|
+
this.langtranslations = langtranslations;
|
|
9844
|
+
this.dialogRef = dialogRef;
|
|
9845
|
+
this.data = data;
|
|
9846
|
+
this.navUrl = '';
|
|
9847
|
+
this.environment = environment;
|
|
9848
|
+
this.langtranslations.languageSelectedObservable.subscribe((/**
|
|
9849
|
+
* @return {?}
|
|
9850
|
+
*/
|
|
9851
|
+
() => {
|
|
9852
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
9853
|
+
this.translate.setDefaultLang('en');
|
|
9854
|
+
/** @type {?} */
|
|
9855
|
+
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
9856
|
+
this.translate.use(lang);
|
|
9857
|
+
}
|
|
9858
|
+
}));
|
|
9859
|
+
}
|
|
9860
|
+
/**
|
|
9861
|
+
* @return {?}
|
|
9862
|
+
*/
|
|
9863
|
+
ngOnInit() {
|
|
9864
|
+
this.url = this.data.cet;
|
|
9865
|
+
// tslint:disable-next-line:max-line-length
|
|
9866
|
+
this.navUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${this.environment.contentHost}/apis/public/v8/cert/download/${this.data.certId}`;
|
|
9867
|
+
}
|
|
9868
|
+
/**
|
|
9869
|
+
* @return {?}
|
|
9870
|
+
*/
|
|
9871
|
+
downloadCert() {
|
|
9872
|
+
this.raiseIntreactTelemetry('svg');
|
|
9873
|
+
/** @type {?} */
|
|
9874
|
+
const a = document.createElement('a');
|
|
9875
|
+
a.href = this.data.cet;
|
|
9876
|
+
a.download = 'Certificate';
|
|
9877
|
+
document.body.appendChild(a);
|
|
9878
|
+
a.style = 'display: none';
|
|
9879
|
+
a.click();
|
|
9880
|
+
a.remove();
|
|
9881
|
+
}
|
|
9882
|
+
/**
|
|
9883
|
+
* @return {?}
|
|
9884
|
+
*/
|
|
9885
|
+
downloadCertPng() {
|
|
9886
|
+
this.raiseIntreactTelemetry('png');
|
|
9887
|
+
/** @type {?} */
|
|
9888
|
+
const uriData = this.data.cet;
|
|
9889
|
+
/** @type {?} */
|
|
9890
|
+
const img = new Image();
|
|
9891
|
+
img.src = uriData;
|
|
9892
|
+
img.width = 1820;
|
|
9893
|
+
img.height = 1000;
|
|
9894
|
+
img.onload = (/**
|
|
9895
|
+
* @return {?}
|
|
9896
|
+
*/
|
|
9897
|
+
() => {
|
|
9898
|
+
/** @type {?} */
|
|
9899
|
+
const canvas = document.createElement('canvas');
|
|
9900
|
+
[canvas.width, canvas.height] = [img.width, img.height];
|
|
9901
|
+
/** @type {?} */
|
|
9902
|
+
const ctx = canvas.getContext('2d');
|
|
9903
|
+
if (ctx) {
|
|
9904
|
+
// ctx.imageSmoothingEnabled = true
|
|
9905
|
+
ctx.drawImage(img, 0, 0, img.width, img.height);
|
|
9906
|
+
/** @type {?} */
|
|
9907
|
+
const a = document.createElement('a');
|
|
9908
|
+
/** @type {?} */
|
|
9909
|
+
const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
|
|
9910
|
+
;
|
|
9911
|
+
a.href = canvas.toDataURL('image/png', quality);
|
|
9912
|
+
a.download = 'Certificate';
|
|
9913
|
+
a.append(canvas);
|
|
9914
|
+
a.click();
|
|
9915
|
+
a.remove();
|
|
9916
|
+
}
|
|
9917
|
+
});
|
|
9918
|
+
}
|
|
9919
|
+
/**
|
|
9920
|
+
* @return {?}
|
|
9921
|
+
*/
|
|
9922
|
+
downloadCertPdf() {
|
|
9923
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
9924
|
+
this.raiseIntreactTelemetry('pdf');
|
|
9925
|
+
/** @type {?} */
|
|
9926
|
+
const uriData = this.data.cet;
|
|
9927
|
+
/** @type {?} */
|
|
9928
|
+
const img = new Image();
|
|
9929
|
+
img.src = uriData;
|
|
9930
|
+
img.width = 1820;
|
|
9931
|
+
img.height = 1000;
|
|
9932
|
+
img.onload = (/**
|
|
9933
|
+
* @return {?}
|
|
9934
|
+
*/
|
|
9935
|
+
() => {
|
|
9936
|
+
/** @type {?} */
|
|
9937
|
+
const canvas = document.createElement('canvas');
|
|
9938
|
+
[canvas.width, canvas.height] = [img.width, img.height];
|
|
9939
|
+
/** @type {?} */
|
|
9940
|
+
const ctx = canvas.getContext('2d');
|
|
9941
|
+
if (ctx) {
|
|
9942
|
+
ctx.drawImage(img, 0, 0, img.width, img.height);
|
|
9943
|
+
/** @type {?} */
|
|
9944
|
+
const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
|
|
9945
|
+
;
|
|
9946
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
|
|
9947
|
+
/** @type {?} */
|
|
9948
|
+
const dataImg = canvas.toDataURL('application/pdf', quality);
|
|
9949
|
+
/** @type {?} */
|
|
9950
|
+
const pdf = new jsPDF('landscape', 'px', 'a4')
|
|
9951
|
+
// add the image to the PDF
|
|
9952
|
+
;
|
|
9953
|
+
// add the image to the PDF
|
|
9954
|
+
pdf.addImage(dataImg, 10, 20, 600, 350);
|
|
9955
|
+
// download the PDF
|
|
9956
|
+
pdf.save('Certificate.pdf');
|
|
9957
|
+
}
|
|
9958
|
+
});
|
|
9959
|
+
});
|
|
9960
|
+
}
|
|
9961
|
+
/**
|
|
9962
|
+
* @return {?}
|
|
9963
|
+
*/
|
|
9964
|
+
shareCert() {
|
|
9965
|
+
this.raiseShareIntreactTelemetry('share');
|
|
9966
|
+
return window.open(this.navUrl, '_blank');
|
|
9967
|
+
}
|
|
9968
|
+
/**
|
|
9969
|
+
* @param {?=} type
|
|
9970
|
+
* @param {?=} action
|
|
9971
|
+
* @return {?}
|
|
9972
|
+
*/
|
|
9973
|
+
raiseShareIntreactTelemetry(type, action) {
|
|
9974
|
+
this.events.raiseInteractTelemetry({
|
|
9975
|
+
type: WsEvents.EnumInteractTypes.CLICK,
|
|
9976
|
+
id: `${type}-${WsEvents.EnumInteractSubTypes.CERTIFICATE}`,
|
|
9977
|
+
subType: action && action,
|
|
9978
|
+
}, {
|
|
9979
|
+
id: this.data.certId,
|
|
9980
|
+
// id of the certificate
|
|
9981
|
+
type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
|
|
9982
|
+
});
|
|
9983
|
+
}
|
|
9984
|
+
/**
|
|
9985
|
+
* @param {?=} action
|
|
9986
|
+
* @return {?}
|
|
9987
|
+
*/
|
|
9988
|
+
raiseIntreactTelemetry(action) {
|
|
9989
|
+
this.events.raiseInteractTelemetry({
|
|
9990
|
+
type: WsEvents.EnumInteractTypes.CLICK,
|
|
9991
|
+
id: 'download-certificate',
|
|
9992
|
+
subType: action && action,
|
|
9993
|
+
}, {
|
|
9994
|
+
id: this.data.certId,
|
|
9995
|
+
// id of the certificate
|
|
9996
|
+
type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
|
|
9997
|
+
});
|
|
9998
|
+
}
|
|
9999
|
+
}
|
|
10000
|
+
CertificateDialogComponent.decorators = [
|
|
10001
|
+
{ type: Component, args: [{
|
|
10002
|
+
selector: 'sb-uic-certificate-dialog',
|
|
10003
|
+
template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n",
|
|
10004
|
+
/* tslint:disable */
|
|
10005
|
+
host: { class: 'certificate-inner-dialog-panel' },
|
|
10006
|
+
styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:rgba(0,0,0,.6);font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width:1279px){.certificate-banner-image{width:100%;height:auto;flex:1}.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:50%!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid #1b4ca1;color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}"]
|
|
10007
|
+
}] }
|
|
10008
|
+
];
|
|
10009
|
+
/** @nocollapse */
|
|
10010
|
+
CertificateDialogComponent.ctorParameters = () => [
|
|
10011
|
+
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
|
|
10012
|
+
{ type: EventService },
|
|
10013
|
+
{ type: TranslateService },
|
|
10014
|
+
{ type: MultilingualTranslationsService$1 },
|
|
10015
|
+
{ type: MatDialogRef },
|
|
10016
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
10017
|
+
];
|
|
10018
|
+
if (false) {
|
|
10019
|
+
/** @type {?} */
|
|
10020
|
+
CertificateDialogComponent.prototype.url;
|
|
10021
|
+
/** @type {?} */
|
|
10022
|
+
CertificateDialogComponent.prototype.navUrl;
|
|
10023
|
+
/** @type {?} */
|
|
10024
|
+
CertificateDialogComponent.prototype.environment;
|
|
10025
|
+
/**
|
|
10026
|
+
* @type {?}
|
|
10027
|
+
* @private
|
|
10028
|
+
*/
|
|
10029
|
+
CertificateDialogComponent.prototype.events;
|
|
10030
|
+
/**
|
|
10031
|
+
* @type {?}
|
|
10032
|
+
* @private
|
|
10033
|
+
*/
|
|
10034
|
+
CertificateDialogComponent.prototype.translate;
|
|
10035
|
+
/**
|
|
10036
|
+
* @type {?}
|
|
10037
|
+
* @private
|
|
10038
|
+
*/
|
|
10039
|
+
CertificateDialogComponent.prototype.langtranslations;
|
|
10040
|
+
/** @type {?} */
|
|
10041
|
+
CertificateDialogComponent.prototype.dialogRef;
|
|
10042
|
+
/** @type {?} */
|
|
10043
|
+
CertificateDialogComponent.prototype.data;
|
|
10044
|
+
}
|
|
10045
|
+
|
|
10046
|
+
/**
|
|
10047
|
+
* @fileoverview added by tsickle
|
|
10048
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10049
|
+
*/
|
|
10050
|
+
class CardProgressPortraitLibComponent {
|
|
10051
|
+
/**
|
|
10052
|
+
* @param {?} snackBar
|
|
10053
|
+
* @param {?} translate
|
|
10054
|
+
* @param {?} events
|
|
10055
|
+
* @param {?} langtranslations
|
|
10056
|
+
* @param {?} configSvc
|
|
10057
|
+
* @param {?} contSvc
|
|
10058
|
+
* @param {?} certificateService
|
|
10059
|
+
* @param {?} dialog
|
|
10060
|
+
*/
|
|
10061
|
+
constructor(snackBar, translate, events, langtranslations, configSvc, contSvc, certificateService, dialog) {
|
|
10062
|
+
this.snackBar = snackBar;
|
|
10063
|
+
this.translate = translate;
|
|
10064
|
+
this.events = events;
|
|
10065
|
+
this.langtranslations = langtranslations;
|
|
10066
|
+
this.configSvc = configSvc;
|
|
10067
|
+
this.contSvc = contSvc;
|
|
10068
|
+
this.certificateService = certificateService;
|
|
10069
|
+
this.dialog = dialog;
|
|
10070
|
+
this.isCardLoading = false;
|
|
10071
|
+
this.contentData = new EventEmitter();
|
|
10072
|
+
this.isCardFlipped = false;
|
|
10073
|
+
this.acbpConstants = NsCardContent$1.ACBPConst;
|
|
10074
|
+
this.showFlip = false;
|
|
10075
|
+
this.widgetType = 'df';
|
|
10076
|
+
this.widgetSubType = 'sdf';
|
|
10077
|
+
this.downloadCertificateLoading = false;
|
|
10078
|
+
this.langtranslations.languageSelectedObservable.subscribe((/**
|
|
10079
|
+
* @return {?}
|
|
10080
|
+
*/
|
|
10081
|
+
() => {
|
|
10082
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
10083
|
+
this.translate.setDefaultLang('en');
|
|
10084
|
+
/** @type {?} */
|
|
10085
|
+
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
10086
|
+
this.translate.use(lang);
|
|
10087
|
+
}
|
|
10088
|
+
}));
|
|
10089
|
+
}
|
|
10090
|
+
/**
|
|
10091
|
+
* @return {?}
|
|
10092
|
+
*/
|
|
10093
|
+
ngOnInit() {
|
|
10094
|
+
/** @type {?} */
|
|
10095
|
+
const instanceConfig = this.configSvc.instanceConfig;
|
|
10096
|
+
if (instanceConfig) {
|
|
10097
|
+
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
10098
|
+
this.sourceLogos = instanceConfig.sources;
|
|
10099
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
10100
|
+
}
|
|
10101
|
+
else {
|
|
10102
|
+
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
10103
|
+
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
10104
|
+
}
|
|
10105
|
+
}
|
|
10106
|
+
/**
|
|
10107
|
+
* @return {?}
|
|
10108
|
+
*/
|
|
10109
|
+
showSnackbar() {
|
|
10110
|
+
if (this.showIntranetContent) {
|
|
10111
|
+
this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 });
|
|
10112
|
+
}
|
|
10113
|
+
else if (!this.isLiveOrMarkForDeletion) {
|
|
10114
|
+
this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 });
|
|
10115
|
+
}
|
|
10116
|
+
}
|
|
10117
|
+
/**
|
|
10118
|
+
* @param {?} contentData
|
|
10119
|
+
* @return {?}
|
|
10120
|
+
*/
|
|
10121
|
+
getRedirectUrlData(contentData) {
|
|
10122
|
+
// for telemetry
|
|
10123
|
+
if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
|
|
10124
|
+
contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
|
|
10125
|
+
}
|
|
10126
|
+
this.contSvc.changeTelemetryData(contentData);
|
|
10127
|
+
// for redirection
|
|
10128
|
+
this.contentData.emit(contentData);
|
|
10129
|
+
}
|
|
10130
|
+
/**
|
|
10131
|
+
* @param {?} label
|
|
10132
|
+
* @param {?} type
|
|
10133
|
+
* @param {?=} subtype
|
|
10134
|
+
* @return {?}
|
|
10135
|
+
*/
|
|
10136
|
+
translateLabels(label, type, subtype) {
|
|
10137
|
+
return this.langtranslations.translateLabelWithoutspace(label, type, subtype);
|
|
10138
|
+
}
|
|
10139
|
+
/**
|
|
10140
|
+
* @return {?}
|
|
10141
|
+
*/
|
|
10142
|
+
raiseTelemetry() {
|
|
10143
|
+
this.events.raiseInteractTelemetry({
|
|
10144
|
+
type: 'click',
|
|
10145
|
+
subType: `${this.widgetType}-${this.widgetSubType}`,
|
|
10146
|
+
id: `${camelCase(this.widgetData.content.primaryCategory)}-card`,
|
|
10147
|
+
}, {
|
|
10148
|
+
id: this.widgetData.content.identifier,
|
|
10149
|
+
type: this.widgetData.content.primaryCategory,
|
|
10150
|
+
//context: this.widgetData.context,
|
|
10151
|
+
rollup: {},
|
|
10152
|
+
ver: `${this.widgetData.content.version}${''}`,
|
|
10153
|
+
}, {
|
|
10154
|
+
pageIdExt: `${camelCase(this.widgetData.content.primaryCategory)}-card`,
|
|
10155
|
+
module: camelCase(this.widgetData.content.primaryCategory),
|
|
10156
|
+
});
|
|
10157
|
+
}
|
|
10158
|
+
/**
|
|
10159
|
+
* @param {?} certificateData
|
|
10160
|
+
* @return {?}
|
|
10161
|
+
*/
|
|
10162
|
+
downloadCertificate(certificateData) {
|
|
10163
|
+
this.events.raiseInteractTelemetry({
|
|
10164
|
+
type: WsEvents.EnumInteractTypes.CLICK,
|
|
10165
|
+
id: 'view-certificate',
|
|
10166
|
+
subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,
|
|
10167
|
+
}, {
|
|
10168
|
+
id: certificateData.issuedCertificates[0].identifier,
|
|
10169
|
+
// id of the certificate
|
|
10170
|
+
type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
|
|
10171
|
+
});
|
|
10172
|
+
if (certificateData.issuedCertificates.length > 0) {
|
|
10173
|
+
this.downloadCertificateLoading = true;
|
|
10174
|
+
/** @type {?} */
|
|
10175
|
+
let certData = certificateData.issuedCertificates[0];
|
|
10176
|
+
this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((/**
|
|
10177
|
+
* @param {?} res
|
|
10178
|
+
* @return {?}
|
|
10179
|
+
*/
|
|
10180
|
+
(res) => {
|
|
10181
|
+
this.downloadCertificateLoading = false;
|
|
10182
|
+
/** @type {?} */
|
|
10183
|
+
const cet = res.result.printUri;
|
|
10184
|
+
this.dialog.open(CertificateDialogComponent, {
|
|
10185
|
+
width: '1300px',
|
|
10186
|
+
data: { cet, certId: certData.identifier },
|
|
10187
|
+
});
|
|
10188
|
+
}));
|
|
10189
|
+
}
|
|
10190
|
+
else {
|
|
10191
|
+
this.downloadCertificateLoading = false;
|
|
10192
|
+
}
|
|
10193
|
+
}
|
|
10194
|
+
}
|
|
10195
|
+
CardProgressPortraitLibComponent.decorators = [
|
|
10196
|
+
{ type: Component, args: [{
|
|
10197
|
+
selector: 'sb-uic-card-progress-portrait-lib',
|
|
10198
|
+
template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer\" [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\" (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" >\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\">\n <div class=\"flex flex-end flex-middle course_port\">\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 class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <div class=\" img-block-portrait position-relative\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier]\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n </div>\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-image 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-image ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"portrait-subheading mat-subheading-2 title-text\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-middle\">\n <div class=\"portrait_course_logo_box margin-right-xs\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <span class=\"portrait-org-name font-normal mat-caption\">{{'cardcontentv2.by' | translate}} {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n\n </div>\n </div>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-between\" >\n <div class=\"progress-block\" >\n <div class=\"completed-time\">\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\n <span>{{widgetData?.content?.completionPercentage}}%</span>\n </div>\n <div>\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2\">\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\" *ngIf=\"widgetData?.content?.identifier\"\n [contentId]=\"widgetData?.content?.identifier\" [progress]=\"widgetData?.content?.completionPercentage\"\n [progressType]=\"'percentage'\">\n </sb-uic-content-progress>\n </ng-container>\n </div>\n </div>\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between\" [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\" \n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\n <span class=\"textwrap margin-right-xs\">\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}</span>\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage === 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between view-btn\" [ngClass]=\"{'disable-btn': downloadCertificateLoading || widgetData?.content?.issuedCertificates?.length === 0}\" (click)=\"!downloadCertificateLoading && downloadCertificate(widgetData?.content);$event.stopPropagation()\" \n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\" src=\"/assets/icons/home/eye-white.svg\">\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\n </div>\n </button>\n </div>\n </div>\n </ng-container>\n </mat-card>\n</ng-container>\n\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"margin-bottom-xs\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div class=\"portrait-subheading title-text\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\" margin-right-xs\">\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"portrait_widget flex margin-top-xs\">\n <div class=\"flex flex-end flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\n <div class=\"progress-block\">\n <div class=\"completed-time\">\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"progress-btn\">\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\" [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </mat-card>\n</ng-container>",
|
|
10199
|
+
styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:318px;min-height:154px;padding:16px}.card-portrait .img-block-portrait{line-height:10px}.card-portrait .card-image{border-radius:8px;opacity:1;background-size:100%;width:147px;height:100px}.card-portrait .portrait-subheading{opacity:1;color:rgba(0,0,0,.87);font-weight:700;font-style:normal;letter-spacing:.25px;text-align:left;word-break:break-word;white-space:initial;margin:0 0 8px;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px}.card-portrait .portrait_course_logo_box img{padding:3px;display:inline-block;width:24px;height:24px;border:1px solid #d6d6d6;border-radius:4px;box-sizing:border-box}.card-portrait span.portrait-org-name{width:75%;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-portrait .portrait_widget{align-items:center;margin-top:0}.card-portrait .portrait_widget .course_port{border:1px solid #ef951e;padding:4px 8px;align-items:center;border-radius:16px}.card-portrait .portrait_widget .video-icon{opacity:1;color:#ef951e;width:15px;height:15px;font-size:15px}.card-portrait .portrait_widget .portrait-category{color:rgba(0,0,0,.6)!important;font-size:.75rem;opacity:1;font-family:Lato-Regular;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:20px}.card-portrait .progress-wrapper .progress-block{width:60%}.card-portrait .progress-wrapper .progress-block .completed-time{color:#ef951e;display:flex;padding:8px 0}.card-portrait .progress-wrapper .progress-block .completed-time mat-icon{width:1rem;height:1rem;font-size:1rem}.card-portrait .progress-wrapper .progress-block .completed-time span{opacity:1;color:rgba(0,0,0,.87);font-family:Lato-Regular;font-size:.75rem;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:16px}.card-portrait .progress-wrapper .progress-btn .resume-btn{opacity:1;color:#fff;font-family:Lato-Bold;font-size:14px;font-weight:700;font-style:normal;letter-spacing:.5px;text-align:left;line-height:20px;background:#1a4ca1;border-radius:63px;padding:6px 16px;border:none;width:100%;cursor:pointer}.card-portrait .progress-wrapper .progress-btn .resume-btn .textwrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82px}.card-portrait .progress-wrapper .progress-btn .resume-btn:hover{background-color:#253379}.card-portrait .progress-bar-new{color:#ef951e!important;height:10px;border-radius:5px}.card-portrait .rating-session mat-icon{font-size:20px;height:20px;width:20px;color:#ef951e}.card-portrait .rating-session .rating-number{font-size:14px}.card-portrait .rating-session .most-enrolled-text{font-size:10px;font-weight:400;padding:4px;background:#ffea9e;border-radius:4px;line-height:12px}.card-portrait .right-corner-portrait{right:8px;bottom:8px}.course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #ef951e;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}"]
|
|
10200
|
+
}] }
|
|
10201
|
+
];
|
|
10202
|
+
/** @nocollapse */
|
|
10203
|
+
CardProgressPortraitLibComponent.ctorParameters = () => [
|
|
10204
|
+
{ type: MatSnackBar },
|
|
10205
|
+
{ type: TranslateService },
|
|
10206
|
+
{ type: EventService },
|
|
10207
|
+
{ type: MultilingualTranslationsService },
|
|
10208
|
+
{ type: ConfigurationsService$1 },
|
|
10209
|
+
{ type: WidgetContentService },
|
|
10210
|
+
{ type: CertificateService },
|
|
10211
|
+
{ type: MatDialog }
|
|
10212
|
+
];
|
|
10213
|
+
CardProgressPortraitLibComponent.propDecorators = {
|
|
10214
|
+
widgetData: [{ type: Input }],
|
|
10215
|
+
isLiveOrMarkForDeletion: [{ type: Input }],
|
|
10216
|
+
showIntranetContent: [{ type: Input }],
|
|
10217
|
+
isIntranetAllowedSettings: [{ type: Input }],
|
|
10218
|
+
isCardLoading: [{ type: Input }],
|
|
10219
|
+
contentData: [{ type: Output }],
|
|
10220
|
+
cbPlanMapData: [{ type: Input }]
|
|
10221
|
+
};
|
|
10222
|
+
if (false) {
|
|
10223
|
+
/** @type {?} */
|
|
10224
|
+
CardProgressPortraitLibComponent.prototype.widgetData;
|
|
10225
|
+
/** @type {?} */
|
|
10226
|
+
CardProgressPortraitLibComponent.prototype.isLiveOrMarkForDeletion;
|
|
10227
|
+
/** @type {?} */
|
|
10228
|
+
CardProgressPortraitLibComponent.prototype.showIntranetContent;
|
|
10229
|
+
/** @type {?} */
|
|
10230
|
+
CardProgressPortraitLibComponent.prototype.isIntranetAllowedSettings;
|
|
10231
|
+
/** @type {?} */
|
|
10232
|
+
CardProgressPortraitLibComponent.prototype.isCardLoading;
|
|
10233
|
+
/** @type {?} */
|
|
10234
|
+
CardProgressPortraitLibComponent.prototype.contentData;
|
|
10235
|
+
/** @type {?} */
|
|
10236
|
+
CardProgressPortraitLibComponent.prototype.cbPlanMapData;
|
|
10237
|
+
/** @type {?} */
|
|
10238
|
+
CardProgressPortraitLibComponent.prototype.isCardFlipped;
|
|
10239
|
+
/** @type {?} */
|
|
10240
|
+
CardProgressPortraitLibComponent.prototype.acbpConstants;
|
|
10241
|
+
/** @type {?} */
|
|
10242
|
+
CardProgressPortraitLibComponent.prototype.defaultThumbnail;
|
|
10243
|
+
/** @type {?} */
|
|
10244
|
+
CardProgressPortraitLibComponent.prototype.sourceLogos;
|
|
10245
|
+
/** @type {?} */
|
|
10246
|
+
CardProgressPortraitLibComponent.prototype.defaultSLogo;
|
|
10247
|
+
/** @type {?} */
|
|
10248
|
+
CardProgressPortraitLibComponent.prototype.showFlip;
|
|
10249
|
+
/** @type {?} */
|
|
10250
|
+
CardProgressPortraitLibComponent.prototype.widgetType;
|
|
10251
|
+
/** @type {?} */
|
|
10252
|
+
CardProgressPortraitLibComponent.prototype.widgetSubType;
|
|
10253
|
+
/** @type {?} */
|
|
10254
|
+
CardProgressPortraitLibComponent.prototype.downloadCertificateLoading;
|
|
10255
|
+
/**
|
|
10256
|
+
* @type {?}
|
|
10257
|
+
* @private
|
|
10258
|
+
*/
|
|
10259
|
+
CardProgressPortraitLibComponent.prototype.snackBar;
|
|
10260
|
+
/**
|
|
10261
|
+
* @type {?}
|
|
10262
|
+
* @private
|
|
10263
|
+
*/
|
|
10264
|
+
CardProgressPortraitLibComponent.prototype.translate;
|
|
10265
|
+
/**
|
|
10266
|
+
* @type {?}
|
|
10267
|
+
* @private
|
|
10268
|
+
*/
|
|
10269
|
+
CardProgressPortraitLibComponent.prototype.events;
|
|
10270
|
+
/**
|
|
10271
|
+
* @type {?}
|
|
10272
|
+
* @private
|
|
10273
|
+
*/
|
|
10274
|
+
CardProgressPortraitLibComponent.prototype.langtranslations;
|
|
10275
|
+
/**
|
|
10276
|
+
* @type {?}
|
|
10277
|
+
* @private
|
|
10278
|
+
*/
|
|
10279
|
+
CardProgressPortraitLibComponent.prototype.configSvc;
|
|
10280
|
+
/**
|
|
10281
|
+
* @type {?}
|
|
10282
|
+
* @private
|
|
10283
|
+
*/
|
|
10284
|
+
CardProgressPortraitLibComponent.prototype.contSvc;
|
|
10285
|
+
/**
|
|
10286
|
+
* @type {?}
|
|
10287
|
+
* @private
|
|
10288
|
+
*/
|
|
10289
|
+
CardProgressPortraitLibComponent.prototype.certificateService;
|
|
10290
|
+
/**
|
|
10291
|
+
* @type {?}
|
|
10292
|
+
* @private
|
|
10293
|
+
*/
|
|
10294
|
+
CardProgressPortraitLibComponent.prototype.dialog;
|
|
10295
|
+
}
|
|
10296
|
+
|
|
10297
|
+
/**
|
|
10298
|
+
* @fileoverview added by tsickle
|
|
10299
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10300
|
+
*/
|
|
10301
|
+
class ContentProgressComponent {
|
|
10302
|
+
constructor() {
|
|
10303
|
+
this.contentId = '';
|
|
10304
|
+
this.progress = 0;
|
|
10305
|
+
this.progressType = '';
|
|
10306
|
+
this.forPreview = false;
|
|
10307
|
+
this.className = '';
|
|
10308
|
+
this.customClassName = 'accent-progress';
|
|
10309
|
+
this.rendom = Math.random();
|
|
10310
|
+
this.id = `progress_${Math.random()}`;
|
|
10311
|
+
if (this.contentId) {
|
|
10312
|
+
this.id = this.contentId;
|
|
10313
|
+
}
|
|
10314
|
+
}
|
|
10315
|
+
/**
|
|
10316
|
+
* @return {?}
|
|
10317
|
+
*/
|
|
10318
|
+
ngOnChanges() {
|
|
10319
|
+
if (this.contentId && !this.progress && !this.forPreview) {
|
|
10320
|
+
// this.progressSvc.getProgressFor(this.contentId).subscribe(data => {
|
|
10321
|
+
// this.progress = data
|
|
10322
|
+
// if (this.progress) {
|
|
10323
|
+
// this.progress = Math.round(this.progress * 10000) / 100
|
|
10324
|
+
// }
|
|
10325
|
+
// })
|
|
10326
|
+
}
|
|
10327
|
+
if (this.progress) {
|
|
10328
|
+
if (this.progressType === 'percentage') {
|
|
10329
|
+
this.progress = this.progress;
|
|
10330
|
+
}
|
|
10331
|
+
else {
|
|
10332
|
+
this.progress = Math.round(this.progress * 10000) / 100;
|
|
10333
|
+
}
|
|
10334
|
+
}
|
|
10335
|
+
}
|
|
10336
|
+
}
|
|
10337
|
+
ContentProgressComponent.decorators = [
|
|
10338
|
+
{ type: Component, args: [{
|
|
10339
|
+
selector: 'sb-uic-content-progress',
|
|
10340
|
+
template: "<mat-progress-bar [mode]=\"'determinate'\" [matTooltip]=\"progress + ' %'\" [value]=\"progress\" class=\"new-w content-progress {{customClassName}}\"\n [attr.aria-labelledby]=\"'m-c-'+ contentId\" [ngClass]=\"{ 'visibility-0': progress === undefined, 'thick': className}\"\n i18n-aria-label> {{ progress }} % </mat-progress-bar>",
|
|
10341
|
+
/* tslint:disable */
|
|
10342
|
+
host: {
|
|
10343
|
+
// Sets the role for this component to "progressbar"
|
|
10344
|
+
role: 'progressbar',
|
|
10345
|
+
// Sets the minimum and maximum values for the progressbar role.
|
|
10346
|
+
'aria-valuemin': '0',
|
|
10347
|
+
'aria-valuemax': '100',
|
|
10348
|
+
'title': 'progres',
|
|
10349
|
+
// Binding that updates the current value of the progressbar.
|
|
10350
|
+
'[attr.aria-valuenow]': 'progress',
|
|
10351
|
+
},
|
|
10352
|
+
styles: [".visibility-0{display:none}::ng-deep.mat-progress-bar.thick{height:10px}::ng-deep.theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4}::ng-deep.theme-igot.day-mode .mat-progress-bar-background{fill:rgba(0,0,0,.001)!important}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:rgba(0,0,0,.1)!important}::ng-deep .content-progress .mat-progress-bar-fill::after{background:#f69953!important}::ng-deep.theme-igot.day-mode .viewer-progress .mat-progress-bar-background{fill:rgba(0,0,0,.1)!important}::ng-deep.theme-igot.day-mode .viewer-progress .mat-progress-bar-buffer{background-color:rgba(0,0,0,.1)!important}::ng-deep.mat-progress-bar.viewer-progress{height:4px;border-radius:5px}"]
|
|
10353
|
+
}] }
|
|
10354
|
+
];
|
|
10355
|
+
/** @nocollapse */
|
|
10356
|
+
ContentProgressComponent.ctorParameters = () => [];
|
|
10357
|
+
ContentProgressComponent.propDecorators = {
|
|
10358
|
+
contentId: [{ type: Input }],
|
|
10359
|
+
progress: [{ type: Input }],
|
|
10360
|
+
progressType: [{ type: Input }],
|
|
10361
|
+
forPreview: [{ type: Input }],
|
|
10362
|
+
className: [{ type: Input }],
|
|
10363
|
+
customClassName: [{ type: Input }],
|
|
10364
|
+
id: [{ type: HostBinding, args: ['id',] }]
|
|
10365
|
+
};
|
|
10366
|
+
if (false) {
|
|
10367
|
+
/** @type {?} */
|
|
10368
|
+
ContentProgressComponent.prototype.contentId;
|
|
10369
|
+
/** @type {?} */
|
|
10370
|
+
ContentProgressComponent.prototype.progress;
|
|
10371
|
+
/** @type {?} */
|
|
10372
|
+
ContentProgressComponent.prototype.progressType;
|
|
10373
|
+
/** @type {?} */
|
|
10374
|
+
ContentProgressComponent.prototype.forPreview;
|
|
10375
|
+
/** @type {?} */
|
|
10376
|
+
ContentProgressComponent.prototype.className;
|
|
10377
|
+
/** @type {?} */
|
|
10378
|
+
ContentProgressComponent.prototype.customClassName;
|
|
10379
|
+
/** @type {?} */
|
|
10380
|
+
ContentProgressComponent.prototype.rendom;
|
|
10381
|
+
/** @type {?} */
|
|
10382
|
+
ContentProgressComponent.prototype.id;
|
|
10383
|
+
}
|
|
10384
|
+
|
|
10385
|
+
/**
|
|
10386
|
+
* @fileoverview added by tsickle
|
|
10387
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10388
|
+
*/
|
|
10389
|
+
class ContentProgressModule {
|
|
10390
|
+
}
|
|
10391
|
+
ContentProgressModule.decorators = [
|
|
10392
|
+
{ type: NgModule, args: [{
|
|
10393
|
+
declarations: [ContentProgressComponent],
|
|
10394
|
+
imports: [
|
|
10395
|
+
CommonModule,
|
|
10396
|
+
MatProgressBarModule,
|
|
10397
|
+
MatTooltipModule,
|
|
10398
|
+
],
|
|
10399
|
+
exports: [ContentProgressComponent],
|
|
10400
|
+
},] }
|
|
10401
|
+
];
|
|
10402
|
+
|
|
10403
|
+
/**
|
|
10404
|
+
* @fileoverview added by tsickle
|
|
10405
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10406
|
+
*/
|
|
10407
|
+
const ɵ0$4 = HttpLoaderFactory;
|
|
10408
|
+
class DialogComponentsModule {
|
|
10409
|
+
}
|
|
10410
|
+
DialogComponentsModule.decorators = [
|
|
10411
|
+
{ type: NgModule, args: [{
|
|
10412
|
+
declarations: [
|
|
10413
|
+
CertificateDialogComponent
|
|
10414
|
+
],
|
|
10415
|
+
imports: [
|
|
10416
|
+
CommonModule,
|
|
10417
|
+
MatMenuModule,
|
|
10418
|
+
MatCardModule,
|
|
10419
|
+
MatIconModule,
|
|
10420
|
+
MatDialogModule,
|
|
10421
|
+
PipeSafeSanitizerModule,
|
|
10422
|
+
TranslateModule.forRoot({
|
|
10423
|
+
loader: {
|
|
10424
|
+
provide: TranslateLoader,
|
|
10425
|
+
useFactory: ɵ0$4,
|
|
10426
|
+
deps: [HttpClient],
|
|
10427
|
+
},
|
|
10428
|
+
}),
|
|
10429
|
+
],
|
|
10430
|
+
exports: [
|
|
10431
|
+
CertificateDialogComponent
|
|
10432
|
+
],
|
|
10433
|
+
entryComponents: [CertificateDialogComponent],
|
|
10434
|
+
},] }
|
|
10435
|
+
];
|
|
10436
|
+
|
|
10437
|
+
/**
|
|
10438
|
+
* @fileoverview added by tsickle
|
|
10439
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10440
|
+
*/
|
|
10441
|
+
class CardMdoChannelV1Component {
|
|
10442
|
+
/**
|
|
10443
|
+
* @param {?} events
|
|
10444
|
+
* @param {?} translate
|
|
10445
|
+
* @param {?} langtranslations
|
|
10446
|
+
* @param {?} configSvc
|
|
10447
|
+
* @param {?} contSvc
|
|
10448
|
+
* @param {?} router
|
|
10449
|
+
*/
|
|
10450
|
+
constructor(events, translate, langtranslations, configSvc, contSvc, router) {
|
|
10451
|
+
this.events = events;
|
|
10452
|
+
this.translate = translate;
|
|
10453
|
+
this.langtranslations = langtranslations;
|
|
10454
|
+
this.configSvc = configSvc;
|
|
10455
|
+
this.contSvc = contSvc;
|
|
10456
|
+
this.router = router;
|
|
10457
|
+
this.channelData = new EventEmitter();
|
|
10458
|
+
this.emitTelemetry = new EventEmitter();
|
|
10459
|
+
this.widgetType = '';
|
|
10460
|
+
this.widgetSubType = '';
|
|
10461
|
+
this.langtranslations.languageSelectedObservable.subscribe((/**
|
|
10462
|
+
* @return {?}
|
|
10463
|
+
*/
|
|
10464
|
+
() => {
|
|
10465
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
10466
|
+
this.translate.setDefaultLang('en');
|
|
10467
|
+
/** @type {?} */
|
|
10468
|
+
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
10469
|
+
this.translate.use(lang);
|
|
10470
|
+
}
|
|
10471
|
+
}));
|
|
10472
|
+
}
|
|
10473
|
+
/**
|
|
10474
|
+
* @return {?}
|
|
10475
|
+
*/
|
|
10476
|
+
ngOnInit() {
|
|
10477
|
+
/** @type {?} */
|
|
10478
|
+
const instanceConfig = this.configSvc.instanceConfig;
|
|
10479
|
+
if (instanceConfig) {
|
|
10480
|
+
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
10481
|
+
this.sourceLogos = instanceConfig.sources;
|
|
10482
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
10483
|
+
}
|
|
10484
|
+
else {
|
|
10485
|
+
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
10486
|
+
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
10487
|
+
}
|
|
10488
|
+
}
|
|
10489
|
+
/**
|
|
10490
|
+
* @param {?} contentData
|
|
10491
|
+
* @return {?}
|
|
10492
|
+
*/
|
|
10493
|
+
raiseTelemetry(contentData) {
|
|
10494
|
+
this.emitTelemetry.emit(contentData);
|
|
10495
|
+
if (this.widgetData) {
|
|
10496
|
+
contentData['typeOfTelemetry'] = 'mdo-channel';
|
|
10497
|
+
}
|
|
10498
|
+
this.contSvc.changeTelemetryData(contentData);
|
|
10499
|
+
}
|
|
10500
|
+
/**
|
|
10501
|
+
* @param {?} channeldata
|
|
10502
|
+
* @return {?}
|
|
10503
|
+
*/
|
|
10504
|
+
channelClick(channeldata) {
|
|
10505
|
+
this.channelData.emit(channeldata);
|
|
10506
|
+
}
|
|
10507
|
+
/**
|
|
10508
|
+
* @param {?} content
|
|
10509
|
+
* @return {?}
|
|
10510
|
+
*/
|
|
10511
|
+
redirectTo(content) {
|
|
10512
|
+
this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`]);
|
|
10513
|
+
}
|
|
10514
|
+
}
|
|
10515
|
+
CardMdoChannelV1Component.decorators = [
|
|
10516
|
+
{ type: Component, args: [{
|
|
10517
|
+
selector: 'sb-uic-card-mdo-channel-v1',
|
|
10518
|
+
template: "<mat-card class=\"channels-card card-channels-container mr-5 padding-remove cursor-pointer\">\n <div class=\"display-contents\">\n <ng-container *ngIf=\"widgetData?.content\">\n <a (click)=\"raiseTelemetry(widgetData?.content); redirectTo(widgetData?.content); $event.stopPropagation()\"\n i18n-aria-label>\n <ng-container>\n <mat-card-content class=\"min-top\">\n <div class=\"flex flex-col h-full\">\n <div class=\"image-container\">\n <ng-container *ngIf=\"widgetData?.content?.imgUrl; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.imgUrl\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.orgName\" />\n </ng-container>\n <ng-template #defaultImg>\n <sb-uic-avatar-photo [randomColor]=\"true\" [name]=\"widgetData?.content?.orgName\" [photoUrl]=\"widgetData?.content?.imgUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </ng-template>\n </div>\n <div class=\"flex title-container px-2\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"flex-1 text-center mat-subheading-2 title-text ws-mat-black-text\">\n {{ widgetData?.content?.orgName }}\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>",
|
|
10519
|
+
styles: [".card-channels-container{position:relative;width:245px;box-sizing:border-box;box-shadow:0 10px 30px rgba(153,153,153,.2);overflow:hidden;min-height:156px;height:156px;max-height:156px;margin:20px 8px;background:#7faeff!important;border-radius:12px;padding:4px!important}.card-channels-container .min-top{background:inherit;margin-bottom:0;height:inherit}.card-channels-container .image-container{background-color:#fff;width:inherit;height:86px;max-height:86px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:12px}.card-channels-container .card-img{max-height:62px;min-height:62px;display:block;-o-object-fit:fill;object-fit:contain}.card-channels-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-channels-container .title-container{background:inherit}.card-channels-container .description-text{position:relative;overflow:hidden;height:51px}.card-channels-container .title-text{word-break:break-all;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}"]
|
|
10520
|
+
}] }
|
|
10521
|
+
];
|
|
10522
|
+
/** @nocollapse */
|
|
10523
|
+
CardMdoChannelV1Component.ctorParameters = () => [
|
|
10524
|
+
{ type: EventService },
|
|
10525
|
+
{ type: TranslateService },
|
|
10526
|
+
{ type: MultilingualTranslationsService$1 },
|
|
10527
|
+
{ type: ConfigurationsService$1 },
|
|
10528
|
+
{ type: WidgetContentService },
|
|
10529
|
+
{ type: Router }
|
|
10530
|
+
];
|
|
10531
|
+
CardMdoChannelV1Component.propDecorators = {
|
|
10532
|
+
widgetData: [{ type: Input }],
|
|
10533
|
+
channelData: [{ type: Output }],
|
|
10534
|
+
emitTelemetry: [{ type: Output }]
|
|
10535
|
+
};
|
|
10536
|
+
if (false) {
|
|
10537
|
+
/** @type {?} */
|
|
10538
|
+
CardMdoChannelV1Component.prototype.widgetData;
|
|
10539
|
+
/** @type {?} */
|
|
10540
|
+
CardMdoChannelV1Component.prototype.channelData;
|
|
10541
|
+
/** @type {?} */
|
|
10542
|
+
CardMdoChannelV1Component.prototype.emitTelemetry;
|
|
10543
|
+
/** @type {?} */
|
|
10544
|
+
CardMdoChannelV1Component.prototype.defaultThumbnail;
|
|
10545
|
+
/** @type {?} */
|
|
10546
|
+
CardMdoChannelV1Component.prototype.sourceLogos;
|
|
10547
|
+
/** @type {?} */
|
|
10548
|
+
CardMdoChannelV1Component.prototype.defaultSLogo;
|
|
10549
|
+
/** @type {?} */
|
|
10550
|
+
CardMdoChannelV1Component.prototype.widgetType;
|
|
10551
|
+
/** @type {?} */
|
|
10552
|
+
CardMdoChannelV1Component.prototype.widgetSubType;
|
|
10553
|
+
/**
|
|
10554
|
+
* @type {?}
|
|
10555
|
+
* @private
|
|
10556
|
+
*/
|
|
10557
|
+
CardMdoChannelV1Component.prototype.events;
|
|
10558
|
+
/**
|
|
10559
|
+
* @type {?}
|
|
10560
|
+
* @private
|
|
10561
|
+
*/
|
|
10562
|
+
CardMdoChannelV1Component.prototype.translate;
|
|
10563
|
+
/**
|
|
10564
|
+
* @type {?}
|
|
10565
|
+
* @private
|
|
10566
|
+
*/
|
|
10567
|
+
CardMdoChannelV1Component.prototype.langtranslations;
|
|
10568
|
+
/**
|
|
10569
|
+
* @type {?}
|
|
10570
|
+
* @private
|
|
10571
|
+
*/
|
|
10572
|
+
CardMdoChannelV1Component.prototype.configSvc;
|
|
10573
|
+
/**
|
|
10574
|
+
* @type {?}
|
|
10575
|
+
* @private
|
|
10576
|
+
*/
|
|
10577
|
+
CardMdoChannelV1Component.prototype.contSvc;
|
|
10578
|
+
/** @type {?} */
|
|
10579
|
+
CardMdoChannelV1Component.prototype.router;
|
|
10580
|
+
}
|
|
10581
|
+
|
|
10582
|
+
/**
|
|
10583
|
+
* @fileoverview added by tsickle
|
|
10584
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10585
|
+
*/
|
|
10586
|
+
class AvatarPhotoLibComponent {
|
|
10587
|
+
constructor() {
|
|
10588
|
+
this.size = '';
|
|
10589
|
+
this.defaulfColor = '';
|
|
10590
|
+
this.randomColor = false;
|
|
10591
|
+
this.showBadge = false;
|
|
10592
|
+
this.showInitials = false;
|
|
10593
|
+
this.random = Math.random().toString(36).slice(2);
|
|
9670
10594
|
// public initials!: string
|
|
9671
10595
|
this.colors = [
|
|
9672
10596
|
'#EB7181',
|
|
@@ -9839,6 +10763,7 @@ AvatarPhotoLibModule.decorators = [
|
|
|
9839
10763
|
* @fileoverview added by tsickle
|
|
9840
10764
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9841
10765
|
*/
|
|
10766
|
+
const ɵ0$5 = HttpLoaderFactory;
|
|
9842
10767
|
class CardsModule {
|
|
9843
10768
|
}
|
|
9844
10769
|
CardsModule.decorators = [
|
|
@@ -9854,20 +10779,34 @@ CardsModule.decorators = [
|
|
|
9854
10779
|
CardKarmaProgramsComponent,
|
|
9855
10780
|
CardKarmaProgramsV2Component,
|
|
9856
10781
|
CardPortraitExtComponent,
|
|
10782
|
+
CardAssessmentComponent,
|
|
10783
|
+
CardProgressPortraitLibComponent,
|
|
9857
10784
|
CardMdoChannelV1Component
|
|
9858
10785
|
],
|
|
9859
10786
|
imports: [
|
|
9860
10787
|
CommonModule,
|
|
9861
10788
|
MatCardModule,
|
|
9862
10789
|
MatButtonModule,
|
|
10790
|
+
MatTooltipModule,
|
|
9863
10791
|
MatIconModule,
|
|
9864
10792
|
MatTooltipModule,
|
|
9865
10793
|
RouterModule,
|
|
9866
10794
|
PipePublicURLModule,
|
|
10795
|
+
ObjectToArrayPipeModule,
|
|
9867
10796
|
DisplayContentTypeLibModule,
|
|
9868
10797
|
DefaultThumbnailModule,
|
|
9869
10798
|
PipeDurationTransformModule,
|
|
9870
10799
|
SkeletonLoaderLibModule,
|
|
10800
|
+
MatProgressSpinnerModule,
|
|
10801
|
+
ContentProgressModule,
|
|
10802
|
+
DialogComponentsModule,
|
|
10803
|
+
TranslateModule.forRoot({
|
|
10804
|
+
loader: {
|
|
10805
|
+
provide: TranslateLoader,
|
|
10806
|
+
useFactory: ɵ0$5,
|
|
10807
|
+
deps: [HttpClient],
|
|
10808
|
+
},
|
|
10809
|
+
}),
|
|
9871
10810
|
AvatarPhotoLibModule
|
|
9872
10811
|
],
|
|
9873
10812
|
entryComponents: [CardsComponent],
|
|
@@ -9881,7 +10820,7 @@ CardsModule.decorators = [
|
|
|
9881
10820
|
CardMDOChannelComponent,
|
|
9882
10821
|
CardWideV2Component,
|
|
9883
10822
|
CardKarmaProgramsComponent,
|
|
9884
|
-
CardKarmaProgramsV2Component
|
|
10823
|
+
CardKarmaProgramsV2Component,
|
|
9885
10824
|
],
|
|
9886
10825
|
},] }
|
|
9887
10826
|
];
|
|
@@ -10828,13 +11767,13 @@ CompetencyPassbookMdoModule.decorators = [
|
|
|
10828
11767
|
*/
|
|
10829
11768
|
/** @type {?} */
|
|
10830
11769
|
const PROXY_SLAG_V8 = '/apis/proxies/v8';
|
|
10831
|
-
const ɵ0$
|
|
11770
|
+
const ɵ0$6 = /**
|
|
10832
11771
|
* @param {?} contentId
|
|
10833
11772
|
* @param {?} contentType
|
|
10834
11773
|
* @param {?} userId
|
|
10835
11774
|
* @return {?}
|
|
10836
11775
|
*/
|
|
10837
|
-
(contentId, contentType, userId) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`, ɵ1$
|
|
11776
|
+
(contentId, contentType, userId) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`, ɵ1$3 = /**
|
|
10838
11777
|
* @param {?} contentId
|
|
10839
11778
|
* @param {?} contentType
|
|
10840
11779
|
* @return {?}
|
|
@@ -10847,9 +11786,9 @@ const ɵ0$3 = /**
|
|
|
10847
11786
|
(contentId, userID) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`;
|
|
10848
11787
|
/** @type {?} */
|
|
10849
11788
|
const API_END_POINTS$3 = {
|
|
10850
|
-
GET_RATING: (ɵ0$
|
|
11789
|
+
GET_RATING: (ɵ0$6),
|
|
10851
11790
|
ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,
|
|
10852
|
-
GET_RATING_SUMMARY: (ɵ1$
|
|
11791
|
+
GET_RATING_SUMMARY: (ɵ1$3),
|
|
10853
11792
|
GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,
|
|
10854
11793
|
GET_AUTHOR_REPLY: (ɵ2$2),
|
|
10855
11794
|
POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,
|
|
@@ -11505,5 +12444,5 @@ UserContentRatingLibModule.decorators = [
|
|
|
11505
12444
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
11506
12445
|
*/
|
|
11507
12446
|
|
|
11508
|
-
export { AnnouncementsModule, CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardWideV2Component as ɵba, CardKarmaProgramsComponent as ɵbb, CardKarmaProgramsV2Component as ɵbc, CardPortraitExtComponent as ɵbd,
|
|
12447
|
+
export { AnnouncementsModule, CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardWideV2Component as ɵba, CardKarmaProgramsComponent as ɵbb, CardKarmaProgramsV2Component as ɵbc, CardPortraitExtComponent as ɵbd, CardAssessmentComponent as ɵbe, CardProgressPortraitLibComponent as ɵbf, CertificateService as ɵbg, CardMdoChannelV1Component as ɵbh, PipePublicURLModule as ɵbi, PipePublicURL as ɵbj, ObjectToArrayPipeModule as ɵbk, ObjectToArrayPipe as ɵbl, DisplayContentTypeLibModule as ɵbm, DisplayContentTypeLibComponent as ɵbn, DefaultThumbnailModule as ɵbo, DefaultThumbnailDirective as ɵbp, PipeDurationTransformModule as ɵbq, PipeDurationTransformPipe as ɵbr, ContentProgressComponent as ɵbs, DialogComponentsModule as ɵbt, CertificateDialogComponent as ɵbu, AvatarPhotoLibModule as ɵbv, AvatarPhotoLibComponent as ɵbw, CompetencyPassbookComponent as ɵbx, CompetencyPassbookService as ɵby, PillsModule as ɵbz, MultilingualTranslationsService as ɵc, PillsComponent as ɵca, CompetencyPassbookMdoComponent as ɵcb, CompetencyPassbookMdoService as ɵcc, UserContentRatingLibComponent as ɵcd, ScrollableItemDirective as ɵce, RatingService as ɵcf, UserContentRatingLibService as ɵcg, MyHammerConfig$1 as ɵch, SlidersNgContentLibModule as ɵci, SlidersNgContentLibComponent as ɵcj, ScrollableItemModule as ɵck, 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, CardResourceComponent as ɵt, CardsComponent as ɵu, CardPortraitComponent as ɵv, CardUserComponent as ɵw, CardLandscapeComponent as ɵx, CardWideComponent as ɵy, CardMDOChannelComponent as ɵz };
|
|
11509
12448
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|