@sunbird-cb/consumption 0.0.42 → 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 +1243 -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/_services/widget-content.service.js +1 -2
- 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/_services/widget-content.service.js +1 -2
- 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 +1074 -136
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +1210 -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
|
}
|
|
@@ -2220,7 +2219,6 @@ class WidgetContentService {
|
|
|
2220
2219
|
* @return {?}
|
|
2221
2220
|
*/
|
|
2222
2221
|
postApiMethod(apiUrl, req) {
|
|
2223
|
-
req.query = req.query || '';
|
|
2224
2222
|
return this.http.post(apiUrl, req);
|
|
2225
2223
|
}
|
|
2226
2224
|
/**
|
|
@@ -2603,33 +2601,36 @@ class MultilingualTranslationsService {
|
|
|
2603
2601
|
* @return {?}
|
|
2604
2602
|
*/
|
|
2605
2603
|
translateLabel(label, type, subtype) {
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
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);
|
|
2619
2627
|
}
|
|
2620
|
-
}));
|
|
2621
|
-
nlabel = sl.join('');
|
|
2622
|
-
nlabel = nlabel.replace(/\s/g, '');
|
|
2623
|
-
if (subtype) {
|
|
2624
2628
|
// tslint:disable-next-line: prefer-template
|
|
2625
2629
|
/** @type {?} */
|
|
2626
|
-
const
|
|
2627
|
-
return this.translate.instant(
|
|
2630
|
+
const translationKeyn = type + '.' + nlabel;
|
|
2631
|
+
return this.translate.instant(translationKeyn);
|
|
2628
2632
|
}
|
|
2629
|
-
|
|
2630
|
-
/** @type {?} */
|
|
2631
|
-
const translationKeyn = type + '.' + nlabel;
|
|
2632
|
-
return this.translate.instant(translationKeyn);
|
|
2633
|
+
return label;
|
|
2633
2634
|
}
|
|
2634
2635
|
/**
|
|
2635
2636
|
* @param {?} label
|
|
@@ -3922,7 +3923,18 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
3922
3923
|
if (response && response.results) {
|
|
3923
3924
|
// console.log('calling after-- ')
|
|
3924
3925
|
if (response.results.result.content) {
|
|
3925
|
-
|
|
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
|
+
}
|
|
3926
3938
|
}
|
|
3927
3939
|
else if (response.results.result.Event) {
|
|
3928
3940
|
this.processStrip(strip, this.transformEventsToWidgets(response.results.result.Event, strip), 'done', calculateParentStatus, response.viewMoreUrl);
|
|
@@ -3943,6 +3955,33 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
3943
3955
|
}
|
|
3944
3956
|
});
|
|
3945
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
|
+
}
|
|
3946
3985
|
/**
|
|
3947
3986
|
* @param {?} strip
|
|
3948
3987
|
* @param {?} request
|
|
@@ -5195,6 +5234,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
5195
5234
|
fetchCiosContentData(strip, calculateParentStatus = true) {
|
|
5196
5235
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5197
5236
|
if (strip.request && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {
|
|
5237
|
+
debugger;
|
|
5198
5238
|
/** @type {?} */
|
|
5199
5239
|
let originalFilters = [];
|
|
5200
5240
|
if (strip.request &&
|
|
@@ -5319,6 +5359,8 @@ if (false) {
|
|
|
5319
5359
|
ContentStripWithTabsLibComponent.prototype.enrollInterval;
|
|
5320
5360
|
/** @type {?} */
|
|
5321
5361
|
ContentStripWithTabsLibComponent.prototype.todaysEvents;
|
|
5362
|
+
/** @type {?} */
|
|
5363
|
+
ContentStripWithTabsLibComponent.prototype.enrollmentMapData;
|
|
5322
5364
|
/**
|
|
5323
5365
|
* @type {?}
|
|
5324
5366
|
* @private
|
|
@@ -7546,14 +7588,12 @@ var NsCardContent$1;
|
|
|
7546
7588
|
class CardsComponent extends WidgetBaseComponent {
|
|
7547
7589
|
/**
|
|
7548
7590
|
* @param {?} utilitySvc
|
|
7549
|
-
* @param {?} configSvc
|
|
7550
7591
|
* @param {?} contSvc
|
|
7551
7592
|
* @param {?} router
|
|
7552
7593
|
*/
|
|
7553
|
-
constructor(utilitySvc,
|
|
7594
|
+
constructor(utilitySvc, contSvc, router) {
|
|
7554
7595
|
super();
|
|
7555
7596
|
this.utilitySvc = utilitySvc;
|
|
7556
|
-
this.configSvc = configSvc;
|
|
7557
7597
|
this.contSvc = contSvc;
|
|
7558
7598
|
this.router = router;
|
|
7559
7599
|
this.triggerTelemetry = new EventEmitter();
|
|
@@ -7569,6 +7609,13 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7569
7609
|
() => {
|
|
7570
7610
|
this.getCbPlanData();
|
|
7571
7611
|
}), 1000);
|
|
7612
|
+
this.enrollInterval = setInterval((/**
|
|
7613
|
+
* @return {?}
|
|
7614
|
+
*/
|
|
7615
|
+
() => {
|
|
7616
|
+
this.getEnrollmentData();
|
|
7617
|
+
// tslint:disable-next-line
|
|
7618
|
+
}), 1000);
|
|
7572
7619
|
}
|
|
7573
7620
|
/**
|
|
7574
7621
|
* @return {?}
|
|
@@ -7596,21 +7643,8 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7596
7643
|
*/
|
|
7597
7644
|
getRedirectUrlData(content) {
|
|
7598
7645
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7599
|
-
/** @type {?} */
|
|
7600
|
-
const userProfile = this.configSvc.userProfile;
|
|
7601
7646
|
if (content.externalId) {
|
|
7602
|
-
/** @type {?} */
|
|
7603
|
-
let extUrl = content.redirectUrl.replace('<username>', userProfile.userId)
|
|
7604
|
-
// const url = this.router.serializeUrl(
|
|
7605
|
-
// this.router.createUrlTree([extUrl])
|
|
7606
|
-
// );
|
|
7607
|
-
;
|
|
7608
|
-
// const url = this.router.serializeUrl(
|
|
7609
|
-
// this.router.createUrlTree([extUrl])
|
|
7610
|
-
// );
|
|
7611
7647
|
this.router.navigate([`app/toc/ext/${content.contentId}`]);
|
|
7612
|
-
// window.open(extUrl, '_blank');
|
|
7613
|
-
// window.open(content.redirectUrl)
|
|
7614
7648
|
}
|
|
7615
7649
|
else {
|
|
7616
7650
|
/** @type {?} */
|
|
@@ -7644,6 +7678,15 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7644
7678
|
clearInterval(this.cbPlanInterval);
|
|
7645
7679
|
}
|
|
7646
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
|
+
}
|
|
7647
7690
|
/**
|
|
7648
7691
|
* @param {?} data
|
|
7649
7692
|
* @return {?}
|
|
@@ -7655,14 +7698,13 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
7655
7698
|
CardsComponent.decorators = [
|
|
7656
7699
|
{ type: Component, args: [{
|
|
7657
7700
|
selector: 'sb-uic-cards',
|
|
7658
|
-
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>",
|
|
7659
7702
|
styles: [""]
|
|
7660
7703
|
}] }
|
|
7661
7704
|
];
|
|
7662
7705
|
/** @nocollapse */
|
|
7663
7706
|
CardsComponent.ctorParameters = () => [
|
|
7664
7707
|
{ type: UtilityService },
|
|
7665
|
-
{ type: ConfigurationsService$1 },
|
|
7666
7708
|
{ type: WidgetContentService },
|
|
7667
7709
|
{ type: Router }
|
|
7668
7710
|
];
|
|
@@ -7681,16 +7723,15 @@ if (false) {
|
|
|
7681
7723
|
CardsComponent.prototype.cbPlanMapData;
|
|
7682
7724
|
/** @type {?} */
|
|
7683
7725
|
CardsComponent.prototype.cbPlanInterval;
|
|
7726
|
+
/** @type {?} */
|
|
7727
|
+
CardsComponent.prototype.enrollInterval;
|
|
7728
|
+
/** @type {?} */
|
|
7729
|
+
CardsComponent.prototype.enrollmentMapData;
|
|
7684
7730
|
/**
|
|
7685
7731
|
* @type {?}
|
|
7686
7732
|
* @private
|
|
7687
7733
|
*/
|
|
7688
7734
|
CardsComponent.prototype.utilitySvc;
|
|
7689
|
-
/**
|
|
7690
|
-
* @type {?}
|
|
7691
|
-
* @private
|
|
7692
|
-
*/
|
|
7693
|
-
CardsComponent.prototype.configSvc;
|
|
7694
7735
|
/**
|
|
7695
7736
|
* @type {?}
|
|
7696
7737
|
* @private
|
|
@@ -7944,6 +7985,49 @@ PipePublicURLModule.decorators = [
|
|
|
7944
7985
|
},] }
|
|
7945
7986
|
];
|
|
7946
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
|
+
|
|
7947
8031
|
/**
|
|
7948
8032
|
* @fileoverview added by tsickle
|
|
7949
8033
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -8089,7 +8173,7 @@ DefaultThumbnailModule.decorators = [
|
|
|
8089
8173
|
class PipeDurationTransformPipe {
|
|
8090
8174
|
/**
|
|
8091
8175
|
* @param {?} data
|
|
8092
|
-
* @param {
|
|
8176
|
+
* @param {?=} type
|
|
8093
8177
|
* @return {?}
|
|
8094
8178
|
*/
|
|
8095
8179
|
transform(data, type) {
|
|
@@ -9515,37 +9599,24 @@ if (false) {
|
|
|
9515
9599
|
* @fileoverview added by tsickle
|
|
9516
9600
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9517
9601
|
*/
|
|
9518
|
-
|
|
9602
|
+
// @Directive({
|
|
9603
|
+
// selector: '[callFunctionOnInit]'
|
|
9604
|
+
// })
|
|
9605
|
+
class CardAssessmentComponent {
|
|
9519
9606
|
/**
|
|
9520
|
-
* @param {?} events
|
|
9521
|
-
* @param {?} translate
|
|
9522
|
-
* @param {?} langtranslations
|
|
9523
9607
|
* @param {?} configSvc
|
|
9524
9608
|
* @param {?} contSvc
|
|
9525
|
-
* @param {?} router
|
|
9526
9609
|
*/
|
|
9527
|
-
constructor(
|
|
9528
|
-
this.events = events;
|
|
9529
|
-
this.translate = translate;
|
|
9530
|
-
this.langtranslations = langtranslations;
|
|
9610
|
+
constructor(configSvc, contSvc) {
|
|
9531
9611
|
this.configSvc = configSvc;
|
|
9532
9612
|
this.contSvc = contSvc;
|
|
9533
|
-
this.
|
|
9534
|
-
this.
|
|
9535
|
-
this.
|
|
9536
|
-
this.
|
|
9537
|
-
this.
|
|
9538
|
-
this.
|
|
9539
|
-
|
|
9540
|
-
*/
|
|
9541
|
-
() => {
|
|
9542
|
-
if (localStorage.getItem('websiteLanguage')) {
|
|
9543
|
-
this.translate.setDefaultLang('en');
|
|
9544
|
-
/** @type {?} */
|
|
9545
|
-
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
9546
|
-
this.translate.use(lang);
|
|
9547
|
-
}
|
|
9548
|
-
}));
|
|
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;
|
|
9549
9620
|
}
|
|
9550
9621
|
/**
|
|
9551
9622
|
* @return {?}
|
|
@@ -9555,8 +9626,7 @@ class CardMdoChannelV1Component {
|
|
|
9555
9626
|
const instanceConfig = this.configSvc.instanceConfig;
|
|
9556
9627
|
if (instanceConfig) {
|
|
9557
9628
|
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
9558
|
-
this.
|
|
9559
|
-
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
9629
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
9560
9630
|
}
|
|
9561
9631
|
else {
|
|
9562
9632
|
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
@@ -9564,109 +9634,962 @@ class CardMdoChannelV1Component {
|
|
|
9564
9634
|
}
|
|
9565
9635
|
}
|
|
9566
9636
|
/**
|
|
9567
|
-
* @param {?}
|
|
9637
|
+
* @param {?} startDate
|
|
9568
9638
|
* @return {?}
|
|
9569
9639
|
*/
|
|
9570
|
-
|
|
9571
|
-
this.
|
|
9572
|
-
|
|
9573
|
-
|
|
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();
|
|
9574
9680
|
}
|
|
9575
|
-
this.contSvc.changeTelemetryData(contentData);
|
|
9576
9681
|
}
|
|
9682
|
+
// Method to clear the interval
|
|
9577
9683
|
/**
|
|
9578
|
-
* @param {?} channeldata
|
|
9579
9684
|
* @return {?}
|
|
9580
9685
|
*/
|
|
9581
|
-
|
|
9582
|
-
this.
|
|
9686
|
+
clearTimer() {
|
|
9687
|
+
clearInterval(this.intervalId);
|
|
9583
9688
|
}
|
|
9584
9689
|
/**
|
|
9585
|
-
* @param {?} content
|
|
9586
9690
|
* @return {?}
|
|
9587
9691
|
*/
|
|
9588
|
-
|
|
9589
|
-
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);
|
|
9590
9707
|
}
|
|
9591
9708
|
}
|
|
9592
|
-
|
|
9709
|
+
CardAssessmentComponent.decorators = [
|
|
9593
9710
|
{ type: Component, args: [{
|
|
9594
|
-
selector: 'sb-uic-card-
|
|
9595
|
-
template: "<mat-card class=\"
|
|
9596
|
-
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}"]
|
|
9597
9714
|
}] }
|
|
9598
9715
|
];
|
|
9599
9716
|
/** @nocollapse */
|
|
9600
|
-
|
|
9601
|
-
{ type: EventService },
|
|
9602
|
-
{ type: TranslateService },
|
|
9603
|
-
{ type: MultilingualTranslationsService$1 },
|
|
9717
|
+
CardAssessmentComponent.ctorParameters = () => [
|
|
9604
9718
|
{ type: ConfigurationsService$1 },
|
|
9605
|
-
{ type: WidgetContentService }
|
|
9606
|
-
{ type: Router }
|
|
9719
|
+
{ type: WidgetContentService }
|
|
9607
9720
|
];
|
|
9608
|
-
|
|
9721
|
+
CardAssessmentComponent.propDecorators = {
|
|
9609
9722
|
widgetData: [{ type: Input }],
|
|
9610
|
-
|
|
9611
|
-
|
|
9723
|
+
enrollmentMapData: [{ type: Input }],
|
|
9724
|
+
contentData: [{ type: Output }],
|
|
9725
|
+
isCardLoading: [{ type: Input }]
|
|
9612
9726
|
};
|
|
9613
9727
|
if (false) {
|
|
9614
9728
|
/** @type {?} */
|
|
9615
|
-
|
|
9729
|
+
CardAssessmentComponent.prototype.widgetData;
|
|
9616
9730
|
/** @type {?} */
|
|
9617
|
-
|
|
9731
|
+
CardAssessmentComponent.prototype.enrollmentMapData;
|
|
9618
9732
|
/** @type {?} */
|
|
9619
|
-
|
|
9733
|
+
CardAssessmentComponent.prototype.contentData;
|
|
9620
9734
|
/** @type {?} */
|
|
9621
|
-
|
|
9735
|
+
CardAssessmentComponent.prototype.isCardLoading;
|
|
9622
9736
|
/** @type {?} */
|
|
9623
|
-
|
|
9737
|
+
CardAssessmentComponent.prototype.stripData;
|
|
9624
9738
|
/** @type {?} */
|
|
9625
|
-
|
|
9739
|
+
CardAssessmentComponent.prototype.enrollList;
|
|
9626
9740
|
/** @type {?} */
|
|
9627
|
-
|
|
9741
|
+
CardAssessmentComponent.prototype.activeResource;
|
|
9628
9742
|
/** @type {?} */
|
|
9629
|
-
|
|
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;
|
|
9630
9752
|
/**
|
|
9631
9753
|
* @type {?}
|
|
9632
9754
|
* @private
|
|
9633
9755
|
*/
|
|
9634
|
-
|
|
9756
|
+
CardAssessmentComponent.prototype.intervalId;
|
|
9635
9757
|
/**
|
|
9636
9758
|
* @type {?}
|
|
9637
9759
|
* @private
|
|
9638
9760
|
*/
|
|
9639
|
-
|
|
9761
|
+
CardAssessmentComponent.prototype.configSvc;
|
|
9640
9762
|
/**
|
|
9641
9763
|
* @type {?}
|
|
9642
9764
|
* @private
|
|
9643
9765
|
*/
|
|
9644
|
-
|
|
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 {
|
|
9645
9788
|
/**
|
|
9646
|
-
* @
|
|
9647
|
-
* @private
|
|
9789
|
+
* @param {?} http
|
|
9648
9790
|
*/
|
|
9649
|
-
|
|
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) {
|
|
9650
9820
|
/**
|
|
9651
9821
|
* @type {?}
|
|
9652
9822
|
* @private
|
|
9653
9823
|
*/
|
|
9654
|
-
|
|
9655
|
-
/** @type {?} */
|
|
9656
|
-
CardMdoChannelV1Component.prototype.router;
|
|
9824
|
+
CertificateService.prototype.http;
|
|
9657
9825
|
}
|
|
9658
9826
|
|
|
9659
9827
|
/**
|
|
9660
9828
|
* @fileoverview added by tsickle
|
|
9661
9829
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9662
9830
|
*/
|
|
9663
|
-
class
|
|
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;
|
|
9670
10593
|
this.random = Math.random().toString(36).slice(2);
|
|
9671
10594
|
// public initials!: string
|
|
9672
10595
|
this.colors = [
|
|
@@ -9840,6 +10763,7 @@ AvatarPhotoLibModule.decorators = [
|
|
|
9840
10763
|
* @fileoverview added by tsickle
|
|
9841
10764
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9842
10765
|
*/
|
|
10766
|
+
const ɵ0$5 = HttpLoaderFactory;
|
|
9843
10767
|
class CardsModule {
|
|
9844
10768
|
}
|
|
9845
10769
|
CardsModule.decorators = [
|
|
@@ -9855,20 +10779,34 @@ CardsModule.decorators = [
|
|
|
9855
10779
|
CardKarmaProgramsComponent,
|
|
9856
10780
|
CardKarmaProgramsV2Component,
|
|
9857
10781
|
CardPortraitExtComponent,
|
|
10782
|
+
CardAssessmentComponent,
|
|
10783
|
+
CardProgressPortraitLibComponent,
|
|
9858
10784
|
CardMdoChannelV1Component
|
|
9859
10785
|
],
|
|
9860
10786
|
imports: [
|
|
9861
10787
|
CommonModule,
|
|
9862
10788
|
MatCardModule,
|
|
9863
10789
|
MatButtonModule,
|
|
10790
|
+
MatTooltipModule,
|
|
9864
10791
|
MatIconModule,
|
|
9865
10792
|
MatTooltipModule,
|
|
9866
10793
|
RouterModule,
|
|
9867
10794
|
PipePublicURLModule,
|
|
10795
|
+
ObjectToArrayPipeModule,
|
|
9868
10796
|
DisplayContentTypeLibModule,
|
|
9869
10797
|
DefaultThumbnailModule,
|
|
9870
10798
|
PipeDurationTransformModule,
|
|
9871
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
|
+
}),
|
|
9872
10810
|
AvatarPhotoLibModule
|
|
9873
10811
|
],
|
|
9874
10812
|
entryComponents: [CardsComponent],
|
|
@@ -9882,7 +10820,7 @@ CardsModule.decorators = [
|
|
|
9882
10820
|
CardMDOChannelComponent,
|
|
9883
10821
|
CardWideV2Component,
|
|
9884
10822
|
CardKarmaProgramsComponent,
|
|
9885
|
-
CardKarmaProgramsV2Component
|
|
10823
|
+
CardKarmaProgramsV2Component,
|
|
9886
10824
|
],
|
|
9887
10825
|
},] }
|
|
9888
10826
|
];
|
|
@@ -10829,13 +11767,13 @@ CompetencyPassbookMdoModule.decorators = [
|
|
|
10829
11767
|
*/
|
|
10830
11768
|
/** @type {?} */
|
|
10831
11769
|
const PROXY_SLAG_V8 = '/apis/proxies/v8';
|
|
10832
|
-
const ɵ0$
|
|
11770
|
+
const ɵ0$6 = /**
|
|
10833
11771
|
* @param {?} contentId
|
|
10834
11772
|
* @param {?} contentType
|
|
10835
11773
|
* @param {?} userId
|
|
10836
11774
|
* @return {?}
|
|
10837
11775
|
*/
|
|
10838
|
-
(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 = /**
|
|
10839
11777
|
* @param {?} contentId
|
|
10840
11778
|
* @param {?} contentType
|
|
10841
11779
|
* @return {?}
|
|
@@ -10848,9 +11786,9 @@ const ɵ0$3 = /**
|
|
|
10848
11786
|
(contentId, userID) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`;
|
|
10849
11787
|
/** @type {?} */
|
|
10850
11788
|
const API_END_POINTS$3 = {
|
|
10851
|
-
GET_RATING: (ɵ0$
|
|
11789
|
+
GET_RATING: (ɵ0$6),
|
|
10852
11790
|
ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,
|
|
10853
|
-
GET_RATING_SUMMARY: (ɵ1$
|
|
11791
|
+
GET_RATING_SUMMARY: (ɵ1$3),
|
|
10854
11792
|
GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,
|
|
10855
11793
|
GET_AUTHOR_REPLY: (ɵ2$2),
|
|
10856
11794
|
POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,
|
|
@@ -11506,5 +12444,5 @@ UserContentRatingLibModule.decorators = [
|
|
|
11506
12444
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
11507
12445
|
*/
|
|
11508
12446
|
|
|
11509
|
-
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 };
|
|
11510
12448
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|