@sunbird-cb/consumption 0.0.12 → 0.0.14
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 +1699 -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 +158 -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 +206 -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-lib.component.js +139 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.module.js +38 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.service.js +45 -0
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.directive.js +42 -0
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.module.js +19 -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 +31 -20
- package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +175 -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 +233 -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-lib.component.js +162 -0
- package/esm5/lib/_common/user-content-rating/user-content-rating-lib.module.js +42 -0
- package/esm5/lib/_common/user-content-rating/user-content-rating-lib.service.js +48 -0
- package/esm5/lib/_directives/scrollable-item/scrollable-item.directive.js +45 -0
- package/esm5/lib/_directives/scrollable-item/scrollable-item.module.js +23 -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 +31 -20
- package/fesm2015/sunbird-cb-consumption.js +1515 -88
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +1673 -58
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts +20 -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 +29 -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-lib.component.d.ts +22 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts +2 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts +7 -0
- package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts +7 -0
- package/lib/_directives/scrollable-item/scrollable-item.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 +29 -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, ElementRef, ViewChildren } 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 (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n<ng-template #cardWideLibSkeleton>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n\n <ng-template #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}@media screen and (max-width:768px){.card-wide-img{width:167px;height:117px;border-radius:12px}}"]
|
|
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,853 @@ 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 ScrollableItemDirective {
|
|
8729
|
+
/**
|
|
8730
|
+
* @param {?} el
|
|
8731
|
+
*/
|
|
8732
|
+
constructor(el) {
|
|
8733
|
+
this.el = el;
|
|
8734
|
+
}
|
|
8735
|
+
/**
|
|
8736
|
+
* @param {?} blockValue
|
|
8737
|
+
* @return {?}
|
|
8738
|
+
*/
|
|
8739
|
+
scrollIntoView(blockValue) {
|
|
8740
|
+
this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });
|
|
8741
|
+
}
|
|
8742
|
+
}
|
|
8743
|
+
ScrollableItemDirective.decorators = [
|
|
8744
|
+
{ type: Directive, args: [{
|
|
8745
|
+
selector: '[sbUicScrollableItem]'
|
|
8746
|
+
},] }
|
|
8747
|
+
];
|
|
8748
|
+
/** @nocollapse */
|
|
8749
|
+
ScrollableItemDirective.ctorParameters = () => [
|
|
8750
|
+
{ type: ElementRef }
|
|
8751
|
+
];
|
|
8752
|
+
ScrollableItemDirective.propDecorators = {
|
|
8753
|
+
key: [{ type: Input, args: ['sbUicScrollableItem',] }]
|
|
8754
|
+
};
|
|
8755
|
+
if (false) {
|
|
8756
|
+
/** @type {?} */
|
|
8757
|
+
ScrollableItemDirective.prototype.key;
|
|
8758
|
+
/**
|
|
8759
|
+
* @type {?}
|
|
8760
|
+
* @private
|
|
8761
|
+
*/
|
|
8762
|
+
ScrollableItemDirective.prototype.el;
|
|
8763
|
+
}
|
|
8764
|
+
|
|
8765
|
+
/**
|
|
8766
|
+
* @fileoverview added by tsickle
|
|
8767
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8768
|
+
*/
|
|
8769
|
+
/** @type {?} */
|
|
8770
|
+
const API_END_POINTS$4 = {
|
|
8771
|
+
TOP_REVIEWS: `/apis/proxies/v8/ratings/v1/topReviews`
|
|
8772
|
+
};
|
|
8773
|
+
class UserContentRatingLibService {
|
|
8774
|
+
/**
|
|
8775
|
+
* @param {?} http
|
|
8776
|
+
*/
|
|
8777
|
+
constructor(http) {
|
|
8778
|
+
this.http = http;
|
|
8779
|
+
}
|
|
8780
|
+
/**
|
|
8781
|
+
* @param {?} doId
|
|
8782
|
+
* @return {?}
|
|
8783
|
+
*/
|
|
8784
|
+
fetchTopReviews(doId) {
|
|
8785
|
+
return this.http.get(`${API_END_POINTS$4.TOP_REVIEWS}/${doId}`);
|
|
8786
|
+
}
|
|
8787
|
+
}
|
|
8788
|
+
UserContentRatingLibService.decorators = [
|
|
8789
|
+
{ type: Injectable, args: [{
|
|
8790
|
+
providedIn: 'root'
|
|
8791
|
+
},] }
|
|
8792
|
+
];
|
|
8793
|
+
/** @nocollapse */
|
|
8794
|
+
UserContentRatingLibService.ctorParameters = () => [
|
|
8795
|
+
{ type: HttpClient }
|
|
8796
|
+
];
|
|
8797
|
+
/** @nocollapse */ UserContentRatingLibService.ngInjectableDef = ɵɵdefineInjectable({ factory: function UserContentRatingLibService_Factory() { return new UserContentRatingLibService(ɵɵinject(HttpClient)); }, token: UserContentRatingLibService, providedIn: "root" });
|
|
8798
|
+
if (false) {
|
|
8799
|
+
/**
|
|
8800
|
+
* @type {?}
|
|
8801
|
+
* @private
|
|
8802
|
+
*/
|
|
8803
|
+
UserContentRatingLibService.prototype.http;
|
|
8804
|
+
}
|
|
8805
|
+
|
|
8806
|
+
/**
|
|
8807
|
+
* @fileoverview added by tsickle
|
|
8808
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8809
|
+
*/
|
|
8810
|
+
class UserContentRatingLibComponent {
|
|
8811
|
+
/**
|
|
8812
|
+
* @param {?} ratingService
|
|
8813
|
+
* @param {?} userRatingSvc
|
|
8814
|
+
*/
|
|
8815
|
+
constructor(ratingService, userRatingSvc) {
|
|
8816
|
+
this.ratingService = ratingService;
|
|
8817
|
+
this.userRatingSvc = userRatingSvc;
|
|
8818
|
+
this.currentIndex = 0;
|
|
8819
|
+
this.providerId = '';
|
|
8820
|
+
this.formData = '';
|
|
8821
|
+
this.emptyResponse = new EventEmitter();
|
|
8822
|
+
this.styleData = {};
|
|
8823
|
+
this.contentdata = [];
|
|
8824
|
+
}
|
|
8825
|
+
/**
|
|
8826
|
+
* @return {?}
|
|
8827
|
+
*/
|
|
8828
|
+
ngOnInit() {
|
|
8829
|
+
this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData;
|
|
8830
|
+
this.getTopReviews();
|
|
8831
|
+
}
|
|
8832
|
+
/**
|
|
8833
|
+
* @return {?}
|
|
8834
|
+
*/
|
|
8835
|
+
getTopReviews() {
|
|
8836
|
+
this.contentdata = [];
|
|
8837
|
+
this.userRatingSvc.fetchTopReviews(this.providerId).subscribe((/**
|
|
8838
|
+
* @param {?} response
|
|
8839
|
+
* @return {?}
|
|
8840
|
+
*/
|
|
8841
|
+
(response) => {
|
|
8842
|
+
if (response && response.result && response.result.content.length) {
|
|
8843
|
+
response.result.content.forEach((/**
|
|
8844
|
+
* @param {?} contentEle
|
|
8845
|
+
* @return {?}
|
|
8846
|
+
*/
|
|
8847
|
+
(contentEle) => {
|
|
8848
|
+
/** @type {?} */
|
|
8849
|
+
let localData = {};
|
|
8850
|
+
localData['content'] = contentEle.contentInfo;
|
|
8851
|
+
localData['rating'] = contentEle.rating;
|
|
8852
|
+
localData['review'] = contentEle.review;
|
|
8853
|
+
localData['userDetails'] = contentEle.userDetails;
|
|
8854
|
+
localData['cardSubType'] = "card-wide-lib";
|
|
8855
|
+
localData['cardCustomeClass'] = "";
|
|
8856
|
+
this.contentdata.push(localData);
|
|
8857
|
+
}));
|
|
8858
|
+
}
|
|
8859
|
+
else {
|
|
8860
|
+
this.emptyResponse.emit(true);
|
|
8861
|
+
}
|
|
8862
|
+
}));
|
|
8863
|
+
}
|
|
8864
|
+
/**
|
|
8865
|
+
* @param {?} ratingIndex
|
|
8866
|
+
* @param {?} avg
|
|
8867
|
+
* @return {?}
|
|
8868
|
+
*/
|
|
8869
|
+
getRatingIcon(ratingIndex, avg) {
|
|
8870
|
+
return this.ratingService.getRatingIcon(ratingIndex, avg);
|
|
8871
|
+
}
|
|
8872
|
+
/**
|
|
8873
|
+
* @param {?} ratingIndex
|
|
8874
|
+
* @param {?} avg
|
|
8875
|
+
* @return {?}
|
|
8876
|
+
*/
|
|
8877
|
+
getRatingIconClass(ratingIndex, avg) {
|
|
8878
|
+
return this.ratingService.getRatingIconClass(ratingIndex, avg);
|
|
8879
|
+
}
|
|
8880
|
+
/**
|
|
8881
|
+
* @param {?} indexValue
|
|
8882
|
+
* @return {?}
|
|
8883
|
+
*/
|
|
8884
|
+
getCurrentIndex(indexValue) {
|
|
8885
|
+
this.currentIndex = indexValue;
|
|
8886
|
+
this.handleScrollClick(indexValue);
|
|
8887
|
+
}
|
|
8888
|
+
/**
|
|
8889
|
+
* @param {?} dataValue
|
|
8890
|
+
* @return {?}
|
|
8891
|
+
*/
|
|
8892
|
+
handleScrollClick(dataValue) {
|
|
8893
|
+
/** @type {?} */
|
|
8894
|
+
const item = this.scrollableItems.find((/**
|
|
8895
|
+
* @param {?} x
|
|
8896
|
+
* @return {?}
|
|
8897
|
+
*/
|
|
8898
|
+
x => x.key === dataValue));
|
|
8899
|
+
item.scrollIntoView("nearest");
|
|
8900
|
+
}
|
|
8901
|
+
}
|
|
8902
|
+
UserContentRatingLibComponent.decorators = [
|
|
8903
|
+
{ type: Component, args: [{
|
|
8904
|
+
selector: 'sb-uic-user-content-rating',
|
|
8905
|
+
template: "<ng-container *ngIf=\"contentdata.length\">\n <sb-uic-sliders-ng-content [title]=\"'providerName'\" [currentIndex]=\"currentIndex\" (currentIndexValue)=\"getCurrentIndex($event)\" [loadNgContentData]=\"true\" [widgetData]=\"contentdata\" [styleData]=\"styleData\">\n <div sliderbody>\n <div class=\"flex justify-start md:justify-center users-block mb-4 \">\n <ng-container *ngFor=\"let userData of contentdata; let j = index\">\n <div class=\"avatar-block mr-1\" [sbUicScrollableItem]=\"j\"\n [ngClass]=\"{'user-active': j === currentIndex}\" (click)=\"handleScrollClick(currentIndex);currentIndex = j\">\n <sb-uic-avatar-photo [defaulfColor]=\"'#1B2133'\" [datalen]=\"1\" [randomColor]=\"true\" [name]=\"userData?.userDetails?.firstName\" [photoUrl]=\"userData?.userDetails?.profileImageUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </div>\n </ng-container>\n </div>\n <div *ngFor=\"let ratingData of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"user-ratting-wrapper flex flex-wrap justify-center\">\n <p class=\"userName w-full mb-4\">{{ratingData?.userDetails?.firstName}}</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, ratingData?.rating)}\"\n *ngFor=\"let rating of [1, 2, 3, 4, 5]\">\n {{ getRatingIcon(rating, ratingData?.rating) }}\n </mat-icon>\n </div>\n <p class=\"content-feedback w-full mb-4 pl-0 pr-0 md:pl-12 md:pr-12 \">{{ratingData?.review}}</p>\n \n <hr class=\"divider mb-4\">\n <p class=\"content-info w-full mb-4\">For The Content</p>\n <div class=\"w-full mr-0 md:mr-8 ml-0 md:ml-8\">\n <sb-uic-cards [widgetData]=\"ratingData\"></sb-uic-cards>\n </div>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n</ng-container>\n\n",
|
|
8906
|
+
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)}.user-ratting-wrapper .content-info{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#666}.avatar-block{border:8px solid transparent;position:relative;cursor:pointer;width:48px;height:48px}.user-active{content:\"\";border:5px solid #f3972e;border-radius:50%;display:flex;justify-content:center;align-items:center;margin-bottom:0;width:48px;height:48px}.user-active::after{content:\" \";position:absolute;top:106%;left:50%;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:18px solid #f3972e}.users-block{overflow-x:auto;padding:16px;padding-bottom:24px!important;width:100%}hr.divider{border:1px solid #f3972e;width:185px}"]
|
|
8907
|
+
}] }
|
|
8908
|
+
];
|
|
8909
|
+
/** @nocollapse */
|
|
8910
|
+
UserContentRatingLibComponent.ctorParameters = () => [
|
|
8911
|
+
{ type: RatingService },
|
|
8912
|
+
{ type: UserContentRatingLibService }
|
|
8913
|
+
];
|
|
8914
|
+
UserContentRatingLibComponent.propDecorators = {
|
|
8915
|
+
providerId: [{ type: Input }],
|
|
8916
|
+
formData: [{ type: Input }],
|
|
8917
|
+
emptyResponse: [{ type: Output }],
|
|
8918
|
+
scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
|
|
8919
|
+
};
|
|
8920
|
+
if (false) {
|
|
8921
|
+
/** @type {?} */
|
|
8922
|
+
UserContentRatingLibComponent.prototype.currentIndex;
|
|
8923
|
+
/** @type {?} */
|
|
8924
|
+
UserContentRatingLibComponent.prototype.providerId;
|
|
8925
|
+
/** @type {?} */
|
|
8926
|
+
UserContentRatingLibComponent.prototype.formData;
|
|
8927
|
+
/** @type {?} */
|
|
8928
|
+
UserContentRatingLibComponent.prototype.emptyResponse;
|
|
8929
|
+
/** @type {?} */
|
|
8930
|
+
UserContentRatingLibComponent.prototype.styleData;
|
|
8931
|
+
/** @type {?} */
|
|
8932
|
+
UserContentRatingLibComponent.prototype.contentdata;
|
|
8933
|
+
/** @type {?} */
|
|
8934
|
+
UserContentRatingLibComponent.prototype.scrollableItems;
|
|
8935
|
+
/** @type {?} */
|
|
8936
|
+
UserContentRatingLibComponent.prototype.ratingService;
|
|
8937
|
+
/** @type {?} */
|
|
8938
|
+
UserContentRatingLibComponent.prototype.userRatingSvc;
|
|
8939
|
+
}
|
|
8940
|
+
|
|
8941
|
+
/**
|
|
8942
|
+
* @fileoverview added by tsickle
|
|
8943
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
8944
|
+
*/
|
|
8945
|
+
class AvatarPhotoLibComponent {
|
|
8946
|
+
constructor() {
|
|
8947
|
+
this.size = '';
|
|
8948
|
+
this.defaulfColor = '';
|
|
8949
|
+
this.randomColor = false;
|
|
8950
|
+
this.showBadge = false;
|
|
8951
|
+
this.showInitials = false;
|
|
8952
|
+
this.random = Math.random().toString(36).slice(2);
|
|
8953
|
+
// public initials!: string
|
|
8954
|
+
this.colors = [
|
|
8955
|
+
'#EB7181',
|
|
8956
|
+
'#306933',
|
|
8957
|
+
'#000000',
|
|
8958
|
+
'#3670B2',
|
|
8959
|
+
'#4E9E87',
|
|
8960
|
+
'#7E4C8D',
|
|
8961
|
+
];
|
|
8962
|
+
this.randomcolors = [
|
|
8963
|
+
'#EB7181',
|
|
8964
|
+
'#006400',
|
|
8965
|
+
'#000000',
|
|
8966
|
+
'#3670B2',
|
|
8967
|
+
'#4E9E87',
|
|
8968
|
+
'#7E4C8D',
|
|
8969
|
+
];
|
|
8970
|
+
}
|
|
8971
|
+
/**
|
|
8972
|
+
* @return {?}
|
|
8973
|
+
*/
|
|
8974
|
+
ngOnInit() {
|
|
8975
|
+
if (!this.photoUrl) {
|
|
8976
|
+
this.showInitials = true;
|
|
8977
|
+
if (!this.initials) {
|
|
8978
|
+
this.createInititals();
|
|
8979
|
+
}
|
|
8980
|
+
if (this.datalen === 1) {
|
|
8981
|
+
if (this.defaulfColor) {
|
|
8982
|
+
this.randomcolors = [
|
|
8983
|
+
this.defaulfColor
|
|
8984
|
+
];
|
|
8985
|
+
}
|
|
8986
|
+
else {
|
|
8987
|
+
this.randomcolors = [
|
|
8988
|
+
'#006400',
|
|
8989
|
+
];
|
|
8990
|
+
}
|
|
8991
|
+
}
|
|
8992
|
+
/** @type {?} */
|
|
8993
|
+
const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length));
|
|
8994
|
+
this.circleColor = this.colors[randomIndex];
|
|
8995
|
+
if (this.randomColor) {
|
|
8996
|
+
/** @type {?} */
|
|
8997
|
+
const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomcolors.length));
|
|
8998
|
+
this.circleColor = this.randomcolors[randomIndex1];
|
|
8999
|
+
}
|
|
9000
|
+
}
|
|
9001
|
+
}
|
|
9002
|
+
/**
|
|
9003
|
+
* @param {?} change
|
|
9004
|
+
* @return {?}
|
|
9005
|
+
*/
|
|
9006
|
+
ngOnChanges(change) {
|
|
9007
|
+
if (change.name.currentValue !== change.name.previousValue && !change.name.firstChange) {
|
|
9008
|
+
this.createInititals();
|
|
9009
|
+
}
|
|
9010
|
+
}
|
|
9011
|
+
/**
|
|
9012
|
+
* @return {?}
|
|
9013
|
+
*/
|
|
9014
|
+
get userInitials() {
|
|
9015
|
+
return this.initials;
|
|
9016
|
+
}
|
|
9017
|
+
/**
|
|
9018
|
+
* @private
|
|
9019
|
+
* @return {?}
|
|
9020
|
+
*/
|
|
9021
|
+
createInititals() {
|
|
9022
|
+
/** @type {?} */
|
|
9023
|
+
let initials = '';
|
|
9024
|
+
/** @type {?} */
|
|
9025
|
+
const array = `${this.name} `.toString().split(' ');
|
|
9026
|
+
if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {
|
|
9027
|
+
initials += array[0].charAt(0);
|
|
9028
|
+
initials += array[1].charAt(0);
|
|
9029
|
+
}
|
|
9030
|
+
else {
|
|
9031
|
+
for (let i = 0; i < this.name.length; i += 1) {
|
|
9032
|
+
if (this.name.charAt(i) === ' ') {
|
|
9033
|
+
continue;
|
|
9034
|
+
}
|
|
9035
|
+
if (this.name.charAt(i) === this.name.charAt(i)) {
|
|
9036
|
+
initials += this.name.charAt(i);
|
|
9037
|
+
if (initials.length === 2) {
|
|
9038
|
+
break;
|
|
9039
|
+
}
|
|
9040
|
+
}
|
|
9041
|
+
}
|
|
9042
|
+
}
|
|
9043
|
+
this.initials = initials.toUpperCase();
|
|
9044
|
+
}
|
|
9045
|
+
}
|
|
9046
|
+
AvatarPhotoLibComponent.decorators = [
|
|
9047
|
+
{ type: Component, args: [{
|
|
9048
|
+
selector: 'sb-uic-avatar-photo',
|
|
9049
|
+
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>",
|
|
9050
|
+
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}"]
|
|
9051
|
+
}] }
|
|
9052
|
+
];
|
|
9053
|
+
AvatarPhotoLibComponent.propDecorators = {
|
|
9054
|
+
datalen: [{ type: Input }],
|
|
9055
|
+
photoUrl: [{ type: Input }],
|
|
9056
|
+
name: [{ type: Input }],
|
|
9057
|
+
size: [{ type: Input }],
|
|
9058
|
+
defaulfColor: [{ type: Input }],
|
|
9059
|
+
randomColor: [{ type: Input }],
|
|
9060
|
+
initials: [{ type: Input }],
|
|
9061
|
+
showBadge: [{ type: Input }]
|
|
9062
|
+
};
|
|
9063
|
+
if (false) {
|
|
9064
|
+
/** @type {?} */
|
|
9065
|
+
AvatarPhotoLibComponent.prototype.datalen;
|
|
9066
|
+
/** @type {?} */
|
|
9067
|
+
AvatarPhotoLibComponent.prototype.photoUrl;
|
|
9068
|
+
/** @type {?} */
|
|
9069
|
+
AvatarPhotoLibComponent.prototype.name;
|
|
9070
|
+
/** @type {?} */
|
|
9071
|
+
AvatarPhotoLibComponent.prototype.size;
|
|
9072
|
+
/** @type {?} */
|
|
9073
|
+
AvatarPhotoLibComponent.prototype.defaulfColor;
|
|
9074
|
+
/** @type {?} */
|
|
9075
|
+
AvatarPhotoLibComponent.prototype.randomColor;
|
|
9076
|
+
/** @type {?} */
|
|
9077
|
+
AvatarPhotoLibComponent.prototype.initials;
|
|
9078
|
+
/** @type {?} */
|
|
9079
|
+
AvatarPhotoLibComponent.prototype.showBadge;
|
|
9080
|
+
/** @type {?} */
|
|
9081
|
+
AvatarPhotoLibComponent.prototype.showInitials;
|
|
9082
|
+
/** @type {?} */
|
|
9083
|
+
AvatarPhotoLibComponent.prototype.circleColor;
|
|
9084
|
+
/** @type {?} */
|
|
9085
|
+
AvatarPhotoLibComponent.prototype.random;
|
|
9086
|
+
/**
|
|
9087
|
+
* @type {?}
|
|
9088
|
+
* @private
|
|
9089
|
+
*/
|
|
9090
|
+
AvatarPhotoLibComponent.prototype.colors;
|
|
9091
|
+
/**
|
|
9092
|
+
* @type {?}
|
|
9093
|
+
* @private
|
|
9094
|
+
*/
|
|
9095
|
+
AvatarPhotoLibComponent.prototype.randomcolors;
|
|
9096
|
+
}
|
|
9097
|
+
|
|
9098
|
+
/**
|
|
9099
|
+
* @fileoverview added by tsickle
|
|
9100
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9101
|
+
*/
|
|
9102
|
+
class AvatarPhotoLibModule {
|
|
9103
|
+
}
|
|
9104
|
+
AvatarPhotoLibModule.decorators = [
|
|
9105
|
+
{ type: NgModule, args: [{
|
|
9106
|
+
declarations: [AvatarPhotoLibComponent],
|
|
9107
|
+
imports: [
|
|
9108
|
+
CommonModule,
|
|
9109
|
+
RouterModule,
|
|
9110
|
+
MatButtonModule,
|
|
9111
|
+
MatIconModule,
|
|
9112
|
+
MatMenuModule,
|
|
9113
|
+
MatRippleModule,
|
|
9114
|
+
SbUiResolverModule,
|
|
9115
|
+
],
|
|
9116
|
+
exports: [AvatarPhotoLibComponent],
|
|
9117
|
+
entryComponents: [AvatarPhotoLibComponent],
|
|
9118
|
+
},] }
|
|
9119
|
+
];
|
|
9120
|
+
|
|
9121
|
+
/**
|
|
9122
|
+
* @fileoverview added by tsickle
|
|
9123
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9124
|
+
*/
|
|
9125
|
+
class SlidersNgContentLibComponent extends WidgetBaseComponent {
|
|
9126
|
+
/**
|
|
9127
|
+
* @param {?} events
|
|
9128
|
+
* @param {?} valueSvc
|
|
9129
|
+
*/
|
|
9130
|
+
constructor(events, valueSvc) {
|
|
9131
|
+
super();
|
|
9132
|
+
this.events = events;
|
|
9133
|
+
this.valueSvc = valueSvc;
|
|
9134
|
+
this.title = '';
|
|
9135
|
+
this.loadNgContentData = false;
|
|
9136
|
+
this.autoScroll = false;
|
|
9137
|
+
this.currentIndexValue = new EventEmitter();
|
|
9138
|
+
this.id = `banner_${Math.random()}`;
|
|
9139
|
+
this.defaultMenuSubscribe = null;
|
|
9140
|
+
this.isLtMedium$ = this.valueSvc.isLtMedium$;
|
|
9141
|
+
this.currentIndex = 0;
|
|
9142
|
+
this.slideInterval = null;
|
|
9143
|
+
this.isMobile = false;
|
|
9144
|
+
}
|
|
9145
|
+
/**
|
|
9146
|
+
* @return {?}
|
|
9147
|
+
*/
|
|
9148
|
+
ngOnInit() {
|
|
9149
|
+
if (this.autoScroll) {
|
|
9150
|
+
this.reInitiateSlideInterval();
|
|
9151
|
+
}
|
|
9152
|
+
this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
|
|
9153
|
+
* @param {?} isLtMedium
|
|
9154
|
+
* @return {?}
|
|
9155
|
+
*/
|
|
9156
|
+
(isLtMedium) => {
|
|
9157
|
+
this.isMobile = isLtMedium;
|
|
9158
|
+
}));
|
|
9159
|
+
}
|
|
9160
|
+
/**
|
|
9161
|
+
* @return {?}
|
|
9162
|
+
*/
|
|
9163
|
+
reInitiateSlideInterval() {
|
|
9164
|
+
if (this.widgetData && this.widgetData.length > 1) {
|
|
9165
|
+
try {
|
|
9166
|
+
if (this.slideInterval) {
|
|
9167
|
+
this.slideInterval.unsubscribe();
|
|
9168
|
+
}
|
|
9169
|
+
}
|
|
9170
|
+
catch (e) {
|
|
9171
|
+
}
|
|
9172
|
+
finally {
|
|
9173
|
+
this.slideInterval = interval(8000).subscribe((/**
|
|
9174
|
+
* @return {?}
|
|
9175
|
+
*/
|
|
9176
|
+
() => {
|
|
9177
|
+
if (this.currentIndex === this.widgetData.length - 1) {
|
|
9178
|
+
this.currentIndex = 0;
|
|
9179
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9180
|
+
}
|
|
9181
|
+
else {
|
|
9182
|
+
this.currentIndex += 1;
|
|
9183
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9184
|
+
}
|
|
9185
|
+
}));
|
|
9186
|
+
}
|
|
9187
|
+
}
|
|
9188
|
+
}
|
|
9189
|
+
/**
|
|
9190
|
+
* @param {?} index
|
|
9191
|
+
* @return {?}
|
|
9192
|
+
*/
|
|
9193
|
+
slideTo(index) {
|
|
9194
|
+
if (index >= 0 && index < this.widgetData.length) {
|
|
9195
|
+
this.currentIndex = index;
|
|
9196
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9197
|
+
}
|
|
9198
|
+
else if (index === this.widgetData.length) {
|
|
9199
|
+
this.currentIndex = 0;
|
|
9200
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9201
|
+
}
|
|
9202
|
+
else {
|
|
9203
|
+
this.currentIndex = this.widgetData.length + index;
|
|
9204
|
+
this.currentIndexValue.emit(this.currentIndex);
|
|
9205
|
+
}
|
|
9206
|
+
if (this.autoScroll) {
|
|
9207
|
+
this.reInitiateSlideInterval();
|
|
9208
|
+
}
|
|
9209
|
+
}
|
|
9210
|
+
/**
|
|
9211
|
+
* @return {?}
|
|
9212
|
+
*/
|
|
9213
|
+
get isOpenInNewTab() {
|
|
9214
|
+
/** @type {?} */
|
|
9215
|
+
const currentData = this.widgetData[this.currentIndex];
|
|
9216
|
+
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
9217
|
+
return true;
|
|
9218
|
+
}
|
|
9219
|
+
return false;
|
|
9220
|
+
}
|
|
9221
|
+
/**
|
|
9222
|
+
* @return {?}
|
|
9223
|
+
*/
|
|
9224
|
+
openInNewTab() {
|
|
9225
|
+
/** @type {?} */
|
|
9226
|
+
const currentData = this.widgetData[this.currentIndex];
|
|
9227
|
+
if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {
|
|
9228
|
+
window.open(currentData.redirectUrl);
|
|
9229
|
+
}
|
|
9230
|
+
}
|
|
9231
|
+
/**
|
|
9232
|
+
* @param {?} bannerUrl
|
|
9233
|
+
* @return {?}
|
|
9234
|
+
*/
|
|
9235
|
+
raiseTelemetry(bannerUrl) {
|
|
9236
|
+
this.openInNewTab();
|
|
9237
|
+
/** @type {?} */
|
|
9238
|
+
const path = window.location.pathname.replace('/', '');
|
|
9239
|
+
/** @type {?} */
|
|
9240
|
+
const url = path + window.location.search;
|
|
9241
|
+
this.events.raiseInteractTelemetry({
|
|
9242
|
+
type: 'click',
|
|
9243
|
+
subType: 'banner',
|
|
9244
|
+
}, {
|
|
9245
|
+
pageUrl: url,
|
|
9246
|
+
bannerRedirectUrl: bannerUrl,
|
|
9247
|
+
}, {
|
|
9248
|
+
pageIdExt: 'banner',
|
|
9249
|
+
module: WsEvents.EnumTelemetrymodules.CONTENT,
|
|
9250
|
+
});
|
|
9251
|
+
}
|
|
9252
|
+
/**
|
|
9253
|
+
* @return {?}
|
|
9254
|
+
*/
|
|
9255
|
+
ngOnDestroy() {
|
|
9256
|
+
if (this.defaultMenuSubscribe) {
|
|
9257
|
+
this.defaultMenuSubscribe.unsubscribe();
|
|
9258
|
+
}
|
|
9259
|
+
}
|
|
9260
|
+
}
|
|
9261
|
+
SlidersNgContentLibComponent.decorators = [
|
|
9262
|
+
{ type: Component, args: [{
|
|
9263
|
+
selector: 'sb-uic-sliders-ng-content',
|
|
9264
|
+
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 <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 <ng-content select=\"[sliderMeta]\"></ng-content>\n </div>\n </div>\n </ng-container>\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",
|
|
9265
|
+
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.top-center{left:0;bottom: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}}"]
|
|
9266
|
+
}] }
|
|
9267
|
+
];
|
|
9268
|
+
/** @nocollapse */
|
|
9269
|
+
SlidersNgContentLibComponent.ctorParameters = () => [
|
|
9270
|
+
{ type: EventService },
|
|
9271
|
+
{ type: ValueService }
|
|
9272
|
+
];
|
|
9273
|
+
SlidersNgContentLibComponent.propDecorators = {
|
|
9274
|
+
widgetData: [{ type: Input }],
|
|
9275
|
+
styleData: [{ type: Input }],
|
|
9276
|
+
title: [{ type: Input }],
|
|
9277
|
+
loadNgContentData: [{ type: Input }],
|
|
9278
|
+
autoScroll: [{ type: Input }],
|
|
9279
|
+
currentIndexValue: [{ type: Output }],
|
|
9280
|
+
id: [{ type: HostBinding, args: ['id',] }],
|
|
9281
|
+
currentIndex: [{ type: Input }]
|
|
9282
|
+
};
|
|
9283
|
+
if (false) {
|
|
9284
|
+
/** @type {?} */
|
|
9285
|
+
SlidersNgContentLibComponent.prototype.widgetData;
|
|
9286
|
+
/** @type {?} */
|
|
9287
|
+
SlidersNgContentLibComponent.prototype.styleData;
|
|
9288
|
+
/** @type {?} */
|
|
9289
|
+
SlidersNgContentLibComponent.prototype.title;
|
|
9290
|
+
/** @type {?} */
|
|
9291
|
+
SlidersNgContentLibComponent.prototype.loadNgContentData;
|
|
9292
|
+
/** @type {?} */
|
|
9293
|
+
SlidersNgContentLibComponent.prototype.autoScroll;
|
|
9294
|
+
/** @type {?} */
|
|
9295
|
+
SlidersNgContentLibComponent.prototype.currentIndexValue;
|
|
9296
|
+
/** @type {?} */
|
|
9297
|
+
SlidersNgContentLibComponent.prototype.id;
|
|
9298
|
+
/**
|
|
9299
|
+
* @type {?}
|
|
9300
|
+
* @private
|
|
9301
|
+
*/
|
|
9302
|
+
SlidersNgContentLibComponent.prototype.defaultMenuSubscribe;
|
|
9303
|
+
/** @type {?} */
|
|
9304
|
+
SlidersNgContentLibComponent.prototype.isLtMedium$;
|
|
9305
|
+
/** @type {?} */
|
|
9306
|
+
SlidersNgContentLibComponent.prototype.currentIndex;
|
|
9307
|
+
/** @type {?} */
|
|
9308
|
+
SlidersNgContentLibComponent.prototype.slideInterval;
|
|
9309
|
+
/** @type {?} */
|
|
9310
|
+
SlidersNgContentLibComponent.prototype.isMobile;
|
|
9311
|
+
/**
|
|
9312
|
+
* @type {?}
|
|
9313
|
+
* @private
|
|
9314
|
+
*/
|
|
9315
|
+
SlidersNgContentLibComponent.prototype.events;
|
|
9316
|
+
/**
|
|
9317
|
+
* @type {?}
|
|
9318
|
+
* @private
|
|
9319
|
+
*/
|
|
9320
|
+
SlidersNgContentLibComponent.prototype.valueSvc;
|
|
9321
|
+
}
|
|
9322
|
+
|
|
9323
|
+
/**
|
|
9324
|
+
* @fileoverview added by tsickle
|
|
9325
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9326
|
+
*/
|
|
9327
|
+
/* tslint:enable */
|
|
9328
|
+
class MyHammerConfig$1 extends HammerGestureConfig {
|
|
9329
|
+
/**
|
|
9330
|
+
* @param {?} element
|
|
9331
|
+
* @return {?}
|
|
9332
|
+
*/
|
|
9333
|
+
buildHammer(element) {
|
|
9334
|
+
/** @type {?} */
|
|
9335
|
+
const mc = new Hammer(element, {
|
|
9336
|
+
touchAction: 'pan-y',
|
|
9337
|
+
});
|
|
9338
|
+
return mc;
|
|
9339
|
+
}
|
|
9340
|
+
}
|
|
9341
|
+
// tslint:disable-next-line: max-classes-per-file
|
|
9342
|
+
class SlidersNgContentLibModule {
|
|
9343
|
+
}
|
|
9344
|
+
SlidersNgContentLibModule.decorators = [
|
|
9345
|
+
{ type: NgModule, args: [{
|
|
9346
|
+
declarations: [SlidersNgContentLibComponent],
|
|
9347
|
+
imports: [
|
|
9348
|
+
CommonModule,
|
|
9349
|
+
RouterModule,
|
|
9350
|
+
NavigationModule,
|
|
9351
|
+
ImageResponsiveModule,
|
|
9352
|
+
],
|
|
9353
|
+
exports: [SlidersNgContentLibComponent],
|
|
9354
|
+
entryComponents: [SlidersNgContentLibComponent],
|
|
9355
|
+
providers: [
|
|
9356
|
+
{
|
|
9357
|
+
provide: HAMMER_GESTURE_CONFIG,
|
|
9358
|
+
useClass: MyHammerConfig$1,
|
|
9359
|
+
},
|
|
9360
|
+
],
|
|
9361
|
+
},] }
|
|
9362
|
+
];
|
|
9363
|
+
|
|
9364
|
+
/**
|
|
9365
|
+
* @fileoverview added by tsickle
|
|
9366
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9367
|
+
*/
|
|
9368
|
+
class ScrollableItemModule {
|
|
9369
|
+
}
|
|
9370
|
+
ScrollableItemModule.decorators = [
|
|
9371
|
+
{ type: NgModule, args: [{
|
|
9372
|
+
declarations: [ScrollableItemDirective],
|
|
9373
|
+
imports: [
|
|
9374
|
+
CommonModule,
|
|
9375
|
+
],
|
|
9376
|
+
exports: [ScrollableItemDirective],
|
|
9377
|
+
},] }
|
|
9378
|
+
];
|
|
9379
|
+
|
|
9380
|
+
/**
|
|
9381
|
+
* @fileoverview added by tsickle
|
|
9382
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
9383
|
+
*/
|
|
9384
|
+
class UserContentRatingLibModule {
|
|
9385
|
+
}
|
|
9386
|
+
UserContentRatingLibModule.decorators = [
|
|
9387
|
+
{ type: NgModule, args: [{
|
|
9388
|
+
declarations: [UserContentRatingLibComponent],
|
|
9389
|
+
imports: [
|
|
9390
|
+
CommonModule,
|
|
9391
|
+
MatIconModule,
|
|
9392
|
+
MatChipsModule,
|
|
9393
|
+
SkeletonLoaderLibModule,
|
|
9394
|
+
SlidersLibModule,
|
|
9395
|
+
CardsModule,
|
|
9396
|
+
AvatarPhotoLibModule,
|
|
9397
|
+
SlidersNgContentLibModule,
|
|
9398
|
+
ScrollableItemModule
|
|
9399
|
+
],
|
|
9400
|
+
exports: [UserContentRatingLibComponent],
|
|
9401
|
+
providers: [RatingService, UserContentRatingLibService],
|
|
9402
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
9403
|
+
},] }
|
|
9404
|
+
];
|
|
9405
|
+
|
|
7979
9406
|
/**
|
|
7980
9407
|
* @fileoverview added by tsickle
|
|
7981
9408
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -7986,5 +9413,5 @@ CompetencyPassbookModule.decorators = [
|
|
|
7986
9413
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7987
9414
|
*/
|
|
7988
9415
|
|
|
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,
|
|
9416
|
+
export { CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, 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, UserContentRatingLibComponent as ɵbl, ScrollableItemDirective as ɵbm, RatingService as ɵbn, UserContentRatingLibService as ɵbo, AvatarPhotoLibModule as ɵbp, AvatarPhotoLibComponent as ɵbq, MyHammerConfig$1 as ɵbr, SlidersNgContentLibModule as ɵbs, SlidersNgContentLibComponent as ɵbt, ScrollableItemModule as ɵbu, 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
9417
|
//# sourceMappingURL=sunbird-cb-consumption.js.map
|