@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.
Files changed (62) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +1243 -165
  2. package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-consumption.umd.min.js +2 -2
  4. package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +175 -0
  6. package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +261 -0
  7. package/esm2015/lib/_common/cards/cards.component.js +24 -25
  8. package/esm2015/lib/_common/cards/cards.module.js +28 -3
  9. package/esm2015/lib/_common/content-progress/content-progress.component.js +89 -0
  10. package/esm2015/lib/_common/content-progress/content-progress.module.js +22 -0
  11. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +43 -2
  12. package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +225 -0
  13. package/esm2015/lib/_common/dialog-components/dialog-components.module.js +43 -0
  14. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
  15. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +28 -0
  16. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +19 -0
  17. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +2 -2
  18. package/esm2015/lib/_services/certificate.service.js +63 -0
  19. package/esm2015/lib/_services/multilingual-translations.service.js +27 -24
  20. package/esm2015/lib/_services/widget-content.service.js +1 -2
  21. package/esm2015/lib/consumption.module.js +1 -1
  22. package/esm2015/public-api.js +2 -1
  23. package/esm2015/sunbird-cb-consumption.js +34 -26
  24. package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +202 -0
  25. package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +278 -0
  26. package/esm5/lib/_common/cards/cards.component.js +28 -17
  27. package/esm5/lib/_common/cards/cards.module.js +28 -3
  28. package/esm5/lib/_common/content-progress/content-progress.component.js +94 -0
  29. package/esm5/lib/_common/content-progress/content-progress.module.js +26 -0
  30. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +58 -8
  31. package/esm5/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +248 -0
  32. package/esm5/lib/_common/dialog-components/dialog-components.module.js +47 -0
  33. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
  34. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.js +57 -0
  35. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.module.js +23 -0
  36. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +3 -3
  37. package/esm5/lib/_services/certificate.service.js +70 -0
  38. package/esm5/lib/_services/multilingual-translations.service.js +27 -24
  39. package/esm5/lib/_services/widget-content.service.js +1 -2
  40. package/esm5/lib/consumption.module.js +1 -1
  41. package/esm5/public-api.js +2 -1
  42. package/esm5/sunbird-cb-consumption.js +34 -26
  43. package/fesm2015/sunbird-cb-consumption.js +1074 -136
  44. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  45. package/fesm5/sunbird-cb-consumption.js +1210 -140
  46. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  47. package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +28 -0
  48. package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +41 -0
  49. package/lib/_common/cards/cards.component.d.ts +5 -3
  50. package/lib/_common/content-progress/content-progress.component.d.ts +13 -0
  51. package/lib/_common/content-progress/content-progress.module.d.ts +2 -0
  52. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +2 -0
  53. package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +22 -0
  54. package/lib/_common/dialog-components/dialog-components.module.d.ts +2 -0
  55. package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +4 -0
  56. package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +2 -0
  57. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -1
  58. package/lib/_services/certificate.service.d.ts +8 -0
  59. package/package.json +1 -1
  60. package/public-api.d.ts +1 -0
  61. package/sunbird-cb-consumption.d.ts +32 -24
  62. 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
- /** @type {?} */
2607
- let nlabel = label;
2608
- nlabel = nlabel.toLowerCase();
2609
- /** @type {?} */
2610
- const sl = nlabel.split(' ');
2611
- sl.forEach((/**
2612
- * @param {?} w
2613
- * @param {?} index
2614
- * @return {?}
2615
- */
2616
- (w, index) => {
2617
- if (index !== 0) {
2618
- sl[index] = w[0].toUpperCase() + w.slice(1);
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 translationKey = type + '.' + nlabel + subtype;
2627
- return this.translate.instant(translationKey);
2630
+ const translationKeyn = type + '.' + nlabel;
2631
+ return this.translate.instant(translationKeyn);
2628
2632
  }
2629
- // tslint:disable-next-line: prefer-template
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
- this.processStrip(strip, this.transformContentsToWidgets(response.results.result.content, strip), 'done', calculateParentStatus, response.viewMoreUrl);
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, configSvc, contSvc, router) {
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 {?} type
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
- class CardMdoChannelV1Component {
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(events, translate, langtranslations, configSvc, contSvc, router) {
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.router = router;
9534
- this.channelData = new EventEmitter();
9535
- this.emitTelemetry = new EventEmitter();
9536
- this.widgetType = '';
9537
- this.widgetSubType = '';
9538
- this.langtranslations.languageSelectedObservable.subscribe((/**
9539
- * @return {?}
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.sourceLogos = instanceConfig.sources;
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 {?} contentData
9637
+ * @param {?} startDate
9568
9638
  * @return {?}
9569
9639
  */
9570
- raiseTelemetry(contentData) {
9571
- this.emitTelemetry.emit(contentData);
9572
- if (this.widgetData) {
9573
- contentData['typeOfTelemetry'] = 'mdo-channel';
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
- channelClick(channeldata) {
9582
- this.channelData.emit(channeldata);
9686
+ clearTimer() {
9687
+ clearInterval(this.intervalId);
9583
9688
  }
9584
9689
  /**
9585
- * @param {?} content
9586
9690
  * @return {?}
9587
9691
  */
9588
- redirectTo(content) {
9589
- this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`]);
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
- CardMdoChannelV1Component.decorators = [
9709
+ CardAssessmentComponent.decorators = [
9593
9710
  { type: Component, args: [{
9594
- selector: 'sb-uic-card-mdo-channel-v1',
9595
- 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>",
9596
- 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}"]
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
- CardMdoChannelV1Component.ctorParameters = () => [
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
- CardMdoChannelV1Component.propDecorators = {
9721
+ CardAssessmentComponent.propDecorators = {
9609
9722
  widgetData: [{ type: Input }],
9610
- channelData: [{ type: Output }],
9611
- emitTelemetry: [{ type: Output }]
9723
+ enrollmentMapData: [{ type: Input }],
9724
+ contentData: [{ type: Output }],
9725
+ isCardLoading: [{ type: Input }]
9612
9726
  };
9613
9727
  if (false) {
9614
9728
  /** @type {?} */
9615
- CardMdoChannelV1Component.prototype.widgetData;
9729
+ CardAssessmentComponent.prototype.widgetData;
9616
9730
  /** @type {?} */
9617
- CardMdoChannelV1Component.prototype.channelData;
9731
+ CardAssessmentComponent.prototype.enrollmentMapData;
9618
9732
  /** @type {?} */
9619
- CardMdoChannelV1Component.prototype.emitTelemetry;
9733
+ CardAssessmentComponent.prototype.contentData;
9620
9734
  /** @type {?} */
9621
- CardMdoChannelV1Component.prototype.defaultThumbnail;
9735
+ CardAssessmentComponent.prototype.isCardLoading;
9622
9736
  /** @type {?} */
9623
- CardMdoChannelV1Component.prototype.sourceLogos;
9737
+ CardAssessmentComponent.prototype.stripData;
9624
9738
  /** @type {?} */
9625
- CardMdoChannelV1Component.prototype.defaultSLogo;
9739
+ CardAssessmentComponent.prototype.enrollList;
9626
9740
  /** @type {?} */
9627
- CardMdoChannelV1Component.prototype.widgetType;
9741
+ CardAssessmentComponent.prototype.activeResource;
9628
9742
  /** @type {?} */
9629
- CardMdoChannelV1Component.prototype.widgetSubType;
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
- CardMdoChannelV1Component.prototype.events;
9756
+ CardAssessmentComponent.prototype.intervalId;
9635
9757
  /**
9636
9758
  * @type {?}
9637
9759
  * @private
9638
9760
  */
9639
- CardMdoChannelV1Component.prototype.translate;
9761
+ CardAssessmentComponent.prototype.configSvc;
9640
9762
  /**
9641
9763
  * @type {?}
9642
9764
  * @private
9643
9765
  */
9644
- CardMdoChannelV1Component.prototype.langtranslations;
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
- * @type {?}
9647
- * @private
9789
+ * @param {?} http
9648
9790
  */
9649
- CardMdoChannelV1Component.prototype.configSvc;
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
- CardMdoChannelV1Component.prototype.contSvc;
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 AvatarPhotoLibComponent {
9664
- constructor() {
9665
- this.size = '';
9666
- this.defaulfColor = '';
9667
- this.randomColor = false;
9668
- this.showBadge = false;
9669
- this.showInitials = false;
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$3 = /**
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$2 = /**
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$3),
11789
+ GET_RATING: (ɵ0$6),
10852
11790
  ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,
10853
- GET_RATING_SUMMARY: (ɵ1$2),
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, CardMdoChannelV1Component as ɵbe, PipePublicURLModule as ɵbf, PipePublicURL as ɵbg, DisplayContentTypeLibModule as ɵbh, DisplayContentTypeLibComponent as ɵbi, DefaultThumbnailModule as ɵbj, DefaultThumbnailDirective as ɵbk, PipeDurationTransformModule as ɵbl, PipeDurationTransformPipe as ɵbm, AvatarPhotoLibModule as ɵbn, AvatarPhotoLibComponent as ɵbo, CompetencyPassbookComponent as ɵbp, CompetencyPassbookService as ɵbq, PillsModule as ɵbr, PillsComponent as ɵbs, CompetencyPassbookMdoComponent as ɵbt, CompetencyPassbookMdoService as ɵbu, UserContentRatingLibComponent as ɵbv, ScrollableItemDirective as ɵbw, RatingService as ɵbx, UserContentRatingLibService as ɵby, MyHammerConfig$1 as ɵbz, MultilingualTranslationsService as ɵc, SlidersNgContentLibModule as ɵca, SlidersNgContentLibComponent as ɵcb, ScrollableItemModule as ɵcc, 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 };
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