@sunbird-cb/consumption 0.0.12 → 0.0.13
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 +2136 -71
- 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/avatar-photo-lib/avatar-photo-lib.component.js +147 -0
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +29 -0
- package/esm2015/lib/_common/calender/calender-day/calender-day.component.js +90 -0
- package/esm2015/lib/_common/calender/calender.component.js +275 -9
- package/esm2015/lib/_common/calender/calender.module.js +15 -5
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +5 -1
- package/esm2015/lib/_common/cards/card-wide/card-wide.component.js +166 -0
- package/esm2015/lib/_common/cards/cards.component.js +2 -2
- package/esm2015/lib/_common/cards/cards.module.js +5 -3
- package/esm2015/lib/_common/common-strip/common-strip.component.js +14 -11
- package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +22 -2
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +31 -3
- package/esm2015/lib/_common/data-points/data-points.component.js +2 -2
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +197 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.model.js +61 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.module.js +50 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating.component.js +710 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating.module.js +35 -0
- package/esm2015/lib/_models/rating.model.js +44 -0
- package/esm2015/lib/_services/insite-data.service.js +10 -2
- package/esm2015/lib/_services/rating.service.js +171 -0
- package/esm2015/public-api.js +2 -1
- package/esm2015/sunbird-cb-consumption.js +28 -20
- package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +164 -0
- package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +33 -0
- package/esm5/lib/_common/calender/calender-day/calender-day.component.js +101 -0
- package/esm5/lib/_common/calender/calender.component.js +305 -9
- package/esm5/lib/_common/calender/calender.module.js +15 -5
- package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +5 -1
- package/esm5/lib/_common/cards/card-wide/card-wide.component.js +172 -0
- package/esm5/lib/_common/cards/cards.component.js +2 -2
- package/esm5/lib/_common/cards/cards.module.js +5 -3
- package/esm5/lib/_common/common-strip/common-strip.component.js +22 -19
- package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +26 -3
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +36 -3
- package/esm5/lib/_common/data-points/data-points.component.js +2 -2
- package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.component.js +224 -0
- package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.model.js +61 -0
- package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.module.js +67 -0
- package/esm5/lib/_common/user-content-rating/user-content-rating.component.js +726 -0
- package/esm5/lib/_common/user-content-rating/user-content-rating.module.js +39 -0
- package/esm5/lib/_models/rating.model.js +44 -0
- package/esm5/lib/_services/insite-data.service.js +14 -2
- package/esm5/lib/_services/rating.service.js +214 -0
- package/esm5/public-api.js +2 -1
- package/esm5/sunbird-cb-consumption.js +28 -20
- package/fesm2015/sunbird-cb-consumption.js +1969 -88
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +2113 -58
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts +19 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts +2 -0
- package/lib/_common/calender/calender-day/calender-day.component.d.ts +18 -0
- package/lib/_common/calender/calender.component.d.ts +29 -1
- package/lib/_common/cards/card-wide/card-wide.component.d.ts +30 -0
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +6 -1
- package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +28 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts +34 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts +6 -0
- package/lib/_common/user-content-rating/user-content-rating.component.d.ts +167 -0
- package/lib/_common/user-content-rating/user-content-rating.module.d.ts +2 -0
- package/lib/_models/rating.model.d.ts +17 -0
- package/lib/_services/insite-data.service.d.ts +1 -0
- package/lib/_services/rating.service.d.ts +15 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/sunbird-cb-consumption.d.ts +26 -18
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Injectable, ɵɵdefineInjectable, Component, EventEmitter, Input, Output, ViewChild, NgModule, ɵɵinject, Inject, HostBinding, Directive, HostListener, Pipe } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
1
|
+
import { Injectable, ɵɵdefineInjectable, Component, EventEmitter, Input, Output, ViewChild, NgModule, ɵɵinject, Inject, HostBinding, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA, Pipe } from '@angular/core';
|
|
2
|
+
import { CommonModule, DatePipe } from '@angular/common';
|
|
3
|
+
import { Router, RouterModule } from '@angular/router';
|
|
4
4
|
import { fromEvent, timer, BehaviorSubject, of, EMPTY, ReplaySubject, Subject, throwError, interval } from 'rxjs';
|
|
5
5
|
import { debounceTime, throttleTime, shareReplay, retry, map, catchError, filter, distinctUntilChanged } from 'rxjs/operators';
|
|
6
6
|
import { ValueService, ConfigurationsService as ConfigurationsService$1, WsEvents, LoggerService, EventService, UtilityService } from '@sunbird-cb/utils-v2';
|
|
7
|
-
import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarModule, MatTooltipModule, MatListModule, MatSidenavModule, MatCardModule, MatExpansionModule, MatRadioModule, MatChipsModule, MatInputModule, MatFormFieldModule, MatDialogModule, MatSnackBarModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatTableModule, MatCheckboxModule, MatButtonToggleModule, MatTabsModule, MatAutocompleteModule, MatSnackBar } from '@angular/material';
|
|
7
|
+
import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarModule, MatTooltipModule, MatListModule, MatSidenavModule, MatCardModule, MatExpansionModule, MatRadioModule, MatChipsModule, MatInputModule, MatFormFieldModule, MatDialogModule, MatSnackBarModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatTableModule, MatCheckboxModule, MatButtonToggleModule, MatTabsModule, MatAutocompleteModule, MatSnackBar, MatMenuModule, MatRippleModule } from '@angular/material';
|
|
8
8
|
import { __awaiter } from 'tslib';
|
|
9
9
|
import { WidgetBaseComponent, SbUiResolverModule } from '@sunbird-cb/resolver-v2';
|
|
10
10
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
@@ -3236,24 +3236,28 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
3236
3236
|
* @param {?} eventSvc
|
|
3237
3237
|
* @param {?} configSvc
|
|
3238
3238
|
* @param {?} utilitySvc
|
|
3239
|
+
* @param {?} router
|
|
3239
3240
|
* @param {?} userSvc
|
|
3240
3241
|
* @param {?} translate
|
|
3241
3242
|
* @param {?} langtranslations
|
|
3242
3243
|
*/
|
|
3243
3244
|
constructor(
|
|
3244
3245
|
// private contentStripSvc: ContentStripNewMultipleService,
|
|
3245
|
-
environment, contentSvc, loggerSvc, eventSvc, configSvc, utilitySvc, userSvc, translate, langtranslations) {
|
|
3246
|
+
environment, contentSvc, loggerSvc, eventSvc, configSvc, utilitySvc, router, userSvc, translate, langtranslations) {
|
|
3246
3247
|
super();
|
|
3247
3248
|
this.contentSvc = contentSvc;
|
|
3248
3249
|
this.loggerSvc = loggerSvc;
|
|
3249
3250
|
this.eventSvc = eventSvc;
|
|
3250
3251
|
this.configSvc = configSvc;
|
|
3251
3252
|
this.utilitySvc = utilitySvc;
|
|
3253
|
+
this.router = router;
|
|
3252
3254
|
this.userSvc = userSvc;
|
|
3253
3255
|
this.translate = translate;
|
|
3254
3256
|
this.langtranslations = langtranslations;
|
|
3255
3257
|
this.emptyResponse = new EventEmitter();
|
|
3258
|
+
this.viewAllResponse = new EventEmitter();
|
|
3256
3259
|
this.providerId = '';
|
|
3260
|
+
this.emitViewAll = false;
|
|
3257
3261
|
this.id = `ws-strip-miltiple_${Math.random()}`;
|
|
3258
3262
|
this.stripsResultDataMap = {};
|
|
3259
3263
|
this.stripsKeyOrder = [];
|
|
@@ -4806,11 +4810,25 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
|
|
|
4806
4810
|
}
|
|
4807
4811
|
return filters;
|
|
4808
4812
|
}
|
|
4813
|
+
/**
|
|
4814
|
+
* @param {?} stripData
|
|
4815
|
+
* @param {?} path
|
|
4816
|
+
* @param {?} queryParamsData
|
|
4817
|
+
* @return {?}
|
|
4818
|
+
*/
|
|
4819
|
+
redirectViewAll(stripData, path, queryParamsData) {
|
|
4820
|
+
if (this.emitViewAll) {
|
|
4821
|
+
this.viewAllResponse.emit(stripData);
|
|
4822
|
+
}
|
|
4823
|
+
else {
|
|
4824
|
+
this.router.navigate([path], { queryParams: queryParamsData });
|
|
4825
|
+
}
|
|
4826
|
+
}
|
|
4809
4827
|
}
|
|
4810
4828
|
ContentStripWithTabsLibComponent.decorators = [
|
|
4811
4829
|
{ type: Component, args: [{
|
|
4812
4830
|
selector: 'sb-uic-content-strip-with-tabs',
|
|
4813
|
-
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 view-more ws-mat-default-text\">\n <a class=\"flex ws-mat-default-text items-center justify-center mat-body-1\" [routerLink]=\"stripsResultDataMap[key]?.viewMoreUrl?.path\"\n [queryParams]=\"stripsResultDataMap[key]?.viewMoreUrl?.queryParams\">\n <span i18n class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0].viewMoreUrl.viewMoreText,'home') || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\" color=\"accent\">navigate_next</mat-icon>\n </a>\n </div>\n <!-- viewAll end-->\n </div>\n <button mat-icon-button (click)=\"setHiddenForStrip(key)\" *ngIf=\"stripsResultDataMap[key]?.canHideStrip\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"stripsResultDataMap[key]?.mode === 'accordion' && isMobile\"\n (click)=\"showAccordionData = !showAccordionData\">{{ showAccordionData ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </div>\n\n <div class=\"mb-4\" *ngIf=\"checkVisible(stripsResultDataMap[key])\">\n <ng-container [sbUiResolverWidget]=\"getdata(stripsResultDataMap[key])\">\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnNoData\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.noDataWidget\"></ng-container>\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnError\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.errorWidget\"></ng-container>\n <!-- IF no errors then proceed to show tabs or non tabs strip -->\n <ng-container *ngIf=\"!stripsResultDataMap[key]?.showOnNoData && !stripsResultDataMap[key]?.showOnError\">\n <ng-container *ngIf=\"stripsResultDataMap[key].tabs && stripsResultDataMap[key].tabs.length\">\n <mat-tab-group animationDuration=\"0ms\" [selectedIndex]=\"getSelectedIndex(stripsResultDataMap[key], key)\"\n class=\"mat-tab-labels w-full strips-tabgroup\" dynamicHeight\n (selectedTabChange)=\"tabClicked($event, stripsResultDataMap[key], key)\">\n <mat-tab label=\"{{tab?.label}}\" *ngFor=\"let tab of stripsResultDataMap[key].tabs; let last = last;\">\n <ng-template mat-tab-label>\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <span *ngIf=\"tab?.showTabDataCount && tab?.widgets?.length\">({{tab?.widgets?.length}})</span>\n </ng-template>\n <div>\n <!-- <ng-container [ngTemplateOutlet]=\"loader\" *ngIf=\"stripsResultDataMap[key]?.showOnLoader\">\n </ng-container> -->\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader ||\n !tab.fetchTabStatus\"\n class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [id]=\"key+'-scroller'\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.loaderWidgets; trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n <div *ngIf=\"((tab?.fetchTabStatus && tab?.fetchTabStatus === 'done') &&\n (!tab?.widgets || !tab?.widgets?.length))\">\n <ng-container *ngIf=\"tab?.value === 'inprogress'; else msgTemp\">\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.svg\">\n <div class=\"mat-subheading-1 text-center info-content\">{{ 'contentstripmultiple.getReadyForLearningAdventure' | translate }} -\n <a class=\"click-here\" [routerLink]=\"'/page/learn'\">{{ 'contentstripmultiple.clickHere' | translate }}</a> {{ 'contentstripmultiple.toEnrollNextCourse' | translate }}</div>\n </div>\n </ng-container>\n <ng-template #msgTemp>\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.png\">\n <div class=\"mat-subheading-1 text-center\">{{ translateLabels(tab.nodataMsg, 'home') }}</div>\n </div>\n </ng-template>\n </div>\n <ng-container *ngIf=\"(tab?.fetchTabStatus === 'done' || tab?.widgets?.length)\">\n <ng-container *ngIf=\"!tab?.tabLoading\">\n\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [widgetsLength]=\"tab?.widgets?.length\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\"\n [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of tab?.widgets| slice:0:(tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </ng-container>\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"!stripsResultDataMap[key].tabs || !stripsResultDataMap[key].tabs.length\">\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader\" class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.loaderWidgets; trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n <div class=\"\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\" [widgetsLength]=\"stripsResultDataMap[key]?.widgets?.length\" [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.widgets| slice:0:(stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <!-- <ng-container *ngIf=\"widget.widgetData.context.pageSection === 'continueLearning' \"> -->\n <!-- <ng-container *ngIf=\"widget.widgetData.content.completionPercentage !== 100\"\n [sbUiResolverWidget]=\"widget\"></ng-container> -->\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n <!-- </ng-container> -->\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </a>\n\n </ng-container>\n </ng-container>\n</ng-template>",
|
|
4831
|
+
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 view-more ws-mat-default-text\">\n <a class=\"flex ws-mat-default-text items-center justify-center mat-body-1\" (click)=\"redirectViewAll(stripsResultDataMap[key], stripsResultDataMap[key]?.viewMoreUrl?.path, stripsResultDataMap[key]?.viewMoreUrl?.queryParams )\">\n <span i18n class=\"ws-mat-default-text\">{{translateLabels(widgetData.strips[0].viewMoreUrl.viewMoreText,'home') || 'See all'}}</span>\n <mat-icon class=\"ws-mat-default-text mat-icon notranslate material-icons mat-icon-no-color\" color=\"accent\">navigate_next</mat-icon>\n </a>\n </div>\n <!-- viewAll end-->\n </div>\n <button mat-icon-button (click)=\"setHiddenForStrip(key)\" *ngIf=\"stripsResultDataMap[key]?.canHideStrip\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"stripsResultDataMap[key]?.mode === 'accordion' && isMobile\"\n (click)=\"showAccordionData = !showAccordionData\">{{ showAccordionData ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </div>\n\n <div class=\"mb-4\" *ngIf=\"checkVisible(stripsResultDataMap[key])\">\n <ng-container [sbUiResolverWidget]=\"getdata(stripsResultDataMap[key])\">\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnNoData\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.noDataWidget\"></ng-container>\n <ng-container *ngIf=\"stripsResultDataMap[key]?.showOnError\"\n [sbUiResolverWidget]=\"stripsResultDataMap[key]?.errorWidget\"></ng-container>\n <!-- IF no errors then proceed to show tabs or non tabs strip -->\n <ng-container *ngIf=\"!stripsResultDataMap[key]?.showOnNoData && !stripsResultDataMap[key]?.showOnError\">\n <ng-container *ngIf=\"stripsResultDataMap[key].tabs && stripsResultDataMap[key].tabs.length\">\n <mat-tab-group animationDuration=\"0ms\" [selectedIndex]=\"getSelectedIndex(stripsResultDataMap[key], key)\"\n class=\"mat-tab-labels w-full strips-tabgroup\" dynamicHeight\n (selectedTabChange)=\"tabClicked($event, stripsResultDataMap[key], key)\">\n <mat-tab label=\"{{tab?.label}}\" *ngFor=\"let tab of stripsResultDataMap[key].tabs; let last = last;\">\n <ng-template mat-tab-label>\n <span>{{ translateLabels(tab?.label, 'home') }} </span>\n <span *ngIf=\"tab?.showTabDataCount && tab?.widgets?.length\">({{tab?.widgets?.length}})</span>\n </ng-template>\n <div>\n <!-- <ng-container [ngTemplateOutlet]=\"loader\" *ngIf=\"stripsResultDataMap[key]?.showOnLoader\">\n </ng-container> -->\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader ||\n !tab.fetchTabStatus\"\n class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [id]=\"key+'-scroller'\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.loaderWidgets; trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n <div *ngIf=\"((tab?.fetchTabStatus && tab?.fetchTabStatus === 'done') &&\n (!tab?.widgets || !tab?.widgets?.length))\">\n <ng-container *ngIf=\"tab?.value === 'inprogress'; else msgTemp\">\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.svg\">\n <div class=\"mat-subheading-1 text-center info-content\">{{ 'contentstripmultiple.getReadyForLearningAdventure' | translate }} -\n <a class=\"click-here\" [routerLink]=\"'/page/learn'\">{{ 'contentstripmultiple.clickHere' | translate }}</a> {{ 'contentstripmultiple.toEnrollNextCourse' | translate }}</div>\n </div>\n </ng-container>\n <ng-template #msgTemp>\n <div class=\"w-full flex flex-col items-center justify-center\">\n <img alt=\"\" class=\"mt-4 mb-4\" src=\"assets/icons/home/nodataDefault.png\">\n <div class=\"mat-subheading-1 text-center\">{{ translateLabels(tab.nodataMsg, 'home') }}</div>\n </div>\n </ng-template>\n </div>\n <ng-container *ngIf=\"(tab?.fetchTabStatus === 'done' || tab?.widgets?.length)\">\n <ng-container *ngIf=\"!tab?.tabLoading\">\n\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\" [widgetsLength]=\"tab?.widgets?.length\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\"\n [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of tab?.widgets| slice:0:(tab?.maxWidgets ||\n stripsResultDataMap[key]?.sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </ng-container>\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </ng-container>\n <ng-container *ngIf=\"!stripsResultDataMap[key].tabs || !stripsResultDataMap[key].tabs.length\">\n <div *ngIf=\"stripsResultDataMap && stripsResultDataMap[key]?.showOnLoader\" class=\"text-center my-2\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n [loadStatus]=\"'fetching'\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.loaderWidgets; trackBy: tracker\">\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n <div class=\"\">\n <sb-uic-horizontal-scroller-v2 [id]=\"key+'-scroller'\" [sliderConfig]=\"stripsResultDataMap[key]?.sliderConfig\"\n *ngIf=\"getContineuLearningLenth(stripsResultDataMap[key]) && showAccordion(key)\" [widgetsLength]=\"stripsResultDataMap[key]?.widgets?.length\" [loadStatus]=\"'done'\" [defaultMaxWidgets]=\"stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets\" [stripConfig]=\"stripsResultDataMap[key]?.stripConfig\">\n <ng-container *ngFor=\"let widget of stripsResultDataMap[key]?.widgets| slice:0:(stripsResultDataMap[key].sliderConfig?.maxWidgets || defaultMaxWidgets); trackBy: tracker\">\n <!-- <ng-container *ngIf=\"widget.widgetData.context.pageSection === 'continueLearning' \"> -->\n <!-- <ng-container *ngIf=\"widget.widgetData.content.completionPercentage !== 100\"\n [sbUiResolverWidget]=\"widget\"></ng-container> -->\n <ng-container [sbUiResolverWidget]=\"widget\"></ng-container>\n <!-- </ng-container> -->\n </ng-container>\n </sb-uic-horizontal-scroller-v2>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </a>\n\n </ng-container>\n </ng-container>\n</ng-template>",
|
|
4814
4832
|
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}"]
|
|
4815
4833
|
}] }
|
|
4816
4834
|
];
|
|
@@ -4822,6 +4840,7 @@ ContentStripWithTabsLibComponent.ctorParameters = () => [
|
|
|
4822
4840
|
{ type: EventService },
|
|
4823
4841
|
{ type: ConfigurationsService$1 },
|
|
4824
4842
|
{ type: UtilityService },
|
|
4843
|
+
{ type: Router },
|
|
4825
4844
|
{ type: WidgetUserService },
|
|
4826
4845
|
{ type: TranslateService },
|
|
4827
4846
|
{ type: MultilingualTranslationsService }
|
|
@@ -4829,7 +4848,9 @@ ContentStripWithTabsLibComponent.ctorParameters = () => [
|
|
|
4829
4848
|
ContentStripWithTabsLibComponent.propDecorators = {
|
|
4830
4849
|
widgetData: [{ type: Input }],
|
|
4831
4850
|
emptyResponse: [{ type: Output }],
|
|
4851
|
+
viewAllResponse: [{ type: Output }],
|
|
4832
4852
|
providerId: [{ type: Input }],
|
|
4853
|
+
emitViewAll: [{ type: Input }],
|
|
4833
4854
|
id: [{ type: HostBinding, args: ['id',] }]
|
|
4834
4855
|
};
|
|
4835
4856
|
if (false) {
|
|
@@ -4838,8 +4859,12 @@ if (false) {
|
|
|
4838
4859
|
/** @type {?} */
|
|
4839
4860
|
ContentStripWithTabsLibComponent.prototype.emptyResponse;
|
|
4840
4861
|
/** @type {?} */
|
|
4862
|
+
ContentStripWithTabsLibComponent.prototype.viewAllResponse;
|
|
4863
|
+
/** @type {?} */
|
|
4841
4864
|
ContentStripWithTabsLibComponent.prototype.providerId;
|
|
4842
4865
|
/** @type {?} */
|
|
4866
|
+
ContentStripWithTabsLibComponent.prototype.emitViewAll;
|
|
4867
|
+
/** @type {?} */
|
|
4843
4868
|
ContentStripWithTabsLibComponent.prototype.id;
|
|
4844
4869
|
/** @type {?} */
|
|
4845
4870
|
ContentStripWithTabsLibComponent.prototype.stripsResultDataMap;
|
|
@@ -4897,6 +4922,8 @@ if (false) {
|
|
|
4897
4922
|
ContentStripWithTabsLibComponent.prototype.configSvc;
|
|
4898
4923
|
/** @type {?} */
|
|
4899
4924
|
ContentStripWithTabsLibComponent.prototype.utilitySvc;
|
|
4925
|
+
/** @type {?} */
|
|
4926
|
+
ContentStripWithTabsLibComponent.prototype.router;
|
|
4900
4927
|
/**
|
|
4901
4928
|
* @type {?}
|
|
4902
4929
|
* @private
|
|
@@ -5409,7 +5436,8 @@ SlidersLibModule.decorators = [
|
|
|
5409
5436
|
*/
|
|
5410
5437
|
/** @type {?} */
|
|
5411
5438
|
const API_END_POINTS$2 = {
|
|
5412
|
-
PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights
|
|
5439
|
+
PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,
|
|
5440
|
+
TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`
|
|
5413
5441
|
};
|
|
5414
5442
|
class InsiteDataService {
|
|
5415
5443
|
/**
|
|
@@ -5425,6 +5453,13 @@ class InsiteDataService {
|
|
|
5425
5453
|
fetchSearchData(request) {
|
|
5426
5454
|
return this.http.post(API_END_POINTS$2.PROVIDER_INSIGHTS, request);
|
|
5427
5455
|
}
|
|
5456
|
+
/**
|
|
5457
|
+
* @param {?} request
|
|
5458
|
+
* @return {?}
|
|
5459
|
+
*/
|
|
5460
|
+
fetchTrainingDetails(request) {
|
|
5461
|
+
return this.http.post(API_END_POINTS$2.TRAINING_DETAILS, request);
|
|
5462
|
+
}
|
|
5428
5463
|
}
|
|
5429
5464
|
InsiteDataService.decorators = [
|
|
5430
5465
|
{ type: Injectable, args: [{
|
|
@@ -5521,7 +5556,7 @@ class DataPointsComponent {
|
|
|
5521
5556
|
DataPointsComponent.decorators = [
|
|
5522
5557
|
{ type: Component, args: [{
|
|
5523
5558
|
selector: 'sb-uic-data-points',
|
|
5524
|
-
template: "<div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData\" class=\"\">\n <div class=\"element-div\" [ngClass]=\"{'linebreak': obj?.linebreak}\">\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <img class=\"objIcon\" [src]=\"obj.icon\" [style.color]=\"obj?.iconColor\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" >{{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"objDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow'\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\">{{obj?.value | number: '1.1-2'}}</div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"top-container\">\n <div class=\"flex-container\" *ngFor=\"let chunk of customArray\">\n <div *ngFor=\"let item of chunk\">\n <div class=\"flex-item\">\n <div class=\"flex flex-row gap-5 infra-element-div\">\n <div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\">{{item?.value}}</div>\n <div [style.color]=\"item?.labelColor\" class=\"custom-opacity infra-objDescription padding-top-s\">{{item?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div> \n</div>\n\n\n<!-- skeleton loaders -->\n\n<ng-container>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && isDataLoading\">\n <div *ngFor=\"let obj of [0,1,2,3]\" class=\"\">\n <div class=\"element-div linebreak\" >\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'150px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>",
|
|
5559
|
+
template: "<div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData; let last = last\" class=\"\">\n <div class=\"element-div\" [ngClass]=\"{'linebreak': obj?.linebreak }\">\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <img class=\"objIcon\" [src]=\"obj.icon\" [style.color]=\"obj?.iconColor\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" >{{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"objDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow'\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\">{{obj?.value | number: '1.1-2'}}</div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"top-container\">\n <div class=\"flex-container\" *ngFor=\"let chunk of customArray\">\n <div *ngFor=\"let item of chunk\">\n <div class=\"flex-item\">\n <div class=\"flex flex-row gap-5 infra-element-div\">\n <div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\">{{item?.value}}</div>\n <div [style.color]=\"item?.labelColor\" class=\"custom-opacity infra-objDescription padding-top-s\">{{item?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div> \n</div>\n\n\n<!-- skeleton loaders -->\n\n<ng-container>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && isDataLoading\">\n <div *ngFor=\"let obj of [0,1,2,3]\" class=\"\">\n <div class=\"element-div linebreak\" >\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'150px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>",
|
|
5525
5560
|
styles: [".white{color:#fff}.custom-opacity{opacity:.7}.black{color:#000}.objIcon{width:32px;height:32px}.mobjIcon{width:24px;height:24px}.objHeader{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left}.mobjHeader{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left}.mobjDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.metrics-web{height:inherit;overflow-y:auto}.element-div{padding:25px 0;margin:0 25px}.linebreak{border-bottom:1px solid rgba(0,0,0,.16)}.melement-div{padding:16px;border-radius:15px;width:249px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-element-div{min-width:325px;padding:25px 0;align-items:baseline}.infra-objIcon{width:32px;height:32px}.infra-objHeader{font-family:Montserrat;font-size:36px;font-weight:600;line-height:29.26px;text-align:left}.infra-objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left}.flex-container{display:flex}.top-container{overflow-x:auto;width:100%}.flex-item{flex:0 0 auto;white-space:nowrap;min-width:200px}@media screen and (max-width:768px){.infra-objIcon{width:24px;height:24px}.infra-objHeader{font-size:24px}.infra-element-div{min-width:250px;padding:15px 0 25px}}"]
|
|
5526
5561
|
}] }
|
|
5527
5562
|
];
|
|
@@ -5637,32 +5672,384 @@ DataPointsModule.decorators = [
|
|
|
5637
5672
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5638
5673
|
*/
|
|
5639
5674
|
class CalenderComponent {
|
|
5640
|
-
|
|
5641
|
-
|
|
5675
|
+
/**
|
|
5676
|
+
* @param {?} datePipe
|
|
5677
|
+
* @param {?} insightSvc
|
|
5678
|
+
*/
|
|
5679
|
+
constructor(datePipe, insightSvc) {
|
|
5680
|
+
this.datePipe = datePipe;
|
|
5681
|
+
this.insightSvc = insightSvc;
|
|
5682
|
+
this.fetchDataFromApi = false;
|
|
5683
|
+
this.showHeader = false;
|
|
5684
|
+
this.defaultDays = 3;
|
|
5685
|
+
this.fullCalendor = false;
|
|
5686
|
+
this.days = [];
|
|
5687
|
+
this.trainings = {};
|
|
5688
|
+
this.isDataLoading = false;
|
|
5689
|
+
this.currentDate = new Date();
|
|
5690
|
+
this.allMonths = ["January", "February", "March",
|
|
5691
|
+
"April", "May", "June", "July",
|
|
5692
|
+
"August", "September", "October",
|
|
5693
|
+
"November", "December"
|
|
5694
|
+
];
|
|
5695
|
+
this.monthsDropdown = [];
|
|
5642
5696
|
}
|
|
5643
5697
|
/**
|
|
5644
5698
|
* @return {?}
|
|
5645
5699
|
*/
|
|
5646
5700
|
ngOnInit() {
|
|
5647
|
-
|
|
5648
|
-
|
|
5701
|
+
this.currentMonthAndYear = this.datePipe.transform(this.currentDate, 'MMMM y');
|
|
5702
|
+
this.selectedMonth = this.datePipe.transform(this.currentDate, 'LLLL yyyy');
|
|
5703
|
+
if (this.fullCalendor) {
|
|
5704
|
+
console.log("this.currentDate ", this.currentDate);
|
|
5705
|
+
this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth());
|
|
5706
|
+
this.getMonthsDropdownData();
|
|
5707
|
+
}
|
|
5708
|
+
if (!this.fullCalendor) {
|
|
5709
|
+
this.days = this.getDays(this.currentDate, +this.defaultDays);
|
|
5710
|
+
}
|
|
5711
|
+
this.startDate = this.days[0];
|
|
5712
|
+
this.endDate = this.days[this.days.length - 1];
|
|
5713
|
+
if (this.fetchDataFromApi) {
|
|
5714
|
+
this.isDataLoading = true;
|
|
5715
|
+
this.getInsiteData();
|
|
5716
|
+
}
|
|
5717
|
+
}
|
|
5718
|
+
/**
|
|
5719
|
+
* @return {?}
|
|
5720
|
+
*/
|
|
5721
|
+
getInsiteData() {
|
|
5722
|
+
/** @type {?} */
|
|
5723
|
+
let request = {
|
|
5724
|
+
"locale": [
|
|
5725
|
+
"en"
|
|
5726
|
+
],
|
|
5727
|
+
"query": "",
|
|
5728
|
+
"request": {
|
|
5729
|
+
"query": "",
|
|
5730
|
+
"filters": {
|
|
5731
|
+
"category": [
|
|
5732
|
+
"Calendar"
|
|
5733
|
+
],
|
|
5734
|
+
"status": [
|
|
5735
|
+
"Live",
|
|
5736
|
+
"Retired"
|
|
5737
|
+
],
|
|
5738
|
+
"contentType": "Event",
|
|
5739
|
+
"startDate": {
|
|
5740
|
+
">=": this.startDate,
|
|
5741
|
+
"<=": this.endDate
|
|
5742
|
+
// ">=": "2024-01-15",
|
|
5743
|
+
// "<": "2024-05-31"
|
|
5744
|
+
},
|
|
5745
|
+
"channel": [this.providerId]
|
|
5746
|
+
},
|
|
5747
|
+
"sort_by": {
|
|
5748
|
+
"lastUpdatedOn": "desc"
|
|
5749
|
+
}
|
|
5750
|
+
}
|
|
5751
|
+
};
|
|
5752
|
+
this.insightSvc.fetchTrainingDetails(request).subscribe((/**
|
|
5753
|
+
* @param {?} res
|
|
5754
|
+
* @return {?}
|
|
5755
|
+
*/
|
|
5756
|
+
(res) => {
|
|
5757
|
+
if (res && res.result && res.result.Event) {
|
|
5758
|
+
res.result.Event.forEach((/**
|
|
5759
|
+
* @param {?} resp
|
|
5760
|
+
* @return {?}
|
|
5761
|
+
*/
|
|
5762
|
+
(resp) => {
|
|
5763
|
+
if (this.trainings[resp.startDate]) {
|
|
5764
|
+
/** @type {?} */
|
|
5765
|
+
let prevData = this.trainings[resp.startDate];
|
|
5766
|
+
/** @type {?} */
|
|
5767
|
+
let location = resp.eventType;
|
|
5768
|
+
if (resp.venue && location !== "Online") {
|
|
5769
|
+
/** @type {?} */
|
|
5770
|
+
const jsonResp = JSON.parse(resp.venue);
|
|
5771
|
+
location = jsonResp['address'];
|
|
5772
|
+
}
|
|
5773
|
+
/** @type {?} */
|
|
5774
|
+
const formatObject = {
|
|
5775
|
+
location: location,
|
|
5776
|
+
startTime: this.convertTo12HourFormat(resp.startTime),
|
|
5777
|
+
endTime: this.convertTo12HourFormat(resp.endTime),
|
|
5778
|
+
title: resp.name,
|
|
5779
|
+
startDate: this.formatDate(resp.startDate),
|
|
5780
|
+
endDate: this.formatDate(resp.endDate),
|
|
5781
|
+
registrationLink: resp.registrationLink,
|
|
5782
|
+
};
|
|
5783
|
+
prevData.push(formatObject);
|
|
5784
|
+
this.trainings[resp.startDate] = prevData;
|
|
5785
|
+
}
|
|
5786
|
+
}));
|
|
5787
|
+
}
|
|
5788
|
+
this.isDataLoading = false;
|
|
5789
|
+
}));
|
|
5790
|
+
}
|
|
5791
|
+
/**
|
|
5792
|
+
* @param {?} obj
|
|
5793
|
+
* @return {?}
|
|
5794
|
+
*/
|
|
5795
|
+
getKeys(obj) {
|
|
5796
|
+
return Object.keys(obj);
|
|
5797
|
+
}
|
|
5798
|
+
/**
|
|
5799
|
+
* @param {?} date
|
|
5800
|
+
* @return {?}
|
|
5801
|
+
*/
|
|
5802
|
+
formatDate(date) {
|
|
5803
|
+
/** @type {?} */
|
|
5804
|
+
let formatDate = new Date(date);
|
|
5805
|
+
return this.datePipe.transform(formatDate, 'E, dd LLL');
|
|
5806
|
+
}
|
|
5807
|
+
/**
|
|
5808
|
+
* @param {?} timeString
|
|
5809
|
+
* @return {?}
|
|
5810
|
+
*/
|
|
5811
|
+
convertTo12HourFormat(timeString) {
|
|
5812
|
+
/** @type {?} */
|
|
5813
|
+
const time = timeString.split(":");
|
|
5814
|
+
/** @type {?} */
|
|
5815
|
+
let hours = +time[0];
|
|
5816
|
+
/** @type {?} */
|
|
5817
|
+
const minutes = +time[1];
|
|
5818
|
+
/** @type {?} */
|
|
5819
|
+
const ampm = hours >= 12 ? 'PM' : 'AM';
|
|
5820
|
+
hours = hours % 12;
|
|
5821
|
+
hours = hours ? hours : 12;
|
|
5822
|
+
/** @type {?} */
|
|
5823
|
+
const strHours = hours < 10 ? '0' + hours : hours.toString();
|
|
5824
|
+
/** @type {?} */
|
|
5825
|
+
const strMinutes = minutes < 10 ? '0' + minutes : minutes.toString();
|
|
5826
|
+
return `${strHours}:${strMinutes}: ${ampm}`;
|
|
5827
|
+
}
|
|
5828
|
+
/**
|
|
5829
|
+
* @param {?} cDate
|
|
5830
|
+
* @param {?} counter
|
|
5831
|
+
* @return {?}
|
|
5832
|
+
*/
|
|
5833
|
+
getDays(cDate, counter) {
|
|
5834
|
+
/** @type {?} */
|
|
5835
|
+
const days = [];
|
|
5836
|
+
/** @type {?} */
|
|
5837
|
+
let initDate = new Date(cDate);
|
|
5838
|
+
initDate = this.datePipe.transform(initDate, 'y-MM-dd');
|
|
5839
|
+
days.push(initDate);
|
|
5840
|
+
this.trainings[initDate] = [];
|
|
5841
|
+
while (counter > 0) {
|
|
5842
|
+
/** @type {?} */
|
|
5843
|
+
let myDate = new Date(cDate);
|
|
5844
|
+
myDate = myDate.setDate(myDate.getDate() + 1);
|
|
5845
|
+
cDate = myDate;
|
|
5846
|
+
myDate = this.datePipe.transform(myDate, 'y-MM-dd');
|
|
5847
|
+
days.push(myDate);
|
|
5848
|
+
this.trainings[myDate] = [];
|
|
5849
|
+
counter = counter - 1;
|
|
5850
|
+
}
|
|
5851
|
+
return days;
|
|
5852
|
+
}
|
|
5853
|
+
/**
|
|
5854
|
+
* @param {?} year
|
|
5855
|
+
* @param {?} month
|
|
5856
|
+
* @return {?}
|
|
5857
|
+
*/
|
|
5858
|
+
getDaysInMonth(year, month) {
|
|
5859
|
+
/** @type {?} */
|
|
5860
|
+
const date = new Date(year, month, 1);
|
|
5861
|
+
/** @type {?} */
|
|
5862
|
+
const days = [];
|
|
5863
|
+
this.trainings = {};
|
|
5864
|
+
while (date.getMonth() === month) {
|
|
5865
|
+
/** @type {?} */
|
|
5866
|
+
let myDate = new Date(date);
|
|
5867
|
+
myDate = this.datePipe.transform(myDate, 'y-MM-dd');
|
|
5868
|
+
days.push(myDate);
|
|
5869
|
+
this.trainings[myDate] = [];
|
|
5870
|
+
date.setDate(date.getDate() + 1);
|
|
5871
|
+
}
|
|
5872
|
+
return days;
|
|
5873
|
+
}
|
|
5874
|
+
/**
|
|
5875
|
+
* @return {?}
|
|
5876
|
+
*/
|
|
5877
|
+
getMonthsDropdownData() {
|
|
5878
|
+
this.allMonths.forEach((/**
|
|
5879
|
+
* @param {?} month
|
|
5880
|
+
* @return {?}
|
|
5881
|
+
*/
|
|
5882
|
+
(month) => {
|
|
5883
|
+
this.monthsDropdown.push(`${month} ${this.currentDate.getFullYear()}`);
|
|
5884
|
+
}));
|
|
5885
|
+
}
|
|
5886
|
+
/**
|
|
5887
|
+
* @param {?} event
|
|
5888
|
+
* @return {?}
|
|
5889
|
+
*/
|
|
5890
|
+
selectMonth(event) {
|
|
5891
|
+
/** @type {?} */
|
|
5892
|
+
const selectedMonth = new Date(event);
|
|
5893
|
+
this.currentDate = selectedMonth;
|
|
5894
|
+
this.days = [];
|
|
5895
|
+
this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth());
|
|
5896
|
+
this.startDate = this.days[0];
|
|
5897
|
+
this.endDate = this.days[this.days.length - 1];
|
|
5898
|
+
this.isDataLoading = true;
|
|
5899
|
+
this.getInsiteData();
|
|
5649
5900
|
}
|
|
5650
5901
|
}
|
|
5651
5902
|
CalenderComponent.decorators = [
|
|
5652
5903
|
{ type: Component, args: [{
|
|
5653
5904
|
selector: 'sb-uic-calender',
|
|
5654
|
-
template: "<div class=\"
|
|
5655
|
-
styles: [".
|
|
5905
|
+
template: "<div class=\"calendar-header flex flex-row c-padding center gap-2\" *ngIf=\"showHeader\">\n <div class=\"pt-3\">{{ objectData?.title }}:</div>\n <div class=\"choose-month\">\n <mat-form-field class=\"custom-month\">\n <mat-select matNativeControl panelClass=\"custom-select\" [ngModel]=\"selectedMonth\" (ngModelChange)=\"selectMonth($event)\" class=\"month-select\">\n <span *ngFor=\"let month of monthsDropdown\">\n <mat-option [value]=\"month\">{{month}}</mat-option>\n </span>\n </mat-select>\n </mat-form-field>\n </div>\n</div>\n<div *ngIf=\"layoutType==='grid'\">\n <div *ngFor=\"let obj of getKeys(trainings); let i = index\">\n <sb-uic-calender-day [day]=\"trainings[obj]\"\n [layoutType]=\"layoutType\"\n [objectData]=\"objectData\"\n [dataLoading]=\"isDataLoading\"\n [eventDate]=\"obj\"\n [rowId]=\"i\">\n </sb-uic-calender-day>\n </div> \n</div>\n<div *ngIf=\"layoutType==='row'\">\n <div *ngFor=\"let obj of getKeys(trainings); let j = index\">\n <sb-uic-calender-day [day]=\"trainings[obj]\"\n [layoutType]=\"layoutType\"\n [objectData]=\"objectData\"\n [dataLoading]=\"isDataLoading\"\n [eventDate]=\"obj\"\n [rowId]=\"j\">\n </sb-uic-calender-day>\n </div>\n</div>",
|
|
5906
|
+
styles: [".calendar-header{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.c-padding{padding:0}.center{align-items:center}::ng-deep .custom-month .mat-form-field-wrapper{padding-bottom:0!important;width:110px}::ng-deep .custom-month .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#000!important}::ng-deep .custom-month .mat-select-value{width:89%}::ng-deep .custom-month .mat-select-value-text{font-weight:600}@media screen and (max-width:768px){.c-padding{padding:0 1.25rem 1rem}.calendar-header{font-size:15px}}"]
|
|
5656
5907
|
}] }
|
|
5657
5908
|
];
|
|
5909
|
+
/** @nocollapse */
|
|
5910
|
+
CalenderComponent.ctorParameters = () => [
|
|
5911
|
+
{ type: DatePipe },
|
|
5912
|
+
{ type: InsiteDataService }
|
|
5913
|
+
];
|
|
5658
5914
|
CalenderComponent.propDecorators = {
|
|
5659
|
-
objectData: [{ type: Input }]
|
|
5915
|
+
objectData: [{ type: Input }],
|
|
5916
|
+
layoutType: [{ type: Input }],
|
|
5917
|
+
fetchDataFromApi: [{ type: Input }],
|
|
5918
|
+
showHeader: [{ type: Input }],
|
|
5919
|
+
defaultDays: [{ type: Input }],
|
|
5920
|
+
providerId: [{ type: Input }],
|
|
5921
|
+
fullCalendor: [{ type: Input }]
|
|
5660
5922
|
};
|
|
5661
5923
|
if (false) {
|
|
5662
5924
|
/** @type {?} */
|
|
5663
5925
|
CalenderComponent.prototype.objectData;
|
|
5664
5926
|
/** @type {?} */
|
|
5665
|
-
CalenderComponent.prototype.
|
|
5927
|
+
CalenderComponent.prototype.layoutType;
|
|
5928
|
+
/** @type {?} */
|
|
5929
|
+
CalenderComponent.prototype.fetchDataFromApi;
|
|
5930
|
+
/** @type {?} */
|
|
5931
|
+
CalenderComponent.prototype.showHeader;
|
|
5932
|
+
/** @type {?} */
|
|
5933
|
+
CalenderComponent.prototype.defaultDays;
|
|
5934
|
+
/** @type {?} */
|
|
5935
|
+
CalenderComponent.prototype.providerId;
|
|
5936
|
+
/** @type {?} */
|
|
5937
|
+
CalenderComponent.prototype.fullCalendor;
|
|
5938
|
+
/** @type {?} */
|
|
5939
|
+
CalenderComponent.prototype.days;
|
|
5940
|
+
/** @type {?} */
|
|
5941
|
+
CalenderComponent.prototype.trainings;
|
|
5942
|
+
/** @type {?} */
|
|
5943
|
+
CalenderComponent.prototype.currentMonthAndYear;
|
|
5944
|
+
/** @type {?} */
|
|
5945
|
+
CalenderComponent.prototype.isDataLoading;
|
|
5946
|
+
/** @type {?} */
|
|
5947
|
+
CalenderComponent.prototype.currentDate;
|
|
5948
|
+
/** @type {?} */
|
|
5949
|
+
CalenderComponent.prototype.endDate;
|
|
5950
|
+
/** @type {?} */
|
|
5951
|
+
CalenderComponent.prototype.startDate;
|
|
5952
|
+
/** @type {?} */
|
|
5953
|
+
CalenderComponent.prototype.allMonths;
|
|
5954
|
+
/** @type {?} */
|
|
5955
|
+
CalenderComponent.prototype.monthsDropdown;
|
|
5956
|
+
/** @type {?} */
|
|
5957
|
+
CalenderComponent.prototype.selectedMonth;
|
|
5958
|
+
/**
|
|
5959
|
+
* @type {?}
|
|
5960
|
+
* @private
|
|
5961
|
+
*/
|
|
5962
|
+
CalenderComponent.prototype.datePipe;
|
|
5963
|
+
/** @type {?} */
|
|
5964
|
+
CalenderComponent.prototype.insightSvc;
|
|
5965
|
+
}
|
|
5966
|
+
|
|
5967
|
+
/**
|
|
5968
|
+
* @fileoverview added by tsickle
|
|
5969
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5970
|
+
*/
|
|
5971
|
+
class CalenderDayComponent {
|
|
5972
|
+
/**
|
|
5973
|
+
* @param {?} datePipe
|
|
5974
|
+
*/
|
|
5975
|
+
constructor(datePipe) {
|
|
5976
|
+
this.datePipe = datePipe;
|
|
5977
|
+
this.webDisplayDate = "";
|
|
5978
|
+
this.mobileDisplayDate = "";
|
|
5979
|
+
this.currentDate = new Date();
|
|
5980
|
+
}
|
|
5981
|
+
/**
|
|
5982
|
+
* @return {?}
|
|
5983
|
+
*/
|
|
5984
|
+
ngOnInit() {
|
|
5985
|
+
this.currentDate = this.datePipe.transform(this.currentDate, 'y-MM-dd');
|
|
5986
|
+
}
|
|
5987
|
+
/**
|
|
5988
|
+
* @param {?} link
|
|
5989
|
+
* @return {?}
|
|
5990
|
+
*/
|
|
5991
|
+
openLink(link) {
|
|
5992
|
+
window.open(link, "_blank");
|
|
5993
|
+
}
|
|
5994
|
+
/**
|
|
5995
|
+
* @param {?} date
|
|
5996
|
+
* @param {?} type
|
|
5997
|
+
* @return {?}
|
|
5998
|
+
*/
|
|
5999
|
+
formatDate(date, type) {
|
|
6000
|
+
/** @type {?} */
|
|
6001
|
+
let fDate = new Date(date);
|
|
6002
|
+
if (type === 'web') {
|
|
6003
|
+
return this.datePipe.transform(fDate, 'E, dd LLL');
|
|
6004
|
+
}
|
|
6005
|
+
if (type === 'mob') {
|
|
6006
|
+
return this.datePipe.transform(fDate, 'E dd LLL');
|
|
6007
|
+
}
|
|
6008
|
+
}
|
|
6009
|
+
}
|
|
6010
|
+
CalenderDayComponent.decorators = [
|
|
6011
|
+
{ type: Component, args: [{
|
|
6012
|
+
selector: 'sb-uic-calender-day',
|
|
6013
|
+
template: "<div *ngIf=\"layoutType==='grid' && !dataLoading\">\n <div class=\"p-3 event-day my-3\"\n [style.backgroundColor]=\"objectData?.webBackgroundColor\"\n [style.borderColor]=\"currentDate === eventDate ? objectData?.activeBackgroudColor: ''\">\n \n <div class=\"flex item-top gap-8 {{ day.length ? '' : 'aliginCenter'}}\">\n <div class=\"event-date\">\n <div class=\"currentDay\"\n [style.backgroundColor]=\"currentDate === eventDate ? objectData?.activeBackgroudColor: ''\"\n [style.color]=\"currentDate === eventDate ? objectData?.activeColor: ''\">\n {{formatDate(eventDate, 'web')}}\n </div>\n </div>\n <div class=\"details w-full\" *ngIf=\"day.length\">\n <div class=\"flex p-4 item-center events-list mb-{{day.length === (i+1) ? '0' : '2'}} gap-20\" [style.backgroundColor]=\"objectData?.eventBackgroundColor\"\n *ngFor=\"let event of day; let i = index\" >\n <div>\n <div class=\"flex flex-row item-center gap-10 pb-2\">\n <div class=\"flex item-center gap-1 row1 col1\">\n <div><mat-icon class=\"icon-web\">schedule</mat-icon> </div>\n <div>{{event.startTime}} to {{event.endTime}}</div>\n </div>\n <div class=\"flex item-center col1\">{{event.title}}</div>\n </div>\n <div class=\"flex flex-row item-center gap-10\">\n <div class=\"flex item-center gap-1 row1 col1\" *ngIf=\"event.startDate && event.endDate && event.startDate !== event.endDate\">\n <div><mat-icon class=\"icon-web\">date_range</mat-icon> </div>\n <div class=\"upcase\">{{event.startDate}} - {{event.endDate}}</div>\n </div>\n <div class=\"flex item-center col1\">\n <div><mat-icon class=\"icon-web\">location_on</mat-icon> </div>\n <div class=\"flex item-center\">{{event.location}}</div>\n </div>\n </div>\n </div>\n <div class=\"visit-link flex gap-2\"\n *ngIf=\"event?.registrationLink\">\n <div (click)=\"openLink(event?.registrationLink)\">Visit</div>\n <div (click)=\"openLink(event?.registrationLink)\"><mat-icon class=\"visit-icon\">open_in_new</mat-icon> </div>\n </div>\n </div>\n </div>\n <div class=\"details w-full\" *ngIf=\"!day.length\">\n No trainings.\n </div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"layoutType==='row' && !dataLoading\">\n <div class=\"p-5 mb-{{day?.length === (rowId+1) ? '0' : '3'}}\"\n [style.backgroundColor]=\"objectData?.mobileBackground\">\n <div class=\"flex item-center gap-4\">\n <div class=\"event-date\">\n <div class=\"flex flex-col\">\n <div> {{formatDate(eventDate, 'mob').split(' ')[0]}}</div>\n <div class=\"mob-currentDay\"\n [style.backgroundColor]=\"currentDate === eventDate ? objectData?.activeBackgroudColor: ''\"\n [style.color]=\"currentDate === eventDate ? objectData?.activeColor: ''\">\n {{formatDate(eventDate, 'mob').split(' ')[1]}}\n </div>\n <div> {{formatDate(eventDate, 'mob').split(' ')[2]}}</div>\n </div>\n </div>\n <div class=\"details w-full\" *ngIf=\"day.length\">\n <div class=\"flex flex-col mob-events-list p-3 mb-{{day.length === (i+1) ? '0' : '2'}}\"\n *ngFor=\"let event of day; let i = index\" [style.backgroundColor]=\"objectData?.eventBackgroundColor\">\n <div>\n <div class=\"flex pb-2\">{{event.title}}</div>\n <div class=\"flex pb-1\">\n <div><mat-icon class=\"mob-icon\">schedule</mat-icon> </div>\n <div>{{event.startTime}} to {{event.endTime}}</div>\n </div>\n <div class=\"flex pb-1\" *ngIf=\"event.startDate && event.endDate && event.startDate !== event.endDate\">\n <div><mat-icon class=\"mob-icon\">date_range</mat-icon> </div>\n <div class=\"upcase\">{{event.startDate}} - {{event.endDate}}</div>\n </div>\n <div class=\"flex\">\n <div><mat-icon class=\"mob-icon\">location_on</mat-icon> </div>\n <div class=\"flex item-center\">{{event.location}}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"details w-full flex no-data\" *ngIf=\"!day.length\">\n No trainings.\n </div>\n </div> \n </div> \n</div>\n\n<!-- skeleton loaders -->\n<div *ngIf=\"dataLoading\">\n <div *ngIf=\"layoutType==='grid'\">\n <div class=\"hidden md:block\">\n <div class=\"p-3 event-day my-3\"\n [style.backgroundColor]=\"'#FFF'\">\n <div class=\"flex item-top gap-8\">\n <div class=\"event-date\">\n <div class=\"currentDay\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'90px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> \n </div>\n </div>\n <div class=\"details w-full\">\n <div class=\"flex p-4 item-center events-list mb-2 gap-20\">\n <div>\n <div class=\"flex flex-row item-center gap-20 pb-2\">\n <div class=\"flex item-center gap-2 row1 col1\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'50px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'250px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"flex item-center col1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'250px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> </div>\n </div>\n <div class=\"flex flex-row item-center gap-20 pb-2\">\n <div class=\"flex item-center gap-2 row1 col1\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'50px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'250px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"flex item-center col1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'250px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> </div>\n </div>\n </div>\n <div class=\"visit-link flex gap-2\">\n <div><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'200px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"layoutType==='row'\">\n <div class=\"block md:hidden\">\n <div class=\"p-5\" \n [style.backgroundColor]=\"'#FFFFFF'\">\n <div class=\"flex item-center gap-4\">\n <div class=\"event-date\">\n <div class=\"flex flex-col\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'30px'\"\n [height]=\"'90px'\"></sb-uic-skeleton-loader> \n </div>\n </div>\n <div class=\"details w-full\">\n <div class=\"flex flex-col mob-events-list p-3 mb-2\">\n <div>\n <div class=\"flex pb-2\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'265px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> \n </div>\n <div class=\"flex pb-1 gap-2\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'30px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'230px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"flex pb-1 gap-2\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'30px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'230px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"flex gap-2\">\n <div><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'30px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex item-center\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'230px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader> \n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>",
|
|
6014
|
+
styles: [".event-day{border:1px solid #c3c3c3;border-radius:15px}.event-date{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;width:10%;text-transform:uppercase}.events-list{border:1px solid #c3c3c3;border-radius:15px;justify-content:space-between;align-items:center;font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px}.row1{width:235px}.icon-web{font-size:17px;height:17px}.upcase{text-transform:uppercase}.aliginCenter,.col1{align-items:center}.visit-link{cursor:pointer;align-items:center;justify-content:center}.visit-icon{font-size:17px;height:17px;color:#1b4ca1}.currentDay{padding:5px;border-radius:20px}.mob-currentDay{padding:8px;border-radius:20px}.mob-events-list{border:1px solid #e8e6e5;border-radius:10px;justify-content:space-between;font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px}.mob-icon{font-size:17px;height:17px}.no-data{display:flex;align-items:center}"]
|
|
6015
|
+
}] }
|
|
6016
|
+
];
|
|
6017
|
+
/** @nocollapse */
|
|
6018
|
+
CalenderDayComponent.ctorParameters = () => [
|
|
6019
|
+
{ type: DatePipe }
|
|
6020
|
+
];
|
|
6021
|
+
CalenderDayComponent.propDecorators = {
|
|
6022
|
+
objectData: [{ type: Input }],
|
|
6023
|
+
layoutType: [{ type: Input }],
|
|
6024
|
+
day: [{ type: Input }],
|
|
6025
|
+
dataLoading: [{ type: Input }],
|
|
6026
|
+
rowId: [{ type: Input }],
|
|
6027
|
+
eventDate: [{ type: Input }]
|
|
6028
|
+
};
|
|
6029
|
+
if (false) {
|
|
6030
|
+
/** @type {?} */
|
|
6031
|
+
CalenderDayComponent.prototype.objectData;
|
|
6032
|
+
/** @type {?} */
|
|
6033
|
+
CalenderDayComponent.prototype.layoutType;
|
|
6034
|
+
/** @type {?} */
|
|
6035
|
+
CalenderDayComponent.prototype.day;
|
|
6036
|
+
/** @type {?} */
|
|
6037
|
+
CalenderDayComponent.prototype.dataLoading;
|
|
6038
|
+
/** @type {?} */
|
|
6039
|
+
CalenderDayComponent.prototype.rowId;
|
|
6040
|
+
/** @type {?} */
|
|
6041
|
+
CalenderDayComponent.prototype.eventDate;
|
|
6042
|
+
/** @type {?} */
|
|
6043
|
+
CalenderDayComponent.prototype.webDisplayDate;
|
|
6044
|
+
/** @type {?} */
|
|
6045
|
+
CalenderDayComponent.prototype.mobileDisplayDate;
|
|
6046
|
+
/** @type {?} */
|
|
6047
|
+
CalenderDayComponent.prototype.currentDate;
|
|
6048
|
+
/**
|
|
6049
|
+
* @type {?}
|
|
6050
|
+
* @private
|
|
6051
|
+
*/
|
|
6052
|
+
CalenderDayComponent.prototype.datePipe;
|
|
5666
6053
|
}
|
|
5667
6054
|
|
|
5668
6055
|
/**
|
|
@@ -5676,9 +6063,15 @@ CalenderModule.decorators = [
|
|
|
5676
6063
|
imports: [
|
|
5677
6064
|
CommonModule,
|
|
5678
6065
|
MatIconModule,
|
|
6066
|
+
FormsModule,
|
|
6067
|
+
ReactiveFormsModule,
|
|
6068
|
+
MatSelectModule,
|
|
6069
|
+
SkeletonLoaderLibModule
|
|
5679
6070
|
],
|
|
5680
|
-
declarations: [CalenderComponent],
|
|
6071
|
+
declarations: [CalenderComponent, CalenderDayComponent],
|
|
5681
6072
|
exports: [CalenderComponent],
|
|
6073
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
6074
|
+
providers: [DatePipe, InsiteDataService],
|
|
5682
6075
|
},] }
|
|
5683
6076
|
];
|
|
5684
6077
|
|
|
@@ -5896,18 +6289,21 @@ class CommonStripComponent extends WidgetBaseComponent {
|
|
|
5896
6289
|
if (this.widgetData.loader && this.widgetData.strips.length) {
|
|
5897
6290
|
this.showParentLoader = true;
|
|
5898
6291
|
}
|
|
5899
|
-
//
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
this.processStrip(strip,
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
if (this.checkForEmptyWidget(strip)) {
|
|
5907
|
-
// this.fetchStripFromRequestData(strip, false);
|
|
6292
|
+
// null check if in case no strips key in config
|
|
6293
|
+
if (this.widgetData && this.widgetData.strips) {
|
|
6294
|
+
// Fetch the data
|
|
6295
|
+
for (const strip of this.widgetData.strips) {
|
|
6296
|
+
this.processStrip(strip, [], 'fetching', false, null);
|
|
6297
|
+
if (strip.dataType === 'in-hand' && this.widgetData[strip.dataKey]) {
|
|
6298
|
+
this.processStrip(strip, this.commonMethodsSvc.transformContentsToWidgets(this.widgetData[strip.dataKey], strip), 'done', true, strip.viewMoreUrl || '');
|
|
5908
6299
|
}
|
|
5909
6300
|
else {
|
|
5910
|
-
this.
|
|
6301
|
+
if (this.checkForEmptyWidget(strip)) {
|
|
6302
|
+
// this.fetchStripFromRequestData(strip, false);
|
|
6303
|
+
}
|
|
6304
|
+
else {
|
|
6305
|
+
this.processStrip(strip, [], 'done', true, null);
|
|
6306
|
+
}
|
|
5911
6307
|
}
|
|
5912
6308
|
}
|
|
5913
6309
|
}
|
|
@@ -6585,7 +6981,7 @@ class CardsComponent extends WidgetBaseComponent {
|
|
|
6585
6981
|
CardsComponent.decorators = [
|
|
6586
6982
|
{ type: Component, args: [{
|
|
6587
6983
|
selector: 'sb-uic-cards',
|
|
6588
|
-
template: "<div class=\"widget-card-content-new\">\n <ng-container *ngIf=\"widgetData && (((widgetData?.deletedMode || 'none') === 'hide' && !!!isLiveOrMarkForDeletion)\n ? false\n : !((widgetData?.intranetMode || 'none') === 'hide' && !!showIntranetContent))\"\n [ngSwitch]=\"( (widgetData && widgetData?.cardSubType) || 'cardPortraitLib')\">\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'user-card'\" [ngTemplateOutlet]=\"cardUser\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib'\" [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib-skeleton'\" [ngTemplateOutlet]=\"cardLandscapeLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib'\" [ngTemplateOutlet]=\"cardLandscapeLib\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #cardPortraitLibSkeleton>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardPortraitLib>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardLandscapeLibSkeleton>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-landscape>\n</ng-template>\n<ng-template #cardLandscapeLib>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-landscape>\n</ng-template>\n\n\n <ng-template #cardUser>\n <sb-uic-card-user [widgetData]=\"widgetData\"></sb-uic-card-user>\n </ng-template>\n",
|
|
6984
|
+
template: "<div class=\"widget-card-content-new\">\n <ng-container *ngIf=\"widgetData && (((widgetData?.deletedMode || 'none') === 'hide' && !!!isLiveOrMarkForDeletion)\n ? false\n : !((widgetData?.intranetMode || 'none') === 'hide' && !!showIntranetContent))\"\n [ngSwitch]=\"( (widgetData && widgetData?.cardSubType) || 'cardPortraitLib')\">\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'user-card'\" [ngTemplateOutlet]=\"cardUser\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib'\" [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib-skeleton'\" [ngTemplateOutlet]=\"cardLandscapeLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib'\" [ngTemplateOutlet]=\"cardLandscapeLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib-skeleton'\" [ngTemplateOutlet]=\"cardWideLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib'\" [ngTemplateOutlet]=\"cardWideLib\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #cardPortraitLibSkeleton>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardPortraitLib>\n <sb-uic-card-portrait (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardLandscapeLibSkeleton>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-landscape>\n</ng-template>\n<ng-template #cardLandscapeLib>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-landscape>\n</ng-template>\n\n<ng-template #cardWideLib>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n<ng-template #cardWideLibSkeleton>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n\n <ng-template #cardUser>\n <sb-uic-card-user [widgetData]=\"widgetData\"></sb-uic-card-user>\n </ng-template>\n",
|
|
6589
6985
|
styles: [""]
|
|
6590
6986
|
}] }
|
|
6591
6987
|
];
|
|
@@ -6701,6 +7097,10 @@ class CardPortraitComponent {
|
|
|
6701
7097
|
this.sourceLogos = instanceConfig.sources;
|
|
6702
7098
|
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
6703
7099
|
}
|
|
7100
|
+
else {
|
|
7101
|
+
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
7102
|
+
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
7103
|
+
}
|
|
6704
7104
|
}
|
|
6705
7105
|
/**
|
|
6706
7106
|
* @return {?}
|
|
@@ -7482,65 +7882,225 @@ if (false) {
|
|
|
7482
7882
|
* @fileoverview added by tsickle
|
|
7483
7883
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7484
7884
|
*/
|
|
7485
|
-
class
|
|
7486
|
-
}
|
|
7487
|
-
CardsModule.decorators = [
|
|
7488
|
-
{ type: NgModule, args: [{
|
|
7489
|
-
declarations: [CardResourceComponent, CardsComponent, CardPortraitComponent, CardUserComponent, CardLandscapeComponent],
|
|
7490
|
-
imports: [
|
|
7491
|
-
CommonModule,
|
|
7492
|
-
MatCardModule,
|
|
7493
|
-
MatButtonModule,
|
|
7494
|
-
MatIconModule,
|
|
7495
|
-
MatTooltipModule,
|
|
7496
|
-
RouterModule,
|
|
7497
|
-
PipePublicURLModule,
|
|
7498
|
-
DisplayContentTypeLibModule,
|
|
7499
|
-
DefaultThumbnailModule,
|
|
7500
|
-
PipeDurationTransformModule,
|
|
7501
|
-
SkeletonLoaderLibModule
|
|
7502
|
-
],
|
|
7503
|
-
entryComponents: [CardsComponent],
|
|
7504
|
-
exports: [
|
|
7505
|
-
CardsComponent,
|
|
7506
|
-
CardResourceComponent,
|
|
7507
|
-
CardPortraitComponent,
|
|
7508
|
-
CardLandscapeComponent,
|
|
7509
|
-
CardUserComponent
|
|
7510
|
-
],
|
|
7511
|
-
},] }
|
|
7512
|
-
];
|
|
7513
|
-
|
|
7514
|
-
/**
|
|
7515
|
-
* @fileoverview added by tsickle
|
|
7516
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7517
|
-
*/
|
|
7518
|
-
/** @type {?} */
|
|
7519
|
-
const WIDGET_REGISTERED_LIB_MODULES = [
|
|
7520
|
-
CardsModule
|
|
7521
|
-
];
|
|
7522
|
-
/** @type {?} */
|
|
7523
|
-
const WIDGET_REGISTRATION_LIB_CONFIG = [
|
|
7524
|
-
{
|
|
7525
|
-
widgetType: ROOT_WIDGET_CONFIG.card._type,
|
|
7526
|
-
widgetSubType: ROOT_WIDGET_CONFIG.card.cardResource,
|
|
7527
|
-
component: CardsComponent,
|
|
7528
|
-
}
|
|
7529
|
-
];
|
|
7530
|
-
|
|
7531
|
-
/**
|
|
7532
|
-
* @fileoverview added by tsickle
|
|
7533
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7534
|
-
*/
|
|
7535
|
-
/** @type {?} */
|
|
7536
|
-
const API_POINTS = {
|
|
7537
|
-
COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,
|
|
7538
|
-
CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,
|
|
7539
|
-
};
|
|
7540
|
-
class CompetencyPassbookService {
|
|
7541
|
-
// tslint: disable-next-line: whitespace
|
|
7885
|
+
class CardWideComponent {
|
|
7542
7886
|
/**
|
|
7543
|
-
* @param {?}
|
|
7887
|
+
* @param {?} snackBar
|
|
7888
|
+
* @param {?} events
|
|
7889
|
+
* @param {?} translate
|
|
7890
|
+
* @param {?} langtranslations
|
|
7891
|
+
* @param {?} configSvc
|
|
7892
|
+
*/
|
|
7893
|
+
constructor(snackBar, events, translate, langtranslations, configSvc) {
|
|
7894
|
+
this.snackBar = snackBar;
|
|
7895
|
+
this.events = events;
|
|
7896
|
+
this.translate = translate;
|
|
7897
|
+
this.langtranslations = langtranslations;
|
|
7898
|
+
this.configSvc = configSvc;
|
|
7899
|
+
this.isCardLoading = false;
|
|
7900
|
+
this.contentData = new EventEmitter();
|
|
7901
|
+
this.isCardFlipped = false;
|
|
7902
|
+
this.showFlip = false;
|
|
7903
|
+
this.widgetType = 'df';
|
|
7904
|
+
this.widgetSubType = 'sdf';
|
|
7905
|
+
this.langtranslations.languageSelectedObservable.subscribe((/**
|
|
7906
|
+
* @return {?}
|
|
7907
|
+
*/
|
|
7908
|
+
() => {
|
|
7909
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
7910
|
+
this.translate.setDefaultLang('en');
|
|
7911
|
+
/** @type {?} */
|
|
7912
|
+
const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
|
|
7913
|
+
this.translate.use(lang);
|
|
7914
|
+
}
|
|
7915
|
+
}));
|
|
7916
|
+
}
|
|
7917
|
+
/**
|
|
7918
|
+
* @return {?}
|
|
7919
|
+
*/
|
|
7920
|
+
ngOnInit() {
|
|
7921
|
+
/** @type {?} */
|
|
7922
|
+
const instanceConfig = this.configSvc.instanceConfig;
|
|
7923
|
+
if (instanceConfig) {
|
|
7924
|
+
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
7925
|
+
this.sourceLogos = instanceConfig.sources;
|
|
7926
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
7927
|
+
}
|
|
7928
|
+
else {
|
|
7929
|
+
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
7930
|
+
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
7931
|
+
}
|
|
7932
|
+
}
|
|
7933
|
+
/**
|
|
7934
|
+
* @param {?} contentData
|
|
7935
|
+
* @return {?}
|
|
7936
|
+
*/
|
|
7937
|
+
getRedirectUrlData(contentData) {
|
|
7938
|
+
this.contentData.emit(contentData);
|
|
7939
|
+
}
|
|
7940
|
+
/**
|
|
7941
|
+
* @return {?}
|
|
7942
|
+
*/
|
|
7943
|
+
raiseTelemetry() {
|
|
7944
|
+
// if(this.forPreview){
|
|
7945
|
+
// return
|
|
7946
|
+
// }
|
|
7947
|
+
this.events.raiseInteractTelemetry({
|
|
7948
|
+
type: 'click',
|
|
7949
|
+
subType: `${this.widgetType}-${this.widgetSubType}`,
|
|
7950
|
+
id: `${camelCase(this.widgetData.content.primaryCategory)}-card`,
|
|
7951
|
+
}, {
|
|
7952
|
+
id: this.widgetData.content.identifier,
|
|
7953
|
+
type: this.widgetData.content.primaryCategory,
|
|
7954
|
+
//context: this.widgetData.context,
|
|
7955
|
+
rollup: {},
|
|
7956
|
+
ver: `${this.widgetData.content.version}${''}`,
|
|
7957
|
+
}, {
|
|
7958
|
+
pageIdExt: `${camelCase(this.widgetData.content.primaryCategory)}-card`,
|
|
7959
|
+
module: camelCase(this.widgetData.content.primaryCategory),
|
|
7960
|
+
});
|
|
7961
|
+
}
|
|
7962
|
+
}
|
|
7963
|
+
CardWideComponent.decorators = [
|
|
7964
|
+
{ type: Component, args: [{
|
|
7965
|
+
selector: 'sb-uic-card-wide',
|
|
7966
|
+
template: "<mat-card class=\"card-wide-lib\">\n <a (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" \n role=\"link\" i18n-aria-label>\n <div class=\"flex\">\n <div>\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-wide-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-wide-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-wide-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div>\n <div class=\"pl-4 pr-4 w-full\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData?.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData?.content?.name }}\n </div>\n\n <div class=\"flex w-full flex-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>\n </div>\n </div>\n </a>\n</mat-card>\n",
|
|
7967
|
+
styles: [".card-wide-lib{width:inherit;padding:16px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.16)}.card-wide-lib .card-wide-img{width:190px;height:107px;border-radius:12px}.card-wide-lib .course_widget{margin-top:10px}.card-wide-lib .course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.card-wide-lib .course_widget .course_v2{border:1px solid #ef951e;padding:4px 8px;align-items:end;border-radius:16px}.card-wide-lib .course_widget .main_icon{font-size:16px;width:16px;height:16px}.card-wide-lib .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.card-wide-lib .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-wide-lib .course_logo_box p{display:inline-block;vertical-align:top}.card-wide-lib .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}"]
|
|
7968
|
+
}] }
|
|
7969
|
+
];
|
|
7970
|
+
/** @nocollapse */
|
|
7971
|
+
CardWideComponent.ctorParameters = () => [
|
|
7972
|
+
{ type: MatSnackBar },
|
|
7973
|
+
{ type: EventService },
|
|
7974
|
+
{ type: TranslateService },
|
|
7975
|
+
{ type: MultilingualTranslationsService },
|
|
7976
|
+
{ type: ConfigurationsService$1 }
|
|
7977
|
+
];
|
|
7978
|
+
CardWideComponent.propDecorators = {
|
|
7979
|
+
widgetData: [{ type: Input }],
|
|
7980
|
+
isLiveOrMarkForDeletion: [{ type: Input }],
|
|
7981
|
+
showIntranetContent: [{ type: Input }],
|
|
7982
|
+
isIntranetAllowedSettings: [{ type: Input }],
|
|
7983
|
+
isCardLoading: [{ type: Input }],
|
|
7984
|
+
contentData: [{ type: Output }]
|
|
7985
|
+
};
|
|
7986
|
+
if (false) {
|
|
7987
|
+
/** @type {?} */
|
|
7988
|
+
CardWideComponent.prototype.widgetData;
|
|
7989
|
+
/** @type {?} */
|
|
7990
|
+
CardWideComponent.prototype.isLiveOrMarkForDeletion;
|
|
7991
|
+
/** @type {?} */
|
|
7992
|
+
CardWideComponent.prototype.showIntranetContent;
|
|
7993
|
+
/** @type {?} */
|
|
7994
|
+
CardWideComponent.prototype.isIntranetAllowedSettings;
|
|
7995
|
+
/** @type {?} */
|
|
7996
|
+
CardWideComponent.prototype.isCardLoading;
|
|
7997
|
+
/** @type {?} */
|
|
7998
|
+
CardWideComponent.prototype.contentData;
|
|
7999
|
+
/** @type {?} */
|
|
8000
|
+
CardWideComponent.prototype.isCardFlipped;
|
|
8001
|
+
/** @type {?} */
|
|
8002
|
+
CardWideComponent.prototype.defaultThumbnail;
|
|
8003
|
+
/** @type {?} */
|
|
8004
|
+
CardWideComponent.prototype.sourceLogos;
|
|
8005
|
+
/** @type {?} */
|
|
8006
|
+
CardWideComponent.prototype.defaultSLogo;
|
|
8007
|
+
/** @type {?} */
|
|
8008
|
+
CardWideComponent.prototype.showFlip;
|
|
8009
|
+
/** @type {?} */
|
|
8010
|
+
CardWideComponent.prototype.widgetType;
|
|
8011
|
+
/** @type {?} */
|
|
8012
|
+
CardWideComponent.prototype.widgetSubType;
|
|
8013
|
+
/**
|
|
8014
|
+
* @type {?}
|
|
8015
|
+
* @private
|
|
8016
|
+
*/
|
|
8017
|
+
CardWideComponent.prototype.snackBar;
|
|
8018
|
+
/**
|
|
8019
|
+
* @type {?}
|
|
8020
|
+
* @private
|
|
8021
|
+
*/
|
|
8022
|
+
CardWideComponent.prototype.events;
|
|
8023
|
+
/**
|
|
8024
|
+
* @type {?}
|
|
8025
|
+
* @private
|
|
8026
|
+
*/
|
|
8027
|
+
CardWideComponent.prototype.translate;
|
|
8028
|
+
/**
|
|
8029
|
+
* @type {?}
|
|
8030
|
+
* @private
|
|
8031
|
+
*/
|
|
8032
|
+
CardWideComponent.prototype.langtranslations;
|
|
8033
|
+
/**
|
|
8034
|
+
* @type {?}
|
|
8035
|
+
* @private
|
|
8036
|
+
*/
|
|
8037
|
+
CardWideComponent.prototype.configSvc;
|
|
8038
|
+
}
|
|
8039
|
+
|
|
8040
|
+
/**
|
|
8041
|
+
* @fileoverview added by tsickle
|
|
8042
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8043
|
+
*/
|
|
8044
|
+
class CardsModule {
|
|
8045
|
+
}
|
|
8046
|
+
CardsModule.decorators = [
|
|
8047
|
+
{ type: NgModule, args: [{
|
|
8048
|
+
declarations: [CardResourceComponent, CardsComponent, CardPortraitComponent, CardUserComponent, CardLandscapeComponent, CardWideComponent],
|
|
8049
|
+
imports: [
|
|
8050
|
+
CommonModule,
|
|
8051
|
+
MatCardModule,
|
|
8052
|
+
MatButtonModule,
|
|
8053
|
+
MatIconModule,
|
|
8054
|
+
MatTooltipModule,
|
|
8055
|
+
RouterModule,
|
|
8056
|
+
PipePublicURLModule,
|
|
8057
|
+
DisplayContentTypeLibModule,
|
|
8058
|
+
DefaultThumbnailModule,
|
|
8059
|
+
PipeDurationTransformModule,
|
|
8060
|
+
SkeletonLoaderLibModule
|
|
8061
|
+
],
|
|
8062
|
+
entryComponents: [CardsComponent],
|
|
8063
|
+
exports: [
|
|
8064
|
+
CardsComponent,
|
|
8065
|
+
CardResourceComponent,
|
|
8066
|
+
CardPortraitComponent,
|
|
8067
|
+
CardLandscapeComponent,
|
|
8068
|
+
CardUserComponent,
|
|
8069
|
+
CardWideComponent
|
|
8070
|
+
],
|
|
8071
|
+
},] }
|
|
8072
|
+
];
|
|
8073
|
+
|
|
8074
|
+
/**
|
|
8075
|
+
* @fileoverview added by tsickle
|
|
8076
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8077
|
+
*/
|
|
8078
|
+
/** @type {?} */
|
|
8079
|
+
const WIDGET_REGISTERED_LIB_MODULES = [
|
|
8080
|
+
CardsModule
|
|
8081
|
+
];
|
|
8082
|
+
/** @type {?} */
|
|
8083
|
+
const WIDGET_REGISTRATION_LIB_CONFIG = [
|
|
8084
|
+
{
|
|
8085
|
+
widgetType: ROOT_WIDGET_CONFIG.card._type,
|
|
8086
|
+
widgetSubType: ROOT_WIDGET_CONFIG.card.cardResource,
|
|
8087
|
+
component: CardsComponent,
|
|
8088
|
+
}
|
|
8089
|
+
];
|
|
8090
|
+
|
|
8091
|
+
/**
|
|
8092
|
+
* @fileoverview added by tsickle
|
|
8093
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8094
|
+
*/
|
|
8095
|
+
/** @type {?} */
|
|
8096
|
+
const API_POINTS = {
|
|
8097
|
+
COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,
|
|
8098
|
+
CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,
|
|
8099
|
+
};
|
|
8100
|
+
class CompetencyPassbookService {
|
|
8101
|
+
// tslint: disable-next-line: whitespace
|
|
8102
|
+
/**
|
|
8103
|
+
* @param {?} http
|
|
7544
8104
|
*/
|
|
7545
8105
|
constructor(http) {
|
|
7546
8106
|
this.http = http;
|
|
@@ -7672,7 +8232,13 @@ class CompetencyPassbookComponent {
|
|
|
7672
8232
|
*/
|
|
7673
8233
|
(partialSum, data) => partialSum + data.count), 0);
|
|
7674
8234
|
this.selectedValue = this.competencyArea[0].name.toLowerCase();
|
|
7675
|
-
|
|
8235
|
+
/** @type {?} */
|
|
8236
|
+
let addFilter = {
|
|
8237
|
+
"channel": [
|
|
8238
|
+
this.providerId
|
|
8239
|
+
]
|
|
8240
|
+
};
|
|
8241
|
+
this.getcompetencyTheme(this.competencyArea[0].name, addFilter);
|
|
7676
8242
|
this.loadCompetencyArea = false;
|
|
7677
8243
|
}
|
|
7678
8244
|
}
|
|
@@ -7799,6 +8365,7 @@ class CompetencyPassbookComponent {
|
|
|
7799
8365
|
if (response && response.results) {
|
|
7800
8366
|
if (response.results.result.facets) {
|
|
7801
8367
|
this.competencyTheme = response.results.result.facets[0].values;
|
|
8368
|
+
this.resetViewMore();
|
|
7802
8369
|
}
|
|
7803
8370
|
this.loadCometency = false;
|
|
7804
8371
|
}
|
|
@@ -7809,12 +8376,25 @@ class CompetencyPassbookComponent {
|
|
|
7809
8376
|
}
|
|
7810
8377
|
});
|
|
7811
8378
|
}
|
|
8379
|
+
/**
|
|
8380
|
+
* @return {?}
|
|
8381
|
+
*/
|
|
8382
|
+
resetViewMore() {
|
|
8383
|
+
Object.keys(this.allcompetencyTheme).forEach((/**
|
|
8384
|
+
* @param {?} comp
|
|
8385
|
+
* @return {?}
|
|
8386
|
+
*/
|
|
8387
|
+
(comp) => {
|
|
8388
|
+
this.allcompetencyTheme[comp]['viewMore'] = false;
|
|
8389
|
+
}));
|
|
8390
|
+
}
|
|
7812
8391
|
/**
|
|
7813
8392
|
* @param {?} data
|
|
7814
8393
|
* @return {?}
|
|
7815
8394
|
*/
|
|
7816
8395
|
viewMoreChildren(data) {
|
|
7817
8396
|
data.viewMore = !data.viewMore;
|
|
8397
|
+
this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore;
|
|
7818
8398
|
}
|
|
7819
8399
|
/**
|
|
7820
8400
|
* @param {?} event
|
|
@@ -7976,6 +8556,1307 @@ CompetencyPassbookModule.decorators = [
|
|
|
7976
8556
|
},] }
|
|
7977
8557
|
];
|
|
7978
8558
|
|
|
8559
|
+
/**
|
|
8560
|
+
* @fileoverview added by tsickle
|
|
8561
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8562
|
+
*/
|
|
8563
|
+
/** @type {?} */
|
|
8564
|
+
const PROXY_SLAG_V8 = '/apis/proxies/v8';
|
|
8565
|
+
const ɵ0$3 = /**
|
|
8566
|
+
* @param {?} contentId
|
|
8567
|
+
* @param {?} contentType
|
|
8568
|
+
* @param {?} userId
|
|
8569
|
+
* @return {?}
|
|
8570
|
+
*/
|
|
8571
|
+
(contentId, contentType, userId) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`, ɵ1$2 = /**
|
|
8572
|
+
* @param {?} contentId
|
|
8573
|
+
* @param {?} contentType
|
|
8574
|
+
* @return {?}
|
|
8575
|
+
*/
|
|
8576
|
+
(contentId, contentType) => `${PROXY_SLAG_V8}/ratings/v1/summary/${contentId}/${contentType}`, ɵ2$2 = /**
|
|
8577
|
+
* @param {?} contentId
|
|
8578
|
+
* @param {?} userID
|
|
8579
|
+
* @return {?}
|
|
8580
|
+
*/
|
|
8581
|
+
(contentId, userID) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`;
|
|
8582
|
+
/** @type {?} */
|
|
8583
|
+
const API_END_POINTS$3 = {
|
|
8584
|
+
GET_RATING: (ɵ0$3),
|
|
8585
|
+
ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,
|
|
8586
|
+
GET_RATING_SUMMARY: (ɵ1$2),
|
|
8587
|
+
GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,
|
|
8588
|
+
GET_AUTHOR_REPLY: (ɵ2$2),
|
|
8589
|
+
POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,
|
|
8590
|
+
};
|
|
8591
|
+
class RatingService {
|
|
8592
|
+
/**
|
|
8593
|
+
* @param {?} http
|
|
8594
|
+
*/
|
|
8595
|
+
constructor(http) {
|
|
8596
|
+
this.http = http;
|
|
8597
|
+
}
|
|
8598
|
+
/**
|
|
8599
|
+
* @param {?} contentId
|
|
8600
|
+
* @param {?} contentType
|
|
8601
|
+
* @param {?} userId
|
|
8602
|
+
* @return {?}
|
|
8603
|
+
*/
|
|
8604
|
+
getRating(contentId, contentType, userId) {
|
|
8605
|
+
/** @type {?} */
|
|
8606
|
+
const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');
|
|
8607
|
+
if (!forPreview) {
|
|
8608
|
+
return this.http.get(API_END_POINTS$3.GET_RATING(contentId, contentType, userId));
|
|
8609
|
+
}
|
|
8610
|
+
return of({});
|
|
8611
|
+
}
|
|
8612
|
+
/**
|
|
8613
|
+
* @param {?} req
|
|
8614
|
+
* @return {?}
|
|
8615
|
+
*/
|
|
8616
|
+
addOrUpdateRating(req) {
|
|
8617
|
+
return this.http.post(API_END_POINTS$3.ADD_OR_UPDATE, req);
|
|
8618
|
+
}
|
|
8619
|
+
/**
|
|
8620
|
+
* @param {?} contentId
|
|
8621
|
+
* @param {?} contentType
|
|
8622
|
+
* @return {?}
|
|
8623
|
+
*/
|
|
8624
|
+
getRatingSummary(contentId, contentType) {
|
|
8625
|
+
/** @type {?} */
|
|
8626
|
+
const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');
|
|
8627
|
+
if (!forPreview) {
|
|
8628
|
+
return this.http.get(API_END_POINTS$3.GET_RATING_SUMMARY(contentId, contentType));
|
|
8629
|
+
}
|
|
8630
|
+
return of({});
|
|
8631
|
+
}
|
|
8632
|
+
/**
|
|
8633
|
+
* @param {?} req
|
|
8634
|
+
* @return {?}
|
|
8635
|
+
*/
|
|
8636
|
+
getRatingLookup(req) {
|
|
8637
|
+
return this.http.post(API_END_POINTS$3.GET_RATING_LOOKUP, req);
|
|
8638
|
+
}
|
|
8639
|
+
/**
|
|
8640
|
+
* @param {?} req
|
|
8641
|
+
* @return {?}
|
|
8642
|
+
*/
|
|
8643
|
+
getRatingReply(req) {
|
|
8644
|
+
/** @type {?} */
|
|
8645
|
+
const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');
|
|
8646
|
+
if (!forPreview) {
|
|
8647
|
+
return this.http.post(API_END_POINTS$3.POST_AUTHOR_REPLY, req);
|
|
8648
|
+
}
|
|
8649
|
+
return of({});
|
|
8650
|
+
}
|
|
8651
|
+
/**
|
|
8652
|
+
* @param {?} ratingIndex
|
|
8653
|
+
* @param {?} avg
|
|
8654
|
+
* @return {?}
|
|
8655
|
+
*/
|
|
8656
|
+
getRatingIcon(ratingIndex, avg) {
|
|
8657
|
+
if (avg) {
|
|
8658
|
+
/** @type {?} */
|
|
8659
|
+
const avgRating = avg;
|
|
8660
|
+
/** @type {?} */
|
|
8661
|
+
const ratingFloor = Math.floor(avgRating)
|
|
8662
|
+
// const difference = avgRating - ratingIndex
|
|
8663
|
+
;
|
|
8664
|
+
// const difference = avgRating - ratingIndex
|
|
8665
|
+
if (ratingIndex <= ratingFloor) {
|
|
8666
|
+
return 'star';
|
|
8667
|
+
}
|
|
8668
|
+
if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {
|
|
8669
|
+
return 'star_half';
|
|
8670
|
+
}
|
|
8671
|
+
}
|
|
8672
|
+
return 'star';
|
|
8673
|
+
}
|
|
8674
|
+
/**
|
|
8675
|
+
* @param {?} ratingIndex
|
|
8676
|
+
* @param {?} avg
|
|
8677
|
+
* @return {?}
|
|
8678
|
+
*/
|
|
8679
|
+
getRatingIconClass(ratingIndex, avg) {
|
|
8680
|
+
if (avg) {
|
|
8681
|
+
/** @type {?} */
|
|
8682
|
+
const avgRating = avg;
|
|
8683
|
+
/** @type {?} */
|
|
8684
|
+
const ratingFloor = Math.floor(avgRating);
|
|
8685
|
+
if (ratingIndex <= ratingFloor) {
|
|
8686
|
+
return true;
|
|
8687
|
+
}
|
|
8688
|
+
if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {
|
|
8689
|
+
return true;
|
|
8690
|
+
}
|
|
8691
|
+
if (ratingFloor === ratingIndex - 1 && avgRating % 1 > 0.71) {
|
|
8692
|
+
return true;
|
|
8693
|
+
}
|
|
8694
|
+
if (ratingFloor === ratingIndex - 1 && avgRating % 1 < 0.29) {
|
|
8695
|
+
return false;
|
|
8696
|
+
}
|
|
8697
|
+
}
|
|
8698
|
+
return false;
|
|
8699
|
+
}
|
|
8700
|
+
/**
|
|
8701
|
+
* @param {?} contentId
|
|
8702
|
+
* @param {?} userID
|
|
8703
|
+
* @return {?}
|
|
8704
|
+
*/
|
|
8705
|
+
getAuthorReply(contentId, userID) {
|
|
8706
|
+
return this.http.get(API_END_POINTS$3.GET_AUTHOR_REPLY(contentId, userID));
|
|
8707
|
+
}
|
|
8708
|
+
}
|
|
8709
|
+
RatingService.decorators = [
|
|
8710
|
+
{ type: Injectable, args: [{
|
|
8711
|
+
providedIn: 'root',
|
|
8712
|
+
},] }
|
|
8713
|
+
];
|
|
8714
|
+
/** @nocollapse */
|
|
8715
|
+
RatingService.ctorParameters = () => [
|
|
8716
|
+
{ type: HttpClient }
|
|
8717
|
+
];
|
|
8718
|
+
/** @nocollapse */ RatingService.ngInjectableDef = ɵɵdefineInjectable({ factory: function RatingService_Factory() { return new RatingService(ɵɵinject(HttpClient)); }, token: RatingService, providedIn: "root" });
|
|
8719
|
+
if (false) {
|
|
8720
|
+
/** @type {?} */
|
|
8721
|
+
RatingService.prototype.http;
|
|
8722
|
+
}
|
|
8723
|
+
|
|
8724
|
+
/**
|
|
8725
|
+
* @fileoverview added by tsickle
|
|
8726
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8727
|
+
*/
|
|
8728
|
+
class UserContentRatingComponent {
|
|
8729
|
+
/**
|
|
8730
|
+
* @param {?} ratingService
|
|
8731
|
+
*/
|
|
8732
|
+
constructor(ratingService) {
|
|
8733
|
+
this.ratingService = ratingService;
|
|
8734
|
+
this.currentIndex = 0;
|
|
8735
|
+
this.styleData = {
|
|
8736
|
+
"bannerMetaClass": "inline-meta",
|
|
8737
|
+
"bannerMeta": "visible",
|
|
8738
|
+
"bannerMetaAlign": "right",
|
|
8739
|
+
"navigationArrows": "visible",
|
|
8740
|
+
"borderRadius": "0",
|
|
8741
|
+
"customHeight": "424px",
|
|
8742
|
+
"arrowsPlacement": "middle-inline",
|
|
8743
|
+
"responsive": {
|
|
8744
|
+
"bannerMetaClass": "inline-meta",
|
|
8745
|
+
"customHeight": "232px",
|
|
8746
|
+
"bannerMetaAlign": "right",
|
|
8747
|
+
"navigationArrows": "visible",
|
|
8748
|
+
"dots": "hidden",
|
|
8749
|
+
"arrowsPlacement": "middle-inline"
|
|
8750
|
+
}
|
|
8751
|
+
};
|
|
8752
|
+
this.sliders = [
|
|
8753
|
+
{
|
|
8754
|
+
"active": true,
|
|
8755
|
+
"banners": {
|
|
8756
|
+
"l": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8757
|
+
"m": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8758
|
+
"s": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8759
|
+
"xl": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8760
|
+
"xs": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8761
|
+
"xxl": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png"
|
|
8762
|
+
},
|
|
8763
|
+
"redirectUrl": "",
|
|
8764
|
+
"queryParams": {},
|
|
8765
|
+
"title": ""
|
|
8766
|
+
},
|
|
8767
|
+
{
|
|
8768
|
+
"active": true,
|
|
8769
|
+
"banners": {
|
|
8770
|
+
"l": "https://portal.karmayogi.nic.in/content-store/content/do_114051312372424704125/artifact/do_114051312372424704125_1715248147439_l.png",
|
|
8771
|
+
"m": "https://portal.karmayogi.nic.in/content-store/content/do_114051312372424704125/artifact/do_114051312372424704125_1715248147439_l.png",
|
|
8772
|
+
"s": "https://portal.karmayogi.nic.in/content-store/content/do_114051312372424704125/artifact/do_114051312372424704125_1715248147439_l.png",
|
|
8773
|
+
"xl": "https://portal.karmayogi.nic.in/content-store/content/do_114051312372424704125/artifact/do_114051312372424704125_1715248147439_l.png",
|
|
8774
|
+
"xs": "https://portal.karmayogi.nic.in/content-store/content/do_114051312372424704125/artifact/do_114051312372424704125_1715248147439_l.png",
|
|
8775
|
+
"xxl": "https://portal.karmayogi.nic.in/content-store/content/do_114051312372424704125/artifact/do_114051312372424704125_1715248147439_l.png"
|
|
8776
|
+
},
|
|
8777
|
+
"redirectUrl": "",
|
|
8778
|
+
"queryParams": {},
|
|
8779
|
+
"title": ""
|
|
8780
|
+
},
|
|
8781
|
+
{
|
|
8782
|
+
"active": true,
|
|
8783
|
+
"banners": {
|
|
8784
|
+
"l": "https://portal.karmayogi.nic.in/content-store/content/do_114051314864234496126/artifact/do_114051314864234496126_1715248438443_l.png",
|
|
8785
|
+
"m": "https://portal.karmayogi.nic.in/content-store/content/do_114051314864234496126/artifact/do_114051314864234496126_1715248438443_l.png",
|
|
8786
|
+
"s": "https://portal.karmayogi.nic.in/content-store/content/do_114051314864234496126/artifact/do_114051314864234496126_1715248438443_l.png",
|
|
8787
|
+
"xl": "https://portal.karmayogi.nic.in/content-store/content/do_114051314864234496126/artifact/do_114051314864234496126_1715248438443_l.png",
|
|
8788
|
+
"xs": "https://portal.karmayogi.nic.in/content-store/content/do_114051314864234496126/artifact/do_114051314864234496126_1715248438443_l.png",
|
|
8789
|
+
"xxl": "https://portal.karmayogi.nic.in/content-store/content/do_114051314864234496126/artifact/do_114051314864234496126_1715248438443_l.png"
|
|
8790
|
+
},
|
|
8791
|
+
"redirectUrl": "",
|
|
8792
|
+
"queryParams": {},
|
|
8793
|
+
"title": ""
|
|
8794
|
+
},
|
|
8795
|
+
{
|
|
8796
|
+
"active": true,
|
|
8797
|
+
"banners": {
|
|
8798
|
+
"l": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8799
|
+
"m": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8800
|
+
"s": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8801
|
+
"xl": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8802
|
+
"xs": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8803
|
+
"xxl": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png"
|
|
8804
|
+
},
|
|
8805
|
+
"redirectUrl": "",
|
|
8806
|
+
"queryParams": {},
|
|
8807
|
+
"title": ""
|
|
8808
|
+
},
|
|
8809
|
+
{
|
|
8810
|
+
"active": true,
|
|
8811
|
+
"banners": {
|
|
8812
|
+
"l": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8813
|
+
"m": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8814
|
+
"s": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8815
|
+
"xl": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8816
|
+
"xs": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png",
|
|
8817
|
+
"xxl": "https://portal.karmayogi.nic.in/content-store/content/do_114051307572264960124/artifact/do_114051307572264960124_1715247613335_l.png"
|
|
8818
|
+
},
|
|
8819
|
+
"redirectUrl": "",
|
|
8820
|
+
"queryParams": {},
|
|
8821
|
+
"title": ""
|
|
8822
|
+
}
|
|
8823
|
+
];
|
|
8824
|
+
this.contentCard = {
|
|
8825
|
+
"content": {
|
|
8826
|
+
"identifier": "do_113990515935854592111",
|
|
8827
|
+
"competencies_v5": [
|
|
8828
|
+
{
|
|
8829
|
+
"competencyArea": "Behavioural",
|
|
8830
|
+
"competencyAreaId": 1,
|
|
8831
|
+
"competencyAreaDescription": "Behavioural Competency Area",
|
|
8832
|
+
"competencyTheme": "Collaboration",
|
|
8833
|
+
"competencyThemeId": 25,
|
|
8834
|
+
"competecnyThemeDescription": "Collaboration competency Theme",
|
|
8835
|
+
"competencyThemeType": "Core",
|
|
8836
|
+
"competencySubTheme": "Diversity & Inclusion",
|
|
8837
|
+
"competencySubThemeId": 27,
|
|
8838
|
+
"competecnySubThemeDescription": "Diversity & Inclusion Competency Sub-Theme"
|
|
8839
|
+
}
|
|
8840
|
+
],
|
|
8841
|
+
"description": "Invite only program",
|
|
8842
|
+
"organisation": [
|
|
8843
|
+
"Ministry of Finance"
|
|
8844
|
+
],
|
|
8845
|
+
"creatorLogo": null,
|
|
8846
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_1139430185765847041226/artifact/do_1139430185765847041226_1702028635111_maxresdefault.jpg",
|
|
8847
|
+
"duration": "2280",
|
|
8848
|
+
"additionalTags": null,
|
|
8849
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_113990515935854592111/artifact/do_1139430185765847041226_1702028635111_maxresdefault.thumb.jpg",
|
|
8850
|
+
"primaryCategory": "Program",
|
|
8851
|
+
"name": "Invite only program",
|
|
8852
|
+
"avgRating": null,
|
|
8853
|
+
"contentType": "Course"
|
|
8854
|
+
},
|
|
8855
|
+
"cardSubType": "card-wide-lib",
|
|
8856
|
+
"cardCustomeClass": "",
|
|
8857
|
+
"context": {
|
|
8858
|
+
"pageSection": "featuredContents",
|
|
8859
|
+
"position": 3
|
|
8860
|
+
},
|
|
8861
|
+
"review": "Credit",
|
|
8862
|
+
"rating": 5.0,
|
|
8863
|
+
"userDetails": {
|
|
8864
|
+
"firstName": "Agri usertwo",
|
|
8865
|
+
"userId": "f00473e1-54e8-40b7-b541-461250f298d1",
|
|
8866
|
+
"profileImageUrl": null
|
|
8867
|
+
}
|
|
8868
|
+
};
|
|
8869
|
+
this.widgetData = {
|
|
8870
|
+
cardSubType: ''
|
|
8871
|
+
};
|
|
8872
|
+
this.responseData = [
|
|
8873
|
+
{
|
|
8874
|
+
"review": "Credit",
|
|
8875
|
+
"rating": 5.0,
|
|
8876
|
+
"userDetails": {
|
|
8877
|
+
"firstName": "Agri usertwo",
|
|
8878
|
+
"userId": "f00473e1-54e8-40b7-b541-461250f298d1",
|
|
8879
|
+
"profileImageUrl": null
|
|
8880
|
+
},
|
|
8881
|
+
"content": {
|
|
8882
|
+
"identifier": "do_113990515935854592111",
|
|
8883
|
+
"competencies_v5": [
|
|
8884
|
+
{
|
|
8885
|
+
"competencyArea": "Behavioural",
|
|
8886
|
+
"competencyAreaId": 1,
|
|
8887
|
+
"competencyAreaDescription": "Behavioural Competency Area",
|
|
8888
|
+
"competencyTheme": "Collaboration",
|
|
8889
|
+
"competencyThemeId": 25,
|
|
8890
|
+
"competecnyThemeDescription": "Collaboration competency Theme",
|
|
8891
|
+
"competencyThemeType": "Core",
|
|
8892
|
+
"competencySubTheme": "Diversity & Inclusion",
|
|
8893
|
+
"competencySubThemeId": 27,
|
|
8894
|
+
"competecnySubThemeDescription": "Diversity & Inclusion Competency Sub-Theme"
|
|
8895
|
+
}
|
|
8896
|
+
],
|
|
8897
|
+
"description": "Invite only program",
|
|
8898
|
+
"organisation": [
|
|
8899
|
+
"Ministry of Finance"
|
|
8900
|
+
],
|
|
8901
|
+
"creatorLogo": null,
|
|
8902
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_1139430185765847041226/artifact/do_1139430185765847041226_1702028635111_maxresdefault.jpg",
|
|
8903
|
+
"duration": "2280",
|
|
8904
|
+
"additionalTags": null,
|
|
8905
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_113990515935854592111/artifact/do_1139430185765847041226_1702028635111_maxresdefault.thumb.jpg",
|
|
8906
|
+
"primaryCategory": "Program",
|
|
8907
|
+
"name": "Invite only program",
|
|
8908
|
+
"avgRating": null,
|
|
8909
|
+
"contentType": "Course"
|
|
8910
|
+
},
|
|
8911
|
+
"cardSubType": "card-wide-lib",
|
|
8912
|
+
"cardCustomeClass": "",
|
|
8913
|
+
"context": {
|
|
8914
|
+
"pageSection": "featuredContents",
|
|
8915
|
+
"position": 3
|
|
8916
|
+
}
|
|
8917
|
+
},
|
|
8918
|
+
{
|
|
8919
|
+
"review": "Abc xyz1",
|
|
8920
|
+
"rating": 5.0,
|
|
8921
|
+
"userDetails": {
|
|
8922
|
+
"firstName": "Qa test user one @#$ 123",
|
|
8923
|
+
"userId": "7fd686b6-d5b2-4e0a-a43f-d6e57cd2ea09",
|
|
8924
|
+
"profileImageUrl": null
|
|
8925
|
+
},
|
|
8926
|
+
"cardSubType": "card-wide-lib",
|
|
8927
|
+
"cardCustomeClass": "",
|
|
8928
|
+
"context": {
|
|
8929
|
+
"pageSection": "featuredContents",
|
|
8930
|
+
"position": 3
|
|
8931
|
+
},
|
|
8932
|
+
"content": {
|
|
8933
|
+
"identifier": "do_113987549775609856182_rc",
|
|
8934
|
+
"competencies_v5": [
|
|
8935
|
+
{
|
|
8936
|
+
"competencyArea": "Domain",
|
|
8937
|
+
"competencyAreaId": 145,
|
|
8938
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
8939
|
+
"competencyTheme": "Account Management",
|
|
8940
|
+
"competencyThemeId": 148,
|
|
8941
|
+
"competecnyThemeDescription": "Account Management competency Theme",
|
|
8942
|
+
"competencyThemeType": "Core",
|
|
8943
|
+
"competencySubTheme": "Account Management",
|
|
8944
|
+
"competencySubThemeId": 149,
|
|
8945
|
+
"competecnySubThemeDescription": "Account Management Competency Sub-Theme"
|
|
8946
|
+
}
|
|
8947
|
+
],
|
|
8948
|
+
"description": "Course Check for MDO Specific All Users 09 Feb",
|
|
8949
|
+
"organisation": [
|
|
8950
|
+
"Ministry of Finance"
|
|
8951
|
+
],
|
|
8952
|
+
"creatorLogo": null,
|
|
8953
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_11395704427130060819/artifact/do_11395704427130060819_1703740756028_capture71703740758098.png",
|
|
8954
|
+
"duration": "606",
|
|
8955
|
+
"additionalTags": null,
|
|
8956
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_113987549775609856182_rc/artifact/do_11395704427130060819_1703740756028_capture71703740758098.thumb.png",
|
|
8957
|
+
"primaryCategory": "Course",
|
|
8958
|
+
"name": "Course Check for MDO Specific All Users 09 Feb",
|
|
8959
|
+
"avgRating": 5.0,
|
|
8960
|
+
"contentType": "Course"
|
|
8961
|
+
}
|
|
8962
|
+
},
|
|
8963
|
+
{
|
|
8964
|
+
"review": "Testing ratings - Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos eum, assumenda quasi accusamus perferendis voluptas saepe, ducimus architecto animi iste numquam vitae minima sed explica",
|
|
8965
|
+
"rating": 5.0,
|
|
8966
|
+
"userDetails": {
|
|
8967
|
+
"firstName": "Agri usertwo",
|
|
8968
|
+
"userId": "f00473e1-54e8-40b7-b541-461250f298d1",
|
|
8969
|
+
"profileImageUrl": null
|
|
8970
|
+
},
|
|
8971
|
+
"cardSubType": "card-wide-lib",
|
|
8972
|
+
"cardCustomeClass": "",
|
|
8973
|
+
"context": {
|
|
8974
|
+
"pageSection": "featuredContents",
|
|
8975
|
+
"position": 3
|
|
8976
|
+
},
|
|
8977
|
+
"content": {
|
|
8978
|
+
"identifier": "do_114006606955921408144",
|
|
8979
|
+
"competencies_v5": [
|
|
8980
|
+
{
|
|
8981
|
+
"competencyArea": "Behavioural",
|
|
8982
|
+
"competencyAreaId": 1,
|
|
8983
|
+
"competencyAreaDescription": "Behavioural Competency Area",
|
|
8984
|
+
"competencyTheme": "Collaborative Leadership",
|
|
8985
|
+
"competencyThemeId": 46,
|
|
8986
|
+
"competecnyThemeDescription": "Collaborative Leadership competency Theme",
|
|
8987
|
+
"competencyThemeType": "Leadership",
|
|
8988
|
+
"competencySubTheme": "Influencing and Negotiation",
|
|
8989
|
+
"competencySubThemeId": 47,
|
|
8990
|
+
"competecnySubThemeDescription": "Influencing and Negotiation Competency Sub-Theme"
|
|
8991
|
+
}
|
|
8992
|
+
],
|
|
8993
|
+
"description": "test Scrom",
|
|
8994
|
+
"organisation": [
|
|
8995
|
+
"Ministry of Finance"
|
|
8996
|
+
],
|
|
8997
|
+
"creatorLogo": null,
|
|
8998
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_1139430185765847041226/artifact/do_1139430185765847041226_1702028635111_maxresdefault.jpg",
|
|
8999
|
+
"duration": "180",
|
|
9000
|
+
"additionalTags": null,
|
|
9001
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_114006606955921408144/artifact/do_1139430185765847041226_1702028635111_maxresdefault.thumb.jpg",
|
|
9002
|
+
"primaryCategory": "Course",
|
|
9003
|
+
"name": "Large PDF test Cases",
|
|
9004
|
+
"avgRating": 4.0,
|
|
9005
|
+
"contentType": "Course"
|
|
9006
|
+
}
|
|
9007
|
+
},
|
|
9008
|
+
{
|
|
9009
|
+
"review": "Good courseQA",
|
|
9010
|
+
"rating": 5.0,
|
|
9011
|
+
"userDetails": {
|
|
9012
|
+
"firstName": "Public User QA env",
|
|
9013
|
+
"userId": "0517056e-b57b-49ca-a44c-cdc3a251dd3e",
|
|
9014
|
+
"profileImageUrl": null
|
|
9015
|
+
},
|
|
9016
|
+
"cardSubType": "card-wide-lib",
|
|
9017
|
+
"cardCustomeClass": "",
|
|
9018
|
+
"context": {
|
|
9019
|
+
"pageSection": "featuredContents",
|
|
9020
|
+
"position": 3
|
|
9021
|
+
},
|
|
9022
|
+
"content": {
|
|
9023
|
+
"identifier": "do_113902049969004544112",
|
|
9024
|
+
"competencies_v5": [
|
|
9025
|
+
{
|
|
9026
|
+
"competencyArea": "Domain",
|
|
9027
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9028
|
+
"competencyAreaId": 145,
|
|
9029
|
+
"competencyTheme": "Communication Backbone System Maintenance",
|
|
9030
|
+
"competencyThemeDescription": "Communication Backbone System Maintenance competency Theme",
|
|
9031
|
+
"competencyThemeId": 186,
|
|
9032
|
+
"competencyThemeType": "Core",
|
|
9033
|
+
"competencySubTheme": "Communication Backbone System Maintenance",
|
|
9034
|
+
"competencySubThemeId": 187,
|
|
9035
|
+
"competencySubThemeDescription": "Communication Backbone System Maintenance Competency Sub-Theme"
|
|
9036
|
+
},
|
|
9037
|
+
{
|
|
9038
|
+
"competencyArea": "Domain",
|
|
9039
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9040
|
+
"competencyAreaId": 145,
|
|
9041
|
+
"competencyTheme": "Communication Auxiliary Systems Maintenance",
|
|
9042
|
+
"competencyThemeDescription": "Communication Auxiliary Systems Maintenance competency Theme",
|
|
9043
|
+
"competencyThemeId": 184,
|
|
9044
|
+
"competencyThemeType": "Core",
|
|
9045
|
+
"competencySubTheme": "Communication Auxiliary Systems Maintenance",
|
|
9046
|
+
"competencySubThemeId": 185,
|
|
9047
|
+
"competencySubThemeDescription": "Communication Auxiliary Systems Maintenance Competency Sub-Theme"
|
|
9048
|
+
}
|
|
9049
|
+
],
|
|
9050
|
+
"description": "QATestCourse2",
|
|
9051
|
+
"organisation": [
|
|
9052
|
+
"Ministry of Finance"
|
|
9053
|
+
],
|
|
9054
|
+
"creatorLogo": null,
|
|
9055
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9056
|
+
"duration": "540",
|
|
9057
|
+
"additionalTags": null,
|
|
9058
|
+
"appIcon": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9059
|
+
"primaryCategory": "Course",
|
|
9060
|
+
"name": "QATestCourse2",
|
|
9061
|
+
"avgRating": 5.0,
|
|
9062
|
+
"contentType": "Course"
|
|
9063
|
+
}
|
|
9064
|
+
},
|
|
9065
|
+
{
|
|
9066
|
+
"review": "ok",
|
|
9067
|
+
"rating": 5.0,
|
|
9068
|
+
"userDetails": {
|
|
9069
|
+
"firstName": "qatestcreator",
|
|
9070
|
+
"userId": "54548483-0708-417c-ac9f-9b2260e13962",
|
|
9071
|
+
"profileImageUrl": null
|
|
9072
|
+
},
|
|
9073
|
+
"cardSubType": "card-wide-lib",
|
|
9074
|
+
"cardCustomeClass": "",
|
|
9075
|
+
"context": {
|
|
9076
|
+
"pageSection": "featuredContents",
|
|
9077
|
+
"position": 3
|
|
9078
|
+
},
|
|
9079
|
+
"content": {
|
|
9080
|
+
"identifier": "do_113902049969004544112",
|
|
9081
|
+
"competencies_v5": [
|
|
9082
|
+
{
|
|
9083
|
+
"competencyArea": "Domain",
|
|
9084
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9085
|
+
"competencyAreaId": 145,
|
|
9086
|
+
"competencyTheme": "Communication Backbone System Maintenance",
|
|
9087
|
+
"competencyThemeDescription": "Communication Backbone System Maintenance competency Theme",
|
|
9088
|
+
"competencyThemeId": 186,
|
|
9089
|
+
"competencyThemeType": "Core",
|
|
9090
|
+
"competencySubTheme": "Communication Backbone System Maintenance",
|
|
9091
|
+
"competencySubThemeId": 187,
|
|
9092
|
+
"competencySubThemeDescription": "Communication Backbone System Maintenance Competency Sub-Theme"
|
|
9093
|
+
},
|
|
9094
|
+
{
|
|
9095
|
+
"competencyArea": "Domain",
|
|
9096
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9097
|
+
"competencyAreaId": 145,
|
|
9098
|
+
"competencyTheme": "Communication Auxiliary Systems Maintenance",
|
|
9099
|
+
"competencyThemeDescription": "Communication Auxiliary Systems Maintenance competency Theme",
|
|
9100
|
+
"competencyThemeId": 184,
|
|
9101
|
+
"competencyThemeType": "Core",
|
|
9102
|
+
"competencySubTheme": "Communication Auxiliary Systems Maintenance",
|
|
9103
|
+
"competencySubThemeId": 185,
|
|
9104
|
+
"competencySubThemeDescription": "Communication Auxiliary Systems Maintenance Competency Sub-Theme"
|
|
9105
|
+
}
|
|
9106
|
+
],
|
|
9107
|
+
"description": "QATestCourse2",
|
|
9108
|
+
"organisation": [
|
|
9109
|
+
"Ministry of Finance"
|
|
9110
|
+
],
|
|
9111
|
+
"creatorLogo": null,
|
|
9112
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9113
|
+
"duration": "540",
|
|
9114
|
+
"additionalTags": null,
|
|
9115
|
+
"appIcon": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9116
|
+
"primaryCategory": "Course",
|
|
9117
|
+
"name": "QATestCourse2",
|
|
9118
|
+
"avgRating": 5.0,
|
|
9119
|
+
"contentType": "Course"
|
|
9120
|
+
}
|
|
9121
|
+
},
|
|
9122
|
+
{
|
|
9123
|
+
"review": "nic onenic onenic onenic onenic onenic onenic onenic onenic onenic onenic onenic onenic one",
|
|
9124
|
+
"rating": 5.0,
|
|
9125
|
+
"userDetails": {
|
|
9126
|
+
"firstName": "Qa test user one @#$ 123",
|
|
9127
|
+
"userId": "7fd686b6-d5b2-4e0a-a43f-d6e57cd2ea09",
|
|
9128
|
+
"profileImageUrl": null
|
|
9129
|
+
},
|
|
9130
|
+
"cardSubType": "card-wide-lib",
|
|
9131
|
+
"cardCustomeClass": "",
|
|
9132
|
+
"context": {
|
|
9133
|
+
"pageSection": "featuredContents",
|
|
9134
|
+
"position": 3
|
|
9135
|
+
},
|
|
9136
|
+
"content": {
|
|
9137
|
+
"identifier": "do_113902049969004544112",
|
|
9138
|
+
"competencies_v5": [
|
|
9139
|
+
{
|
|
9140
|
+
"competencyArea": "Domain",
|
|
9141
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9142
|
+
"competencyAreaId": 145,
|
|
9143
|
+
"competencyTheme": "Communication Backbone System Maintenance",
|
|
9144
|
+
"competencyThemeDescription": "Communication Backbone System Maintenance competency Theme",
|
|
9145
|
+
"competencyThemeId": 186,
|
|
9146
|
+
"competencyThemeType": "Core",
|
|
9147
|
+
"competencySubTheme": "Communication Backbone System Maintenance",
|
|
9148
|
+
"competencySubThemeId": 187,
|
|
9149
|
+
"competencySubThemeDescription": "Communication Backbone System Maintenance Competency Sub-Theme"
|
|
9150
|
+
},
|
|
9151
|
+
{
|
|
9152
|
+
"competencyArea": "Domain",
|
|
9153
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9154
|
+
"competencyAreaId": 145,
|
|
9155
|
+
"competencyTheme": "Communication Auxiliary Systems Maintenance",
|
|
9156
|
+
"competencyThemeDescription": "Communication Auxiliary Systems Maintenance competency Theme",
|
|
9157
|
+
"competencyThemeId": 184,
|
|
9158
|
+
"competencyThemeType": "Core",
|
|
9159
|
+
"competencySubTheme": "Communication Auxiliary Systems Maintenance",
|
|
9160
|
+
"competencySubThemeId": 185,
|
|
9161
|
+
"competencySubThemeDescription": "Communication Auxiliary Systems Maintenance Competency Sub-Theme"
|
|
9162
|
+
}
|
|
9163
|
+
],
|
|
9164
|
+
"description": "QATestCourse2",
|
|
9165
|
+
"organisation": [
|
|
9166
|
+
"Ministry of Finance"
|
|
9167
|
+
],
|
|
9168
|
+
"creatorLogo": null,
|
|
9169
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9170
|
+
"duration": "540",
|
|
9171
|
+
"additionalTags": null,
|
|
9172
|
+
"appIcon": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9173
|
+
"primaryCategory": "Course",
|
|
9174
|
+
"name": "QATestCourse2",
|
|
9175
|
+
"avgRating": 5.0,
|
|
9176
|
+
"contentType": "Course"
|
|
9177
|
+
}
|
|
9178
|
+
},
|
|
9179
|
+
{
|
|
9180
|
+
"review": "Checking Ratings and alignment under Overview",
|
|
9181
|
+
"rating": 5.0,
|
|
9182
|
+
"userDetails": {
|
|
9183
|
+
"firstName": "Get Started User Five",
|
|
9184
|
+
"userId": "e6a9d4b6-b30a-405f-9bcb-166038600218",
|
|
9185
|
+
"profileImageUrl": null
|
|
9186
|
+
},
|
|
9187
|
+
"cardSubType": "card-wide-lib",
|
|
9188
|
+
"cardCustomeClass": "",
|
|
9189
|
+
"context": {
|
|
9190
|
+
"pageSection": "featuredContents",
|
|
9191
|
+
"position": 3
|
|
9192
|
+
},
|
|
9193
|
+
"content": {
|
|
9194
|
+
"identifier": "do_113902049969004544112",
|
|
9195
|
+
"competencies_v5": [
|
|
9196
|
+
{
|
|
9197
|
+
"competencyArea": "Domain",
|
|
9198
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9199
|
+
"competencyAreaId": 145,
|
|
9200
|
+
"competencyTheme": "Communication Backbone System Maintenance",
|
|
9201
|
+
"competencyThemeDescription": "Communication Backbone System Maintenance competency Theme",
|
|
9202
|
+
"competencyThemeId": 186,
|
|
9203
|
+
"competencyThemeType": "Core",
|
|
9204
|
+
"competencySubTheme": "Communication Backbone System Maintenance",
|
|
9205
|
+
"competencySubThemeId": 187,
|
|
9206
|
+
"competencySubThemeDescription": "Communication Backbone System Maintenance Competency Sub-Theme"
|
|
9207
|
+
},
|
|
9208
|
+
{
|
|
9209
|
+
"competencyArea": "Domain",
|
|
9210
|
+
"competencyAreaDescription": "Domain Competency Area",
|
|
9211
|
+
"competencyAreaId": 145,
|
|
9212
|
+
"competencyTheme": "Communication Auxiliary Systems Maintenance",
|
|
9213
|
+
"competencyThemeDescription": "Communication Auxiliary Systems Maintenance competency Theme",
|
|
9214
|
+
"competencyThemeId": 184,
|
|
9215
|
+
"competencyThemeType": "Core",
|
|
9216
|
+
"competencySubTheme": "Communication Auxiliary Systems Maintenance",
|
|
9217
|
+
"competencySubThemeId": 185,
|
|
9218
|
+
"competencySubThemeDescription": "Communication Auxiliary Systems Maintenance Competency Sub-Theme"
|
|
9219
|
+
}
|
|
9220
|
+
],
|
|
9221
|
+
"description": "QATestCourse2",
|
|
9222
|
+
"organisation": [
|
|
9223
|
+
"Ministry of Finance"
|
|
9224
|
+
],
|
|
9225
|
+
"creatorLogo": null,
|
|
9226
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9227
|
+
"duration": "540",
|
|
9228
|
+
"additionalTags": null,
|
|
9229
|
+
"appIcon": "https://portal.karmayogiqa.nic.in/content-store/content/do_113902071254761472117/artifact/do_113902071254761472117_1697030308090_screenshotfrom202310101224021697030170978.png",
|
|
9230
|
+
"primaryCategory": "Course",
|
|
9231
|
+
"name": "QATestCourse2",
|
|
9232
|
+
"avgRating": 5.0,
|
|
9233
|
+
"contentType": "Course"
|
|
9234
|
+
}
|
|
9235
|
+
},
|
|
9236
|
+
{
|
|
9237
|
+
"review": "Testing rating 123",
|
|
9238
|
+
"rating": 5.0,
|
|
9239
|
+
"userDetails": {
|
|
9240
|
+
"firstName": "Qa test user one @#$ 123",
|
|
9241
|
+
"userId": "7fd686b6-d5b2-4e0a-a43f-d6e57cd2ea09",
|
|
9242
|
+
"profileImageUrl": null
|
|
9243
|
+
},
|
|
9244
|
+
"cardSubType": "card-wide-lib",
|
|
9245
|
+
"cardCustomeClass": "",
|
|
9246
|
+
"context": {
|
|
9247
|
+
"pageSection": "featuredContents",
|
|
9248
|
+
"position": 3
|
|
9249
|
+
},
|
|
9250
|
+
"content": {
|
|
9251
|
+
"identifier": "do_1139400923254046721119",
|
|
9252
|
+
"competencies_v5": [
|
|
9253
|
+
{
|
|
9254
|
+
"competencyArea": "Functional",
|
|
9255
|
+
"competencyAreaDescription": "Functional Competency Area",
|
|
9256
|
+
"competencyAreaId": 56,
|
|
9257
|
+
"competencyTheme": "Administration Matters",
|
|
9258
|
+
"competencyThemeDescription": "Administration Matters competency Theme",
|
|
9259
|
+
"competencyThemeId": 140,
|
|
9260
|
+
"competencyThemeType": "Core",
|
|
9261
|
+
"competencySubTheme": "Handling Miscellaneous Matters (Car, Residence, Personal Staff etc.)",
|
|
9262
|
+
"competencySubThemeId": 143,
|
|
9263
|
+
"competencySubThemeDescription": "Handling Miscellaneous Matters (Car, Residence, Personal Staff etc.) Competency Sub-Theme"
|
|
9264
|
+
}
|
|
9265
|
+
],
|
|
9266
|
+
"description": "Youtube Links",
|
|
9267
|
+
"organisation": [
|
|
9268
|
+
"Ministry of Finance"
|
|
9269
|
+
],
|
|
9270
|
+
"creatorLogo": null,
|
|
9271
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_1139400694644490241113/artifact/do_1139400694644490241113_1701668637063_effective-communication.png",
|
|
9272
|
+
"duration": "420",
|
|
9273
|
+
"additionalTags": null,
|
|
9274
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_1139400923254046721119/artifact/do_1139400694644490241113_1701668637063_effective-communication.thumb.png",
|
|
9275
|
+
"primaryCategory": "Course",
|
|
9276
|
+
"name": "Course New 04 Dec",
|
|
9277
|
+
"avgRating": 5.0,
|
|
9278
|
+
"contentType": "Course"
|
|
9279
|
+
}
|
|
9280
|
+
},
|
|
9281
|
+
{
|
|
9282
|
+
"review": "nice1",
|
|
9283
|
+
"rating": 5.0,
|
|
9284
|
+
"userDetails": {
|
|
9285
|
+
"firstName": "Qa test user one @#$ 123",
|
|
9286
|
+
"userId": "7fd686b6-d5b2-4e0a-a43f-d6e57cd2ea09",
|
|
9287
|
+
"profileImageUrl": null
|
|
9288
|
+
},
|
|
9289
|
+
"cardSubType": "card-wide-lib",
|
|
9290
|
+
"cardCustomeClass": "",
|
|
9291
|
+
"context": {
|
|
9292
|
+
"pageSection": "featuredContents",
|
|
9293
|
+
"position": 3
|
|
9294
|
+
},
|
|
9295
|
+
"content": {
|
|
9296
|
+
"identifier": "do_1139967854457651201519_rc",
|
|
9297
|
+
"competencies_v5": [
|
|
9298
|
+
{
|
|
9299
|
+
"competencyArea": "Behavioural",
|
|
9300
|
+
"competencyAreaId": 1,
|
|
9301
|
+
"competencyAreaDescription": "Behavioural Competency Area",
|
|
9302
|
+
"competencyTheme": "Personal Effectiveness",
|
|
9303
|
+
"competencyThemeId": 7,
|
|
9304
|
+
"competecnyThemeDescription": "Personal Effectiveness competency Theme",
|
|
9305
|
+
"competencyThemeType": "Core",
|
|
9306
|
+
"competencySubTheme": "Resilience",
|
|
9307
|
+
"competencySubThemeId": 9,
|
|
9308
|
+
"competecnySubThemeDescription": "Resilience Competency Sub-Theme"
|
|
9309
|
+
}
|
|
9310
|
+
],
|
|
9311
|
+
"description": "Sub:- Vikas- New Program '22/02/24' ",
|
|
9312
|
+
"organisation": [
|
|
9313
|
+
"Ministry of Finance"
|
|
9314
|
+
],
|
|
9315
|
+
"creatorLogo": null,
|
|
9316
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_1139946848192430081395/artifact/do_1139946848192430081395_1708335549501_digitalindiaandegovernance1708335549950.jpg",
|
|
9317
|
+
"duration": "12761",
|
|
9318
|
+
"additionalTags": null,
|
|
9319
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_1139967854457651201519_rc/artifact/do_1139946848192430081395_1708335549501_digitalindiaandegovernance1708335549950.thumb.jpg",
|
|
9320
|
+
"primaryCategory": "Program",
|
|
9321
|
+
"name": "Vikas- New Program '22/02/24'",
|
|
9322
|
+
"avgRating": 2.0,
|
|
9323
|
+
"contentType": "Course"
|
|
9324
|
+
}
|
|
9325
|
+
},
|
|
9326
|
+
{
|
|
9327
|
+
"review": "bv",
|
|
9328
|
+
"rating": 5.0,
|
|
9329
|
+
"userDetails": {
|
|
9330
|
+
"firstName": "qa dstuserone",
|
|
9331
|
+
"userId": "31c81730-bf33-437a-a53e-0bd8ac2fc3d6",
|
|
9332
|
+
"profileImageUrl": null
|
|
9333
|
+
},
|
|
9334
|
+
"cardSubType": "card-wide-lib",
|
|
9335
|
+
"cardCustomeClass": "",
|
|
9336
|
+
"context": {
|
|
9337
|
+
"pageSection": "featuredContents",
|
|
9338
|
+
"position": 3
|
|
9339
|
+
},
|
|
9340
|
+
"content": {
|
|
9341
|
+
"identifier": "do_113965740548784128178",
|
|
9342
|
+
"competencies_v5": [
|
|
9343
|
+
{
|
|
9344
|
+
"competencyArea": "Functional",
|
|
9345
|
+
"competencyAreaId": 56,
|
|
9346
|
+
"competencyAreaDescription": "Functional Competency Area",
|
|
9347
|
+
"competencyTheme": "Establishment & HR",
|
|
9348
|
+
"competencyThemeId": 101,
|
|
9349
|
+
"competecnyThemeDescription": "Establishment & HR competency Theme",
|
|
9350
|
+
"competencyThemeType": "Core",
|
|
9351
|
+
"competencySubTheme": "Handling Fundamental Rules /Supplementary Rules",
|
|
9352
|
+
"competencySubThemeId": 104,
|
|
9353
|
+
"competecnySubThemeDescription": "Handling Fundamental Rules /Supplementary Rules Competency Sub-Theme"
|
|
9354
|
+
}
|
|
9355
|
+
],
|
|
9356
|
+
"description": "Course with more subthemes",
|
|
9357
|
+
"organisation": [
|
|
9358
|
+
"Ministry of Finance"
|
|
9359
|
+
],
|
|
9360
|
+
"creatorLogo": null,
|
|
9361
|
+
"posterImage": "https://portal.karmayogiqa.nic.in/content-store/content/do_113921119628378112168/artifact/do_113921119628378112168_1699355423624_capture121699355424283.png",
|
|
9362
|
+
"duration": "540",
|
|
9363
|
+
"additionalTags": [
|
|
9364
|
+
"mostEnrolled"
|
|
9365
|
+
],
|
|
9366
|
+
"appIcon": "https://static.karmayogiprod.nic.in/igotqa/collection/do_113965740548784128178/artifact/do_113921119628378112168_1699355423624_capture121699355424283.thumb.png",
|
|
9367
|
+
"primaryCategory": "Course",
|
|
9368
|
+
"name": "Course with more subthemes",
|
|
9369
|
+
"avgRating": 5.0,
|
|
9370
|
+
"contentType": "Course"
|
|
9371
|
+
}
|
|
9372
|
+
}
|
|
9373
|
+
];
|
|
9374
|
+
}
|
|
9375
|
+
/**
|
|
9376
|
+
* @return {?}
|
|
9377
|
+
*/
|
|
9378
|
+
ngOnInit() {
|
|
9379
|
+
}
|
|
9380
|
+
/**
|
|
9381
|
+
* @param {?} ratingIndex
|
|
9382
|
+
* @param {?} avg
|
|
9383
|
+
* @return {?}
|
|
9384
|
+
*/
|
|
9385
|
+
getRatingIcon(ratingIndex, avg) {
|
|
9386
|
+
return this.ratingService.getRatingIcon(ratingIndex, avg);
|
|
9387
|
+
}
|
|
9388
|
+
/**
|
|
9389
|
+
* @param {?} ratingIndex
|
|
9390
|
+
* @param {?} avg
|
|
9391
|
+
* @return {?}
|
|
9392
|
+
*/
|
|
9393
|
+
getRatingIconClass(ratingIndex, avg) {
|
|
9394
|
+
return this.ratingService.getRatingIconClass(ratingIndex, avg);
|
|
9395
|
+
}
|
|
9396
|
+
/**
|
|
9397
|
+
* @param {?} indexValue
|
|
9398
|
+
* @return {?}
|
|
9399
|
+
*/
|
|
9400
|
+
getCurrentIndex(indexValue) {
|
|
9401
|
+
this.currentIndex = indexValue;
|
|
9402
|
+
}
|
|
9403
|
+
}
|
|
9404
|
+
UserContentRatingComponent.decorators = [
|
|
9405
|
+
{ type: Component, args: [{
|
|
9406
|
+
selector: 'sb-uic-user-content-rating',
|
|
9407
|
+
template: "<!-- <sb-uic-sliders [title]=\"'providerName'\" [widgetData]=\"[]\" [styleData]=\"styleData\">\n <div sliderbody>\n <div class=\"flex justify-center\">\n <div class=\"avatar-block mr-3\">\n <sb-uic-avatar-photo [name]=\"contentCard?.userDetails?.firstName\" [photoUrl]=\"contentCard?.userDetails?.profileImageUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </div>\n <div class=\"avatar-block mr-3\">\n <sb-uic-avatar-photo [name]=\"contentCard?.userDetails?.firstName\" [photoUrl]=\"contentCard?.userDetails?.profileImageUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </div>\n </div>\n <div class=\"user-ratting-wrapper flex flex-wrap justify-center\">\n <p class=\"userName w-full\">Harshit Rao</p>\n\n <div class=\"flex w-full flex-row justify-center gap-2 mb-4\">\n <mat-icon class=\"mat-icon material-icons rating-icon ws-mat-black16-text\"\n [ngClass]=\"{'ws-mat-orange-text': getRatingIconClass(rating, 3.3)}\"\n *ngFor=\"let rating of [1, 2, 3, 4, 5]\">\n {{ getRatingIcon(rating, 3.3) }}\n </mat-icon>\n </div>\n <p class=\"content-feedback w-full\">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua enim ad minim veniam, quis nostrud.</p>\n <div class=\"w-full m-8\">\n <sb-uic-cards [widgetData]=\"contentCard\"></sb-uic-cards>\n </div>\n </div>\n </div>\n</sb-uic-sliders> -->\n\n<sb-uic-sliders-ng-content [title]=\"'providerName'\" (currentIndexValue)=\"getCurrentIndex($event)\" [loadNgContentData]=\"true\" [widgetData]=\"responseData\" [styleData]=\"styleData\">\n <div sliderbody>\n <div *ngFor=\"let data of responseData; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"flex justify-center\">\n <div class=\"avatar-block mr-3\">\n <sb-uic-avatar-photo [name]=\"contentCard?.userDetails?.firstName\" [photoUrl]=\"contentCard?.userDetails?.profileImageUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </div>\n <div class=\"avatar-block mr-3\">\n <sb-uic-avatar-photo [name]=\"contentCard?.userDetails?.firstName\" [photoUrl]=\"contentCard?.userDetails?.profileImageUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </div>\n </div>\n <div class=\"user-ratting-wrapper flex flex-wrap justify-center\">\n <p class=\"userName w-full\">Harshit Rao</p>\n \n <div class=\"flex w-full flex-row justify-center gap-2 mb-4\">\n <mat-icon class=\"mat-icon material-icons rating-icon ws-mat-black16-text\"\n [ngClass]=\"{'ws-mat-orange-text': getRatingIconClass(rating, 3.3)}\"\n *ngFor=\"let rating of [1, 2, 3, 4, 5]\">\n {{ getRatingIcon(rating, 3.3) }}\n </mat-icon>\n </div>\n <p class=\"content-feedback w-full\">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua enim ad minim veniam, quis nostrud.</p>\n <div class=\"w-full m-8\">\n <sb-uic-cards [widgetData]=\"contentCard\"></sb-uic-cards>\n </div>\n </div>\n </div>\n </div>\n</sb-uic-sliders-ng-content>\n\n",
|
|
9408
|
+
styles: [".user-ratting-wrapper .userName{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:center}.user-ratting-wrapper .content-feedback{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:center;color:rgba(0,0,0,.87)}.avatar-block::before{content:\"\";border:4px solid #f3972e;border-radius:50%;width:41px;height:41px;display:flex;justify-content:center;align-items:center;position:absolute}"]
|
|
9409
|
+
}] }
|
|
9410
|
+
];
|
|
9411
|
+
/** @nocollapse */
|
|
9412
|
+
UserContentRatingComponent.ctorParameters = () => [
|
|
9413
|
+
{ type: RatingService }
|
|
9414
|
+
];
|
|
9415
|
+
if (false) {
|
|
9416
|
+
/** @type {?} */
|
|
9417
|
+
UserContentRatingComponent.prototype.currentIndex;
|
|
9418
|
+
/** @type {?} */
|
|
9419
|
+
UserContentRatingComponent.prototype.styleData;
|
|
9420
|
+
/** @type {?} */
|
|
9421
|
+
UserContentRatingComponent.prototype.sliders;
|
|
9422
|
+
/** @type {?} */
|
|
9423
|
+
UserContentRatingComponent.prototype.contentCard;
|
|
9424
|
+
/** @type {?} */
|
|
9425
|
+
UserContentRatingComponent.prototype.widgetData;
|
|
9426
|
+
/** @type {?} */
|
|
9427
|
+
UserContentRatingComponent.prototype.responseData;
|
|
9428
|
+
/** @type {?} */
|
|
9429
|
+
UserContentRatingComponent.prototype.ratingService;
|
|
9430
|
+
}
|
|
9431
|
+
|
|
9432
|
+
/**
|
|
9433
|
+
* @fileoverview added by tsickle
|
|
9434
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9435
|
+
*/
|
|
9436
|
+
class AvatarPhotoLibComponent {
|
|
9437
|
+
constructor() {
|
|
9438
|
+
this.size = '';
|
|
9439
|
+
this.randomColor = false;
|
|
9440
|
+
this.showBadge = false;
|
|
9441
|
+
this.showInitials = false;
|
|
9442
|
+
this.random = Math.random().toString(36).slice(2);
|
|
9443
|
+
// public initials!: string
|
|
9444
|
+
this.colors = [
|
|
9445
|
+
'#EB7181',
|
|
9446
|
+
'#306933',
|
|
9447
|
+
'#000000',
|
|
9448
|
+
'#3670B2',
|
|
9449
|
+
'#4E9E87',
|
|
9450
|
+
'#7E4C8D',
|
|
9451
|
+
];
|
|
9452
|
+
this.randomcolors = [
|
|
9453
|
+
'#EB7181',
|
|
9454
|
+
'#006400',
|
|
9455
|
+
'#000000',
|
|
9456
|
+
'#3670B2',
|
|
9457
|
+
'#4E9E87',
|
|
9458
|
+
'#7E4C8D',
|
|
9459
|
+
];
|
|
9460
|
+
}
|
|
9461
|
+
/**
|
|
9462
|
+
* @return {?}
|
|
9463
|
+
*/
|
|
9464
|
+
ngOnInit() {
|
|
9465
|
+
if (!this.photoUrl) {
|
|
9466
|
+
this.showInitials = true;
|
|
9467
|
+
if (!this.initials) {
|
|
9468
|
+
this.createInititals();
|
|
9469
|
+
}
|
|
9470
|
+
if (this.datalen === 1) {
|
|
9471
|
+
this.randomcolors = [
|
|
9472
|
+
'#006400',
|
|
9473
|
+
];
|
|
9474
|
+
}
|
|
9475
|
+
/** @type {?} */
|
|
9476
|
+
const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length));
|
|
9477
|
+
this.circleColor = this.colors[randomIndex];
|
|
9478
|
+
if (this.randomColor) {
|
|
9479
|
+
/** @type {?} */
|
|
9480
|
+
const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomcolors.length));
|
|
9481
|
+
this.circleColor = this.randomcolors[randomIndex1];
|
|
9482
|
+
}
|
|
9483
|
+
}
|
|
9484
|
+
}
|
|
9485
|
+
/**
|
|
9486
|
+
* @param {?} change
|
|
9487
|
+
* @return {?}
|
|
9488
|
+
*/
|
|
9489
|
+
ngOnChanges(change) {
|
|
9490
|
+
if (change.name.currentValue !== change.name.previousValue && !change.name.firstChange) {
|
|
9491
|
+
this.createInititals();
|
|
9492
|
+
}
|
|
9493
|
+
}
|
|
9494
|
+
/**
|
|
9495
|
+
* @return {?}
|
|
9496
|
+
*/
|
|
9497
|
+
get userInitials() {
|
|
9498
|
+
return this.initials;
|
|
9499
|
+
}
|
|
9500
|
+
/**
|
|
9501
|
+
* @private
|
|
9502
|
+
* @return {?}
|
|
9503
|
+
*/
|
|
9504
|
+
createInititals() {
|
|
9505
|
+
/** @type {?} */
|
|
9506
|
+
let initials = '';
|
|
9507
|
+
/** @type {?} */
|
|
9508
|
+
const array = `${this.name} `.toString().split(' ');
|
|
9509
|
+
if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {
|
|
9510
|
+
initials += array[0].charAt(0);
|
|
9511
|
+
initials += array[1].charAt(0);
|
|
9512
|
+
}
|
|
9513
|
+
else {
|
|
9514
|
+
for (let i = 0; i < this.name.length; i += 1) {
|
|
9515
|
+
if (this.name.charAt(i) === ' ') {
|
|
9516
|
+
continue;
|
|
9517
|
+
}
|
|
9518
|
+
if (this.name.charAt(i) === this.name.charAt(i)) {
|
|
9519
|
+
initials += this.name.charAt(i);
|
|
9520
|
+
if (initials.length === 2) {
|
|
9521
|
+
break;
|
|
9522
|
+
}
|
|
9523
|
+
}
|
|
9524
|
+
}
|
|
9525
|
+
}
|
|
9526
|
+
this.initials = initials.toUpperCase();
|
|
9527
|
+
}
|
|
9528
|
+
}
|
|
9529
|
+
AvatarPhotoLibComponent.decorators = [
|
|
9530
|
+
{ type: Component, args: [{
|
|
9531
|
+
selector: 'sb-uic-avatar-photo',
|
|
9532
|
+
template: "<div id=\"user_icon\" [ngClass]=\"{'circle-s' : size=== 's',\n'circle-m' : size=== 'm',\n'circle-l' : size=== 'l',\n'circle-xl' : size=== 'xl',\n'circle-xxl' : size=== 'xxl',\n'circle-l-xs' : size=== 'l-xs',\n'circle-l-s' : size=== 'l-s',\n'circle-xl-s' : size=== 'xl-s',\n'circle-r-m': size=== 'round-m',\n'circle-r-p-m': size=== 'profile-round-m',\n'circle-m-side': size=== 'm-side',\n'circle-r-m-48': size=== 'm-side-rating',\n'circle-m-recommended': size==='m-recommended',\n'circle-xxl-s': size=== 'xxl-s'}\" [ngStyle]=\"{'background-color': circleColor }\">\n <img *ngIf=\"!showInitials\" loading=\"lazy\" src=\"{{photoUrl}}\" [alt]=\"photoUrl? '' :(name || userInitials || size || random)\">\n\n <div *ngIf=\"showInitials\" class=\"initials\" i18n-aria-label>\n {{ userInitials }} \n </div>\n <div *ngIf=\"showBadge\"><span class=\"profile-badge\"> \n <img src=\"fusion-assets/images/profile-badge.png\">\n </span></div>\n\n <!-- <div *ngIf=\"imageType === 'user-photo'\">\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" alt=\"user-image\" class=\"user-image\" [ngClass]=\"{'user-image-small': imageSize === 'small'}\">\n <div class=\"user-image\" [ngClass]=\"{'user-image-small': imageSize === 'small'}\">\n <span class=\"name-initials-image font-normal ws-mat-primary-default-text ws-mat-accent-background\"\n *ngIf=\"!imageUrl\">{{ shortName }}</span>\n </div>\n </div> -->\n</div>",
|
|
9533
|
+
styles: ["@charset \"UTF-8\";.success-checkmark::after{content:\"\u2714\";position:absolute;left:25px;top:20px;width:11px;height:11px;border:1px solid #1d8923;background:#1d8923;border-radius:50%;color:#fff;line-height:11px;text-align:center;font-size:9px}.profile-badge{position:absolute;top:10px;right:0}.profile-badge img{height:15px!important;width:15px!important}.circle-s{border-radius:50%;width:24px;height:24px;display:flex;justify-content:center;align-items:center}.circle-s img{border-radius:50%;width:100%;height:100%}.circle-s .initials{color:#fff;font-size:10px;line-height:12px;letter-spacing:.2625px}.circle-m{border-radius:50%;width:72px!important;height:72px!important;display:flex;justify-content:center;align-items:center;margin-top:-36px}.circle-m img{border-radius:10%;width:40px;height:40px}.circle-m .initials{color:#fff;font-size:14px;line-height:19px;letter-spacing:.2625px}.circle-l{border-radius:50%;width:80px;height:80px;display:flex;justify-content:center;align-items:center}.circle-l img{border-radius:10%;width:80px;height:80px}.circle-l .initials{color:#fff;font-size:20px;line-height:19px;letter-spacing:.2625px}.circle-xl{border-radius:50%;width:105px;height:105px;display:flex;justify-content:center;align-items:center}.circle-xl img{border-radius:10%;width:105px;height:105px}.circle-xl .initials{color:#fff;font-size:20px;line-height:19px;letter-spacing:.2625px}.circle-xxl{border-radius:50%;width:145px;height:145px;display:flex;justify-content:center;align-items:center}.circle-xxl img{border-radius:10%;width:145px;height:145px}.circle-xxl .initials{color:#fff;font-size:20px;line-height:19px;letter-spacing:.2625px}.circle-l-xs{border-radius:50%;width:29px;height:29px;display:flex;justify-content:center;align-items:center}.circle-l-xs img{border-radius:50%;width:100%;height:100%}.circle-l-xs .initials{color:#fff;font-size:12px;line-height:12px;letter-spacing:.2625px}.circle-l-s{border-radius:50%;width:80px;height:80px;display:flex;justify-content:center;align-items:center}.circle-l-s img{border-radius:4px;width:80px;height:80px}.circle-l-s .initials{color:#fff;font-size:24px;line-height:24px;letter-spacing:.2625px}.circle-xl-s{border-radius:50%;width:125px;height:125px;display:flex;justify-content:center;align-items:center}.circle-xl-s img{border-radius:4px;width:152px;height:125px}.circle-xl-s .initials{color:#fff;font-size:32px;line-height:32px;letter-spacing:.2625px}.circle-xxl-s{border-radius:50%;width:208px;height:208px;display:flex;justify-content:center;align-items:center}.circle-xxl-s img{border-radius:50%;width:100%;height:100%}.circle-xxl-s .initials{color:#fff;font-size:40px;line-height:40px;letter-spacing:.2625px}.circle-r-m{border-radius:50%;width:50px;height:50px;display:flex;justify-content:center;align-items:center}.circle-r-m img{border-radius:50%;width:100%;height:100%}.circle-r-m .initials{color:#fff;font-size:16px;line-height:40px;letter-spacing:.2625px}.circle-r-m-48{border-radius:50%;width:48px;height:48px;display:flex;justify-content:center;align-items:center}.circle-r-m-48 img{border-radius:50%;width:100%;height:100%}.circle-r-m-48 .initials{color:#fff;font-size:16px;line-height:40px;letter-spacing:.2625px}.circle-r-p-m{border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center}.circle-r-p-m img{border-radius:50%;width:100%;height:100%}.circle-r-p-m .initials{color:#fff;font-size:16px;line-height:40px;letter-spacing:.2625px}.circle-m-side{border-radius:50%;width:72px!important;height:72px!important;display:flex;justify-content:center;align-items:center}.circle-m-side img{border-radius:10%;width:40px;height:40px}.circle-m-side .initials{color:#fff;font-size:14px;line-height:19px;letter-spacing:.2625px}@media only screen and (max-width:960px){.circle-xxl-s{width:100px;height:100px}.circle-xxl-s .initials{font-size:24px;line-height:24px}}.circle-m-recommended{border-radius:50%;width:72px!important;height:72px!important;display:flex;justify-content:center;align-items:center;margin-top:-49px}.circle-m-recommended img{border-radius:10%;width:40px;height:40px}.circle-m-recommended .initials{color:#fff;font-size:14px;line-height:19px;letter-spacing:.2625px}.circle-l-s::before{content:\"\";border:1px solid red}"]
|
|
9534
|
+
}] }
|
|
9535
|
+
];
|
|
9536
|
+
AvatarPhotoLibComponent.propDecorators = {
|
|
9537
|
+
datalen: [{ type: Input }],
|
|
9538
|
+
photoUrl: [{ type: Input }],
|
|
9539
|
+
name: [{ type: Input }],
|
|
9540
|
+
size: [{ type: Input }],
|
|
9541
|
+
randomColor: [{ type: Input }],
|
|
9542
|
+
initials: [{ type: Input }],
|
|
9543
|
+
showBadge: [{ type: Input }]
|
|
9544
|
+
};
|
|
9545
|
+
if (false) {
|
|
9546
|
+
/** @type {?} */
|
|
9547
|
+
AvatarPhotoLibComponent.prototype.datalen;
|
|
9548
|
+
/** @type {?} */
|
|
9549
|
+
AvatarPhotoLibComponent.prototype.photoUrl;
|
|
9550
|
+
/** @type {?} */
|
|
9551
|
+
AvatarPhotoLibComponent.prototype.name;
|
|
9552
|
+
/** @type {?} */
|
|
9553
|
+
AvatarPhotoLibComponent.prototype.size;
|
|
9554
|
+
/** @type {?} */
|
|
9555
|
+
AvatarPhotoLibComponent.prototype.randomColor;
|
|
9556
|
+
/** @type {?} */
|
|
9557
|
+
AvatarPhotoLibComponent.prototype.initials;
|
|
9558
|
+
/** @type {?} */
|
|
9559
|
+
AvatarPhotoLibComponent.prototype.showBadge;
|
|
9560
|
+
/** @type {?} */
|
|
9561
|
+
AvatarPhotoLibComponent.prototype.showInitials;
|
|
9562
|
+
/** @type {?} */
|
|
9563
|
+
AvatarPhotoLibComponent.prototype.circleColor;
|
|
9564
|
+
/** @type {?} */
|
|
9565
|
+
AvatarPhotoLibComponent.prototype.random;
|
|
9566
|
+
/**
|
|
9567
|
+
* @type {?}
|
|
9568
|
+
* @private
|
|
9569
|
+
*/
|
|
9570
|
+
AvatarPhotoLibComponent.prototype.colors;
|
|
9571
|
+
/**
|
|
9572
|
+
* @type {?}
|
|
9573
|
+
* @private
|
|
9574
|
+
*/
|
|
9575
|
+
AvatarPhotoLibComponent.prototype.randomcolors;
|
|
9576
|
+
}
|
|
9577
|
+
|
|
9578
|
+
/**
|
|
9579
|
+
* @fileoverview added by tsickle
|
|
9580
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9581
|
+
*/
|
|
9582
|
+
class AvatarPhotoLibModule {
|
|
9583
|
+
}
|
|
9584
|
+
AvatarPhotoLibModule.decorators = [
|
|
9585
|
+
{ type: NgModule, args: [{
|
|
9586
|
+
declarations: [AvatarPhotoLibComponent],
|
|
9587
|
+
imports: [
|
|
9588
|
+
CommonModule,
|
|
9589
|
+
RouterModule,
|
|
9590
|
+
MatButtonModule,
|
|
9591
|
+
MatIconModule,
|
|
9592
|
+
MatMenuModule,
|
|
9593
|
+
MatRippleModule,
|
|
9594
|
+
SbUiResolverModule,
|
|
9595
|
+
],
|
|
9596
|
+
exports: [AvatarPhotoLibComponent],
|
|
9597
|
+
entryComponents: [AvatarPhotoLibComponent],
|
|
9598
|
+
},] }
|
|
9599
|
+
];
|
|
9600
|
+
|
|
9601
|
+
/**
|
|
9602
|
+
* @fileoverview added by tsickle
|
|
9603
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9604
|
+
*/
|
|
9605
|
+
class SlidersNgContentLibComponent extends WidgetBaseComponent {
|
|
9606
|
+
/**
|
|
9607
|
+
* @param {?} events
|
|
9608
|
+
* @param {?} valueSvc
|
|
9609
|
+
*/
|
|
9610
|
+
constructor(events, valueSvc) {
|
|
9611
|
+
super();
|
|
9612
|
+
this.events = events;
|
|
9613
|
+
this.valueSvc = valueSvc;
|
|
9614
|
+
this.title = '';
|
|
9615
|
+
this.loadNgContentData = false;
|
|
9616
|
+
this.currentIndexValue = new EventEmitter();
|
|
9617
|
+
this.id = `banner_${Math.random()}`;
|
|
9618
|
+
this.defaultMenuSubscribe = null;
|
|
9619
|
+
this.isLtMedium$ = this.valueSvc.isLtMedium$;
|
|
9620
|
+
this.currentIndex = 0;
|
|
9621
|
+
this.slideInterval = null;
|
|
9622
|
+
this.isMobile = false;
|
|
9623
|
+
}
|
|
9624
|
+
/**
|
|
9625
|
+
* @return {?}
|
|
9626
|
+
*/
|
|
9627
|
+
ngOnInit() {
|
|
9628
|
+
this.reInitiateSlideInterval();
|
|
9629
|
+
this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
|
|
9630
|
+
* @param {?} isLtMedium
|
|
9631
|
+
* @return {?}
|
|
9632
|
+
*/
|
|
9633
|
+
(isLtMedium) => {
|
|
9634
|
+
this.isMobile = isLtMedium;
|
|
9635
|
+
}));
|
|
9636
|
+
}
|
|
9637
|
+
/**
|
|
9638
|
+
* @return {?}
|
|
9639
|
+
*/
|
|
9640
|
+
reInitiateSlideInterval() {
|
|
9641
|
+
if (this.widgetData && this.widgetData.length > 1) {
|
|
9642
|
+
try {
|
|
9643
|
+
if (this.slideInterval) {
|
|
9644
|
+
this.slideInterval.unsubscribe();
|
|
9645
|
+
}
|
|
9646
|
+
}
|
|
9647
|
+
catch (e) {
|
|
9648
|
+
}
|
|
9649
|
+
finally {
|
|
9650
|
+
this.slideInterval = interval(8000).subscribe((/**
|
|
9651
|
+
* @return {?}
|
|
9652
|
+
*/
|
|
9653
|
+
() => {
|
|
9654
|
+
if (this.currentIndex === this.widgetData.length - 1) {
|
|
9655
|
+
this.currentIndex = 0;
|
|
9656
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9657
|
+
}
|
|
9658
|
+
else {
|
|
9659
|
+
this.currentIndex += 1;
|
|
9660
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9661
|
+
}
|
|
9662
|
+
}));
|
|
9663
|
+
}
|
|
9664
|
+
}
|
|
9665
|
+
}
|
|
9666
|
+
/**
|
|
9667
|
+
* @param {?} index
|
|
9668
|
+
* @return {?}
|
|
9669
|
+
*/
|
|
9670
|
+
slideTo(index) {
|
|
9671
|
+
if (index >= 0 && index < this.widgetData.length) {
|
|
9672
|
+
this.currentIndex = index;
|
|
9673
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9674
|
+
}
|
|
9675
|
+
else if (index === this.widgetData.length) {
|
|
9676
|
+
this.currentIndex = 0;
|
|
9677
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9678
|
+
}
|
|
9679
|
+
else {
|
|
9680
|
+
this.currentIndex = this.widgetData.length + index;
|
|
9681
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9682
|
+
}
|
|
9683
|
+
this.reInitiateSlideInterval();
|
|
9684
|
+
}
|
|
9685
|
+
/**
|
|
9686
|
+
* @return {?}
|
|
9687
|
+
*/
|
|
9688
|
+
get isOpenInNewTab() {
|
|
9689
|
+
/** @type {?} */
|
|
9690
|
+
const currentData = this.widgetData[this.currentIndex];
|
|
9691
|
+
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
9692
|
+
return true;
|
|
9693
|
+
}
|
|
9694
|
+
return false;
|
|
9695
|
+
}
|
|
9696
|
+
/**
|
|
9697
|
+
* @return {?}
|
|
9698
|
+
*/
|
|
9699
|
+
openInNewTab() {
|
|
9700
|
+
/** @type {?} */
|
|
9701
|
+
const currentData = this.widgetData[this.currentIndex];
|
|
9702
|
+
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
9703
|
+
window.open(currentData.redirectUrl);
|
|
9704
|
+
}
|
|
9705
|
+
}
|
|
9706
|
+
/**
|
|
9707
|
+
* @param {?} bannerUrl
|
|
9708
|
+
* @return {?}
|
|
9709
|
+
*/
|
|
9710
|
+
raiseTelemetry(bannerUrl) {
|
|
9711
|
+
this.openInNewTab();
|
|
9712
|
+
/** @type {?} */
|
|
9713
|
+
const path = window.location.pathname.replace('/', '');
|
|
9714
|
+
/** @type {?} */
|
|
9715
|
+
const url = path + window.location.search;
|
|
9716
|
+
this.events.raiseInteractTelemetry({
|
|
9717
|
+
type: 'click',
|
|
9718
|
+
subType: 'banner',
|
|
9719
|
+
}, {
|
|
9720
|
+
pageUrl: url,
|
|
9721
|
+
bannerRedirectUrl: bannerUrl,
|
|
9722
|
+
}, {
|
|
9723
|
+
pageIdExt: 'banner',
|
|
9724
|
+
module: WsEvents.EnumTelemetrymodules.CONTENT,
|
|
9725
|
+
});
|
|
9726
|
+
}
|
|
9727
|
+
/**
|
|
9728
|
+
* @return {?}
|
|
9729
|
+
*/
|
|
9730
|
+
ngOnDestroy() {
|
|
9731
|
+
if (this.defaultMenuSubscribe) {
|
|
9732
|
+
this.defaultMenuSubscribe.unsubscribe();
|
|
9733
|
+
}
|
|
9734
|
+
}
|
|
9735
|
+
}
|
|
9736
|
+
SlidersNgContentLibComponent.decorators = [
|
|
9737
|
+
{ type: Component, args: [{
|
|
9738
|
+
selector: 'sb-uic-sliders-ng-content',
|
|
9739
|
+
template: "<div class=\"banner-container {{isMobile? styleData?.responsive?.bannerMetaClass : styleData?.bannerMetaClass}}\" (swipeleft)=\"slideTo(currentIndex + 1)\" (swiperight)=\"slideTo(currentIndex - 1)\"\n *ngIf=\"widgetData?.length > 1\" [style.height]=\"isMobile? styleData?.responsive?.customHeight : styleData?.customHeight\"\n [ngStyle]=\"{'border-radius': styleData?.borderRadius || '12px'}\">\n <ng-container *ngIf=\"!loadNgContentData\">\n <a (click)=\"raiseTelemetry(widgetData[currentIndex].redirectUrl)\"\n [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-overlay\"\n [ngClass]=\"{'cursor-auto': !widgetData[currentIndex].redirectUrl}\">\n <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\">\n <img i18n-alt alt=\"Page Banner\" [src]=\"slide.banners\" wsUtilsImageResponsive class=\"banner-image\" />\n </div>\n </a>\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"loadNgContentData\">\n <!-- <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\"> -->\n <ng-content select=\"[sliderbody]\"></ng-content>\n <!-- </div> -->\n \n </ng-container>\n <div class=\"navigation {{isMobile? styleData?.responsive?.arrowsPlacement : styleData?.arrowsPlacement}}\" \n *ngIf=\"isMobile && styleData?.responsive?.navigationArrows !== 'hidden' || !isMobile && styleData?.navigationArrows !== 'hidden'\">\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"prev\" (click)=\"slideTo(currentIndex - 1)\">❮</a>\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"next\" (click)=\"slideTo(currentIndex + 1)\">❯</a>\n </div>\n</div>\n<div class=\"banner-container-solo margin-top-s\" *ngIf=\"widgetData?.length == 1\">\n <img i18n-alt alt=\"Page Banner\" width=\"100%\" height=\"100%\" [src]=\"widgetData[0].banners\" wsUtilsImageResponsive class=\"banner-image-solo\" />\n</div>\n\n<!-- <ng-container *ngIf=\"!widgetData?.length\">\n <div class=\"slider default-slider h-full\">\n <div class=\"relative h-full\">\n <img class=\"h-full\" src=\"assets/icons/home/default-slider-image.svg\" alt=\"\">\n <div class=\"default-title rounded-full\">\n <p class=\"mat-h1\">{{title}}</p>\n </div>\n </div>\n </div>\n</ng-container> -->\n",
|
|
9740
|
+
styles: [".banner-container{min-height:243px;position:relative;margin:auto;padding-bottom:40px}.banner-container.inline-meta{padding-bottom:0!important}.banner-container.flat .banner .banner-image{border-radius:0!important}.banner-overlay{z-index:1;top:0;left:0;width:100%;height:100%;background:linear-gradient(to left,rgba(0,0,0,.25) 0,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,.25) 100%);border-radius:inherit}.banner{-webkit-animation-name:fade;-webkit-animation-duration:1.5s;animation-name:fade;animation-duration:1.5s;border-radius:inherit;height:inherit}.banner .banner-image{width:100%;min-height:243px;display:block;border-radius:inherit;height:inherit}.banner-meta{text-align:center;z-index:2;padding:8px 12px;position:absolute;bottom:0;left:50%;border-radius:12px;transform:translateX(-50%);box-sizing:border-box}.banner-meta.left{left:0;transform:translateX(0)}.banner-meta.right{left:100%;transform:translateX(-100%)}.banner-meta .banner-title{color:#f2f2f2;margin-bottom:8px;font-size:1.1rem}@media only screen and (max-width:599px){.banner-meta .banner-title{display:none}}.banner-meta .dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.banner-meta .dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}@media only screen and (max-width:599px){.banner-meta .dots-container .dot{height:8px;width:8px;margin:0 4px}}.banner-meta .dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}@keyframes fade{from{opacity:.25}to{opacity:1}}.next,.prev{cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-weight:700;background-color:#1b2133!important;border-radius:50%;z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;margin-top:-16px;justify-content:center}.prev{left:0;margin-left:-16px}.next{right:0;margin-right:-16px}.navigation.bottom-right .prev{left:unset;right:45px;bottom:-15px;top:unset}.navigation.bottom-right .next{left:unset;right:15px;bottom:-15px;top:unset}.navigation.bottom-center .prev{left:calc(50% - 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-center .next{left:calc(50% + 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-left .prev{left:15px;right:unset;bottom:-15px;top:unset}.navigation.bottom-left .next{left:60px;right:unset;bottom:-15px;top:unset}.navigation.middle-inline .prev{left:30px}.navigation.middle-inline .next{right:30px}.banner-container-solo{overflow:hidden;margin:auto;border-radius:12px}.banner-image-solo{width:100%;display:block;border-radius:12px}.default-slider{height:100%;background:#d4e2fb}.default-slider .default-title{text-align:center;position:absolute;top:50%;left:0;right:0;margin:auto;transform:translateY(-50%);z-index:999;background:#e6efff;padding:32px;width:500px}.default-slider .default-title p{word-break:break-word;margin:0!important;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;text-transform:uppercase}@media screen and (max-width:768px){.default-slider{height:384px;width:100%}.default-slider .default-title{width:unset!important}}"]
|
|
9741
|
+
}] }
|
|
9742
|
+
];
|
|
9743
|
+
/** @nocollapse */
|
|
9744
|
+
SlidersNgContentLibComponent.ctorParameters = () => [
|
|
9745
|
+
{ type: EventService },
|
|
9746
|
+
{ type: ValueService }
|
|
9747
|
+
];
|
|
9748
|
+
SlidersNgContentLibComponent.propDecorators = {
|
|
9749
|
+
widgetData: [{ type: Input }],
|
|
9750
|
+
styleData: [{ type: Input }],
|
|
9751
|
+
title: [{ type: Input }],
|
|
9752
|
+
loadNgContentData: [{ type: Input }],
|
|
9753
|
+
currentIndexValue: [{ type: Output }],
|
|
9754
|
+
id: [{ type: HostBinding, args: ['id',] }]
|
|
9755
|
+
};
|
|
9756
|
+
if (false) {
|
|
9757
|
+
/** @type {?} */
|
|
9758
|
+
SlidersNgContentLibComponent.prototype.widgetData;
|
|
9759
|
+
/** @type {?} */
|
|
9760
|
+
SlidersNgContentLibComponent.prototype.styleData;
|
|
9761
|
+
/** @type {?} */
|
|
9762
|
+
SlidersNgContentLibComponent.prototype.title;
|
|
9763
|
+
/** @type {?} */
|
|
9764
|
+
SlidersNgContentLibComponent.prototype.loadNgContentData;
|
|
9765
|
+
/** @type {?} */
|
|
9766
|
+
SlidersNgContentLibComponent.prototype.currentIndexValue;
|
|
9767
|
+
/** @type {?} */
|
|
9768
|
+
SlidersNgContentLibComponent.prototype.id;
|
|
9769
|
+
/**
|
|
9770
|
+
* @type {?}
|
|
9771
|
+
* @private
|
|
9772
|
+
*/
|
|
9773
|
+
SlidersNgContentLibComponent.prototype.defaultMenuSubscribe;
|
|
9774
|
+
/** @type {?} */
|
|
9775
|
+
SlidersNgContentLibComponent.prototype.isLtMedium$;
|
|
9776
|
+
/** @type {?} */
|
|
9777
|
+
SlidersNgContentLibComponent.prototype.currentIndex;
|
|
9778
|
+
/** @type {?} */
|
|
9779
|
+
SlidersNgContentLibComponent.prototype.slideInterval;
|
|
9780
|
+
/** @type {?} */
|
|
9781
|
+
SlidersNgContentLibComponent.prototype.isMobile;
|
|
9782
|
+
/**
|
|
9783
|
+
* @type {?}
|
|
9784
|
+
* @private
|
|
9785
|
+
*/
|
|
9786
|
+
SlidersNgContentLibComponent.prototype.events;
|
|
9787
|
+
/**
|
|
9788
|
+
* @type {?}
|
|
9789
|
+
* @private
|
|
9790
|
+
*/
|
|
9791
|
+
SlidersNgContentLibComponent.prototype.valueSvc;
|
|
9792
|
+
}
|
|
9793
|
+
|
|
9794
|
+
/**
|
|
9795
|
+
* @fileoverview added by tsickle
|
|
9796
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9797
|
+
*/
|
|
9798
|
+
/* tslint:enable */
|
|
9799
|
+
class MyHammerConfig$1 extends HammerGestureConfig {
|
|
9800
|
+
/**
|
|
9801
|
+
* @param {?} element
|
|
9802
|
+
* @return {?}
|
|
9803
|
+
*/
|
|
9804
|
+
buildHammer(element) {
|
|
9805
|
+
/** @type {?} */
|
|
9806
|
+
const mc = new Hammer(element, {
|
|
9807
|
+
touchAction: 'pan-y',
|
|
9808
|
+
});
|
|
9809
|
+
return mc;
|
|
9810
|
+
}
|
|
9811
|
+
}
|
|
9812
|
+
// tslint:disable-next-line: max-classes-per-file
|
|
9813
|
+
class SlidersNgContentLibModule {
|
|
9814
|
+
}
|
|
9815
|
+
SlidersNgContentLibModule.decorators = [
|
|
9816
|
+
{ type: NgModule, args: [{
|
|
9817
|
+
declarations: [SlidersNgContentLibComponent],
|
|
9818
|
+
imports: [
|
|
9819
|
+
CommonModule,
|
|
9820
|
+
RouterModule,
|
|
9821
|
+
NavigationModule,
|
|
9822
|
+
ImageResponsiveModule,
|
|
9823
|
+
],
|
|
9824
|
+
exports: [SlidersNgContentLibComponent],
|
|
9825
|
+
entryComponents: [SlidersNgContentLibComponent],
|
|
9826
|
+
providers: [
|
|
9827
|
+
{
|
|
9828
|
+
provide: HAMMER_GESTURE_CONFIG,
|
|
9829
|
+
useClass: MyHammerConfig$1,
|
|
9830
|
+
},
|
|
9831
|
+
],
|
|
9832
|
+
},] }
|
|
9833
|
+
];
|
|
9834
|
+
|
|
9835
|
+
/**
|
|
9836
|
+
* @fileoverview added by tsickle
|
|
9837
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9838
|
+
*/
|
|
9839
|
+
class UserContentRatingModule {
|
|
9840
|
+
}
|
|
9841
|
+
UserContentRatingModule.decorators = [
|
|
9842
|
+
{ type: NgModule, args: [{
|
|
9843
|
+
declarations: [UserContentRatingComponent],
|
|
9844
|
+
imports: [
|
|
9845
|
+
CommonModule,
|
|
9846
|
+
MatIconModule,
|
|
9847
|
+
MatChipsModule,
|
|
9848
|
+
SkeletonLoaderLibModule,
|
|
9849
|
+
SlidersLibModule,
|
|
9850
|
+
CardsModule,
|
|
9851
|
+
AvatarPhotoLibModule,
|
|
9852
|
+
SlidersNgContentLibModule
|
|
9853
|
+
],
|
|
9854
|
+
exports: [UserContentRatingComponent],
|
|
9855
|
+
providers: [RatingService],
|
|
9856
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
9857
|
+
},] }
|
|
9858
|
+
];
|
|
9859
|
+
|
|
7979
9860
|
/**
|
|
7980
9861
|
* @fileoverview added by tsickle
|
|
7981
9862
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -7986,5 +9867,5 @@ CompetencyPassbookModule.decorators = [
|
|
|
7986
9867
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7987
9868
|
*/
|
|
7988
9869
|
|
|
7989
|
-
export { CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, ContentStripWithTabsLibComponent as ɵa, WidgetContentService as ɵb,
|
|
9870
|
+
export { CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, ContentStripWithTabsLibComponent as ɵa, WidgetContentService as ɵb, PipePublicURL as ɵba, DisplayContentTypeLibModule as ɵbb, DisplayContentTypeLibComponent as ɵbc, DefaultThumbnailModule as ɵbd, DefaultThumbnailDirective as ɵbe, PipeDurationTransformModule as ɵbf, PipeDurationTransformPipe as ɵbg, CompetencyPassbookComponent as ɵbh, CompetencyPassbookService as ɵbi, PillsModule as ɵbj, PillsComponent as ɵbk, UserContentRatingComponent as ɵbl, RatingService as ɵbm, AvatarPhotoLibModule as ɵbn, AvatarPhotoLibComponent as ɵbo, MyHammerConfig$1 as ɵbp, SlidersNgContentLibModule as ɵbq, SlidersNgContentLibComponent as ɵbr, WidgetUserService as ɵc, MultilingualTranslationsService as ɵd, ConfigurationsService as ɵe, HorizontalScrollerV2Module as ɵf, HorizontalScrollerV2Component as ɵg, SlidersLibComponent as ɵh, NavigationModule as ɵi, NavigationDirective as ɵj, ImageResponsiveModule as ɵk, ImageResponsiveDirective as ɵl, DataPointsComponent as ɵm, InsiteDataService as ɵn, SkeletonLoaderLibModule as ɵo, SkeletonLoaderLibComponent as ɵp, CalenderComponent as ɵq, CalenderDayComponent as ɵr, CommonStripComponent as ɵs, CardResourceComponent as ɵt, CardsComponent as ɵu, CardPortraitComponent as ɵv, CardUserComponent as ɵw, CardLandscapeComponent as ɵx, CardWideComponent as ɵy, PipePublicURLModule as ɵz };
|
|
7990
9871
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|