@sunbird-cb/consumption 0.0.45 → 0.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sunbird-cb-consumption.umd.js +2004 -47
- package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
- package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +34 -24
- package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +2 -2
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +2 -2
- package/esm2015/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +2 -2
- package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +2 -2
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +1613 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +69 -0
- package/esm2015/public-api.js +2 -1
- package/esm2015/sunbird-cb-consumption.js +16 -15
- package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +46 -30
- package/esm5/lib/_common/cards/card-landscape/card-landscape.component.js +2 -2
- package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +2 -2
- package/esm5/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +2 -2
- package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +2 -2
- package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +1892 -0
- package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -0
- package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +73 -0
- package/esm5/public-api.js +2 -1
- package/esm5/sunbird-cb-consumption.js +16 -15
- package/fesm2015/sunbird-cb-consumption.js +1695 -28
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +1988 -34
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +4 -3
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +161 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts +149 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/sunbird-cb-consumption.d.ts +14 -13
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -7853,7 +7853,7 @@ class CardPortraitComponent {
|
|
|
7853
7853
|
CardPortraitComponent.decorators = [
|
|
7854
7854
|
{ type: Component, args: [{
|
|
7855
7855
|
selector: 'sb-uic-card-portrait',
|
|
7856
|
-
template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\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 class=\"duration-box right-corner\" *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\" *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 </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\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>",
|
|
7856
|
+
template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n <div class=\"duration-box right-corner\" *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\" *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 </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\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>",
|
|
7857
7857
|
styles: [".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}.card-standard-container{position:relative;width:245px;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px rgba(153,153,153,.2);overflow:hidden;height:346px;margin:20px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-standard-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;-o-object-fit:fill;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-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;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.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}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 100%);position:absolute;top:0;padding:8px}.cbp-mark p{opacity:1;background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;opacity:1;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:rgba(255,255,255,.95);font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}"]
|
|
7858
7858
|
}] }
|
|
7859
7859
|
];
|
|
@@ -8547,7 +8547,7 @@ class CardLandscapeComponent {
|
|
|
8547
8547
|
CardLandscapeComponent.decorators = [
|
|
8548
8548
|
{ type: Component, args: [{
|
|
8549
8549
|
selector: 'sb-uic-card-landscape',
|
|
8550
|
-
template: "<ng-container *ngIf=\"!isCardLoading\">\n <a class=\"cursor-pointer\" (click)=\"raiseTelemetry(widgetData?.content);getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" \n role=\"link\" i18n-aria-label>\n <mat-card class=\"card-portrait mr-2 card-portrait-clickable min-height-remove\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\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 \" [useTranslation]=\"false\" [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\">By {{ (widgetData.content.organisation && widgetData.content.organisation[0]) ? widgetData.content.organisation[0] : 'Karmayogi Bharat' }}</span>\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 class=\"flex flex-middle rating-session margin-top-xs\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">{{ 'cardcontentv2.mostTrending' | translate }}</span>\n </ng-container> -->\n </div>\n </div>\n </div>\n </mat-card>\n </a>\n</ng-container>\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 mr-2 card-portrait-clickable\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'100px'\" [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 <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\" [bindingClass]=\"'flex rounded margin-right-xs'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\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 </mat-card>\n</ng-container>",
|
|
8550
|
+
template: "<ng-container *ngIf=\"!isCardLoading\">\n <a class=\"cursor-pointer\" (click)=\"raiseTelemetry(widgetData?.content);getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" \n role=\"link\" i18n-aria-label>\n <mat-card class=\"card-portrait mr-2 card-portrait-clickable min-height-remove\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\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 \" [useTranslation]=\"false\" [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] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\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\">By {{ (widgetData.content.organisation && widgetData.content.organisation[0]) ? widgetData.content.organisation[0] : 'Karmayogi Bharat' }}</span>\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 class=\"flex flex-middle rating-session margin-top-xs\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">{{ 'cardcontentv2.mostTrending' | translate }}</span>\n </ng-container> -->\n </div>\n </div>\n </div>\n </mat-card>\n </a>\n</ng-container>\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 mr-2 card-portrait-clickable\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'100px'\" [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 <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\" [bindingClass]=\"'flex rounded margin-right-xs'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\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 </mat-card>\n</ng-container>",
|
|
8551
8551
|
styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:350px;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}.card-portrait-clickable{min-height:146px!important}.card-portrait-clickable .right-corner-portrait{right:8px;bottom:8px}.card-portrait-clickable:hover{transform:scale(1.02)}.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}@media only screen and (max-width:768px){.card-portrait{width:calc(100vw - 66px)}.card-wide-v2{min-height:356px}.card-wide-v2 .imageholder img{border-radius:12px 12px 0 0!important}.cbpwidth{width:calc(100vw - 100px)}}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 100%);position:absolute;top:0;padding:8px}.cbp-mark p{opacity:1;background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;opacity:1;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:rgba(255,255,255,.95);font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}"]
|
|
8552
8552
|
}] }
|
|
8553
8553
|
];
|
|
@@ -9683,7 +9683,7 @@ class CardPortraitExtComponent {
|
|
|
9683
9683
|
CardPortraitExtComponent.decorators = [
|
|
9684
9684
|
{ type: Component, args: [{
|
|
9685
9685
|
selector: 'sb-uic-card-portrait-ext',
|
|
9686
|
-
template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData?.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData?.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData?.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon \" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData?.content.creatorLogo\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData.content?.contentId)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.contentId]\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.contentId]\n }}\"></ng-container>\n </ng-container>\n <div class=\"duration-box right-corner\" *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\" *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 </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type [useTranslation]=\"false\" i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.topic\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.primaryCategory? widgetData?.content?.primaryCategory : 'Course'\">\n \n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.contentId\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.contentId)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n </mat-card>\n </ng-container>\n \n <ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n </ng-container>\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>",
|
|
9686
|
+
template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData?.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData?.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData?.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon \" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData?.content.creatorLogo\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData.content?.contentId)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.contentId] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2 \">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.contentId]\n }}\"></ng-container>\n </ng-container>\n <div class=\"duration-box right-corner\" *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\" *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 </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type [useTranslation]=\"false\" i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.topic\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.primaryCategory? widgetData?.content?.primaryCategory : 'Course'\">\n \n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.contentId\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.contentId)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n </mat-card>\n </ng-container>\n \n <ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n </ng-container>\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>",
|
|
9687
9687
|
styles: [".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}.card-standard-container{position:relative;width:245px;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px rgba(153,153,153,.2);overflow:hidden;height:346px;margin:20px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-standard-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;-o-object-fit:fill;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-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;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.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}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 100%);position:absolute;top:0;padding:8px}.cbp-mark p{opacity:1;background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;opacity:1;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:rgba(255,255,255,.95);font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}"]
|
|
9688
9688
|
}] }
|
|
9689
9689
|
];
|
|
@@ -9784,6 +9784,7 @@ class CardAssessmentComponent {
|
|
|
9784
9784
|
this.activeResource = [];
|
|
9785
9785
|
this.daysRemaining = 0;
|
|
9786
9786
|
this.daysPending = false;
|
|
9787
|
+
this.daysFinish = false;
|
|
9787
9788
|
}
|
|
9788
9789
|
/**
|
|
9789
9790
|
* @return {?}
|
|
@@ -9793,49 +9794,47 @@ class CardAssessmentComponent {
|
|
|
9793
9794
|
const instanceConfig = this.configSvc.instanceConfig;
|
|
9794
9795
|
if (instanceConfig) {
|
|
9795
9796
|
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
9796
|
-
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '
|
|
9797
|
-
}
|
|
9798
|
-
else {
|
|
9799
|
-
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
9800
|
-
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
9797
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
9801
9798
|
}
|
|
9799
|
+
// console.log( this.daysPending, " this.daysPending===")
|
|
9802
9800
|
}
|
|
9801
|
+
// updateStartDate(data: any ):void {
|
|
9802
|
+
// // this.startDate = startDate;
|
|
9803
|
+
// this.startCountdown(data)
|
|
9804
|
+
// }
|
|
9803
9805
|
/**
|
|
9804
|
-
* @param {?}
|
|
9805
|
-
* @return {?}
|
|
9806
|
-
*/
|
|
9807
|
-
updateStartDate(startDate) {
|
|
9808
|
-
this.startDate = startDate;
|
|
9809
|
-
this.startCountdown(this.startDate);
|
|
9810
|
-
}
|
|
9811
|
-
/**
|
|
9812
|
-
* @param {?} date
|
|
9806
|
+
* @param {?} data
|
|
9813
9807
|
* @return {?}
|
|
9814
9808
|
*/
|
|
9815
|
-
startCountdown(
|
|
9816
|
-
|
|
9817
|
-
this.updateCountdown(date);
|
|
9809
|
+
startCountdown(data) {
|
|
9810
|
+
this.updateCountdown(data.startDate, data.endDate);
|
|
9818
9811
|
// Update the countdown every second
|
|
9819
9812
|
this.intervalId = setInterval((/**
|
|
9820
9813
|
* @return {?}
|
|
9821
9814
|
*/
|
|
9822
9815
|
() => {
|
|
9823
|
-
this.updateCountdown(
|
|
9816
|
+
this.updateCountdown(data.startDate, data.endDate);
|
|
9824
9817
|
}), 1000);
|
|
9825
9818
|
}
|
|
9826
9819
|
// Method to update the countdown values
|
|
9827
9820
|
/**
|
|
9828
|
-
* @param {?}
|
|
9821
|
+
* @param {?} startDate
|
|
9822
|
+
* @param {?} endDate
|
|
9829
9823
|
* @return {?}
|
|
9830
9824
|
*/
|
|
9831
|
-
updateCountdown(
|
|
9825
|
+
updateCountdown(startDate, endDate) {
|
|
9832
9826
|
/** @type {?} */
|
|
9833
9827
|
const now = new Date().getTime();
|
|
9834
9828
|
// Current time in milliseconds
|
|
9835
9829
|
/** @type {?} */
|
|
9836
|
-
const targetTime = new Date(
|
|
9830
|
+
const targetTime = new Date(startDate).getTime();
|
|
9831
|
+
/** @type {?} */
|
|
9832
|
+
const targetEndDate = new Date(endDate).getTime();
|
|
9837
9833
|
/** @type {?} */
|
|
9838
9834
|
const distance = targetTime - now;
|
|
9835
|
+
// Distance in milliseconds
|
|
9836
|
+
/** @type {?} */
|
|
9837
|
+
const endDistance = now - targetEndDate;
|
|
9839
9838
|
if (distance > 0) {
|
|
9840
9839
|
this.daysRemaining = Math.ceil(distance / (1000 * 60 * 60 * 24));
|
|
9841
9840
|
this.daysPending = true;
|
|
@@ -9845,6 +9844,13 @@ class CardAssessmentComponent {
|
|
|
9845
9844
|
this.daysPending = false;
|
|
9846
9845
|
this.clearTimer();
|
|
9847
9846
|
}
|
|
9847
|
+
if (endDistance > 0) {
|
|
9848
|
+
this.daysFinish = true;
|
|
9849
|
+
this.clearTimer();
|
|
9850
|
+
}
|
|
9851
|
+
else {
|
|
9852
|
+
this.daysFinish = false;
|
|
9853
|
+
}
|
|
9848
9854
|
}
|
|
9849
9855
|
// Method to clear the interval
|
|
9850
9856
|
/**
|
|
@@ -9876,8 +9882,8 @@ class CardAssessmentComponent {
|
|
|
9876
9882
|
CardAssessmentComponent.decorators = [
|
|
9877
9883
|
{ type: Component, args: [{
|
|
9878
9884
|
selector: 'sb-uic-card-assessment',
|
|
9879
|
-
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
|
|
9880
|
-
styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:
|
|
9885
|
+
template: "\n<ng-container *ngIf=\"!isCardLoading\">\n\t<ng-container *ngIf=\"!daysFinish\">\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 </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 margin-top-m\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-l font-normal\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <span class=\"text-center\"><sb-uic-skeleton-loader [width]=\"'90px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader> </span> -->\n\t\t\t\t\t\t\t<mat-card-footer\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>\n\n",
|
|
9886
|
+
styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:340px;margin-top:16px;margin-right:12px;border-radius:12px}.image-container{width:145px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.image-container img{border-radius:8px;opacity:1;background-size:100%;width:145px!important;height:120px!important;display:flex}.title-container{width:155px;margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width: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;width:75px}span.start-span{border-radius:50px;border:2px solid rgba(0,0,0,.08);font-size:12px;text-align:center;position:absolute;bottom:0;width:140px;left:50%;margin-left:-70px;background-color:#fff;margin-bottom:62px;margin-right:8px}.assessment-card-footer{background:rgba(239,149,30,.16)!important;text-align:center;box-sizing:border-box;border-radius:0 0 8px 8px}.start-btn{background:#1b4ca1!important;color:#fff;font-size:14px;font-weight:600;border-radius:25px;text-align:center;padding:4px 12px}.dots-container{display:none}"]
|
|
9881
9887
|
}] }
|
|
9882
9888
|
];
|
|
9883
9889
|
/** @nocollapse */
|
|
@@ -9915,7 +9921,11 @@ if (false) {
|
|
|
9915
9921
|
/** @type {?} */
|
|
9916
9922
|
CardAssessmentComponent.prototype.startDate;
|
|
9917
9923
|
/** @type {?} */
|
|
9924
|
+
CardAssessmentComponent.prototype.endDate;
|
|
9925
|
+
/** @type {?} */
|
|
9918
9926
|
CardAssessmentComponent.prototype.daysPending;
|
|
9927
|
+
/** @type {?} */
|
|
9928
|
+
CardAssessmentComponent.prototype.daysFinish;
|
|
9919
9929
|
/**
|
|
9920
9930
|
* @type {?}
|
|
9921
9931
|
* @private
|
|
@@ -10362,7 +10372,7 @@ class CardProgressPortraitLibComponent {
|
|
|
10362
10372
|
CardProgressPortraitLibComponent.decorators = [
|
|
10363
10373
|
{ type: Component, args: [{
|
|
10364
10374
|
selector: 'sb-uic-card-progress-portrait-lib',
|
|
10365
|
-
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>",
|
|
10375
|
+
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] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\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>",
|
|
10366
10376
|
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}"]
|
|
10367
10377
|
}] }
|
|
10368
10378
|
];
|
|
@@ -11010,6 +11020,1663 @@ const WIDGET_REGISTRATION_LIB_CONFIG = [
|
|
|
11010
11020
|
}
|
|
11011
11021
|
];
|
|
11012
11022
|
|
|
11023
|
+
/**
|
|
11024
|
+
* @fileoverview added by tsickle
|
|
11025
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
11026
|
+
*/
|
|
11027
|
+
/**
|
|
11028
|
+
* @record
|
|
11029
|
+
*/
|
|
11030
|
+
function IStripUnitContentData$1() { }
|
|
11031
|
+
if (false) {
|
|
11032
|
+
/** @type {?} */
|
|
11033
|
+
IStripUnitContentData$1.prototype.key;
|
|
11034
|
+
/** @type {?} */
|
|
11035
|
+
IStripUnitContentData$1.prototype.canHideStrip;
|
|
11036
|
+
/** @type {?|undefined} */
|
|
11037
|
+
IStripUnitContentData$1.prototype.mode;
|
|
11038
|
+
/** @type {?} */
|
|
11039
|
+
IStripUnitContentData$1.prototype.showStrip;
|
|
11040
|
+
/** @type {?} */
|
|
11041
|
+
IStripUnitContentData$1.prototype.disableTranslate;
|
|
11042
|
+
/** @type {?|undefined} */
|
|
11043
|
+
IStripUnitContentData$1.prototype.widgets;
|
|
11044
|
+
/** @type {?} */
|
|
11045
|
+
IStripUnitContentData$1.prototype.stripTitle;
|
|
11046
|
+
/** @type {?|undefined} */
|
|
11047
|
+
IStripUnitContentData$1.prototype.stripTitleLink;
|
|
11048
|
+
/** @type {?|undefined} */
|
|
11049
|
+
IStripUnitContentData$1.prototype.sliderConfig;
|
|
11050
|
+
/** @type {?} */
|
|
11051
|
+
IStripUnitContentData$1.prototype.stripConfig;
|
|
11052
|
+
/** @type {?|undefined} */
|
|
11053
|
+
IStripUnitContentData$1.prototype.tabs;
|
|
11054
|
+
/** @type {?|undefined} */
|
|
11055
|
+
IStripUnitContentData$1.prototype.stripName;
|
|
11056
|
+
/** @type {?|undefined} */
|
|
11057
|
+
IStripUnitContentData$1.prototype.stripLogo;
|
|
11058
|
+
/** @type {?|undefined} */
|
|
11059
|
+
IStripUnitContentData$1.prototype.description;
|
|
11060
|
+
/** @type {?|undefined} */
|
|
11061
|
+
IStripUnitContentData$1.prototype.stripInfo;
|
|
11062
|
+
/** @type {?|undefined} */
|
|
11063
|
+
IStripUnitContentData$1.prototype.noDataWidget;
|
|
11064
|
+
/** @type {?|undefined} */
|
|
11065
|
+
IStripUnitContentData$1.prototype.errorWidget;
|
|
11066
|
+
/** @type {?} */
|
|
11067
|
+
IStripUnitContentData$1.prototype.showOnNoData;
|
|
11068
|
+
/** @type {?} */
|
|
11069
|
+
IStripUnitContentData$1.prototype.showOnLoader;
|
|
11070
|
+
/** @type {?} */
|
|
11071
|
+
IStripUnitContentData$1.prototype.showOnError;
|
|
11072
|
+
/** @type {?|undefined} */
|
|
11073
|
+
IStripUnitContentData$1.prototype.loaderWidgets;
|
|
11074
|
+
/** @type {?|undefined} */
|
|
11075
|
+
IStripUnitContentData$1.prototype.stripBackground;
|
|
11076
|
+
/** @type {?|undefined} */
|
|
11077
|
+
IStripUnitContentData$1.prototype.secondaryHeading;
|
|
11078
|
+
/** @type {?} */
|
|
11079
|
+
IStripUnitContentData$1.prototype.viewMoreUrl;
|
|
11080
|
+
/** @type {?|undefined} */
|
|
11081
|
+
IStripUnitContentData$1.prototype.request;
|
|
11082
|
+
}
|
|
11083
|
+
class ContentStripWithTabsPillsComponent extends WidgetBaseComponent {
|
|
11084
|
+
/**
|
|
11085
|
+
* @param {?} environment
|
|
11086
|
+
* @param {?} contentSvc
|
|
11087
|
+
* @param {?} loggerSvc
|
|
11088
|
+
* @param {?} eventSvc
|
|
11089
|
+
* @param {?} configSvc
|
|
11090
|
+
* @param {?} utilitySvc
|
|
11091
|
+
* @param {?} router
|
|
11092
|
+
* @param {?} userSvc
|
|
11093
|
+
* @param {?} translate
|
|
11094
|
+
* @param {?} langtranslations
|
|
11095
|
+
*/
|
|
11096
|
+
constructor(
|
|
11097
|
+
// private contentStripSvc: ContentStripNewMultipleService,
|
|
11098
|
+
environment, contentSvc, loggerSvc, eventSvc, configSvc, utilitySvc, router, userSvc, translate, langtranslations) {
|
|
11099
|
+
super();
|
|
11100
|
+
this.contentSvc = contentSvc;
|
|
11101
|
+
this.loggerSvc = loggerSvc;
|
|
11102
|
+
this.eventSvc = eventSvc;
|
|
11103
|
+
this.configSvc = configSvc;
|
|
11104
|
+
this.utilitySvc = utilitySvc;
|
|
11105
|
+
this.router = router;
|
|
11106
|
+
this.userSvc = userSvc;
|
|
11107
|
+
this.translate = translate;
|
|
11108
|
+
this.langtranslations = langtranslations;
|
|
11109
|
+
this.emptyResponse = new EventEmitter();
|
|
11110
|
+
this.viewAllResponse = new EventEmitter();
|
|
11111
|
+
this.telemtryResponse = new EventEmitter();
|
|
11112
|
+
this.providerId = '';
|
|
11113
|
+
this.emitViewAll = false;
|
|
11114
|
+
this.channnelName = '';
|
|
11115
|
+
this.id = `ws-strip-miltiple_${Math.random()}`;
|
|
11116
|
+
this.stripsResultDataMap = {};
|
|
11117
|
+
this.stripsKeyOrder = [];
|
|
11118
|
+
this.showAccordionData = true;
|
|
11119
|
+
this.showParentLoader = false;
|
|
11120
|
+
this.showParentError = false;
|
|
11121
|
+
this.showParentNoData = false;
|
|
11122
|
+
this.errorDataCount = 0;
|
|
11123
|
+
this.noDataCount = 0;
|
|
11124
|
+
this.successDataCount = 0;
|
|
11125
|
+
this.contentAvailable = true;
|
|
11126
|
+
this.baseUrl = this.configSvc.sitePath || '';
|
|
11127
|
+
this.veifiedKarmayogi = false;
|
|
11128
|
+
this.changeEventSubscription = null;
|
|
11129
|
+
this.defaultMaxWidgets = 12;
|
|
11130
|
+
this.todaysEvents = [];
|
|
11131
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
11132
|
+
this.translate.setDefaultLang('en');
|
|
11133
|
+
/** @type {?} */
|
|
11134
|
+
let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));
|
|
11135
|
+
lang = lang.replace(/\"/g, '');
|
|
11136
|
+
this.translate.use(lang);
|
|
11137
|
+
}
|
|
11138
|
+
this.environment = environment;
|
|
11139
|
+
}
|
|
11140
|
+
/**
|
|
11141
|
+
* @return {?}
|
|
11142
|
+
*/
|
|
11143
|
+
ngOnInit() {
|
|
11144
|
+
// const url = window.location.href
|
|
11145
|
+
this.initData();
|
|
11146
|
+
this.contentSvc.telemetryData$.subscribe((/**
|
|
11147
|
+
* @param {?} data
|
|
11148
|
+
* @return {?}
|
|
11149
|
+
*/
|
|
11150
|
+
(data) => {
|
|
11151
|
+
this.telemtryResponse.emit(data);
|
|
11152
|
+
}));
|
|
11153
|
+
}
|
|
11154
|
+
/**
|
|
11155
|
+
* @return {?}
|
|
11156
|
+
*/
|
|
11157
|
+
ngOnDestroy() {
|
|
11158
|
+
if (this.changeEventSubscription) {
|
|
11159
|
+
this.changeEventSubscription.unsubscribe();
|
|
11160
|
+
}
|
|
11161
|
+
}
|
|
11162
|
+
/**
|
|
11163
|
+
* @param {?} key
|
|
11164
|
+
* @return {?}
|
|
11165
|
+
*/
|
|
11166
|
+
showAccordion(key) {
|
|
11167
|
+
if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {
|
|
11168
|
+
return this.showAccordionData;
|
|
11169
|
+
}
|
|
11170
|
+
return true;
|
|
11171
|
+
}
|
|
11172
|
+
/**
|
|
11173
|
+
* @param {?} key
|
|
11174
|
+
* @return {?}
|
|
11175
|
+
*/
|
|
11176
|
+
setHiddenForStrip(key) {
|
|
11177
|
+
this.stripsResultDataMap[key].showStrip = false;
|
|
11178
|
+
sessionStorage.setItem(`cstrip_${key}`, '1');
|
|
11179
|
+
}
|
|
11180
|
+
/**
|
|
11181
|
+
* @private
|
|
11182
|
+
* @param {?} key
|
|
11183
|
+
* @return {?}
|
|
11184
|
+
*/
|
|
11185
|
+
getIfStripHidden(key) {
|
|
11186
|
+
/** @type {?} */
|
|
11187
|
+
const storageItem = sessionStorage.getItem(`cstrip_${key}`);
|
|
11188
|
+
return Boolean(storageItem !== '1');
|
|
11189
|
+
}
|
|
11190
|
+
/**
|
|
11191
|
+
* @private
|
|
11192
|
+
* @return {?}
|
|
11193
|
+
*/
|
|
11194
|
+
initData() {
|
|
11195
|
+
this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map((/**
|
|
11196
|
+
* @param {?} strip
|
|
11197
|
+
* @return {?}
|
|
11198
|
+
*/
|
|
11199
|
+
strip => strip.key)) || [];
|
|
11200
|
+
if (this.widgetData.loader && this.widgetData.strips.length) {
|
|
11201
|
+
this.showParentLoader = true;
|
|
11202
|
+
}
|
|
11203
|
+
// Fetch the data
|
|
11204
|
+
for (const strip of this.widgetData.strips) {
|
|
11205
|
+
if (this.checkForEmptyWidget(strip)) {
|
|
11206
|
+
this.fetchStripFromRequestData(strip, false);
|
|
11207
|
+
}
|
|
11208
|
+
else {
|
|
11209
|
+
this.processStrip(strip, [], 'done', true, null);
|
|
11210
|
+
}
|
|
11211
|
+
}
|
|
11212
|
+
// Subscription for changes
|
|
11213
|
+
/** @type {?} */
|
|
11214
|
+
const keyAndEvent = this.widgetData.strips
|
|
11215
|
+
.map((/**
|
|
11216
|
+
* @param {?} strip
|
|
11217
|
+
* @return {?}
|
|
11218
|
+
*/
|
|
11219
|
+
strip => ({
|
|
11220
|
+
key: strip.key,
|
|
11221
|
+
type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',
|
|
11222
|
+
from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',
|
|
11223
|
+
})))
|
|
11224
|
+
.filter((/**
|
|
11225
|
+
* @param {?} __0
|
|
11226
|
+
* @return {?}
|
|
11227
|
+
*/
|
|
11228
|
+
({ key, type, from }) => key && type && from));
|
|
11229
|
+
/** @type {?} */
|
|
11230
|
+
const eventTypeSet = new Set(keyAndEvent.map((/**
|
|
11231
|
+
* @param {?} e
|
|
11232
|
+
* @return {?}
|
|
11233
|
+
*/
|
|
11234
|
+
e => e.type)));
|
|
11235
|
+
this.changeEventSubscription = this.eventSvc.events$
|
|
11236
|
+
.pipe(filter((/**
|
|
11237
|
+
* @param {?} event
|
|
11238
|
+
* @return {?}
|
|
11239
|
+
*/
|
|
11240
|
+
event => eventTypeSet.has(event.eventType))))
|
|
11241
|
+
.subscribe((/**
|
|
11242
|
+
* @param {?} event
|
|
11243
|
+
* @return {?}
|
|
11244
|
+
*/
|
|
11245
|
+
event => {
|
|
11246
|
+
keyAndEvent
|
|
11247
|
+
.filter((/**
|
|
11248
|
+
* @param {?} e
|
|
11249
|
+
* @return {?}
|
|
11250
|
+
*/
|
|
11251
|
+
e => e.type === event.eventType && e.from === event.from))
|
|
11252
|
+
.map((/**
|
|
11253
|
+
* @param {?} e
|
|
11254
|
+
* @return {?}
|
|
11255
|
+
*/
|
|
11256
|
+
e => e.key))
|
|
11257
|
+
.forEach((/**
|
|
11258
|
+
* @param {?} k
|
|
11259
|
+
* @return {?}
|
|
11260
|
+
*/
|
|
11261
|
+
k => this.fetchStripFromKey(k, false)));
|
|
11262
|
+
}));
|
|
11263
|
+
}
|
|
11264
|
+
/**
|
|
11265
|
+
* @private
|
|
11266
|
+
* @param {?} key
|
|
11267
|
+
* @param {?=} calculateParentStatus
|
|
11268
|
+
* @return {?}
|
|
11269
|
+
*/
|
|
11270
|
+
fetchStripFromKey(key, calculateParentStatus = true) {
|
|
11271
|
+
/** @type {?} */
|
|
11272
|
+
const stripData = this.widgetData.strips.find((/**
|
|
11273
|
+
* @param {?} strip
|
|
11274
|
+
* @return {?}
|
|
11275
|
+
*/
|
|
11276
|
+
strip => strip.key === key));
|
|
11277
|
+
if (stripData) {
|
|
11278
|
+
this.fetchStripFromRequestData(stripData, calculateParentStatus);
|
|
11279
|
+
}
|
|
11280
|
+
}
|
|
11281
|
+
/**
|
|
11282
|
+
* @param {?} data
|
|
11283
|
+
* @return {?}
|
|
11284
|
+
*/
|
|
11285
|
+
isStripShowing(data) {
|
|
11286
|
+
/** @type {?} */
|
|
11287
|
+
let count = 0;
|
|
11288
|
+
if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&
|
|
11289
|
+
data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {
|
|
11290
|
+
data.widgets.forEach((/**
|
|
11291
|
+
* @param {?} key
|
|
11292
|
+
* @return {?}
|
|
11293
|
+
*/
|
|
11294
|
+
(key) => {
|
|
11295
|
+
if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {
|
|
11296
|
+
count = count + 1;
|
|
11297
|
+
}
|
|
11298
|
+
}));
|
|
11299
|
+
if (count > 0) {
|
|
11300
|
+
data.showStrip = true;
|
|
11301
|
+
}
|
|
11302
|
+
else {
|
|
11303
|
+
data.showStrip = false;
|
|
11304
|
+
}
|
|
11305
|
+
}
|
|
11306
|
+
// console.log('data.key', data, data.key, data.widgets);
|
|
11307
|
+
return data.showStrip;
|
|
11308
|
+
}
|
|
11309
|
+
/**
|
|
11310
|
+
* @return {?}
|
|
11311
|
+
*/
|
|
11312
|
+
get isMobile() {
|
|
11313
|
+
return this.utilitySvc.isMobile || false;
|
|
11314
|
+
}
|
|
11315
|
+
/**
|
|
11316
|
+
* @param {?} data
|
|
11317
|
+
* @return {?}
|
|
11318
|
+
*/
|
|
11319
|
+
getdata(data) {
|
|
11320
|
+
if (data.stripInfo) {
|
|
11321
|
+
return data.stripInfo.widget;
|
|
11322
|
+
}
|
|
11323
|
+
return {};
|
|
11324
|
+
}
|
|
11325
|
+
/**
|
|
11326
|
+
* @param {?} wData
|
|
11327
|
+
* @param {?} data
|
|
11328
|
+
* @return {?}
|
|
11329
|
+
*/
|
|
11330
|
+
checkCondition(wData, data) {
|
|
11331
|
+
if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {
|
|
11332
|
+
return !wData.strips[0].stripConfig.hideShowAll;
|
|
11333
|
+
}
|
|
11334
|
+
return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;
|
|
11335
|
+
}
|
|
11336
|
+
/**
|
|
11337
|
+
* @param {?} data
|
|
11338
|
+
* @return {?}
|
|
11339
|
+
*/
|
|
11340
|
+
checkVisible(data) {
|
|
11341
|
+
return data.stripInfo && data.stripInfo.visibilityMode === 'visible';
|
|
11342
|
+
}
|
|
11343
|
+
/**
|
|
11344
|
+
* @param {?} data
|
|
11345
|
+
* @return {?}
|
|
11346
|
+
*/
|
|
11347
|
+
getContineuLearningLenth(data) {
|
|
11348
|
+
return data.widgets ? data.widgets.length : 0;
|
|
11349
|
+
}
|
|
11350
|
+
/**
|
|
11351
|
+
* @param {?} data
|
|
11352
|
+
* @return {?}
|
|
11353
|
+
*/
|
|
11354
|
+
getLength(data) {
|
|
11355
|
+
if (!data.tabs || !data.tabs.length) {
|
|
11356
|
+
return data.widgets ? data.widgets.length : 0;
|
|
11357
|
+
}
|
|
11358
|
+
{
|
|
11359
|
+
// if tabs are there check if each tab has widgets and get the tab with max widgets
|
|
11360
|
+
/** @type {?} */
|
|
11361
|
+
let tabWithMaxWidgets = {};
|
|
11362
|
+
data.tabs.forEach((/**
|
|
11363
|
+
* @param {?} tab
|
|
11364
|
+
* @return {?}
|
|
11365
|
+
*/
|
|
11366
|
+
(tab) => {
|
|
11367
|
+
if (tab.pillsData && tab.pillsData.length) {
|
|
11368
|
+
tabWithMaxWidgets = tab.pillsData.reduce((/**
|
|
11369
|
+
* @param {?} prev
|
|
11370
|
+
* @param {?} current
|
|
11371
|
+
* @return {?}
|
|
11372
|
+
*/
|
|
11373
|
+
(prev, current) => {
|
|
11374
|
+
if (!prev.widgets && !current.widgets) {
|
|
11375
|
+
return current;
|
|
11376
|
+
}
|
|
11377
|
+
if (prev.widgets && current.widgets) {
|
|
11378
|
+
return (prev.widgets.length > current.widgets.length) ? prev : current;
|
|
11379
|
+
}
|
|
11380
|
+
if (current.widgets && !prev.widgets) {
|
|
11381
|
+
return current;
|
|
11382
|
+
}
|
|
11383
|
+
if (!current.widgets && prev.widgets) {
|
|
11384
|
+
return prev;
|
|
11385
|
+
}
|
|
11386
|
+
return current;
|
|
11387
|
+
// return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current
|
|
11388
|
+
// tslint:disable-next-line: align
|
|
11389
|
+
}), data.tabs[0]);
|
|
11390
|
+
}
|
|
11391
|
+
}));
|
|
11392
|
+
// if tabs has atleast 1 widgets then strip will show or else not
|
|
11393
|
+
return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;
|
|
11394
|
+
}
|
|
11395
|
+
}
|
|
11396
|
+
/**
|
|
11397
|
+
* @private
|
|
11398
|
+
* @param {?} v6filters
|
|
11399
|
+
* @return {?}
|
|
11400
|
+
*/
|
|
11401
|
+
getFiltersFromArray(v6filters) {
|
|
11402
|
+
/** @type {?} */
|
|
11403
|
+
const filters = {};
|
|
11404
|
+
if (v6filters.constructor === Array) {
|
|
11405
|
+
v6filters.forEach(((/**
|
|
11406
|
+
* @param {?} f
|
|
11407
|
+
* @return {?}
|
|
11408
|
+
*/
|
|
11409
|
+
(f) => {
|
|
11410
|
+
Object.keys(f).forEach((/**
|
|
11411
|
+
* @param {?} key
|
|
11412
|
+
* @return {?}
|
|
11413
|
+
*/
|
|
11414
|
+
key => {
|
|
11415
|
+
filters[key] = f[key];
|
|
11416
|
+
}));
|
|
11417
|
+
})));
|
|
11418
|
+
return filters;
|
|
11419
|
+
}
|
|
11420
|
+
return v6filters;
|
|
11421
|
+
}
|
|
11422
|
+
/**
|
|
11423
|
+
* @private
|
|
11424
|
+
* @param {?} v6filters
|
|
11425
|
+
* @return {?}
|
|
11426
|
+
*/
|
|
11427
|
+
transformSearchV6FiltersV2(v6filters) {
|
|
11428
|
+
/** @type {?} */
|
|
11429
|
+
const filters = {};
|
|
11430
|
+
if (v6filters.constructor === Array) {
|
|
11431
|
+
v6filters.forEach(((/**
|
|
11432
|
+
* @param {?} f
|
|
11433
|
+
* @return {?}
|
|
11434
|
+
*/
|
|
11435
|
+
(f) => {
|
|
11436
|
+
Object.keys(f).forEach((/**
|
|
11437
|
+
* @param {?} key
|
|
11438
|
+
* @return {?}
|
|
11439
|
+
*/
|
|
11440
|
+
key => {
|
|
11441
|
+
filters[key] = f[key];
|
|
11442
|
+
}));
|
|
11443
|
+
})));
|
|
11444
|
+
return filters;
|
|
11445
|
+
}
|
|
11446
|
+
return v6filters;
|
|
11447
|
+
}
|
|
11448
|
+
/**
|
|
11449
|
+
* @param {?} filters
|
|
11450
|
+
* @return {?}
|
|
11451
|
+
*/
|
|
11452
|
+
checkForDateFilters(filters) {
|
|
11453
|
+
/** @type {?} */
|
|
11454
|
+
let userData;
|
|
11455
|
+
if (this.configSvc.userProfile) {
|
|
11456
|
+
userData = this.configSvc.userProfile;
|
|
11457
|
+
}
|
|
11458
|
+
if (filters && filters.hasOwnProperty('batches.endDate')) {
|
|
11459
|
+
// tslint:disable-next-line
|
|
11460
|
+
filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>=']);
|
|
11461
|
+
}
|
|
11462
|
+
else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {
|
|
11463
|
+
// tslint:disable-next-line
|
|
11464
|
+
filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>=']);
|
|
11465
|
+
}
|
|
11466
|
+
else if (filters.organisation &&
|
|
11467
|
+
filters.organisation.indexOf('<orgID>') >= 0) {
|
|
11468
|
+
if (this.providerId) {
|
|
11469
|
+
filters.organisation = this.providerId;
|
|
11470
|
+
}
|
|
11471
|
+
else {
|
|
11472
|
+
filters.organisation = userData && userData.rootOrgId;
|
|
11473
|
+
if (filters && filters.hasOwnProperty('designation')) {
|
|
11474
|
+
filters.designation = userData.professionalDetails.length > 0 ?
|
|
11475
|
+
userData.professionalDetails[0].designation : '';
|
|
11476
|
+
}
|
|
11477
|
+
}
|
|
11478
|
+
}
|
|
11479
|
+
return filters;
|
|
11480
|
+
}
|
|
11481
|
+
/**
|
|
11482
|
+
* @private
|
|
11483
|
+
* @param {?} strip
|
|
11484
|
+
* @param {?=} calculateParentStatus
|
|
11485
|
+
* @return {?}
|
|
11486
|
+
*/
|
|
11487
|
+
fetchStripFromRequestData(strip, calculateParentStatus = true) {
|
|
11488
|
+
// setting initial values
|
|
11489
|
+
strip.loaderWidgets = this.transformSkeletonToWidgets(strip);
|
|
11490
|
+
this.processStrip(strip, [], 'fetching', false, null);
|
|
11491
|
+
this.fetchFromSearchV6(strip, calculateParentStatus);
|
|
11492
|
+
this.fetchForYouData(strip, calculateParentStatus);
|
|
11493
|
+
this.fetchAllCbpPlans(strip, calculateParentStatus);
|
|
11494
|
+
// this.enrollInterval = setInterval(() => {
|
|
11495
|
+
// this.fetchAllCbpPlans(strip, calculateParentStatus)
|
|
11496
|
+
// }, 1000)
|
|
11497
|
+
}
|
|
11498
|
+
/**
|
|
11499
|
+
* @param {?} data
|
|
11500
|
+
* @return {?}
|
|
11501
|
+
*/
|
|
11502
|
+
toggleInfo(data) {
|
|
11503
|
+
/** @type {?} */
|
|
11504
|
+
const stripInfo = this.stripsResultDataMap[data.key].stripInfo;
|
|
11505
|
+
if (stripInfo) {
|
|
11506
|
+
if (stripInfo.mode !== 'below') {
|
|
11507
|
+
this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);
|
|
11508
|
+
stripInfo.mode = 'below';
|
|
11509
|
+
}
|
|
11510
|
+
if (stripInfo.mode === 'below') {
|
|
11511
|
+
this.stripsResultDataMap[data.key].stripInfo = Object.assign({}, stripInfo, { visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden' });
|
|
11512
|
+
}
|
|
11513
|
+
}
|
|
11514
|
+
}
|
|
11515
|
+
/**
|
|
11516
|
+
* @private
|
|
11517
|
+
* @param {?} contents
|
|
11518
|
+
* @param {?} strip
|
|
11519
|
+
* @return {?}
|
|
11520
|
+
*/
|
|
11521
|
+
transformContentsToWidgets(contents, strip) {
|
|
11522
|
+
return (contents || []).map((/**
|
|
11523
|
+
* @param {?} content
|
|
11524
|
+
* @param {?} idx
|
|
11525
|
+
* @return {?}
|
|
11526
|
+
*/
|
|
11527
|
+
(content, idx) => (content ? {
|
|
11528
|
+
widgetType: 'cardLib',
|
|
11529
|
+
widgetSubType: 'cardContentLib',
|
|
11530
|
+
widgetHostClass: 'mb-2',
|
|
11531
|
+
widgetData: Object.assign({ content }, (content.batch && { batch: content.batch }), { cardSubType: strip.stripConfig && strip.stripConfig.cardSubType, cardCustomeClass: strip.customeClass ? strip.customeClass : '', context: { pageSection: strip.key, position: idx }, intranetMode: strip.stripConfig && strip.stripConfig.intranetMode, deletedMode: strip.stripConfig && strip.stripConfig.deletedMode, contentTags: strip.stripConfig && strip.stripConfig.contentTags }),
|
|
11532
|
+
} : {
|
|
11533
|
+
widgetType: 'card',
|
|
11534
|
+
widgetSubType: 'cardContent',
|
|
11535
|
+
widgetHostClass: 'mb-2',
|
|
11536
|
+
widgetData: {},
|
|
11537
|
+
})));
|
|
11538
|
+
}
|
|
11539
|
+
/**
|
|
11540
|
+
* @private
|
|
11541
|
+
* @param {?} contents
|
|
11542
|
+
* @param {?} strip
|
|
11543
|
+
* @return {?}
|
|
11544
|
+
*/
|
|
11545
|
+
transformEventsToWidgets(contents, strip) {
|
|
11546
|
+
this.eventSvc.setEventListData(contents);
|
|
11547
|
+
return (this.eventSvc.todaysEvents || []).map((/**
|
|
11548
|
+
* @param {?} content
|
|
11549
|
+
* @param {?} idx
|
|
11550
|
+
* @return {?}
|
|
11551
|
+
*/
|
|
11552
|
+
(content, idx) => (content ? {
|
|
11553
|
+
widgetType: 'card',
|
|
11554
|
+
widgetSubType: 'eventHubCard',
|
|
11555
|
+
widgetHostClass: 'mb-2',
|
|
11556
|
+
widgetData: {
|
|
11557
|
+
content,
|
|
11558
|
+
cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,
|
|
11559
|
+
cardCustomeClass: strip.customeClass ? strip.customeClass : '',
|
|
11560
|
+
context: { pageSection: strip.key, position: idx },
|
|
11561
|
+
intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,
|
|
11562
|
+
deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,
|
|
11563
|
+
contentTags: strip.stripConfig && strip.stripConfig.contentTags,
|
|
11564
|
+
},
|
|
11565
|
+
} : {
|
|
11566
|
+
widgetType: 'card',
|
|
11567
|
+
widgetSubType: 'eventHubCard',
|
|
11568
|
+
widgetHostClass: 'mb-2',
|
|
11569
|
+
widgetData: {},
|
|
11570
|
+
})));
|
|
11571
|
+
}
|
|
11572
|
+
/**
|
|
11573
|
+
* @private
|
|
11574
|
+
* @param {?} strip
|
|
11575
|
+
* @return {?}
|
|
11576
|
+
*/
|
|
11577
|
+
transformSkeletonToWidgets(strip) {
|
|
11578
|
+
return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map((/**
|
|
11579
|
+
* @param {?} _content
|
|
11580
|
+
* @return {?}
|
|
11581
|
+
*/
|
|
11582
|
+
_content => ({
|
|
11583
|
+
widgetType: 'cardLib',
|
|
11584
|
+
widgetSubType: 'cardContentLib',
|
|
11585
|
+
widgetHostClass: 'mb-2',
|
|
11586
|
+
widgetData: {
|
|
11587
|
+
cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',
|
|
11588
|
+
cardCustomeClass: strip.customeClass ? strip.customeClass : '',
|
|
11589
|
+
},
|
|
11590
|
+
})));
|
|
11591
|
+
}
|
|
11592
|
+
/**
|
|
11593
|
+
* @private
|
|
11594
|
+
* @param {?} strip
|
|
11595
|
+
* @param {?=} results
|
|
11596
|
+
* @param {?=} fetchStatus
|
|
11597
|
+
* @param {?=} calculateParentStatus
|
|
11598
|
+
* @param {?=} _viewMoreUrl
|
|
11599
|
+
* @param {?=} tabsResults
|
|
11600
|
+
* @return {?}
|
|
11601
|
+
*/
|
|
11602
|
+
processStrip(strip, results = [], fetchStatus, calculateParentStatus = true, _viewMoreUrl, tabsResults) {
|
|
11603
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11604
|
+
/** @type {?} */
|
|
11605
|
+
const stripData = {
|
|
11606
|
+
viewMoreUrl: strip.viewMoreUrl,
|
|
11607
|
+
key: strip.key,
|
|
11608
|
+
canHideStrip: Boolean(strip.canHideStrip),
|
|
11609
|
+
showStrip: this.getIfStripHidden(strip.key),
|
|
11610
|
+
noDataWidget: strip.noDataWidget,
|
|
11611
|
+
errorWidget: strip.errorWidget,
|
|
11612
|
+
stripInfo: strip.info,
|
|
11613
|
+
stripTitle: strip.title,
|
|
11614
|
+
stripTitleLink: strip.stripTitleLink,
|
|
11615
|
+
disableTranslate: strip.disableTranslate,
|
|
11616
|
+
sliderConfig: strip.sliderConfig,
|
|
11617
|
+
tabs: tabsResults ? tabsResults : strip.tabs,
|
|
11618
|
+
stripName: strip.name,
|
|
11619
|
+
mode: strip.mode,
|
|
11620
|
+
stripConfig: strip.stripConfig,
|
|
11621
|
+
stripBackground: strip.stripBackground,
|
|
11622
|
+
secondaryHeading: strip.secondaryHeading,
|
|
11623
|
+
loaderWidgets: strip.loaderWidgets || [],
|
|
11624
|
+
widgets: fetchStatus === 'done'
|
|
11625
|
+
? [
|
|
11626
|
+
...(strip.preWidgets || []).map((/**
|
|
11627
|
+
* @param {?} w
|
|
11628
|
+
* @return {?}
|
|
11629
|
+
*/
|
|
11630
|
+
w => (Object.assign({}, w, { widgetHostClass: `mb-2 ${w.widgetHostClass}` })))),
|
|
11631
|
+
...results,
|
|
11632
|
+
...(strip.postWidgets || []).map((/**
|
|
11633
|
+
* @param {?} w
|
|
11634
|
+
* @return {?}
|
|
11635
|
+
*/
|
|
11636
|
+
w => (Object.assign({}, w, { widgetHostClass: `mb-2 ${w.widgetHostClass}` })))),
|
|
11637
|
+
]
|
|
11638
|
+
: [],
|
|
11639
|
+
showOnNoData: Boolean(strip.noDataWidget &&
|
|
11640
|
+
!((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&
|
|
11641
|
+
fetchStatus === 'done'),
|
|
11642
|
+
showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),
|
|
11643
|
+
showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),
|
|
11644
|
+
};
|
|
11645
|
+
// const stripData = this.stripsResultDataMap[strip.key]
|
|
11646
|
+
this.stripsResultDataMap = Object.assign({}, this.stripsResultDataMap, { [strip.key]: stripData });
|
|
11647
|
+
if (!tabsResults) {
|
|
11648
|
+
if (calculateParentStatus &&
|
|
11649
|
+
(fetchStatus === 'done' || fetchStatus === 'error') &&
|
|
11650
|
+
stripData.widgets) {
|
|
11651
|
+
this.checkParentStatus(fetchStatus, stripData.widgets.length);
|
|
11652
|
+
}
|
|
11653
|
+
if (calculateParentStatus && !(results && results.length > 0)) {
|
|
11654
|
+
this.contentAvailable = false;
|
|
11655
|
+
}
|
|
11656
|
+
else if (results && results.length > 0) {
|
|
11657
|
+
this.contentAvailable = true;
|
|
11658
|
+
}
|
|
11659
|
+
}
|
|
11660
|
+
else {
|
|
11661
|
+
this.contentAvailable = true;
|
|
11662
|
+
}
|
|
11663
|
+
});
|
|
11664
|
+
}
|
|
11665
|
+
/**
|
|
11666
|
+
* @private
|
|
11667
|
+
* @param {?} fetchStatus
|
|
11668
|
+
* @param {?} stripWidgetsCount
|
|
11669
|
+
* @return {?}
|
|
11670
|
+
*/
|
|
11671
|
+
checkParentStatus(fetchStatus, stripWidgetsCount) {
|
|
11672
|
+
if (fetchStatus === 'done' && !stripWidgetsCount) {
|
|
11673
|
+
this.noDataCount += 1;
|
|
11674
|
+
}
|
|
11675
|
+
else if (fetchStatus === 'done' && stripWidgetsCount) {
|
|
11676
|
+
this.successDataCount += 1;
|
|
11677
|
+
}
|
|
11678
|
+
else if (fetchStatus === 'error') {
|
|
11679
|
+
this.errorDataCount += 1;
|
|
11680
|
+
}
|
|
11681
|
+
/** @type {?} */
|
|
11682
|
+
const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;
|
|
11683
|
+
/** @type {?} */
|
|
11684
|
+
const totalCount = this.widgetData.strips.length;
|
|
11685
|
+
if (this.successDataCount > 0 && settledCount < totalCount) {
|
|
11686
|
+
return;
|
|
11687
|
+
}
|
|
11688
|
+
this.showParentLoader = settledCount !== totalCount;
|
|
11689
|
+
this.showParentNoData =
|
|
11690
|
+
this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;
|
|
11691
|
+
this.showParentError = this.errorDataCount === totalCount;
|
|
11692
|
+
}
|
|
11693
|
+
/**
|
|
11694
|
+
* @param {?} strip
|
|
11695
|
+
* @return {?}
|
|
11696
|
+
*/
|
|
11697
|
+
checkForEmptyWidget(strip) {
|
|
11698
|
+
if (strip.request &&
|
|
11699
|
+
((strip.request.api && Object.keys(strip.request.api).length) ||
|
|
11700
|
+
(strip.request.search && Object.keys(strip.request.search).length) ||
|
|
11701
|
+
(strip.request.searchRegionRecommendation &&
|
|
11702
|
+
Object.keys(strip.request.searchRegionRecommendation).length) ||
|
|
11703
|
+
(strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||
|
|
11704
|
+
(strip && strip.tabs.length))) {
|
|
11705
|
+
return true;
|
|
11706
|
+
}
|
|
11707
|
+
return false;
|
|
11708
|
+
}
|
|
11709
|
+
/**
|
|
11710
|
+
* @param {?} strip
|
|
11711
|
+
* @param {?} currentTab
|
|
11712
|
+
* @param {?} calculateParentStatus
|
|
11713
|
+
* @return {?}
|
|
11714
|
+
*/
|
|
11715
|
+
getTabDataByfilter(strip, currentTab, calculateParentStatus) {
|
|
11716
|
+
// tslint:disable:no-console
|
|
11717
|
+
console.log('strip -- ', strip);
|
|
11718
|
+
// tslint:disable:no-console
|
|
11719
|
+
console.log('currentTab -- ', currentTab);
|
|
11720
|
+
// tslint:disable:no-console
|
|
11721
|
+
console.log('calculateParentStatus-- ', calculateParentStatus);
|
|
11722
|
+
// TODO: Write logic for individual filter if passed in config
|
|
11723
|
+
// add switch case based on config key passed
|
|
11724
|
+
}
|
|
11725
|
+
/**
|
|
11726
|
+
* @param {?} stripsResultDataMap
|
|
11727
|
+
* @param {?} key
|
|
11728
|
+
* @return {?}
|
|
11729
|
+
*/
|
|
11730
|
+
getSelectedIndex(stripsResultDataMap, key) {
|
|
11731
|
+
/** @type {?} */
|
|
11732
|
+
let returnValue = 0;
|
|
11733
|
+
return returnValue;
|
|
11734
|
+
}
|
|
11735
|
+
/**
|
|
11736
|
+
* @param {?} label
|
|
11737
|
+
* @param {?} type
|
|
11738
|
+
* @return {?}
|
|
11739
|
+
*/
|
|
11740
|
+
translateLabels(label, type) {
|
|
11741
|
+
return this.langtranslations.translateLabel(label, type, '');
|
|
11742
|
+
}
|
|
11743
|
+
/**
|
|
11744
|
+
* @param {?} index
|
|
11745
|
+
* @param {?} item
|
|
11746
|
+
* @return {?}
|
|
11747
|
+
*/
|
|
11748
|
+
identify(index, item) {
|
|
11749
|
+
if (index >= 0) { }
|
|
11750
|
+
return item;
|
|
11751
|
+
}
|
|
11752
|
+
/**
|
|
11753
|
+
* @param {?} index
|
|
11754
|
+
* @param {?} item
|
|
11755
|
+
* @return {?}
|
|
11756
|
+
*/
|
|
11757
|
+
tracker(index, item) {
|
|
11758
|
+
if (index >= 0) { }
|
|
11759
|
+
return get(item, 'widgetData.content.identifier');
|
|
11760
|
+
}
|
|
11761
|
+
/**
|
|
11762
|
+
* @param {?} stripData
|
|
11763
|
+
* @return {?}
|
|
11764
|
+
*/
|
|
11765
|
+
raiseTelemetry(stripData) {
|
|
11766
|
+
this.telemtryResponse.emit(stripData);
|
|
11767
|
+
}
|
|
11768
|
+
/**
|
|
11769
|
+
* @param {?} stripData
|
|
11770
|
+
* @param {?} path
|
|
11771
|
+
* @param {?} queryParamsData
|
|
11772
|
+
* @return {?}
|
|
11773
|
+
*/
|
|
11774
|
+
redirectViewAll(stripData, path, queryParamsData) {
|
|
11775
|
+
if (this.emitViewAll) {
|
|
11776
|
+
this.viewAllResponse.emit(stripData);
|
|
11777
|
+
}
|
|
11778
|
+
else {
|
|
11779
|
+
this.router.navigate([path], { queryParams: queryParamsData });
|
|
11780
|
+
}
|
|
11781
|
+
}
|
|
11782
|
+
// new code writting from here====new====
|
|
11783
|
+
/**
|
|
11784
|
+
* @param {?} strip
|
|
11785
|
+
* @param {?=} calculateParentStatus
|
|
11786
|
+
* @return {?}
|
|
11787
|
+
*/
|
|
11788
|
+
fetchForYouData(strip, calculateParentStatus = true) {
|
|
11789
|
+
if (strip && strip.type === 'forYou') {
|
|
11790
|
+
if (strip.tabs && strip.tabs.length) {
|
|
11791
|
+
/** @type {?} */
|
|
11792
|
+
const firstTab = strip.tabs[0];
|
|
11793
|
+
/** @type {?} */
|
|
11794
|
+
const pillData = firstTab.pillsData[0];
|
|
11795
|
+
if (pillData.requestRequired) {
|
|
11796
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
11797
|
+
/** @type {?} */
|
|
11798
|
+
const allPills = this.stripsResultDataMap[strip.key].tabs[0].pillsData;
|
|
11799
|
+
/** @type {?} */
|
|
11800
|
+
const currenPillsFromMap = (/** @type {?} */ ((allPills && allPills.length && allPills[0])));
|
|
11801
|
+
this.getTabDataByNewReqTrending(strip, 0, 0, currenPillsFromMap, calculateParentStatus);
|
|
11802
|
+
if (this.stripsResultDataMap[strip.key] && currenPillsFromMap) {
|
|
11803
|
+
this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams = Object.assign({}, this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams, { key: strip.key, tabSelected: firstTab.value, pillSelected: pillData.value });
|
|
11804
|
+
}
|
|
11805
|
+
}
|
|
11806
|
+
}
|
|
11807
|
+
}
|
|
11808
|
+
}
|
|
11809
|
+
}
|
|
11810
|
+
/**
|
|
11811
|
+
* @param {?} strip
|
|
11812
|
+
* @param {?=} calculateParentStatus
|
|
11813
|
+
* @return {?}
|
|
11814
|
+
*/
|
|
11815
|
+
fetchFromSearchV6(strip, calculateParentStatus = true) {
|
|
11816
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11817
|
+
if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {
|
|
11818
|
+
// if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {
|
|
11819
|
+
// if (this.configSvc.activeLocale) {
|
|
11820
|
+
// strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]
|
|
11821
|
+
// } else {
|
|
11822
|
+
// strip.request.searchV6.locale = ['en']
|
|
11823
|
+
// }
|
|
11824
|
+
// }
|
|
11825
|
+
/** @type {?} */
|
|
11826
|
+
let originalFilters = [];
|
|
11827
|
+
// tslint:disable:no-console
|
|
11828
|
+
if (strip.request &&
|
|
11829
|
+
strip.request.searchV6 &&
|
|
11830
|
+
strip.request.searchV6.request &&
|
|
11831
|
+
strip.request.searchV6.request.filters) {
|
|
11832
|
+
originalFilters = strip.request.searchV6.request.filters;
|
|
11833
|
+
strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);
|
|
11834
|
+
strip.request.searchV6.request.filters = this.getFiltersFromArray(strip.request.searchV6.request.filters);
|
|
11835
|
+
}
|
|
11836
|
+
if (strip.tabs && strip.tabs.length) {
|
|
11837
|
+
// TODO: Have to extract requestRequired to outer level of tabs config
|
|
11838
|
+
/** @type {?} */
|
|
11839
|
+
const firstTab = strip.tabs[0];
|
|
11840
|
+
if (firstTab.requestRequired) {
|
|
11841
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
11842
|
+
/** @type {?} */
|
|
11843
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
11844
|
+
/** @type {?} */
|
|
11845
|
+
const currentTabFromMap = (/** @type {?} */ ((allTabs && allTabs.length && allTabs[0])));
|
|
11846
|
+
this.getTabDataByNewReqSearchV6(strip, 0, 0, currentTabFromMap, calculateParentStatus);
|
|
11847
|
+
}
|
|
11848
|
+
}
|
|
11849
|
+
}
|
|
11850
|
+
else {
|
|
11851
|
+
try {
|
|
11852
|
+
/** @type {?} */
|
|
11853
|
+
const response = yield this.searchV6Request(strip, strip.request, calculateParentStatus);
|
|
11854
|
+
// console.log('calling after - response, ', response)
|
|
11855
|
+
if (response && response.results) {
|
|
11856
|
+
// console.log('calling after-- ')
|
|
11857
|
+
if (response.results.result.content) {
|
|
11858
|
+
this.processStrip(strip, this.transformContentsToWidgets(response.results.result.content, strip), 'done', calculateParentStatus, response.viewMoreUrl);
|
|
11859
|
+
}
|
|
11860
|
+
else if (response.results.result.Event) {
|
|
11861
|
+
this.processStrip(strip, this.transformEventsToWidgets(response.results.result.Event, strip), 'done', calculateParentStatus, response.viewMoreUrl);
|
|
11862
|
+
}
|
|
11863
|
+
else {
|
|
11864
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
11865
|
+
}
|
|
11866
|
+
}
|
|
11867
|
+
else {
|
|
11868
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
11869
|
+
}
|
|
11870
|
+
}
|
|
11871
|
+
catch (error) {
|
|
11872
|
+
// Handle errors
|
|
11873
|
+
// console.error('Error:', error);
|
|
11874
|
+
}
|
|
11875
|
+
}
|
|
11876
|
+
}
|
|
11877
|
+
});
|
|
11878
|
+
}
|
|
11879
|
+
/**
|
|
11880
|
+
* @param {?} strip
|
|
11881
|
+
* @param {?} tabIndex
|
|
11882
|
+
* @param {?} pillIndex
|
|
11883
|
+
* @param {?} currentTab
|
|
11884
|
+
* @param {?} calculateParentStatus
|
|
11885
|
+
* @return {?}
|
|
11886
|
+
*/
|
|
11887
|
+
getTabDataByNewReqTrending(strip, tabIndex, pillIndex, currentTab, calculateParentStatus) {
|
|
11888
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11889
|
+
try {
|
|
11890
|
+
/** @type {?} */
|
|
11891
|
+
const response = yield this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);
|
|
11892
|
+
/** @type {?} */
|
|
11893
|
+
let tabResults = [];
|
|
11894
|
+
if (response && response.results && response.results.response) {
|
|
11895
|
+
/** @type {?} */
|
|
11896
|
+
const content = response.results.response[currentTab.value] || [];
|
|
11897
|
+
/** @type {?} */
|
|
11898
|
+
const widgets = this.transformContentsToWidgets(content, strip);
|
|
11899
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
11900
|
+
/** @type {?} */
|
|
11901
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
11902
|
+
/** @type {?} */
|
|
11903
|
+
const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;
|
|
11904
|
+
this.resetSelectedPill(allPills);
|
|
11905
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
11906
|
+
if (allPills && allPills.length && allPills[pillIndex]) {
|
|
11907
|
+
allPills[pillIndex] = Object.assign({}, allPills[pillIndex], { widgets, fetchTabStatus: 'done', selected: true });
|
|
11908
|
+
}
|
|
11909
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { widgets, fetchTabStatus: 'done' });
|
|
11910
|
+
tabResults = allTabs;
|
|
11911
|
+
}
|
|
11912
|
+
}
|
|
11913
|
+
this.processStrip(strip, widgets, 'done', calculateParentStatus, response.viewMoreUrl, tabResults // tabResults as widgets
|
|
11914
|
+
);
|
|
11915
|
+
}
|
|
11916
|
+
else {
|
|
11917
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
11918
|
+
/** @type {?} */
|
|
11919
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
11920
|
+
/** @type {?} */
|
|
11921
|
+
const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;
|
|
11922
|
+
this.resetSelectedPill(allPills);
|
|
11923
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
11924
|
+
if (allPills && allPills.length && allPills[pillIndex]) {
|
|
11925
|
+
allPills[pillIndex] = Object.assign({}, allPills[pillIndex], { widgets: [], fetchTabStatus: 'done', selected: true });
|
|
11926
|
+
}
|
|
11927
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { widgets: [], fetchTabStatus: 'done' });
|
|
11928
|
+
tabResults = allTabs;
|
|
11929
|
+
}
|
|
11930
|
+
}
|
|
11931
|
+
this.processStrip(strip, [], 'done', calculateParentStatus, null);
|
|
11932
|
+
}
|
|
11933
|
+
}
|
|
11934
|
+
catch (error) {
|
|
11935
|
+
// Handle errors
|
|
11936
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
11937
|
+
}
|
|
11938
|
+
});
|
|
11939
|
+
}
|
|
11940
|
+
/**
|
|
11941
|
+
* @param {?} strip
|
|
11942
|
+
* @param {?} tabIndex
|
|
11943
|
+
* @param {?} pillIndex
|
|
11944
|
+
* @param {?} currentTab
|
|
11945
|
+
* @param {?} calculateParentStatus
|
|
11946
|
+
* @return {?}
|
|
11947
|
+
*/
|
|
11948
|
+
getTabDataByNewReqSearchV6(strip, tabIndex, pillIndex, currentTab, calculateParentStatus) {
|
|
11949
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11950
|
+
try {
|
|
11951
|
+
/** @type {?} */
|
|
11952
|
+
const response = yield this.searchV6Request(strip, currentTab.request, calculateParentStatus);
|
|
11953
|
+
if (response && response.results) {
|
|
11954
|
+
/** @type {?} */
|
|
11955
|
+
const widgets = this.transformContentsToWidgets(response.results.result.content, strip);
|
|
11956
|
+
/** @type {?} */
|
|
11957
|
+
let tabResults = [];
|
|
11958
|
+
if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {
|
|
11959
|
+
/** @type {?} */
|
|
11960
|
+
const allTabs = this.stripsResultDataMap[strip.key].tabs;
|
|
11961
|
+
/** @type {?} */
|
|
11962
|
+
const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;
|
|
11963
|
+
this.resetSelectedPill(allPills);
|
|
11964
|
+
if (allTabs && allTabs.length && allTabs[tabIndex]) {
|
|
11965
|
+
if (allPills && allPills.length && allPills[pillIndex]) {
|
|
11966
|
+
allPills[pillIndex] = Object.assign({}, allPills[pillIndex], { widgets, fetchTabStatus: 'done', selected: true });
|
|
11967
|
+
}
|
|
11968
|
+
allTabs[tabIndex] = Object.assign({}, allTabs[tabIndex], { widgets, fetchTabStatus: 'done' });
|
|
11969
|
+
tabResults = allTabs;
|
|
11970
|
+
}
|
|
11971
|
+
}
|
|
11972
|
+
this.processStrip(strip, widgets, 'done', calculateParentStatus, response.viewMoreUrl, tabResults // tabResults as widgets
|
|
11973
|
+
);
|
|
11974
|
+
}
|
|
11975
|
+
else {
|
|
11976
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
11977
|
+
}
|
|
11978
|
+
}
|
|
11979
|
+
catch (error) {
|
|
11980
|
+
// Handle errors
|
|
11981
|
+
// console.error('Error:', error);
|
|
11982
|
+
}
|
|
11983
|
+
});
|
|
11984
|
+
}
|
|
11985
|
+
/**
|
|
11986
|
+
* @param {?} strip
|
|
11987
|
+
* @param {?} request
|
|
11988
|
+
* @param {?} calculateParentStatus
|
|
11989
|
+
* @return {?}
|
|
11990
|
+
*/
|
|
11991
|
+
trendingSearchRequest(strip, request, calculateParentStatus) {
|
|
11992
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
11993
|
+
/** @type {?} */
|
|
11994
|
+
const originalFilters = [];
|
|
11995
|
+
return new Promise((/**
|
|
11996
|
+
* @param {?} resolve
|
|
11997
|
+
* @param {?} reject
|
|
11998
|
+
* @return {?}
|
|
11999
|
+
*/
|
|
12000
|
+
(resolve, reject) => {
|
|
12001
|
+
if (request && request.trendingSearch) {
|
|
12002
|
+
// check for the request if it has dynamic values]
|
|
12003
|
+
if (request.trendingSearch.request.filters.organisation &&
|
|
12004
|
+
request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0) {
|
|
12005
|
+
/** @type {?} */
|
|
12006
|
+
let userRootOrgId;
|
|
12007
|
+
if (this.configSvc.userProfile) {
|
|
12008
|
+
userRootOrgId = this.configSvc.userProfile.rootOrgId;
|
|
12009
|
+
}
|
|
12010
|
+
request.trendingSearch.request.filters.organisation = userRootOrgId;
|
|
12011
|
+
}
|
|
12012
|
+
this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe((/**
|
|
12013
|
+
* @param {?} results
|
|
12014
|
+
* @return {?}
|
|
12015
|
+
*/
|
|
12016
|
+
results => {
|
|
12017
|
+
/** @type {?} */
|
|
12018
|
+
const showViewMore = Boolean(results.result &&
|
|
12019
|
+
strip.request &&
|
|
12020
|
+
results.result[strip.request.trendingSearch.responseKey] &&
|
|
12021
|
+
results.result[strip.request.trendingSearch.responseKey].length > 5 &&
|
|
12022
|
+
strip.stripConfig && strip.stripConfig.postCardForSearch);
|
|
12023
|
+
/** @type {?} */
|
|
12024
|
+
const viewMoreUrl = showViewMore
|
|
12025
|
+
? {
|
|
12026
|
+
path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',
|
|
12027
|
+
queryParams: {
|
|
12028
|
+
tab: 'Learn',
|
|
12029
|
+
q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,
|
|
12030
|
+
f: request &&
|
|
12031
|
+
request.trendingSearch &&
|
|
12032
|
+
request.trendingSearch.request &&
|
|
12033
|
+
request.trendingSearch.request.filters
|
|
12034
|
+
? JSON.stringify(this.transformSearchV6FiltersV2(originalFilters))
|
|
12035
|
+
: {},
|
|
12036
|
+
},
|
|
12037
|
+
}
|
|
12038
|
+
: null;
|
|
12039
|
+
/** @type {?} */
|
|
12040
|
+
let proccesedResult = [];
|
|
12041
|
+
if (results && results.response && results.response.certifications) {
|
|
12042
|
+
results.response.certifications.map((/**
|
|
12043
|
+
* @param {?} result
|
|
12044
|
+
* @return {?}
|
|
12045
|
+
*/
|
|
12046
|
+
(result) => {
|
|
12047
|
+
if (result.source === this.channnelName) {
|
|
12048
|
+
proccesedResult.push(result);
|
|
12049
|
+
}
|
|
12050
|
+
}));
|
|
12051
|
+
results = { response: { certifications: proccesedResult } };
|
|
12052
|
+
}
|
|
12053
|
+
resolve({ results, viewMoreUrl });
|
|
12054
|
+
}), (/**
|
|
12055
|
+
* @param {?} error
|
|
12056
|
+
* @return {?}
|
|
12057
|
+
*/
|
|
12058
|
+
(error) => {
|
|
12059
|
+
if (error.error && error.error.status === 400) {
|
|
12060
|
+
this.processStrip(strip, [], 'done', calculateParentStatus, null);
|
|
12061
|
+
}
|
|
12062
|
+
// this.processStrip(strip, [], 'done', calculateParentStatus, null)
|
|
12063
|
+
reject(error);
|
|
12064
|
+
}));
|
|
12065
|
+
}
|
|
12066
|
+
}));
|
|
12067
|
+
});
|
|
12068
|
+
}
|
|
12069
|
+
/**
|
|
12070
|
+
* @param {?} tabEvent
|
|
12071
|
+
* @param {?} pillIndex
|
|
12072
|
+
* @param {?} stripMap
|
|
12073
|
+
* @param {?} stripKey
|
|
12074
|
+
* @return {?}
|
|
12075
|
+
*/
|
|
12076
|
+
tabClicked(tabEvent, pillIndex, stripMap, stripKey) {
|
|
12077
|
+
if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {
|
|
12078
|
+
stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';
|
|
12079
|
+
stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;
|
|
12080
|
+
stripMap.showOnLoader = true;
|
|
12081
|
+
}
|
|
12082
|
+
/** @type {?} */
|
|
12083
|
+
const data = {
|
|
12084
|
+
label: `${tabEvent.tab.textLabel}`,
|
|
12085
|
+
index: tabEvent.index,
|
|
12086
|
+
};
|
|
12087
|
+
this.eventSvc.raiseInteractTelemetry({
|
|
12088
|
+
type: WsEvents.EnumInteractTypes.CLICK,
|
|
12089
|
+
subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,
|
|
12090
|
+
id: `${camelCase(data.label)}-tab`,
|
|
12091
|
+
}, {}, {
|
|
12092
|
+
module: WsEvents.EnumTelemetrymodules.HOME,
|
|
12093
|
+
});
|
|
12094
|
+
/** @type {?} */
|
|
12095
|
+
const currentTabFromMap = stripMap.tabs && stripMap.tabs[tabEvent.index];
|
|
12096
|
+
/** @type {?} */
|
|
12097
|
+
const currentPillFromMap = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];
|
|
12098
|
+
/** @type {?} */
|
|
12099
|
+
const currentStrip = this.widgetData.strips.find((/**
|
|
12100
|
+
* @param {?} s
|
|
12101
|
+
* @return {?}
|
|
12102
|
+
*/
|
|
12103
|
+
s => s.key === stripKey));
|
|
12104
|
+
if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {
|
|
12105
|
+
this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = Object.assign({}, this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams, { tabSelected: currentTabFromMap.value, pillSelected: currentPillFromMap.value });
|
|
12106
|
+
}
|
|
12107
|
+
if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {
|
|
12108
|
+
if (currentPillFromMap.requestRequired && currentPillFromMap.request) {
|
|
12109
|
+
// call API to get tab data and process
|
|
12110
|
+
// this.processStrip(currentStrip, [], 'fetching', true, null)
|
|
12111
|
+
if (currentPillFromMap.request.searchV6) {
|
|
12112
|
+
this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, 0, currentPillFromMap, true);
|
|
12113
|
+
}
|
|
12114
|
+
else if (currentPillFromMap.request.trendingSearch) {
|
|
12115
|
+
this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, 0, currentPillFromMap, true);
|
|
12116
|
+
}
|
|
12117
|
+
// if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {
|
|
12118
|
+
// stripMap.tabs[tabEvent.index].tabLoading = false;
|
|
12119
|
+
// }
|
|
12120
|
+
stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;
|
|
12121
|
+
}
|
|
12122
|
+
else {
|
|
12123
|
+
// this.getTabDataByfilter(currentStrip, currentTabFromMap, true);
|
|
12124
|
+
// setTimeout(() => {
|
|
12125
|
+
// if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {
|
|
12126
|
+
// stripMap.tabs[tabEvent.index].tabLoading = false;
|
|
12127
|
+
// stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';
|
|
12128
|
+
// stripMap.showOnLoader = false;
|
|
12129
|
+
// }
|
|
12130
|
+
// }, 200);
|
|
12131
|
+
}
|
|
12132
|
+
}
|
|
12133
|
+
}
|
|
12134
|
+
/**
|
|
12135
|
+
* @param {?} event
|
|
12136
|
+
* @param {?} stripMap
|
|
12137
|
+
* @param {?} stripKey
|
|
12138
|
+
* @param {?} pillIndex
|
|
12139
|
+
* @param {?} tabIndex
|
|
12140
|
+
* @return {?}
|
|
12141
|
+
*/
|
|
12142
|
+
pillClicked(event, stripMap, stripKey, pillIndex, tabIndex) {
|
|
12143
|
+
if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {
|
|
12144
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';
|
|
12145
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;
|
|
12146
|
+
stripMap.showOnLoader = true;
|
|
12147
|
+
}
|
|
12148
|
+
/** @type {?} */
|
|
12149
|
+
const currentTabFromMap = stripMap.tabs && stripMap.tabs[tabIndex];
|
|
12150
|
+
/** @type {?} */
|
|
12151
|
+
const currentPillFromMap = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];
|
|
12152
|
+
/** @type {?} */
|
|
12153
|
+
const currentStrip = this.widgetData.strips.find((/**
|
|
12154
|
+
* @param {?} s
|
|
12155
|
+
* @return {?}
|
|
12156
|
+
*/
|
|
12157
|
+
s => s.key === stripKey));
|
|
12158
|
+
if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {
|
|
12159
|
+
this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = Object.assign({}, this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams, { tabSelected: currentTabFromMap.value, pillSelected: currentPillFromMap.value });
|
|
12160
|
+
}
|
|
12161
|
+
if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {
|
|
12162
|
+
if (currentPillFromMap.requestRequired && currentPillFromMap.request) {
|
|
12163
|
+
// call API to get tab data and process
|
|
12164
|
+
// this.processStrip(currentStrip, [], 'fetching', true, null)
|
|
12165
|
+
if (currentPillFromMap.request.searchV6) {
|
|
12166
|
+
this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);
|
|
12167
|
+
}
|
|
12168
|
+
else if (currentPillFromMap.request.trendingSearch) {
|
|
12169
|
+
this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);
|
|
12170
|
+
}
|
|
12171
|
+
// if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {
|
|
12172
|
+
// stripMap.tabs[tabEvent.index].tabLoading = false;
|
|
12173
|
+
// }
|
|
12174
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;
|
|
12175
|
+
}
|
|
12176
|
+
else {
|
|
12177
|
+
this.getTabDataByfilter(currentStrip, currentTabFromMap, true);
|
|
12178
|
+
if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {
|
|
12179
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';
|
|
12180
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;
|
|
12181
|
+
stripMap.showOnLoader = true;
|
|
12182
|
+
}
|
|
12183
|
+
setTimeout((/**
|
|
12184
|
+
* @return {?}
|
|
12185
|
+
*/
|
|
12186
|
+
() => {
|
|
12187
|
+
if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {
|
|
12188
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';
|
|
12189
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;
|
|
12190
|
+
stripMap.showOnLoader = false;
|
|
12191
|
+
this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData);
|
|
12192
|
+
stripMap.tabs[tabIndex].pillsData[pillIndex]['selected'] = true;
|
|
12193
|
+
}
|
|
12194
|
+
}), 200);
|
|
12195
|
+
}
|
|
12196
|
+
}
|
|
12197
|
+
}
|
|
12198
|
+
/**
|
|
12199
|
+
* @param {?} strip
|
|
12200
|
+
* @param {?} request
|
|
12201
|
+
* @param {?} calculateParentStatus
|
|
12202
|
+
* @return {?}
|
|
12203
|
+
*/
|
|
12204
|
+
searchV6Request(strip, request, calculateParentStatus) {
|
|
12205
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12206
|
+
/** @type {?} */
|
|
12207
|
+
const originalFilters = [];
|
|
12208
|
+
return new Promise((/**
|
|
12209
|
+
* @param {?} resolve
|
|
12210
|
+
* @param {?} reject
|
|
12211
|
+
* @return {?}
|
|
12212
|
+
*/
|
|
12213
|
+
(resolve, reject) => {
|
|
12214
|
+
if (request && request.searchV6) {
|
|
12215
|
+
this.contentSvc.searchV6(request.searchV6).subscribe((/**
|
|
12216
|
+
* @param {?} results
|
|
12217
|
+
* @return {?}
|
|
12218
|
+
*/
|
|
12219
|
+
results => {
|
|
12220
|
+
/** @type {?} */
|
|
12221
|
+
const showViewMore = Boolean(results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch);
|
|
12222
|
+
/** @type {?} */
|
|
12223
|
+
const viewMoreUrl = showViewMore
|
|
12224
|
+
? {
|
|
12225
|
+
path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',
|
|
12226
|
+
queryParams: {
|
|
12227
|
+
tab: 'Learn',
|
|
12228
|
+
q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,
|
|
12229
|
+
f: request &&
|
|
12230
|
+
request.searchV6 &&
|
|
12231
|
+
request.searchV6.request &&
|
|
12232
|
+
request.searchV6.request.filters
|
|
12233
|
+
? JSON.stringify(this.transformSearchV6FiltersV2(originalFilters))
|
|
12234
|
+
: {},
|
|
12235
|
+
},
|
|
12236
|
+
}
|
|
12237
|
+
: null;
|
|
12238
|
+
// if (viewMoreUrl && viewMoreUrl.queryParams) {
|
|
12239
|
+
// viewMoreUrl.queryParams = viewMoreUrl.queryParams
|
|
12240
|
+
// }
|
|
12241
|
+
resolve({ results, viewMoreUrl });
|
|
12242
|
+
}), (/**
|
|
12243
|
+
* @param {?} error
|
|
12244
|
+
* @return {?}
|
|
12245
|
+
*/
|
|
12246
|
+
(error) => {
|
|
12247
|
+
this.processStrip(strip, [], 'error', calculateParentStatus, null);
|
|
12248
|
+
reject(error);
|
|
12249
|
+
}));
|
|
12250
|
+
}
|
|
12251
|
+
}));
|
|
12252
|
+
});
|
|
12253
|
+
}
|
|
12254
|
+
/**
|
|
12255
|
+
* @param {?} tabdata
|
|
12256
|
+
* @param {?} tabIndex
|
|
12257
|
+
* @return {?}
|
|
12258
|
+
*/
|
|
12259
|
+
getSelectedPillIndex(tabdata, tabIndex) {
|
|
12260
|
+
if (tabdata.pillsData && tabdata.pillsData.length) {
|
|
12261
|
+
/** @type {?} */
|
|
12262
|
+
let index = tabdata.pillsData.findIndex((/**
|
|
12263
|
+
* @param {?} pill
|
|
12264
|
+
* @return {?}
|
|
12265
|
+
*/
|
|
12266
|
+
(pill) => {
|
|
12267
|
+
return pill.selected;
|
|
12268
|
+
}));
|
|
12269
|
+
return index;
|
|
12270
|
+
}
|
|
12271
|
+
return 0;
|
|
12272
|
+
}
|
|
12273
|
+
// cbp plans
|
|
12274
|
+
/**
|
|
12275
|
+
* @param {?} strip
|
|
12276
|
+
* @param {?=} calculateParentStatus
|
|
12277
|
+
* @return {?}
|
|
12278
|
+
*/
|
|
12279
|
+
fetchAllCbpPlans(strip, calculateParentStatus = true) {
|
|
12280
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12281
|
+
if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {
|
|
12282
|
+
/** @type {?} */
|
|
12283
|
+
let courses;
|
|
12284
|
+
/** @type {?} */
|
|
12285
|
+
let tabResults = [];
|
|
12286
|
+
/** @type {?} */
|
|
12287
|
+
const response = yield this.userSvc.fetchCbpPlanList().toPromise();
|
|
12288
|
+
if (response) {
|
|
12289
|
+
courses = response;
|
|
12290
|
+
if (strip.tabs && strip.tabs.length) {
|
|
12291
|
+
tabResults = this.splitCbpTabsData(courses, strip);
|
|
12292
|
+
/** @type {?} */
|
|
12293
|
+
let countOfWidget = true;
|
|
12294
|
+
if (strip && strip.tabs && strip.tabs.length) {
|
|
12295
|
+
strip.tabs.forEach((/**
|
|
12296
|
+
* @param {?} tab
|
|
12297
|
+
* @return {?}
|
|
12298
|
+
*/
|
|
12299
|
+
(tab) => {
|
|
12300
|
+
if (tab.pillsData && tab.pillsData.length) {
|
|
12301
|
+
tab.pillsData.forEach((/**
|
|
12302
|
+
* @param {?} pill
|
|
12303
|
+
* @return {?}
|
|
12304
|
+
*/
|
|
12305
|
+
(pill) => {
|
|
12306
|
+
if (pill && pill.widgets && pill.widgets.length) {
|
|
12307
|
+
if (countOfWidget) {
|
|
12308
|
+
pill.selected = true;
|
|
12309
|
+
countOfWidget = false;
|
|
12310
|
+
}
|
|
12311
|
+
}
|
|
12312
|
+
}));
|
|
12313
|
+
}
|
|
12314
|
+
}));
|
|
12315
|
+
}
|
|
12316
|
+
yield this.processStrip(strip, this.transformContentsToWidgets(courses, strip), 'done', calculateParentStatus, '', tabResults);
|
|
12317
|
+
}
|
|
12318
|
+
else {
|
|
12319
|
+
this.processStrip(strip, this.transformContentsToWidgets(courses, strip), 'done', calculateParentStatus, 'viewMoreUrl');
|
|
12320
|
+
}
|
|
12321
|
+
}
|
|
12322
|
+
clearInterval(this.enrollInterval);
|
|
12323
|
+
}
|
|
12324
|
+
});
|
|
12325
|
+
}
|
|
12326
|
+
/**
|
|
12327
|
+
* @param {?} contentNew
|
|
12328
|
+
* @param {?} strip
|
|
12329
|
+
* @return {?}
|
|
12330
|
+
*/
|
|
12331
|
+
splitCbpTabsData(contentNew, strip) {
|
|
12332
|
+
/** @type {?} */
|
|
12333
|
+
let tabResults = [];
|
|
12334
|
+
/** @type {?} */
|
|
12335
|
+
const splitData = this.getTabsList(contentNew, strip);
|
|
12336
|
+
if (strip.tabs && strip.tabs.length) {
|
|
12337
|
+
for (let i = 0; i < strip.tabs.length; i += 1) {
|
|
12338
|
+
if (strip.tabs[i].value === "myIgotPlans") {
|
|
12339
|
+
/** @type {?} */
|
|
12340
|
+
let checkWidgetAndActivePill = true;
|
|
12341
|
+
if (strip.tabs[i].pillsData && strip.tabs[i].pillsData.length) {
|
|
12342
|
+
for (let j = 0; j < strip.tabs[i].pillsData.length; j += 1) {
|
|
12343
|
+
// if(j === 0 ){
|
|
12344
|
+
// if(strip.tabs[i].pillsData[j].widgets && strip.tabs[i].pillsData[j].widgets.length ) {
|
|
12345
|
+
// strip.tabs[i].pillsData[j].selected = true
|
|
12346
|
+
// checkWidgetAndActivePill = false
|
|
12347
|
+
// }
|
|
12348
|
+
// strip.tabs[i].pillsData[j].selected = true
|
|
12349
|
+
// }
|
|
12350
|
+
if (strip.tabs[i].pillsData[j]) {
|
|
12351
|
+
tabResults.push(Object.assign({}, strip.tabs[i].pillsData[j], { fetchTabStatus: 'done' }, (splitData.find((/**
|
|
12352
|
+
* @param {?} itmInner
|
|
12353
|
+
* @return {?}
|
|
12354
|
+
*/
|
|
12355
|
+
itmInner => {
|
|
12356
|
+
if (strip.tabs[i].pillsData && strip.tabs[i].pillsData[j] && itmInner.value === strip.tabs[i].pillsData[j].value) {
|
|
12357
|
+
return itmInner;
|
|
12358
|
+
}
|
|
12359
|
+
return undefined;
|
|
12360
|
+
})))));
|
|
12361
|
+
}
|
|
12362
|
+
}
|
|
12363
|
+
strip.tabs[i].pillsData = tabResults;
|
|
12364
|
+
}
|
|
12365
|
+
}
|
|
12366
|
+
}
|
|
12367
|
+
}
|
|
12368
|
+
return strip.tabs;
|
|
12369
|
+
}
|
|
12370
|
+
/**
|
|
12371
|
+
* @param {?} array
|
|
12372
|
+
* @param {?} strip
|
|
12373
|
+
* @return {?}
|
|
12374
|
+
*/
|
|
12375
|
+
getTabsList(array, strip) {
|
|
12376
|
+
/** @type {?} */
|
|
12377
|
+
let all = [];
|
|
12378
|
+
/** @type {?} */
|
|
12379
|
+
let upcoming = [];
|
|
12380
|
+
/** @type {?} */
|
|
12381
|
+
let overdue = [];
|
|
12382
|
+
array.forEach((/**
|
|
12383
|
+
* @param {?} e
|
|
12384
|
+
* @return {?}
|
|
12385
|
+
*/
|
|
12386
|
+
(e) => {
|
|
12387
|
+
all.push(e);
|
|
12388
|
+
if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {
|
|
12389
|
+
overdue.push(e);
|
|
12390
|
+
}
|
|
12391
|
+
else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {
|
|
12392
|
+
upcoming.push(e);
|
|
12393
|
+
}
|
|
12394
|
+
}));
|
|
12395
|
+
/** @type {?} */
|
|
12396
|
+
const allCompleted = all.filter((/**
|
|
12397
|
+
* @param {?} allData
|
|
12398
|
+
* @return {?}
|
|
12399
|
+
*/
|
|
12400
|
+
(allData) => allData.contentStatus === 2));
|
|
12401
|
+
/** @type {?} */
|
|
12402
|
+
let allInCompleted = all.filter((/**
|
|
12403
|
+
* @param {?} allData
|
|
12404
|
+
* @return {?}
|
|
12405
|
+
*/
|
|
12406
|
+
(allData) => allData.contentStatus < 2));
|
|
12407
|
+
/** @type {?} */
|
|
12408
|
+
let allCompletedOverDue = allCompleted.filter((/**
|
|
12409
|
+
* @param {?} allData
|
|
12410
|
+
* @return {?}
|
|
12411
|
+
*/
|
|
12412
|
+
(allData) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE));
|
|
12413
|
+
/** @type {?} */
|
|
12414
|
+
const allCompletedAll = allCompleted.filter((/**
|
|
12415
|
+
* @param {?} allData
|
|
12416
|
+
* @return {?}
|
|
12417
|
+
*/
|
|
12418
|
+
(allData) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE));
|
|
12419
|
+
allCompletedOverDue = allCompletedOverDue.sort((/**
|
|
12420
|
+
* @param {?} a
|
|
12421
|
+
* @param {?} b
|
|
12422
|
+
* @return {?}
|
|
12423
|
+
*/
|
|
12424
|
+
(a, b) => {
|
|
12425
|
+
if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {
|
|
12426
|
+
/** @type {?} */
|
|
12427
|
+
const firstDate = new Date(a.endDate);
|
|
12428
|
+
/** @type {?} */
|
|
12429
|
+
const secondDate = new Date(b.endDate);
|
|
12430
|
+
return firstDate > secondDate ? -1 : 1;
|
|
12431
|
+
}
|
|
12432
|
+
}));
|
|
12433
|
+
allInCompleted = allInCompleted.sort((/**
|
|
12434
|
+
* @param {?} a
|
|
12435
|
+
* @param {?} b
|
|
12436
|
+
* @return {?}
|
|
12437
|
+
*/
|
|
12438
|
+
(a, b) => {
|
|
12439
|
+
if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {
|
|
12440
|
+
/** @type {?} */
|
|
12441
|
+
const firstDate = new Date(a.endDate);
|
|
12442
|
+
/** @type {?} */
|
|
12443
|
+
const secondDate = new Date(b.endDate);
|
|
12444
|
+
return firstDate > secondDate ? -1 : 1;
|
|
12445
|
+
}
|
|
12446
|
+
}));
|
|
12447
|
+
all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];
|
|
12448
|
+
overdue = overdue.filter((/**
|
|
12449
|
+
* @param {?} data
|
|
12450
|
+
* @return {?}
|
|
12451
|
+
*/
|
|
12452
|
+
(data) => {
|
|
12453
|
+
return data.contentStatus < 2;
|
|
12454
|
+
}));
|
|
12455
|
+
overdue = overdue.sort((/**
|
|
12456
|
+
* @param {?} a
|
|
12457
|
+
* @param {?} b
|
|
12458
|
+
* @return {?}
|
|
12459
|
+
*/
|
|
12460
|
+
(a, b) => {
|
|
12461
|
+
/** @type {?} */
|
|
12462
|
+
const firstDate = new Date(a.endDate);
|
|
12463
|
+
/** @type {?} */
|
|
12464
|
+
const secondDate = new Date(b.endDate);
|
|
12465
|
+
return firstDate > secondDate ? -1 : 1;
|
|
12466
|
+
}));
|
|
12467
|
+
upcoming = upcoming.filter((/**
|
|
12468
|
+
* @param {?} data
|
|
12469
|
+
* @return {?}
|
|
12470
|
+
*/
|
|
12471
|
+
(data) => {
|
|
12472
|
+
return data.contentStatus < 2;
|
|
12473
|
+
}));
|
|
12474
|
+
return [
|
|
12475
|
+
{ value: 'all', widgets: this.transformContentsToWidgets(all, strip) },
|
|
12476
|
+
{ value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },
|
|
12477
|
+
{ value: 'completed', widgets: this.transformContentsToWidgets(allCompleted, strip) },
|
|
12478
|
+
{ value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }
|
|
12479
|
+
];
|
|
12480
|
+
}
|
|
12481
|
+
/**
|
|
12482
|
+
* @param {?} pillData
|
|
12483
|
+
* @return {?}
|
|
12484
|
+
*/
|
|
12485
|
+
resetSelectedPill(pillData) {
|
|
12486
|
+
if (pillData && pillData.length) {
|
|
12487
|
+
pillData.forEach((/**
|
|
12488
|
+
* @param {?} pill
|
|
12489
|
+
* @return {?}
|
|
12490
|
+
*/
|
|
12491
|
+
(pill) => {
|
|
12492
|
+
pill['selected'] = false;
|
|
12493
|
+
}));
|
|
12494
|
+
}
|
|
12495
|
+
}
|
|
12496
|
+
}
|
|
12497
|
+
ContentStripWithTabsPillsComponent.decorators = [
|
|
12498
|
+
{ type: Component, args: [{
|
|
12499
|
+
selector: 'sb-uic-content-strip-with-tabs-pills',
|
|
12500
|
+
template: "<ng-container *ngIf=\"!contentAvailable; else otherTemplate\"></ng-container>\n<ng-template #otherTemplate>\n <!-- <div *ngIf=\"showParentLoader\" class=\"text-center my-2\">\n <mat-spinner class=\"inline-block\"></mat-spinner>\n </div> -->\n <ng-container *ngIf=\"showParentError\" [sbUiResolverWidget]=\"widgetData.errorWidget\"></ng-container>\n <ng-container *ngIf=\"showParentNoData\" [sbUiResolverWidget]=\"widgetData.noDataWidget\"></ng-container>\n <ng-container *ngFor=\"let key of stripsKeyOrder; let i = index; trackBy: identify\">\n <ng-container *ngIf=\"isStripShowing(stripsResultDataMap[key])\">\n <a name=\"{{stripsResultDataMap[key]?.stripTitle}}\" [class]=\"key\">\n <div *ngIf=\"stripsResultDataMap && (getLength(stripsResultDataMap[key]) ||\n stripsResultDataMap[key]?.showOnNoData ||\n stripsResultDataMap[key]?.showOnLoader ||\n stripsResultDataMap[key]?.showOnError)\n \" [ngClass]=\"\n !widgetData?.isChannelStrip ? 'xs:px-8 sx:px-10ss' : i > 0 ? 'mt-12' : ''\n \" [id]=\"key\" [ngClass]=\"!widgetData?.isChannelStrip ? margin-bottom-custom : margin-bottom-xs\">\n <div [ngClass]=\"{ pad: stripsResultDataMap[key]?.stripBackground }\"\n [ngStyle]=\"{ 'background-color': stripsResultDataMap[key]?.stripBackground }\">\n <div class=\"flex flex-col pl-4 pr-4 md:pr-0 md:pl-0 \" [ngClass]=\"\n !widgetData?.isChannelStrip\n ? ''\n : stripsResultDataMap[key]?.stripTitle\n ? 'mb-8'\n : ''\n \">\n <div class=\"flex flex-1 items-center\">\n <p class=\"mat-subheading-1 margin-remove inline-block \" *ngIf=\"stripsResultDataMap[key]?.stripTitle\">\n <span class=\"capitalize\" *ngIf=\"stripsResultDataMap[key]?.disableTranslate\">\n {{stripsResultDataMap[key]?.stripTitle}}\n </span>\n <span *ngIf=\"!stripsResultDataMap[key]?.disableTranslate\">\n {{ translateLabels(stripsResultDataMap[key]?.stripTitle, 'home') }}\n </span>\n </p>\n\n <button *ngIf=\"stripsResultDataMap[key]?.stripInfo?.icon\" type=\"button\" mat-icon-button\n (click)=\"toggleInfo(stripsResultDataMap[key])\" i18n-matTooltip matTooltip=\"info\"\n class=\"margin-left-xs\">\n <mat-icon>{{ stripsResultDataMap[key]?.stripInfo?.icon.icon }}</mat-icon>\n </button>\n <a *ngIf=\"stripsResultDataMap[key]?.stripTitleLink?.link\"\n [routerLink]=\"stripsResultDataMap[key]?.stripTitleLink?.link\"\n [queryParams]=\"stripsResultDataMap[key]?.stripTitleLink?.link?.queryParams\">\n <mat-icon class=\"ws-mat-primary-primary-text ws-mat-default-text\" [color]=\"'accent'\">{{\n stripsResultDataMap[key]?.stripTitleLink?.icon }}</mat-icon>\n </a>\n <span class=\"spacer\"></span>\n <!-- viewAll start-->\n <!-- <div *ngIf=\"checkCondition(widgetData , stripsResultDataMap[key])\"\n class=\"ml-4 pl-2 view-more ws-mat-default-text\">\n <a class=\"flex ws-mat-default-text items-center justify-center mat-body-1 cursor-pointer\" \n (click)=\"raiseTelemetry(stripsResultDataMap[key]);redirectViewAll(stripsResultDataMap[key], stripsResultDataMap[key]?.viewMoreUrl?.path, stripsResultDataMap[key]?.viewMoreUrl?.queryParams )\">\n <span i18n class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0].viewMoreUrl.viewMoreText,'home') || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\" color=\"accent\">navigate_next</mat-icon>\n </a>\n </div> -->\n <!-- viewAll end-->\n </div>\n <button mat-icon-button (click)=\"setHiddenForStrip(key)\" *ngIf=\"stripsResultDataMap[key]?.canHideStrip\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"stripsResultDataMap[key]?.mode === 'accordion' && isMobile\"\n (click)=\"showAccordionData = !showAccordionData\">{{ showAccordionData ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </div>\n\n <div class=\"mb-4\" *ngIf=\"checkVisible(stripsResultDataMap[key])\">\n <ng-container [sbUiResolverWidget]=\"getdata(stripsResultDataMap[key])\">\n </ng-container>\n </div>\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnNoData\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.noDataWidget\"></ng-container>\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnError\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.errorWidget\"></ng-container>\n <!-- IF no errors then proceed to show tabs or non tabs strip -->\n <ng-container *ngIf=\"!stripsResultDataMap[key]?.showOnNoData && !stripsResultDataMap[key]?.showOnError\">\n <ng-container *ngIf=\"stripsResultDataMap[key].tabs && stripsResultDataMap[key].tabs.length\">\n <mat-tab-group animationDuration=\"0ms\" [selectedIndex]=\"getSelectedIndex(stripsResultDataMap[key], key)\"\n class=\"mat-tab-labels w-full strips-tabgroup\" dynamicHeight\n (selectedTabChange)=\"tabClicked($event, 0, stripsResultDataMap[key], key)\">\n <mat-tab label=\"{{tab?.label}}\" *ngFor=\"let tab of stripsResultDataMap[key].tabs; let last = last;let tabIndex = index\">\n <ng-template mat-tab-label>\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <span *ngIf=\"tab?.showTabDataCount && tab?.widgets?.length\">({{tab?.widgets?.length}})</span>\n </ng-template>\n\n <div class=\"wfull\" *ngIf=\"tab?.pillsData && tab?.pillsData?.length\">\n <div class=\"flex justify-between\">\n <div>\n <ng-container >\n <mat-chip-list class=\"content-pill\" aria-label=\"Fish selection\">\n <ng-container *ngFor=\"let pill of tab?.pillsData;let p = index\">\n <mat-chip [selected]=\"pill?.selected\" (click)=\"pillClicked($event, stripsResultDataMap[key], key, p, tabIndex)\">\n <span class=\"pill-name\">{{pill?.label}}</span></mat-chip>\n </ng-container>\n </mat-chip-list>\n </ng-container>\n </div>\n <!-- viewAll start-->\n <div *ngIf=\"checkCondition(widgetData , stripsResultDataMap[key])\"\n class=\"ml-4 pl-2 view-more ws-mat-default-text\">\n <a class=\"flex ws-mat-default-text items-center justify-center mat-body-1 cursor-pointer\" \n (click)=\"raiseTelemetry(stripsResultDataMap[key]);redirectViewAll(stripsResultDataMap[key], stripsResultDataMap[key]?.viewMoreUrl?.path, stripsResultDataMap[key]?.viewMoreUrl?.queryParams )\">\n <span i18n class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0].viewMoreUrl.viewMoreText,'home') || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\" color=\"accent\">navigate_next</mat-icon>\n </a>\n </div>\n <!-- viewAll end-->\n </div>\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader ||\n !tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus\"\n class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [id]=\"key+'-scroller'\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.loaderWidgets; trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n <ng-container *ngIf=\"tab?.pillsData && tab?.pillsData.length && tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]\">\n <div *ngIf=\"((tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus && tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus === 'done') &&\n (!tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets || !tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets?.length))\">\n <ng-container *ngIf=\"tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.value === 'inprogress'; else msgTemp\">\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.svg\">\n <div class=\"mat-subheading-1 text-center info-content\">{{ 'contentstripmultiple.getReadyForLearningAdventure' | translate }} -\n <a class=\"click-here\" [routerLink]=\"'/page/learn'\">{{ 'contentstripmultiple.clickHere' | translate }}</a> {{ 'contentstripmultiple.toEnrollNextCourse' | translate }}</div>\n </div>\n </ng-container>\n <ng-template #msgTemp>\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.png\">\n <div class=\"mat-subheading-1 text-center\">{{ translateLabels(tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.nodataMsg, 'home') }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.fetchTabStatus === 'done' || tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets?.length)\">\n <ng-container *ngIf=\"!tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.tabLoading\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [widgetsLength]=\"tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets?.length\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\"\n [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.widgets| slice:0:(tab?.pillsData[getSelectedPillIndex(tab ,tabIndex)]?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </ng-container>\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </a>\n\n </ng-container>\n </ng-container>\n</ng-template>",
|
|
12501
|
+
styles: [".view-more{display:flex;align-items:center;text-align:center;height:40px;justify-content:center}.view-more .icon{font-size:24px;width:24px;height:24px;border:1px solid;border-radius:50%;padding:8px;margin-bottom:8px}.margin-bottom-custom{margin-bottom:60px}.view-more:hover{background-color:#dcdfe5}::ng-deep.strips-tabgroup .mat-tab-header{border-bottom:2px solid rgba(0,0,0,.12)}::ng-deep.strips-tabgroup .mat-tab-body{padding:20px 0!important;box-sizing:border-box;overflow-y:initial!important}::ng-deep.strips-tabgroup .mat-tab-body-wrapper{overflow:inherit!important}::ng-deep.strips-tabgroup .mat-tab-label{border-bottom:0 solid rgba(0,0,0,.1);margin-right:0;opacity:1}::ng-deep.strips-tabgroup .mat-tab-label .mat-tab-label-content{text-transform:inherit;font:400 14px/20px Lato}::ng-deep.strips-tabgroup .mat-tab-label-active .mat-tab-label-content{font-weight:700!important}.click-here{color:#1b4ca1}.info-content{opacity:1;color:rgba(0,0,0,.87);font:700 14px/20px Lato-Bold;text-align:center}.active{background:#1b4ca1!important}.active .pill-name{color:#fff!important}::ng-deep .content-pill .mat-chip-selected{background-color:#1b4ca1!important}::ng-deep .content-pill .mat-chip-selected .pill-name{color:#fff!important}"]
|
|
12502
|
+
}] }
|
|
12503
|
+
];
|
|
12504
|
+
/** @nocollapse */
|
|
12505
|
+
ContentStripWithTabsPillsComponent.ctorParameters = () => [
|
|
12506
|
+
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
|
|
12507
|
+
{ type: WidgetContentService },
|
|
12508
|
+
{ type: LoggerService },
|
|
12509
|
+
{ type: EventService },
|
|
12510
|
+
{ type: ConfigurationsService$1 },
|
|
12511
|
+
{ type: UtilityService },
|
|
12512
|
+
{ type: Router },
|
|
12513
|
+
{ type: WidgetUserService },
|
|
12514
|
+
{ type: TranslateService },
|
|
12515
|
+
{ type: MultilingualTranslationsService }
|
|
12516
|
+
];
|
|
12517
|
+
ContentStripWithTabsPillsComponent.propDecorators = {
|
|
12518
|
+
widgetData: [{ type: Input }],
|
|
12519
|
+
emptyResponse: [{ type: Output }],
|
|
12520
|
+
viewAllResponse: [{ type: Output }],
|
|
12521
|
+
telemtryResponse: [{ type: Output }],
|
|
12522
|
+
providerId: [{ type: Input }],
|
|
12523
|
+
emitViewAll: [{ type: Input }],
|
|
12524
|
+
channnelName: [{ type: Input }],
|
|
12525
|
+
id: [{ type: HostBinding, args: ['id',] }]
|
|
12526
|
+
};
|
|
12527
|
+
if (false) {
|
|
12528
|
+
/** @type {?} */
|
|
12529
|
+
ContentStripWithTabsPillsComponent.prototype.widgetData;
|
|
12530
|
+
/** @type {?} */
|
|
12531
|
+
ContentStripWithTabsPillsComponent.prototype.emptyResponse;
|
|
12532
|
+
/** @type {?} */
|
|
12533
|
+
ContentStripWithTabsPillsComponent.prototype.viewAllResponse;
|
|
12534
|
+
/** @type {?} */
|
|
12535
|
+
ContentStripWithTabsPillsComponent.prototype.telemtryResponse;
|
|
12536
|
+
/** @type {?} */
|
|
12537
|
+
ContentStripWithTabsPillsComponent.prototype.providerId;
|
|
12538
|
+
/** @type {?} */
|
|
12539
|
+
ContentStripWithTabsPillsComponent.prototype.emitViewAll;
|
|
12540
|
+
/** @type {?} */
|
|
12541
|
+
ContentStripWithTabsPillsComponent.prototype.channnelName;
|
|
12542
|
+
/** @type {?} */
|
|
12543
|
+
ContentStripWithTabsPillsComponent.prototype.id;
|
|
12544
|
+
/** @type {?} */
|
|
12545
|
+
ContentStripWithTabsPillsComponent.prototype.stripsResultDataMap;
|
|
12546
|
+
/** @type {?} */
|
|
12547
|
+
ContentStripWithTabsPillsComponent.prototype.stripsKeyOrder;
|
|
12548
|
+
/** @type {?} */
|
|
12549
|
+
ContentStripWithTabsPillsComponent.prototype.showAccordionData;
|
|
12550
|
+
/** @type {?} */
|
|
12551
|
+
ContentStripWithTabsPillsComponent.prototype.showParentLoader;
|
|
12552
|
+
/** @type {?} */
|
|
12553
|
+
ContentStripWithTabsPillsComponent.prototype.showParentError;
|
|
12554
|
+
/** @type {?} */
|
|
12555
|
+
ContentStripWithTabsPillsComponent.prototype.showParentNoData;
|
|
12556
|
+
/** @type {?} */
|
|
12557
|
+
ContentStripWithTabsPillsComponent.prototype.errorDataCount;
|
|
12558
|
+
/** @type {?} */
|
|
12559
|
+
ContentStripWithTabsPillsComponent.prototype.noDataCount;
|
|
12560
|
+
/** @type {?} */
|
|
12561
|
+
ContentStripWithTabsPillsComponent.prototype.successDataCount;
|
|
12562
|
+
/** @type {?} */
|
|
12563
|
+
ContentStripWithTabsPillsComponent.prototype.contentAvailable;
|
|
12564
|
+
/** @type {?} */
|
|
12565
|
+
ContentStripWithTabsPillsComponent.prototype.baseUrl;
|
|
12566
|
+
/** @type {?} */
|
|
12567
|
+
ContentStripWithTabsPillsComponent.prototype.veifiedKarmayogi;
|
|
12568
|
+
/** @type {?} */
|
|
12569
|
+
ContentStripWithTabsPillsComponent.prototype.environment;
|
|
12570
|
+
/** @type {?} */
|
|
12571
|
+
ContentStripWithTabsPillsComponent.prototype.changeEventSubscription;
|
|
12572
|
+
/** @type {?} */
|
|
12573
|
+
ContentStripWithTabsPillsComponent.prototype.defaultMaxWidgets;
|
|
12574
|
+
/** @type {?} */
|
|
12575
|
+
ContentStripWithTabsPillsComponent.prototype.enrollInterval;
|
|
12576
|
+
/** @type {?} */
|
|
12577
|
+
ContentStripWithTabsPillsComponent.prototype.todaysEvents;
|
|
12578
|
+
/** @type {?} */
|
|
12579
|
+
ContentStripWithTabsPillsComponent.prototype.enrollmentMapData;
|
|
12580
|
+
/**
|
|
12581
|
+
* @type {?}
|
|
12582
|
+
* @private
|
|
12583
|
+
*/
|
|
12584
|
+
ContentStripWithTabsPillsComponent.prototype.contentSvc;
|
|
12585
|
+
/**
|
|
12586
|
+
* @type {?}
|
|
12587
|
+
* @private
|
|
12588
|
+
*/
|
|
12589
|
+
ContentStripWithTabsPillsComponent.prototype.loggerSvc;
|
|
12590
|
+
/**
|
|
12591
|
+
* @type {?}
|
|
12592
|
+
* @private
|
|
12593
|
+
*/
|
|
12594
|
+
ContentStripWithTabsPillsComponent.prototype.eventSvc;
|
|
12595
|
+
/**
|
|
12596
|
+
* @type {?}
|
|
12597
|
+
* @private
|
|
12598
|
+
*/
|
|
12599
|
+
ContentStripWithTabsPillsComponent.prototype.configSvc;
|
|
12600
|
+
/** @type {?} */
|
|
12601
|
+
ContentStripWithTabsPillsComponent.prototype.utilitySvc;
|
|
12602
|
+
/** @type {?} */
|
|
12603
|
+
ContentStripWithTabsPillsComponent.prototype.router;
|
|
12604
|
+
/**
|
|
12605
|
+
* @type {?}
|
|
12606
|
+
* @private
|
|
12607
|
+
*/
|
|
12608
|
+
ContentStripWithTabsPillsComponent.prototype.userSvc;
|
|
12609
|
+
/**
|
|
12610
|
+
* @type {?}
|
|
12611
|
+
* @private
|
|
12612
|
+
*/
|
|
12613
|
+
ContentStripWithTabsPillsComponent.prototype.translate;
|
|
12614
|
+
/**
|
|
12615
|
+
* @type {?}
|
|
12616
|
+
* @private
|
|
12617
|
+
*/
|
|
12618
|
+
ContentStripWithTabsPillsComponent.prototype.langtranslations;
|
|
12619
|
+
}
|
|
12620
|
+
|
|
12621
|
+
/**
|
|
12622
|
+
* @fileoverview added by tsickle
|
|
12623
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
12624
|
+
*/
|
|
12625
|
+
// tslint:disable-next-line:function-name
|
|
12626
|
+
/**
|
|
12627
|
+
* @param {?} http
|
|
12628
|
+
* @return {?}
|
|
12629
|
+
*/
|
|
12630
|
+
function HttpLoaderFactory1(http) {
|
|
12631
|
+
return new TranslateHttpLoader(http);
|
|
12632
|
+
}
|
|
12633
|
+
class ContentStripWithTabsPillsModule {
|
|
12634
|
+
}
|
|
12635
|
+
ContentStripWithTabsPillsModule.decorators = [
|
|
12636
|
+
{ type: NgModule, args: [{
|
|
12637
|
+
declarations: [ContentStripWithTabsPillsComponent],
|
|
12638
|
+
imports: [
|
|
12639
|
+
SbUiResolverModule,
|
|
12640
|
+
CommonModule,
|
|
12641
|
+
RouterModule,
|
|
12642
|
+
HorizontalScrollerV2Module,
|
|
12643
|
+
MatProgressSpinnerModule,
|
|
12644
|
+
MatToolbarModule,
|
|
12645
|
+
MatIconModule,
|
|
12646
|
+
MatButtonModule,
|
|
12647
|
+
MatTooltipModule,
|
|
12648
|
+
MatListModule,
|
|
12649
|
+
MatSidenavModule,
|
|
12650
|
+
MatCardModule,
|
|
12651
|
+
MatExpansionModule,
|
|
12652
|
+
MatRadioModule,
|
|
12653
|
+
MatChipsModule,
|
|
12654
|
+
MatInputModule,
|
|
12655
|
+
MatFormFieldModule,
|
|
12656
|
+
MatDialogModule,
|
|
12657
|
+
MatSnackBarModule,
|
|
12658
|
+
MatSelectModule,
|
|
12659
|
+
MatDatepickerModule,
|
|
12660
|
+
MatNativeDateModule,
|
|
12661
|
+
MatTableModule,
|
|
12662
|
+
MatCheckboxModule,
|
|
12663
|
+
MatProgressSpinnerModule,
|
|
12664
|
+
MatButtonToggleModule,
|
|
12665
|
+
MatTabsModule,
|
|
12666
|
+
MatAutocompleteModule,
|
|
12667
|
+
TranslateModule.forRoot({
|
|
12668
|
+
loader: {
|
|
12669
|
+
provide: TranslateLoader,
|
|
12670
|
+
useFactory: HttpLoaderFactory1,
|
|
12671
|
+
deps: [HttpClient],
|
|
12672
|
+
},
|
|
12673
|
+
}),
|
|
12674
|
+
],
|
|
12675
|
+
entryComponents: [ContentStripWithTabsPillsComponent],
|
|
12676
|
+
exports: [ContentStripWithTabsPillsComponent],
|
|
12677
|
+
},] }
|
|
12678
|
+
];
|
|
12679
|
+
|
|
11013
12680
|
/**
|
|
11014
12681
|
* @fileoverview added by tsickle
|
|
11015
12682
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -12612,5 +14279,5 @@ UserContentRatingLibModule.decorators = [
|
|
|
12612
14279
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
12613
14280
|
*/
|
|
12614
14281
|
|
|
12615
|
-
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, ProviderCardComponent as ɵbd, CardPortraitExtComponent as ɵbe, CardAssessmentComponent as ɵbf, CardProgressPortraitLibComponent as ɵbg, CertificateService as ɵbh, CardMdoChannelV1Component as ɵbi, PipePublicURLModule as ɵbj, PipePublicURL as ɵbk, ObjectToArrayPipeModule as ɵbl, ObjectToArrayPipe as ɵbm, DisplayContentTypeLibModule as ɵbn, DisplayContentTypeLibComponent as ɵbo, DefaultThumbnailModule as ɵbp, DefaultThumbnailDirective as ɵbq, PipeDurationTransformModule as ɵbr, PipeDurationTransformPipe as ɵbs, ContentProgressComponent as ɵbt, DialogComponentsModule as ɵbu, CertificateDialogComponent as ɵbv, AvatarPhotoLibModule as ɵbw, AvatarPhotoLibComponent as ɵbx,
|
|
14282
|
+
export { AnnouncementsModule, CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, ContentStripWithTabsPillsModule, DataPointsModule, HttpLoaderFactory, HttpLoaderFactory1, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardWideV2Component as ɵba, CardKarmaProgramsComponent as ɵbb, CardKarmaProgramsV2Component as ɵbc, ProviderCardComponent as ɵbd, CardPortraitExtComponent as ɵbe, CardAssessmentComponent as ɵbf, CardProgressPortraitLibComponent as ɵbg, CertificateService as ɵbh, CardMdoChannelV1Component as ɵbi, PipePublicURLModule as ɵbj, PipePublicURL as ɵbk, ObjectToArrayPipeModule as ɵbl, ObjectToArrayPipe as ɵbm, DisplayContentTypeLibModule as ɵbn, DisplayContentTypeLibComponent as ɵbo, DefaultThumbnailModule as ɵbp, DefaultThumbnailDirective as ɵbq, PipeDurationTransformModule as ɵbr, PipeDurationTransformPipe as ɵbs, ContentProgressComponent as ɵbt, DialogComponentsModule as ɵbu, CertificateDialogComponent as ɵbv, AvatarPhotoLibModule as ɵbw, AvatarPhotoLibComponent as ɵbx, ContentStripWithTabsPillsComponent as ɵby, CompetencyPassbookComponent as ɵbz, MultilingualTranslationsService as ɵc, CompetencyPassbookService as ɵca, PillsModule as ɵcb, PillsComponent as ɵcc, CompetencyPassbookMdoComponent as ɵcd, CompetencyPassbookMdoService as ɵce, UserContentRatingLibComponent as ɵcf, ScrollableItemDirective as ɵcg, RatingService as ɵch, UserContentRatingLibService as ɵci, MyHammerConfig$1 as ɵcj, SlidersNgContentLibModule as ɵck, SlidersNgContentLibComponent as ɵcl, ScrollableItemModule as ɵcm, 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 };
|
|
12616
14283
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|