@sunbird-cb/consumption 0.0.65 → 0.0.67

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sunbird-cb-consumption.js","sources":["ng://@sunbird-cb/consumption/lib/consumption.service.ts","ng://@sunbird-cb/consumption/lib/consumption.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.ts","ng://@sunbird-cb/consumption/lib/_models/widget-content.model.ts","ng://@sunbird-cb/consumption/lib/_services/viewer-route-util.ts","ng://@sunbird-cb/consumption/lib/_services/widget-content.service.ts","ng://@sunbird-cb/consumption/lib/_services/configurations.service.ts","ng://@sunbird-cb/consumption/lib/_services/multilingual-translations.service.ts","ng://@sunbird-cb/consumption/lib/_models/card-content-v2.model.ts","ng://@sunbird-cb/consumption/lib/_services/widget-user.service.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.component.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.module.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.module.ts","ng://@sunbird-cb/consumption/lib/_services/insite-data.service.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.module.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender-day/calender-day.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.module.ts","ng://@sunbird-cb/consumption/lib/_services/common-methods.service.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.component.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.module.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.component.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.module.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.component.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.directive.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.module.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.module.ts","ng://@sunbird-cb/consumption/lib/consumption.module.ts","ng://@sunbird-cb/consumption/lib/consumption.config.ts","ng://@sunbird-cb/consumption/lib/_models/card-content.model.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-resource/card-resource.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait/card-portrait.component.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.module.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.module.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-user/card-user.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-landscape/card-landscape.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide/card-wide.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide-v2/card-wide-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs/card-karma-programs.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/provider-card/provider-card.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.ts","ng://@sunbird-cb/consumption/lib/_services/certificate.service.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.module.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/dialog-components.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.module.ts","ng://@sunbird-cb/consumption/lib/registration-lib.config.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.ts","ng://@sunbird-cb/consumption/lib/_services/rating.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers-v2/providers-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsumptionService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-consumption',\r\n template: `\r\n <p>\r\n consumption works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class ConsumptionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';\r\nimport {\r\n fromEvent,\r\n Subscription,\r\n timer,\r\n} from 'rxjs';\r\nimport { debounceTime, throttleTime } from 'rxjs/operators';\r\nimport { TFetchStatus } from '../../_constants/misc.constants';\r\nimport { ValueService } from '@sunbird-cb/utils-v2';\r\nimport { NsCommonStrip } from '../common-strip/common-strip.model';\r\nimport { NsContentStripMultiple } from '../../_models/content-strip-multiple.model';\r\n\r\n@Component({\r\n selector: 'sb-uic-horizontal-scroller-v2',\r\n templateUrl: './horizontal-scroller-v2.component.html',\r\n styleUrls: ['./horizontal-scroller-v2.component.scss'],\r\n})\r\n\r\nexport class HorizontalScrollerV2Component implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input() loadStatus: TFetchStatus = 'fetching';\r\n @Input() id: string = '';\r\n @Input() onHover = false;\r\n @Input() sliderConfig: any = {\r\n showNavs: true,\r\n showDots: true,\r\n cerificateCardMargin: false,\r\n };\r\n @Output() loadNext = new EventEmitter();\r\n @Input() widgetsLength: any;\r\n @Input() defaultMaxWidgets: any;\r\n @Input() stripConfig: any;\r\n @ViewChild('horizontalScrollElem', { static: true })\r\n horizontalScrollElem: ElementRef | null = null;\r\n\r\n enablePrev = false;\r\n enableNext = false;\r\n activeNav = 0;\r\n cardSubType = 'standard';\r\n bottomDotsArray: any = [];\r\n private scrollObserver: Subscription | null = null;\r\n isMobile = false\r\n private defaultMenuSubscribe: Subscription | null = null\r\n isLtMedium$ = this.valueSvc.isLtMedium$\r\n\r\n constructor(private valueSvc: ValueService) { }\r\n\r\n ngOnInit() {\r\n this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';\r\n if (this.horizontalScrollElem) {\r\n const horizontalScrollElem = this.horizontalScrollElem;\r\n this.scrollObserver = fromEvent(\r\n horizontalScrollElem.nativeElement,\r\n 'scroll',\r\n )\r\n .pipe(debounceTime(100), throttleTime(100))\r\n .subscribe(_ => {\r\n this.updateNavigationBtnStatus(horizontalScrollElem\r\n .nativeElement as HTMLElement);\r\n });\r\n setTimeout(() => {\r\n this.getBottomDotsArray();\r\n }, 700);\r\n }\r\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\r\n this.isMobile = isLtMedium\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n timer(100).subscribe(() => {\r\n if (this.horizontalScrollElem) {\r\n this.updateNavigationBtnStatus(this.horizontalScrollElem\r\n .nativeElement as HTMLElement);\r\n }\r\n });\r\n setTimeout(() => {\r\n this.getBottomDotsArray();\r\n }, 700);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.scrollObserver) {\r\n this.scrollObserver.unsubscribe();\r\n }\r\n if (this.defaultMenuSubscribe) {\r\n this.defaultMenuSubscribe.unsubscribe()\r\n }\r\n }\r\n\r\n showPrev() {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft -= 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\r\n behavior: 'smooth',\r\n });\r\n \r\n const elem = this.horizontalScrollElem.nativeElement\r\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n this.activeNav -= 1;\r\n } else {\r\n if(this.sliderConfig.arrowsAlwaysOn) {\r\n if(this.horizontalScrollElem.nativeElement.scrollLeft === 0){\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: elem.scrollWidth,\r\n behavior: 'smooth',\r\n });\r\n this.activeNav = this.bottomDotsArray.length - 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n showNext() {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft += 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\r\n behavior: 'smooth',\r\n });\r\n const elem = this.horizontalScrollElem.nativeElement\r\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n this.activeNav += 1;\r\n } else {\r\n if(this.sliderConfig.arrowsAlwaysOn) {\r\n if(this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth ){\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: 0,\r\n behavior: 'smooth',\r\n });\r\n this.activeNav = 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private updateNavigationBtnStatus(elem: HTMLElement) {\r\n this.enablePrev = true;\r\n this.enableNext = true;\r\n if (elem.scrollLeft === 0) {\r\n if(!this.sliderConfig.arrowsAlwaysOn) {\r\n this.enablePrev = false;\r\n }\r\n this.activeNav = 0;\r\n }\r\n // if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {\r\n // if (this.loadStatus === 'hasMore') {\r\n // this.loadNext.emit();\r\n // } else {\r\n // if(!this.sliderConfig.arrowsAlwaysOn) {\r\n // this.enableNext = false;\r\n // }\r\n // if (this.bottomDotsArray.length) {\r\n // this.activeNav = this.bottomDotsArray.length - 1;\r\n // }\r\n // }\r\n // }\r\n // if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n // this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);\r\n // }\r\n\r\n\r\n const widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft))\r\n if (widthDiff === 0 || widthDiff === 1) {\r\n if (this.loadStatus === 'hasMore') {\r\n this.loadNext.emit()\r\n } else {\r\n this.enableNext = false\r\n if (this.bottomDotsArray.length) {\r\n this.activeNav = this.bottomDotsArray.length - 1\r\n }\r\n }\r\n }\r\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth)\r\n }\r\n }\r\n\r\n slideTo(ele: any) {\r\n const diff = ele - this.activeNav;\r\n // if (ele > this.activeNav && ele !== this.activeNav) {\r\n // if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n // this.horizontalScrollElem.nativeElement.scrollTo({\r\n // left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),\r\n // behavior: 'smooth',\r\n // })\r\n // }\r\n // this.activeNav = ele\r\n // } else {\r\n // if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n // this.horizontalScrollElem.nativeElement.scrollTo({\r\n // left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),\r\n // behavior: 'smooth',\r\n // })\r\n // }\r\n // this.activeNav = ele\r\n // }\r\n if (this.horizontalScrollElem) {\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),\r\n behavior: 'smooth',\r\n });\r\n }\r\n this.activeNav = ele;\r\n }\r\n\r\n getBottomDotsArray() {\r\n if (this.horizontalScrollElem) {\r\n this.bottomDotsArray = [];\r\n let cardWidth;\r\n let arrLength;\r\n if (this.cardSubType !== 'card-wide-v2') {\r\n cardWidth = this.cardSubType === 'standard' ? 245 :\r\n ((document.getElementsByClassName(this.cardSubType) &&\r\n document.getElementsByClassName(this.cardSubType)[0] !== undefined)\r\n ? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);\r\n if (document.getElementById(`${this.id}`)) {\r\n const scrollerWidth = document.getElementById(`${this.id}`).clientWidth;\r\n const totalCardsLength = cardWidth * this.widgetsLength;\r\n if (totalCardsLength > scrollerWidth) {\r\n arrLength = Math.round(scrollerWidth / cardWidth);\r\n this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?\r\n this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;\r\n arrLength = this.defaultMaxWidgets / arrLength;\r\n for (let i = 0; i < arrLength; i += 1) {\r\n this.bottomDotsArray.push(i);\r\n }\r\n }\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.bottomDotsArray = []\r\n arrLength = document.getElementsByClassName(this.cardSubType).length;\r\n for (let i = 0; i < arrLength; i += 1) {\r\n this.bottomDotsArray.push(i);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HorizontalScrollerV2Component } from './horizontal-scroller-v2.component';\r\nimport { MatButtonModule, MatIconModule, MatProgressSpinnerModule } from '@angular/material';\r\n\r\n@NgModule({\r\n declarations: [HorizontalScrollerV2Component],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ],\r\n exports: [HorizontalScrollerV2Component],\r\n})\r\nexport class HorizontalScrollerV2Module { }\r\n","export namespace NsContent {\r\n export interface IContinueLearningData extends IContent {\r\n continueData: any;\r\n }\r\n\r\n export interface IContinueLearningDataReq {\r\n request: {\r\n userId: string | undefined,\r\n courseId: string,\r\n contentIds: string[],\r\n batchId: string | undefined | null\r\n fields?: string[]\r\n };\r\n }\r\n\r\n export interface IContent {\r\n platform?: any;\r\n addedOn: string;\r\n appIcon: string;\r\n artifactUrl: string;\r\n averageRating?: any;\r\n // this will be used to content form enrollment user list\r\n batches?: any;\r\n batch?: any;\r\n body?: string;\r\n certificationList?: IRelatedContentMeta[];\r\n certificationStatus?: TCertificationStatus;\r\n certificationSubmissionDate?: string;\r\n certificationUrl: string;\r\n childNodes?: string[];\r\n children: IContent[];\r\n childrenClassifiers?: string[];\r\n clients?: IClient[];\r\n collections?: IContent[];\r\n completionPercentage?: number | null;\r\n completionStatus?: number;\r\n difficultyLevel: string;\r\n contentId: string;\r\n contentType: EContentTypes;\r\n contentUrlAtSource: string;\r\n creatorContacts: ICreator[];\r\n\r\n creatorDetails: ICreator[];\r\n creatorLogo: string;\r\n creatorPosterImage: string;\r\n creatorThumbnail: string;\r\n\r\n curatedTags: string[];\r\n description: string;\r\n displayContentType: EDisplayContentTypes; // For UI\r\n downloadUrl?: string;\r\n duration: number;\r\n enrolledDate?: string;\r\n exclusiveContent?: boolean;\r\n expiryDate?: string;\r\n equivalentCertifications?: IRelatedContentMeta[];\r\n hasAccess: boolean;\r\n hasAssessment?: string;\r\n idealScreenSize?: string;\r\n identifier: string;\r\n introductoryVideo?: string;\r\n introductoryVideoIcon?: string;\r\n learningTrack?: string;\r\n isExternal: boolean;\r\n isIframeSupported: 'Yes' | 'No' | 'Maybe';\r\n isInIntranet?: boolean;\r\n keywords?: string[];\r\n kArtifacts?: IRelatedContentMeta[];\r\n lastContentAccessTime?: string;\r\n lastUpdatedOn: string;\r\n learningMode?: TLearningMode;\r\n learningObjective: string;\r\n labels?: string[];\r\n locale?: string;\r\n hasTranslations?: { identifier: string; locale: string }[];\r\n isTranslationOf?: { identifier: string; locale: string }[];\r\n me_totalSessionsCount: number;\r\n mediaType: string;\r\n mimeType: EMimeTypes;\r\n msArtifactDetails?: IMSArtifactDetails;\r\n mode?: ETagType;\r\n name: string;\r\n nextCertificationAttemptDate?: string;\r\n playgroundInstructions?: string;\r\n playgroundResources?: IResourcePlayground[];\r\n postContents?: IPrePostContent[];\r\n posterImage?: string;\r\n preContents?: IPrePostContent[];\r\n preRequisites: string;\r\n price?: {\r\n currency: string\r\n value: number\r\n };\r\n primaryCategory: EPrimaryCategory;\r\n proctorUrl?: string;\r\n progress?: IMarkAsCompleteProgress;\r\n publishedOn: string;\r\n recentCertificationAttemptScore?: number;\r\n recommendationReasons?: string[];\r\n region?: string[];\r\n registrationUrl?: string;\r\n registrationInstructions?: string;\r\n resourceCategory?: string[];\r\n resourceType: string;\r\n size?: number;\r\n skills: ISkill[];\r\n softwareRequirements?: IResourceDetail[];\r\n sourceName: string;\r\n sourceShortName: string;\r\n sourceIconUrl?: string;\r\n sourceUrl?: string;\r\n ssoEnabled?: boolean;\r\n lastReadContentId?: string;\r\n status:\r\n | 'Draft'\r\n | 'InReview'\r\n | 'QualityReview'\r\n | 'Reviewed'\r\n | 'Processing'\r\n | 'Live'\r\n | 'Deleted'\r\n | 'MarkedForDeletion'\r\n | 'Expired';\r\n subTitle?: string;\r\n subTitles?: ISubtitle[];\r\n studyMaterials?: IRelatedContentMeta[];\r\n systemRequirements?: string[];\r\n tags: ITag[];\r\n topics: IContentTopic[];\r\n totalLikes?: { [key: string]: number };\r\n totalRating?: number;\r\n track: ITrack[];\r\n uniqueLearners?: number;\r\n viewCount?: { [key: string]: number };\r\n reason?: string; // required for Knowledge board\r\n trainingLHubCount?: number; // for LHub trainings\r\n verifiers?: {\r\n // required for External Certifications\r\n name: string\r\n email: string\r\n id: string\r\n }[];\r\n references?: { url: string; title: string }[];\r\n resumePage?: number; // For player WebModule in UI\r\n [key: string]: any;\r\n optionalReading: boolean;\r\n additionalTags?: string[];\r\n }\r\n\r\n export interface IContentResponse {\r\n id: string;\r\n params: any;\r\n responseCode: string;\r\n result: {\r\n content: IContent\r\n };\r\n ts: string;\r\n ver: string;\r\n }\r\n\r\n export interface IBatch {\r\n batchId: string;\r\n createdBy: string;\r\n endDate: string | null;\r\n enrollmentType: string;\r\n identifier: string;\r\n name: string;\r\n startDate: string;\r\n status: number;\r\n cert_templates?: null;\r\n collectionId: string;\r\n courseId: string;\r\n createdDate: string;\r\n createdFor: string[];\r\n description?: null;\r\n enrollmentEndDate: string | null;\r\n id: string;\r\n mentors?: string[] | null;\r\n tandc?: null;\r\n updatedDate?: string | null;\r\n }\r\n\r\n export interface IBatchListResponse {\r\n content?: IBatch[];\r\n count?: number;\r\n enrolled?: boolean;\r\n workFlow?: {\r\n wfInitiated?: boolean\r\n batch?: any\r\n wfItem?: any\r\n };\r\n }\r\n\r\n export interface ICourse {\r\n active: true;\r\n addedBy: string;\r\n batch: IBatch;\r\n batchId: string;\r\n certificates: [];\r\n collectionId: string;\r\n completedOn: string | null;\r\n completionPercentage: number | null;\r\n completionStatus?: number;\r\n content: IContent;\r\n contentId: string;\r\n contentStatus: any;\r\n courseId: string;\r\n courseLogoUrl: string;\r\n courseName: string;\r\n dateTime: number;\r\n description: string;\r\n enrolledDate: string;\r\n issuedCertificates: [];\r\n lastContentAccessTime?: string;\r\n lastReadContentId?: string;\r\n lastReadContentStatus: string | null;\r\n leafNodesCount: number;\r\n progress: number;\r\n status: number;\r\n userId: string;\r\n }\r\n\r\n export interface IContentMinimal {\r\n appIcon: string;\r\n artifactUrl: string;\r\n difficultyLevel: string;\r\n contentType: EContentTypes;\r\n description: string;\r\n displayContentType?: EDisplayContentTypes;\r\n duration: number;\r\n identifier: string;\r\n hasAccess?: boolean;\r\n isInIntranet?: boolean;\r\n learningMode?: TLearningMode;\r\n mimeType: EMimeTypes;\r\n name: string;\r\n creatorDetails: ICreator[];\r\n creatorContacts: ICreator[];\r\n posterImage: string;\r\n primaryCategory: EPrimaryCategory;\r\n resourceType?: string;\r\n totalRating?: number;\r\n }\r\n\r\n export interface ICollectionHierarchyResponse {\r\n data: IContent;\r\n hasMore: boolean;\r\n totalContents: number;\r\n }\r\n\r\n export interface IRelatedContentMeta {\r\n identifier: string;\r\n name: string;\r\n }\r\n\r\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt';\r\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed';\r\n\r\n interface IMarkAsCompleteProgress {\r\n progressStatus: 'open' | 'started' | 'completed';\r\n showMarkAsComplete: boolean;\r\n markAsCompleteReason: string;\r\n progressSupported: boolean;\r\n progress: number | null;\r\n }\r\n\r\n interface ITag {\r\n id: string;\r\n type: string;\r\n value: string;\r\n }\r\n interface IMSArtifactDetails {\r\n channelId: string;\r\n videoId: string;\r\n }\r\n interface IClient {\r\n displayName: string;\r\n id: string;\r\n name: string;\r\n }\r\n interface ISubtitle {\r\n srclang: string;\r\n label: string;\r\n url: string;\r\n }\r\n interface IPrePostContent {\r\n identifier: string;\r\n name: string;\r\n }\r\n interface IResourceDetail {\r\n title?: string;\r\n url?: string;\r\n }\r\n interface IResourcePlayground {\r\n appIcon: string;\r\n artifactUrl: string;\r\n identifier: string;\r\n name: string;\r\n }\r\n interface ITrack {\r\n id: string;\r\n name: string;\r\n status: string;\r\n visibility: string;\r\n }\r\n interface ISkill {\r\n id: string;\r\n category: string;\r\n skill: string;\r\n name: string;\r\n }\r\n export interface ICreator {\r\n id: string;\r\n name: string;\r\n email: string;\r\n }\r\n export interface IContentTopic {\r\n identifier: string;\r\n name: string;\r\n }\r\n // API Based\r\n\r\n export interface IContact {\r\n id: string;\r\n name: string;\r\n email: string;\r\n }\r\n\r\n export interface IViewerContinueLearningRequest {\r\n resourceId: string;\r\n contextPathId: string;\r\n data: string;\r\n dateAccessed: number;\r\n contextType?: string;\r\n }\r\n /**\r\n * @deprecated Enum EContentTypes should not be used in future\r\n */\r\n export enum EContentTypes {\r\n PROGRAMV2 = 'Program',\r\n PROGRAM = 'Learning Path',\r\n CHANNEL = 'Channel',\r\n COURSE = 'Course',\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n MODULE = 'CourseUnit',\r\n RESOURCE = 'Resource',\r\n }\r\n export enum EPrimaryCategory {\r\n PROGRAM = 'Program',\r\n COURSE = 'Course',\r\n MODULE = 'Course Unit',\r\n RESOURCE = 'Learning Resource',\r\n GOALS = 'GOALS',\r\n PLAYLIST = 'PLAYLIST',\r\n PRACTICE_RESOURCE = 'Practice Question Set',\r\n FINAL_ASSESSMENT = 'Course Assessment',\r\n COMP_ASSESSMENT = 'Competency Assessment',\r\n FTB_QUESTION = 'FTB Question',\r\n MTF_QUESTION = 'MTF Question',\r\n MULTIPLE_CHOICE_QUESTION = 'Multiple Choice Question',\r\n SINGLE_CHOICE_QUESTION = 'Single Choice Question',\r\n MANDATORY_COURSE_GOAL = 'Mandatory Course Goal',\r\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\r\n BLENDED_PROGRAM = 'Blended Program',\r\n OFFLINE_SESSION = 'Offline Session',\r\n CURATED_PROGRAM = 'Curated Program',\r\n // following will not be available soon\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n CHANNEL = 'Channel',\r\n }\r\n\r\n export enum ECourseCategory {\r\n INVITE_ONLY_PROGRAM = 'Invite-Only Program',\r\n MODERATED_PROGRAM = 'Moderated Program',\r\n BLENDED_PROGRAM = 'Blended Program',\r\n CURATED_PROGRAM = 'Curated Program',\r\n COURSE = 'Course',\r\n MODERATED_COURSE = 'Moderated Course',\r\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\r\n MODERATED_ASSESSEMENT = 'Moderated Assessment',\r\n }\r\n\r\n export enum WFBlendedProgramStatus {\r\n INITIATE = 'INITIATE',\r\n SEND_FOR_MDO_APPROVAL = 'SEND_FOR_MDO_APPROVAL',\r\n SEND_FOR_PC_APPROVAL = 'SEND_FOR_PC_APPROVAL',\r\n APPROVED = 'APPROVED',\r\n REJECTED = 'REJECTED',\r\n WITHDRAWN = 'WITHDRAWN',\r\n REMOVED = 'REMOVED',\r\n WITHDRAW = 'WITHDRAW',\r\n }\r\n export enum WFBlendedProgramApprovalTypes {\r\n ONE_STEP_PC = 'oneStepPCApproval',\r\n ONE_STEP_MDO = 'oneStepMDOApproval',\r\n TWO_STEP_MDO_PC = 'twoStepMDOAndPCApproval',\r\n TWO_STEP_PC_MDO = 'twoStepPCAndMDOApproval',\r\n }\r\n\r\n export const WFSTATUS_MSG_MAPPING: any = {\r\n INITIATE: '',\r\n SEND_FOR_MDO_APPROVAL: 'BatchEnrollL1Msg',\r\n SEND_FOR_PC_APPROVAL: 'BatchEnrollL2Msg',\r\n APPROVED: 'BatchEnrollApprovedMsg',\r\n REJECTED: 'BatchEnrollRejectedMsg',\r\n WITHDRAWN: 'BatchEnrollWithdrawMsg',\r\n REMOVED: 'BatchEnrollRemoveMsg',\r\n EXPIRED: 'BatchListExpiredMsg',\r\n };\r\n\r\n export enum EResourcePrimaryCategories {\r\n LEARNING_RESOURCE = 'Learning Resource',\r\n PRACTICE_RESOURCE = 'Practice Question Set',\r\n FINAL_ASSESSMENT = 'Course Assessment',\r\n COMP_ASSESSMENT = 'Competency Assessment',\r\n OFFLINE_SESSION = 'Offline Session',\r\n }\r\n\r\n export enum EMiscPlayerSupportedCollectionTypes {\r\n PLAYLIST = 'Playlist',\r\n }\r\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\r\n EPrimaryCategory.COURSE,\r\n EPrimaryCategory.MODULE,\r\n EPrimaryCategory.PROGRAM,\r\n EPrimaryCategory.CURATED_PROGRAM,\r\n EPrimaryCategory.BLENDED_PROGRAM,\r\n EPrimaryCategory.STANDALONE_ASSESSMENT,\r\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\r\n ];\r\n export const KB_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\r\n EPrimaryCategory.COURSE,\r\n EPrimaryCategory.MODULE,\r\n EPrimaryCategory.PROGRAM,\r\n EPrimaryCategory.RESOURCE,\r\n ];\r\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\r\n EPrimaryCategory.COURSE,\r\n EPrimaryCategory.MODULE,\r\n EPrimaryCategory.PROGRAM,\r\n EPrimaryCategory.RESOURCE,\r\n ];\r\n export enum EMimeTypes {\r\n COLLECTION = 'application/vnd.ekstep.content-collection',\r\n ZIP = 'application/vnd.ekstep.html-archive',\r\n ZIP2 = 'application/vnd.ekstep.ecml-archive',\r\n HTML = 'application/html',\r\n HTML_TEXT = 'text/html',\r\n ILP_FP = 'application/ilpfp',\r\n IAP = 'application/iap-assessment',\r\n M4A = 'audio/m4a',\r\n MP3 = 'audio/mpeg',\r\n MP4 = 'video/mp4',\r\n M3U8 = 'application/x-mpegURL',\r\n INTERACTION = 'video/interactive',\r\n PDF = 'application/pdf',\r\n QUIZ = 'application/quiz',\r\n DRAG_DROP = 'application/drag-drop',\r\n HTML_PICKER = 'application/htmlpicker',\r\n WEB_MODULE = 'application/web-module',\r\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\r\n YOUTUBE = 'video/x-youtube',\r\n HANDS_ON = 'application/integrated-hands-on',\r\n RDBMS_HANDS_ON = 'application/rdbms',\r\n CLASS_DIAGRAM = 'application/class-diagram',\r\n CHANNEL = 'application/channel',\r\n COLLECTION_RESOURCE = 'resource/collection',\r\n APPLICATION_JSON = 'application/json',\r\n PRACTICE_RESOURCE = 'application/vnd.sunbird.questionset',\r\n FINAL_ASSESSMENT = 'application/vnd.sunbird.questionset',\r\n OFFLINE_SESSION = 'application/offline',\r\n // Added on UI Only\r\n CERTIFICATION = 'application/certification',\r\n PLAYLIST = 'application/playlist',\r\n TEXT_WEB = 'text/x-url',\r\n SURVEY = 'application/survey',\r\n QUESTION_SET = 'application/vnd.sunbird.questionset',\r\n QUESTION = 'application/vnd.sunbird.question',\r\n UNKNOWN = 'application/unknown',\r\n }\r\n export enum EDisplayContentTypes {\r\n ASSESSMENT = 'ASSESSMENT',\r\n STANDALONE_ASSESSMENT = 'STANDALONE ASSESSMENT',\r\n PRACTICE_RESOURCE = 'Practice Question Set',\r\n FINAL_ASSESSMENT = 'Course Assessment',\r\n AUDIO = 'AUDIO',\r\n CERTIFICATION = 'CERTIFICATION',\r\n CHANNEL = 'Channel',\r\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\r\n COURSE = 'COURSE',\r\n DEFAULT = 'DEFAULT',\r\n DRAG_DROP = 'DRAG_DROP',\r\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\r\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\r\n GOALS = 'GOALS',\r\n HANDS_ON = 'HANDS_ON',\r\n IAP = 'IAP',\r\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\r\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\r\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\r\n MODULE = 'MODULE',\r\n PDF = 'PDF',\r\n SURVEY = 'SURVEY',\r\n PLAYLIST = 'PLAYLIST',\r\n PROGRAM = 'PROGRAM',\r\n QUIZ = 'QUIZ',\r\n RESOURCE = 'RESOURCE',\r\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\r\n VIDEO = 'VIDEO',\r\n WEB_MODULE = 'WEB_MODULE',\r\n WEB_PAGE = 'WEB_PAGE',\r\n YOUTUBE = 'YOUTUBE',\r\n LINK = 'LINK',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n BLENDED_PROGRAM = 'BLENDED PROGRAM',\r\n CURATED_PROGRAM = 'CURATED PROGRAM',\r\n }\r\n // for UI\r\n export enum EFilterCategory {\r\n ALL = 'ALL',\r\n LEARN = 'LEARN',\r\n PRACTICE = 'PRACTICE',\r\n ASSESS = 'ASSESS',\r\n }\r\n\r\n // for UI\r\n export enum ETagType {\r\n NEWLY_ADDED = 'NEWLY ADDED',\r\n }\r\n\r\n export const UN_SUPPORTED_DATA_TYPES_FOR_NON_BATCH_USERS: string[] = [\r\n // this is comment now for enabling links in the toc page for enrolled users\r\n // EMimeTypes.QUIZ,\r\n // EMimeTypes.APPLICATION_JSON,\r\n // EMimeTypes.WEB_MODULE_EXERCISE,\r\n\r\n ];\r\n export const PUBLIC_SUPPORTED_CONTENT_TYPES: EMimeTypes[] = [\r\n EMimeTypes.APPLICATION_JSON,\r\n EMimeTypes.FINAL_ASSESSMENT,\r\n EMimeTypes.HTML,\r\n EMimeTypes.HTML_TEXT,\r\n EMimeTypes.ZIP,\r\n EMimeTypes.ZIP2,\r\n EMimeTypes.M4A,\r\n EMimeTypes.MP3,\r\n EMimeTypes.MP4,\r\n EMimeTypes.PDF,\r\n EMimeTypes.YOUTUBE,\r\n EMimeTypes.TEXT_WEB,\r\n EMimeTypes.SURVEY,\r\n ];\r\n}\r\n","import { NsContent } from '../_models/widget-content.model';\r\n\r\nexport const VIEWER_ROUTE_FROM_MIME = (mimeType: NsContent.EMimeTypes) => {\r\n switch (mimeType) {\r\n case NsContent.EMimeTypes.MP3:\r\n return 'audio';\r\n case NsContent.EMimeTypes.M4A:\r\n return 'audio-native';\r\n case NsContent.EMimeTypes.COLLECTION:\r\n return 'html';\r\n case NsContent.EMimeTypes.CHANNEL:\r\n // case 'application/json' as any:\r\n // return 'channel'\r\n case NsContent.EMimeTypes.CERTIFICATION:\r\n return 'certification';\r\n case NsContent.EMimeTypes.HTML_TEXT:\r\n case NsContent.EMimeTypes.HTML:\r\n case NsContent.EMimeTypes.ZIP:\r\n if (window.location.href.includes('mobile/html')) {\r\n return 'mobile/html';\r\n }\r\n return 'html';\r\n case NsContent.EMimeTypes.TEXT_WEB:\r\n return 'youtube';\r\n case NsContent.EMimeTypes.SURVEY:\r\n return 'survey';\r\n case NsContent.EMimeTypes.IAP:\r\n return 'iap';\r\n case NsContent.EMimeTypes.ILP_FP:\r\n return 'ilp-fp';\r\n case NsContent.EMimeTypes.PDF:\r\n return 'pdf';\r\n case NsContent.EMimeTypes.MP4:\r\n case NsContent.EMimeTypes.M3U8:\r\n return 'video';\r\n case NsContent.EMimeTypes.YOUTUBE:\r\n return 'youtube';\r\n // return 'html'\r\n case NsContent.EMimeTypes.WEB_MODULE:\r\n return 'web-module';\r\n case NsContent.EMimeTypes.WEB_MODULE_EXERCISE:\r\n return 'web-module';\r\n case NsContent.EMimeTypes.CLASS_DIAGRAM:\r\n return 'class-diagram';\r\n case NsContent.EMimeTypes.HANDS_ON:\r\n return 'hands-on';\r\n case NsContent.EMimeTypes.RDBMS_HANDS_ON:\r\n return 'rdbms-hands-on';\r\n case NsContent.EMimeTypes.HTML_PICKER:\r\n return 'html-picker';\r\n case NsContent.EMimeTypes.QUIZ:\r\n case NsContent.EMimeTypes.APPLICATION_JSON:\r\n return 'quiz';\r\n case NsContent.EMimeTypes.PRACTICE_RESOURCE:\r\n return 'practice';\r\n case NsContent.EMimeTypes.COLLECTION_RESOURCE:\r\n return 'resource-collection';\r\n case NsContent.EMimeTypes.OFFLINE_SESSION:\r\n return 'offline-session';\r\n default:\r\n return 'html';\r\n }\r\n};\r\n\r\nexport function viewerRouteGenerator(\r\n id: string,\r\n mimeType: NsContent.EMimeTypes,\r\n collectionId?: string,\r\n collectionType?: string,\r\n forPreview = false,\r\n primaryCategory?: string,\r\n batchId?: string,\r\n courseName?: string,\r\n): { url: string; queryParams: { [key: string]: any } } {\r\n let collId = collectionId;\r\n let collType = collectionType;\r\n if (collType && !NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES.includes(collType)) {\r\n collId = undefined;\r\n collType = undefined;\r\n }\r\n const url = `/viewer/${VIEWER_ROUTE_FROM_MIME(mimeType)}/${id}`;\r\n // tslint:disable-next-line\r\n // console.log(url,'========>Route from MIME TYPE<==========')\r\n const forcreator = window.location.href.includes('editMode=true');\r\n let queryParams = {};\r\n if (primaryCategory) {\r\n queryParams = {\r\n primaryCategory,\r\n };\r\n }\r\n if (collectionId && collectionType) {\r\n queryParams = { ...queryParams, collectionId: collId, collectionType: collType };\r\n }\r\n if (batchId) {\r\n queryParams = { ...queryParams, batchId };\r\n }\r\n if (courseName) {\r\n queryParams = { ...queryParams, courseName };\r\n }\r\n if (forPreview) {\r\n queryParams = { ...queryParams, preview: true };\r\n }\r\n if (forcreator) {\r\n queryParams = { ...queryParams, editMode: true };\r\n }\r\n return {\r\n queryParams,\r\n url,\r\n };\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigurationsService } from '@sunbird-cb/utils-v2';\r\nimport { Observable, of, EMPTY, BehaviorSubject, Subject } from 'rxjs';\r\nimport { catchError, retry, map, shareReplay } from 'rxjs/operators';\r\nimport { NsContentStripMultiple } from '../_models/content-strip-multiple.model';\r\nimport { NsContent } from '../_models/widget-content.model';\r\nimport { NSSearch } from '../_models/widget-search.model';\r\n// tslint:disable\r\nimport * as _ from 'lodash'\r\nimport { viewerRouteGenerator } from './viewer-route-util'\r\nimport * as moment_ from 'moment';\r\nconst moment = moment_;\r\n// tslint:enable\r\n\r\n// TODO: move this in some common place\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\r\n\r\nconst API_END_POINTS = {\r\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\r\n AUTHORING_CONTENT: `/api/course/v1/hierarchy`,\r\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\r\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\r\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\r\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\r\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\r\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\r\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\r\n CONTENT_SEARCH_V6: `/apis/proxies/v8/sunbirdigot/search`,\r\n TRENDING_CONTENT_SEARCH: `apis/proxies/v8/trending/content/search`,\r\n CONTENT_SEARCH_RELATED_CBP_V6: `/apis/proxies/v8/sunbirdigot/search`,\r\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\r\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\r\n CONTENT_HISTORYV2: `/apis/proxies/v8/read/content-progres`,\r\n COURSE_BATCH_LIST: `/apis/proxies/v8/learner/course/v1/batch/list`,\r\n COURSE_BATCH: `/apis/proxies/v8/course/v1/batch/read`,\r\n AUTO_ASSIGN_BATCH: `/apis/protected/v8/cohorts/user/autoenrollment/`,\r\n AUTO_ASSIGN_CURATED_BATCH: `/apis/proxies/v8/curatedprogram/v1/enrol`,\r\n AUTO_ASSIGN_OPEN_PROGRAM: `/apis/proxies/v8/openprogram/v1/enrol`,\r\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\r\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\r\n COLLECTION_HIERARCHY: (type: string, id: string) =>\r\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\r\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\r\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\r\n ENROLL_BATCH: `/apis/proxies/v8/learner/course/v1/enrol`,\r\n ENROLL_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/enrol`,\r\n WITHDRAW_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/unenrol`,\r\n BLENDED_USER_WF: `/apis/proxies/v8/workflow/blendedprogram/user/search`,\r\n BLENDED_USER_COUNT: `apis/proxies/v8/workflow/blendedprogram/enrol/status/count`,\r\n CERT_ADD_TEMPLATE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/template/add`,\r\n CERT_ISSUE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/issue`,\r\n CERT_DOWNLOAD: (certId: any) => `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/download/${certId}`,\r\n READ_KARMAPOINTS: `/apis/proxies/v8/karmapoints/read`,\r\n CONTENT_READ: (contentId: any) => `/apis/proxies/v8/action/content/v3/read/${contentId}`,\r\n READ_COURSE_KARMAPOINTS: '/apis/proxies/v8/karmapoints/user/course/read',\r\n CLAIM_KARMAPOINTS: '/apis/proxies/v8/claimkarmapoints',\r\n USER_KARMA_POINTS: '/apis/proxies/v8/user/totalkarmapoints',\r\n AGGREGATION_SEARCH: '/apis/proxies/v8/content/aggregation/search',\r\n FEATURE_SEARCH: '/apis/proxies/v8/featured/content/search',\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetContentService {\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService,\r\n ) {\r\n }\r\n\r\n tocConfigData: any = new BehaviorSubject<any>({});\r\n tocConfigData$ = this.tocConfigData.asObservable();\r\n\r\n private telemetryData: any = new Subject<any>()\r\n public telemetryData$ = this.telemetryData.asObservable()\r\n currentMetaData!: NsContent.IContent;\r\n currentContentReadMetaData!: NsContent.IContent;\r\n currentBatchEnrollmentList!: NsContent.ICourse[];\r\n programChildCourseResumeData = new BehaviorSubject<any>({});\r\n programChildCourseResumeData$ = this.programChildCourseResumeData.asObservable();\r\n\r\n changeTelemetryData(message: string) {\r\n this.telemetryData.next(message);\r\n }\r\n isResource(primaryCategory: string) {\r\n if (primaryCategory) {\r\n const isResource = (primaryCategory === NsContent.EResourcePrimaryCategories.LEARNING_RESOURCE) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.PRACTICE_RESOURCE) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.FINAL_ASSESSMENT) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.COMP_ASSESSMENT) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.OFFLINE_SESSION);\r\n return isResource;\r\n }\r\n return false;\r\n }\r\n\r\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\r\n // tslint:disable-next-line\r\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\r\n // return this.http.get(url).toPromise()\r\n if (url) { }\r\n return of().toPromise();\r\n }\r\n\r\n updateTocConfig(data: any) {\r\n this.tocConfigData.next(data);\r\n }\r\n\r\n fetchContent(\r\n contentId: string,\r\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\r\n _additionalFields: string[] = [],\r\n primaryCategory?: string | null,\r\n ): Observable<NsContent.IContent> {\r\n // const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\r\n let url = '';\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\r\n if (primaryCategory && this.isResource(primaryCategory)) {\r\n if (!forPreview) {\r\n url = `/apis/proxies/v8/action/content/v3/read/${contentId}`;\r\n } else {\r\n url = `/api/content/v1/read/${contentId}`;\r\n }\r\n } else {\r\n if (!forPreview) {\r\n url = `/apis/proxies/v8/action/content/v3/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\r\n } else {\r\n const forcreator = window.location.href.includes('editMode=true');\r\n if (forcreator) {\r\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\r\n } else {\r\n url = `/api/course/v1/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\r\n }\r\n }\r\n }\r\n // return this.http\r\n // .post<NsContent.IContent>(url, { additionalFields })\r\n // .pipe(retry(1))\r\n return this.http\r\n .get<NsContent.IContent>(url)\r\n .pipe(shareReplay(1));\r\n // if (apiData && apiData.result) {\r\n // return apiData.result.content\r\n // }\r\n }\r\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\r\n const forcreator = window.location.href.includes('editMode=true');\r\n let url = '';\r\n if (forcreator) {\r\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\r\n } else {\r\n url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}?hierarchyType=detail`;\r\n }\r\n return this.http.get<NsContent.IContent>(url).pipe(shareReplay(1), r => r);\r\n }\r\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\r\n return this.http.get<NsContent.IContent[]>(\r\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\r\n );\r\n }\r\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\r\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\r\n `${API_END_POINTS.COLLECTION_HIERARCHY(\r\n type,\r\n id,\r\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n );\r\n }\r\n\r\n fetchBlendedCourse() {\r\n\r\n }\r\n\r\n fetchCourseBatches(req: any): Observable<NsContent.IBatchListResponse> {\r\n return this.http\r\n .post<NsContent.IBatchListResponse>(API_END_POINTS.COURSE_BATCH_LIST, req)\r\n .pipe(\r\n retry(1),\r\n map(\r\n (data: any) => data.result.response\r\n )\r\n );\r\n }\r\n\r\n // fetch individual batch\r\n fetchCourseBatch(batchId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.COURSE_BATCH}/${batchId}`,\r\n );\r\n }\r\n\r\n autoAssignBatchApi(identifier: any): Observable<NsContent.IBatchListResponse> {\r\n return this.http.get<NsContent.IBatchListResponse>(`${API_END_POINTS.AUTO_ASSIGN_BATCH}${identifier}`)\r\n .pipe(\r\n retry(1),\r\n map(\r\n (data: any) => data.result.response\r\n )\r\n );\r\n }\r\n\r\n autoAssignCuratedBatchApi(request: any, programType: any): Observable<NsContent.IBatchListResponse> {\r\n const url = programType === NsContent.ECourseCategory.MODERATED_PROGRAM ?\r\n API_END_POINTS.AUTO_ASSIGN_OPEN_PROGRAM : API_END_POINTS.AUTO_ASSIGN_CURATED_BATCH;\r\n return this.http.post<NsContent.IBatchListResponse>(`${url}`, request)\r\n .pipe(\r\n retry(1),\r\n map(\r\n (data: any) => data.result.response\r\n )\r\n );\r\n }\r\n\r\n enrollUserToBatch(req: any) {\r\n return this.http\r\n .post(API_END_POINTS.ENROLL_BATCH, req)\r\n .toPromise();\r\n }\r\n\r\n enrollAndUnenrollUserToBatchWF(req: any, type: any) {\r\n const url: any = type === 'WITHDRAW' ? API_END_POINTS.WITHDRAW_BATCH_WF : API_END_POINTS.ENROLL_BATCH_WF;\r\n return this.http\r\n .post(url, req)\r\n .toPromise();\r\n }\r\n\r\n fetchBlendedUserWF(req: any) {\r\n return this.http\r\n .post(API_END_POINTS.BLENDED_USER_WF, req)\r\n .toPromise();\r\n }\r\n\r\n fetchBlendedUserCOUNT(req: any) {\r\n return this.http\r\n .post(API_END_POINTS.BLENDED_USER_COUNT, req)\r\n .toPromise();\r\n }\r\n\r\n fetchContentLikes(contentIds: { content_id: string[] }) {\r\n return this.http\r\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\r\n .toPromise();\r\n }\r\n fetchContentRatings(contentIds: { contentIds: string[] }) {\r\n if (contentIds) { }\r\n // return this.http\r\n // .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\r\n // .toPromise()\r\n return of().toPromise();\r\n }\r\n\r\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\r\n );\r\n }\r\n\r\n fetchContentHistoryV2(req: NsContent.IContinueLearningDataReq): Observable<NsContent.IContinueLearningData> {\r\n req.request.fields = ['progressdetails'];\r\n const data = this.http.post<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORYV2}/${req.request.courseId}`, req\r\n );\r\n data.subscribe((subscribeData: any) => {\r\n this.programChildCourseResumeData.next({ resumeData: subscribeData.result.contentList, courseId: req.request.courseId });\r\n });\r\n return data;\r\n }\r\n\r\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\r\n return new Promise(async resolve => {\r\n if (collectionType &&\r\n collectionType.toLowerCase() === 'playlist') {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({\r\n timestamp: Date.now(),\r\n contextFullPath: [collectionId, id],\r\n }),\r\n dateAccessed: Date.now(),\r\n contextType: 'playlist',\r\n };\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true);\r\n }\r\n );\r\n } else {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now() }),\r\n dateAccessed: Date.now(),\r\n };\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true);\r\n });\r\n }\r\n });\r\n }\r\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\r\n // const url = API_END_POINTS.USER_CONTINUE_LEARNING\r\n // return this.http.post<any>(url, content)\r\n if (content) {\r\n\r\n }\r\n return of() as any;\r\n }\r\n\r\n setS3Cookie(\r\n _contentId: string,\r\n // _path: string,\r\n ): Observable<any> {\r\n // return this.http\r\n // .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\r\n // .pipe(catchError(_err => of(true)))\r\n\r\n return EMPTY;\r\n }\r\n\r\n setS3ImageCookie(): Observable<any> {\r\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)));\r\n }\r\n\r\n fetchManifest(url: string): Observable<any> {\r\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });\r\n }\r\n fetchWebModuleContent(url: string): Observable<any> {\r\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);\r\n }\r\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\r\n req.query = req.query || '';\r\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\r\n request: req,\r\n });\r\n }\r\n searchRegionRecommendation(\r\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\r\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\r\n req.query = req.query || '';\r\n req.preLabelValue =\r\n (req.preLabelValue || '') +\r\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');\r\n req.filters = {\r\n ...req.filters,\r\n labels: [req.preLabelValue || ''],\r\n };\r\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\r\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\r\n { request: req },\r\n );\r\n }\r\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResultV2> {\r\n const apiPath = _.get(req, 'api.path');\r\n req.query = req.query || '';\r\n if (apiPath) {\r\n return this.http.get<NSSearch.ISearchV6ApiResultV2>(apiPath);\r\n }\r\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_V6, req);\r\n }\r\n\r\n searchRelatedCBPV6(req: NSSearch.ISearchV6RequestV2): Observable<NSSearch.ISearchV6ApiResultV2> {\r\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_RELATED_CBP_V6, req);\r\n }\r\n\r\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\r\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\r\n }\r\n deleteContentRating(contentId: string): Observable<any> {\r\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\r\n }\r\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\r\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);\r\n }\r\n\r\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\r\n if (!(content.children || []).length) {\r\n return content;\r\n }\r\n if (\r\n (content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM &&\r\n !(content.artifactUrl && content.artifactUrl.length)) ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.MANDATORY_COURSE_GOAL ||\r\n (content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM &&\r\n !(content.artifactUrl && content.artifactUrl.length)) ||\r\n (content.primaryCategory === NsContent.EPrimaryCategory.MODULE &&\r\n !(content.artifactUrl && content.artifactUrl.length))\r\n ) {\r\n const child = content.children[0];\r\n return this.getFirstChildInHierarchy(child);\r\n }\r\n if (\r\n content.primaryCategory === NsContent.EPrimaryCategory.RESOURCE ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.KNOWLEDGE_ARTIFACT ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.PRACTICE_RESOURCE ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.FINAL_ASSESSMENT ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.COMP_ASSESSMENT ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.OFFLINE_SESSION\r\n ) {\r\n return content;\r\n }\r\n const firstChild = content.children[0];\r\n const resultContent = this.getFirstChildInHierarchy(firstChild);\r\n return resultContent;\r\n }\r\n\r\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\r\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();\r\n }\r\n\r\n fetchConfig(url: string) {\r\n return this.http.get<any>(url);\r\n }\r\n\r\n addCertTemplate(body: any) {\r\n return this.http.patch<any>(`${API_END_POINTS.CERT_ADD_TEMPLATE}`, body);\r\n }\r\n\r\n issueCert(body: any) {\r\n return this.http.post<any>(`${API_END_POINTS.CERT_ISSUE}`, body);\r\n }\r\n downloadCert(certId: any) {\r\n return this.http.get<any>(`${API_END_POINTS.CERT_DOWNLOAD(certId)}`);\r\n }\r\n\r\n trendingContentSearch(req: any): Observable<any> {\r\n req.query = req.query || '';\r\n return this.http.post<any>(API_END_POINTS.TRENDING_CONTENT_SEARCH, req);\r\n }\r\n\r\n getKarmaPoitns(limit: number, offset: any) {\r\n return this.http.post(API_END_POINTS.READ_KARMAPOINTS, { limit, offset }).pipe(catchError(_err => of(true)));\r\n }\r\n fetchProgramContent(contentId: string[]): Observable<NsContent.IContent[]> {\r\n let url = '';\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\r\n if (!forPreview) {\r\n return this.http.get<NsContent.IContent[]>(\r\n API_END_POINTS.CONTENT_READ(contentId),\r\n );\r\n }\r\n url = `/api/content/v1/read/${contentId}`;\r\n return this.http.get<NsContent.IContent[]>(url);\r\n // return this.http.get<NsContent.IContent[]>(API_END_POINTS.CONTENT_READ(contentId))\r\n }\r\n\r\n getCourseKarmaPoints(request: any) {\r\n return this.http.post<any>(API_END_POINTS.READ_COURSE_KARMAPOINTS, request);\r\n }\r\n\r\n claimKarmapoints(request: any) {\r\n return this.http.post<any>(API_END_POINTS.CLAIM_KARMAPOINTS, request);\r\n }\r\n\r\n userKarmaPoints() {\r\n return this.http.post<any>(API_END_POINTS.USER_KARMA_POINTS, {});\r\n }\r\n\r\n getEnrolledData(doId: string) {\r\n const enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}');\r\n const enrolledCourseData = enrollmentMapData[doId];\r\n return enrolledCourseData;\r\n }\r\n\r\n async getResourseLink(content: any) {\r\n const enrolledCourseData: any = this.getEnrolledData(content.identifier);\r\n if (enrolledCourseData) {\r\n if (enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.BLENDED_PROGRAM ||\r\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.INVITE_ONLY_PROGRAM ||\r\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.MODERATED_PROGRAM ||\r\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\r\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM) {\r\n if (!this.isBatchInProgress(enrolledCourseData.batch)) {\r\n return this.gotoTocPage(content);\r\n }\r\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\r\n return data;\r\n } {\r\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\r\n return data;\r\n }\r\n\r\n }\r\n return this.gotoTocPage(content);\r\n\r\n }\r\n async checkForDataToFormUrl(content: any, enrollData: any) {\r\n let urlData: any;\r\n if (enrollData.completionPercentage === 100) {\r\n return this.gotoTocPage(enrollData);\r\n }\r\n if (enrollData.lrcProgressDetails && enrollData.lrcProgressDetails.mimeType) {\r\n const modifyEnrollData = {\r\n ...enrollData,\r\n identifier: enrollData.collectionId,\r\n primaryCategory: enrollData.content.primaryCategory,\r\n name: enrollData.content.name,\r\n };\r\n if (modifyEnrollData.lastReadContentId) {\r\n return this.getResourseDataWithData(modifyEnrollData,\r\n enrollData.lastReadContentId, enrollData.lrcProgressDetails.mimeType);\r\n }\r\n if (modifyEnrollData.firstChildId) {\r\n return this.getResourseDataWithData(modifyEnrollData,\r\n enrollData.firstChildId,\r\n enrollData.lrcProgressDetails.mimeType);\r\n }\r\n }\r\n if (enrollData.firstChildId || enrollData.lastReadContentId) {\r\n const doId = enrollData.firstChildId || enrollData.lastReadContentId;\r\n const responseData = await this.fetchProgramContent(doId).toPromise().then(async (res: any) => {\r\n if (res && res.result && res.result.content) {\r\n const contentData: any = res.result.content;\r\n const modifyEnrollData = {\r\n ...enrollData,\r\n identifier: enrollData.collectionId,\r\n primaryCategory: enrollData.content.primaryCategory,\r\n name: enrollData.content.name,\r\n };\r\n urlData = this.getResourseDataWithData(modifyEnrollData, contentData.identifier, contentData.mimeType);\r\n if (urlData) {\r\n return urlData;\r\n }\r\n }\r\n });\r\n return responseData ? responseData : this.gotoTocPage(content);\r\n }\r\n return this.gotoTocPage(content);\r\n\r\n }\r\n\r\n getResourseDataWithData(content: any, resourseId: any, mimeType: any) {\r\n if (content) {\r\n const url = viewerRouteGenerator(\r\n resourseId,\r\n mimeType,\r\n content.identifier,\r\n 'Course',\r\n false,\r\n 'Learning Resource',\r\n content.batchId,\r\n content.name,\r\n );\r\n return url;\r\n }\r\n return this.gotoTocPage(content);\r\n }\r\n gotoTocPage(content: any) {\r\n const urlData: any = {\r\n url: `/app/toc/${content.identifier ? content.identifier : content.collectionId}/overview`,\r\n queryParams: { batchId: content.batchId },\r\n };\r\n if (content.endDate) {\r\n urlData.queryParams = { ...urlData.queryParams, planType: 'cbPlan', endDate: content.endDate };\r\n }\r\n return urlData;\r\n }\r\n isBatchInProgress(batchData: any) {\r\n // if (this.content && this.content['batches']) {\r\n // const batches = this.content['batches'] as NsContent.IBatch\r\n if (batchData && batchData.endDate) {\r\n const now = moment().format('YYYY-MM-DD');\r\n const startDate = moment(batchData.startDate).format('YYYY-MM-DD');\r\n const endDate = batchData.endDate ? moment(batchData.endDate).format('YYYY-MM-DD') : now;\r\n return (\r\n // batch.status &&\r\n moment(startDate).isSameOrBefore(now)\r\n && moment(endDate).isSameOrAfter(now)\r\n );\r\n } return true;\r\n }\r\n postApiMethod(apiUrl: any, req: any): Observable<NsContent.IContent> {\r\n return this.http.post<NsContent.IContent>(apiUrl, req);\r\n }\r\n getApiMethod(apiUrl: any): Observable<NsContent.IContent> {\r\n // req.query = req.query || '';\r\n return this.http.get<NsContent.IContent>(apiUrl);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\r\nimport { IPortalUrls, IUserPreference, NsAppsConfig, NsInstanceConfig, NsPage, NsUser } from '@sunbird-cb/utils-v2';\r\nimport { NSProfileDataV3 } from '../_models/profile-v3.models';\r\n// const instanceConfigPath: string | null = window.location.host\r\n// const locationHost: string | null = window.location.host\r\n\r\n// if (!environment.production && Boolean(environment.sitePath)) {\r\n// locationHost = environment.sitePath\r\n// instanceConfigPath = environment.sitePath\r\n// }\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigurationsService {\r\n // update as the single source of truth\r\n constructor() {\r\n // @Inject('env') env: any\r\n // if (!env.production && Boolean(env.sitePath)) {\r\n // locationHost = env.sitePath\r\n // instanceConfigPath = env.sitePath\r\n // }\r\n }\r\n appSetup = true;\r\n // The url the user tried to access while landing in the app before accepting tnc\r\n userUrl = '';\r\n baseUrl = `assets/configurations`;\r\n sitePath = `assets/configurations`;\r\n hostPath = (window.location.host).replace(':', '_');\r\n\r\n userRoles: Set<string> | null = null;\r\n userGroups: Set<string> | null = null;\r\n restrictedFeatures: Set<string> | null = null;\r\n restrictedWidgets: Set<string> | null = null;\r\n instanceConfig: NsInstanceConfig.IConfig | null = null;\r\n appsConfig: NsAppsConfig.IAppsConfig | null = null;\r\n rootOrg: string | null = null;\r\n courseContentPath?: string;\r\n org: string[] | null = null;\r\n activeOrg: string | null = '';\r\n isProduction = false;\r\n hasAcceptedTnc = false;\r\n profileDetailsStatus = false;\r\n isActive = true;\r\n userPreference: IUserPreference | null = null;\r\n userProfile: NsUser.IUserProfile | null = null;\r\n userProfileV2: NsUser.IUserProfile | null = null;\r\n nodebbUserProfile: NsUser.INodebbUserProfile | null = null;\r\n // created to store complete user details sent by pid\r\n unMappedUser: any;\r\n isAuthenticated = false;\r\n isNewUser = false;\r\n portalUrls: IPortalUrls | undefined;\r\n positions: any;\r\n overrideThemeChanges: any;\r\n profileTimelyNudges: any;\r\n\r\n // pinnedApps\r\n pinnedApps = new BehaviorSubject<Set<string>>(new Set());\r\n\r\n // Notifier\r\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1);\r\n tourGuideNotifier = new ReplaySubject<boolean>();\r\n authChangeNotifier = new ReplaySubject<boolean>(1);\r\n\r\n private updateProfile = new BehaviorSubject(false);\r\n updateProfileObservable = this.updateProfile.asObservable();\r\n\r\n updateTourGuide = new BehaviorSubject(true);\r\n updateTourGuideObservable = this.updateTourGuide.asObservable();\r\n\r\n // platform rating\r\n updatePlatformRating = new BehaviorSubject({ bottom: '120px' });\r\n updatePlatformRatingObservable$ = this.updatePlatformRating.asObservable();\r\n\r\n languageTranslationFlag = new Subject();\r\n\r\n // Preference Related Values\r\n activeThemeObject: NsInstanceConfig.ITheme | null = null;\r\n activeFontObject: NsInstanceConfig.IFontSize | null = null;\r\n isDarkMode = false;\r\n isIntranetAllowed = false;\r\n isRTL = false;\r\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null;\r\n activeLocaleGroup = '';\r\n completedActivity: string[] | null = null;\r\n completedTour = false;\r\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints'];\r\n\r\n primaryNavBar: Partial<NsPage.INavBackground> = {\r\n color: 'primary',\r\n };\r\n pageNavBar: Partial<NsPage.INavBackground> = {\r\n color: 'primary',\r\n };\r\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null;\r\n /* for temp Fix */\r\n // setBaseUrl = (sitePath: string) => `assets/configurations/${(sitePath).replace(':', '_')}`\r\n // setSitePath = (sitePath: string) => `assets/configurations/${(sitePath).replace(\r\n // ':',\r\n // '_',\r\n // )}`\r\n // setHostPath = (sitePath: string) => (sitePath).replace(':', '_')\r\n welcomeTabs: NSProfileDataV3.IProfileTab | null = null;\r\n\r\n // variable setting for csJwtToken\r\n cstoken = '';\r\n\r\n changeNavBarFullView = new Subject();\r\n openExploreMenuForMWeb = new Subject();\r\n updateGlobalProfile(state: boolean) {\r\n this.updateProfile.next(state);\r\n }\r\n updateTourGuideMethod(state: boolean) {\r\n this.updateTourGuide.next(state);\r\n }\r\n\r\n updatePlatformRatingMethod(state: any) {\r\n this.updatePlatformRating.next(state);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ConfigurationsService } from './configurations.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class MultilingualTranslationsService {\r\n selectedLang = '';\r\n // website lang change\r\n languageSelected = new BehaviorSubject(true);\r\n languageSelectedObservable = this.languageSelected.asObservable();\r\n editProfileDetails = '/apis/proxies/v8/user/v1/extPatch';\r\n\r\n constructor(private translate: TranslateService, private http: HttpClient, private configSvc: ConfigurationsService) {\r\n // this.getLanguage()\r\n }\r\n\r\n getLanguage() {\r\n if (this.configSvc.unMappedUser) {\r\n if (this.configSvc.unMappedUser.profileDetails &&\r\n this.configSvc.unMappedUser.profileDetails.additionalProperties &&\r\n this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang) {\r\n const lang = this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang;\r\n this.translate.use(lang);\r\n localStorage.setItem('websiteLanguage', lang);\r\n } else {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n // this.translate.setDefaultLang('en')\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n } else {\r\n this.translate.setDefaultLang('en');\r\n localStorage.setItem('websiteLanguage', 'en');\r\n }\r\n }\r\n } else {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n // this.translate.setDefaultLang('en')\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n }\r\n }\r\n }\r\n\r\n translateLabelWithoutspace(label: string, type: any, subtype: any) {\r\n let nlabel = label;\r\n nlabel = nlabel && nlabel.replace(/\\s/g, '');\r\n if (subtype) {\r\n // tslint:disable-next-line: prefer-template\r\n const translationKey = type + '.' + nlabel + subtype;\r\n return this.translate.instant(translationKey);\r\n }\r\n // tslint:disable-next-line: prefer-template\r\n const translationKeyn = type + '.' + nlabel;\r\n return this.translate.instant(translationKeyn);\r\n }\r\n\r\n translateLabel(label: string, type: any, subtype: any) {\r\n if(label) {\r\n let nlabel = label;\r\n \r\n \r\n nlabel = nlabel && nlabel.toLowerCase() ;\r\n const sl = nlabel.split(' ');\r\n sl.forEach((w: any, index: any) => {\r\n if (index !== 0) {\r\n sl[index] = w[0].toUpperCase() + w.slice(1);\r\n }\r\n });\r\n nlabel = sl.join('');\r\n nlabel = nlabel.replace(/\\s/g, '');\r\n if (subtype) {\r\n // tslint:disable-next-line: prefer-template\r\n const translationKey = type + '.' + nlabel + subtype;\r\n return this.translate.instant(translationKey);\r\n }\r\n // tslint:disable-next-line: prefer-template\r\n const translationKeyn = type + '.' + nlabel;\r\n return this.translate.instant(translationKeyn);\r\n } \r\n return label\r\n }\r\n\r\n translateActualLabel(label: string, type: any, subtype: any) {\r\n let nlabel = label;\r\n const sl = nlabel.split(' ');\r\n sl.forEach((w: any, index: any) => {\r\n if (index !== 0) {\r\n sl[index] = w[0].toUpperCase() + w.slice(1);\r\n }\r\n });\r\n nlabel = sl.join('');\r\n nlabel = nlabel.replace(/\\s/g, '');\r\n if (subtype) {\r\n // tslint:disable-next-line: prefer-template\r\n const translationKey = type + '.' + nlabel + subtype;\r\n return this.translate.instant(translationKey);\r\n }\r\n // tslint:disable-next-line: prefer-template\r\n const translationKeyn = type + '.' + nlabel;\r\n return this.translate.instant(translationKeyn);\r\n }\r\n\r\n editProfileDetailsAPI(data: any) {\r\n return this.http.post<any>(this.editProfileDetails, data);\r\n }\r\n\r\n updatelanguageSelected(state: any, lang: any, userid: any) {\r\n this.languageSelected.next(state);\r\n this.translate.use(lang);\r\n this.selectedLang = lang;\r\n\r\n if (userid) {\r\n const reqUpdates = {\r\n request: {\r\n userId: userid,\r\n profileDetails: {\r\n additionalProperties: {\r\n webPortalLang: this.selectedLang,\r\n },\r\n },\r\n },\r\n };\r\n this.editProfileDetailsAPI(reqUpdates).subscribe();\r\n }\r\n }\r\n}\r\n","import { NsContent } from './widget-content.model';\r\n\r\nexport namespace NsCardContent {\r\n export interface ICard {\r\n content: NsContent.IContent;\r\n cardSubType: TCardSubType;\r\n context: { pageSection: string; position?: number };\r\n intranetMode?: 'greyOut' | 'hide';\r\n deletedMode?: 'greyOut' | 'hide';\r\n likes?: number;\r\n contentTags?: IContentTags;\r\n stateData: any;\r\n }\r\n\r\n export interface IContentTags {\r\n daysSpan?: number;\r\n excludeContentType?: NsContent.EContentTypes[];\r\n excludeMimeType?: string[];\r\n tag: string;\r\n criteriaField?: string;\r\n }\r\n\r\n export interface ICompetency extends ICard {\r\n competencyArea: '';\r\n competencyObject: {};\r\n }\r\n\r\n export type TCardSubType =\r\n | 'standard'\r\n | 'minimal'\r\n | 'space-saving'\r\n | 'card-user-details'\r\n | 'basic-info'\r\n | 'basic-details'\r\n | 'card-description-back'\r\n | 'network-card';\r\n\r\n export enum EContentStatus {\r\n LIVE = 'Live',\r\n EXPIRED = 'Expired',\r\n DELETED = 'Deleted',\r\n MARK_FOR_DELETION = 'MarkedForDeletion',\r\n }\r\n\r\n export enum ACBPConst {\r\n UPCOMING = 'upcoming',\r\n ALL = 'All',\r\n OVERDUE = 'overdue',\r\n SUCCESS = 'success',\r\n }\r\n\r\n export enum IGOTConst {\r\n COMPETENCIES = 'competencies_v5',\r\n RETIRED = 'Retired',\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { IUserGroupDetails } from '../_models/widget-user.model';\r\nimport { NsContent } from '../_models/widget-content.model';\r\nimport 'rxjs/add/observable/of'\r\nimport * as dayjs_ from 'dayjs';\r\nconst dayjs = dayjs_\r\n// import { environment } from 'src/environments/environment'\r\nimport { NsCardContent } from '../_models/card-content-v2.model';\r\nimport * as lodash from 'lodash';\r\n\r\n\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\r\nconst API_END_POINTS = {\r\n FETCH_USER_GROUPS: (userId: string) =>\r\n `${PROTECTED_SLAG_V8}/user/group/fetchUserGroup?userId=${userId}`,\r\n FETCH_CPB_PLANS: `/apis/proxies/v8/user/v1/cbplan`,\r\n FETCH_USER_ENROLLMENT_LIST: (userId: string | undefined) =>\r\n // tslint:disable-next-line: max-line-length\r\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes`,\r\n FETCH_USER_ENROLLMENT_LIST_PROFILE: (userId: string | undefined) =>\r\n // tslint:disable-next-line: max-line-length\r\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes&retiredCoursesEnabled=true`,\r\n // tslint:disable-next-line: max-line-length\r\n FETCH_USER_ENROLLMENT_LIST_V2: (userId: string | undefined, orgdetails: string, licenseDetails: string, fields: string, batchDetails: string) =>\r\n // tslint:disable-next-line: max-line-length\r\n `apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=${orgdetails}&licenseDetails=${licenseDetails}&fields=${fields},courseCategory,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=${batchDetails}`,\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetUserService {\r\n environment: any;\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private http: HttpClient) {\r\n this.environment = environment;\r\n }\r\n\r\n handleError(error: ErrorEvent) {\r\n let errorMessage = ''\r\n if (error.error instanceof ErrorEvent) {\r\n errorMessage = `Error: ${error.error.message}`\r\n }\r\n return throwError(errorMessage)\r\n }\r\n\r\n fetchUserGroupDetails(userId: string): Observable<IUserGroupDetails[]> {\r\n return this.http\r\n .get<IUserGroupDetails[]>(API_END_POINTS.FETCH_USER_GROUPS(userId))\r\n .pipe(catchError(this.handleError))\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n fetchUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\r\n let path = ''\r\n if (queryParams) {\r\n // tslint:disable-next-line: max-line-length\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\r\n } else {\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST(userId)\r\n }\r\n const headers = new HttpHeaders({\r\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\r\n Pragma: 'no-cache',\r\n Expires: '0',\r\n })\r\n if (this.checkStorageData('enrollmentService', 'enrollmentData')) {\r\n const result: any = this.http.get(path, { headers }).pipe(catchError(this.handleError), map(\r\n (data: any) => {\r\n\r\n const coursesData: any = []\r\n if (data && data.result && data.result.courses) {\r\n data.result.courses.forEach((content: any) => {\r\n if (content.contentStatus) {\r\n delete content.contentStatus\r\n }\r\n coursesData.push(content)\r\n })\r\n this.storeUserEnrollmentInfo(data.result.userCourseEnrolmentInfo,\r\n data.result.courses.length)\r\n data.result.courses = coursesData\r\n if (data.result.courses.length < 200) {\r\n localStorage.removeItem('enrollmentData')\r\n this.setTime('enrollmentService')\r\n localStorage.setItem('enrollmentData', JSON.stringify(data.result))\r\n this.mapEnrollmentData(data.result)\r\n return data.result\r\n }\r\n }\r\n this.mapEnrollmentData(data.result)\r\n return data.result\r\n }\r\n )\r\n )\r\n return result\r\n }\r\n return this.getData('enrollmentData')\r\n\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n fetchProfileUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\r\n let path = ''\r\n if (queryParams) {\r\n // tslint:disable-next-line: max-line-length\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\r\n } else {\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_PROFILE(userId)\r\n }\r\n const headers = new HttpHeaders({\r\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\r\n Pragma: 'no-cache',\r\n Expires: '0',\r\n })\r\n return this.http\r\n .get(path, { headers })\r\n .pipe(\r\n catchError(this.handleError),\r\n map(\r\n (data: any) => data.result\r\n )\r\n )\r\n // if (this.checkStorageData('enrollmentService')) {\r\n // const result: any = this.http.get(path, { headers }).pipe(catchError(this.handleError), map(\r\n // (data: any) => {\r\n // localStorage.setItem('enrollmentData', JSON.stringify(data.result))\r\n // this.mapEnrollmentData(data.result)\r\n // return data.result\r\n // }\r\n // )\r\n // )\r\n // this.setTime('enrollmentService')\r\n // return result\r\n // }\r\n // return this.getData('enrollmentData')\r\n }\r\n\r\n checkStorageData(key: any, dataKey: any) {\r\n const checkTime = localStorage.getItem('timeCheck')\r\n if (checkTime) {\r\n const parsedData = JSON.parse(checkTime)\r\n if (parsedData[key]) {\r\n const date = dayjs()\r\n const diffMin = date.diff(parsedData[key], 'minute')\r\n const timeCheck = this.environment.apiCache || 0\r\n if (diffMin >= timeCheck) {\r\n return true\r\n }\r\n return localStorage.getItem(dataKey) ? false : true\r\n }\r\n return true\r\n }\r\n return true\r\n }\r\n\r\n getData(key: any): Observable<any> {\r\n return Observable.of(JSON.parse(localStorage.getItem(key) || '{}'))\r\n }\r\n getSavedData(key: any): Observable<any> {\r\n return JSON.parse(localStorage.getItem(key) || '')\r\n }\r\n\r\n setTime(key: any) {\r\n const checkTime = localStorage.getItem('timeCheck')\r\n if (checkTime) {\r\n const parsedData = JSON.parse(checkTime)\r\n parsedData[key] = new Date().getTime()\r\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\r\n } else {\r\n const data: any = {}\r\n data[key] = new Date().getTime()\r\n localStorage.setItem('timeCheck', JSON.stringify(data))\r\n }\r\n }\r\n\r\n resetTime(key: any) {\r\n const checkTime = localStorage.getItem('timeCheck')\r\n if (checkTime) {\r\n const parsedData = JSON.parse(checkTime)\r\n if (parsedData[key]) {\r\n delete parsedData[key]\r\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\r\n }\r\n }\r\n }\r\n\r\n fetchCbpPlanList() {\r\n\r\n // let data = JSON.parse(localStorage.getItem('cbpData')|| '')\r\n // if(!data) {\r\n // this.http.get(API_END_POINTS.FETCH_CPB_PLANS).pipe(catchError(this.handleError), map(\r\n // (data: any) => {\r\n // const courseData = this.mapData(data.result)\r\n // return courseData\r\n // }\r\n // )\r\n // )\r\n // } else {\r\n // return this.getData('cbpData')\r\n\r\n // }\r\n if (this.checkStorageData('cbpService', 'cbpData')) {\r\n const result: any = this.http.get(API_END_POINTS.FETCH_CPB_PLANS).pipe(catchError(this.handleError), map(\r\n async (data: any) => {\r\n return await this.mapData(data.result)\r\n }\r\n )\r\n )\r\n this.setTime('cbpService')\r\n return result\r\n }\r\n return this.getData('cbpData')\r\n }\r\n\r\n async mapData(data: any) {\r\n const contentNew: any = []\r\n const todayDate = dayjs().format('YYYY-MM-DD')\r\n\r\n const enrollList: any = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}')\r\n\r\n if (data && data.count) {\r\n data.content.forEach((c: any) => {\r\n c.contentList.forEach((childData: any) => {\r\n const childEnrollData = enrollList[childData.identifier]\r\n const endDate = dayjs(c.endDate).format('YYYY-MM-DD')\r\n const daysCount = dayjs(endDate).diff(todayDate, 'day')\r\n childData['planDuration'] = daysCount < 0 ? NsCardContent.ACBPConst.OVERDUE : daysCount > 29\r\n ? NsCardContent.ACBPConst.SUCCESS : NsCardContent.ACBPConst.UPCOMING\r\n childData['endDate'] = c.endDate\r\n childData['parentId'] = c.id\r\n childData['planType'] = 'cbPlan'\r\n if (childData.status !== NsCardContent.IGOTConst.RETIRED) {\r\n contentNew.push(childData)\r\n } else {\r\n if (childEnrollData && childEnrollData.status === 2) {\r\n contentNew.push(childData)\r\n }\r\n }\r\n\r\n const competencyArea: any = []\r\n const competencyTheme: any = []\r\n const competencyThemeType: any = []\r\n const competencySubTheme: any = []\r\n const competencyAreaId: any = []\r\n const competencyThemeId: any = []\r\n const competencySubThemeId: any = []\r\n childData['contentStatus'] = 0\r\n if (childEnrollData) {\r\n childData['contentStatus'] = childEnrollData.status\r\n }\r\n if (childData.competencies_v5) {\r\n childData.competencies_v5.forEach((element: any) => {\r\n if (!competencyArea.includes(element.competencyArea)) {\r\n competencyArea.push(element.competencyArea)\r\n competencyAreaId.push(element.competencyAreaId)\r\n }\r\n if (!competencyTheme.includes(element.competencyTheme)) {\r\n competencyTheme.push(element.competencyTheme)\r\n competencyThemeId.push(element.competencyThemeId)\r\n }\r\n if (!competencyThemeType.includes(element.competencyThemeType)) {\r\n competencyThemeType.push(element.competencyThemeType)\r\n }\r\n if (!competencySubTheme.includes(element.competencySubTheme)) {\r\n competencySubTheme.push(element.competencySubTheme)\r\n competencySubThemeId.push(element.competencySubThemeId)\r\n }\r\n })\r\n }\r\n\r\n childData['competencyArea'] = competencyArea\r\n childData['competencyTheme'] = competencyTheme\r\n childData['competencyThemeType'] = competencyThemeType\r\n childData['competencySubTheme'] = competencySubTheme\r\n childData['competencyAreaId'] = competencyAreaId\r\n childData['competencyThemeId'] = competencyThemeId\r\n childData['competencySubThemeId'] = competencySubThemeId\r\n })\r\n })\r\n if (contentNew.length > 1) {\r\n const sortedData: any = contentNew.sort((a: any, b: any) => {\r\n const firstDate: any = new Date(a.endDate)\r\n const secondDate: any = new Date(b.endDate)\r\n\r\n return secondDate > firstDate ? 1 : -1\r\n })\r\n const uniqueUsersByID = lodash.uniqBy(sortedData, 'identifier')\r\n const sortedByEndDate = lodash.orderBy(uniqueUsersByID, ['endDate'], ['asc'])\r\n const sortedByStatus = lodash.orderBy(sortedByEndDate, ['contentStatus'], ['asc'])\r\n localStorage.setItem('cbpData', JSON.stringify(sortedByStatus))\r\n return sortedByStatus\r\n }\r\n localStorage.setItem('cbpData', JSON.stringify(contentNew))\r\n return contentNew\r\n }\r\n localStorage.setItem('cbpData', JSON.stringify([]))\r\n return []\r\n }\r\n\r\n mapEnrollmentData(courseData: any) {\r\n const enrollData: any = {}\r\n if (courseData && courseData.courses.length) {\r\n courseData.courses.forEach((data: any) => {\r\n enrollData[data.collectionId] = data\r\n })\r\n }\r\n localStorage.removeItem('enrollmentMapData')\r\n localStorage.setItem('enrollmentMapData', JSON.stringify(enrollData))\r\n }\r\n storeUserEnrollmentInfo(enrollmentData: any, enrolledCourseCount: number) {\r\n const userData = {\r\n enrolledCourseCount,\r\n userCourseEnrolmentInfo: enrollmentData,\r\n }\r\n localStorage.removeItem('userEnrollmentCount')\r\n localStorage.setItem('userEnrollmentCount', JSON.stringify(userData))\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsContentStripWithTabs } from './content-strip-with-tabs-lib.model';\r\n// import { HttpClient } from '@angular/common/http'\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { NsContent } from '../../_models/widget-content.model';\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\r\nimport {\r\n TFetchStatus,\r\n LoggerService,\r\n EventService,\r\n ConfigurationsService,\r\n UtilityService,\r\n WsEvents,\r\n} from '@sunbird-cb/utils-v2';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { WidgetUserService } from '../../_services/widget-user.service';\r\n// import { environment } from 'src/environments/environment'\r\n// tslint:disable-next-line\r\nimport * as _ from 'lodash'\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { NsCardContent } from '../../_models/card-content-v2.model';\r\nimport { ITodayEvents } from '../../_models/event';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\ninterface IStripUnitContentData {\r\n key: string;\r\n canHideStrip: boolean;\r\n mode?: string;\r\n showStrip: boolean;\r\n disableTranslate: boolean;\r\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\r\n stripTitle: string;\r\n stripTitleLink?: {\r\n link: {\r\n queryParams: string\r\n },\r\n icon: string,\r\n queryParams: string\r\n };\r\n sliderConfig?: {\r\n showNavs: boolean,\r\n showDots: boolean,\r\n maxWidgets?: number\r\n cerificateCardMargin?: boolean\r\n };\r\n stripConfig: any;\r\n tabsType?: string;\r\n tabs?: NsContentStripWithTabs.IContentStripTab[] | undefined;\r\n stripName?: string;\r\n stripLogo?: string;\r\n description?: string;\r\n stripInfo?: NsContentStripWithTabs.IStripInfo;\r\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n showOnNoData: boolean;\r\n showOnLoader: boolean;\r\n showOnError: boolean;\r\n loaderWidgets?: any;\r\n stripBackground?: string;\r\n secondaryHeading?: any;\r\n viewMoreUrl: any;\r\n request?: any\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'sb-uic-content-strip-with-tabs',\r\n templateUrl: './content-strip-with-tabs-lib.component.html',\r\n styleUrls: ['./content-strip-with-tabs-lib.component.scss'],\r\n})\r\nexport class ContentStripWithTabsLibComponent extends WidgetBaseComponent\r\n implements\r\n OnInit,\r\n OnDestroy,\r\n NsWidgetResolver.IWidgetData<NsContentStripWithTabs.IContentStripMultiple> {\r\n @Input() widgetData!: NsContentStripWithTabs.IContentStripMultiple;\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() viewAllResponse = new EventEmitter<any>()\r\n @Output() telemtryResponse = new EventEmitter<any>()\r\n @Input() providerId: any = ''\r\n @Input() emitViewAll: boolean = false\r\n @Input() channnelName: any = ''\r\n @HostBinding('id')\r\n public id = `ws-strip-miltiple_${Math.random()}`;\r\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\r\n stripsKeyOrder: string[] = [];\r\n showAccordionData = true;\r\n showParentLoader = false;\r\n showParentError = false;\r\n showParentNoData = false;\r\n errorDataCount = 0;\r\n noDataCount = 0;\r\n successDataCount = 0;\r\n contentAvailable = true;\r\n baseUrl = this.configSvc.sitePath || '';\r\n veifiedKarmayogi = false;\r\n environment!: any;\r\n changeEventSubscription: Subscription | null = null;\r\n defaultMaxWidgets = 12;\r\n enrollInterval: any;\r\n todaysEvents: any = [];\r\n enrollmentMapData: any\r\n\r\n constructor(\r\n // private contentStripSvc: ContentStripNewMultipleService,\r\n @Inject('environment') environment: any,\r\n private contentSvc: WidgetContentService,\r\n private loggerSvc: LoggerService,\r\n private eventSvc: EventService,\r\n private configSvc: ConfigurationsService,\r\n public utilitySvc: UtilityService,\r\n // private http: HttpClient,\r\n // private searchServSvc: SearchServService,\r\n public router: Router,\r\n private userSvc: WidgetUserService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService\r\n ) {\r\n super();\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en');\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n }\r\n this.environment = environment\r\n }\r\n\r\n ngOnInit() {\r\n // const url = window.location.href\r\n this.initData();\r\n this.contentSvc.telemetryData$.subscribe((data: any) => {\r\n this.telemtryResponse.emit(data)\r\n })\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.changeEventSubscription) {\r\n this.changeEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showAccordion(key: string) {\r\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\r\n return this.showAccordionData;\r\n }\r\n return true;\r\n }\r\n\r\n setHiddenForStrip(key: string) {\r\n this.stripsResultDataMap[key].showStrip = false;\r\n sessionStorage.setItem(`cstrip_${key}`, '1');\r\n }\r\n private getIfStripHidden(key: string): boolean {\r\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\r\n return Boolean(storageItem !== '1');\r\n }\r\n\r\n private initData() {\r\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\r\n if (this.widgetData.loader && this.widgetData.strips.length) {\r\n this.showParentLoader = true;\r\n }\r\n // Fetch the data\r\n for (const strip of this.widgetData.strips) {\r\n if (this.checkForEmptyWidget(strip)) {\r\n this.fetchStripFromRequestData(strip, false);\r\n } else {\r\n this.processStrip(strip, [], 'done', true, null);\r\n }\r\n }\r\n // Subscription for changes\r\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\r\n .map(strip => ({\r\n key: strip.key,\r\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\r\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\r\n }))\r\n .filter(({ key, type, from }) => key && type && from);\r\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\r\n this.changeEventSubscription = this.eventSvc.events$\r\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\r\n .subscribe(event => {\r\n keyAndEvent\r\n .filter(e => e.type === event.eventType && e.from === event.from)\r\n .map(e => e.key)\r\n .forEach(k => this.fetchStripFromKey(k, false));\r\n });\r\n }\r\n\r\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\r\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\r\n if (stripData) {\r\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\r\n }\r\n }\r\n\r\n isStripShowing(data: any) {\r\n let count = 0;\r\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\r\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\r\n data.widgets.forEach((key: any) => {\r\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n data.showStrip = true;\r\n } else {\r\n data.showStrip = false;\r\n }\r\n }\r\n // console.log('data.key', data, data.key, data.widgets);\r\n return data.showStrip;\r\n }\r\n\r\n get isMobile() {\r\n return this.utilitySvc.isMobile || false;\r\n }\r\n\r\n getdata(data: IStripUnitContentData) {\r\n if (data.stripInfo) {\r\n return data.stripInfo.widget;\r\n }\r\n return {};\r\n\r\n }\r\n checkCondition(wData: NsContentStripWithTabs.IContentStripMultiple, data: IStripUnitContentData) {\r\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\r\n return !wData.strips[0].stripConfig.hideShowAll;\r\n }\r\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\r\n }\r\n checkVisible(data: IStripUnitContentData) {\r\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\r\n }\r\n\r\n getContineuLearningLenth(data: IStripUnitContentData) {\r\n return data.widgets ? data.widgets.length : 0;\r\n }\r\n getLength(data: IStripUnitContentData) {\r\n if (!data.tabs || !data.tabs.length) {\r\n return data.widgets ? data.widgets.length : 0;\r\n } {\r\n // if tabs are there check if each tab has widgets and get the tab with max widgets\r\n const tabWithMaxWidgets = data.tabs.reduce(\r\n (prev, current) => {\r\n if (!prev.widgets && !current.widgets) {\r\n return current;\r\n }\r\n if (prev.widgets && current.widgets) {\r\n return (prev.widgets.length > current.widgets.length) ? prev : current;\r\n }\r\n if (current.widgets && !prev.widgets) {\r\n return current;\r\n }\r\n if (!current.widgets && prev.widgets) {\r\n return prev;\r\n }\r\n return current;\r\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\r\n // tslint:disable-next-line: align\r\n }, data.tabs[0]);\r\n // if tabs has atleast 1 widgets then strip will show or else not\r\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\r\n }\r\n }\r\n\r\n private getFiltersFromArray(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n private transformSearchV6FiltersV2(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n checkForDateFilters(filters: any) {\r\n let userData: any;\r\n if (this.configSvc.userProfile) {\r\n userData = this.configSvc.userProfile;\r\n }\r\n\r\n if (filters && filters.hasOwnProperty('batches.endDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\r\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\r\n } else if (filters.organisation &&\r\n filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n if (this.providerId) {\r\n filters.organisation = this.providerId;\r\n } else {\r\n filters.organisation = userData && userData.rootOrgId;\r\n\r\n if (filters && filters.hasOwnProperty('designation')) {\r\n filters.designation = userData.professionalDetails.length > 0 ?\r\n userData.professionalDetails[0].designation : '';\r\n }\r\n }\r\n\r\n }\r\n return filters;\r\n }\r\n\r\n private fetchStripFromRequestData(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n calculateParentStatus = true,\r\n ) {\r\n // setting initial values\r\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\r\n this.processStrip(strip, [], 'fetching', false, null);\r\n this.fetchFromEnrollmentList(strip, calculateParentStatus);\r\n this.fetchFromSearchV6(strip, calculateParentStatus);\r\n this.fetchFromTrendingContent(strip, calculateParentStatus);\r\n this.fetchAllCbpPlans(strip, calculateParentStatus);\r\n this.fetchAllTopContent(strip, calculateParentStatus);\r\n this.fetchAllFeaturedContent(strip, calculateParentStatus);\r\n this.fetchAllBookMarkData(strip, calculateParentStatus);\r\n this.fetchAllPlaylistSearch(strip, calculateParentStatus);\r\n this.fetchPlaylistReadData(strip, calculateParentStatus);\r\n this.fetchCiosContentData(strip, calculateParentStatus);\r\n\r\n // this.enrollInterval = setInterval(() => {\r\n // this.fetchAllCbpPlans(strip, calculateParentStatus)\r\n // }, 1000)\r\n }\r\n\r\n fetchFromEnrollmentList(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) {\r\n let userId = '';\r\n let content: NsContent.IContent[];\r\n let contentNew: NsContent.IContent[];\r\n let tabResults: any[] = [];\r\n const queryParams = _.get(strip.request.enrollmentList, 'queryParams');\r\n // if (queryParams && queryParams.batchDetails) {\r\n // if (!queryParams.batchDetails.includes('&retiredCoursesEnabled=true')) {\r\n // queryParams.batchDetails += '&retiredCoursesEnabled=true'\r\n // }\r\n // }\r\n if (this.configSvc.userProfile) {\r\n userId = this.configSvc.userProfile.userId;\r\n }\r\n // this.userSvc.resetTime('enrollmentService')\r\n // tslint:disable-next-line: deprecation\r\n this.userSvc.fetchUserBatchList(userId, queryParams).subscribe(\r\n (result: any) => {\r\n const courses = result && result.courses;\r\n const showViewMore = Boolean(\r\n courses.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: (strip.viewMoreUrl && strip.viewMoreUrl.path) || '',\r\n queryParams: {\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n strip.request && strip.request.searchV6 && strip.request.searchV6.filters\r\n ? JSON.stringify(\r\n // this.searchServSvc.transformSearchV6Filters(\r\n strip.request.searchV6.filters\r\n // ),\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n if (courses && courses.length) {\r\n content = courses.map((c: any) => {\r\n const contentTemp: NsContent.IContent = c.content;\r\n contentTemp.completionPercentage = c.completionPercentage || c.progress || 0;\r\n contentTemp.completionStatus = c.completionStatus || c.status || 0;\r\n contentTemp.enrolledDate = c.enrolledDate || '';\r\n contentTemp.lastContentAccessTime = c.lastContentAccessTime || '';\r\n contentTemp.lastReadContentStatus = c.lastReadContentStatus || '';\r\n contentTemp.lastReadContentId = c.lastReadContentId || '';\r\n contentTemp.lrcProgressDetails = c.lrcProgressDetails || '';\r\n contentTemp.issuedCertificates = c.issuedCertificates || [];\r\n contentTemp.batchId = c.batchId || '';\r\n return contentTemp;\r\n });\r\n }\r\n // To filter content with completionPercentage > 0,\r\n // so that only those content will show in home page\r\n // continue learing strip\r\n // if (content && content.length) {\r\n // contentNew = content.filter((c: any) => {\r\n // /** commented as both are 0 after enrolll */\r\n // if (c.completionPercentage && c.completionPercentage > 0) {\r\n // return c\r\n // }\r\n // })\r\n // }\r\n\r\n // To sort in descending order of the enrolled date\r\n contentNew = (content || []).sort((a: any, b: any) => {\r\n const dateA: any = new Date(a.lastContentAccessTime || 0);\r\n const dateB: any = new Date(b.lastContentAccessTime || 0);\r\n return dateB - dateA;\r\n });\r\n\r\n if (strip.tabs && strip.tabs.length) {\r\n tabResults = this.splitEnrollmentTabsData(contentNew, strip);\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(contentNew, strip),\r\n 'done',\r\n calculateParentStatus,\r\n viewMoreUrl,\r\n tabResults\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(contentNew, strip),\r\n 'done',\r\n calculateParentStatus,\r\n viewMoreUrl,\r\n );\r\n }\r\n },\r\n () => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n );\r\n }\r\n }\r\n\r\n splitEnrollmentTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\r\n const tabResults: any[] = [];\r\n const splitData = this.getInprogressAndCompleted(\r\n contentNew,\r\n (e: any) => e.completionStatus === 1 || e.completionPercentage < 100,\r\n strip,\r\n );\r\n\r\n if (strip.tabs && strip.tabs.length) {\r\n for (let i = 0; i < strip.tabs.length; i += 1) {\r\n if (strip.tabs[i]) {\r\n tabResults.push(\r\n {\r\n ...strip.tabs[i],\r\n fetchTabStatus: 'done',\r\n ...(splitData.find(itmInner => {\r\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\r\n return itmInner;\r\n }\r\n return undefined;\r\n })),\r\n }\r\n );\r\n }\r\n }\r\n }\r\n return tabResults;\r\n }\r\n\r\n getInprogressAndCompleted(array: NsContent.IContent[],\r\n customFilter: any,\r\n strip: NsContentStripWithTabs.IContentStripUnit) {\r\n const inprogress: any[] = []\r\n const completed: any[] = []\r\n // array.forEach((e: any, idx: number, arr: any[]) => (customFilter(e, idx, arr) ? inprogress : completed).push(e))\r\n array.forEach((e, idx, arr) => {\r\n const status = e.status ? (e.status as string).toLowerCase() : ''\r\n const statusRetired = status === 'retired'\r\n if (customFilter(e, idx, arr)) {\r\n if (!statusRetired) {\r\n inprogress.push(e)\r\n }\r\n } else {\r\n completed.push(e)\r\n }\r\n })\r\n // Sort the completed array with 'Live' status first and 'Retired' status second\r\n completed.sort((a: any, b: any) => {\r\n const statusA = a.status ? a.status.toLowerCase() : ''\r\n const statusB = b.status ? b.status.toLowerCase() : ''\r\n if (statusA === 'live' && statusB !== 'live') {\r\n return -1\r\n }\r\n if (statusA !== 'live' && statusB === 'live') {\r\n return 1\r\n }\r\n if (statusA === 'retired' && statusB !== 'retired') {\r\n return 1\r\n }\r\n if (statusA !== 'retired' && statusB === 'retired') {\r\n return -1\r\n }\r\n return 0\r\n })\r\n return [\r\n { value: 'inprogress', widgets: this.transformContentsToWidgets(inprogress, strip) },\r\n { value: 'completed', widgets: this.transformContentsToWidgets(completed, strip) }];\r\n }\r\n\r\n async fetchFromSearchV6(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\r\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\r\n // if (this.configSvc.activeLocale) {\r\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\r\n // } else {\r\n // strip.request.searchV6.locale = ['en']\r\n // }\r\n // }\r\n let originalFilters: any = [];\r\n // tslint:disable:no-console\r\n console.log(originalFilters);\r\n if (strip.request &&\r\n strip.request.searchV6 &&\r\n strip.request.searchV6.request &&\r\n strip.request.searchV6.request.filters) {\r\n originalFilters = strip.request.searchV6.request.filters;\r\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\r\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\r\n strip.request.searchV6.request.filters,\r\n );\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqSearchV6(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content) {\r\n if (strip.key === 'scheduledAssessment') {\r\n this.enrollInterval = setInterval(() => {\r\n this.checkInvitOnlyAssessments(response.results.result.content, strip, calculateParentStatus, response.viewMoreUrl)\r\n\r\n // tslint:disable-next-line\r\n }, 1000)\r\n\r\n\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n }\r\n\r\n } else if (response.results.result.Event) {\r\n this.processStrip(\r\n strip,\r\n this.transformEventsToWidgets(response.results.result.Event, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkInvitOnlyAssessments(content: any, strip: any, calculateParentStatus: any, viewMoreUrl: any) {\r\n if (localStorage.getItem('enrollmentMapData')) {\r\n this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}')\r\n let filteredArray: any = []\r\n let now = new Date().getTime()\r\n content.forEach((data: any) => {\r\n if (this.enrollmentMapData[data.identifier]) {\r\n if(this.enrollmentMapData[data.identifier].status !== 2 && this.enrollmentMapData[data.identifier].batch) {\r\n const enrollData = this.enrollmentMapData[data.identifier].batch\r\n let endDate:any = new Date(enrollData.endDate).getTime()\r\n // let endDate:any = '2024-07-7T00:00:00.000Z'\r\n let timeDuration = endDate - now\r\n if(timeDuration > 0 ) {\r\n data['batch'] = this.enrollmentMapData[data.identifier].batch\r\n data['completionPercentage'] = this.enrollmentMapData[data.identifier].completionPercentage\r\n filteredArray.push(data)\r\n }\r\n }\r\n \r\n }\r\n })\r\n filteredArray = filteredArray.sort((a: any, b: any) => {\r\n const dateA: any = new Date(a.batch.startDate || 0)\r\n const dateB: any = new Date(b.batch.startDate || 0)\r\n return dateA - dateB\r\n })\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(filteredArray, strip),\r\n 'done',\r\n calculateParentStatus,\r\n viewMoreUrl,\r\n );\r\n clearInterval(this.enrollInterval)\r\n }\r\n }\r\n\r\n async searchV6Request(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.searchV6) {\r\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.searchV6 &&\r\n request.searchV6.request &&\r\n request.searchV6.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\r\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\r\n // }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n async fetchFromTrendingContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) {\r\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\r\n // if (this.configSvc.activeLocale) {\r\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\r\n // } else {\r\n // strip.request.searchV6.locale = ['en']\r\n // }\r\n // }\r\n let originalFilters: any = [];\r\n // tslint:disable:no-console\r\n console.log(originalFilters);\r\n if (strip.request &&\r\n strip.request.trendingSearch &&\r\n strip.request.trendingSearch.request &&\r\n strip.request.trendingSearch.request.filters) {\r\n originalFilters = strip.request.trendingSearch.request.filters;\r\n strip.request.trendingSearch.request.filters = this.checkForDateFilters(strip.request.trendingSearch.request.filters);\r\n strip.request.trendingSearch.request.filters = this.getFiltersFromArray(\r\n strip.request.trendingSearch.request.filters,\r\n );\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqTrending(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.trendingSearchRequest(strip, strip.request, calculateParentStatus);\r\n if (response && response.results && response.results.response) {\r\n const content = response.results.response[strip.request.trendingSearch.responseKey] || [];\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl || '',\r\n );\r\n if (!content.length) {\r\n this.emptyResponse.emit(true)\r\n }\r\n } else {\r\n this.emptyResponse.emit(true)\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n this.emptyResponse.emit(true)\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async trendingSearchRequest(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.trendingSearch) {\r\n // check for the request if it has dynamic values]\r\n if (request.trendingSearch.request.filters.organisation &&\r\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n let userRootOrgId;\r\n if (this.configSvc.userProfile) {\r\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\r\n }\r\n request.trendingSearch.request.filters.organisation = userRootOrgId;\r\n }\r\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result &&\r\n strip.request &&\r\n results.result[strip.request.trendingSearch.responseKey] &&\r\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\r\n strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.trendingSearch &&\r\n request.trendingSearch.request &&\r\n request.trendingSearch.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n let proccesedResult: any = []\r\n if (results && results.response && results.response.certifications) {\r\n results.response.certifications.map((result: any) => {\r\n if (result.source === this.channnelName) {\r\n proccesedResult.push(result)\r\n }\r\n })\r\n }\r\n results = { response: { certifications: proccesedResult } }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n if (error.error && error.error.status === 400) {\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n toggleInfo(data: IStripUnitContentData) {\r\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\r\n if (stripInfo) {\r\n if (stripInfo.mode !== 'below') {\r\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\r\n stripInfo.mode = 'below';\r\n }\r\n if (stripInfo.mode === 'below') {\r\n this.stripsResultDataMap[data.key].stripInfo = {\r\n ...stripInfo,\r\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\r\n };\r\n }\r\n }\r\n }\r\n\r\n private transformContentsToWidgets(\r\n contents: NsContent.IContent[],\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n private transformEventsToWidgets(\r\n contents: ITodayEvents[],\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n ) {\r\n this.eventSvc.setEventListData(contents);\r\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n private transformSkeletonToWidgets(\r\n strip: any\r\n ) {\r\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n },\r\n }));\r\n }\r\n\r\n private async processStrip(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\r\n fetchStatus: TFetchStatus,\r\n calculateParentStatus = true,\r\n _viewMoreUrl: any,\r\n tabsResults?: NsContentStripWithTabs.IContentStripTab[] | undefined,\r\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\r\n ) {\r\n const stripData = {\r\n viewMoreUrl: strip.viewMoreUrl,\r\n key: strip.key,\r\n canHideStrip: Boolean(strip.canHideStrip),\r\n showStrip: this.getIfStripHidden(strip.key),\r\n noDataWidget: strip.noDataWidget,\r\n errorWidget: strip.errorWidget,\r\n stripInfo: strip.info,\r\n stripTitle: strip.title,\r\n stripTitleLink: strip.stripTitleLink,\r\n disableTranslate: strip.disableTranslate,\r\n sliderConfig: strip.sliderConfig,\r\n tabs: tabsResults ? tabsResults : strip.tabs,\r\n tabsType: strip.tabsType ? strip.tabsType : '',\r\n stripName: strip.name,\r\n mode: strip.mode,\r\n stripConfig: strip.stripConfig,\r\n stripBackground: strip.stripBackground,\r\n secondaryHeading: strip.secondaryHeading,\r\n loaderWidgets: strip.loaderWidgets || [],\r\n widgets:\r\n fetchStatus === 'done'\r\n ? [\r\n ...(strip.preWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ...results,\r\n ...(strip.postWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ]\r\n : [],\r\n showOnNoData: Boolean(\r\n strip.noDataWidget &&\r\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\r\n fetchStatus === 'done',\r\n ),\r\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\r\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\r\n };\r\n // const stripData = this.stripsResultDataMap[strip.key]\r\n this.stripsResultDataMap = {\r\n ...this.stripsResultDataMap,\r\n [strip.key]: stripData,\r\n };\r\n if (!tabsResults) {\r\n if (\r\n calculateParentStatus &&\r\n (fetchStatus === 'done' || fetchStatus === 'error') &&\r\n stripData.widgets\r\n ) {\r\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\r\n }\r\n if (calculateParentStatus && !(results && results.length > 0)) {\r\n this.contentAvailable = false;\r\n } else if (results && results.length > 0) {\r\n this.contentAvailable = true;\r\n }\r\n } else {\r\n this.contentAvailable = true;\r\n }\r\n }\r\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\r\n if (fetchStatus === 'done' && !stripWidgetsCount) {\r\n this.noDataCount += 1;\r\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\r\n this.successDataCount += 1;\r\n } else if (fetchStatus === 'error') {\r\n this.errorDataCount += 1;\r\n }\r\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\r\n const totalCount = this.widgetData.strips.length;\r\n if (this.successDataCount > 0 && settledCount < totalCount) {\r\n return;\r\n }\r\n this.showParentLoader = settledCount !== totalCount;\r\n this.showParentNoData =\r\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\r\n this.showParentError = this.errorDataCount === totalCount;\r\n }\r\n checkForEmptyWidget(strip: NsContentStripWithTabs.IContentStripUnit): boolean {\r\n if (\r\n strip.request &&\r\n ((strip.request.api && Object.keys(strip.request.api).length) ||\r\n (strip.request.search && Object.keys(strip.request.search).length) ||\r\n (strip.request.searchRegionRecommendation &&\r\n Object.keys(strip.request.searchRegionRecommendation).length) ||\r\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\r\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\r\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\r\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) ||\r\n (strip.request.topContent && Object.keys(strip.request.topContent).length) ||\r\n (strip.request.featureContent && Object.keys(strip.request.featureContent).length) ||\r\n (strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) ||\r\n (strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) ||\r\n (strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) ||\r\n (strip.request.ciosContent && Object.keys(strip.request.ciosContent).length)\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitContentData, stripKey: string) {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabEvent.index].tabLoading = true;\r\n stripMap.showOnLoader = true;\r\n }\r\n const data: WsEvents.ITelemetryTabData = {\r\n label: `${tabEvent.tab.textLabel}`,\r\n index: tabEvent.index,\r\n };\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.HOME,\r\n }\r\n );\r\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\r\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\r\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\r\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\r\n tabSelected: currentTabFromMap.label,\r\n };\r\n }\r\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick) {\r\n if (currentTabFromMap.requestRequired && currentTabFromMap.request) {\r\n // call API to get tab data and process\r\n // this.processStrip(currentStrip, [], 'fetching', true, null)\r\n if (currentTabFromMap.request.searchV6) {\r\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.trendingSearch) {\r\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.topContent) {\r\n this.getTabDataByNewReqTopContent(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.playlistRead) {\r\n this.getTabDataByNewReqPlaylistReadContent(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.ciosContent) {\r\n this.getTabDataByCiosSearch(currentStrip, tabEvent.index, currentTabFromMap, true)\r\n }\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].tabLoading = false;\r\n }\r\n } else {\r\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\r\n setTimeout(() => {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].tabLoading = false;\r\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\r\n stripMap.showOnLoader = false;\r\n }\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n\r\n async getTabDataByNewReqSearchV6(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\r\n if (response && response.results) {\r\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n async getTabDataByNewReqTrending(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\r\n if (response && response.results && response.results.response) {\r\n const content = response.results.response[currentTab.value] || [];\r\n const widgets = this.transformContentsToWidgets(content, strip);\r\n // console.log('currentTab --- widgets', widgets)\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n // console.log('tabResults -++++***--', tabResults)\r\n // console.log('calling after-- ')\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n\r\n getTabDataByfilter(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n // tslint:disable:no-console\r\n console.log('strip -- ', strip);\r\n // tslint:disable:no-console\r\n console.log('currentTab -- ', currentTab);\r\n // tslint:disable:no-console\r\n console.log('calculateParentStatus-- ', calculateParentStatus);\r\n // TODO: Write logic for individual filter if passed in config\r\n // add switch case based on config key passed\r\n }\r\n\r\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\r\n\r\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\r\n\r\n let courses: NsContent.IContent[];\r\n let tabResults: any[] = [];\r\n const response = await this.userSvc.fetchCbpPlanList().toPromise();\r\n if (response) {\r\n courses = response;\r\n if (strip.tabs && strip.tabs.length) {\r\n tabResults = this.splitCbpTabsData(courses, strip);\r\n await this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n '',\r\n tabResults\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n 'viewMoreUrl',\r\n );\r\n }\r\n }\r\n // this.userSvc.fetchCbpPlanList().subscribe( async (res: any) => {\r\n // if (res) {\r\n // console.log(res,'===============================>')\r\n // courses = res\r\n // if (strip.tabs && strip.tabs.length) {\r\n // tabResults = this.splitCbpTabsData(courses, strip)\r\n // await this.processStrip(\r\n // strip,\r\n // this.transformContentsToWidgets(courses, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // '',\r\n // tabResults\r\n // )\r\n // } else {\r\n // this.processStrip(\r\n // strip,\r\n // this.transformContentsToWidgets(courses, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // 'viewMoreUrl',\r\n // )\r\n // }\r\n // }\r\n // }, (_err: any) => {\r\n\r\n // })\r\n\r\n clearInterval(this.enrollInterval);\r\n }\r\n }\r\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\r\n const tabResults: any[] = [];\r\n const splitData = this.getTabsList(\r\n contentNew,\r\n strip,\r\n );\r\n if (strip.tabs && strip.tabs.length) {\r\n for (let i = 0; i < strip.tabs.length; i += 1) {\r\n if (strip.tabs[i]) {\r\n tabResults.push(\r\n {\r\n ...strip.tabs[i],\r\n fetchTabStatus: 'done',\r\n ...(splitData.find(itmInner => {\r\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\r\n return itmInner;\r\n }\r\n return undefined;\r\n })),\r\n }\r\n );\r\n }\r\n }\r\n }\r\n return tabResults;\r\n }\r\n\r\n getTabsList(array: NsContent.IContent[],\r\n strip: NsContentStripWithTabs.IContentStripUnit) {\r\n let all: any[] = [];\r\n let upcoming: any[] = [];\r\n let overdue: any[] = [];\r\n array.forEach((e: any) => {\r\n all.push(e);\r\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n overdue.push(e);\r\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\r\n upcoming.push(e);\r\n }\r\n });\r\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\r\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\r\n\r\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\r\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\r\n\r\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\r\n\r\n overdue = overdue.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n\r\n overdue = overdue.sort((a: any, b: any): any => {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n });\r\n\r\n upcoming = upcoming.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n // this.getSelectedIndex(1)\r\n return [\r\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\r\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\r\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\r\n }\r\n\r\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\r\n let returnValue = 0;\r\n if (key === 'cbpPlan') {\r\n if (stripsResultDataMap.tabs.length) {\r\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\r\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\r\n }\r\n }\r\n return returnValue;\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '');\r\n }\r\n\r\n identify(index: number, item: any) {\r\n if (index >= 0) { }\r\n return item;\r\n }\r\n tracker(index: number, item: any) {\r\n if (index >= 0) { }\r\n return _.get(item, 'widgetData.content.identifier')\r\n }\r\n\r\n async fetchAllTopContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.topContent && Object.keys(strip.request.topContent).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.topContent &&\r\n strip.request.topContent.request &&\r\n strip.request.topContent.request.filters) {\r\n originalFilters = strip.request.topContent.request.filters;\r\n strip.request.topContent.request.filters = this.postMethodFilters(strip.request.topContent.request.filters);\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqTopContent(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.topContent, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content && response.results.result.content.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async fetchAllFeaturedContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.featureContent && Object.keys(strip.request.featureContent).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.featureContent &&\r\n strip.request.featureContent.request &&\r\n strip.request.featureContent.request.filters) {\r\n originalFilters = strip.request.featureContent.request.filters;\r\n strip.request.featureContent.request.filters = this.postMethodFilters(strip.request.featureContent.request.filters);\r\n }\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.featureContent, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content && response.results.result.content.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n\r\n async getTabDataByNewReqTopContent(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n if (currentTab.request &&\r\n currentTab.request.topContent &&\r\n currentTab.request.topContent.request &&\r\n currentTab.request.topContent.request.filters) {\r\n currentTab.request.topContent.request.filters = this.postMethodFilters(currentTab.request.topContent.request.filters);\r\n }\r\n try {\r\n // const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\r\n const response = await this.postRequestMethod(strip, currentTab.request.topContent, currentTab.request.apiUrl, calculateParentStatus);\r\n if (response.results && response.results.result) {\r\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n raiseTelemetry(stripData: any) {\r\n this.telemtryResponse.emit(stripData)\r\n }\r\n\r\n async postRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n apiUrl: string,\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request) {\r\n this.contentSvc.postApiMethod(apiUrl, request).subscribe(results => {\r\n if (results.result && results.result.content) {\r\n const showViewMore = Boolean(\r\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f: {},\r\n },\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n } else if (results && results.data) {\r\n const showViewMore = Boolean(\r\n results.data && results.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f: {},\r\n },\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n } else if (results.result && results.result.data) {\r\n const showViewMore = Boolean(\r\n results.data && results.result.data && results.result.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f: {},\r\n },\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n }\r\n\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n async getRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n apiUrl: string,\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request) {\r\n this.contentSvc.getApiMethod(apiUrl).subscribe(results => {\r\n let showViewMore: any\r\n if(results.result.data){\r\n showViewMore = Boolean(\r\n results.result.data && results.result.data.orgList.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n } else if(results.result.content){\r\n let featuredProvider = JSON.parse(results.result.content.featuredProviders || '[]')\r\n showViewMore = Boolean(\r\n featuredProvider && featuredProvider.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n }\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n postMethodFilters(filters: any) {\r\n if (filters.organisation &&\r\n filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n filters.organisation = filters.organisation.replace('<orgID>', this.providerId)\r\n }\r\n return filters\r\n }\r\n getFullUrl(apiUrl: any, id: string) {\r\n let formedUrl: string = apiUrl\r\n if (apiUrl.indexOf('<bookmarkId>') >= 0) {\r\n formedUrl = apiUrl.replace('<bookmarkId>', this.environment.mdoChannelsBookmarkId)\r\n } else if (apiUrl.indexOf('<playlistKey>') >= 0 && apiUrl.indexOf('<orgID>') >= 0) {\r\n formedUrl = apiUrl.replace('<playlistKey>', this.providerId + id) \r\n formedUrl = formedUrl.replace('<orgID>', this.providerId) \r\n } else if(apiUrl.indexOf('<doId>') >= 0) {\r\n formedUrl = apiUrl.replace('<doId>', this.environment.providerDataKey) \r\n } \r\n return formedUrl\r\n }\r\n\r\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\r\n if (this.emitViewAll) {\r\n this.viewAllResponse.emit(stripData)\r\n } else {\r\n this.router.navigate([path], { queryParams: queryParamsData })\r\n }\r\n }\r\n\r\n async fetchAllBookMarkData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.bookmarkRead &&\r\n strip.request.bookmarkRead.bookmarkId) {\r\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.bookmarkRead.bookmarkId);\r\n }\r\n try {\r\n const response = await this.getRequestMethod(strip, strip.request.bookmarkRead, strip.request.apiUrl, calculateParentStatus);\r\n let content = response.results.result.data.orgList\r\n if (response) {\r\n this.processStrip(\r\n strip,\r\n this.transformAllContentsToWidgets(content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response,\r\n );\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n private transformAllContentsToWidgets(\r\n contents: any,\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n private transformAllTabContentsToWidgets(\r\n contents: any,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: currentTab.stripConfig && currentTab.stripConfig.cardSubType,\r\n cardCustomeClass: currentTab.customeClass ? currentTab.customeClass : '',\r\n context: { pageSection: currentTab.value, position: idx },\r\n intranetMode: currentTab.stripConfig && currentTab.stripConfig.intranetMode,\r\n deletedMode: currentTab.stripConfig && currentTab.stripConfig.deletedMode,\r\n contentTags: currentTab.stripConfig && currentTab.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n async fetchAllPlaylistSearch(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.playlistSearch &&\r\n strip.request.playlistSearch.request &&\r\n strip.request.playlistSearch.request.filters) {\r\n originalFilters = strip.request.playlistSearch.request.filters;\r\n strip.request.playlistSearch.request.filters = this.postMethodFilters(strip.request.playlistSearch.request.filters);\r\n }\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.playlistSearch.request, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.data && response.results.result.data.length) {\r\n let finalPlaylistData: any = []\r\n let programData: any = response.results.result.data\r\n programData.forEach((prgData: any) => {\r\n if (prgData.children && prgData.children.length) {\r\n finalPlaylistData.push(prgData)\r\n }\r\n })\r\n if (finalPlaylistData.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(finalPlaylistData, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n async fetchPlaylistReadData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.playlistRead &&\r\n strip.request.playlistRead.type) {\r\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.playlistRead.type);\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.getRequestMethod(strip, strip.request.playlistRead, strip.request.apiUrl, calculateParentStatus);\r\n \r\n if (response && response.results.result.content) { \r\n let content = response.results.result.content\r\n if(strip.key === 'providers'){\r\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\r\n this.processStrip(\r\n strip,\r\n this.transformAllContentsToWidgets(featuredProviders, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response,\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformAllContentsToWidgets(content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response,\r\n );\r\n }\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n async getTabDataByNewReqPlaylistReadContent(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n if (currentTab.request &&\r\n currentTab.request.playlistRead &&\r\n currentTab.request.playlistRead.type) {\r\n currentTab.request.apiUrl = this.getFullUrl(currentTab.request.apiUrl, currentTab.request.playlistRead.type);\r\n }\r\n try {\r\n const response = await this.getRequestMethod(strip, currentTab.request.playlistRead, currentTab.request.apiUrl, calculateParentStatus);\r\n // if (response && response.results.result.content) { \r\n // let content = response.results.result.content\r\n // if(strip.key === 'providers'){\r\n // let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\r\n // this.processStrip(\r\n // strip,\r\n // this.transformAllContentsToWidgets(featuredProviders, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // response,\r\n // );\r\n // } else {\r\n // this.processStrip(\r\n // strip,\r\n // this.transformAllContentsToWidgets(content, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // response,\r\n // );\r\n // }\r\n // } else {\r\n // this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n // this.emptyResponse.emit(true)\r\n // }\r\n if (response.results && response.results.result) {\r\n let content = response.results.result.content\r\n let widgets = []\r\n if(currentTab.value === 'providers'){\r\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\r\n widgets = this.transformAllTabContentsToWidgets(featuredProviders, currentTab)\r\n } else {\r\n widgets = this.transformAllTabContentsToWidgets(content, currentTab)\r\n }\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\r\n }\r\n } catch (error) {\r\n console.error('Error:', error)\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n }\r\n\r\n async fetchCiosContentData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired && firstTab.value === 'trainingInstitutions') {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n this.getTabDataByCiosSearch(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n if (firstTab.requestRequired && firstTab.value === 'providers') {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n } else {\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.ciosContent, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.data && response.results.data.length) {\r\n let extContentData: any = response.results.data\r\n if (extContentData.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(extContentData, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n \r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async getTabDataByCiosSearch(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n _currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.contentSvc.postApiMethod(strip.request.apiUrl,strip.request.ciosContent).toPromise();;\r\n if (response && response.data && response.data.length) {\r\n const widgets = this.transformContentsToWidgets(response.data, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\r\n }\r\n } catch (error) {\r\n console.error('Error:', error)\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\r\n\r\nimport {\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule} from '@angular/material';\r\nimport { ContentStripWithTabsLibComponent } from './content-strip-with-tabs-lib.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\r\n\r\n// tslint:disable-next-line:function-name\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [ContentStripWithTabsLibComponent],\r\n imports: [\r\n SbUiResolverModule,\r\n CommonModule,\r\n RouterModule,\r\n HorizontalScrollerV2Module,\r\n MatProgressSpinnerModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n entryComponents: [ContentStripWithTabsLibComponent],\r\n exports: [ContentStripWithTabsLibComponent],\r\n})\r\nexport class ContentStripWithTabsLibModule { }\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core'\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\r\nimport { ICarousel, ICarouselStyle } from './sliders.model'\r\nimport { Subscription, interval } from 'rxjs'\r\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\r\n\r\n@Component({\r\n selector: 'sb-uic-sliders',\r\n templateUrl: './sliders.component.html',\r\n styleUrls: ['./sliders.component.scss'],\r\n})\r\nexport class SlidersLibComponent extends WidgetBaseComponent\r\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\r\n @Input() widgetData!: ICarousel[]\r\n @Input() styleData!: ICarouselStyle\r\n @Input() title: any = ''\r\n @Input() type: any\r\n @HostBinding('id')\r\n public id = `banner_${Math.random()}`\r\n private defaultMenuSubscribe: Subscription | null = null\r\n isLtMedium$ = this.valueSvc.isLtMedium$\r\n currentIndex = 0\r\n slideInterval: Subscription | null = null\r\n isMobile = false\r\n\r\n constructor(\r\n private events: EventService,\r\n private valueSvc: ValueService\r\n ) {\r\n super()\r\n }\r\n\r\n ngOnInit() {\r\n this.reInitiateSlideInterval()\r\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\r\n this.isMobile = isLtMedium\r\n })\r\n }\r\n reInitiateSlideInterval() {\r\n if (this.widgetData && this.widgetData.length > 1) {\r\n try {\r\n if (this.slideInterval) {\r\n this.slideInterval.unsubscribe()\r\n }\r\n } catch (e) {\r\n } finally {\r\n this.slideInterval = interval(8000).subscribe(() => {\r\n if (this.currentIndex === this.widgetData.length - 1) {\r\n this.currentIndex = 0\r\n } else {\r\n this.currentIndex += 1\r\n }\r\n })\r\n }\r\n }\r\n }\r\n slideTo(index: number) {\r\n if (index >= 0 && index < this.widgetData.length) {\r\n this.currentIndex = index\r\n } else if (index === this.widgetData.length) {\r\n this.currentIndex = 0\r\n } else {\r\n this.currentIndex = this.widgetData.length + index\r\n }\r\n this.reInitiateSlideInterval()\r\n }\r\n\r\n get isOpenInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n return true\r\n } return false\r\n }\r\n\r\n openInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n window.open(currentData.redirectUrl)\r\n }\r\n }\r\n raiseTelemetry(bannerUrl: string | undefined) {\r\n this.openInNewTab()\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'banner',\r\n },\r\n {\r\n pageUrl: url,\r\n bannerRedirectUrl: bannerUrl,\r\n },\r\n {\r\n pageIdExt: 'banner',\r\n module: WsEvents.EnumTelemetrymodules.CONTENT,\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.defaultMenuSubscribe) {\r\n this.defaultMenuSubscribe.unsubscribe()\r\n }\r\n }\r\n}\r\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { SlidersLibComponent } from './sliders.component'\r\nimport { RouterModule } from '@angular/router'\r\nimport { ImageResponsiveModule } from './../../_directives/image-responsive/image-responsive.module'\r\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\r\n/* tslint:disable */\r\nimport Hammer from 'hammerjs'\r\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\r\n/* tslint:enable */\r\nexport class MyHammerConfig extends HammerGestureConfig {\r\n buildHammer(element: HTMLElement) {\r\n const mc = new Hammer(element, {\r\n touchAction: 'pan-y',\r\n })\r\n return mc\r\n }\r\n}\r\n\r\n// tslint:disable-next-line: max-classes-per-file\r\n@NgModule({\r\n declarations: [SlidersLibComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NavigationModule,\r\n ImageResponsiveModule,\r\n ],\r\n exports: [SlidersLibComponent],\r\n entryComponents: [SlidersLibComponent],\r\n providers: [\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: MyHammerConfig,\r\n },\r\n ],\r\n})\r\nexport class SlidersLibModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nconst API_END_POINTS = {\r\n PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,\r\n TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,\r\n ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`,\r\n LEARNERS: `apis/proxies/v8/halloffame/top/learners`\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InsiteDataService {\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) {}\r\n fetchSearchData(request: any): Observable<any> {\r\n return this.http.post<any>(API_END_POINTS.PROVIDER_INSIGHTS, request)\r\n }\r\n\r\n fetchAnnouncementsData(request: any): Observable<any> {\r\n return this.http.post<any>(API_END_POINTS.ANNOUNCEMENTS_DETAILS, request)\r\n }\r\n\r\n\r\n fetchTrainingDetails(request: any): Observable<any> {\r\n return this.http.post<any>(API_END_POINTS.TRAINING_DETAILS, request)\r\n }\r\n\r\n fetchLearner(): Observable<any> {\r\n return this.http.get(API_END_POINTS.LEARNERS)\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-data-points',\r\n templateUrl: './data-points.component.html',\r\n styleUrls: ['./data-points.component.css']\r\n})\r\nexport class DataPointsComponent implements OnInit {\r\n @Input() objectData: any\r\n @Input() layoutType: string = ''\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() providerId : any = ''\r\n @Input() pageLayout: any = ''\r\n customArray: any[][] = []\r\n isDataLoading: boolean = false\r\n \r\n constructor(public insightSvc: InsiteDataService) { }\r\n\r\n ngOnInit() {\r\n if (this.objectData && this.layoutType === 'gridLayout') {\r\n this.customArray = this.createCustomArray(this.objectData.metrics)\r\n }\r\n if(this.fetchDataFromApi) {\r\n this.isDataLoading = true\r\n this.getInsiteData()\r\n }\r\n } \r\n\r\n createCustomArray(arr: any[]): any[][] {\r\n const nByn: any[][] = []\r\n for (let i = 0; i < arr.length; i += this.objectData.dataColSpan) {\r\n nByn.push(arr.slice(i, i + this.objectData.dataColSpan))\r\n }\r\n return nByn \r\n }\r\n\r\n getInsiteData(){\r\n let request: any = {}\r\n request = {\r\n \"request\": {\r\n \"filters\": {\r\n \"organisations\": [\r\n this.providerId\r\n ]\r\n }\r\n }\r\n }\r\n if (this.pageLayout && this.pageLayout === 'mdo') {\r\n request = {\r\n \"request\": {\r\n \"filters\": {\r\n \"requestType\": \"MDO_INSIGHT\",\r\n \"organisations\": [\r\n this.providerId\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n this.insightSvc.fetchSearchData(request).subscribe((res: any)=> {\r\n if(res && res.result && res.result.response && res.result.response.nudges && res.result.response.nudges.length) {\r\n res.result.response.nudges.forEach((nudgeData: any) => {\r\n if(this.providerId && this.providerId === nudgeData.orgId) {\r\n this.objectData = nudgeData.data\r\n }\r\n })\r\n }\r\n this.isDataLoading = false\r\n })\r\n\r\n }\r\n\r\n converToIndianSystem(value: any) {\r\n let numStr = value.toString()\r\n let [integerPart, decimalPart] = numStr.split('.')\r\n let lastThree = integerPart.slice(-3);\r\n let otherNumbers = integerPart.slice(0, -3);\r\n if (otherNumbers !== '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n let formattedIntegerPart = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',') + lastThree;\r\n const result = decimalPart ? `${formattedIntegerPart}.${decimalPart.substr(0,2)}` : formattedIntegerPart;\r\n return result\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'sb-uic-skeleton-loader',\r\n templateUrl: './skeleton-loader-lib.component.html',\r\n styleUrls: ['./skeleton-loader-lib.component.scss'],\r\n})\r\nexport class SkeletonLoaderLibComponent implements OnInit {\r\n\r\n @Input() bindingClass = ''\r\n @Input() height = ''\r\n @Input() width = ''\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { SkeletonLoaderLibComponent } from './skeleton-loader-lib.component'\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\r\nimport { MatDialogModule, MatIconModule } from '@angular/material'\r\n\r\n@NgModule({\r\n declarations: [SkeletonLoaderLibComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n SkeletonLoaderLibComponent,\r\n ],\r\n entryComponents: [SkeletonLoaderLibComponent],\r\n})\r\nexport class SkeletonLoaderLibModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataPointsComponent } from './data-points.component';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [DataPointsComponent],\r\n imports: [\r\n CommonModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [DataPointsComponent],\r\n providers:[InsiteDataService]\r\n})\r\nexport class DataPointsModule { }\r\n","import { DatePipe } from '@angular/common';\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n \r\n} from '@angular/core';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-calender',\r\n templateUrl: './calender.component.html',\r\n styleUrls: ['./calender.component.scss']\r\n})\r\nexport class CalenderComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() showHeader: boolean = false\r\n @Input() defaultDays: number = 3\r\n @Input() providerId: any\r\n @Input() fullCalendor: boolean = false\r\n days = []\r\n trainings: any = {}\r\n currentMonthAndYear: any\r\n isDataLoading: boolean = false\r\n currentDate: any = new Date()\r\n endDate: any\r\n startDate: any\r\n allMonths = [\"January\", \"February\", \"March\",\r\n \"April\", \"May\", \"June\", \"July\",\r\n \"August\", \"September\", \"October\",\r\n \"November\", \"December\"\r\n ]\r\n monthsDropdown: any = []\r\n selectedMonth: any\r\n constructor(private datePipe: DatePipe, public insightSvc: InsiteDataService) { }\r\n\r\n ngOnInit() {\r\n this.currentMonthAndYear = this.datePipe.transform(this.currentDate, 'MMMM y')\r\n this.selectedMonth = this.datePipe.transform(this.currentDate, 'LLLL yyyy')\r\n if (this.fullCalendor) {\r\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\r\n this.getMonthsDropdownData()\r\n }\r\n if (!this.fullCalendor) {\r\n this.days = this.getDays(this.currentDate, +this.defaultDays)\r\n }\r\n this.startDate = this.days[0]\r\n this.endDate = this.days[this.days.length - 1]\r\n if(this.fetchDataFromApi) {\r\n this.isDataLoading = true\r\n this.getInsiteData()\r\n }\r\n }\r\n getInsiteData() {\r\n let request = {\r\n \"locale\": [\r\n \"en\"\r\n ],\r\n \"query\": \"\",\r\n \"request\": {\r\n \"query\": \"\",\r\n \"filters\": {\r\n \"category\": [\r\n \"Calendar\"\r\n ],\r\n \"status\": [\r\n \"Live\",\r\n \"Retired\"\r\n ],\r\n \"contentType\": \"Event\",\r\n \"startDate\": {\r\n \">=\": this.startDate,\r\n \"<=\": this.endDate\r\n // \">=\": \"2024-01-15\",\r\n // \"<\": \"2024-05-31\"\r\n },\r\n \"channel\": [this.providerId]\r\n },\r\n \"sort_by\": {\r\n \"lastUpdatedOn\": \"desc\"\r\n }\r\n }\r\n }\r\n this.insightSvc.fetchTrainingDetails(request).subscribe((res: any)=> {\r\n if (res && res.result && res.result.Event) {\r\n res.result.Event.forEach((resp: any) => {\r\n if (this.trainings[resp.startDate]) {\r\n let prevData = this.trainings[resp.startDate]\r\n let location = resp.eventType\r\n if (resp.location && location !== \"Online\") {\r\n const jsonResp = JSON.parse(resp.location)\r\n location = jsonResp['address']\r\n }\r\n const formatObject = {\r\n location: location,\r\n startTime: this.convertTo12HourFormat(resp.startTime),\r\n endTime: this.convertTo12HourFormat(resp.endTime),\r\n title: resp.name,\r\n startDate: this.formatDate(resp.startDate),\r\n endDate: this.formatDate(resp.endDate),\r\n registrationLink: resp.registrationLink,\r\n }\r\n prevData.push(formatObject)\r\n this.trainings[resp.startDate] = prevData\r\n }\r\n })\r\n }\r\n this.isDataLoading = false\r\n })\r\n }\r\n\r\n getKeys(obj: any): string[] {\r\n return Object.keys(obj);\r\n }\r\n\r\n formatDate(date: any) {\r\n let formatDate = new Date(date)\r\n return this.datePipe.transform(formatDate, 'E, dd LLL')\r\n }\r\n\r\n convertTo12HourFormat(timeString: string): string {\r\n const time = timeString.split(\":\")\r\n let hours = +time[0]\r\n const minutes = +time[1]\r\n const ampm = hours >= 12 ? 'PM' : 'AM'\r\n hours = hours % 12\r\n hours = hours ? hours : 12\r\n const strHours = hours < 10 ? '0' + hours : hours.toString()\r\n const strMinutes = minutes < 10 ? '0' + minutes : minutes.toString()\r\n return `${strHours}:${strMinutes} ${ampm}`\r\n }\r\n\r\n getDays(cDate: any, counter: number) {\r\n const days: any = []\r\n let initDate: any = new Date(cDate)\r\n initDate = this.datePipe.transform(initDate, 'y-MM-dd')\r\n days.push(initDate)\r\n this.trainings[initDate] = []\r\n while (counter > 0) {\r\n let myDate: any = new Date(cDate)\r\n myDate = myDate.setDate(myDate.getDate() + 1)\r\n cDate = myDate\r\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\r\n days.push(myDate)\r\n this.trainings[myDate] = []\r\n counter = counter - 1\r\n }\r\n return days\r\n }\r\n\r\n getDaysInMonth(year: number, month: number): Date[] {\r\n const date = new Date(year, month, 1)\r\n const days: any = []\r\n this.trainings = {}\r\n while (date.getMonth() === month) {\r\n let myDate: any = new Date(date)\r\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\r\n days.push(myDate)\r\n this.trainings[myDate] = []\r\n date.setDate(date.getDate() + 1)\r\n }\r\n return days\r\n }\r\n\r\n getMonthsDropdownData() {\r\n this.allMonths.forEach((month: any) => {\r\n this.monthsDropdown.push(`${month} ${this.currentDate.getFullYear()}`)\r\n })\r\n }\r\n\r\n selectMonth(event: any) {\r\n const selectedMonth: any = new Date(event)\r\n this.currentDate = selectedMonth\r\n this.days = []\r\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\r\n this.startDate = this.days[0]\r\n this.endDate = this.days[this.days.length - 1]\r\n this.isDataLoading = true\r\n this.getInsiteData()\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-calender-day',\r\n templateUrl: './calender-day.component.html',\r\n styleUrls: ['./calender-day.component.scss']\r\n})\r\nexport class CalenderDayComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() day: any\r\n @Input() dataLoading: boolean\r\n @Input() rowId: any\r\n @Input() eventDate: any\r\n webDisplayDate: string = \"\"\r\n mobileDisplayDate: string = \"\"\r\n currentDate: any = new Date()\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n ngOnInit() {\r\n this.currentDate = this.datePipe.transform(this.currentDate, 'y-MM-dd')\r\n }\r\n\r\n openLink(link: string) {\r\n window.open(link, \"_blank\")\r\n }\r\n\r\n formatDate(date: any, type: string) {\r\n let fDate = new Date(date)\r\n if (type === 'web') {\r\n return this.datePipe.transform(fDate, 'E, dd LLL')\r\n }\r\n if (type === 'mob') {\r\n return this.datePipe.transform(fDate, 'E dd LLL')\r\n }\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { CalenderComponent } from './calender.component';\r\nimport { MatIconModule, MatSelectModule } from '@angular/material';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { CalenderDayComponent } from './calender-day/calender-day.component';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n declarations: [CalenderComponent, CalenderDayComponent],\r\n exports: [CalenderComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers:[DatePipe, InsiteDataService],\r\n})\r\nexport class CalenderModule {}","import { Injectable } from '@angular/core';\r\nimport { NsContent } from '../_models/widget-content.model';\r\nimport { NsContentStripWithTabs } from '../_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model';\r\nimport { NsCommonStrip } from '../_common/common-strip/common-strip.model'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonMethodsService {\r\n\r\n constructor() { }\r\n\r\n transformContentsToWidgets(\r\n contents: NsContent.IContent[],\r\n strip: NsContentStripWithTabs.IContentStripUnit | NsCommonStrip.ICommonStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n transformSkeletonToWidgets(\r\n strip: any\r\n ) {\r\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n },\r\n }));\r\n }\r\n\r\n handleCapitalize(str: string, type?: string): string {\r\n let returnValue = ''\r\n if (str) {\r\n if (type === 'name') {\r\n returnValue = str.split(' ').map(_str => {\r\n return _str.charAt(0).toUpperCase() + _str.slice(1)\r\n }).join(' ')\r\n } else {\r\n\r\n returnValue = str && (str.charAt(0).toUpperCase() + str.slice(1))\r\n }\r\n }\r\n return returnValue\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsCommonStrip } from './common-strip.model';\r\n// import { HttpClient } from '@angular/common/http'\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { NsContent } from '../../_models/widget-content.model';\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\r\nimport {\r\n TFetchStatus,\r\n LoggerService,\r\n EventService,\r\n ConfigurationsService,\r\n UtilityService,\r\n} from '@sunbird-cb/utils-v2';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { WidgetUserService } from '../../_services/widget-user.service';\r\n// import { environment } from 'src/environments/environment'\r\n// tslint:disable-next-line\r\nimport * as _ from 'lodash'\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CommonMethodsService } from '../../_services/common-methods.service';\r\n\r\n\r\ninterface IStripUnitCommonData {\r\n key: string;\r\n canHideStrip: boolean;\r\n mode?: string;\r\n showStrip: boolean;\r\n disableTranslate: boolean;\r\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\r\n stripTitle: string;\r\n stripTitleLink?: {\r\n link: {\r\n queryParams: string\r\n },\r\n icon: string,\r\n queryParams: string\r\n };\r\n sliderConfig?: {\r\n showNavs: boolean,\r\n showDots: boolean,\r\n maxWidgets?: number\r\n cerificateCardMargin?: boolean\r\n };\r\n stripConfig: any;\r\n tabs?: NsCommonStrip.ICommonStripTab[] | undefined;\r\n stripName?: string;\r\n stripLogo?: string;\r\n description?: string;\r\n stripInfo?: NsCommonStrip.IStripInfo;\r\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n showOnNoData: boolean;\r\n showOnLoader: boolean;\r\n showOnError: boolean;\r\n loaderWidgets?: any;\r\n stripBackground?: string;\r\n secondaryHeading?: any;\r\n viewMoreUrl: any;\r\n}\r\n\r\n@Component({\r\n selector: 'sb-uic-common-strip',\r\n templateUrl: './common-strip.component.html',\r\n styleUrls: ['./common-strip.component.scss']\r\n})\r\nexport class CommonStripComponent extends WidgetBaseComponent\r\nimplements\r\nOnInit,\r\nOnDestroy,\r\nNsWidgetResolver.IWidgetData<NsCommonStrip.ICommonStrip> {\r\n @Input() widgetData!: NsCommonStrip.ICommonStrip;\r\n @HostBinding('id')\r\n public id = `ws-strip-miltiple_${Math.random()}`;\r\n stripsResultDataMap: { [key: string]: IStripUnitCommonData } = {};\r\n stripsKeyOrder: string[] = [];\r\n showAccordionData = true;\r\n showParentLoader = false;\r\n showParentError = false;\r\n showParentNoData = false;\r\n errorDataCount = 0;\r\n noDataCount = 0;\r\n successDataCount = 0;\r\n contentAvailable = true;\r\n baseUrl = this.configSvc.sitePath || '';\r\n veifiedKarmayogi = false;\r\n environment!: any;\r\n changeEventSubscription: Subscription | null = null;\r\n defaultMaxWidgets = 12;\r\n enrollInterval: any;\r\n todaysEvents: any = [];\r\n\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private contentSvc: WidgetContentService,\r\n private loggerSvc: LoggerService,\r\n private eventSvc: EventService,\r\n private configSvc: ConfigurationsService,\r\n public utilitySvc: UtilityService,\r\n // private http: HttpClient,\r\n // private searchServSvc: SearchServService,\r\n private userSvc: WidgetUserService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private commonMethodsSvc: CommonMethodsService\r\n ) {\r\n super();\r\n this.environment = environment\r\n }\r\n\r\n ngOnInit() {\r\n // const url = window.location.href\r\n this.initData();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.changeEventSubscription) {\r\n this.changeEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showAccordion(key: string) {\r\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\r\n return this.showAccordionData;\r\n }\r\n return true;\r\n }\r\n\r\n setHiddenForStrip(key: string) {\r\n this.stripsResultDataMap[key].showStrip = false;\r\n sessionStorage.setItem(`cstrip_${key}`, '1');\r\n }\r\n private getIfStripHidden(key: string): boolean {\r\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\r\n return Boolean(storageItem !== '1');\r\n }\r\n\r\n private initData() {\r\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\r\n if (this.widgetData.loader && this.widgetData.strips.length) {\r\n this.showParentLoader = true;\r\n }\r\n // null check if in case no strips key in config\r\n if(this.widgetData && this.widgetData.strips) {\r\n // Fetch the data\r\n for (const strip of this.widgetData.strips) {\r\n this.processStrip(strip, [], 'fetching', false, null);\r\n if(strip.dataType === 'in-hand' && this.widgetData[strip.dataKey]){\r\n this.processStrip(\r\n strip,\r\n this.commonMethodsSvc.transformContentsToWidgets(this.widgetData[strip.dataKey], strip),\r\n 'done',\r\n true,\r\n strip.viewMoreUrl || '',\r\n );\r\n } else {\r\n if (this.checkForEmptyWidget(strip)) {\r\n // this.fetchStripFromRequestData(strip, false);\r\n } else {\r\n this.processStrip(strip, [], 'done', true, null);\r\n }\r\n }\r\n }\r\n }\r\n // Subscription for changes\r\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\r\n .map(strip => ({\r\n key: strip.key,\r\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\r\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\r\n }))\r\n .filter(({ key, type, from }) => key && type && from);\r\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\r\n this.changeEventSubscription = this.eventSvc.events$\r\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\r\n .subscribe(event => {\r\n keyAndEvent\r\n .filter(e => e.type === event.eventType && e.from === event.from)\r\n .map(e => e.key)\r\n .forEach(k => this.fetchStripFromKey(k, false));\r\n });\r\n }\r\n\r\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\r\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\r\n if (stripData) {\r\n // this.fetchStripFromRequestData(stripData, calculateParentStatus);\r\n }\r\n }\r\n\r\n isStripShowing(data: any) {\r\n let count = 0;\r\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\r\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\r\n data.widgets.forEach((key: any) => {\r\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n data.showStrip = true;\r\n } else {\r\n data.showStrip = false;\r\n }\r\n }\r\n return data.showStrip;\r\n }\r\n\r\n get isMobile() {\r\n return this.utilitySvc.isMobile || false;\r\n }\r\n\r\n getdata(data: IStripUnitCommonData) {\r\n if (data.stripInfo) {\r\n return data.stripInfo.widget;\r\n }\r\n return {};\r\n\r\n }\r\n checkCondition(wData: NsCommonStrip.ICommonStrip, data: IStripUnitCommonData) {\r\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\r\n return !wData.strips[0].stripConfig.hideShowAll;\r\n }\r\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\r\n }\r\n checkVisible(data: IStripUnitCommonData) {\r\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\r\n }\r\n\r\n getContineuLearningLenth(data: IStripUnitCommonData) {\r\n return data.widgets ? data.widgets.length : 0;\r\n }\r\n getLength(data: IStripUnitCommonData) {\r\n if (!data.tabs || !data.tabs.length) {\r\n return data.widgets ? data.widgets.length : 0;\r\n } {\r\n // if tabs are there check if each tab has widgets and get the tab with max widgets\r\n const tabWithMaxWidgets = data.tabs.reduce(\r\n (prev, current) => {\r\n if (!prev.widgets && !current.widgets) {\r\n return current;\r\n }\r\n if (prev.widgets && current.widgets) {\r\n return (prev.widgets.length > current.widgets.length) ? prev : current;\r\n }\r\n if (current.widgets && !prev.widgets) {\r\n return current;\r\n }\r\n if (!current.widgets && prev.widgets) {\r\n return prev;\r\n }\r\n return current;\r\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\r\n // tslint:disable-next-line: align\r\n }, data.tabs[0]);\r\n // if tabs has atleast 1 widgets then strip will show or else not\r\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\r\n }\r\n }\r\n \r\n private async processStrip(\r\n strip: NsCommonStrip.ICommonStripUnit,\r\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\r\n fetchStatus: TFetchStatus,\r\n calculateParentStatus = true,\r\n _viewMoreUrl: any,\r\n tabsResults?: NsCommonStrip.ICommonStripTab[] | undefined,\r\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\r\n ) {\r\n const stripData = {\r\n viewMoreUrl: strip.viewMoreUrl,\r\n key: strip.key,\r\n canHideStrip: Boolean(strip.canHideStrip),\r\n showStrip: this.getIfStripHidden(strip.key),\r\n noDataWidget: strip.noDataWidget,\r\n errorWidget: strip.errorWidget,\r\n stripInfo: strip.info,\r\n stripTitle: strip.title,\r\n stripTitleLink: strip.stripTitleLink,\r\n dataType: strip.dataType,\r\n dataKey: strip.dataKey,\r\n disableTranslate: strip.disableTranslate,\r\n sliderConfig: strip.sliderConfig,\r\n tabs: tabsResults ? tabsResults : strip.tabs,\r\n stripName: strip.name,\r\n mode: strip.mode,\r\n stripConfig: strip.stripConfig,\r\n stripBackground: strip.stripBackground,\r\n secondaryHeading: strip.secondaryHeading,\r\n loaderWidgets: strip.loaderWidgets || [],\r\n widgets:\r\n fetchStatus === 'done'\r\n ? [\r\n ...(strip.preWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ...results,\r\n ...(strip.postWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ]\r\n : [],\r\n showOnNoData: Boolean(\r\n strip.noDataWidget &&\r\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\r\n fetchStatus === 'done',\r\n ),\r\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\r\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\r\n };\r\n // const stripData = this.stripsResultDataMap[strip.key]\r\n this.stripsResultDataMap = {\r\n ...this.stripsResultDataMap,\r\n [strip.key]: stripData,\r\n };\r\n if (!tabsResults) {\r\n if (\r\n calculateParentStatus &&\r\n (fetchStatus === 'done' || fetchStatus === 'error') &&\r\n stripData.widgets\r\n ) {\r\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\r\n }\r\n if (calculateParentStatus && !(results && results.length > 0)) {\r\n this.contentAvailable = false;\r\n } else if (results && results.length > 0) {\r\n this.contentAvailable = true;\r\n }\r\n } else {\r\n this.contentAvailable = true;\r\n }\r\n }\r\n\r\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\r\n let returnValue = 0;\r\n if (key === 'cbpPlan') {\r\n if (stripsResultDataMap.tabs.length) {\r\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\r\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\r\n }\r\n }\r\n return returnValue;\r\n }\r\n \r\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\r\n if (fetchStatus === 'done' && !stripWidgetsCount) {\r\n this.noDataCount += 1;\r\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\r\n this.successDataCount += 1;\r\n } else if (fetchStatus === 'error') {\r\n this.errorDataCount += 1;\r\n }\r\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\r\n const totalCount = this.widgetData.strips.length;\r\n if (this.successDataCount > 0 && settledCount < totalCount) {\r\n return;\r\n }\r\n this.showParentLoader = settledCount !== totalCount;\r\n this.showParentNoData =\r\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\r\n this.showParentError = this.errorDataCount === totalCount;\r\n }\r\n checkForEmptyWidget(strip: NsCommonStrip.ICommonStripUnit): boolean {\r\n if (\r\n strip.request &&\r\n ((strip.request.api && Object.keys(strip.request.api).length) ||\r\n (strip.request.search && Object.keys(strip.request.search).length) ||\r\n (strip.request.searchRegionRecommendation &&\r\n Object.keys(strip.request.searchRegionRecommendation).length) ||\r\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\r\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\r\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\r\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length)\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitCommonData, stripKey: string) {\r\n\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '');\r\n }\r\n\r\n identify(index: number, item: any) {\r\n if (index >= 0) { }\r\n return item;\r\n }\r\n tracker(index: number, item: any) {\r\n if (index >= 0) { }\r\n return _.get(item, 'widgetData.content.identifier')\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CommonStripComponent } from './common-strip.component';\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\r\nimport {\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule} from '@angular/material';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\r\n\r\n@NgModule({\r\n declarations: [CommonStripComponent],\r\n imports: [\r\n SbUiResolverModule,\r\n CommonModule,\r\n RouterModule,\r\n HorizontalScrollerV2Module,\r\n MatProgressSpinnerModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports: [CommonStripComponent]\r\n})\r\nexport class CommonStripModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-announcements',\r\n templateUrl: './announcements.component.html',\r\n styleUrls: ['./announcements.component.scss']\r\n})\r\nexport class AnnouncementsComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() mobileHeight: boolean = false\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() channelId: any\r\n @Output() openDialog = new EventEmitter<any>()\r\n isLoading: boolean = false\r\n announcements: any = []\r\n expand = false\r\n expanded: boolean = false\r\n\r\n constructor(public insightSvc: InsiteDataService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.fetchDataFromApi) {\r\n this.isLoading = true\r\n this.fetchData()\r\n }\r\n }\r\n\r\n fetchData() {\r\n let request = {\r\n filterCriteriaMap: {\r\n channel: [this.channelId],\r\n //channel: [\"01381906916850892825\"],\r\n },\r\n requestedFields: [\r\n \"name\",\r\n \"description\",\r\n \"createdOn\",\r\n \"updatedOn\",\r\n \"category\"\r\n ],\r\n orderBy: \"createdOn\",\r\n orderDirection: \"ASC\",\r\n facets: [\r\n \"channel\"\r\n ],\r\n pageSize: this.objectData.pageSize\r\n }\r\n this.insightSvc.fetchAnnouncementsData(request).subscribe((res: any)=> {\r\n if(res && res.result && res.result.data) {\r\n res.result.data.forEach((resp: any) => {\r\n this.announcements.push({\r\n value: resp.description,\r\n expanded: false\r\n })\r\n })\r\n }\r\n if (this.announcements.length > 3) {\r\n this.expand = true\r\n }\r\n this.objectData.list = this.announcements\r\n this.isLoading = false\r\n }, error => {\r\n console.log(error)\r\n this.objectData.list = []\r\n this.isLoading = false\r\n })\r\n }\r\n\r\n viewMoreOrLess(item: any) {\r\n if (item.value.length > 152) {\r\n item.expanded = !item.expanded\r\n }\r\n }\r\n\r\n openAnnouncements() {\r\n this.openDialog.emit(true)\r\n }\r\n\r\n showMoreOrLess() {\r\n this.expanded = !this.expanded\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { AnnouncementsComponent } from './announcements.component';\r\nimport { MatIconModule } from '@angular/material';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [AnnouncementsComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [AnnouncementsComponent],\r\n})\r\nexport class AnnouncementsModule { }","import { Component, Input, OnInit } from '@angular/core';\r\nimport * as moment_ from 'moment';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\nconst moment = moment_;\r\n@Component({\r\n selector: 'sb-uic-top-learners',\r\n templateUrl: './top-learners.component.html',\r\n styleUrls: ['./top-learners.component.scss']\r\n})\r\nexport class TopLearnersComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() channelId: any\r\n @Input() channnelName: any\r\n loading: boolean = false\r\n month: string = ''\r\n results: any = []\r\n\r\n colors: any = [\r\n '#EB7181', // red\r\n '#306933', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n '#4E9E87',\r\n '#7E4C8D',\r\n '#EB7181', // red\r\n '#306933', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n ]\r\n\r\n constructor(public insightSvc: InsiteDataService,) { }\r\n\r\n ngOnInit() {\r\n this.getData()\r\n this.month = new Date().toLocaleString('default', { month: 'long' })\r\n }\r\n\r\n getData() {\r\n this.loading = true\r\n this.insightSvc.fetchLearner().subscribe((res: any)=> {\r\n if (res && res.result && res.result.result && res.result.result.length) {\r\n this.results = res.result.result\r\n this.month = moment().month(Number(res.result.result[0].month) - 1).format('MMMM')\r\n }\r\n this.loading = false\r\n }, (_error: any) => {\r\n // tslint:disable-next-line: align\r\n this.loading = false\r\n })\r\n }\r\n\r\n getRank(rank: number) {\r\n if (rank === 1) {\r\n return \"1st\"\r\n } \r\n if (rank === 2) {\r\n return \"2nd\"\r\n } \r\n if (rank === 3) {\r\n return \"3rd\"\r\n } else {\r\n return `${rank}th`\r\n } \r\n }\r\n\r\n getColor() {\r\n let circleColor = ''\r\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\r\n circleColor = this.colors[randomIndex]\r\n return circleColor\r\n }\r\n\r\n createInititals(name: string) {\r\n let initials = ''\r\n const array = name.toString().split(' ')\r\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\r\n initials += array[0].charAt(0)\r\n initials += array[1].charAt(0)\r\n } else {\r\n for (let i = 0; i < name.length; i += 1) {\r\n if (name.charAt(i) === ' ') {\r\n continue\r\n }\r\n if (name.charAt(i) === name.charAt(i)) {\r\n initials += name.charAt(i)\r\n\r\n if (initials.length === 2) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n return initials.toUpperCase()\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TopLearnersComponent } from './top-learners.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { MatTooltipModule } from '@angular/material';\r\n\r\n@NgModule({\r\n declarations: [TopLearnersComponent],\r\n imports: [\r\n CommonModule,\r\n SkeletonLoaderLibModule,\r\n MatTooltipModule\r\n ],\r\n exports: [TopLearnersComponent],\r\n})\r\nexport class TopLearnersModule { }","import { Directive, Input, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sbUicScrollableItem]'\r\n})\r\nexport class ScrollableItemDirective {\r\n\r\n @Input('sbUicScrollableItem') public key: string\r\n constructor(private el: ElementRef<HTMLElement>) {}\r\n\r\n public scrollIntoView(blockValue: any) {\r\n this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\r\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-cbp-plan',\r\n templateUrl: './cbp-plan.component.html',\r\n styleUrls: ['./cbp-plan.component.scss']\r\n})\r\nexport class CbpPlanComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() mobileHeight: boolean = false\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() channelId: any\r\n @Output() openDialog = new EventEmitter<any>()\r\n isLoading: boolean = false\r\n currentIndex = 0\r\n styleData: any = {}\r\n contentdata: any = []\r\n\r\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\r\n constructor(private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService) { }\r\n\r\n ngOnInit() {\r\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\r\n if (this.objectData && this.objectData.list) {\r\n this.objectData.list.forEach((contentEle: any) => {\r\n let localData = {}\r\n localData['title'] = contentEle.title\r\n localData['downloaUrl'] = contentEle.downloaUrl\r\n localData['cardSubType'] = \"card-wide-lib\"\r\n localData['cardCustomeClass'] = \"\"\r\n this.contentdata.push(localData)\r\n })\r\n }\r\n }\r\n\r\n getCurrentIndex(indexValue: any) {\r\n this.currentIndex = indexValue\r\n }\r\n\r\n getFileName(item: any) {\r\n console.log(item.downloadUrl)\r\n return item.downloadUrl.split(\"/\").at(-1)\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateActualLabel(label, type, '');\r\n }\r\n\r\n downloadCBPPlan(item: any) {\r\n const downloadUrl = item.downloaUrl\r\n const xhr = new XMLHttpRequest()\r\n xhr.open('GET', downloadUrl, true)\r\n xhr.responseType = 'blob'\r\n\r\n xhr.onload = function() {\r\n if (xhr.status === 200) {\r\n const blob = new Blob([xhr.response], { type: 'application/pdf' })\r\n const url = window.URL.createObjectURL(blob)\r\n const a = document.createElement('a')\r\n a.href = url\r\n a.download = downloadUrl.split(\"/\").at(-1)\r\n document.body.appendChild(a)\r\n a.click()\r\n document.body.removeChild(a)\r\n window.URL.revokeObjectURL(url)\r\n } else {\r\n console.error('Error downloading the PDF', xhr.statusText)\r\n }\r\n }\r\n xhr.onerror = function() {\r\n console.error('Network error')\r\n }\r\n xhr.send()\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from '@angular/core'\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\r\nimport { ICarousel, ICarouselStyle } from './sliders-ng-content.model'\r\nimport { Subscription, interval } from 'rxjs'\r\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\r\n\r\n@Component({\r\n selector: 'sb-uic-sliders-ng-content',\r\n templateUrl: './sliders-ng-content.component.html',\r\n styleUrls: ['./sliders-ng-content.component.scss'],\r\n})\r\nexport class SlidersNgContentLibComponent extends WidgetBaseComponent\r\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\r\n @Input() widgetData!: ICarousel[]\r\n @Input() styleData!: ICarouselStyle\r\n @Input() title: any = ''\r\n @Input() loadNgContentData: boolean = false\r\n @Input() autoScroll: boolean = false\r\n @Output() currentIndexValue = new EventEmitter<any>()\r\n \r\n @HostBinding('id')\r\n public id = `banner_${Math.random()}`\r\n private defaultMenuSubscribe: Subscription | null = null\r\n isLtMedium$ = this.valueSvc.isLtMedium$\r\n @Input() currentIndex = 0\r\n slideInterval: Subscription | null = null\r\n isMobile = false\r\n\r\n constructor(\r\n private events: EventService,\r\n private valueSvc: ValueService\r\n ) {\r\n super()\r\n }\r\n\r\n ngOnInit() {\r\n if(this.autoScroll) {\r\n this.reInitiateSlideInterval()\r\n }\r\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\r\n this.isMobile = isLtMedium\r\n })\r\n }\r\n reInitiateSlideInterval() {\r\n if (this.widgetData && this.widgetData.length > 1) {\r\n try {\r\n if (this.slideInterval) {\r\n this.slideInterval.unsubscribe()\r\n }\r\n } catch (e) {\r\n } finally {\r\n this.slideInterval = interval(8000).subscribe(() => {\r\n if (this.currentIndex === this.widgetData.length - 1) {\r\n this.currentIndex = 0\r\n this.currentIndexValue.emit(this.currentIndex)\r\n } else {\r\n this.currentIndex += 1\r\n this.currentIndexValue.emit(this.currentIndex)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n slideTo(index: number) {\r\n if (index >= 0 && index < this.widgetData.length) {\r\n this.currentIndex = index\r\n this.currentIndexValue.emit(this.currentIndex)\r\n } else if (index === this.widgetData.length) {\r\n this.currentIndex = 0\r\n this.currentIndexValue.emit(this.currentIndex)\r\n } else {\r\n this.currentIndex = this.widgetData.length + index\r\n this.currentIndexValue.emit(this.currentIndex)\r\n }\r\n if(this.autoScroll) {\r\n this.reInitiateSlideInterval()\r\n }\r\n }\r\n\r\n get isOpenInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n return true\r\n } return false\r\n }\r\n\r\n openInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n window.open(currentData.redirectUrl)\r\n }\r\n }\r\n raiseTelemetry(bannerUrl: string | undefined) {\r\n this.openInNewTab()\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'banner',\r\n },\r\n {\r\n pageUrl: url,\r\n bannerRedirectUrl: bannerUrl,\r\n },\r\n {\r\n pageIdExt: 'banner',\r\n module: WsEvents.EnumTelemetrymodules.CONTENT,\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.defaultMenuSubscribe) {\r\n this.defaultMenuSubscribe.unsubscribe()\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { SlidersNgContentLibComponent } from './sliders-ng-content.component'\r\nimport { RouterModule } from '@angular/router'\r\nimport { ImageResponsiveModule } from '../../_directives/image-responsive/image-responsive.module'\r\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\r\n/* tslint:disable */\r\nimport Hammer from 'hammerjs'\r\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\r\n/* tslint:enable */\r\nexport class MyHammerConfig extends HammerGestureConfig {\r\n buildHammer(element: HTMLElement) {\r\n const mc = new Hammer(element, {\r\n touchAction: 'pan-y',\r\n })\r\n return mc\r\n }\r\n}\r\n\r\n// tslint:disable-next-line: max-classes-per-file\r\n@NgModule({\r\n declarations: [SlidersNgContentLibComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NavigationModule,\r\n ImageResponsiveModule,\r\n ],\r\n exports: [SlidersNgContentLibComponent],\r\n entryComponents: [SlidersNgContentLibComponent],\r\n providers: [\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: MyHammerConfig,\r\n },\r\n ],\r\n})\r\nexport class SlidersNgContentLibModule { }\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ScrollableItemDirective } from './scrollable-item.directive'\r\n\r\n@NgModule({\r\n declarations: [ScrollableItemDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ScrollableItemDirective],\r\n})\r\nexport class ScrollableItemModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CbpPlanComponent } from './cbp-plan.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { MatIconModule } from '@angular/material';\r\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\r\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CbpPlanComponent],\r\n imports: [\r\n CommonModule,\r\n SkeletonLoaderLibModule,\r\n MatIconModule,\r\n ScrollableItemModule,\r\n SlidersNgContentLibModule,\r\n ],\r\n exports: [CbpPlanComponent]\r\n})\r\nexport class CbpPlanModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { ConsumptionComponent } from './consumption.component';\r\nimport { ContentStripWithTabsLibModule } from './_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { SlidersLibModule } from '../lib/_common/sliders/sliders.module';\r\nimport { DataPointsModule } from './_common/data-points/data-points.module';\r\nimport { CalenderModule } from './_common/calender/calender.module';\r\nimport { CommonStripModule } from './_common/common-strip/common-strip.module';\r\nimport { AnnouncementsModule } from './_common/announcements/announcements.module';\r\nimport { TopLearnersModule } from './_common/top-learners/top-learners.module';\r\nimport { CbpPlanModule } from './_common/cbp-plan/cbp-plan.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ConsumptionComponent,],\r\n imports: [\r\n ContentStripWithTabsLibModule,\r\n SlidersLibModule\r\n ],\r\n exports: [ConsumptionComponent,\r\n ContentStripWithTabsLibModule,\r\n SlidersLibModule,\r\n DataPointsModule,\r\n CalenderModule,\r\n CommonStripModule,\r\n AnnouncementsModule,\r\n TopLearnersModule,\r\n CbpPlanModule,\r\n ],\r\n})\r\nexport class ConsumptionModule { }\r\n","export const ROOT_WIDGET_CONFIG = {\r\n \r\n card: {\r\n _type: 'cardLib',\r\n cardResource: 'cardContentLib'\r\n },\r\n}\r\n","import { NsContent } from './widget-content.model';\r\n\r\nexport namespace NsCardContent {\r\n export interface ICard {\r\n content: NsContent.IContent;\r\n cardSubType: TCardSubType;\r\n context: { pageSection: string; position?: number };\r\n intranetMode?: 'greyOut' | 'hide';\r\n deletedMode?: 'greyOut' | 'hide';\r\n likes?: number;\r\n contentTags?: IContentTags;\r\n stateData: any;\r\n cardCustomeClass?: any;\r\n }\r\n\r\n export interface IContentTags {\r\n daysSpan?: number;\r\n excludeContentType?: NsContent.EContentTypes[];\r\n excludeMimeType?: string[];\r\n tag: string;\r\n criteriaField?: string;\r\n }\r\n\r\n export type TCardSubType =\r\n | 'standard'\r\n | 'minimal'\r\n | 'space-saving'\r\n | 'card-user-details'\r\n | 'basic-info'\r\n | 'basic-details'\r\n | 'card-description-back'\r\n | 'network-card'\r\n | 'user-card';\r\n\r\n export enum EContentStatus {\r\n LIVE = 'Live',\r\n EXPIRED = 'Expired',\r\n DELETED = 'Deleted',\r\n MARK_FOR_DELETION = 'MarkedForDeletion',\r\n }\r\n export enum ACBPConst {\r\n UPCOMING = 'upcoming',\r\n ALL = 'All',\r\n OVERDUE = 'overdue',\r\n SUCCESS = 'success',\r\n }\r\n\r\n export enum IGOTConst {\r\n COMPETENCIES = 'competencies_v5',\r\n RETIRED = 'Retired',\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { WidgetBaseComponent, NsWidgetResolver } from '@sunbird-cb/resolver-v2';\r\nimport { NsCardContent } from '../../_models/card-content.model';\r\nimport { UtilityService } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-cards',\r\n templateUrl: './cards.component.html',\r\n styleUrls: ['./cards.component.scss']\r\n})\r\nexport class CardsComponent extends WidgetBaseComponent\r\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Output() triggerTelemetry = new EventEmitter<any>()\r\n isIntranetAllowedSettings = false\r\n cbPlanMapData: any\r\n cbPlanInterval: any\r\n enrollInterval: any\r\n enrollmentMapData: any\r\n constructor(private utilitySvc: UtilityService,\r\n private contSvc: WidgetContentService,\r\n public router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.cbPlanInterval = setInterval(() => {\r\n this.getCbPlanData()\r\n }, 1000)\r\n \r\n this.enrollInterval = setInterval(() => {\r\n this.getEnrollmentData()\r\n // tslint:disable-next-line\r\n }, 1000)\r\n }\r\n\r\n get isLiveOrMarkForDeletion() {\r\n if (\r\n !this.widgetData.content.status ||\r\n this.widgetData.content.status === 'Live' ||\r\n this.widgetData.content.status === 'MarkedForDeletion'\r\n ) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n get showIntranetContent() {\r\n if (this.widgetData.content.isInIntranet && this.utilitySvc.isMobile) {\r\n return !this.isIntranetAllowedSettings\r\n }\r\n return false\r\n }\r\n async getRedirectUrlData(content: any){\r\n if(content.externalId) {\r\n this.router.navigate(\r\n [`app/toc/ext/${content.contentId}`])\r\n } else {\r\n let urlData = await this.contSvc.getResourseLink(content)\r\n this.router.navigate(\r\n [urlData.url],\r\n {\r\n queryParams: urlData.queryParams\r\n })\r\n }\r\n \r\n }\r\n getCbPlanData() {\r\n let cbpList: any={}\r\n if (localStorage.getItem('cbpData')) {\r\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\r\n if (cbpListArr && cbpListArr.length) {\r\n cbpListArr.forEach((data: any) => {\r\n cbpList[data.identifier] = data\r\n })\r\n }\r\n this.cbPlanMapData = cbpList\r\n // this.karmaPointLoading = false\r\n clearInterval(this.cbPlanInterval)\r\n }\r\n }\r\n\r\n getEnrollmentData() {\r\n if (localStorage.getItem('enrollmentMapData')) {\r\n this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}')\r\n clearInterval(this.enrollInterval)\r\n }\r\n }\r\n\r\n raiseCardClick(data: any) {\r\n this.triggerTelemetry.emit(data)\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\n\r\n@Component({\r\n selector: 'ws-cb-widget-card-resource',\r\n templateUrl: './card-resource.component.html',\r\n styleUrls: ['./card-resource.component.scss'],\r\n})\r\nexport class CardResourceComponent extends WidgetBaseComponent\r\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-portrait',\r\n templateUrl: './card-portrait.component.html',\r\n styleUrls: ['./card-portrait.component.scss']\r\n})\r\nexport class CardPortraitComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n}\r\n","import { Inject, Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipePublicURL',\r\n})\r\nexport class PipePublicURL implements PipeTransform {\r\n environment: any\r\n constructor(\r\n @Inject('environment') environment: any,){\r\n this.environment = environment\r\n }\r\n\r\n transform(value: string): any {\r\n const mainUrl = value && value.split('/content').pop() || ''\r\n const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\r\n return value ? finalURL : ''\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipePublicURL } from './pipe-public-URL.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipePublicURL],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipePublicURL],\r\n})\r\nexport class PipePublicURLModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'objectToArray'\r\n})\r\nexport class ObjectToArrayPipe implements PipeTransform {\r\n // transform(value: any, ...args: any[]): any[] {\r\n // console.log(\"function called\")\r\n // if (!value) {\r\n // return [];\r\n // }\r\n // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), \"Object.keys(value).map(key => ({ key, value: value[key] }))==----------\")\r\n // return Object.keys(value).map(key => ({ key, value: value[key] }));\r\n // }\r\n transform(...args: any[]): any[] { \r\n return args; \r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ObjectToArrayPipe } from './object-to-array.pipe'\r\n\r\n@NgModule({\r\n declarations: [ObjectToArrayPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ObjectToArrayPipe],\r\n})\r\nexport class ObjectToArrayPipeModule { }","import { Component, OnInit, Input } from '@angular/core'\r\nimport { NsContent } from '../../_models/widget-content.model'\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service'\r\n\r\n@Component({\r\n selector: 'sb-uic-display-content-type',\r\n templateUrl: './display-content-type-lib.component.html',\r\n styleUrls: ['./display-content-type-lib.component.scss'],\r\n})\r\nexport class DisplayContentTypeLibComponent implements OnInit {\r\n @Input() useTranslation: boolean = true\r\n @Input() displayContentType: NsContent.EDisplayContentTypes = NsContent.EDisplayContentTypes.DEFAULT\r\n displayContentTypeEnum = NsContent.EDisplayContentTypes\r\n constructor(private langtranslations: MultilingualTranslationsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '')\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DisplayContentTypeLibComponent } from './display-content-type-lib.component'\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms'\r\n\r\n@NgModule({\r\n declarations: [DisplayContentTypeLibComponent],\r\n imports: [CommonModule, ReactiveFormsModule, FormsModule],\r\n exports: [DisplayContentTypeLibComponent],\r\n})\r\nexport class DisplayContentTypeLibModule {}\r\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as moment from 'moment'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour' | 'hms2H' | 'hms2M'| 'day'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n case 'hms2H':\r\n /**to Print HH:mm:ss */\r\n const duration2 = moment.duration(data, 'seconds')\r\n const resultstring = moment.utc(duration2.asMilliseconds()).format('HH:mm:ss')\r\n return resultstring\r\n case 'hms2M': /**to Print mm:ss */\r\n const duration2H = moment.duration(data, 'seconds')\r\n const resultstring2H = moment.utc(duration2H.asMilliseconds()).format('mm:ss')\r\n\r\n return resultstring2H\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n case 'day':\r\n if (h > 24) {\r\n const duration3 = moment.duration(data, 'seconds')\r\n return `${duration3.days()} day(s)`\r\n }\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n hmsCalculation(h: number, m: number, s: number, dur: string, type: string) {\r\n let space = ''\r\n let duration = dur\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardUser } from '../../../_models/card-users.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-user',\r\n templateUrl: './card-user.component.html',\r\n styleUrls: ['./card-user.component.scss']\r\n})\r\nexport class CardUserComponent implements OnInit {\r\n @Input() widgetData!: NsCardUser.ICard;\r\n @Output() userData = new EventEmitter<any>()\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n }\r\n }\r\n\r\n getRedirectUrlData(userData: any){\r\n this.userData.emit(userData)\r\n }\r\n raiseTelemetry() {\r\n // if(this.forPreview){\r\n // return\r\n // }\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: `${this.widgetType}-${this.widgetSubType}`,\r\n id: `${_.camelCase(this.widgetData.content.userId)}-card`,\r\n },\r\n {\r\n id: this.widgetData.content.userId,\r\n // type: this.widgetData.user.primaryCategory,\r\n //context: this.widgetData.context,\r\n rollup: {},\r\n // ver: `${this.widgetData.user.version}${''}`,\r\n },\r\n {\r\n pageIdExt: `${_.camelCase('user')}-card`,\r\n module: _.camelCase('user'),\r\n })\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n \r\n@Component({\r\n selector: 'sb-uic-card-landscape',\r\n templateUrl: './card-landscape.component.html',\r\n styleUrls: ['./card-landscape.component.scss']\r\n})\r\nexport class CardLandscapeComponent implements OnInit {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Output() triggerTelemetry = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n defaultThumbnail: any\r\n acbpConstants = NsCardContent.ACBPConst\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n cbPlanInterval: any\r\n \r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n this.cbPlanInterval = setInterval(() => {\r\n this.getCbPlanData()\r\n }, 1000)\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n this.contentData.emit(contentData)\r\n }\r\n raiseTelemetry(content: any) {\r\n this.triggerTelemetry.emit(content)\r\n }\r\n\r\n\r\n getCbPlanData() {\r\n let cbpList: any={}\r\n if (localStorage.getItem('cbpData')) {\r\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\r\n if (cbpListArr && cbpListArr.length) {\r\n cbpListArr.forEach((data: any) => {\r\n cbpList[data.identifier] = data\r\n })\r\n }\r\n // this.cbPlanMapData = cbpList\r\n // this.karmaPointLoading = false\r\n clearInterval(this.cbPlanInterval)\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-wide',\r\n templateUrl: './card-wide.component.html',\r\n styleUrls: ['./card-wide.component.scss']\r\n})\r\nexport class CardWideComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n isCardFlipped:boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n \r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n getRedirectUrlData(contentData: any){\r\n this.contentData.emit(contentData)\r\n }\r\n raiseTelemetry() {\r\n // if(this.forPreview){\r\n // return\r\n // }\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: `${this.widgetType}-${this.widgetSubType}`,\r\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n },\r\n {\r\n id: this.widgetData.content.identifier,\r\n type: this.widgetData.content.primaryCategory,\r\n //context: this.widgetData.context,\r\n rollup: {},\r\n ver: `${this.widgetData.content.version}${''}`,\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n module: _.camelCase(this.widgetData.content.primaryCategory),\r\n })\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-mdo-channel',\r\n templateUrl: './card-mdo-channel.component.html',\r\n styleUrls: ['./card-mdo-channel.component.scss']\r\n})\r\nexport class CardMDOChannelComponent implements OnInit {\r\n @Input() widgetData!: NsContent.IContent;\r\n @Output() channelData = new EventEmitter<any>()\r\n @Output() emitTelemetry = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n public router: Router) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n raiseTelemetry(contentData: any) {\r\n this.emitTelemetry.emit(contentData)\r\n if (this.widgetData) {\r\n contentData['typeOfTelemetry'] = 'mdo-channel'\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n }\r\n channelClick(channeldata:any) {\r\n this.channelData.emit(channeldata)\r\n }\r\n\r\n redirectTo(content: any) {\r\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-wide-v2',\r\n templateUrl: './card-wide-v2.component.html',\r\n styleUrls: ['./card-wide-v2.component.scss']\r\n})\r\nexport class CardWideV2Component implements OnInit {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() cbPlanMapData: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Output() triggerTelemetry = new EventEmitter<any>()\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n this.contentData.emit(contentData)\r\n }\r\n raiseTelemetry(contentData: any) {\r\n this.triggerTelemetry.emit(contentData)\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { Router } from '@angular/router';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-karma-programs',\r\n templateUrl: './card-karma-programs.component.html',\r\n styleUrls: ['./card-karma-programs.component.scss']\r\n})\r\nexport class CardKarmaProgramsComponent implements OnInit {\r\n\r\n @Input() widgetData!: NsContent.IContent;\r\n @Input() randomColorApply: boolean = false\r\n @Output() userData = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n randomColors: any = [\r\n '#EF941D',\r\n '#F97440',\r\n '#35B5B0',\r\n '#9988FF',\r\n '#254092',\r\n '#926525',\r\n '#4F72DF'\r\n ]\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n private router: Router) {\r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n this.setRandomColor()\r\n }\r\n\r\n setRandomColor(){\r\n if(this.widgetData && this.widgetData.content) {\r\n if(this.randomColorApply){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\r\n }else {\r\n this.widgetData.content['bgColor'] = '#1a4ca1'\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n get getRandomColors(){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n return this.randomColors[randomIndex1]\r\n }\r\n\r\n redirectTo(data: any) {\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n data['typeOfTelemetry'] = 'karma-programs'\r\n }\r\n this.contSvc.changeTelemetryData(data)\r\n this.router.navigate(\r\n [`/app/learn/karma-programs/${data.title}/${data.playListKey}/${data.orgId}/micro-sites`],\r\n )\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-karma-programs-v2',\r\n templateUrl: './card-karma-programs-v2.component.html',\r\n styleUrls: ['./card-karma-programs-v2.component.scss']\r\n})\r\nexport class CardKarmaProgramsV2Component implements OnInit {\r\n\r\n @Input() widgetData!: NsContent.IContent;\r\n @Input() randomColorApply: boolean = false\r\n @Output() userData = new EventEmitter<any>()\r\n @Output() raiseTemeletry = new EventEmitter<any>()\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n randomColors: any = [\r\n '#EF941D',\r\n '#F97440',\r\n '#35B5B0',\r\n '#9988FF',\r\n '#254092',\r\n '#926525',\r\n '#4F72DF'\r\n ]\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private router : Router,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n this.setRandomColor()\r\n }\r\n\r\n setRandomColor(){\r\n if(this.widgetData && this.widgetData.content) {\r\n if(this.randomColorApply){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\r\n }else {\r\n this.widgetData.content['bgColor'] = '#1a4ca1'\r\n }\r\n }\r\n }\r\n\r\n redirectTo(content: any) {\r\n this.raiseTemeletry.emit(content)\r\n this.router.navigate(\r\n [`/app/learn/karma-programs/${content.title}/${content.playListKey}/${content.orgId}/micro-sites`],\r\n )\r\n }\r\n\r\n get getRandomColors(){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n return this.randomColors[randomIndex1]\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-provider-card',\r\n templateUrl: './provider-card.component.html',\r\n styleUrls: ['./provider-card.component.scss']\r\n})\r\nexport class ProviderCardComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() randomColorApply: boolean = true\r\n @Input() isCardLoading: boolean = false\r\n\r\n colors = [\r\n '#EF941D', '#F97440', '#35B5B0', '#9988FF', '#816FEC',\r\n '#254092', '#926525', '#4F72DF'\r\n ];\r\n\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit() {\r\n this.setRandomColor()\r\n }\r\n\r\n setRandomColor(){\r\n if(this.widgetData && this.widgetData.content) {\r\n if(this.randomColorApply){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.colors.length))\r\n this.widgetData.content['bgColor'] = this.colors[randomIndex1]\r\n }else {\r\n this.widgetData.content['bgColor'] = '#1a4ca1'\r\n }\r\n }\r\n }\r\n \r\n\r\n redirectTo(content: any) { \r\n this.router.navigate([`/app/learn/browse-by/provider/${content.name}/${content.orgId}/micro-sites`])\r\n }\r\n\r\n\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-portrait-ext',\r\n templateUrl: './card-portrait-ext.component.html',\r\n styleUrls: ['./card-portrait-ext.component.scss']\r\n})\r\nexport class CardPortraitExtComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n if (this.widgetData && this.widgetData.content) {\r\n this.widgetData.content.duration = this.widgetData.content.duration * 60\r\n }\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// import { WidgetUserService } from '../../../../_services/widget-user.service';\r\nimport { ConfigurationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-assessment',\r\n templateUrl: './card-assessment.component.html',\r\n styleUrls: ['./card-assessment.component.css']\r\n})\r\n\r\n// @Directive({\r\n// selector: '[callFunctionOnInit]'\r\n// })\r\nexport class CardAssessmentComponent implements OnInit {\r\n @Input() widgetData!: NsContent.IContent;\r\n @Input() enrollmentMapData: any\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n stripData: any = []\r\n enrollList: any = []\r\n activeResource: any = []\r\n defaultThumbnail: any\r\n defaultSLogo: any\r\n daysRemaining: number = 0;\r\n startDate: any\r\n endDate: any\r\n daysPending: boolean = false\r\n daysFinish: boolean = false\r\n private intervalId: any;\r\n days: number;\r\n hours: number;\r\n minutes: number;\r\n constructor(private configSvc: ConfigurationsService, private contSvc: WidgetContentService,) { }\r\n\r\n ngOnInit(): void {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n }\r\n }\r\n\r\n startCountdown(data: any): void {\r\n let startDate = data.startDate\r\n this.updateCountdown(startDate);\r\n // this.intervalId = setInterval(() => {\r\n // this.updateCountdown(startDate);\r\n // }, 1000);\r\n }\r\n\r\n // Method to update the countdown values\r\n updateCountdown(startDate: any): void {\r\n let now = new Date().getTime()\r\n let startingDate: any = new Date(startDate).getTime()\r\n // startingDate.setHours(startingDate.getHours() - 5);\r\n // startingDate.setMinutes(startingDate.getMinutes() - 30);\r\n // startingDate = startingDate.getTime()\r\n const distance = startingDate - now; \r\n if (distance > 0) {\r\n this.daysPending = true\r\n this.days = Math.floor(distance / (1000 * 60 * 60 * 24));\r\n this.hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n this.minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n } else {\r\n this.daysRemaining = 0;\r\n this.daysPending = false\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n getRedirectUrlData(contentData: any) {\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\n\r\nconst urls = {\r\n DOWNLOAD_CERTIFICATE: (id: string) => `certreg/v2/certs/download/${id}`,\r\n DOWNLOAD_CERTIFICATE_v2: (id: string) => `apis/protected/v8/cohorts/course/batch/cert/download/${id}`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class CertificateService {\r\n\r\n constructor(private http: HttpClient) { }\r\n downloadCertificate(id: string): Observable<any> {\r\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE(id))\r\n }\r\n\r\n downloadCertificate_v2(id: string): Observable<any> {\r\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE_v2(id))\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core'\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'\r\nimport { TranslateService } from '@ngx-translate/core'\r\nimport { EventService, MultilingualTranslationsService, WsEvents } from '@sunbird-cb/utils-v2'\r\nimport { jsPDF } from 'jspdf'\r\n\r\n@Component({\r\n selector: 'sb-uic-certificate-dialog',\r\n templateUrl: './certificate-dialog.component.html',\r\n styleUrls: ['./certificate-dialog.component.scss'],\r\n /* tslint:disable */\r\n host: { class: 'certificate-inner-dialog-panel' },\r\n /* tslint:enable */\r\n})\r\nexport class CertificateDialogComponent implements OnInit {\r\n url!: string\r\n navUrl = ''\r\n environment: any\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n public dialogRef: MatDialogRef<CertificateDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.environment = environment\r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.url = this.data.cet\r\n // tslint:disable-next-line:max-line-length\r\n this.navUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${this.environment.contentHost}/apis/public/v8/cert/download/${this.data.certId}`\r\n }\r\n\r\n downloadCert() {\r\n this.raiseIntreactTelemetry('svg')\r\n const a: any = document.createElement('a')\r\n a.href = this.data.cet\r\n a.download = 'Certificate'\r\n document.body.appendChild(a)\r\n a.style = 'display: none'\r\n a.click()\r\n a.remove()\r\n }\r\n\r\n downloadCertPng() {\r\n this.raiseIntreactTelemetry('png')\r\n const uriData = this.data.cet\r\n const img = new Image()\r\n img.src = uriData\r\n img.width = 1820\r\n img.height = 1000\r\n img.onload = () => {\r\n const canvas = document.createElement('canvas');\r\n [canvas.width, canvas.height] = [img.width, img.height]\r\n const ctx = canvas.getContext('2d')\r\n if (ctx) {\r\n // ctx.imageSmoothingEnabled = true\r\n ctx.drawImage(img, 0, 0, img.width, img.height)\r\n const a = document.createElement('a')\r\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\r\n a.href = canvas.toDataURL('image/png', quality)\r\n a.download = 'Certificate'\r\n a.append(canvas)\r\n a.click()\r\n a.remove()\r\n }\r\n }\r\n }\r\n async downloadCertPdf() {\r\n this.raiseIntreactTelemetry('pdf')\r\n const uriData = this.data.cet\r\n const img = new Image()\r\n img.src = uriData\r\n img.width = 1820\r\n img.height = 1000\r\n img.onload = () => {\r\n const canvas = document.createElement('canvas');\r\n [canvas.width, canvas.height] = [img.width, img.height]\r\n const ctx = canvas.getContext('2d')\r\n if (ctx) {\r\n ctx.drawImage(img, 0, 0, img.width, img.height)\r\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\r\n const dataImg = canvas.toDataURL('application/pdf', quality)\r\n const pdf = new jsPDF('landscape', 'px', 'a4')\r\n\r\n // add the image to the PDF\r\n pdf.addImage(dataImg, 10, 20, 600, 350)\r\n\r\n // download the PDF\r\n pdf.save('Certificate.pdf')\r\n }\r\n }\r\n }\r\n\r\n shareCert() {\r\n this.raiseShareIntreactTelemetry('share')\r\n return window.open(this.navUrl, '_blank')\r\n }\r\n\r\n raiseShareIntreactTelemetry(type?: string, action?: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: `${type}-${WsEvents.EnumInteractSubTypes.CERTIFICATE}`,\r\n subType: action && action,\r\n },\r\n {\r\n id: this.data.certId, // id of the certificate\r\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n }\r\n )\r\n }\r\n\r\n raiseIntreactTelemetry(action?: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: 'download-certificate',\r\n subType: action && action,\r\n },\r\n {\r\n id: this.data.certId, // id of the certificate\r\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n }\r\n )\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatDialog, MatSnackBar } from '@angular/material'\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { ConfigurationsService, EventService, WsEvents } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { CertificateService } from '../../../_services/certificate.service';\r\nimport { CertificateDialogComponent } from '../../dialog-components/certificate-dialog/certificate-dialog.component';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-progress-portrait-lib',\r\n templateUrl: './card-progress-portrait-lib.component.html',\r\n styleUrls: ['./card-progress-portrait-lib.component.scss']\r\n})\r\nexport class CardProgressPortraitLibComponent implements OnInit {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n downloadCertificateLoading: boolean = false\r\n\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private translate: TranslateService,\r\n private events: EventService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n private certificateService: CertificateService,\r\n private dialog: MatDialog,\r\n ) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n\r\n translateLabels(label: string, type: any, subtype?: any) {\r\n return this.langtranslations.translateLabelWithoutspace(label, type, subtype)\r\n }\r\n raiseTelemetry() {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: `${this.widgetType}-${this.widgetSubType}`,\r\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n },\r\n {\r\n id: this.widgetData.content.identifier,\r\n type: this.widgetData.content.primaryCategory,\r\n //context: this.widgetData.context,\r\n rollup: {},\r\n ver: `${this.widgetData.content.version}${''}`,\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n module: _.camelCase(this.widgetData.content.primaryCategory),\r\n })\r\n }\r\n\r\n downloadCertificate(certificateData: any) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: 'view-certificate',\r\n subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n },\r\n {\r\n id: certificateData.issuedCertificates[0].identifier, // id of the certificate\r\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n })\r\n if(certificateData.issuedCertificates.length > 0) {\r\n this.downloadCertificateLoading = true\r\n let certData: any = certificateData.issuedCertificates[0]\r\n this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((res: any)=>{\r\n this.downloadCertificateLoading = false\r\n const cet = res.result.printUri\r\n this.dialog.open(CertificateDialogComponent, {\r\n width: '1300px',\r\n data: { cet, certId: certData.identifier },\r\n })\r\n })\r\n } else {\r\n this.downloadCertificateLoading = false\r\n }\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Input, OnChanges } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'sb-uic-content-progress',\r\n templateUrl: './content-progress.component.html',\r\n styleUrls: ['./content-progress.component.scss'],\r\n /* tslint:disable */\r\n host: {\r\n // Sets the role for this component to \"progressbar\"\r\n role: 'progressbar',\r\n // Sets the minimum and maximum values for the progressbar role.\r\n 'aria-valuemin': '0',\r\n 'aria-valuemax': '100',\r\n 'title': 'progres',\r\n // Binding that updates the current value of the progressbar.\r\n '[attr.aria-valuenow]': 'progress',\r\n },\r\n /* tslint:enable */\r\n})\r\nexport class ContentProgressComponent implements OnChanges {\r\n @Input()\r\n contentId = ''\r\n\r\n @Input()\r\n progress = 0\r\n\r\n @Input()\r\n progressType = ''\r\n\r\n @Input()\r\n forPreview = false\r\n\r\n @Input()\r\n className = ''\r\n @Input()\r\n customClassName: any = 'accent-progress'\r\n\r\n rendom = Math.random()\r\n @HostBinding('id')\r\n public id = `progress_${Math.random()}`\r\n constructor(\r\n // private progressSvc: ContentProgressService\r\n ) {\r\n if (this.contentId) {\r\n this.id = this.contentId\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.contentId && !this.progress && !this.forPreview) {\r\n // this.progressSvc.getProgressFor(this.contentId).subscribe(data => {\r\n // this.progress = data\r\n // if (this.progress) {\r\n // this.progress = Math.round(this.progress * 10000) / 100\r\n // }\r\n // })\r\n }\r\n\r\n if (this.progress) {\r\n if (this.progressType === 'percentage') {\r\n this.progress = this.progress\r\n } else {\r\n this.progress = Math.round(this.progress * 10000) / 100\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ContentProgressComponent } from './content-progress.component'\r\nimport { MatProgressBarModule, MatTooltipModule } from '@angular/material'\r\n\r\n@NgModule({\r\n declarations: [ContentProgressComponent],\r\n imports: [\r\n CommonModule,\r\n MatProgressBarModule,\r\n MatTooltipModule,\r\n ],\r\n exports: [ContentProgressComponent],\r\n})\r\nexport class ContentProgressModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CertificateDialogComponent } from './certificate-dialog/certificate-dialog.component';\r\nimport { MatCardModule, MatDialogModule, MatIconModule, MatMenuModule } from '@angular/material';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CertificateDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatMenuModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n PipeSafeSanitizerModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports:[\r\n CertificateDialogComponent\r\n ],\r\n entryComponents: [CertificateDialogComponent],\r\n})\r\nexport class DialogComponentsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'sb-uic-card-mdo-channel-v1',\r\n templateUrl: './card-mdo-channel-v1.component.html',\r\n styleUrls: ['./card-mdo-channel-v1.component.scss']\r\n})\r\nexport class CardMdoChannelV1Component implements OnInit {\r\n @Input() widgetData!: NsContent.IContent;\r\n @Output() channelData = new EventEmitter<any>()\r\n @Output() emitTelemetry = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n public router: Router) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n raiseTelemetry(contentData: any) {\r\n this.emitTelemetry.emit(contentData)\r\n if (this.widgetData) {\r\n contentData['typeOfTelemetry'] = 'mdo-channel'\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n }\r\n channelClick(channeldata:any) {\r\n this.channelData.emit(channeldata)\r\n }\r\n\r\n redirectTo(content: any) {\r\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'sb-uic-avatar-photo',\r\n templateUrl: './avatar-photo-lib.component.html',\r\n styleUrls: ['./avatar-photo-lib.component.scss'],\r\n})\r\nexport class AvatarPhotoLibComponent implements OnInit, OnChanges {\r\n @Input() datalen: any\r\n\r\n @Input()\r\n public photoUrl!: string\r\n\r\n @Input()\r\n public name!: string\r\n @Input() public size = ''\r\n @Input() public defaulfColor = ''\r\n @Input() randomColor = false\r\n @Input() initials?: string\r\n @Input() showBadge = false\r\n public showInitials = false\r\n public circleColor!: string\r\n random = Math.random().toString(36).slice(2)\r\n\r\n // public initials!: string\r\n\r\n private colors = [\r\n '#EB7181', // red\r\n '#306933', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n '#4E9E87',\r\n '#7E4C8D',\r\n ]\r\n\r\n private randomcolors = [\r\n '#EB7181', // red\r\n '#006400', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n '#4E9E87',\r\n '#7E4C8D',\r\n ]\r\n\r\n ngOnInit() {\r\n if (!this.photoUrl) {\r\n this.showInitials = true\r\n if (!this.initials) {\r\n this.createInititals()\r\n }\r\n if (this.datalen === 1) {\r\n if(this.defaulfColor) {\r\n this.randomcolors = [\r\n this.defaulfColor\r\n ]\r\n } else {\r\n this.randomcolors = [\r\n '#006400', // green\r\n ]\r\n }\r\n }\r\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\r\n this.circleColor = this.colors[randomIndex]\r\n if (this.randomColor) {\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomcolors.length))\r\n this.circleColor = this.randomcolors[randomIndex1]\r\n }\r\n }\r\n\r\n }\r\n ngOnChanges(change: SimpleChanges) {\r\n if (change.name.currentValue !== change.name.previousValue && !change.name.firstChange) {\r\n this.createInititals()\r\n }\r\n }\r\n get userInitials() {\r\n return this.initials\r\n }\r\n private createInititals(): void {\r\n let initials = ''\r\n const array = `${this.name} `.toString().split(' ')\r\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\r\n initials += array[0].charAt(0)\r\n initials += array[1].charAt(0)\r\n } else {\r\n for (let i = 0; i < this.name.length; i += 1) {\r\n if (this.name.charAt(i) === ' ') {\r\n continue\r\n }\r\n\r\n if (this.name.charAt(i) === this.name.charAt(i)) {\r\n initials += this.name.charAt(i)\r\n\r\n if (initials.length === 2) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n this.initials = initials.toUpperCase()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { RouterModule } from '@angular/router'\r\nimport { MatButtonModule, MatIconModule, MatMenuModule, MatRippleModule } from '@angular/material'\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2'\r\nimport { AvatarPhotoLibComponent } from './avatar-photo-lib.component'\r\n\r\n@NgModule({\r\n declarations: [AvatarPhotoLibComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n SbUiResolverModule,\r\n ],\r\n exports: [AvatarPhotoLibComponent],\r\n entryComponents: [AvatarPhotoLibComponent],\r\n})\r\nexport class AvatarPhotoLibModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule, MatCardModule, MatIconModule, MatProgressSpinnerModule, MatTooltipModule } from '@angular/material';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CardResourceComponent } from './card-resource/card-resource.component';\r\nimport { CardsComponent } from './cards.component';\r\nimport { CardPortraitComponent } from './card-portrait/card-portrait.component';\r\nimport { PipePublicURLModule } from '../../_pipes/pipe-public-URL/pipe-public-URL.module';\r\nimport { ObjectToArrayPipeModule } from '../../_pipes/object-to-array/object-to-array.pipe.module';\r\nimport { DisplayContentTypeLibModule } from '../display-content-type-lib/display-content-type-lib.module';\r\nimport { DefaultThumbnailModule } from '../../_directives/default-thumbnail/default-thumbnail.module';\r\nimport { PipeDurationTransformModule } from '../../_pipes/pipe-duration-transform/pipe-duration-transform.module';\r\nimport { CardUserComponent } from './card-user/card-user.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { CardLandscapeComponent } from './card-landscape/card-landscape.component';\r\nimport { CardWideComponent } from './card-wide/card-wide.component';\r\nimport { CardMDOChannelComponent } from './card-mdo-channel/card-mdo-channel.component';\r\nimport { CardWideV2Component } from './card-wide-v2/card-wide-v2.component';\r\nimport { CardKarmaProgramsComponent } from './card-karma-programs/card-karma-programs.component';\r\nimport { CardKarmaProgramsV2Component } from './card-karma-programs-v2/card-karma-programs-v2.component';\r\nimport { ProviderCardComponent } from './provider-card/provider-card.component';\r\nimport { CardPortraitExtComponent } from './card-portrait-ext/card-portrait-ext.component';\r\nimport { CardAssessmentComponent } from './card-assessment/card-assessment/card-assessment.component';\r\nimport { CardProgressPortraitLibComponent } from './card-progress-portrait-lib/card-progress-portrait-lib.component';\r\n// import { ContentProgressComponent } from './content-progress/content-progress.component';\r\nimport { ContentProgressModule } from './../content-progress/content-progress.module';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DialogComponentsModule } from '../dialog-components/dialog-components.module';\r\nimport { CardMdoChannelV1Component } from './card-mdo-channel-v1/card-mdo-channel-v1.component';\r\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CardResourceComponent,\r\n CardsComponent,CardPortraitComponent,\r\n CardUserComponent,\r\n CardLandscapeComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n ProviderCardComponent,\r\n CardPortraitExtComponent,\r\n CardAssessmentComponent,\r\n CardProgressPortraitLibComponent,\r\n CardMdoChannelV1Component\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n PipePublicURLModule,\r\n ObjectToArrayPipeModule,\r\n DisplayContentTypeLibModule,\r\n DefaultThumbnailModule,\r\n PipeDurationTransformModule,\r\n SkeletonLoaderLibModule,\r\n MatProgressSpinnerModule,\r\n ContentProgressModule,\r\n DialogComponentsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n AvatarPhotoLibModule\r\n ],\r\n entryComponents:[CardsComponent],\r\n exports: [\r\n CardsComponent,\r\n CardResourceComponent,\r\n CardPortraitComponent, \r\n CardLandscapeComponent,\r\n CardUserComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n CardPortraitExtComponent,\r\n ],\r\n})\r\nexport class CardsModule { }\r\n","import { NsWidgetResolver } from '@sunbird-cb/resolver-v2'\r\nimport { ROOT_WIDGET_CONFIG } from './consumption.config'\r\n// Components\r\nimport { CardsComponent } from './_common/cards/cards.component'\r\nimport { CardsModule } from './_common/cards/cards.module'\r\n\r\n\r\nexport const WIDGET_REGISTERED_LIB_MODULES = [\r\n CardsModule\r\n]\r\n\r\nexport const WIDGET_REGISTRATION_LIB_CONFIG: NsWidgetResolver.IRegistrationConfig[] = [\r\n {\r\n widgetType: ROOT_WIDGET_CONFIG.card._type,\r\n widgetSubType: ROOT_WIDGET_CONFIG.card.cardResource,\r\n component: CardsComponent,\r\n }\r\n]\r\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsContentStripWithTabsAndPills } from './content-strip-with-tabs-pills.model';\r\n// import { HttpClient } from '@angular/common/http'\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { NsContent } from '../../../_models/widget-content.model';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport {\r\n TFetchStatus,\r\n LoggerService,\r\n EventService,\r\n ConfigurationsService,\r\n UtilityService,\r\n WsEvents,\r\n} from '@sunbird-cb/utils-v2';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { WidgetUserService } from '../../../_services/widget-user.service';\r\n// import { environment } from 'src/environments/environment'\r\n// tslint:disable-next-line\r\nimport * as _ from 'lodash'\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { NsCardContent } from '../../../_models/card-content-v2.model';\r\nimport { ITodayEvents } from '../../../_models/event';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\ninterface IStripUnitContentData {\r\n key: string;\r\n canHideStrip: boolean;\r\n mode?: string;\r\n showStrip: boolean;\r\n disableTranslate: boolean;\r\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\r\n stripTitle: string;\r\n stripTitleLink?: {\r\n link: {\r\n queryParams: string\r\n },\r\n icon: string,\r\n queryParams: string\r\n };\r\n sliderConfig?: {\r\n showNavs: boolean,\r\n showDots: boolean,\r\n maxWidgets?: number\r\n cerificateCardMargin?: boolean\r\n };\r\n stripConfig: any;\r\n tabs?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined;\r\n stripName?: string;\r\n stripLogo?: string;\r\n description?: string;\r\n stripInfo?: NsContentStripWithTabsAndPills.IStripInfo;\r\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n showOnNoData: boolean;\r\n showOnLoader: boolean;\r\n showOnError: boolean;\r\n loaderWidgets?: any;\r\n stripBackground?: string;\r\n secondaryHeading?: any;\r\n viewMoreUrl: any;\r\n request?: any\r\n \r\n}\r\n\r\n\r\n@Component({\r\n selector: 'sb-uic-content-strip-with-tabs-pills',\r\n templateUrl: './content-strip-with-tabs-pills.component.html',\r\n styleUrls: ['./content-strip-with-tabs-pills.component.scss']\r\n})\r\nexport class ContentStripWithTabsPillsComponent extends WidgetBaseComponent\r\nimplements\r\nOnInit,\r\nOnDestroy,\r\nNsWidgetResolver.IWidgetData<NsContentStripWithTabsAndPills.IContentStripMultiple> {\r\n @Input() widgetData!: NsContentStripWithTabsAndPills.IContentStripMultiple;\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() viewAllResponse = new EventEmitter<any>()\r\n @Output() telemtryResponse = new EventEmitter<any>()\r\n @Input() providerId : any = ''\r\n @Input() emitViewAll : boolean = false\r\n @Input() channnelName: any = ''\r\n @HostBinding('id')\r\n public id = `ws-strip-miltiple_${Math.random()}`;\r\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\r\n stripsKeyOrder: string[] = [];\r\n showAccordionData = true;\r\n showParentLoader = false;\r\n showParentError = false;\r\n showParentNoData = false;\r\n errorDataCount = 0;\r\n noDataCount = 0;\r\n successDataCount = 0;\r\n contentAvailable = true;\r\n baseUrl = this.configSvc.sitePath || '';\r\n veifiedKarmayogi = false;\r\n environment!: any;\r\n changeEventSubscription: Subscription | null = null;\r\n defaultMaxWidgets = 12;\r\n enrollInterval: any;\r\n todaysEvents: any = [];\r\n enrollmentMapData: any\r\n\r\n constructor(\r\n // private contentStripSvc: ContentStripNewMultipleService,\r\n @Inject('environment') environment: any,\r\n private contentSvc: WidgetContentService,\r\n private loggerSvc: LoggerService,\r\n private eventSvc: EventService,\r\n private configSvc: ConfigurationsService,\r\n public utilitySvc: UtilityService,\r\n // private http: HttpClient,\r\n // private searchServSvc: SearchServService,\r\n public router: Router,\r\n private userSvc: WidgetUserService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService\r\n ) {\r\n super();\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en');\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n }\r\n this.environment = environment\r\n }\r\n\r\n ngOnInit() {\r\n // const url = window.location.href\r\n this.initData();\r\n this.contentSvc.telemetryData$.subscribe((data: any) => {\r\n this.telemtryResponse.emit(data)\r\n })\r\n\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.changeEventSubscription) {\r\n this.changeEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showAccordion(key: string) {\r\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\r\n return this.showAccordionData;\r\n }\r\n return true;\r\n }\r\n\r\n setHiddenForStrip(key: string) {\r\n this.stripsResultDataMap[key].showStrip = false;\r\n sessionStorage.setItem(`cstrip_${key}`, '1');\r\n }\r\n private getIfStripHidden(key: string): boolean {\r\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\r\n return Boolean(storageItem !== '1');\r\n }\r\n\r\n private initData() {\r\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\r\n if (this.widgetData.loader && this.widgetData.strips.length) {\r\n this.showParentLoader = true;\r\n }\r\n // Fetch the data\r\n for (const strip of this.widgetData.strips) {\r\n if (this.checkForEmptyWidget(strip)) {\r\n this.fetchStripFromRequestData(strip, false);\r\n } else {\r\n this.processStrip(strip, [], 'done', true, null);\r\n }\r\n }\r\n // Subscription for changes\r\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\r\n .map(strip => ({\r\n key: strip.key,\r\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\r\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\r\n }))\r\n .filter(({ key, type, from }) => key && type && from);\r\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\r\n this.changeEventSubscription = this.eventSvc.events$\r\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\r\n .subscribe(event => {\r\n keyAndEvent\r\n .filter(e => e.type === event.eventType && e.from === event.from)\r\n .map(e => e.key)\r\n .forEach(k => this.fetchStripFromKey(k, false));\r\n });\r\n }\r\n\r\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\r\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\r\n if (stripData) {\r\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\r\n }\r\n }\r\n\r\n isStripShowing(data: any) {\r\n let count = 0;\r\n \r\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\r\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\r\n data.widgets.forEach((key: any) => {\r\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n data.showStrip = true;\r\n } else {\r\n data.showStrip = false;\r\n }\r\n }\r\n // console.log('data.key', data, data.key, data.widgets);\r\n return data.showStrip;\r\n }\r\n\r\n get isMobile() {\r\n return this.utilitySvc.isMobile || false;\r\n }\r\n\r\n getdata(data: IStripUnitContentData) {\r\n if (data.stripInfo) {\r\n return data.stripInfo.widget;\r\n }\r\n return {};\r\n\r\n }\r\n checkCondition(wData: NsContentStripWithTabsAndPills.IContentStripMultiple, data: IStripUnitContentData) {\r\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\r\n return !wData.strips[0].stripConfig.hideShowAll;\r\n }\r\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\r\n }\r\n checkVisible(data: IStripUnitContentData) {\r\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\r\n }\r\n\r\n getContineuLearningLenth(data: IStripUnitContentData) {\r\n return data.widgets ? data.widgets.length : 0;\r\n }\r\n getLength(data: IStripUnitContentData) {\r\n if (!data.tabs || !data.tabs.length) {\r\n return data.widgets ? data.widgets.length : 0;\r\n } {\r\n // if tabs are there check if each tab has widgets and get the tab with max widgets\r\n let tabWithMaxWidgets: any = {}\r\n data.tabs.forEach((tab: any)=>{\r\n if(tab.pillsData && tab.pillsData.length){\r\n tabWithMaxWidgets = tab.pillsData.reduce(\r\n (prev: any, current: any) => {\r\n if (!prev.widgets && !current.widgets) {\r\n return current;\r\n }\r\n if (prev.widgets && current.widgets) {\r\n return (prev.widgets.length > current.widgets.length) ? prev : current;\r\n }\r\n if (current.widgets && !prev.widgets) {\r\n return current;\r\n }\r\n if (!current.widgets && prev.widgets) {\r\n return prev;\r\n }\r\n return current;\r\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\r\n // tslint:disable-next-line: align\r\n }, data.tabs[0]);\r\n\r\n }\r\n })\r\n // if tabs has atleast 1 widgets then strip will show or else not\r\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\r\n }\r\n }\r\n\r\n private getFiltersFromArray(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n private transformSearchV6FiltersV2(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n checkForDateFilters(filters: any) {\r\n let userData: any;\r\n if (this.configSvc.userProfile) {\r\n userData = this.configSvc.userProfile;\r\n }\r\n\r\n if (filters && filters.hasOwnProperty('batches.endDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\r\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\r\n } else if (filters.organisation &&\r\n filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n if(this.providerId) {\r\n filters.organisation = this.providerId;\r\n } else {\r\n filters.organisation = userData && userData.rootOrgId;\r\n\r\n if (filters && filters.hasOwnProperty('designation')) {\r\n filters.designation = userData.professionalDetails.length > 0 ?\r\n userData.professionalDetails[0].designation : '';\r\n }\r\n }\r\n \r\n }\r\n return filters;\r\n }\r\n\r\n private fetchStripFromRequestData(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n calculateParentStatus = true,\r\n ) {\r\n // setting initial values\r\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\r\n this.processStrip(strip, [], 'fetching', false, null);\r\n this.fetchFromSearchV6(strip, calculateParentStatus);\r\n this.fetchForYouData(strip, calculateParentStatus)\r\n this.fetchAllCbpPlans(strip, calculateParentStatus);\r\n \r\n // this.enrollInterval = setInterval(() => {\r\n // this.fetchAllCbpPlans(strip, calculateParentStatus)\r\n // }, 1000)\r\n }\r\n\r\n toggleInfo(data: IStripUnitContentData) {\r\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\r\n if (stripInfo) {\r\n if (stripInfo.mode !== 'below') {\r\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\r\n stripInfo.mode = 'below';\r\n }\r\n if (stripInfo.mode === 'below') {\r\n this.stripsResultDataMap[data.key].stripInfo = {\r\n ...stripInfo,\r\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\r\n };\r\n }\r\n }\r\n }\r\n\r\n private transformContentsToWidgets(\r\n contents: NsContent.IContent[],\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n private transformEventsToWidgets(\r\n contents: ITodayEvents[],\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n ) {\r\n this.eventSvc.setEventListData(contents);\r\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n private transformSkeletonToWidgets(\r\n strip: any\r\n ) {\r\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n },\r\n }));\r\n }\r\n\r\n private async processStrip(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\r\n fetchStatus: TFetchStatus,\r\n calculateParentStatus = true,\r\n _viewMoreUrl: any,\r\n tabsResults?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined,\r\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\r\n ) {\r\n const stripData = {\r\n viewMoreUrl: strip.viewMoreUrl,\r\n key: strip.key,\r\n canHideStrip: Boolean(strip.canHideStrip),\r\n showStrip: this.getIfStripHidden(strip.key),\r\n noDataWidget: strip.noDataWidget,\r\n errorWidget: strip.errorWidget,\r\n stripInfo: strip.info,\r\n stripTitle: strip.title,\r\n stripTitleLink: strip.stripTitleLink,\r\n disableTranslate: strip.disableTranslate,\r\n sliderConfig: strip.sliderConfig,\r\n tabs: tabsResults ? tabsResults : strip.tabs,\r\n stripName: strip.name,\r\n mode: strip.mode,\r\n stripConfig: strip.stripConfig,\r\n stripBackground: strip.stripBackground,\r\n secondaryHeading: strip.secondaryHeading,\r\n loaderWidgets: strip.loaderWidgets || [],\r\n widgets:\r\n fetchStatus === 'done'\r\n ? [\r\n ...(strip.preWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ...results,\r\n ...(strip.postWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ]\r\n : [],\r\n showOnNoData: Boolean(\r\n strip.noDataWidget &&\r\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\r\n fetchStatus === 'done',\r\n ),\r\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\r\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\r\n };\r\n // const stripData = this.stripsResultDataMap[strip.key]\r\n this.stripsResultDataMap = {\r\n ...this.stripsResultDataMap,\r\n [strip.key]: stripData,\r\n };\r\n if (!tabsResults) {\r\n if (\r\n calculateParentStatus &&\r\n (fetchStatus === 'done' || fetchStatus === 'error') &&\r\n stripData.widgets\r\n ) {\r\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\r\n }\r\n if (calculateParentStatus && !(results && results.length > 0)) {\r\n this.contentAvailable = false;\r\n } else if (results && results.length > 0) {\r\n this.contentAvailable = true;\r\n }\r\n } else {\r\n this.contentAvailable = true;\r\n }\r\n }\r\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\r\n if (fetchStatus === 'done' && !stripWidgetsCount) {\r\n this.noDataCount += 1;\r\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\r\n this.successDataCount += 1;\r\n } else if (fetchStatus === 'error') {\r\n this.errorDataCount += 1;\r\n }\r\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\r\n const totalCount = this.widgetData.strips.length;\r\n if (this.successDataCount > 0 && settledCount < totalCount) {\r\n return;\r\n }\r\n this.showParentLoader = settledCount !== totalCount;\r\n this.showParentNoData =\r\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\r\n this.showParentError = this.errorDataCount === totalCount;\r\n }\r\n checkForEmptyWidget(strip: NsContentStripWithTabsAndPills.IContentStripUnit): boolean {\r\n if (\r\n strip.request &&\r\n ((strip.request.api && Object.keys(strip.request.api).length) ||\r\n (strip.request.search && Object.keys(strip.request.search).length) ||\r\n (strip.request.searchRegionRecommendation &&\r\n Object.keys(strip.request.searchRegionRecommendation).length) ||\r\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\r\n (strip && strip.tabs.length)\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n getTabDataByfilter(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n // tslint:disable:no-console\r\n console.log('strip -- ', strip);\r\n // tslint:disable:no-console\r\n console.log('currentTab -- ', currentTab);\r\n // tslint:disable:no-console\r\n console.log('calculateParentStatus-- ', calculateParentStatus);\r\n // TODO: Write logic for individual filter if passed in config\r\n // add switch case based on config key passed\r\n }\r\n\r\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\r\n let returnValue = 0;\r\n return returnValue;\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '');\r\n }\r\n\r\n identify(index: number, item: any) {\r\n if (index >= 0) { }\r\n return item;\r\n }\r\n tracker(index: number, item: any) {\r\n if (index >= 0) { }\r\n return _.get(item, 'widgetData.content.identifier')\r\n }\r\n\r\n raiseTelemetry(stripData: any){\r\n this.telemtryResponse.emit(stripData)\r\n }\r\n\r\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\r\n if(this.emitViewAll) {\r\n this.viewAllResponse.emit(stripData)\r\n } else {\r\n this.router.navigate([path], { queryParams: queryParamsData })\r\n }\r\n }\r\n\r\n // new code writting from here====new====\r\n\r\n fetchForYouData(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip && strip.type === 'forYou') {\r\n if (strip.tabs && strip.tabs.length) {\r\n const firstTab = strip.tabs[0];\r\n const pillData = firstTab.pillsData[0]\r\n if (pillData.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[0].pillsData;\r\n const currenPillsFromMap = (allPills && allPills.length && allPills[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\r\n this.getTabDataByNewReqTrending(strip, 0, 0, currenPillsFromMap, calculateParentStatus);\r\n if (this.stripsResultDataMap[strip.key] && currenPillsFromMap) {\r\n this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams,\r\n key:strip.key,\r\n tabSelected: firstTab.value,\r\n pillSelected: pillData.value,\r\n };\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n\r\n async fetchFromSearchV6(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\r\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\r\n // if (this.configSvc.activeLocale) {\r\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\r\n // } else {\r\n // strip.request.searchV6.locale = ['en']\r\n // }\r\n // }\r\n let originalFilters: any = [];\r\n // tslint:disable:no-console\r\n if (strip.request &&\r\n strip.request.searchV6 &&\r\n strip.request.searchV6.request &&\r\n strip.request.searchV6.request.filters) {\r\n originalFilters = strip.request.searchV6.request.filters;\r\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\r\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\r\n strip.request.searchV6.request.filters,\r\n );\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\r\n\r\n this.getTabDataByNewReqSearchV6(strip, 0, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content) {\r\n \r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n \r\n \r\n } else if (response.results.result.Event) {\r\n this.processStrip(\r\n strip,\r\n this.transformEventsToWidgets(response.results.result.Event, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async getTabDataByNewReqTrending(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n tabIndex: number,\r\n pillIndex: number,\r\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\r\n let tabResults: any[] = [];\r\n if (response && response.results && response.results.response) {\r\n const content = response.results.response[currentTab.value] || [];\r\n const widgets = this.transformContentsToWidgets(content, strip);\r\n \r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\r\n this.resetSelectedPill(allPills)\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n if(allPills && allPills.length && allPills[pillIndex]){\r\n allPills[pillIndex] = {\r\n ...allPills[pillIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n selected: true\r\n };\r\n }\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\r\n this.resetSelectedPill(allPills)\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n if(allPills && allPills.length && allPills[pillIndex]){\r\n allPills[pillIndex] = {\r\n ...allPills[pillIndex],\r\n widgets:[],\r\n fetchTabStatus: 'done',\r\n selected: true\r\n };\r\n }\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets:[],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n\r\n async getTabDataByNewReqSearchV6(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n tabIndex: number,\r\n pillIndex: number,\r\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\r\n if (response && response.results) {\r\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\r\n this.resetSelectedPill(allPills)\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n if(allPills && allPills.length && allPills[pillIndex]){\r\n allPills[pillIndex] = {\r\n ...allPills[pillIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n selected: true\r\n };\r\n }\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n async trendingSearchRequest(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.trendingSearch) {\r\n // check for the request if it has dynamic values]\r\n if (request.trendingSearch.request.filters.organisation &&\r\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n let userRootOrgId;\r\n if (this.configSvc.userProfile) {\r\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\r\n }\r\n request.trendingSearch.request.filters.organisation = userRootOrgId;\r\n }\r\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result &&\r\n strip.request &&\r\n results.result[strip.request.trendingSearch.responseKey] &&\r\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\r\n strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.trendingSearch &&\r\n request.trendingSearch.request &&\r\n request.trendingSearch.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n\r\n let proccesedResult: any = []\r\n if (results && results.response && results.response.certifications) {\r\n results.response.certifications.map((result: any) => {\r\n if (result.source === this.channnelName) {\r\n proccesedResult.push(result)\r\n }\r\n })\r\n results = {response: {certifications: proccesedResult}}\r\n }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n if (error.error && error.error.status === 400) {\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\r\n reject(error);\r\n },);\r\n }\r\n });\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent, pillIndex: any, stripMap: IStripUnitContentData, stripKey: string) {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;\r\n stripMap.showOnLoader = true;\r\n }\r\n const data: WsEvents.ITelemetryTabData = {\r\n label: `${tabEvent.tab.textLabel}`,\r\n index: tabEvent.index,\r\n };\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.HOME,\r\n }\r\n );\r\n\r\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\r\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];\r\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\r\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\r\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\r\n tabSelected: currentTabFromMap.value,\r\n pillSelected: currentPillFromMap.value,\r\n };\r\n }\r\n\r\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\r\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\r\n // call API to get tab data and process\r\n // this.processStrip(currentStrip, [], 'fetching', true, null)\r\n if (currentPillFromMap.request.searchV6) {\r\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\r\n } else if (currentPillFromMap.request.trendingSearch) {\r\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\r\n }\r\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n // stripMap.tabs[tabEvent.index].tabLoading = false;\r\n // }\r\n\r\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\r\n } else {\r\n // this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\r\n // setTimeout(() => {\r\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n // stripMap.tabs[tabEvent.index].tabLoading = false;\r\n // stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\r\n // stripMap.showOnLoader = false;\r\n // }\r\n // }, 200);\r\n }\r\n }\r\n }\r\n\r\n pillClicked(event: any, stripMap: IStripUnitContentData, stripKey: any, pillIndex: any, tabIndex: any) {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;\r\n stripMap.showOnLoader = true;\r\n }\r\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex];\r\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];\r\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\r\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\r\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\r\n tabSelected: currentTabFromMap.value,\r\n pillSelected: currentPillFromMap.value,\r\n };\r\n }\r\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\r\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\r\n // call API to get tab data and process\r\n // this.processStrip(currentStrip, [], 'fetching', true, null)\r\n if (currentPillFromMap.request.searchV6) {\r\n this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\r\n } else if (currentPillFromMap.request.trendingSearch) {\r\n this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\r\n }\r\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n // stripMap.tabs[tabEvent.index].tabLoading = false;\r\n // }\r\n\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\r\n } else {\r\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\r\n stripMap.showOnLoader = true;\r\n }\r\n setTimeout(() => {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\r\n stripMap.showOnLoader = false;\r\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\r\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\r\n }\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n async searchV6Request(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.searchV6) {\r\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.searchV6 &&\r\n request.searchV6.request &&\r\n request.searchV6.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\r\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\r\n // }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n\r\n getSelectedPillIndex(tabdata: any, tabIndex: any) {\r\n if(tabdata.pillsData && tabdata.pillsData.length) {\r\n let index = tabdata.pillsData.findIndex((pill: any) => {\r\n return pill.selected\r\n });\r\n return index\r\n }\r\n return 0\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // cbp plans\r\n\r\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\r\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\r\n\r\n let courses: NsContent.IContent[];\r\n let tabResults: any[] = [];\r\n const response = await this.userSvc.fetchCbpPlanList().toPromise();\r\n if (response) {\r\n courses = response;\r\n if (strip.tabs && strip.tabs.length) {\r\n tabResults = this.splitCbpTabsData(courses, strip);\r\n let countOfWidget = true\r\n if(strip && strip.tabs && strip.tabs.length) {\r\n strip.tabs.forEach((tab:any)=> {\r\n if(tab.pillsData && tab.pillsData.length) {\r\n tab.pillsData.forEach((pill: any) => {\r\n if(pill && pill.widgets && pill.widgets.length){\r\n if(countOfWidget){\r\n pill.selected = true\r\n countOfWidget= false\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n await this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n '',\r\n tabResults\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n 'viewMoreUrl',\r\n );\r\n }\r\n }\r\n clearInterval(this.enrollInterval);\r\n }\r\n }\r\n\r\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\r\n let tabResults: any[] = [];\r\n const splitData = this.getTabsList(\r\n contentNew,\r\n strip,\r\n );\r\n if (strip.tabs && strip.tabs.length) {\r\n for (let i = 0; i < strip.tabs.length; i += 1) {\r\n if( strip.tabs[i].value === \"myIgotPlans\") {\r\n let checkWidgetAndActivePill = true\r\n if (strip.tabs[i].pillsData && strip.tabs[i].pillsData.length) {\r\n for (let j = 0; j < strip.tabs[i].pillsData.length; j += 1) {\r\n // if(j === 0 ){\r\n // if(strip.tabs[i].pillsData[j].widgets && strip.tabs[i].pillsData[j].widgets.length ) {\r\n // strip.tabs[i].pillsData[j].selected = true\r\n // checkWidgetAndActivePill = false\r\n // }\r\n // strip.tabs[i].pillsData[j].selected = true\r\n // }\r\n if (strip.tabs[i].pillsData[j]) {\r\n tabResults.push(\r\n {\r\n ...strip.tabs[i].pillsData[j],\r\n fetchTabStatus: 'done',\r\n ...(splitData.find(itmInner => {\r\n if (strip.tabs[i].pillsData&& strip.tabs[i].pillsData[j] && itmInner.value === strip.tabs[i].pillsData[j].value) {\r\n return itmInner;\r\n }\r\n return undefined;\r\n })),\r\n }\r\n );\r\n }\r\n }\r\n strip.tabs[i].pillsData = tabResults\r\n }\r\n }\r\n }\r\n }\r\n \r\n return strip.tabs;\r\n }\r\n\r\n getTabsList(array: NsContent.IContent[],\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\r\n let all: any[] = [];\r\n let upcoming: any[] = [];\r\n let overdue: any[] = [];\r\n array.forEach((e: any) => {\r\n all.push(e);\r\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n overdue.push(e);\r\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\r\n upcoming.push(e);\r\n }\r\n });\r\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\r\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\r\n\r\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\r\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\r\n\r\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\r\n\r\n overdue = overdue.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n\r\n overdue = overdue.sort((a: any, b: any): any => {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n });\r\n\r\n upcoming = upcoming.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n \r\n return [\r\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\r\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\r\n { value: 'completed', widgets: this.transformContentsToWidgets(allCompleted, strip) },\r\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\r\n }\r\n resetSelectedPill(pillData: any){\r\n if(pillData && pillData.length){\r\n pillData.forEach((pill: any) => {\r\n pill['selected'] = false\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HorizontalScrollerV2Module } from '../../horizontal-scroller-v2/horizontal-scroller-v2.module';\r\n\r\nimport {\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule} from '@angular/material';\r\nimport { ContentStripWithTabsPillsComponent } from './content-strip-with-tabs-pills.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\r\n\r\n// tslint:disable-next-line:function-name\r\nexport function HttpLoaderFactory1(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [ContentStripWithTabsPillsComponent],\r\n imports: [\r\n SbUiResolverModule,\r\n CommonModule,\r\n RouterModule,\r\n HorizontalScrollerV2Module,\r\n MatProgressSpinnerModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory1,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n entryComponents: [ContentStripWithTabsPillsComponent],\r\n exports: [ContentStripWithTabsPillsComponent],\r\n})\r\nexport class ContentStripWithTabsPillsModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\nconst API_POINTS = {\r\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\r\n CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class CompetencyPassbookService {\r\n // tslint: disable-next-line: whitespace\r\n constructor(private http: HttpClient) { }\r\n getCompetencyList(payload: any): Observable<any> {\r\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\r\n }\r\n\r\n fetchCertificate(certId: string): Observable<any> {\r\n return this.http.get(API_POINTS.CERTIFICATE_URL + certId)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { CompetencyPassbookService } from './competency-passbook.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-competency-passbook',\r\n templateUrl: './competency-passbook.component.html',\r\n styleUrls: ['./competency-passbook.component.scss']\r\n})\r\nexport class CompetencyPassbookComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() providerId: any\r\n @Input() cardDisplayCount: any = 3\r\n @Input() dynamicClass: any\r\n @Input() dynamicColor: any\r\n @Input() dynamicAlignPills: any = 'center'\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() temeletryResponse = new EventEmitter<any>()\r\n loadCometency: boolean = false\r\n loadCompetencyArea: boolean = false\r\n originalCompetencyArray: any\r\n competencyArea: any []\r\n selectedValue: any;\r\n competencyVersion:string = ''\r\n competencyTheme: any = []\r\n allcompetencyTheme: any ={}\r\n competencyStrength: any = 0\r\n competencyThemeLength: any = 6\r\n showAllTheme : any = [{name:'Show all', showAll: false}]\r\n\r\n // subTheme = ['Behavioural']\r\n // currentFilter = 'Behavioural'\r\n // currentCompetencies: any = []\r\n // competencyData: any\r\n constructor(public configSvc: ConfigurationsService,\r\n public contentSvc:WidgetContentService,\r\n public competencySvc: CompetencyPassbookService,\r\n public router : Router\r\n ) { \r\n \r\n }\r\n\r\n \r\n ngOnInit() {\r\n this.getAllCompetencies()\r\n // this.competencyData = this.objectData\r\n // this.filter(this.currentFilter)\r\n }\r\n // filter(filterValue: string) {\r\n // this.currentFilter = filterValue\r\n // this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)\r\n // }\r\n showMore() {\r\n this.objectData.viewMore = !this.objectData.viewMore\r\n }\r\n\r\n // to get competency area from facets\r\n async getCompetencyArea(){let addfilter: any = {}\r\n if(this.providerId) {\r\n addfilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ],\r\n }\r\n }\r\n this.loadCompetencyArea = true\r\n let request = {\r\n \"request\": {\r\n \"query\": \"\",\r\n \"filters\": {\r\n \"contentType\":\"Course\",\r\n ...addfilter,\r\n \"status\": [\r\n \"Live\"\r\n ]\r\n },\r\n \"sort_by\": {\r\n \"lastUpdatedOn\": \"desc\"\r\n },\r\n \"facets\": [\r\n \"competencies_v5.competencyArea\"\r\n ],\r\n \"limit\": 0,\r\n \"offset\": 0,\r\n \"fields\": [\r\n ]\r\n }\r\n }\r\n \r\n try {\r\n const response = await this.callCompetencySearch(request);\r\n if (response && response.results) {\r\n if(response.results.result.facets){\r\n this.competencyArea = response.results.result.facets[0].values\r\n this.competencyStrength = this.competencyArea.reduce((partialSum: any, data: any) => partialSum + data.count, 0) \r\n this.selectedValue = this.competencyArea[0].name.toLowerCase()\r\n let addFilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ]\r\n }\r\n this.getcompetencyTheme(this.competencyArea[0].name, addFilter)\r\n this.loadCompetencyArea = false\r\n }\r\n }\r\n } catch (error) {\r\n this.loadCompetencyArea = false\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n async callCompetencySearch(request){\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request) {\r\n this.contentSvc.searchV6(request).subscribe(results => {\r\n resolve({ results });\r\n },(error: any) => {\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n // competency theam change\r\n competencyChange(e){\r\n let addfilter: any = {}\r\n if(this.providerId) {\r\n addfilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ],\r\n }\r\n }\r\n\r\n this.temeletryResponse.emit(e.name)\r\n \r\n this.getcompetencyTheme(e.name, addfilter)\r\n this.selectedValue = e.name\r\n }\r\n getAllCompetencies(){\r\n this.loadCometency = true\r\n let request = {\"search\":{\"type\":\"Competency Area\"},\"filter\":{\"isDetail\":true}}\r\n this.competencySvc.getCompetencyList(request).subscribe((response: any) => {\r\n this.allcompetencyTheme = {}\r\n if(response && response.result && response.result.competency) {\r\n this.originalCompetencyArray = response.result.competency\r\n\r\n this.getCompetencyArea()\r\n response.result.competency.forEach(element => {\r\n element.children.forEach((childEle) => {\r\n let name = childEle.name.toLowerCase()\r\n this.allcompetencyTheme[name] = childEle\r\n this.allcompetencyTheme[name]['viewMore'] = false\r\n });\r\n });\r\n }\r\n this.loadCometency = false\r\n })\r\n }\r\n\r\n async getcompetencyTheme(value: any,addFilter?: any) {\r\n let request = {\r\n \"request\": {\r\n \"query\": \"\",\r\n \"filters\": {\r\n \"contentType\":\"Course\",\r\n ...addFilter,\r\n \"competencies_v5.competencyArea\" : value,\r\n \"status\": [\r\n \"Live\"\r\n ]\r\n },\r\n \"sort_by\": {\r\n \"lastUpdatedOn\": \"desc\"\r\n },\r\n \"facets\": [\r\n \"competencies_v5.competencyTheme\"\r\n ],\r\n \"limit\": 0,\r\n \"offset\": 0,\r\n \"fields\": [\r\n ]\r\n }\r\n }\r\n \r\n try {\r\n this.loadCometency = true\r\n const response = await this.callCompetencySearch(request);\r\n if (response && response.results) {\r\n if(response.results.result.facets){\r\n let competencyThemeData : any = response.results.result.facets[0].values \r\n this.originalCompetencyArray.forEach((element: any) => {\r\n if(element.name.toLowerCase() === value) {\r\n this.competencyTheme = competencyThemeData.filter((ele1: any) => {\r\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\r\n })\r\n this.showAllTheme = [{name:'Show all', showAll: false}]\r\n this.competencyThemeLength = 6\r\n }\r\n });\r\n this.resetViewMore()\r\n }\r\n this.loadCometency = false\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n resetViewMore(){\r\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\r\n this.allcompetencyTheme[comp]['viewMore'] = false\r\n })\r\n }\r\n viewMoreChildren(data: any) {\r\n data.viewMore = !data.viewMore\r\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\r\n }\r\n displayAllTheme(event: any) {\r\n this.showAllTheme[0]['showAll'] = !event.showAll \r\n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\r\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\r\n this.temeletryResponse.emit(event.name)\r\n }\r\n\r\n navigateToCompetency(compData: any){\r\n this.router.navigateByUrl(`app/learn/browse-by/competency/${compData.name}`)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-pills',\r\n templateUrl: './pills.component.html',\r\n styleUrls: ['./pills.component.scss']\r\n})\r\nexport class PillsComponent implements OnInit {\r\n\r\n @Input() pillsData: any\r\n @Input() selectedValue: any\r\n @Input() isLoading: boolean = false\r\n @Output() pillClick = new EventEmitter<any>()\r\n @Input() dynamicClass: any = ''\r\n @Input() dynamicColor: any = ''\r\n @Input() requiredTitlecase: boolean = true\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n selectedPill(pillData: any) {\r\n this.pillClick.emit(pillData)\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule } from '@angular/material';\r\nimport { PillsComponent } from './pills.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [PillsComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [PillsComponent]\r\n})\r\nexport class PillsModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CompetencyPassbookComponent } from './competency-passbook.component';\r\nimport { MatIconModule } from '@angular/material';\r\nimport { PillsModule } from './../pills/pills.module';\r\nimport { CompetencyPassbookService } from './competency-passbook.service';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CompetencyPassbookComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n PillsModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [CompetencyPassbookComponent],\r\n providers:[CompetencyPassbookService]\r\n})\r\nexport class CompetencyPassbookModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\nconst API_POINTS = {\r\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\r\n competency_URL: `apis/proxies/v8/v1/search/competenciesByOrg/`,\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class CompetencyPassbookMdoService {\r\n // tslint: disable-next-line: whitespace\r\n constructor(private http: HttpClient) { }\r\n getCompetencyList(payload: any): Observable<any> {\r\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\r\n }\r\n\r\n mdoCompetency(providerId: string): Observable<any> {\r\n return this.http.get(API_POINTS.competency_URL + providerId)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'sb-uic-competency-passbook-mdo',\r\n templateUrl: './competency-passbook-mdo.component.html',\r\n styleUrls: ['./competency-passbook-mdo.component.scss']\r\n})\r\nexport class CompetencyPassbookMdoComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() providerId: any\r\n @Input() cardDisplayCount: any = 3\r\n @Input() dynamicClass: any\r\n @Input() dynamicColor: any\r\n @Input() dynamicAlignPills: any = 'center'\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() temeletryResponse = new EventEmitter<any>()\r\n loadCometency: boolean = false\r\n loadCompetencyArea: boolean = false\r\n originalCompetencyArray: any\r\n competencyArea: any []\r\n selectedValue: any;\r\n competencyVersion:string = ''\r\n competencyThemeData: any\r\n competencyTheme: any = []\r\n allcompetencyTheme: any ={}\r\n competencyStrength: any = 0\r\n competencyThemeLength: any = 6\r\n showAllTheme : any = [{name:'Show all', showAll: false}]\r\n\r\n // subTheme = ['Behavioural']\r\n // currentFilter = 'Behavioural'\r\n // currentCompetencies: any = []\r\n // competencyData: any\r\n constructor(public configSvc: ConfigurationsService,\r\n public contentSvc:WidgetContentService,\r\n public competencySvc: CompetencyPassbookMdoService,\r\n public router : Router\r\n ) { \r\n \r\n }\r\n\r\n \r\n ngOnInit() {\r\n this.getAllCompetencies()\r\n }\r\n\r\n\r\n getAllCompetencies(){\r\n this.loadCometency = true\r\n let request = {\"search\":{\"type\":\"Competency Area\"},\"filter\":{\"isDetail\":true}}\r\n this.competencySvc.getCompetencyList(request).subscribe((response: any) => {\r\n this.allcompetencyTheme = {}\r\n if(response && response.result && response.result.competency) {\r\n this.originalCompetencyArray = response.result.competency\r\n this.getMdoCompetencies()\r\n // this.getCompetencyArea()\r\n response.result.competency.forEach(element => {\r\n element.children.forEach((childEle) => {\r\n let name = childEle.name.toLowerCase()\r\n this.allcompetencyTheme[name] = childEle\r\n this.allcompetencyTheme[name]['viewMore'] = false\r\n });\r\n });\r\n }\r\n this.loadCometency = false\r\n })\r\n }\r\n \r\n\r\n\r\n async getMdoCompetencies(){\r\n try {\r\n this.loadCometency = true\r\n const response = await this.getMdoCompetency();\r\n if (response && response.results) {\r\n if(response.results.result.facets && response.results.result.facets.length){\r\n let facetData = response.results.result.facets\r\n facetData.forEach((facet: any) => {\r\n if(facet.name === 'competencies_v5.competencyArea') {\r\n this.competencyArea = facet.values\r\n this.selectedValue = facet.values[0].name\r\n } else if(facet.name === 'competencies_v5.competencyTheme') {\r\n this.competencyThemeData = facet.values\r\n this.getCompetencyTheme()\r\n }\r\n });\r\n\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n this.loadCometency = false\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n this.emptyResponse.emit(true)\r\n }\r\n }\r\n\r\n getCompetencyTheme(){\r\n this.originalCompetencyArray.forEach((element: any) => {\r\n if(element.name.toLowerCase() === this.selectedValue) {\r\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\r\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\r\n })\r\n this.showAllTheme = [{name:'Show all', showAll: false}]\r\n this.competencyThemeLength = 6\r\n } else if('Behavioral'.toLowerCase() === this.selectedValue) {\r\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\r\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\r\n })\r\n this.showAllTheme = [{name:'Show all', showAll: false}]\r\n this.competencyThemeLength = 6\r\n }\r\n });\r\n this.resetViewMore()\r\n }\r\n\r\n\r\n async getMdoCompetency(){\r\n return new Promise<any>((resolve, reject) => {\r\n if (this.providerId) {\r\n this.competencySvc.mdoCompetency(this.providerId).subscribe(results => {\r\n resolve({ results });\r\n },(error: any) => {\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n // competency theam change\r\n competencyChange(e){\r\n let addfilter: any = {}\r\n if(this.providerId) {\r\n addfilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ],\r\n }\r\n }\r\n\r\n this.temeletryResponse.emit(e.name)\r\n \r\n this.selectedValue = e.name\r\n this.getCompetencyTheme()\r\n }\r\n\r\n\r\n\r\n resetViewMore(){\r\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\r\n this.allcompetencyTheme[comp]['viewMore'] = false\r\n })\r\n }\r\n viewMoreChildren(data: any) {\r\n data.viewMore = !data.viewMore\r\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\r\n }\r\n displayAllTheme(event: any) {\r\n this.showAllTheme[0]['showAll'] = !event.showAll \r\n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\r\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\r\n this.temeletryResponse.emit(event.name)\r\n }\r\n\r\n navigateToCompetency(compData: any){\r\n this.router.navigateByUrl(`app/learn/browse-by/competency/${compData.name}`)\r\n }\r\n\r\n showMore() {\r\n this.objectData.viewMore = !this.objectData.viewMore\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CompetencyPassbookMdoComponent } from './competency-passbook-mdo.component';\r\nimport { MatIconModule } from '@angular/material';\r\nimport { PillsModule } from './../pills/pills.module';\r\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CompetencyPassbookMdoComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n PillsModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [CompetencyPassbookMdoComponent],\r\n providers:[CompetencyPassbookMdoService]\r\n})\r\nexport class CompetencyPassbookMdoModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { NsAppRating } from '../_models/rating.model'\r\n\r\nconst PROXY_SLAG_V8 = '/apis/proxies/v8'\r\nconst API_END_POINTS = {\r\n GET_RATING: (contentId: string, contentType: string, userId: string) =>\r\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`,\r\n ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,\r\n GET_RATING_SUMMARY: (contentId: string, contentType: string) =>\r\n `${PROXY_SLAG_V8}/ratings/v1/summary/${contentId}/${contentType}`,\r\n GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,\r\n GET_AUTHOR_REPLY: (contentId: string, userID: string) =>\r\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`,\r\n POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class RatingService {\r\n\r\n constructor(public http: HttpClient) { }\r\n\r\n getRating(contentId: string, contentType: string, userId: string): Observable<any> {\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\r\n if (!forPreview) {\r\n return this.http.get<any>(\r\n API_END_POINTS.GET_RATING(contentId, contentType, userId)\r\n )\r\n }\r\n return of({})\r\n }\r\n\r\n addOrUpdateRating(req: NsAppRating.IRating): Observable<any> {\r\n return this.http.post<any>(\r\n API_END_POINTS.ADD_OR_UPDATE, req\r\n )\r\n }\r\n\r\n getRatingSummary(contentId: string, contentType: string): Observable<any> {\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\r\n if (!forPreview) {\r\n return this.http.get<any>(\r\n API_END_POINTS.GET_RATING_SUMMARY(contentId, contentType)\r\n )\r\n }\r\n return of({})\r\n }\r\n\r\n getRatingLookup(req: NsAppRating.ILookupRequest): Observable<any> {\r\n return this.http.post<any>(\r\n API_END_POINTS.GET_RATING_LOOKUP, req\r\n )\r\n }\r\n\r\n getRatingReply(req: any): Observable<any> {\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\r\n if (!forPreview) {\r\n return this.http.post<any>(\r\n API_END_POINTS.POST_AUTHOR_REPLY, req\r\n )\r\n }\r\n return of({})\r\n }\r\n\r\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\r\n if (avg) {\r\n const avgRating = avg\r\n const ratingFloor = Math.floor(avgRating)\r\n // const difference = avgRating - ratingIndex\r\n if (ratingIndex <= ratingFloor) {\r\n return 'star'\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\r\n return 'star_half'\r\n }\r\n }\r\n return 'star'\r\n }\r\n\r\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\r\n if (avg) {\r\n const avgRating = avg\r\n const ratingFloor = Math.floor(avgRating)\r\n if (ratingIndex <= ratingFloor) {\r\n return true\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\r\n return true\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 > 0.71) {\r\n return true\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 < 0.29) {\r\n return false\r\n }\r\n }\r\n return false\r\n }\r\n\r\n getAuthorReply(contentId: string, userID: string): Observable<any> {\r\n return this.http.get<any>(\r\n API_END_POINTS.GET_AUTHOR_REPLY(contentId, userID)\r\n )\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nconst API_END_POINTS = {\r\n TOP_REVIEWS: `/apis/proxies/v8/ratings/v1/topReviews`\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserContentRatingLibService {\r\n\r\n constructor(private http: HttpClient) { }\r\n fetchTopReviews(doId: any): Observable<any> {\r\n return this.http.get<any>(`${API_END_POINTS.TOP_REVIEWS}/${doId}`)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\r\nimport { RatingService } from '../../_services/rating.service';\r\nimport { ScrollableItemDirective } from './../../_directives/scrollable-item/scrollable-item.directive';\r\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-user-content-rating',\r\n templateUrl: './user-content-rating-lib.component.html',\r\n styleUrls: ['./user-content-rating-lib.component.scss']\r\n})\r\nexport class UserContentRatingLibComponent implements OnInit {\r\n currentIndex: any =0\r\n @Input() providerId : any = ''\r\n @Input() formData : any = ''\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n styleData: any = {} \r\n contentdata: any = []\r\n\r\n\r\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\r\n constructor(public ratingService: RatingService,\r\n public userRatingSvc: UserContentRatingLibService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData\r\n this.getTopReviews();\r\n }\r\n\r\n getTopReviews() {\r\n this.contentdata = []\r\n this.userRatingSvc.fetchTopReviews(this.providerId).subscribe((response: any) => {\r\n if(response && response.result && response.result.content.length) {\r\n response.result.content.forEach((contentEle: any) => {\r\n let localData = {}\r\n localData['content'] = contentEle.contentInfo\r\n localData['rating'] = contentEle.rating\r\n localData['review'] = contentEle.review\r\n localData['userDetails'] = contentEle.userDetails\r\n localData['cardSubType'] = \"card-wide-lib\"\r\n localData['cardCustomeClass'] = \"\"\r\n this.contentdata.push(localData)\r\n });\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n },(_error: any)=> {\r\n this.emptyResponse.emit(true)\r\n })\r\n }\r\n\r\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\r\n return this.ratingService.getRatingIcon(ratingIndex, avg)\r\n }\r\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\r\n return this.ratingService.getRatingIconClass(ratingIndex, avg)\r\n }\r\n\r\n getCurrentIndex(indexValue: any) {\r\n this.currentIndex = indexValue\r\n this.handleScrollClick(indexValue)\r\n }\r\n\r\n handleScrollClick(dataValue: string) {\r\n const item = this.scrollableItems.find(x => x.key === dataValue)\r\n item.scrollIntoView(\"nearest\");\r\n }\r\n\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule } from '@angular/material';\r\nimport { UserContentRatingLibComponent } from './user-content-rating-lib.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { SlidersLibModule } from '../sliders/sliders.module';\r\nimport { RatingService } from '../../_services/rating.service';\r\nimport { CardsModule } from '../cards/cards.module';\r\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\r\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\r\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\r\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UserContentRatingLibComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule,\r\n SlidersLibModule,\r\n CardsModule,\r\n AvatarPhotoLibModule,\r\n SlidersNgContentLibModule,\r\n ScrollableItemModule\r\n ],\r\n exports: [UserContentRatingLibComponent],\r\n providers: [RatingService, UserContentRatingLibService],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class UserContentRatingLibModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-mdo-channel-v1',\r\n templateUrl: './mdo-channel-v1.component.html',\r\n styleUrls: ['./mdo-channel-v1.component.scss']\r\n})\r\nexport class MdoChannelV1Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core'\r\nimport { MatTabChangeEvent } from '@angular/material'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\r\n/* tslint:disable */\r\nimport * as _ from 'lodash'\r\nimport { TranslateService } from '@ngx-translate/core'\r\nimport { MultilingualTranslationsService } from '@sunbird-cb/utils-v2'\r\n\r\n@Component({\r\n selector: 'sb-uic-mdo-channel-v2',\r\n templateUrl: './mdo-channel-v2.component.html',\r\n styleUrls: ['./mdo-channel-v2.component.scss']\r\n})\r\nexport class MdoChannelV2Component implements OnInit {\r\n @Input() sectionList:any = []\r\n channnelName = ''\r\n orgId = ''\r\n selectedIndex = 0\r\n hideCompetencyBlock: boolean = false\r\n contentTabEmptyResponseCount: number = 0\r\n titles = [\r\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\r\n {\r\n title: `MDO Channels`,\r\n url: `/app/learn/mdo-channels/all-channels`,\r\n icon: '', disableTranslate: true,\r\n },\r\n ]\r\n showModal: boolean = false\r\n descriptionMaxLength = 500\r\n isTelemetryRaised: boolean = false\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private eventSvc: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n ) { \r\n if (this.route.snapshot.data && this.route.snapshot.data.formData\r\n && this.route.snapshot.data.formData.data\r\n && this.route.snapshot.data.formData.data.result\r\n && this.route.snapshot.data.formData.data.result.form\r\n && this.route.snapshot.data.formData.data.result.form.data\r\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n ) {\r\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n }\r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n this.channnelName = params['channel']\r\n this.orgId = params['orgId']\r\n this.titles.push({\r\n title: this.channnelName, icon: '', url: 'none', disableTranslate: true,\r\n })\r\n })\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent) {\r\n this.raiseTelemetry(`${tabEvent.tab.textLabel} tab`)\r\n }\r\n hideContentStrip(event: any, contentStripData: any) {\r\n if (event) {\r\n contentStripData['hideSection'] = true\r\n this.contentTabEmptyResponseCount = this.contentTabEmptyResponseCount + 1\r\n // if(this.contentTabEmptyResponseCount === 4 ) {\r\n // this.selectedIndex = 1\r\n // }\r\n }\r\n }\r\n\r\n triggerOpenDialog(event: boolean) {\r\n if(event) {\r\n this.showModal = true\r\n document.body.style.overflow = 'hidden'\r\n }\r\n this.raiseTelemetry('btn open key annoucements')\r\n }\r\n\r\n onClose() {\r\n this.showModal = false\r\n document.body.style.overflow = 'auto'\r\n this.raiseTelemetry('btn close key annoucements')\r\n }\r\n\r\n raiseTelemetryInteratEvent(event: any) {\r\n if (event && event.viewMoreUrl) {\r\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\r\n }\r\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'mdo-channel',\r\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\r\n },\r\n {\r\n id: event.identifier,\r\n type: event.primaryCategory,\r\n },\r\n {\r\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n this.isTelemetryRaised = true\r\n }\r\n }\r\n\r\n raiseCompetencyTelemetry(name: string) {\r\n this.raiseTelemetry(`${name} core expertise`)\r\n }\r\n\r\n raiseTelemetry(name: string) {\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'mdo-channel',\r\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n }\r\n\r\n hideCompetency(event: any) {\r\n if (event) {\r\n this.hideCompetencyBlock = true\r\n }\r\n }\r\n\r\n showAllContent(_stripData: any, contentStrip: any) {\r\n if (contentStrip && contentStrip.strips && contentStrip.strips.length) {\r\n const stripData: any = contentStrip.strips[0]\r\n if (stripData && stripData.request) {\r\n delete(stripData['loaderWidgets'])\r\n this.router.navigate(\r\n [`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`],\r\n { queryParams: { stripData: JSON.stringify(stripData) } })\r\n }\r\n } else {\r\n this.router.navigate(\r\n [`/app/learn/browse-by/provider/${this.channnelName}/${this.orgId}/all-CBP`])\r\n }\r\n }\r\n\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\r\nimport { MdoChannelV1Component } from './mdo-channel-v1/mdo-channel-v1.component';\r\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\nimport {\r\n AnnouncementsModule,\r\n CardsModule,\r\n CommonMethodsService,\r\n CommonStripModule,\r\n CompetencyPassbookModule,\r\n CompetencyPassbookMdoModule,\r\n ContentStripWithTabsLibModule,\r\n DataPointsModule,\r\n SlidersLibModule,\r\n HttpLoaderFactory,\r\n TopLearnersModule,\r\n CbpPlanModule,\r\n} from './../../../../public-api'\r\nimport { MdoChannelV2Component } from './mdo-channel-v2/mdo-channel-v2.component';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n\r\n@NgModule({\r\n declarations: [MdoChannelV1Component, MdoChannelV2Component],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule,\r\n AnnouncementsModule,\r\n TopLearnersModule,\r\n CbpPlanModule,\r\n CardsModule,\r\n CommonStripModule,\r\n CompetencyPassbookModule,\r\n CompetencyPassbookMdoModule,\r\n ContentStripWithTabsLibModule,\r\n DataPointsModule,\r\n SlidersLibModule,\r\n MatTabsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports: [MdoChannelV1Component, MdoChannelV2Component],\r\n providers:[\r\n CommonMethodsService],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class MDOChannelModule { }\r\n","import { DatePipe } from '@angular/common'\r\nimport { Component, Input, OnInit } from '@angular/core'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\r\nimport * as _ from 'lodash'\r\n\r\n@Component({\r\n selector: 'sb-uic-providers-v2',\r\n templateUrl: './providers-v2.component.html',\r\n styleUrls: ['./providers-v2.component.scss']\r\n})\r\nexport class ProvidersV2Component implements OnInit {\r\n\r\n @Input() sectionList:any = []\r\n providerName = ''\r\n providerId = ''\r\n navList: any\r\n hideCompetencyBlock = false\r\n // sectionList: any = []\r\n currentMonthAndYear: any\r\n titles = [\r\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\r\n { title: `All Providers`,\r\n url: `/app/learn/browse-by/provider/all-providers`,\r\n icon: '', disableTranslate: true,\r\n },\r\n ]\r\n\r\n descriptionMaxLength = 500\r\n isTelemetryRaised = false\r\n\r\n constructor(private route: ActivatedRoute,\r\n public router: Router, private datePipe: DatePipe, private events: EventService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data && this.route.snapshot.data.formData\r\n && this.route.snapshot.data.formData.data\r\n && this.route.snapshot.data.formData.data.result\r\n && this.route.snapshot.data.formData.data.result.form\r\n && this.route.snapshot.data.formData.data.result.form.data\r\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n ) {\r\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n }\r\n this.route.params.subscribe(params => {\r\n this.providerName = params['provider']\r\n this.providerId = params['orgId']\r\n this.titles.push({\r\n title: this.providerName, icon: '', url: 'none', disableTranslate: true,\r\n })\r\n })\r\n this.getNavitems()\r\n this.currentMonthAndYear = this.datePipe.transform(new Date(), 'MMMM y')\r\n }\r\n\r\n getNavitems() {\r\n this.navList = this.sectionList.filter(\r\n (obj: any) => obj.enabled && obj.navigation && obj.navOrder).sort(\r\n (a: any, b: any) => a.navOrder - b.navOrder)\r\n }\r\n\r\n scrollToSection(name: string) {\r\n let section: HTMLElement | any\r\n section = document.getElementById(name)\r\n if (section) {\r\n // section.scrollIntoView({ behavior: 'smooth', block: 'start',inline: 'nearest', offsetTop: yOffset })\r\n window.scrollTo({\r\n top: section.offsetTop - 121,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n hideCompetency(event: any, columnData: any) {\r\n if (event) {\r\n this.hideCompetencyBlock = true\r\n columnData['navigation'] = false\r\n columnData['enabled'] = false\r\n this.navList.forEach((navItem: any) => {\r\n navItem.column.forEach((colEle: any) => {\r\n if (colEle.key === columnData.key) {\r\n navItem['navigation'] = false\r\n }\r\n })\r\n })\r\n }\r\n }\r\n hideContentStrip(event: any, contentStripData: any) {\r\n if (event) {\r\n contentStripData['hideSection'] = true\r\n }\r\n }\r\n hideLearnerReview(event: any, learnerReview: any) {\r\n if (event) {\r\n learnerReview['hideSection'] = true\r\n }\r\n }\r\n\r\n showAllContent(_stripData: any, contentStrip: any) {\r\n if (contentStrip && contentStrip.strips && contentStrip.strips.length) {\r\n const stripData: any = contentStrip.strips[0]\r\n if (stripData && stripData.request) {\r\n delete(stripData['loaderWidgets'])\r\n this.router.navigate(\r\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-content`],\r\n { queryParams: { stripData: JSON.stringify(stripData), pageDetails: true } })\r\n }\r\n } else {\r\n this.router.navigate(\r\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`],\r\n { queryParams: { pageDetails: true } })\r\n }\r\n }\r\n\r\n raiseTelemetryInteratEvent(event: any) {\r\n if (event && event.viewMoreUrl) {\r\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\r\n }\r\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'ATI/CTI',\r\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\r\n },\r\n {\r\n id: event.identifier,\r\n type: event.primaryCategory,\r\n },\r\n {\r\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n this.isTelemetryRaised = true\r\n }\r\n }\r\n\r\n raiseCompetencyTelemetry(name: string) {\r\n this.raiseTelemetry(`${name} core expertise`)\r\n }\r\n\r\n raiseTelemetry(name: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'ATI/CTI',\r\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n }\r\n\r\n raiseNavTelemetry(name: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'ATI/CTI',\r\n id: `${_.kebabCase(name).toLocaleLowerCase()}-navigation`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\r\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport {\r\n CalenderModule,\r\n CardsModule, \r\n CommonMethodsService, \r\n CommonStripModule, \r\n CompetencyPassbookModule, \r\n ContentStripWithTabsLibModule,\r\n DataPointsModule, \r\n HttpLoaderFactory, \r\n SlidersLibModule, \r\n UserContentRatingLibModule \r\n} from './../../../../public-api'\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ProvidersV2Component } from './providers-v2/providers-v2.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n@NgModule({\r\n declarations: [ProvidersV2Component],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n RouterModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule,\r\n CalenderModule,\r\n CardsModule,\r\n CommonStripModule,\r\n CompetencyPassbookModule,\r\n UserContentRatingLibModule,\r\n ContentStripWithTabsLibModule,\r\n DataPointsModule,\r\n SlidersLibModule,\r\n MatTabsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports: [ProvidersV2Component],\r\n providers:[\r\n CommonMethodsService],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class ProvidersModule { }\r\n"],"names":["moment_","_.get","ConfigurationsService","PROTECTED_SLAG_V8","API_END_POINTS","lodash.uniqBy","lodash.orderBy","tslib_1.__extends","tslib_1.__values","_.camelCase","moment","MyHammerConfig","NsCardContent","duration","moment.duration","moment.utc","MultilingualTranslationsService","IStripUnitContentData","API_POINTS","_.kebabCase"],"mappings":"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"}
1
+ {"version":3,"file":"sunbird-cb-consumption.js","sources":["ng://@sunbird-cb/consumption/lib/consumption.service.ts","ng://@sunbird-cb/consumption/lib/consumption.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.ts","ng://@sunbird-cb/consumption/lib/_models/widget-content.model.ts","ng://@sunbird-cb/consumption/lib/_services/viewer-route-util.ts","ng://@sunbird-cb/consumption/lib/_services/widget-content.service.ts","ng://@sunbird-cb/consumption/lib/_services/configurations.service.ts","ng://@sunbird-cb/consumption/lib/_services/multilingual-translations.service.ts","ng://@sunbird-cb/consumption/lib/_models/card-content-v2.model.ts","ng://@sunbird-cb/consumption/lib/_services/widget-user.service.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.component.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.module.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.module.ts","ng://@sunbird-cb/consumption/lib/_services/insite-data.service.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.module.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender-day/calender-day.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.module.ts","ng://@sunbird-cb/consumption/lib/_services/common-methods.service.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.component.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.module.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.component.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.module.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.component.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.directive.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.module.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.module.ts","ng://@sunbird-cb/consumption/lib/consumption.module.ts","ng://@sunbird-cb/consumption/lib/consumption.config.ts","ng://@sunbird-cb/consumption/lib/_models/card-content.model.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-resource/card-resource.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait/card-portrait.component.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.module.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.module.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-user/card-user.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-landscape/card-landscape.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide/card-wide.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide-v2/card-wide-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs/card-karma-programs.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/provider-card/provider-card.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.ts","ng://@sunbird-cb/consumption/lib/_services/certificate.service.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.module.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/dialog-components.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.module.ts","ng://@sunbird-cb/consumption/lib/registration-lib.config.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.ts","ng://@sunbird-cb/consumption/lib/_services/rating.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers-v2/providers-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsumptionService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-consumption',\r\n template: `\r\n <p>\r\n consumption works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class ConsumptionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';\r\nimport {\r\n fromEvent,\r\n Subscription,\r\n timer,\r\n} from 'rxjs';\r\nimport { debounceTime, throttleTime } from 'rxjs/operators';\r\nimport { TFetchStatus } from '../../_constants/misc.constants';\r\nimport { ValueService } from '@sunbird-cb/utils-v2';\r\nimport { NsCommonStrip } from '../common-strip/common-strip.model';\r\nimport { NsContentStripMultiple } from '../../_models/content-strip-multiple.model';\r\n\r\n@Component({\r\n selector: 'sb-uic-horizontal-scroller-v2',\r\n templateUrl: './horizontal-scroller-v2.component.html',\r\n styleUrls: ['./horizontal-scroller-v2.component.scss'],\r\n})\r\n\r\nexport class HorizontalScrollerV2Component implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input() loadStatus: TFetchStatus = 'fetching';\r\n @Input() id: string = '';\r\n @Input() onHover = false;\r\n @Input() sliderConfig: any = {\r\n showNavs: true,\r\n showDots: true,\r\n cerificateCardMargin: false,\r\n };\r\n @Output() loadNext = new EventEmitter();\r\n @Input() widgetsLength: any;\r\n @Input() defaultMaxWidgets: any;\r\n @Input() stripConfig: any;\r\n @ViewChild('horizontalScrollElem', { static: true })\r\n horizontalScrollElem: ElementRef | null = null;\r\n\r\n enablePrev = false;\r\n enableNext = false;\r\n activeNav = 0;\r\n cardSubType = 'standard';\r\n bottomDotsArray: any = [];\r\n private scrollObserver: Subscription | null = null;\r\n isMobile = false\r\n private defaultMenuSubscribe: Subscription | null = null\r\n isLtMedium$ = this.valueSvc.isLtMedium$\r\n\r\n constructor(private valueSvc: ValueService) { }\r\n\r\n ngOnInit() {\r\n this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';\r\n if (this.horizontalScrollElem) {\r\n const horizontalScrollElem = this.horizontalScrollElem;\r\n this.scrollObserver = fromEvent(\r\n horizontalScrollElem.nativeElement,\r\n 'scroll',\r\n )\r\n .pipe(debounceTime(100), throttleTime(100))\r\n .subscribe(_ => {\r\n this.updateNavigationBtnStatus(horizontalScrollElem\r\n .nativeElement as HTMLElement);\r\n });\r\n setTimeout(() => {\r\n this.getBottomDotsArray();\r\n }, 700);\r\n }\r\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\r\n this.isMobile = isLtMedium\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n timer(100).subscribe(() => {\r\n if (this.horizontalScrollElem) {\r\n this.updateNavigationBtnStatus(this.horizontalScrollElem\r\n .nativeElement as HTMLElement);\r\n }\r\n });\r\n setTimeout(() => {\r\n this.getBottomDotsArray();\r\n }, 700);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.scrollObserver) {\r\n this.scrollObserver.unsubscribe();\r\n }\r\n if (this.defaultMenuSubscribe) {\r\n this.defaultMenuSubscribe.unsubscribe()\r\n }\r\n }\r\n\r\n showPrev() {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft -= 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\r\n behavior: 'smooth',\r\n });\r\n \r\n const elem = this.horizontalScrollElem.nativeElement\r\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n this.activeNav -= 1;\r\n } else {\r\n if(this.sliderConfig.arrowsAlwaysOn) {\r\n if(this.horizontalScrollElem.nativeElement.scrollLeft === 0){\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: elem.scrollWidth,\r\n behavior: 'smooth',\r\n });\r\n this.activeNav = this.bottomDotsArray.length - 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n showNext() {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft += 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\r\n behavior: 'smooth',\r\n });\r\n const elem = this.horizontalScrollElem.nativeElement\r\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n this.activeNav += 1;\r\n } else {\r\n if(this.sliderConfig.arrowsAlwaysOn) {\r\n if(this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth ){\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: 0,\r\n behavior: 'smooth',\r\n });\r\n this.activeNav = 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private updateNavigationBtnStatus(elem: HTMLElement) {\r\n this.enablePrev = true;\r\n this.enableNext = true;\r\n if (elem.scrollLeft === 0) {\r\n if(!this.sliderConfig.arrowsAlwaysOn) {\r\n this.enablePrev = false;\r\n }\r\n this.activeNav = 0;\r\n }\r\n // if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {\r\n // if (this.loadStatus === 'hasMore') {\r\n // this.loadNext.emit();\r\n // } else {\r\n // if(!this.sliderConfig.arrowsAlwaysOn) {\r\n // this.enableNext = false;\r\n // }\r\n // if (this.bottomDotsArray.length) {\r\n // this.activeNav = this.bottomDotsArray.length - 1;\r\n // }\r\n // }\r\n // }\r\n // if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n // this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);\r\n // }\r\n\r\n\r\n const widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft))\r\n if (widthDiff === 0 || widthDiff === 1) {\r\n if (this.loadStatus === 'hasMore') {\r\n this.loadNext.emit()\r\n } else {\r\n this.enableNext = false\r\n if (this.bottomDotsArray.length) {\r\n this.activeNav = this.bottomDotsArray.length - 1\r\n }\r\n }\r\n }\r\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\r\n this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth)\r\n }\r\n }\r\n\r\n slideTo(ele: any) {\r\n const diff = ele - this.activeNav;\r\n // if (ele > this.activeNav && ele !== this.activeNav) {\r\n // if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n // this.horizontalScrollElem.nativeElement.scrollTo({\r\n // left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),\r\n // behavior: 'smooth',\r\n // })\r\n // }\r\n // this.activeNav = ele\r\n // } else {\r\n // if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n // this.horizontalScrollElem.nativeElement.scrollTo({\r\n // left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),\r\n // behavior: 'smooth',\r\n // })\r\n // }\r\n // this.activeNav = ele\r\n // }\r\n if (this.horizontalScrollElem) {\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),\r\n behavior: 'smooth',\r\n });\r\n }\r\n this.activeNav = ele;\r\n }\r\n\r\n getBottomDotsArray() {\r\n if (this.horizontalScrollElem) {\r\n this.bottomDotsArray = [];\r\n let cardWidth;\r\n let arrLength;\r\n if (this.cardSubType !== 'card-wide-v2') {\r\n cardWidth = this.cardSubType === 'standard' ? 245 :\r\n ((document.getElementsByClassName(this.cardSubType) &&\r\n document.getElementsByClassName(this.cardSubType)[0] !== undefined)\r\n ? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);\r\n if (document.getElementById(`${this.id}`)) {\r\n const scrollerWidth = document.getElementById(`${this.id}`).clientWidth;\r\n const totalCardsLength = cardWidth * this.widgetsLength;\r\n if (totalCardsLength > scrollerWidth) {\r\n arrLength = Math.round(scrollerWidth / cardWidth);\r\n this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?\r\n this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;\r\n arrLength = this.defaultMaxWidgets / arrLength;\r\n for (let i = 0; i < arrLength; i += 1) {\r\n this.bottomDotsArray.push(i);\r\n }\r\n }\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.bottomDotsArray = []\r\n arrLength = document.getElementsByClassName(this.cardSubType).length;\r\n for (let i = 0; i < arrLength; i += 1) {\r\n this.bottomDotsArray.push(i);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HorizontalScrollerV2Component } from './horizontal-scroller-v2.component';\r\nimport { MatButtonModule, MatIconModule, MatProgressSpinnerModule } from '@angular/material';\r\n\r\n@NgModule({\r\n declarations: [HorizontalScrollerV2Component],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ],\r\n exports: [HorizontalScrollerV2Component],\r\n})\r\nexport class HorizontalScrollerV2Module { }\r\n","export namespace NsContent {\r\n export interface IContinueLearningData extends IContent {\r\n continueData: any;\r\n }\r\n\r\n export interface IContinueLearningDataReq {\r\n request: {\r\n userId: string | undefined,\r\n courseId: string,\r\n contentIds: string[],\r\n batchId: string | undefined | null\r\n fields?: string[]\r\n };\r\n }\r\n\r\n export interface IContent {\r\n platform?: any;\r\n addedOn: string;\r\n appIcon: string;\r\n artifactUrl: string;\r\n averageRating?: any;\r\n // this will be used to content form enrollment user list\r\n batches?: any;\r\n batch?: any;\r\n body?: string;\r\n certificationList?: IRelatedContentMeta[];\r\n certificationStatus?: TCertificationStatus;\r\n certificationSubmissionDate?: string;\r\n certificationUrl: string;\r\n childNodes?: string[];\r\n children: IContent[];\r\n childrenClassifiers?: string[];\r\n clients?: IClient[];\r\n collections?: IContent[];\r\n completionPercentage?: number | null;\r\n completionStatus?: number;\r\n difficultyLevel: string;\r\n contentId: string;\r\n contentType: EContentTypes;\r\n contentUrlAtSource: string;\r\n creatorContacts: ICreator[];\r\n\r\n creatorDetails: ICreator[];\r\n creatorLogo: string;\r\n creatorPosterImage: string;\r\n creatorThumbnail: string;\r\n\r\n curatedTags: string[];\r\n description: string;\r\n displayContentType: EDisplayContentTypes; // For UI\r\n downloadUrl?: string;\r\n duration: number;\r\n enrolledDate?: string;\r\n exclusiveContent?: boolean;\r\n expiryDate?: string;\r\n equivalentCertifications?: IRelatedContentMeta[];\r\n hasAccess: boolean;\r\n hasAssessment?: string;\r\n idealScreenSize?: string;\r\n identifier: string;\r\n introductoryVideo?: string;\r\n introductoryVideoIcon?: string;\r\n learningTrack?: string;\r\n isExternal: boolean;\r\n isIframeSupported: 'Yes' | 'No' | 'Maybe';\r\n isInIntranet?: boolean;\r\n keywords?: string[];\r\n kArtifacts?: IRelatedContentMeta[];\r\n lastContentAccessTime?: string;\r\n lastUpdatedOn: string;\r\n learningMode?: TLearningMode;\r\n learningObjective: string;\r\n labels?: string[];\r\n locale?: string;\r\n hasTranslations?: { identifier: string; locale: string }[];\r\n isTranslationOf?: { identifier: string; locale: string }[];\r\n me_totalSessionsCount: number;\r\n mediaType: string;\r\n mimeType: EMimeTypes;\r\n msArtifactDetails?: IMSArtifactDetails;\r\n mode?: ETagType;\r\n name: string;\r\n nextCertificationAttemptDate?: string;\r\n playgroundInstructions?: string;\r\n playgroundResources?: IResourcePlayground[];\r\n postContents?: IPrePostContent[];\r\n posterImage?: string;\r\n preContents?: IPrePostContent[];\r\n preRequisites: string;\r\n price?: {\r\n currency: string\r\n value: number\r\n };\r\n primaryCategory: EPrimaryCategory;\r\n proctorUrl?: string;\r\n progress?: IMarkAsCompleteProgress;\r\n publishedOn: string;\r\n recentCertificationAttemptScore?: number;\r\n recommendationReasons?: string[];\r\n region?: string[];\r\n registrationUrl?: string;\r\n registrationInstructions?: string;\r\n resourceCategory?: string[];\r\n resourceType: string;\r\n size?: number;\r\n skills: ISkill[];\r\n softwareRequirements?: IResourceDetail[];\r\n sourceName: string;\r\n sourceShortName: string;\r\n sourceIconUrl?: string;\r\n sourceUrl?: string;\r\n ssoEnabled?: boolean;\r\n lastReadContentId?: string;\r\n status:\r\n | 'Draft'\r\n | 'InReview'\r\n | 'QualityReview'\r\n | 'Reviewed'\r\n | 'Processing'\r\n | 'Live'\r\n | 'Deleted'\r\n | 'MarkedForDeletion'\r\n | 'Expired';\r\n subTitle?: string;\r\n subTitles?: ISubtitle[];\r\n studyMaterials?: IRelatedContentMeta[];\r\n systemRequirements?: string[];\r\n tags: ITag[];\r\n topics: IContentTopic[];\r\n totalLikes?: { [key: string]: number };\r\n totalRating?: number;\r\n track: ITrack[];\r\n uniqueLearners?: number;\r\n viewCount?: { [key: string]: number };\r\n reason?: string; // required for Knowledge board\r\n trainingLHubCount?: number; // for LHub trainings\r\n verifiers?: {\r\n // required for External Certifications\r\n name: string\r\n email: string\r\n id: string\r\n }[];\r\n references?: { url: string; title: string }[];\r\n resumePage?: number; // For player WebModule in UI\r\n [key: string]: any;\r\n optionalReading: boolean;\r\n additionalTags?: string[];\r\n }\r\n\r\n export interface IContentResponse {\r\n id: string;\r\n params: any;\r\n responseCode: string;\r\n result: {\r\n content: IContent\r\n };\r\n ts: string;\r\n ver: string;\r\n }\r\n\r\n export interface IBatch {\r\n batchId: string;\r\n createdBy: string;\r\n endDate: string | null;\r\n enrollmentType: string;\r\n identifier: string;\r\n name: string;\r\n startDate: string;\r\n status: number;\r\n cert_templates?: null;\r\n collectionId: string;\r\n courseId: string;\r\n createdDate: string;\r\n createdFor: string[];\r\n description?: null;\r\n enrollmentEndDate: string | null;\r\n id: string;\r\n mentors?: string[] | null;\r\n tandc?: null;\r\n updatedDate?: string | null;\r\n }\r\n\r\n export interface IBatchListResponse {\r\n content?: IBatch[];\r\n count?: number;\r\n enrolled?: boolean;\r\n workFlow?: {\r\n wfInitiated?: boolean\r\n batch?: any\r\n wfItem?: any\r\n };\r\n }\r\n\r\n export interface ICourse {\r\n active: true;\r\n addedBy: string;\r\n batch: IBatch;\r\n batchId: string;\r\n certificates: [];\r\n collectionId: string;\r\n completedOn: string | null;\r\n completionPercentage: number | null;\r\n completionStatus?: number;\r\n content: IContent;\r\n contentId: string;\r\n contentStatus: any;\r\n courseId: string;\r\n courseLogoUrl: string;\r\n courseName: string;\r\n dateTime: number;\r\n description: string;\r\n enrolledDate: string;\r\n issuedCertificates: [];\r\n lastContentAccessTime?: string;\r\n lastReadContentId?: string;\r\n lastReadContentStatus: string | null;\r\n leafNodesCount: number;\r\n progress: number;\r\n status: number;\r\n userId: string;\r\n }\r\n\r\n export interface IContentMinimal {\r\n appIcon: string;\r\n artifactUrl: string;\r\n difficultyLevel: string;\r\n contentType: EContentTypes;\r\n description: string;\r\n displayContentType?: EDisplayContentTypes;\r\n duration: number;\r\n identifier: string;\r\n hasAccess?: boolean;\r\n isInIntranet?: boolean;\r\n learningMode?: TLearningMode;\r\n mimeType: EMimeTypes;\r\n name: string;\r\n creatorDetails: ICreator[];\r\n creatorContacts: ICreator[];\r\n posterImage: string;\r\n primaryCategory: EPrimaryCategory;\r\n resourceType?: string;\r\n totalRating?: number;\r\n }\r\n\r\n export interface ICollectionHierarchyResponse {\r\n data: IContent;\r\n hasMore: boolean;\r\n totalContents: number;\r\n }\r\n\r\n export interface IRelatedContentMeta {\r\n identifier: string;\r\n name: string;\r\n }\r\n\r\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt';\r\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed';\r\n\r\n interface IMarkAsCompleteProgress {\r\n progressStatus: 'open' | 'started' | 'completed';\r\n showMarkAsComplete: boolean;\r\n markAsCompleteReason: string;\r\n progressSupported: boolean;\r\n progress: number | null;\r\n }\r\n\r\n interface ITag {\r\n id: string;\r\n type: string;\r\n value: string;\r\n }\r\n interface IMSArtifactDetails {\r\n channelId: string;\r\n videoId: string;\r\n }\r\n interface IClient {\r\n displayName: string;\r\n id: string;\r\n name: string;\r\n }\r\n interface ISubtitle {\r\n srclang: string;\r\n label: string;\r\n url: string;\r\n }\r\n interface IPrePostContent {\r\n identifier: string;\r\n name: string;\r\n }\r\n interface IResourceDetail {\r\n title?: string;\r\n url?: string;\r\n }\r\n interface IResourcePlayground {\r\n appIcon: string;\r\n artifactUrl: string;\r\n identifier: string;\r\n name: string;\r\n }\r\n interface ITrack {\r\n id: string;\r\n name: string;\r\n status: string;\r\n visibility: string;\r\n }\r\n interface ISkill {\r\n id: string;\r\n category: string;\r\n skill: string;\r\n name: string;\r\n }\r\n export interface ICreator {\r\n id: string;\r\n name: string;\r\n email: string;\r\n }\r\n export interface IContentTopic {\r\n identifier: string;\r\n name: string;\r\n }\r\n // API Based\r\n\r\n export interface IContact {\r\n id: string;\r\n name: string;\r\n email: string;\r\n }\r\n\r\n export interface IViewerContinueLearningRequest {\r\n resourceId: string;\r\n contextPathId: string;\r\n data: string;\r\n dateAccessed: number;\r\n contextType?: string;\r\n }\r\n /**\r\n * @deprecated Enum EContentTypes should not be used in future\r\n */\r\n export enum EContentTypes {\r\n PROGRAMV2 = 'Program',\r\n PROGRAM = 'Learning Path',\r\n CHANNEL = 'Channel',\r\n COURSE = 'Course',\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n MODULE = 'CourseUnit',\r\n RESOURCE = 'Resource',\r\n }\r\n export enum EPrimaryCategory {\r\n PROGRAM = 'Program',\r\n COURSE = 'Course',\r\n MODULE = 'Course Unit',\r\n RESOURCE = 'Learning Resource',\r\n GOALS = 'GOALS',\r\n PLAYLIST = 'PLAYLIST',\r\n PRACTICE_RESOURCE = 'Practice Question Set',\r\n FINAL_ASSESSMENT = 'Course Assessment',\r\n COMP_ASSESSMENT = 'Competency Assessment',\r\n FTB_QUESTION = 'FTB Question',\r\n MTF_QUESTION = 'MTF Question',\r\n MULTIPLE_CHOICE_QUESTION = 'Multiple Choice Question',\r\n SINGLE_CHOICE_QUESTION = 'Single Choice Question',\r\n MANDATORY_COURSE_GOAL = 'Mandatory Course Goal',\r\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\r\n BLENDED_PROGRAM = 'Blended Program',\r\n OFFLINE_SESSION = 'Offline Session',\r\n CURATED_PROGRAM = 'Curated Program',\r\n // following will not be available soon\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n /**\r\n * @deprecated The type should not be used\r\n */\r\n CHANNEL = 'Channel',\r\n }\r\n\r\n export enum ECourseCategory {\r\n INVITE_ONLY_PROGRAM = 'Invite-Only Program',\r\n MODERATED_PROGRAM = 'Moderated Program',\r\n BLENDED_PROGRAM = 'Blended Program',\r\n CURATED_PROGRAM = 'Curated Program',\r\n COURSE = 'Course',\r\n MODERATED_COURSE = 'Moderated Course',\r\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\r\n MODERATED_ASSESSEMENT = 'Moderated Assessment',\r\n }\r\n\r\n export enum WFBlendedProgramStatus {\r\n INITIATE = 'INITIATE',\r\n SEND_FOR_MDO_APPROVAL = 'SEND_FOR_MDO_APPROVAL',\r\n SEND_FOR_PC_APPROVAL = 'SEND_FOR_PC_APPROVAL',\r\n APPROVED = 'APPROVED',\r\n REJECTED = 'REJECTED',\r\n WITHDRAWN = 'WITHDRAWN',\r\n REMOVED = 'REMOVED',\r\n WITHDRAW = 'WITHDRAW',\r\n }\r\n export enum WFBlendedProgramApprovalTypes {\r\n ONE_STEP_PC = 'oneStepPCApproval',\r\n ONE_STEP_MDO = 'oneStepMDOApproval',\r\n TWO_STEP_MDO_PC = 'twoStepMDOAndPCApproval',\r\n TWO_STEP_PC_MDO = 'twoStepPCAndMDOApproval',\r\n }\r\n\r\n export const WFSTATUS_MSG_MAPPING: any = {\r\n INITIATE: '',\r\n SEND_FOR_MDO_APPROVAL: 'BatchEnrollL1Msg',\r\n SEND_FOR_PC_APPROVAL: 'BatchEnrollL2Msg',\r\n APPROVED: 'BatchEnrollApprovedMsg',\r\n REJECTED: 'BatchEnrollRejectedMsg',\r\n WITHDRAWN: 'BatchEnrollWithdrawMsg',\r\n REMOVED: 'BatchEnrollRemoveMsg',\r\n EXPIRED: 'BatchListExpiredMsg',\r\n };\r\n\r\n export enum EResourcePrimaryCategories {\r\n LEARNING_RESOURCE = 'Learning Resource',\r\n PRACTICE_RESOURCE = 'Practice Question Set',\r\n FINAL_ASSESSMENT = 'Course Assessment',\r\n COMP_ASSESSMENT = 'Competency Assessment',\r\n OFFLINE_SESSION = 'Offline Session',\r\n }\r\n\r\n export enum EMiscPlayerSupportedCollectionTypes {\r\n PLAYLIST = 'Playlist',\r\n }\r\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\r\n EPrimaryCategory.COURSE,\r\n EPrimaryCategory.MODULE,\r\n EPrimaryCategory.PROGRAM,\r\n EPrimaryCategory.CURATED_PROGRAM,\r\n EPrimaryCategory.BLENDED_PROGRAM,\r\n EPrimaryCategory.STANDALONE_ASSESSMENT,\r\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\r\n ];\r\n export const KB_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\r\n EPrimaryCategory.COURSE,\r\n EPrimaryCategory.MODULE,\r\n EPrimaryCategory.PROGRAM,\r\n EPrimaryCategory.RESOURCE,\r\n ];\r\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\r\n EPrimaryCategory.COURSE,\r\n EPrimaryCategory.MODULE,\r\n EPrimaryCategory.PROGRAM,\r\n EPrimaryCategory.RESOURCE,\r\n ];\r\n export enum EMimeTypes {\r\n COLLECTION = 'application/vnd.ekstep.content-collection',\r\n ZIP = 'application/vnd.ekstep.html-archive',\r\n ZIP2 = 'application/vnd.ekstep.ecml-archive',\r\n HTML = 'application/html',\r\n HTML_TEXT = 'text/html',\r\n ILP_FP = 'application/ilpfp',\r\n IAP = 'application/iap-assessment',\r\n M4A = 'audio/m4a',\r\n MP3 = 'audio/mpeg',\r\n MP4 = 'video/mp4',\r\n M3U8 = 'application/x-mpegURL',\r\n INTERACTION = 'video/interactive',\r\n PDF = 'application/pdf',\r\n QUIZ = 'application/quiz',\r\n DRAG_DROP = 'application/drag-drop',\r\n HTML_PICKER = 'application/htmlpicker',\r\n WEB_MODULE = 'application/web-module',\r\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\r\n YOUTUBE = 'video/x-youtube',\r\n HANDS_ON = 'application/integrated-hands-on',\r\n RDBMS_HANDS_ON = 'application/rdbms',\r\n CLASS_DIAGRAM = 'application/class-diagram',\r\n CHANNEL = 'application/channel',\r\n COLLECTION_RESOURCE = 'resource/collection',\r\n APPLICATION_JSON = 'application/json',\r\n PRACTICE_RESOURCE = 'application/vnd.sunbird.questionset',\r\n FINAL_ASSESSMENT = 'application/vnd.sunbird.questionset',\r\n OFFLINE_SESSION = 'application/offline',\r\n // Added on UI Only\r\n CERTIFICATION = 'application/certification',\r\n PLAYLIST = 'application/playlist',\r\n TEXT_WEB = 'text/x-url',\r\n SURVEY = 'application/survey',\r\n QUESTION_SET = 'application/vnd.sunbird.questionset',\r\n QUESTION = 'application/vnd.sunbird.question',\r\n UNKNOWN = 'application/unknown',\r\n }\r\n export enum EDisplayContentTypes {\r\n ASSESSMENT = 'ASSESSMENT',\r\n STANDALONE_ASSESSMENT = 'STANDALONE ASSESSMENT',\r\n PRACTICE_RESOURCE = 'Practice Question Set',\r\n FINAL_ASSESSMENT = 'Course Assessment',\r\n AUDIO = 'AUDIO',\r\n CERTIFICATION = 'CERTIFICATION',\r\n CHANNEL = 'Channel',\r\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\r\n COURSE = 'COURSE',\r\n DEFAULT = 'DEFAULT',\r\n DRAG_DROP = 'DRAG_DROP',\r\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\r\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\r\n GOALS = 'GOALS',\r\n HANDS_ON = 'HANDS_ON',\r\n IAP = 'IAP',\r\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\r\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\r\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\r\n MODULE = 'MODULE',\r\n PDF = 'PDF',\r\n SURVEY = 'SURVEY',\r\n PLAYLIST = 'PLAYLIST',\r\n PROGRAM = 'PROGRAM',\r\n QUIZ = 'QUIZ',\r\n RESOURCE = 'RESOURCE',\r\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\r\n VIDEO = 'VIDEO',\r\n WEB_MODULE = 'WEB_MODULE',\r\n WEB_PAGE = 'WEB_PAGE',\r\n YOUTUBE = 'YOUTUBE',\r\n LINK = 'LINK',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n BLENDED_PROGRAM = 'BLENDED PROGRAM',\r\n CURATED_PROGRAM = 'CURATED PROGRAM',\r\n }\r\n // for UI\r\n export enum EFilterCategory {\r\n ALL = 'ALL',\r\n LEARN = 'LEARN',\r\n PRACTICE = 'PRACTICE',\r\n ASSESS = 'ASSESS',\r\n }\r\n\r\n // for UI\r\n export enum ETagType {\r\n NEWLY_ADDED = 'NEWLY ADDED',\r\n }\r\n\r\n export const UN_SUPPORTED_DATA_TYPES_FOR_NON_BATCH_USERS: string[] = [\r\n // this is comment now for enabling links in the toc page for enrolled users\r\n // EMimeTypes.QUIZ,\r\n // EMimeTypes.APPLICATION_JSON,\r\n // EMimeTypes.WEB_MODULE_EXERCISE,\r\n\r\n ];\r\n export const PUBLIC_SUPPORTED_CONTENT_TYPES: EMimeTypes[] = [\r\n EMimeTypes.APPLICATION_JSON,\r\n EMimeTypes.FINAL_ASSESSMENT,\r\n EMimeTypes.HTML,\r\n EMimeTypes.HTML_TEXT,\r\n EMimeTypes.ZIP,\r\n EMimeTypes.ZIP2,\r\n EMimeTypes.M4A,\r\n EMimeTypes.MP3,\r\n EMimeTypes.MP4,\r\n EMimeTypes.PDF,\r\n EMimeTypes.YOUTUBE,\r\n EMimeTypes.TEXT_WEB,\r\n EMimeTypes.SURVEY,\r\n ];\r\n}\r\n","import { NsContent } from '../_models/widget-content.model';\r\n\r\nexport const VIEWER_ROUTE_FROM_MIME = (mimeType: NsContent.EMimeTypes) => {\r\n switch (mimeType) {\r\n case NsContent.EMimeTypes.MP3:\r\n return 'audio';\r\n case NsContent.EMimeTypes.M4A:\r\n return 'audio-native';\r\n case NsContent.EMimeTypes.COLLECTION:\r\n return 'html';\r\n case NsContent.EMimeTypes.CHANNEL:\r\n // case 'application/json' as any:\r\n // return 'channel'\r\n case NsContent.EMimeTypes.CERTIFICATION:\r\n return 'certification';\r\n case NsContent.EMimeTypes.HTML_TEXT:\r\n case NsContent.EMimeTypes.HTML:\r\n case NsContent.EMimeTypes.ZIP:\r\n if (window.location.href.includes('mobile/html')) {\r\n return 'mobile/html';\r\n }\r\n return 'html';\r\n case NsContent.EMimeTypes.TEXT_WEB:\r\n return 'youtube';\r\n case NsContent.EMimeTypes.SURVEY:\r\n return 'survey';\r\n case NsContent.EMimeTypes.IAP:\r\n return 'iap';\r\n case NsContent.EMimeTypes.ILP_FP:\r\n return 'ilp-fp';\r\n case NsContent.EMimeTypes.PDF:\r\n return 'pdf';\r\n case NsContent.EMimeTypes.MP4:\r\n case NsContent.EMimeTypes.M3U8:\r\n return 'video';\r\n case NsContent.EMimeTypes.YOUTUBE:\r\n return 'youtube';\r\n // return 'html'\r\n case NsContent.EMimeTypes.WEB_MODULE:\r\n return 'web-module';\r\n case NsContent.EMimeTypes.WEB_MODULE_EXERCISE:\r\n return 'web-module';\r\n case NsContent.EMimeTypes.CLASS_DIAGRAM:\r\n return 'class-diagram';\r\n case NsContent.EMimeTypes.HANDS_ON:\r\n return 'hands-on';\r\n case NsContent.EMimeTypes.RDBMS_HANDS_ON:\r\n return 'rdbms-hands-on';\r\n case NsContent.EMimeTypes.HTML_PICKER:\r\n return 'html-picker';\r\n case NsContent.EMimeTypes.QUIZ:\r\n case NsContent.EMimeTypes.APPLICATION_JSON:\r\n return 'quiz';\r\n case NsContent.EMimeTypes.PRACTICE_RESOURCE:\r\n return 'practice';\r\n case NsContent.EMimeTypes.COLLECTION_RESOURCE:\r\n return 'resource-collection';\r\n case NsContent.EMimeTypes.OFFLINE_SESSION:\r\n return 'offline-session';\r\n default:\r\n return 'html';\r\n }\r\n};\r\n\r\nexport function viewerRouteGenerator(\r\n id: string,\r\n mimeType: NsContent.EMimeTypes,\r\n collectionId?: string,\r\n collectionType?: string,\r\n forPreview = false,\r\n primaryCategory?: string,\r\n batchId?: string,\r\n courseName?: string,\r\n): { url: string; queryParams: { [key: string]: any } } {\r\n let collId = collectionId;\r\n let collType = collectionType;\r\n if (collType && !NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES.includes(collType)) {\r\n collId = undefined;\r\n collType = undefined;\r\n }\r\n const url = `/viewer/${VIEWER_ROUTE_FROM_MIME(mimeType)}/${id}`;\r\n // tslint:disable-next-line\r\n // console.log(url,'========>Route from MIME TYPE<==========')\r\n const forcreator = window.location.href.includes('editMode=true');\r\n let queryParams = {};\r\n if (primaryCategory) {\r\n queryParams = {\r\n primaryCategory,\r\n };\r\n }\r\n if (collectionId && collectionType) {\r\n queryParams = { ...queryParams, collectionId: collId, collectionType: collType };\r\n }\r\n if (batchId) {\r\n queryParams = { ...queryParams, batchId };\r\n }\r\n if (courseName) {\r\n queryParams = { ...queryParams, courseName };\r\n }\r\n if (forPreview) {\r\n queryParams = { ...queryParams, preview: true };\r\n }\r\n if (forcreator) {\r\n queryParams = { ...queryParams, editMode: true };\r\n }\r\n return {\r\n queryParams,\r\n url,\r\n };\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigurationsService } from '@sunbird-cb/utils-v2';\r\nimport { Observable, of, EMPTY, BehaviorSubject, Subject } from 'rxjs';\r\nimport { catchError, retry, map, shareReplay } from 'rxjs/operators';\r\nimport { NsContentStripMultiple } from '../_models/content-strip-multiple.model';\r\nimport { NsContent } from '../_models/widget-content.model';\r\nimport { NSSearch } from '../_models/widget-search.model';\r\n// tslint:disable\r\nimport * as _ from 'lodash'\r\nimport { viewerRouteGenerator } from './viewer-route-util'\r\nimport * as moment_ from 'moment';\r\nconst moment = moment_;\r\n// tslint:enable\r\n\r\n// TODO: move this in some common place\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\r\n\r\nconst API_END_POINTS = {\r\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\r\n AUTHORING_CONTENT: `/api/course/v1/hierarchy`,\r\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\r\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\r\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\r\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\r\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\r\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\r\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\r\n CONTENT_SEARCH_V6: `/apis/proxies/v8/sunbirdigot/search`,\r\n TRENDING_CONTENT_SEARCH: `apis/proxies/v8/trending/content/search`,\r\n CONTENT_SEARCH_RELATED_CBP_V6: `/apis/proxies/v8/sunbirdigot/search`,\r\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\r\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\r\n CONTENT_HISTORYV2: `/apis/proxies/v8/read/content-progres`,\r\n COURSE_BATCH_LIST: `/apis/proxies/v8/learner/course/v1/batch/list`,\r\n COURSE_BATCH: `/apis/proxies/v8/course/v1/batch/read`,\r\n AUTO_ASSIGN_BATCH: `/apis/protected/v8/cohorts/user/autoenrollment/`,\r\n AUTO_ASSIGN_CURATED_BATCH: `/apis/proxies/v8/curatedprogram/v1/enrol`,\r\n AUTO_ASSIGN_OPEN_PROGRAM: `/apis/proxies/v8/openprogram/v1/enrol`,\r\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\r\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\r\n COLLECTION_HIERARCHY: (type: string, id: string) =>\r\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\r\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\r\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\r\n ENROLL_BATCH: `/apis/proxies/v8/learner/course/v1/enrol`,\r\n ENROLL_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/enrol`,\r\n WITHDRAW_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/unenrol`,\r\n BLENDED_USER_WF: `/apis/proxies/v8/workflow/blendedprogram/user/search`,\r\n BLENDED_USER_COUNT: `apis/proxies/v8/workflow/blendedprogram/enrol/status/count`,\r\n CERT_ADD_TEMPLATE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/template/add`,\r\n CERT_ISSUE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/issue`,\r\n CERT_DOWNLOAD: (certId: any) => `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/download/${certId}`,\r\n READ_KARMAPOINTS: `/apis/proxies/v8/karmapoints/read`,\r\n CONTENT_READ: (contentId: any) => `/apis/proxies/v8/action/content/v3/read/${contentId}`,\r\n READ_COURSE_KARMAPOINTS: '/apis/proxies/v8/karmapoints/user/course/read',\r\n CLAIM_KARMAPOINTS: '/apis/proxies/v8/claimkarmapoints',\r\n USER_KARMA_POINTS: '/apis/proxies/v8/user/totalkarmapoints',\r\n AGGREGATION_SEARCH: '/apis/proxies/v8/content/aggregation/search',\r\n FEATURE_SEARCH: '/apis/proxies/v8/featured/content/search',\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetContentService {\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService,\r\n ) {\r\n }\r\n\r\n tocConfigData: any = new BehaviorSubject<any>({});\r\n tocConfigData$ = this.tocConfigData.asObservable();\r\n\r\n private telemetryData: any = new Subject<any>()\r\n public telemetryData$ = this.telemetryData.asObservable()\r\n currentMetaData!: NsContent.IContent;\r\n currentContentReadMetaData!: NsContent.IContent;\r\n currentBatchEnrollmentList!: NsContent.ICourse[];\r\n programChildCourseResumeData = new BehaviorSubject<any>({});\r\n programChildCourseResumeData$ = this.programChildCourseResumeData.asObservable();\r\n\r\n changeTelemetryData(message: string) {\r\n this.telemetryData.next(message);\r\n }\r\n isResource(primaryCategory: string) {\r\n if (primaryCategory) {\r\n const isResource = (primaryCategory === NsContent.EResourcePrimaryCategories.LEARNING_RESOURCE) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.PRACTICE_RESOURCE) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.FINAL_ASSESSMENT) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.COMP_ASSESSMENT) ||\r\n (primaryCategory === NsContent.EResourcePrimaryCategories.OFFLINE_SESSION);\r\n return isResource;\r\n }\r\n return false;\r\n }\r\n\r\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\r\n // tslint:disable-next-line\r\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\r\n // return this.http.get(url).toPromise()\r\n if (url) { }\r\n return of().toPromise();\r\n }\r\n\r\n updateTocConfig(data: any) {\r\n this.tocConfigData.next(data);\r\n }\r\n\r\n fetchContent(\r\n contentId: string,\r\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\r\n _additionalFields: string[] = [],\r\n primaryCategory?: string | null,\r\n ): Observable<NsContent.IContent> {\r\n // const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\r\n let url = '';\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\r\n if (primaryCategory && this.isResource(primaryCategory)) {\r\n if (!forPreview) {\r\n url = `/apis/proxies/v8/action/content/v3/read/${contentId}`;\r\n } else {\r\n url = `/api/content/v1/read/${contentId}`;\r\n }\r\n } else {\r\n if (!forPreview) {\r\n url = `/apis/proxies/v8/action/content/v3/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\r\n } else {\r\n const forcreator = window.location.href.includes('editMode=true');\r\n if (forcreator) {\r\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\r\n } else {\r\n url = `/api/course/v1/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\r\n }\r\n }\r\n }\r\n // return this.http\r\n // .post<NsContent.IContent>(url, { additionalFields })\r\n // .pipe(retry(1))\r\n return this.http\r\n .get<NsContent.IContent>(url)\r\n .pipe(shareReplay(1));\r\n // if (apiData && apiData.result) {\r\n // return apiData.result.content\r\n // }\r\n }\r\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\r\n const forcreator = window.location.href.includes('editMode=true');\r\n let url = '';\r\n if (forcreator) {\r\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\r\n } else {\r\n url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}?hierarchyType=detail`;\r\n }\r\n return this.http.get<NsContent.IContent>(url).pipe(shareReplay(1), r => r);\r\n }\r\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\r\n return this.http.get<NsContent.IContent[]>(\r\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\r\n );\r\n }\r\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\r\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\r\n `${API_END_POINTS.COLLECTION_HIERARCHY(\r\n type,\r\n id,\r\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n );\r\n }\r\n\r\n fetchBlendedCourse() {\r\n\r\n }\r\n\r\n fetchCourseBatches(req: any): Observable<NsContent.IBatchListResponse> {\r\n return this.http\r\n .post<NsContent.IBatchListResponse>(API_END_POINTS.COURSE_BATCH_LIST, req)\r\n .pipe(\r\n retry(1),\r\n map(\r\n (data: any) => data.result.response\r\n )\r\n );\r\n }\r\n\r\n // fetch individual batch\r\n fetchCourseBatch(batchId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.COURSE_BATCH}/${batchId}`,\r\n );\r\n }\r\n\r\n autoAssignBatchApi(identifier: any): Observable<NsContent.IBatchListResponse> {\r\n return this.http.get<NsContent.IBatchListResponse>(`${API_END_POINTS.AUTO_ASSIGN_BATCH}${identifier}`)\r\n .pipe(\r\n retry(1),\r\n map(\r\n (data: any) => data.result.response\r\n )\r\n );\r\n }\r\n\r\n autoAssignCuratedBatchApi(request: any, programType: any): Observable<NsContent.IBatchListResponse> {\r\n const url = programType === NsContent.ECourseCategory.MODERATED_PROGRAM ?\r\n API_END_POINTS.AUTO_ASSIGN_OPEN_PROGRAM : API_END_POINTS.AUTO_ASSIGN_CURATED_BATCH;\r\n return this.http.post<NsContent.IBatchListResponse>(`${url}`, request)\r\n .pipe(\r\n retry(1),\r\n map(\r\n (data: any) => data.result.response\r\n )\r\n );\r\n }\r\n\r\n enrollUserToBatch(req: any) {\r\n return this.http\r\n .post(API_END_POINTS.ENROLL_BATCH, req)\r\n .toPromise();\r\n }\r\n\r\n enrollAndUnenrollUserToBatchWF(req: any, type: any) {\r\n const url: any = type === 'WITHDRAW' ? API_END_POINTS.WITHDRAW_BATCH_WF : API_END_POINTS.ENROLL_BATCH_WF;\r\n return this.http\r\n .post(url, req)\r\n .toPromise();\r\n }\r\n\r\n fetchBlendedUserWF(req: any) {\r\n return this.http\r\n .post(API_END_POINTS.BLENDED_USER_WF, req)\r\n .toPromise();\r\n }\r\n\r\n fetchBlendedUserCOUNT(req: any) {\r\n return this.http\r\n .post(API_END_POINTS.BLENDED_USER_COUNT, req)\r\n .toPromise();\r\n }\r\n\r\n fetchContentLikes(contentIds: { content_id: string[] }) {\r\n return this.http\r\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\r\n .toPromise();\r\n }\r\n fetchContentRatings(contentIds: { contentIds: string[] }) {\r\n if (contentIds) { }\r\n // return this.http\r\n // .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\r\n // .toPromise()\r\n return of().toPromise();\r\n }\r\n\r\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\r\n );\r\n }\r\n\r\n fetchContentHistoryV2(req: NsContent.IContinueLearningDataReq): Observable<NsContent.IContinueLearningData> {\r\n req.request.fields = ['progressdetails'];\r\n const data = this.http.post<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORYV2}/${req.request.courseId}`, req\r\n );\r\n data.subscribe((subscribeData: any) => {\r\n this.programChildCourseResumeData.next({ resumeData: subscribeData.result.contentList, courseId: req.request.courseId });\r\n });\r\n return data;\r\n }\r\n\r\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\r\n return new Promise(async resolve => {\r\n if (collectionType &&\r\n collectionType.toLowerCase() === 'playlist') {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({\r\n timestamp: Date.now(),\r\n contextFullPath: [collectionId, id],\r\n }),\r\n dateAccessed: Date.now(),\r\n contextType: 'playlist',\r\n };\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true);\r\n }\r\n );\r\n } else {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now() }),\r\n dateAccessed: Date.now(),\r\n };\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true);\r\n });\r\n }\r\n });\r\n }\r\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\r\n // const url = API_END_POINTS.USER_CONTINUE_LEARNING\r\n // return this.http.post<any>(url, content)\r\n if (content) {\r\n\r\n }\r\n return of() as any;\r\n }\r\n\r\n setS3Cookie(\r\n _contentId: string,\r\n // _path: string,\r\n ): Observable<any> {\r\n // return this.http\r\n // .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\r\n // .pipe(catchError(_err => of(true)))\r\n\r\n return EMPTY;\r\n }\r\n\r\n setS3ImageCookie(): Observable<any> {\r\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)));\r\n }\r\n\r\n fetchManifest(url: string): Observable<any> {\r\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });\r\n }\r\n fetchWebModuleContent(url: string): Observable<any> {\r\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);\r\n }\r\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\r\n req.query = req.query || '';\r\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\r\n request: req,\r\n });\r\n }\r\n searchRegionRecommendation(\r\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\r\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\r\n req.query = req.query || '';\r\n req.preLabelValue =\r\n (req.preLabelValue || '') +\r\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');\r\n req.filters = {\r\n ...req.filters,\r\n labels: [req.preLabelValue || ''],\r\n };\r\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\r\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\r\n { request: req },\r\n );\r\n }\r\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResultV2> {\r\n const apiPath = _.get(req, 'api.path');\r\n req.query = req.query || '';\r\n if (apiPath) {\r\n return this.http.get<NSSearch.ISearchV6ApiResultV2>(apiPath);\r\n }\r\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_V6, req);\r\n }\r\n\r\n searchRelatedCBPV6(req: NSSearch.ISearchV6RequestV2): Observable<NSSearch.ISearchV6ApiResultV2> {\r\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_RELATED_CBP_V6, req);\r\n }\r\n\r\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\r\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\r\n }\r\n deleteContentRating(contentId: string): Observable<any> {\r\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\r\n }\r\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\r\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);\r\n }\r\n\r\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\r\n if (!(content.children || []).length) {\r\n return content;\r\n }\r\n if (\r\n (content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM &&\r\n !(content.artifactUrl && content.artifactUrl.length)) ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.MANDATORY_COURSE_GOAL ||\r\n (content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM &&\r\n !(content.artifactUrl && content.artifactUrl.length)) ||\r\n (content.primaryCategory === NsContent.EPrimaryCategory.MODULE &&\r\n !(content.artifactUrl && content.artifactUrl.length))\r\n ) {\r\n const child = content.children[0];\r\n return this.getFirstChildInHierarchy(child);\r\n }\r\n if (\r\n content.primaryCategory === NsContent.EPrimaryCategory.RESOURCE ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.KNOWLEDGE_ARTIFACT ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.PRACTICE_RESOURCE ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.FINAL_ASSESSMENT ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.COMP_ASSESSMENT ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\r\n content.primaryCategory === NsContent.EPrimaryCategory.OFFLINE_SESSION\r\n ) {\r\n return content;\r\n }\r\n const firstChild = content.children[0];\r\n const resultContent = this.getFirstChildInHierarchy(firstChild);\r\n return resultContent;\r\n }\r\n\r\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\r\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();\r\n }\r\n\r\n fetchConfig(url: string) {\r\n return this.http.get<any>(url);\r\n }\r\n\r\n addCertTemplate(body: any) {\r\n return this.http.patch<any>(`${API_END_POINTS.CERT_ADD_TEMPLATE}`, body);\r\n }\r\n\r\n issueCert(body: any) {\r\n return this.http.post<any>(`${API_END_POINTS.CERT_ISSUE}`, body);\r\n }\r\n downloadCert(certId: any) {\r\n return this.http.get<any>(`${API_END_POINTS.CERT_DOWNLOAD(certId)}`);\r\n }\r\n\r\n trendingContentSearch(req: any): Observable<any> {\r\n req.query = req.query || '';\r\n return this.http.post<any>(API_END_POINTS.TRENDING_CONTENT_SEARCH, req);\r\n }\r\n\r\n getKarmaPoitns(limit: number, offset: any) {\r\n return this.http.post(API_END_POINTS.READ_KARMAPOINTS, { limit, offset }).pipe(catchError(_err => of(true)));\r\n }\r\n fetchProgramContent(contentId: string[]): Observable<NsContent.IContent[]> {\r\n let url = '';\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\r\n if (!forPreview) {\r\n return this.http.get<NsContent.IContent[]>(\r\n API_END_POINTS.CONTENT_READ(contentId),\r\n );\r\n }\r\n url = `/api/content/v1/read/${contentId}`;\r\n return this.http.get<NsContent.IContent[]>(url);\r\n // return this.http.get<NsContent.IContent[]>(API_END_POINTS.CONTENT_READ(contentId))\r\n }\r\n\r\n getCourseKarmaPoints(request: any) {\r\n return this.http.post<any>(API_END_POINTS.READ_COURSE_KARMAPOINTS, request);\r\n }\r\n\r\n claimKarmapoints(request: any) {\r\n return this.http.post<any>(API_END_POINTS.CLAIM_KARMAPOINTS, request);\r\n }\r\n\r\n userKarmaPoints() {\r\n return this.http.post<any>(API_END_POINTS.USER_KARMA_POINTS, {});\r\n }\r\n\r\n getEnrolledData(doId: string) {\r\n const enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}');\r\n const enrolledCourseData = enrollmentMapData[doId];\r\n return enrolledCourseData;\r\n }\r\n\r\n async getResourseLink(content: any) {\r\n const enrolledCourseData: any = this.getEnrolledData(content.identifier);\r\n if (enrolledCourseData) {\r\n if (enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.BLENDED_PROGRAM ||\r\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.INVITE_ONLY_PROGRAM ||\r\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.MODERATED_PROGRAM ||\r\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\r\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM) {\r\n if (!this.isBatchInProgress(enrolledCourseData.batch)) {\r\n return this.gotoTocPage(content);\r\n }\r\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\r\n return data;\r\n } {\r\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\r\n return data;\r\n }\r\n\r\n }\r\n return this.gotoTocPage(content);\r\n\r\n }\r\n async checkForDataToFormUrl(content: any, enrollData: any) {\r\n let urlData: any;\r\n if (enrollData.completionPercentage === 100) {\r\n return this.gotoTocPage(enrollData);\r\n }\r\n if (enrollData.lrcProgressDetails && enrollData.lrcProgressDetails.mimeType) {\r\n const modifyEnrollData = {\r\n ...enrollData,\r\n identifier: enrollData.collectionId,\r\n primaryCategory: enrollData.content.primaryCategory,\r\n name: enrollData.content.name,\r\n };\r\n if (modifyEnrollData.lastReadContentId) {\r\n return this.getResourseDataWithData(modifyEnrollData,\r\n enrollData.lastReadContentId, enrollData.lrcProgressDetails.mimeType);\r\n }\r\n if (modifyEnrollData.firstChildId) {\r\n return this.getResourseDataWithData(modifyEnrollData,\r\n enrollData.firstChildId,\r\n enrollData.lrcProgressDetails.mimeType);\r\n }\r\n }\r\n if (enrollData.firstChildId || enrollData.lastReadContentId) {\r\n const doId = enrollData.firstChildId || enrollData.lastReadContentId;\r\n const responseData = await this.fetchProgramContent(doId).toPromise().then(async (res: any) => {\r\n if (res && res.result && res.result.content) {\r\n const contentData: any = res.result.content;\r\n const modifyEnrollData = {\r\n ...enrollData,\r\n identifier: enrollData.collectionId,\r\n primaryCategory: enrollData.content.primaryCategory,\r\n name: enrollData.content.name,\r\n };\r\n urlData = this.getResourseDataWithData(modifyEnrollData, contentData.identifier, contentData.mimeType);\r\n if (urlData) {\r\n return urlData;\r\n }\r\n }\r\n });\r\n return responseData ? responseData : this.gotoTocPage(content);\r\n }\r\n return this.gotoTocPage(content);\r\n\r\n }\r\n\r\n getResourseDataWithData(content: any, resourseId: any, mimeType: any) {\r\n if (content) {\r\n const url = viewerRouteGenerator(\r\n resourseId,\r\n mimeType,\r\n content.identifier,\r\n 'Course',\r\n false,\r\n 'Learning Resource',\r\n content.batchId,\r\n content.name,\r\n );\r\n return url;\r\n }\r\n return this.gotoTocPage(content);\r\n }\r\n gotoTocPage(content: any) {\r\n const urlData: any = {\r\n url: `/app/toc/${content.identifier ? content.identifier : content.collectionId}/overview`,\r\n queryParams: { batchId: content.batchId },\r\n };\r\n if (content.endDate) {\r\n urlData.queryParams = { ...urlData.queryParams, planType: 'cbPlan', endDate: content.endDate };\r\n }\r\n return urlData;\r\n }\r\n isBatchInProgress(batchData: any) {\r\n // if (this.content && this.content['batches']) {\r\n // const batches = this.content['batches'] as NsContent.IBatch\r\n if (batchData && batchData.endDate) {\r\n const now = moment().format('YYYY-MM-DD');\r\n const startDate = moment(batchData.startDate).format('YYYY-MM-DD');\r\n const endDate = batchData.endDate ? moment(batchData.endDate).format('YYYY-MM-DD') : now;\r\n return (\r\n // batch.status &&\r\n moment(startDate).isSameOrBefore(now)\r\n && moment(endDate).isSameOrAfter(now)\r\n );\r\n } return true;\r\n }\r\n postApiMethod(apiUrl: any, req: any): Observable<NsContent.IContent> {\r\n return this.http.post<NsContent.IContent>(apiUrl, req);\r\n }\r\n getApiMethod(apiUrl: any): Observable<NsContent.IContent> {\r\n // req.query = req.query || '';\r\n return this.http.get<NsContent.IContent>(apiUrl);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\r\nimport { IPortalUrls, IUserPreference, NsAppsConfig, NsInstanceConfig, NsPage, NsUser } from '@sunbird-cb/utils-v2';\r\nimport { NSProfileDataV3 } from '../_models/profile-v3.models';\r\n// const instanceConfigPath: string | null = window.location.host\r\n// const locationHost: string | null = window.location.host\r\n\r\n// if (!environment.production && Boolean(environment.sitePath)) {\r\n// locationHost = environment.sitePath\r\n// instanceConfigPath = environment.sitePath\r\n// }\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigurationsService {\r\n // update as the single source of truth\r\n constructor() {\r\n // @Inject('env') env: any\r\n // if (!env.production && Boolean(env.sitePath)) {\r\n // locationHost = env.sitePath\r\n // instanceConfigPath = env.sitePath\r\n // }\r\n }\r\n appSetup = true;\r\n // The url the user tried to access while landing in the app before accepting tnc\r\n userUrl = '';\r\n baseUrl = `assets/configurations`;\r\n sitePath = `assets/configurations`;\r\n hostPath = (window.location.host).replace(':', '_');\r\n\r\n userRoles: Set<string> | null = null;\r\n userGroups: Set<string> | null = null;\r\n restrictedFeatures: Set<string> | null = null;\r\n restrictedWidgets: Set<string> | null = null;\r\n instanceConfig: NsInstanceConfig.IConfig | null = null;\r\n appsConfig: NsAppsConfig.IAppsConfig | null = null;\r\n rootOrg: string | null = null;\r\n courseContentPath?: string;\r\n org: string[] | null = null;\r\n activeOrg: string | null = '';\r\n isProduction = false;\r\n hasAcceptedTnc = false;\r\n profileDetailsStatus = false;\r\n isActive = true;\r\n userPreference: IUserPreference | null = null;\r\n userProfile: NsUser.IUserProfile | null = null;\r\n userProfileV2: NsUser.IUserProfile | null = null;\r\n nodebbUserProfile: NsUser.INodebbUserProfile | null = null;\r\n // created to store complete user details sent by pid\r\n unMappedUser: any;\r\n isAuthenticated = false;\r\n isNewUser = false;\r\n portalUrls: IPortalUrls | undefined;\r\n positions: any;\r\n overrideThemeChanges: any;\r\n profileTimelyNudges: any;\r\n\r\n // pinnedApps\r\n pinnedApps = new BehaviorSubject<Set<string>>(new Set());\r\n\r\n // Notifier\r\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1);\r\n tourGuideNotifier = new ReplaySubject<boolean>();\r\n authChangeNotifier = new ReplaySubject<boolean>(1);\r\n\r\n private updateProfile = new BehaviorSubject(false);\r\n updateProfileObservable = this.updateProfile.asObservable();\r\n\r\n updateTourGuide = new BehaviorSubject(true);\r\n updateTourGuideObservable = this.updateTourGuide.asObservable();\r\n\r\n // platform rating\r\n updatePlatformRating = new BehaviorSubject({ bottom: '120px' });\r\n updatePlatformRatingObservable$ = this.updatePlatformRating.asObservable();\r\n\r\n languageTranslationFlag = new Subject();\r\n\r\n // Preference Related Values\r\n activeThemeObject: NsInstanceConfig.ITheme | null = null;\r\n activeFontObject: NsInstanceConfig.IFontSize | null = null;\r\n isDarkMode = false;\r\n isIntranetAllowed = false;\r\n isRTL = false;\r\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null;\r\n activeLocaleGroup = '';\r\n completedActivity: string[] | null = null;\r\n completedTour = false;\r\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints'];\r\n\r\n primaryNavBar: Partial<NsPage.INavBackground> = {\r\n color: 'primary',\r\n };\r\n pageNavBar: Partial<NsPage.INavBackground> = {\r\n color: 'primary',\r\n };\r\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null;\r\n /* for temp Fix */\r\n // setBaseUrl = (sitePath: string) => `assets/configurations/${(sitePath).replace(':', '_')}`\r\n // setSitePath = (sitePath: string) => `assets/configurations/${(sitePath).replace(\r\n // ':',\r\n // '_',\r\n // )}`\r\n // setHostPath = (sitePath: string) => (sitePath).replace(':', '_')\r\n welcomeTabs: NSProfileDataV3.IProfileTab | null = null;\r\n\r\n // variable setting for csJwtToken\r\n cstoken = '';\r\n\r\n changeNavBarFullView = new Subject();\r\n openExploreMenuForMWeb = new Subject();\r\n updateGlobalProfile(state: boolean) {\r\n this.updateProfile.next(state);\r\n }\r\n updateTourGuideMethod(state: boolean) {\r\n this.updateTourGuide.next(state);\r\n }\r\n\r\n updatePlatformRatingMethod(state: any) {\r\n this.updatePlatformRating.next(state);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ConfigurationsService } from './configurations.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class MultilingualTranslationsService {\r\n selectedLang = '';\r\n // website lang change\r\n languageSelected = new BehaviorSubject(true);\r\n languageSelectedObservable = this.languageSelected.asObservable();\r\n editProfileDetails = '/apis/proxies/v8/user/v1/extPatch';\r\n\r\n constructor(private translate: TranslateService, private http: HttpClient, private configSvc: ConfigurationsService) {\r\n // this.getLanguage()\r\n }\r\n\r\n getLanguage() {\r\n if (this.configSvc.unMappedUser) {\r\n if (this.configSvc.unMappedUser.profileDetails &&\r\n this.configSvc.unMappedUser.profileDetails.additionalProperties &&\r\n this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang) {\r\n const lang = this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang;\r\n this.translate.use(lang);\r\n localStorage.setItem('websiteLanguage', lang);\r\n } else {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n // this.translate.setDefaultLang('en')\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n } else {\r\n this.translate.setDefaultLang('en');\r\n localStorage.setItem('websiteLanguage', 'en');\r\n }\r\n }\r\n } else {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n // this.translate.setDefaultLang('en')\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n }\r\n }\r\n }\r\n\r\n translateLabelWithoutspace(label: string, type: any, subtype: any) {\r\n let nlabel = label;\r\n nlabel = nlabel && nlabel.replace(/\\s/g, '');\r\n if (subtype) {\r\n // tslint:disable-next-line: prefer-template\r\n const translationKey = type + '.' + nlabel + subtype;\r\n return this.translate.instant(translationKey);\r\n }\r\n // tslint:disable-next-line: prefer-template\r\n const translationKeyn = type + '.' + nlabel;\r\n return this.translate.instant(translationKeyn);\r\n }\r\n\r\n translateLabel(label: string, type: any, subtype: any) {\r\n if(label) {\r\n let nlabel = label;\r\n \r\n \r\n nlabel = nlabel && nlabel.toLowerCase() ;\r\n const sl = nlabel.split(' ');\r\n sl.forEach((w: any, index: any) => {\r\n if (index !== 0) {\r\n sl[index] = w[0].toUpperCase() + w.slice(1);\r\n }\r\n });\r\n nlabel = sl.join('');\r\n nlabel = nlabel.replace(/\\s/g, '');\r\n if (subtype) {\r\n // tslint:disable-next-line: prefer-template\r\n const translationKey = type + '.' + nlabel + subtype;\r\n return this.translate.instant(translationKey);\r\n }\r\n // tslint:disable-next-line: prefer-template\r\n const translationKeyn = type + '.' + nlabel;\r\n return this.translate.instant(translationKeyn);\r\n } \r\n return label\r\n }\r\n\r\n translateActualLabel(label: string, type: any, subtype: any) {\r\n let nlabel = label;\r\n const sl = nlabel.split(' ');\r\n sl.forEach((w: any, index: any) => {\r\n if (index !== 0) {\r\n sl[index] = w[0].toUpperCase() + w.slice(1);\r\n }\r\n });\r\n nlabel = sl.join('');\r\n nlabel = nlabel.replace(/\\s/g, '');\r\n if (subtype) {\r\n // tslint:disable-next-line: prefer-template\r\n const translationKey = type + '.' + nlabel + subtype;\r\n return this.translate.instant(translationKey);\r\n }\r\n // tslint:disable-next-line: prefer-template\r\n const translationKeyn = type + '.' + nlabel;\r\n return this.translate.instant(translationKeyn);\r\n }\r\n\r\n editProfileDetailsAPI(data: any) {\r\n return this.http.post<any>(this.editProfileDetails, data);\r\n }\r\n\r\n updatelanguageSelected(state: any, lang: any, userid: any) {\r\n this.languageSelected.next(state);\r\n this.translate.use(lang);\r\n this.selectedLang = lang;\r\n\r\n if (userid) {\r\n const reqUpdates = {\r\n request: {\r\n userId: userid,\r\n profileDetails: {\r\n additionalProperties: {\r\n webPortalLang: this.selectedLang,\r\n },\r\n },\r\n },\r\n };\r\n this.editProfileDetailsAPI(reqUpdates).subscribe();\r\n }\r\n }\r\n}\r\n","import { NsContent } from './widget-content.model';\r\n\r\nexport namespace NsCardContent {\r\n export interface ICard {\r\n content: NsContent.IContent;\r\n cardSubType: TCardSubType;\r\n context: { pageSection: string; position?: number };\r\n intranetMode?: 'greyOut' | 'hide';\r\n deletedMode?: 'greyOut' | 'hide';\r\n likes?: number;\r\n contentTags?: IContentTags;\r\n stateData: any;\r\n }\r\n\r\n export interface IContentTags {\r\n daysSpan?: number;\r\n excludeContentType?: NsContent.EContentTypes[];\r\n excludeMimeType?: string[];\r\n tag: string;\r\n criteriaField?: string;\r\n }\r\n\r\n export interface ICompetency extends ICard {\r\n competencyArea: '';\r\n competencyObject: {};\r\n }\r\n\r\n export type TCardSubType =\r\n | 'standard'\r\n | 'minimal'\r\n | 'space-saving'\r\n | 'card-user-details'\r\n | 'basic-info'\r\n | 'basic-details'\r\n | 'card-description-back'\r\n | 'network-card';\r\n\r\n export enum EContentStatus {\r\n LIVE = 'Live',\r\n EXPIRED = 'Expired',\r\n DELETED = 'Deleted',\r\n MARK_FOR_DELETION = 'MarkedForDeletion',\r\n }\r\n\r\n export enum ACBPConst {\r\n UPCOMING = 'upcoming',\r\n ALL = 'All',\r\n OVERDUE = 'overdue',\r\n SUCCESS = 'success',\r\n }\r\n\r\n export enum IGOTConst {\r\n COMPETENCIES = 'competencies_v5',\r\n RETIRED = 'Retired',\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { IUserGroupDetails } from '../_models/widget-user.model';\r\nimport { NsContent } from '../_models/widget-content.model';\r\nimport 'rxjs/add/observable/of'\r\nimport * as dayjs_ from 'dayjs';\r\nconst dayjs = dayjs_\r\n// import { environment } from 'src/environments/environment'\r\nimport { NsCardContent } from '../_models/card-content-v2.model';\r\nimport * as lodash from 'lodash';\r\n\r\n\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\r\nconst API_END_POINTS = {\r\n FETCH_USER_GROUPS: (userId: string) =>\r\n `${PROTECTED_SLAG_V8}/user/group/fetchUserGroup?userId=${userId}`,\r\n FETCH_CPB_PLANS: `/apis/proxies/v8/user/v1/cbplan`,\r\n FETCH_USER_ENROLLMENT_LIST: (userId: string | undefined) =>\r\n // tslint:disable-next-line: max-line-length\r\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes`,\r\n FETCH_USER_ENROLLMENT_LIST_PROFILE: (userId: string | undefined) =>\r\n // tslint:disable-next-line: max-line-length\r\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes&retiredCoursesEnabled=true`,\r\n // tslint:disable-next-line: max-line-length\r\n FETCH_USER_ENROLLMENT_LIST_V2: (userId: string | undefined, orgdetails: string, licenseDetails: string, fields: string, batchDetails: string) =>\r\n // tslint:disable-next-line: max-line-length\r\n `apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=${orgdetails}&licenseDetails=${licenseDetails}&fields=${fields},courseCategory,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=${batchDetails}`,\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetUserService {\r\n environment: any;\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private http: HttpClient) {\r\n this.environment = environment;\r\n }\r\n\r\n handleError(error: ErrorEvent) {\r\n let errorMessage = ''\r\n if (error.error instanceof ErrorEvent) {\r\n errorMessage = `Error: ${error.error.message}`\r\n }\r\n return throwError(errorMessage)\r\n }\r\n\r\n fetchUserGroupDetails(userId: string): Observable<IUserGroupDetails[]> {\r\n return this.http\r\n .get<IUserGroupDetails[]>(API_END_POINTS.FETCH_USER_GROUPS(userId))\r\n .pipe(catchError(this.handleError))\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n fetchUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\r\n let path = ''\r\n if (queryParams) {\r\n // tslint:disable-next-line: max-line-length\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\r\n } else {\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST(userId)\r\n }\r\n const headers = new HttpHeaders({\r\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\r\n Pragma: 'no-cache',\r\n Expires: '0',\r\n })\r\n if (this.checkStorageData('enrollmentService', 'enrollmentData')) {\r\n const result: any = this.http.get(path, { headers }).pipe(catchError(this.handleError), map(\r\n (data: any) => {\r\n\r\n const coursesData: any = []\r\n if (data && data.result && data.result.courses) {\r\n data.result.courses.forEach((content: any) => {\r\n if (content.contentStatus) {\r\n delete content.contentStatus\r\n }\r\n coursesData.push(content)\r\n })\r\n this.storeUserEnrollmentInfo(data.result.userCourseEnrolmentInfo,\r\n data.result.courses.length)\r\n data.result.courses = coursesData\r\n if (data.result.courses.length < 200) {\r\n localStorage.removeItem('enrollmentData')\r\n this.setTime('enrollmentService')\r\n localStorage.setItem('enrollmentData', JSON.stringify(data.result))\r\n this.mapEnrollmentData(data.result)\r\n return data.result\r\n }\r\n }\r\n this.mapEnrollmentData(data.result)\r\n return data.result\r\n }\r\n )\r\n )\r\n return result\r\n }\r\n return this.getData('enrollmentData')\r\n\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n fetchProfileUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\r\n let path = ''\r\n if (queryParams) {\r\n // tslint:disable-next-line: max-line-length\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\r\n } else {\r\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_PROFILE(userId)\r\n }\r\n const headers = new HttpHeaders({\r\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\r\n Pragma: 'no-cache',\r\n Expires: '0',\r\n })\r\n return this.http\r\n .get(path, { headers })\r\n .pipe(\r\n catchError(this.handleError),\r\n map(\r\n (data: any) => data.result\r\n )\r\n )\r\n // if (this.checkStorageData('enrollmentService')) {\r\n // const result: any = this.http.get(path, { headers }).pipe(catchError(this.handleError), map(\r\n // (data: any) => {\r\n // localStorage.setItem('enrollmentData', JSON.stringify(data.result))\r\n // this.mapEnrollmentData(data.result)\r\n // return data.result\r\n // }\r\n // )\r\n // )\r\n // this.setTime('enrollmentService')\r\n // return result\r\n // }\r\n // return this.getData('enrollmentData')\r\n }\r\n\r\n checkStorageData(key: any, dataKey: any) {\r\n const checkTime = localStorage.getItem('timeCheck')\r\n if (checkTime) {\r\n const parsedData = JSON.parse(checkTime)\r\n if (parsedData[key]) {\r\n const date = dayjs()\r\n const diffMin = date.diff(parsedData[key], 'minute')\r\n const timeCheck = this.environment.apiCache || 0\r\n if (diffMin >= timeCheck) {\r\n return true\r\n }\r\n return localStorage.getItem(dataKey) ? false : true\r\n }\r\n return true\r\n }\r\n return true\r\n }\r\n\r\n getData(key: any): Observable<any> {\r\n return Observable.of(JSON.parse(localStorage.getItem(key) || '{}'))\r\n }\r\n getSavedData(key: any): Observable<any> {\r\n return JSON.parse(localStorage.getItem(key) || '')\r\n }\r\n\r\n setTime(key: any) {\r\n const checkTime = localStorage.getItem('timeCheck')\r\n if (checkTime) {\r\n const parsedData = JSON.parse(checkTime)\r\n parsedData[key] = new Date().getTime()\r\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\r\n } else {\r\n const data: any = {}\r\n data[key] = new Date().getTime()\r\n localStorage.setItem('timeCheck', JSON.stringify(data))\r\n }\r\n }\r\n\r\n resetTime(key: any) {\r\n const checkTime = localStorage.getItem('timeCheck')\r\n if (checkTime) {\r\n const parsedData = JSON.parse(checkTime)\r\n if (parsedData[key]) {\r\n delete parsedData[key]\r\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\r\n }\r\n }\r\n }\r\n\r\n fetchCbpPlanList() {\r\n\r\n // let data = JSON.parse(localStorage.getItem('cbpData')|| '')\r\n // if(!data) {\r\n // this.http.get(API_END_POINTS.FETCH_CPB_PLANS).pipe(catchError(this.handleError), map(\r\n // (data: any) => {\r\n // const courseData = this.mapData(data.result)\r\n // return courseData\r\n // }\r\n // )\r\n // )\r\n // } else {\r\n // return this.getData('cbpData')\r\n\r\n // }\r\n if (this.checkStorageData('cbpService', 'cbpData')) {\r\n const result: any = this.http.get(API_END_POINTS.FETCH_CPB_PLANS).pipe(catchError(this.handleError), map(\r\n async (data: any) => {\r\n return await this.mapData(data.result)\r\n }\r\n )\r\n )\r\n this.setTime('cbpService')\r\n return result\r\n }\r\n return this.getData('cbpData')\r\n }\r\n\r\n async mapData(data: any) {\r\n const contentNew: any = []\r\n const todayDate = dayjs().format('YYYY-MM-DD')\r\n\r\n const enrollList: any = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}')\r\n\r\n if (data && data.count) {\r\n data.content.forEach((c: any) => {\r\n c.contentList.forEach((childData: any) => {\r\n const childEnrollData = enrollList[childData.identifier]\r\n const endDate = dayjs(c.endDate).format('YYYY-MM-DD')\r\n const daysCount = dayjs(endDate).diff(todayDate, 'day')\r\n childData['planDuration'] = daysCount < 0 ? NsCardContent.ACBPConst.OVERDUE : daysCount > 29\r\n ? NsCardContent.ACBPConst.SUCCESS : NsCardContent.ACBPConst.UPCOMING\r\n childData['endDate'] = c.endDate\r\n childData['parentId'] = c.id\r\n childData['planType'] = 'cbPlan'\r\n if (childData.status !== NsCardContent.IGOTConst.RETIRED) {\r\n contentNew.push(childData)\r\n } else {\r\n if (childEnrollData && childEnrollData.status === 2) {\r\n contentNew.push(childData)\r\n }\r\n }\r\n\r\n const competencyArea: any = []\r\n const competencyTheme: any = []\r\n const competencyThemeType: any = []\r\n const competencySubTheme: any = []\r\n const competencyAreaId: any = []\r\n const competencyThemeId: any = []\r\n const competencySubThemeId: any = []\r\n childData['contentStatus'] = 0\r\n if (childEnrollData) {\r\n childData['contentStatus'] = childEnrollData.status\r\n }\r\n if (childData.competencies_v5) {\r\n childData.competencies_v5.forEach((element: any) => {\r\n if (!competencyArea.includes(element.competencyArea)) {\r\n competencyArea.push(element.competencyArea)\r\n competencyAreaId.push(element.competencyAreaId)\r\n }\r\n if (!competencyTheme.includes(element.competencyTheme)) {\r\n competencyTheme.push(element.competencyTheme)\r\n competencyThemeId.push(element.competencyThemeId)\r\n }\r\n if (!competencyThemeType.includes(element.competencyThemeType)) {\r\n competencyThemeType.push(element.competencyThemeType)\r\n }\r\n if (!competencySubTheme.includes(element.competencySubTheme)) {\r\n competencySubTheme.push(element.competencySubTheme)\r\n competencySubThemeId.push(element.competencySubThemeId)\r\n }\r\n })\r\n }\r\n\r\n childData['competencyArea'] = competencyArea\r\n childData['competencyTheme'] = competencyTheme\r\n childData['competencyThemeType'] = competencyThemeType\r\n childData['competencySubTheme'] = competencySubTheme\r\n childData['competencyAreaId'] = competencyAreaId\r\n childData['competencyThemeId'] = competencyThemeId\r\n childData['competencySubThemeId'] = competencySubThemeId\r\n })\r\n })\r\n if (contentNew.length > 1) {\r\n const sortedData: any = contentNew.sort((a: any, b: any) => {\r\n const firstDate: any = new Date(a.endDate)\r\n const secondDate: any = new Date(b.endDate)\r\n\r\n return secondDate > firstDate ? 1 : -1\r\n })\r\n const uniqueUsersByID = lodash.uniqBy(sortedData, 'identifier')\r\n const sortedByEndDate = lodash.orderBy(uniqueUsersByID, ['endDate'], ['asc'])\r\n const sortedByStatus = lodash.orderBy(sortedByEndDate, ['contentStatus'], ['asc'])\r\n localStorage.setItem('cbpData', JSON.stringify(sortedByStatus))\r\n return sortedByStatus\r\n }\r\n localStorage.setItem('cbpData', JSON.stringify(contentNew))\r\n return contentNew\r\n }\r\n localStorage.setItem('cbpData', JSON.stringify([]))\r\n return []\r\n }\r\n\r\n mapEnrollmentData(courseData: any) {\r\n const enrollData: any = {}\r\n if (courseData && courseData.courses.length) {\r\n courseData.courses.forEach((data: any) => {\r\n enrollData[data.collectionId] = data\r\n })\r\n }\r\n localStorage.removeItem('enrollmentMapData')\r\n localStorage.setItem('enrollmentMapData', JSON.stringify(enrollData))\r\n }\r\n storeUserEnrollmentInfo(enrollmentData: any, enrolledCourseCount: number) {\r\n const userData = {\r\n enrolledCourseCount,\r\n userCourseEnrolmentInfo: enrollmentData,\r\n }\r\n localStorage.removeItem('userEnrollmentCount')\r\n localStorage.setItem('userEnrollmentCount', JSON.stringify(userData))\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsContentStripWithTabs } from './content-strip-with-tabs-lib.model';\r\n// import { HttpClient } from '@angular/common/http'\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { NsContent } from '../../_models/widget-content.model';\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\r\nimport {\r\n TFetchStatus,\r\n LoggerService,\r\n EventService,\r\n ConfigurationsService,\r\n UtilityService,\r\n WsEvents,\r\n} from '@sunbird-cb/utils-v2';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { WidgetUserService } from '../../_services/widget-user.service';\r\n// import { environment } from 'src/environments/environment'\r\n// tslint:disable-next-line\r\nimport * as _ from 'lodash'\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { NsCardContent } from '../../_models/card-content-v2.model';\r\nimport { ITodayEvents } from '../../_models/event';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\ninterface IStripUnitContentData {\r\n key: string;\r\n canHideStrip: boolean;\r\n mode?: string;\r\n showStrip: boolean;\r\n disableTranslate: boolean;\r\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\r\n stripTitle: string;\r\n stripTitleLink?: {\r\n link: {\r\n queryParams: string\r\n },\r\n icon: string,\r\n queryParams: string\r\n };\r\n sliderConfig?: {\r\n showNavs: boolean,\r\n showDots: boolean,\r\n maxWidgets?: number\r\n cerificateCardMargin?: boolean\r\n };\r\n stripConfig: any;\r\n tabsType?: string;\r\n tabs?: NsContentStripWithTabs.IContentStripTab[] | undefined;\r\n stripName?: string;\r\n stripLogo?: string;\r\n description?: string;\r\n stripInfo?: NsContentStripWithTabs.IStripInfo;\r\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n showOnNoData: boolean;\r\n showOnLoader: boolean;\r\n showOnError: boolean;\r\n loaderWidgets?: any;\r\n stripBackground?: string;\r\n secondaryHeading?: any;\r\n viewMoreUrl: any;\r\n request?: any\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'sb-uic-content-strip-with-tabs',\r\n templateUrl: './content-strip-with-tabs-lib.component.html',\r\n styleUrls: ['./content-strip-with-tabs-lib.component.scss'],\r\n})\r\nexport class ContentStripWithTabsLibComponent extends WidgetBaseComponent\r\n implements\r\n OnInit,\r\n OnDestroy,\r\n NsWidgetResolver.IWidgetData<NsContentStripWithTabs.IContentStripMultiple> {\r\n @Input() widgetData!: NsContentStripWithTabs.IContentStripMultiple;\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() viewAllResponse = new EventEmitter<any>()\r\n @Output() telemtryResponse = new EventEmitter<any>()\r\n @Input() providerId: any = ''\r\n @Input() emitViewAll: boolean = false\r\n @Input() channnelName: any = ''\r\n @HostBinding('id')\r\n public id = `ws-strip-miltiple_${Math.random()}`;\r\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\r\n stripsKeyOrder: string[] = [];\r\n showAccordionData = true;\r\n showParentLoader = false;\r\n showParentError = false;\r\n showParentNoData = false;\r\n errorDataCount = 0;\r\n noDataCount = 0;\r\n successDataCount = 0;\r\n contentAvailable = true;\r\n baseUrl = this.configSvc.sitePath || '';\r\n veifiedKarmayogi = false;\r\n environment!: any;\r\n changeEventSubscription: Subscription | null = null;\r\n defaultMaxWidgets = 12;\r\n enrollInterval: any;\r\n todaysEvents: any = [];\r\n enrollmentMapData: any\r\n\r\n constructor(\r\n // private contentStripSvc: ContentStripNewMultipleService,\r\n @Inject('environment') environment: any,\r\n private contentSvc: WidgetContentService,\r\n private loggerSvc: LoggerService,\r\n private eventSvc: EventService,\r\n private configSvc: ConfigurationsService,\r\n public utilitySvc: UtilityService,\r\n // private http: HttpClient,\r\n // private searchServSvc: SearchServService,\r\n public router: Router,\r\n private userSvc: WidgetUserService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService\r\n ) {\r\n super();\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en');\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n }\r\n this.environment = environment\r\n }\r\n\r\n ngOnInit() {\r\n // const url = window.location.href\r\n this.initData();\r\n this.contentSvc.telemetryData$.subscribe((data: any) => {\r\n this.telemtryResponse.emit(data)\r\n })\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.changeEventSubscription) {\r\n this.changeEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showAccordion(key: string) {\r\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\r\n return this.showAccordionData;\r\n }\r\n return true;\r\n }\r\n\r\n setHiddenForStrip(key: string) {\r\n this.stripsResultDataMap[key].showStrip = false;\r\n sessionStorage.setItem(`cstrip_${key}`, '1');\r\n }\r\n private getIfStripHidden(key: string): boolean {\r\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\r\n return Boolean(storageItem !== '1');\r\n }\r\n\r\n private initData() {\r\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\r\n if (this.widgetData.loader && this.widgetData.strips.length) {\r\n this.showParentLoader = true;\r\n }\r\n // Fetch the data\r\n for (const strip of this.widgetData.strips) {\r\n if (this.checkForEmptyWidget(strip)) {\r\n this.fetchStripFromRequestData(strip, false);\r\n } else {\r\n this.processStrip(strip, [], 'done', true, null);\r\n }\r\n }\r\n // Subscription for changes\r\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\r\n .map(strip => ({\r\n key: strip.key,\r\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\r\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\r\n }))\r\n .filter(({ key, type, from }) => key && type && from);\r\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\r\n this.changeEventSubscription = this.eventSvc.events$\r\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\r\n .subscribe(event => {\r\n keyAndEvent\r\n .filter(e => e.type === event.eventType && e.from === event.from)\r\n .map(e => e.key)\r\n .forEach(k => this.fetchStripFromKey(k, false));\r\n });\r\n }\r\n\r\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\r\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\r\n if (stripData) {\r\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\r\n }\r\n }\r\n\r\n isStripShowing(data: any) {\r\n let count = 0;\r\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\r\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\r\n data.widgets.forEach((key: any) => {\r\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n data.showStrip = true;\r\n } else {\r\n data.showStrip = false;\r\n }\r\n }\r\n // console.log('data.key', data, data.key, data.widgets);\r\n return data.showStrip;\r\n }\r\n\r\n get isMobile() {\r\n return this.utilitySvc.isMobile || false;\r\n }\r\n\r\n getdata(data: IStripUnitContentData) {\r\n if (data.stripInfo) {\r\n return data.stripInfo.widget;\r\n }\r\n return {};\r\n\r\n }\r\n checkCondition(wData: NsContentStripWithTabs.IContentStripMultiple, data: IStripUnitContentData) {\r\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\r\n return !wData.strips[0].stripConfig.hideShowAll;\r\n }\r\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\r\n }\r\n checkVisible(data: IStripUnitContentData) {\r\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\r\n }\r\n\r\n getContineuLearningLenth(data: IStripUnitContentData) {\r\n return data.widgets ? data.widgets.length : 0;\r\n }\r\n getLength(data: IStripUnitContentData) {\r\n if (!data.tabs || !data.tabs.length) {\r\n return data.widgets ? data.widgets.length : 0;\r\n } {\r\n // if tabs are there check if each tab has widgets and get the tab with max widgets\r\n const tabWithMaxWidgets = data.tabs.reduce(\r\n (prev, current) => {\r\n if (!prev.widgets && !current.widgets) {\r\n return current;\r\n }\r\n if (prev.widgets && current.widgets) {\r\n return (prev.widgets.length > current.widgets.length) ? prev : current;\r\n }\r\n if (current.widgets && !prev.widgets) {\r\n return current;\r\n }\r\n if (!current.widgets && prev.widgets) {\r\n return prev;\r\n }\r\n return current;\r\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\r\n // tslint:disable-next-line: align\r\n }, data.tabs[0]);\r\n // if tabs has atleast 1 widgets then strip will show or else not\r\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\r\n }\r\n }\r\n\r\n private getFiltersFromArray(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n private transformSearchV6FiltersV2(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n checkForDateFilters(filters: any) {\r\n let userData: any;\r\n if (this.configSvc.userProfile) {\r\n userData = this.configSvc.userProfile;\r\n }\r\n\r\n if (filters && filters.hasOwnProperty('batches.endDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\r\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\r\n } else if (filters.organisation &&\r\n filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n if (this.providerId) {\r\n filters.organisation = this.providerId;\r\n } else {\r\n filters.organisation = userData && userData.rootOrgId;\r\n\r\n if (filters && filters.hasOwnProperty('designation')) {\r\n filters.designation = userData.professionalDetails.length > 0 ?\r\n userData.professionalDetails[0].designation : '';\r\n }\r\n }\r\n\r\n }\r\n return filters;\r\n }\r\n\r\n private fetchStripFromRequestData(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n calculateParentStatus = true,\r\n ) {\r\n // setting initial values\r\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\r\n this.processStrip(strip, [], 'fetching', false, null);\r\n this.fetchFromEnrollmentList(strip, calculateParentStatus);\r\n this.fetchFromSearchV6(strip, calculateParentStatus);\r\n this.fetchFromTrendingContent(strip, calculateParentStatus);\r\n this.fetchAllCbpPlans(strip, calculateParentStatus);\r\n this.fetchAllTopContent(strip, calculateParentStatus);\r\n this.fetchAllFeaturedContent(strip, calculateParentStatus);\r\n this.fetchAllBookMarkData(strip, calculateParentStatus);\r\n this.fetchAllPlaylistSearch(strip, calculateParentStatus);\r\n this.fetchPlaylistReadData(strip, calculateParentStatus);\r\n this.fetchCiosContentData(strip, calculateParentStatus);\r\n\r\n // this.enrollInterval = setInterval(() => {\r\n // this.fetchAllCbpPlans(strip, calculateParentStatus)\r\n // }, 1000)\r\n }\r\n\r\n fetchFromEnrollmentList(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) {\r\n let userId = '';\r\n let content: NsContent.IContent[];\r\n let contentNew: NsContent.IContent[];\r\n let tabResults: any[] = [];\r\n const queryParams = _.get(strip.request.enrollmentList, 'queryParams');\r\n // if (queryParams && queryParams.batchDetails) {\r\n // if (!queryParams.batchDetails.includes('&retiredCoursesEnabled=true')) {\r\n // queryParams.batchDetails += '&retiredCoursesEnabled=true'\r\n // }\r\n // }\r\n if (this.configSvc.userProfile) {\r\n userId = this.configSvc.userProfile.userId;\r\n }\r\n // this.userSvc.resetTime('enrollmentService')\r\n // tslint:disable-next-line: deprecation\r\n this.userSvc.fetchUserBatchList(userId, queryParams).subscribe(\r\n (result: any) => {\r\n const courses = result && result.courses;\r\n const showViewMore = Boolean(\r\n courses.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: (strip.viewMoreUrl && strip.viewMoreUrl.path) || '',\r\n queryParams: {\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n strip.request && strip.request.searchV6 && strip.request.searchV6.filters\r\n ? JSON.stringify(\r\n // this.searchServSvc.transformSearchV6Filters(\r\n strip.request.searchV6.filters\r\n // ),\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n if (courses && courses.length) {\r\n content = courses.map((c: any) => {\r\n const contentTemp: NsContent.IContent = c.content;\r\n contentTemp.completionPercentage = c.completionPercentage || c.progress || 0;\r\n contentTemp.completionStatus = c.completionStatus || c.status || 0;\r\n contentTemp.enrolledDate = c.enrolledDate || '';\r\n contentTemp.lastContentAccessTime = c.lastContentAccessTime || '';\r\n contentTemp.lastReadContentStatus = c.lastReadContentStatus || '';\r\n contentTemp.lastReadContentId = c.lastReadContentId || '';\r\n contentTemp.lrcProgressDetails = c.lrcProgressDetails || '';\r\n contentTemp.issuedCertificates = c.issuedCertificates || [];\r\n contentTemp.batchId = c.batchId || '';\r\n return contentTemp;\r\n });\r\n }\r\n // To filter content with completionPercentage > 0,\r\n // so that only those content will show in home page\r\n // continue learing strip\r\n // if (content && content.length) {\r\n // contentNew = content.filter((c: any) => {\r\n // /** commented as both are 0 after enrolll */\r\n // if (c.completionPercentage && c.completionPercentage > 0) {\r\n // return c\r\n // }\r\n // })\r\n // }\r\n\r\n // To sort in descending order of the enrolled date\r\n contentNew = (content || []).sort((a: any, b: any) => {\r\n const dateA: any = new Date(a.lastContentAccessTime || 0);\r\n const dateB: any = new Date(b.lastContentAccessTime || 0);\r\n return dateB - dateA;\r\n });\r\n\r\n if (strip.tabs && strip.tabs.length) {\r\n tabResults = this.splitEnrollmentTabsData(contentNew, strip);\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(contentNew, strip),\r\n 'done',\r\n calculateParentStatus,\r\n viewMoreUrl,\r\n tabResults\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(contentNew, strip),\r\n 'done',\r\n calculateParentStatus,\r\n viewMoreUrl,\r\n );\r\n }\r\n },\r\n () => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n );\r\n }\r\n }\r\n\r\n splitEnrollmentTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\r\n const tabResults: any[] = [];\r\n const splitData = this.getInprogressAndCompleted(\r\n contentNew,\r\n (e: any) => e.completionStatus === 1 || e.completionPercentage < 100,\r\n strip,\r\n );\r\n\r\n if (strip.tabs && strip.tabs.length) {\r\n for (let i = 0; i < strip.tabs.length; i += 1) {\r\n if (strip.tabs[i]) {\r\n tabResults.push(\r\n {\r\n ...strip.tabs[i],\r\n fetchTabStatus: 'done',\r\n ...(splitData.find(itmInner => {\r\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\r\n return itmInner;\r\n }\r\n return undefined;\r\n })),\r\n }\r\n );\r\n }\r\n }\r\n }\r\n return tabResults;\r\n }\r\n\r\n getInprogressAndCompleted(array: NsContent.IContent[],\r\n customFilter: any,\r\n strip: NsContentStripWithTabs.IContentStripUnit) {\r\n const inprogress: any[] = []\r\n const completed: any[] = []\r\n // array.forEach((e: any, idx: number, arr: any[]) => (customFilter(e, idx, arr) ? inprogress : completed).push(e))\r\n array.forEach((e, idx, arr) => {\r\n const status = e.status ? (e.status as string).toLowerCase() : ''\r\n const statusRetired = status === 'retired'\r\n if (customFilter(e, idx, arr)) {\r\n if (!statusRetired) {\r\n inprogress.push(e)\r\n }\r\n } else {\r\n completed.push(e)\r\n }\r\n })\r\n // Sort the completed array with 'Live' status first and 'Retired' status second\r\n completed.sort((a: any, b: any) => {\r\n const statusA = a.status ? a.status.toLowerCase() : ''\r\n const statusB = b.status ? b.status.toLowerCase() : ''\r\n if (statusA === 'live' && statusB !== 'live') {\r\n return -1\r\n }\r\n if (statusA !== 'live' && statusB === 'live') {\r\n return 1\r\n }\r\n if (statusA === 'retired' && statusB !== 'retired') {\r\n return 1\r\n }\r\n if (statusA !== 'retired' && statusB === 'retired') {\r\n return -1\r\n }\r\n return 0\r\n })\r\n return [\r\n { value: 'inprogress', widgets: this.transformContentsToWidgets(inprogress, strip) },\r\n { value: 'completed', widgets: this.transformContentsToWidgets(completed, strip) }];\r\n }\r\n\r\n async fetchFromSearchV6(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\r\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\r\n // if (this.configSvc.activeLocale) {\r\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\r\n // } else {\r\n // strip.request.searchV6.locale = ['en']\r\n // }\r\n // }\r\n let originalFilters: any = [];\r\n // tslint:disable:no-console\r\n console.log(originalFilters);\r\n if (strip.request &&\r\n strip.request.searchV6 &&\r\n strip.request.searchV6.request &&\r\n strip.request.searchV6.request.filters) {\r\n originalFilters = strip.request.searchV6.request.filters;\r\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\r\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\r\n strip.request.searchV6.request.filters,\r\n );\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqSearchV6(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content) {\r\n if (strip.key === 'scheduledAssessment') {\r\n this.enrollInterval = setInterval(() => {\r\n this.checkInvitOnlyAssessments(response.results.result.content, strip, calculateParentStatus, response.viewMoreUrl)\r\n\r\n // tslint:disable-next-line\r\n }, 1000)\r\n\r\n\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n }\r\n\r\n } else if (response.results.result.Event) {\r\n this.processStrip(\r\n strip,\r\n this.transformEventsToWidgets(response.results.result.Event, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkInvitOnlyAssessments(content: any, strip: any, calculateParentStatus: any, viewMoreUrl: any) {\r\n if (localStorage.getItem('enrollmentMapData')) {\r\n this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}')\r\n let filteredArray: any = []\r\n let now = new Date().getTime()\r\n content.forEach((data: any) => {\r\n if (this.enrollmentMapData[data.identifier]) {\r\n if(this.enrollmentMapData[data.identifier].status !== 2 && this.enrollmentMapData[data.identifier].batch) {\r\n const enrollData = this.enrollmentMapData[data.identifier].batch\r\n let endDate:any = new Date(enrollData.endDate).getTime()\r\n // let endDate:any = '2024-07-7T00:00:00.000Z'\r\n let timeDuration = endDate - now\r\n if(timeDuration > 0 ) {\r\n data['batch'] = this.enrollmentMapData[data.identifier].batch\r\n data['completionPercentage'] = this.enrollmentMapData[data.identifier].completionPercentage\r\n filteredArray.push(data)\r\n }\r\n }\r\n \r\n }\r\n })\r\n filteredArray = filteredArray.sort((a: any, b: any) => {\r\n const dateA: any = new Date(a.batch.startDate || 0)\r\n const dateB: any = new Date(b.batch.startDate || 0)\r\n return dateA - dateB\r\n })\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(filteredArray, strip),\r\n 'done',\r\n calculateParentStatus,\r\n viewMoreUrl,\r\n );\r\n clearInterval(this.enrollInterval)\r\n }\r\n }\r\n\r\n async searchV6Request(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.searchV6) {\r\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.searchV6 &&\r\n request.searchV6.request &&\r\n request.searchV6.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\r\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\r\n // }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n async fetchFromTrendingContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) {\r\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\r\n // if (this.configSvc.activeLocale) {\r\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\r\n // } else {\r\n // strip.request.searchV6.locale = ['en']\r\n // }\r\n // }\r\n let originalFilters: any = [];\r\n // tslint:disable:no-console\r\n console.log(originalFilters);\r\n if (strip.request &&\r\n strip.request.trendingSearch &&\r\n strip.request.trendingSearch.request &&\r\n strip.request.trendingSearch.request.filters) {\r\n originalFilters = strip.request.trendingSearch.request.filters;\r\n strip.request.trendingSearch.request.filters = this.checkForDateFilters(strip.request.trendingSearch.request.filters);\r\n strip.request.trendingSearch.request.filters = this.getFiltersFromArray(\r\n strip.request.trendingSearch.request.filters,\r\n );\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqTrending(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.trendingSearchRequest(strip, strip.request, calculateParentStatus);\r\n if (response && response.results && response.results.response) {\r\n const content = response.results.response[strip.request.trendingSearch.responseKey] || [];\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl || '',\r\n );\r\n if (!content.length) {\r\n this.emptyResponse.emit(true)\r\n }\r\n } else {\r\n this.emptyResponse.emit(true)\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n this.emptyResponse.emit(true)\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async trendingSearchRequest(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.trendingSearch) {\r\n // check for the request if it has dynamic values]\r\n if (request.trendingSearch.request.filters.organisation &&\r\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n let userRootOrgId;\r\n if (this.configSvc.userProfile) {\r\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\r\n }\r\n request.trendingSearch.request.filters.organisation = userRootOrgId;\r\n }\r\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result &&\r\n strip.request &&\r\n results.result[strip.request.trendingSearch.responseKey] &&\r\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\r\n strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.trendingSearch &&\r\n request.trendingSearch.request &&\r\n request.trendingSearch.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n let proccesedResult: any = []\r\n if (results && results.response && results.response.certifications) {\r\n results.response.certifications.map((result: any) => {\r\n if (result.source === this.channnelName) {\r\n proccesedResult.push(result)\r\n }\r\n })\r\n }\r\n results = { response: { certifications: proccesedResult } }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n if (error.error && error.error.status === 400) {\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n toggleInfo(data: IStripUnitContentData) {\r\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\r\n if (stripInfo) {\r\n if (stripInfo.mode !== 'below') {\r\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\r\n stripInfo.mode = 'below';\r\n }\r\n if (stripInfo.mode === 'below') {\r\n this.stripsResultDataMap[data.key].stripInfo = {\r\n ...stripInfo,\r\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\r\n };\r\n }\r\n }\r\n }\r\n\r\n private transformContentsToWidgets(\r\n contents: NsContent.IContent[],\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n private transformEventsToWidgets(\r\n contents: ITodayEvents[],\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n ) {\r\n this.eventSvc.setEventListData(contents);\r\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n private transformSkeletonToWidgets(\r\n strip: any\r\n ) {\r\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n },\r\n }));\r\n }\r\n\r\n private async processStrip(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\r\n fetchStatus: TFetchStatus,\r\n calculateParentStatus = true,\r\n _viewMoreUrl: any,\r\n tabsResults?: NsContentStripWithTabs.IContentStripTab[] | undefined,\r\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\r\n ) {\r\n const stripData = {\r\n viewMoreUrl: strip.viewMoreUrl,\r\n key: strip.key,\r\n canHideStrip: Boolean(strip.canHideStrip),\r\n showStrip: this.getIfStripHidden(strip.key),\r\n noDataWidget: strip.noDataWidget,\r\n errorWidget: strip.errorWidget,\r\n stripInfo: strip.info,\r\n stripTitle: strip.title,\r\n stripTitleLink: strip.stripTitleLink,\r\n disableTranslate: strip.disableTranslate,\r\n sliderConfig: strip.sliderConfig,\r\n tabs: tabsResults ? tabsResults : strip.tabs,\r\n tabsType: strip.tabsType ? strip.tabsType : '',\r\n stripName: strip.name,\r\n mode: strip.mode,\r\n stripConfig: strip.stripConfig,\r\n stripBackground: strip.stripBackground,\r\n secondaryHeading: strip.secondaryHeading,\r\n loaderWidgets: strip.loaderWidgets || [],\r\n widgets:\r\n fetchStatus === 'done'\r\n ? [\r\n ...(strip.preWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ...results,\r\n ...(strip.postWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ]\r\n : [],\r\n showOnNoData: Boolean(\r\n strip.noDataWidget &&\r\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\r\n fetchStatus === 'done',\r\n ),\r\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\r\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\r\n };\r\n // const stripData = this.stripsResultDataMap[strip.key]\r\n this.stripsResultDataMap = {\r\n ...this.stripsResultDataMap,\r\n [strip.key]: stripData,\r\n };\r\n if (!tabsResults) {\r\n if (\r\n calculateParentStatus &&\r\n (fetchStatus === 'done' || fetchStatus === 'error') &&\r\n stripData.widgets\r\n ) {\r\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\r\n }\r\n if (calculateParentStatus && !(results && results.length > 0)) {\r\n this.contentAvailable = false;\r\n } else if (results && results.length > 0) {\r\n this.contentAvailable = true;\r\n }\r\n } else {\r\n this.contentAvailable = true;\r\n }\r\n }\r\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\r\n if (fetchStatus === 'done' && !stripWidgetsCount) {\r\n this.noDataCount += 1;\r\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\r\n this.successDataCount += 1;\r\n } else if (fetchStatus === 'error') {\r\n this.errorDataCount += 1;\r\n }\r\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\r\n const totalCount = this.widgetData.strips.length;\r\n if (this.successDataCount > 0 && settledCount < totalCount) {\r\n return;\r\n }\r\n this.showParentLoader = settledCount !== totalCount;\r\n this.showParentNoData =\r\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\r\n this.showParentError = this.errorDataCount === totalCount;\r\n }\r\n checkForEmptyWidget(strip: NsContentStripWithTabs.IContentStripUnit): boolean {\r\n if (\r\n strip.request &&\r\n ((strip.request.api && Object.keys(strip.request.api).length) ||\r\n (strip.request.search && Object.keys(strip.request.search).length) ||\r\n (strip.request.searchRegionRecommendation &&\r\n Object.keys(strip.request.searchRegionRecommendation).length) ||\r\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\r\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\r\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\r\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) ||\r\n (strip.request.topContent && Object.keys(strip.request.topContent).length) ||\r\n (strip.request.featureContent && Object.keys(strip.request.featureContent).length) ||\r\n (strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) ||\r\n (strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) ||\r\n (strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) ||\r\n (strip.request.ciosContent && Object.keys(strip.request.ciosContent).length)\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitContentData, stripKey: string) {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabEvent.index].tabLoading = true;\r\n stripMap.showOnLoader = true;\r\n }\r\n const data: WsEvents.ITelemetryTabData = {\r\n label: `${tabEvent.tab.textLabel}`,\r\n index: tabEvent.index,\r\n };\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.HOME,\r\n }\r\n );\r\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\r\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\r\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\r\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\r\n tabSelected: currentTabFromMap.label,\r\n };\r\n }\r\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick) {\r\n if (currentTabFromMap.requestRequired && currentTabFromMap.request) {\r\n // call API to get tab data and process\r\n // this.processStrip(currentStrip, [], 'fetching', true, null)\r\n if (currentTabFromMap.request.searchV6) {\r\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.trendingSearch) {\r\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.topContent) {\r\n this.getTabDataByNewReqTopContent(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.playlistRead) {\r\n this.getTabDataByNewReqPlaylistReadContent(currentStrip, tabEvent.index, currentTabFromMap, true);\r\n } else if (currentTabFromMap.request.ciosContent) {\r\n this.getTabDataByCiosSearch(currentStrip, tabEvent.index, currentTabFromMap, true)\r\n }\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].tabLoading = false;\r\n }\r\n } else {\r\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\r\n setTimeout(() => {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].tabLoading = false;\r\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\r\n stripMap.showOnLoader = false;\r\n }\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n\r\n async getTabDataByNewReqSearchV6(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\r\n if (response && response.results) {\r\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n async getTabDataByNewReqTrending(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\r\n if (response && response.results && response.results.response) {\r\n const content = response.results.response[currentTab.value] || [];\r\n const widgets = this.transformContentsToWidgets(content, strip);\r\n // console.log('currentTab --- widgets', widgets)\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n // console.log('tabResults -++++***--', tabResults)\r\n // console.log('calling after-- ')\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n\r\n getTabDataByfilter(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n // tslint:disable:no-console\r\n console.log('strip -- ', strip);\r\n // tslint:disable:no-console\r\n console.log('currentTab -- ', currentTab);\r\n // tslint:disable:no-console\r\n console.log('calculateParentStatus-- ', calculateParentStatus);\r\n // TODO: Write logic for individual filter if passed in config\r\n // add switch case based on config key passed\r\n }\r\n\r\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\r\n\r\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\r\n\r\n let courses: NsContent.IContent[];\r\n let tabResults: any[] = [];\r\n const response = await this.userSvc.fetchCbpPlanList().toPromise();\r\n if (response) {\r\n courses = response;\r\n if (strip.tabs && strip.tabs.length) {\r\n tabResults = this.splitCbpTabsData(courses, strip);\r\n await this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n '',\r\n tabResults\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n 'viewMoreUrl',\r\n );\r\n }\r\n }\r\n // this.userSvc.fetchCbpPlanList().subscribe( async (res: any) => {\r\n // if (res) {\r\n // console.log(res,'===============================>')\r\n // courses = res\r\n // if (strip.tabs && strip.tabs.length) {\r\n // tabResults = this.splitCbpTabsData(courses, strip)\r\n // await this.processStrip(\r\n // strip,\r\n // this.transformContentsToWidgets(courses, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // '',\r\n // tabResults\r\n // )\r\n // } else {\r\n // this.processStrip(\r\n // strip,\r\n // this.transformContentsToWidgets(courses, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // 'viewMoreUrl',\r\n // )\r\n // }\r\n // }\r\n // }, (_err: any) => {\r\n\r\n // })\r\n\r\n clearInterval(this.enrollInterval);\r\n }\r\n }\r\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\r\n const tabResults: any[] = [];\r\n const splitData = this.getTabsList(\r\n contentNew,\r\n strip,\r\n );\r\n if (strip.tabs && strip.tabs.length) {\r\n for (let i = 0; i < strip.tabs.length; i += 1) {\r\n if (strip.tabs[i]) {\r\n tabResults.push(\r\n {\r\n ...strip.tabs[i],\r\n fetchTabStatus: 'done',\r\n ...(splitData.find(itmInner => {\r\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\r\n return itmInner;\r\n }\r\n return undefined;\r\n })),\r\n }\r\n );\r\n }\r\n }\r\n }\r\n return tabResults;\r\n }\r\n\r\n getTabsList(array: NsContent.IContent[],\r\n strip: NsContentStripWithTabs.IContentStripUnit) {\r\n let all: any[] = [];\r\n let upcoming: any[] = [];\r\n let overdue: any[] = [];\r\n array.forEach((e: any) => {\r\n all.push(e);\r\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n overdue.push(e);\r\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\r\n upcoming.push(e);\r\n }\r\n });\r\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\r\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\r\n\r\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\r\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\r\n\r\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\r\n\r\n overdue = overdue.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n\r\n overdue = overdue.sort((a: any, b: any): any => {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n });\r\n\r\n upcoming = upcoming.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n // this.getSelectedIndex(1)\r\n return [\r\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\r\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\r\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\r\n }\r\n\r\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\r\n let returnValue = 0;\r\n if (key === 'cbpPlan') {\r\n if (stripsResultDataMap.tabs.length) {\r\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\r\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\r\n }\r\n }\r\n return returnValue;\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '');\r\n }\r\n\r\n identify(index: number, item: any) {\r\n if (index >= 0) { }\r\n return item;\r\n }\r\n tracker(index: number, item: any) {\r\n if (index >= 0) { }\r\n return _.get(item, 'widgetData.content.identifier')\r\n }\r\n\r\n async fetchAllTopContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.topContent && Object.keys(strip.request.topContent).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.topContent &&\r\n strip.request.topContent.request &&\r\n strip.request.topContent.request.filters) {\r\n originalFilters = strip.request.topContent.request.filters;\r\n strip.request.topContent.request.filters = this.postMethodFilters(strip.request.topContent.request.filters);\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqTopContent(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.topContent, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content && response.results.result.content.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async fetchAllFeaturedContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.featureContent && Object.keys(strip.request.featureContent).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.featureContent &&\r\n strip.request.featureContent.request &&\r\n strip.request.featureContent.request.filters) {\r\n originalFilters = strip.request.featureContent.request.filters;\r\n strip.request.featureContent.request.filters = this.postMethodFilters(strip.request.featureContent.request.filters);\r\n }\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.featureContent, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content && response.results.result.content.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n\r\n async getTabDataByNewReqTopContent(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n if (currentTab.request &&\r\n currentTab.request.topContent &&\r\n currentTab.request.topContent.request &&\r\n currentTab.request.topContent.request.filters) {\r\n currentTab.request.topContent.request.filters = this.postMethodFilters(currentTab.request.topContent.request.filters);\r\n }\r\n try {\r\n // const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\r\n const response = await this.postRequestMethod(strip, currentTab.request.topContent, currentTab.request.apiUrl, calculateParentStatus);\r\n if (response.results && response.results.result) {\r\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n raiseTelemetry(stripData: any) {\r\n this.telemtryResponse.emit(stripData)\r\n }\r\n\r\n async postRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n apiUrl: string,\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request) {\r\n this.contentSvc.postApiMethod(apiUrl, request).subscribe(results => {\r\n if (results.result && results.result.content) {\r\n const showViewMore = Boolean(\r\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f: {},\r\n },\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n } else if (results && results.data) {\r\n const showViewMore = Boolean(\r\n results.data && results.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f: {},\r\n },\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n } else if (results.result && results.result.data) {\r\n const showViewMore = Boolean(\r\n results.data && results.result.data && results.result.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f: {},\r\n },\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n }\r\n\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n async getRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\r\n request: NsContentStripWithTabs.IContentStripUnit['request'],\r\n apiUrl: string,\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request) {\r\n this.contentSvc.getApiMethod(apiUrl).subscribe(results => {\r\n let showViewMore: any\r\n if(results.result.data){\r\n showViewMore = Boolean(\r\n results.result.data && results.result.data.orgList.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n } else if(results.result.content){\r\n let featuredProvider = JSON.parse(results.result.content.featuredProviders || '[]')\r\n showViewMore = Boolean(\r\n featuredProvider && featuredProvider.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n }\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n }\r\n : null;\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n postMethodFilters(filters: any) {\r\n if (filters.organisation &&\r\n filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n filters.organisation = filters.organisation.replace('<orgID>', this.providerId)\r\n }\r\n return filters\r\n }\r\n getFullUrl(apiUrl: any, id: string) {\r\n let formedUrl: string = apiUrl\r\n if (apiUrl.indexOf('<bookmarkId>') >= 0) {\r\n formedUrl = apiUrl.replace('<bookmarkId>', this.environment.mdoChannelsBookmarkId)\r\n } else if (apiUrl.indexOf('<playlistKey>') >= 0 && apiUrl.indexOf('<orgID>') >= 0) {\r\n formedUrl = apiUrl.replace('<playlistKey>', this.providerId + id) \r\n formedUrl = formedUrl.replace('<orgID>', this.providerId) \r\n } else if(apiUrl.indexOf('<doId>') >= 0) {\r\n formedUrl = apiUrl.replace('<doId>', this.environment.providerDataKey) \r\n } \r\n return formedUrl\r\n }\r\n\r\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\r\n if (this.emitViewAll) {\r\n this.viewAllResponse.emit(stripData)\r\n } else {\r\n this.router.navigate([path], { queryParams: queryParamsData })\r\n }\r\n }\r\n\r\n async fetchAllBookMarkData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.bookmarkRead &&\r\n strip.request.bookmarkRead.bookmarkId) {\r\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.bookmarkRead.bookmarkId);\r\n }\r\n try {\r\n const response = await this.getRequestMethod(strip, strip.request.bookmarkRead, strip.request.apiUrl, calculateParentStatus);\r\n let content = response.results.result.data.orgList\r\n if (response) {\r\n this.processStrip(\r\n strip,\r\n this.transformAllContentsToWidgets(content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response,\r\n );\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n private transformAllContentsToWidgets(\r\n contents: any,\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n private transformAllTabContentsToWidgets(\r\n contents: any,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: currentTab.stripConfig && currentTab.stripConfig.cardSubType,\r\n cardCustomeClass: currentTab.customeClass ? currentTab.customeClass : '',\r\n context: { pageSection: currentTab.value, position: idx },\r\n intranetMode: currentTab.stripConfig && currentTab.stripConfig.intranetMode,\r\n deletedMode: currentTab.stripConfig && currentTab.stripConfig.deletedMode,\r\n contentTags: currentTab.stripConfig && currentTab.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n async fetchAllPlaylistSearch(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.playlistSearch &&\r\n strip.request.playlistSearch.request &&\r\n strip.request.playlistSearch.request.filters) {\r\n originalFilters = strip.request.playlistSearch.request.filters;\r\n strip.request.playlistSearch.request.filters = this.postMethodFilters(strip.request.playlistSearch.request.filters);\r\n }\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.playlistSearch.request, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.data && response.results.result.data.length) {\r\n let finalPlaylistData: any = []\r\n let programData: any = response.results.result.data\r\n programData.forEach((prgData: any) => {\r\n if (prgData.children && prgData.children.length) {\r\n finalPlaylistData.push(prgData)\r\n }\r\n })\r\n if (finalPlaylistData.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(finalPlaylistData, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n async fetchPlaylistReadData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) {\r\n let originalFilters: any = [];\r\n if (strip.request &&\r\n strip.request.playlistRead &&\r\n strip.request.playlistRead.type) {\r\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.playlistRead.type);\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n\r\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.getRequestMethod(strip, strip.request.playlistRead, strip.request.apiUrl, calculateParentStatus);\r\n \r\n if (response && response.results.result.content) { \r\n let content = response.results.result.content\r\n if(strip.key === 'providers'){\r\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\r\n this.processStrip(\r\n strip,\r\n this.transformAllContentsToWidgets(featuredProviders, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response,\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformAllContentsToWidgets(content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response,\r\n );\r\n }\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n async getTabDataByNewReqPlaylistReadContent(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n if (currentTab.request &&\r\n currentTab.request.playlistRead &&\r\n currentTab.request.playlistRead.type) {\r\n currentTab.request.apiUrl = this.getFullUrl(currentTab.request.apiUrl, currentTab.request.playlistRead.type);\r\n }\r\n try {\r\n const response = await this.getRequestMethod(strip, currentTab.request.playlistRead, currentTab.request.apiUrl, calculateParentStatus);\r\n // if (response && response.results.result.content) { \r\n // let content = response.results.result.content\r\n // if(strip.key === 'providers'){\r\n // let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\r\n // this.processStrip(\r\n // strip,\r\n // this.transformAllContentsToWidgets(featuredProviders, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // response,\r\n // );\r\n // } else {\r\n // this.processStrip(\r\n // strip,\r\n // this.transformAllContentsToWidgets(content, strip),\r\n // 'done',\r\n // calculateParentStatus,\r\n // response,\r\n // );\r\n // }\r\n // } else {\r\n // this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n // this.emptyResponse.emit(true)\r\n // }\r\n if (response.results && response.results.result) {\r\n let content = response.results.result.content\r\n let widgets = []\r\n if(currentTab.value === 'providers'){\r\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\r\n widgets = this.transformAllTabContentsToWidgets(featuredProviders, currentTab)\r\n } else {\r\n widgets = this.transformAllTabContentsToWidgets(content, currentTab)\r\n }\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\r\n }\r\n } catch (error) {\r\n console.error('Error:', error)\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n }\r\n\r\n async fetchCiosContentData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired && firstTab.value === 'extCourse') {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n this.getTabDataByCiosSearch(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n if (firstTab.requestRequired && firstTab.value === 'providers') {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\r\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n } else {\r\n try {\r\n const response = await this.postRequestMethod(strip, strip.request.ciosContent, strip.request.apiUrl, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.data && response.results.data.length) {\r\n let extContentData: any = response.results.data\r\n if (extContentData.length) {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(extContentData, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n \r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n this.emptyResponse.emit(true)\r\n }\r\n } catch (error) {\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async getTabDataByCiosSearch(\r\n strip: NsContentStripWithTabs.IContentStripUnit,\r\n tabIndex: number,\r\n _currentTab: NsContentStripWithTabs.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.contentSvc.postApiMethod(strip.request.apiUrl,strip.request.ciosContent).toPromise();;\r\n if (response && response.data && response.data.length) {\r\n const widgets = this.transformContentsToWidgets(response.data, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\r\n }\r\n } catch (error) {\r\n console.error('Error:', error)\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\r\n\r\nimport {\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule} from '@angular/material';\r\nimport { ContentStripWithTabsLibComponent } from './content-strip-with-tabs-lib.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\r\n\r\n// tslint:disable-next-line:function-name\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [ContentStripWithTabsLibComponent],\r\n imports: [\r\n SbUiResolverModule,\r\n CommonModule,\r\n RouterModule,\r\n HorizontalScrollerV2Module,\r\n MatProgressSpinnerModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n entryComponents: [ContentStripWithTabsLibComponent],\r\n exports: [ContentStripWithTabsLibComponent],\r\n})\r\nexport class ContentStripWithTabsLibModule { }\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core'\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\r\nimport { ICarousel, ICarouselStyle } from './sliders.model'\r\nimport { Subscription, interval } from 'rxjs'\r\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\r\n\r\n@Component({\r\n selector: 'sb-uic-sliders',\r\n templateUrl: './sliders.component.html',\r\n styleUrls: ['./sliders.component.scss'],\r\n})\r\nexport class SlidersLibComponent extends WidgetBaseComponent\r\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\r\n @Input() widgetData!: ICarousel[]\r\n @Input() styleData!: ICarouselStyle\r\n @Input() title: any = ''\r\n @Input() type: any\r\n @HostBinding('id')\r\n public id = `banner_${Math.random()}`\r\n private defaultMenuSubscribe: Subscription | null = null\r\n isLtMedium$ = this.valueSvc.isLtMedium$\r\n currentIndex = 0\r\n slideInterval: Subscription | null = null\r\n isMobile = false\r\n\r\n constructor(\r\n private events: EventService,\r\n private valueSvc: ValueService\r\n ) {\r\n super()\r\n }\r\n\r\n ngOnInit() {\r\n this.reInitiateSlideInterval()\r\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\r\n this.isMobile = isLtMedium\r\n })\r\n }\r\n reInitiateSlideInterval() {\r\n if (this.widgetData && this.widgetData.length > 1) {\r\n try {\r\n if (this.slideInterval) {\r\n this.slideInterval.unsubscribe()\r\n }\r\n } catch (e) {\r\n } finally {\r\n this.slideInterval = interval(8000).subscribe(() => {\r\n if (this.currentIndex === this.widgetData.length - 1) {\r\n this.currentIndex = 0\r\n } else {\r\n this.currentIndex += 1\r\n }\r\n })\r\n }\r\n }\r\n }\r\n slideTo(index: number) {\r\n if (index >= 0 && index < this.widgetData.length) {\r\n this.currentIndex = index\r\n } else if (index === this.widgetData.length) {\r\n this.currentIndex = 0\r\n } else {\r\n this.currentIndex = this.widgetData.length + index\r\n }\r\n this.reInitiateSlideInterval()\r\n }\r\n\r\n get isOpenInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n return true\r\n } return false\r\n }\r\n\r\n openInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n window.open(currentData.redirectUrl)\r\n }\r\n }\r\n raiseTelemetry(bannerUrl: string | undefined) {\r\n this.openInNewTab()\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'banner',\r\n },\r\n {\r\n pageUrl: url,\r\n bannerRedirectUrl: bannerUrl,\r\n },\r\n {\r\n pageIdExt: 'banner',\r\n module: WsEvents.EnumTelemetrymodules.CONTENT,\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.defaultMenuSubscribe) {\r\n this.defaultMenuSubscribe.unsubscribe()\r\n }\r\n }\r\n}\r\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { SlidersLibComponent } from './sliders.component'\r\nimport { RouterModule } from '@angular/router'\r\nimport { ImageResponsiveModule } from './../../_directives/image-responsive/image-responsive.module'\r\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\r\n/* tslint:disable */\r\nimport Hammer from 'hammerjs'\r\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\r\n/* tslint:enable */\r\nexport class MyHammerConfig extends HammerGestureConfig {\r\n buildHammer(element: HTMLElement) {\r\n const mc = new Hammer(element, {\r\n touchAction: 'pan-y',\r\n })\r\n return mc\r\n }\r\n}\r\n\r\n// tslint:disable-next-line: max-classes-per-file\r\n@NgModule({\r\n declarations: [SlidersLibComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NavigationModule,\r\n ImageResponsiveModule,\r\n ],\r\n exports: [SlidersLibComponent],\r\n entryComponents: [SlidersLibComponent],\r\n providers: [\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: MyHammerConfig,\r\n },\r\n ],\r\n})\r\nexport class SlidersLibModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nconst API_END_POINTS = {\r\n PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,\r\n TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,\r\n ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`,\r\n LEARNERS: `apis/proxies/v8/halloffame/top/learners`\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InsiteDataService {\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) {}\r\n fetchSearchData(request: any): Observable<any> {\r\n return this.http.post<any>(API_END_POINTS.PROVIDER_INSIGHTS, request)\r\n }\r\n\r\n fetchAnnouncementsData(request: any): Observable<any> {\r\n return this.http.post<any>(API_END_POINTS.ANNOUNCEMENTS_DETAILS, request)\r\n }\r\n\r\n\r\n fetchTrainingDetails(request: any): Observable<any> {\r\n return this.http.post<any>(API_END_POINTS.TRAINING_DETAILS, request)\r\n }\r\n\r\n fetchLearner(): Observable<any> {\r\n return this.http.get(API_END_POINTS.LEARNERS)\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-data-points',\r\n templateUrl: './data-points.component.html',\r\n styleUrls: ['./data-points.component.css']\r\n})\r\nexport class DataPointsComponent implements OnInit {\r\n @Input() objectData: any\r\n @Input() layoutType: string = ''\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() providerId : any = ''\r\n @Input() pageLayout: any = ''\r\n customArray: any[][] = []\r\n isDataLoading: boolean = false\r\n \r\n constructor(public insightSvc: InsiteDataService) { }\r\n\r\n ngOnInit() {\r\n if (this.objectData && this.layoutType === 'gridLayout') {\r\n this.customArray = this.createCustomArray(this.objectData.metrics)\r\n }\r\n if(this.fetchDataFromApi) {\r\n this.isDataLoading = true\r\n this.getInsiteData()\r\n }\r\n } \r\n\r\n createCustomArray(arr: any[]): any[][] {\r\n const nByn: any[][] = []\r\n for (let i = 0; i < arr.length; i += this.objectData.dataColSpan) {\r\n nByn.push(arr.slice(i, i + this.objectData.dataColSpan))\r\n }\r\n return nByn \r\n }\r\n\r\n getInsiteData(){\r\n let request: any = {}\r\n request = {\r\n \"request\": {\r\n \"filters\": {\r\n \"organisations\": [\r\n this.providerId\r\n ]\r\n }\r\n }\r\n }\r\n if (this.pageLayout && this.pageLayout === 'mdo') {\r\n request = {\r\n \"request\": {\r\n \"filters\": {\r\n \"requestType\": \"MDO_INSIGHT\",\r\n \"organisations\": [\r\n this.providerId\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n this.insightSvc.fetchSearchData(request).subscribe((res: any)=> {\r\n if(res && res.result && res.result.response && res.result.response.nudges && res.result.response.nudges.length) {\r\n res.result.response.nudges.forEach((nudgeData: any) => {\r\n if(this.providerId && this.providerId === nudgeData.orgId) {\r\n this.objectData = nudgeData.data\r\n }\r\n })\r\n }\r\n this.isDataLoading = false\r\n })\r\n\r\n }\r\n\r\n converToIndianSystem(value: any) {\r\n let numStr = value.toString()\r\n let [integerPart, decimalPart] = numStr.split('.')\r\n let lastThree = integerPart.slice(-3);\r\n let otherNumbers = integerPart.slice(0, -3);\r\n if (otherNumbers !== '') {\r\n lastThree = ',' + lastThree;\r\n }\r\n let formattedIntegerPart = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',') + lastThree;\r\n const result = decimalPart ? `${formattedIntegerPart}.${decimalPart.substr(0,2)}` : formattedIntegerPart;\r\n return result\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'sb-uic-skeleton-loader',\r\n templateUrl: './skeleton-loader-lib.component.html',\r\n styleUrls: ['./skeleton-loader-lib.component.scss'],\r\n})\r\nexport class SkeletonLoaderLibComponent implements OnInit {\r\n\r\n @Input() bindingClass = ''\r\n @Input() height = ''\r\n @Input() width = ''\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { SkeletonLoaderLibComponent } from './skeleton-loader-lib.component'\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\r\nimport { MatDialogModule, MatIconModule } from '@angular/material'\r\n\r\n@NgModule({\r\n declarations: [SkeletonLoaderLibComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n SkeletonLoaderLibComponent,\r\n ],\r\n entryComponents: [SkeletonLoaderLibComponent],\r\n})\r\nexport class SkeletonLoaderLibModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataPointsComponent } from './data-points.component';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [DataPointsComponent],\r\n imports: [\r\n CommonModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [DataPointsComponent],\r\n providers:[InsiteDataService]\r\n})\r\nexport class DataPointsModule { }\r\n","import { DatePipe } from '@angular/common';\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n \r\n} from '@angular/core';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-calender',\r\n templateUrl: './calender.component.html',\r\n styleUrls: ['./calender.component.scss']\r\n})\r\nexport class CalenderComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() showHeader: boolean = false\r\n @Input() defaultDays: number = 3\r\n @Input() providerId: any\r\n @Input() fullCalendor: boolean = false\r\n days = []\r\n trainings: any = {}\r\n currentMonthAndYear: any\r\n isDataLoading: boolean = false\r\n currentDate: any = new Date()\r\n endDate: any\r\n startDate: any\r\n allMonths = [\"January\", \"February\", \"March\",\r\n \"April\", \"May\", \"June\", \"July\",\r\n \"August\", \"September\", \"October\",\r\n \"November\", \"December\"\r\n ]\r\n monthsDropdown: any = []\r\n selectedMonth: any\r\n constructor(private datePipe: DatePipe, public insightSvc: InsiteDataService) { }\r\n\r\n ngOnInit() {\r\n this.currentMonthAndYear = this.datePipe.transform(this.currentDate, 'MMMM y')\r\n this.selectedMonth = this.datePipe.transform(this.currentDate, 'LLLL yyyy')\r\n if (this.fullCalendor) {\r\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\r\n this.getMonthsDropdownData()\r\n }\r\n if (!this.fullCalendor) {\r\n this.days = this.getDays(this.currentDate, +this.defaultDays)\r\n }\r\n this.startDate = this.days[0]\r\n this.endDate = this.days[this.days.length - 1]\r\n if(this.fetchDataFromApi) {\r\n this.isDataLoading = true\r\n this.getInsiteData()\r\n }\r\n }\r\n getInsiteData() {\r\n let request = {\r\n \"locale\": [\r\n \"en\"\r\n ],\r\n \"query\": \"\",\r\n \"request\": {\r\n \"query\": \"\",\r\n \"filters\": {\r\n \"category\": [\r\n \"Calendar\"\r\n ],\r\n \"status\": [\r\n \"Live\",\r\n \"Retired\"\r\n ],\r\n \"contentType\": \"Event\",\r\n \"startDate\": {\r\n \">=\": this.startDate,\r\n \"<=\": this.endDate\r\n // \">=\": \"2024-01-15\",\r\n // \"<\": \"2024-05-31\"\r\n },\r\n \"channel\": [this.providerId]\r\n },\r\n \"sort_by\": {\r\n \"lastUpdatedOn\": \"desc\"\r\n }\r\n }\r\n }\r\n this.insightSvc.fetchTrainingDetails(request).subscribe((res: any)=> {\r\n if (res && res.result && res.result.Event) {\r\n res.result.Event.forEach((resp: any) => {\r\n if (this.trainings[resp.startDate]) {\r\n let prevData = this.trainings[resp.startDate]\r\n let location = resp.eventType\r\n if (resp.location && location !== \"Online\") {\r\n const jsonResp = JSON.parse(resp.location)\r\n location = jsonResp['address']\r\n }\r\n const formatObject = {\r\n location: location,\r\n startTime: this.convertTo12HourFormat(resp.startTime),\r\n endTime: this.convertTo12HourFormat(resp.endTime),\r\n title: resp.name,\r\n startDate: this.formatDate(resp.startDate),\r\n endDate: this.formatDate(resp.endDate),\r\n registrationLink: resp.registrationLink,\r\n }\r\n prevData.push(formatObject)\r\n this.trainings[resp.startDate] = prevData\r\n }\r\n })\r\n }\r\n this.isDataLoading = false\r\n })\r\n }\r\n\r\n getKeys(obj: any): string[] {\r\n return Object.keys(obj);\r\n }\r\n\r\n formatDate(date: any) {\r\n let formatDate = new Date(date)\r\n return this.datePipe.transform(formatDate, 'E, dd LLL')\r\n }\r\n\r\n convertTo12HourFormat(timeString: string): string {\r\n const time = timeString.split(\":\")\r\n let hours = +time[0]\r\n const minutes = +time[1]\r\n const ampm = hours >= 12 ? 'PM' : 'AM'\r\n hours = hours % 12\r\n hours = hours ? hours : 12\r\n const strHours = hours < 10 ? '0' + hours : hours.toString()\r\n const strMinutes = minutes < 10 ? '0' + minutes : minutes.toString()\r\n return `${strHours}:${strMinutes} ${ampm}`\r\n }\r\n\r\n getDays(cDate: any, counter: number) {\r\n const days: any = []\r\n let initDate: any = new Date(cDate)\r\n initDate = this.datePipe.transform(initDate, 'y-MM-dd')\r\n days.push(initDate)\r\n this.trainings[initDate] = []\r\n while (counter > 0) {\r\n let myDate: any = new Date(cDate)\r\n myDate = myDate.setDate(myDate.getDate() + 1)\r\n cDate = myDate\r\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\r\n days.push(myDate)\r\n this.trainings[myDate] = []\r\n counter = counter - 1\r\n }\r\n return days\r\n }\r\n\r\n getDaysInMonth(year: number, month: number): Date[] {\r\n const date = new Date(year, month, 1)\r\n const days: any = []\r\n this.trainings = {}\r\n while (date.getMonth() === month) {\r\n let myDate: any = new Date(date)\r\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\r\n days.push(myDate)\r\n this.trainings[myDate] = []\r\n date.setDate(date.getDate() + 1)\r\n }\r\n return days\r\n }\r\n\r\n getMonthsDropdownData() {\r\n this.allMonths.forEach((month: any) => {\r\n this.monthsDropdown.push(`${month} ${this.currentDate.getFullYear()}`)\r\n })\r\n }\r\n\r\n selectMonth(event: any) {\r\n const selectedMonth: any = new Date(event)\r\n this.currentDate = selectedMonth\r\n this.days = []\r\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\r\n this.startDate = this.days[0]\r\n this.endDate = this.days[this.days.length - 1]\r\n this.isDataLoading = true\r\n this.getInsiteData()\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-calender-day',\r\n templateUrl: './calender-day.component.html',\r\n styleUrls: ['./calender-day.component.scss']\r\n})\r\nexport class CalenderDayComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() day: any\r\n @Input() dataLoading: boolean\r\n @Input() rowId: any\r\n @Input() eventDate: any\r\n webDisplayDate: string = \"\"\r\n mobileDisplayDate: string = \"\"\r\n currentDate: any = new Date()\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n ngOnInit() {\r\n this.currentDate = this.datePipe.transform(this.currentDate, 'y-MM-dd')\r\n }\r\n\r\n openLink(link: string) {\r\n window.open(link, \"_blank\")\r\n }\r\n\r\n formatDate(date: any, type: string) {\r\n let fDate = new Date(date)\r\n if (type === 'web') {\r\n return this.datePipe.transform(fDate, 'E, dd LLL')\r\n }\r\n if (type === 'mob') {\r\n return this.datePipe.transform(fDate, 'E dd LLL')\r\n }\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { CalenderComponent } from './calender.component';\r\nimport { MatIconModule, MatSelectModule } from '@angular/material';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { CalenderDayComponent } from './calender-day/calender-day.component';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n declarations: [CalenderComponent, CalenderDayComponent],\r\n exports: [CalenderComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers:[DatePipe, InsiteDataService],\r\n})\r\nexport class CalenderModule {}","import { Injectable } from '@angular/core';\r\nimport { NsContent } from '../_models/widget-content.model';\r\nimport { NsContentStripWithTabs } from '../_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model';\r\nimport { NsCommonStrip } from '../_common/common-strip/common-strip.model'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonMethodsService {\r\n\r\n constructor() { }\r\n\r\n transformContentsToWidgets(\r\n contents: NsContent.IContent[],\r\n strip: NsContentStripWithTabs.IContentStripUnit | NsCommonStrip.ICommonStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n transformSkeletonToWidgets(\r\n strip: any\r\n ) {\r\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n },\r\n }));\r\n }\r\n\r\n handleCapitalize(str: string, type?: string): string {\r\n let returnValue = ''\r\n if (str) {\r\n if (type === 'name') {\r\n returnValue = str.split(' ').map(_str => {\r\n return _str.charAt(0).toUpperCase() + _str.slice(1)\r\n }).join(' ')\r\n } else {\r\n\r\n returnValue = str && (str.charAt(0).toUpperCase() + str.slice(1))\r\n }\r\n }\r\n return returnValue\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsCommonStrip } from './common-strip.model';\r\n// import { HttpClient } from '@angular/common/http'\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { NsContent } from '../../_models/widget-content.model';\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\r\nimport {\r\n TFetchStatus,\r\n LoggerService,\r\n EventService,\r\n ConfigurationsService,\r\n UtilityService,\r\n} from '@sunbird-cb/utils-v2';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { WidgetUserService } from '../../_services/widget-user.service';\r\n// import { environment } from 'src/environments/environment'\r\n// tslint:disable-next-line\r\nimport * as _ from 'lodash'\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CommonMethodsService } from '../../_services/common-methods.service';\r\n\r\n\r\ninterface IStripUnitCommonData {\r\n key: string;\r\n canHideStrip: boolean;\r\n mode?: string;\r\n showStrip: boolean;\r\n disableTranslate: boolean;\r\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\r\n stripTitle: string;\r\n stripTitleLink?: {\r\n link: {\r\n queryParams: string\r\n },\r\n icon: string,\r\n queryParams: string\r\n };\r\n sliderConfig?: {\r\n showNavs: boolean,\r\n showDots: boolean,\r\n maxWidgets?: number\r\n cerificateCardMargin?: boolean\r\n };\r\n stripConfig: any;\r\n tabs?: NsCommonStrip.ICommonStripTab[] | undefined;\r\n stripName?: string;\r\n stripLogo?: string;\r\n description?: string;\r\n stripInfo?: NsCommonStrip.IStripInfo;\r\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n showOnNoData: boolean;\r\n showOnLoader: boolean;\r\n showOnError: boolean;\r\n loaderWidgets?: any;\r\n stripBackground?: string;\r\n secondaryHeading?: any;\r\n viewMoreUrl: any;\r\n}\r\n\r\n@Component({\r\n selector: 'sb-uic-common-strip',\r\n templateUrl: './common-strip.component.html',\r\n styleUrls: ['./common-strip.component.scss']\r\n})\r\nexport class CommonStripComponent extends WidgetBaseComponent\r\nimplements\r\nOnInit,\r\nOnDestroy,\r\nNsWidgetResolver.IWidgetData<NsCommonStrip.ICommonStrip> {\r\n @Input() widgetData!: NsCommonStrip.ICommonStrip;\r\n @HostBinding('id')\r\n public id = `ws-strip-miltiple_${Math.random()}`;\r\n stripsResultDataMap: { [key: string]: IStripUnitCommonData } = {};\r\n stripsKeyOrder: string[] = [];\r\n showAccordionData = true;\r\n showParentLoader = false;\r\n showParentError = false;\r\n showParentNoData = false;\r\n errorDataCount = 0;\r\n noDataCount = 0;\r\n successDataCount = 0;\r\n contentAvailable = true;\r\n baseUrl = this.configSvc.sitePath || '';\r\n veifiedKarmayogi = false;\r\n environment!: any;\r\n changeEventSubscription: Subscription | null = null;\r\n defaultMaxWidgets = 12;\r\n enrollInterval: any;\r\n todaysEvents: any = [];\r\n\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private contentSvc: WidgetContentService,\r\n private loggerSvc: LoggerService,\r\n private eventSvc: EventService,\r\n private configSvc: ConfigurationsService,\r\n public utilitySvc: UtilityService,\r\n // private http: HttpClient,\r\n // private searchServSvc: SearchServService,\r\n private userSvc: WidgetUserService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private commonMethodsSvc: CommonMethodsService\r\n ) {\r\n super();\r\n this.environment = environment\r\n }\r\n\r\n ngOnInit() {\r\n // const url = window.location.href\r\n this.initData();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.changeEventSubscription) {\r\n this.changeEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showAccordion(key: string) {\r\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\r\n return this.showAccordionData;\r\n }\r\n return true;\r\n }\r\n\r\n setHiddenForStrip(key: string) {\r\n this.stripsResultDataMap[key].showStrip = false;\r\n sessionStorage.setItem(`cstrip_${key}`, '1');\r\n }\r\n private getIfStripHidden(key: string): boolean {\r\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\r\n return Boolean(storageItem !== '1');\r\n }\r\n\r\n private initData() {\r\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\r\n if (this.widgetData.loader && this.widgetData.strips.length) {\r\n this.showParentLoader = true;\r\n }\r\n // null check if in case no strips key in config\r\n if(this.widgetData && this.widgetData.strips) {\r\n // Fetch the data\r\n for (const strip of this.widgetData.strips) {\r\n this.processStrip(strip, [], 'fetching', false, null);\r\n if(strip.dataType === 'in-hand' && this.widgetData[strip.dataKey]){\r\n this.processStrip(\r\n strip,\r\n this.commonMethodsSvc.transformContentsToWidgets(this.widgetData[strip.dataKey], strip),\r\n 'done',\r\n true,\r\n strip.viewMoreUrl || '',\r\n );\r\n } else {\r\n if (this.checkForEmptyWidget(strip)) {\r\n // this.fetchStripFromRequestData(strip, false);\r\n } else {\r\n this.processStrip(strip, [], 'done', true, null);\r\n }\r\n }\r\n }\r\n }\r\n // Subscription for changes\r\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\r\n .map(strip => ({\r\n key: strip.key,\r\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\r\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\r\n }))\r\n .filter(({ key, type, from }) => key && type && from);\r\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\r\n this.changeEventSubscription = this.eventSvc.events$\r\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\r\n .subscribe(event => {\r\n keyAndEvent\r\n .filter(e => e.type === event.eventType && e.from === event.from)\r\n .map(e => e.key)\r\n .forEach(k => this.fetchStripFromKey(k, false));\r\n });\r\n }\r\n\r\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\r\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\r\n if (stripData) {\r\n // this.fetchStripFromRequestData(stripData, calculateParentStatus);\r\n }\r\n }\r\n\r\n isStripShowing(data: any) {\r\n let count = 0;\r\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\r\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\r\n data.widgets.forEach((key: any) => {\r\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n data.showStrip = true;\r\n } else {\r\n data.showStrip = false;\r\n }\r\n }\r\n return data.showStrip;\r\n }\r\n\r\n get isMobile() {\r\n return this.utilitySvc.isMobile || false;\r\n }\r\n\r\n getdata(data: IStripUnitCommonData) {\r\n if (data.stripInfo) {\r\n return data.stripInfo.widget;\r\n }\r\n return {};\r\n\r\n }\r\n checkCondition(wData: NsCommonStrip.ICommonStrip, data: IStripUnitCommonData) {\r\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\r\n return !wData.strips[0].stripConfig.hideShowAll;\r\n }\r\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\r\n }\r\n checkVisible(data: IStripUnitCommonData) {\r\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\r\n }\r\n\r\n getContineuLearningLenth(data: IStripUnitCommonData) {\r\n return data.widgets ? data.widgets.length : 0;\r\n }\r\n getLength(data: IStripUnitCommonData) {\r\n if (!data.tabs || !data.tabs.length) {\r\n return data.widgets ? data.widgets.length : 0;\r\n } {\r\n // if tabs are there check if each tab has widgets and get the tab with max widgets\r\n const tabWithMaxWidgets = data.tabs.reduce(\r\n (prev, current) => {\r\n if (!prev.widgets && !current.widgets) {\r\n return current;\r\n }\r\n if (prev.widgets && current.widgets) {\r\n return (prev.widgets.length > current.widgets.length) ? prev : current;\r\n }\r\n if (current.widgets && !prev.widgets) {\r\n return current;\r\n }\r\n if (!current.widgets && prev.widgets) {\r\n return prev;\r\n }\r\n return current;\r\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\r\n // tslint:disable-next-line: align\r\n }, data.tabs[0]);\r\n // if tabs has atleast 1 widgets then strip will show or else not\r\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\r\n }\r\n }\r\n \r\n private async processStrip(\r\n strip: NsCommonStrip.ICommonStripUnit,\r\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\r\n fetchStatus: TFetchStatus,\r\n calculateParentStatus = true,\r\n _viewMoreUrl: any,\r\n tabsResults?: NsCommonStrip.ICommonStripTab[] | undefined,\r\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\r\n ) {\r\n const stripData = {\r\n viewMoreUrl: strip.viewMoreUrl,\r\n key: strip.key,\r\n canHideStrip: Boolean(strip.canHideStrip),\r\n showStrip: this.getIfStripHidden(strip.key),\r\n noDataWidget: strip.noDataWidget,\r\n errorWidget: strip.errorWidget,\r\n stripInfo: strip.info,\r\n stripTitle: strip.title,\r\n stripTitleLink: strip.stripTitleLink,\r\n dataType: strip.dataType,\r\n dataKey: strip.dataKey,\r\n disableTranslate: strip.disableTranslate,\r\n sliderConfig: strip.sliderConfig,\r\n tabs: tabsResults ? tabsResults : strip.tabs,\r\n stripName: strip.name,\r\n mode: strip.mode,\r\n stripConfig: strip.stripConfig,\r\n stripBackground: strip.stripBackground,\r\n secondaryHeading: strip.secondaryHeading,\r\n loaderWidgets: strip.loaderWidgets || [],\r\n widgets:\r\n fetchStatus === 'done'\r\n ? [\r\n ...(strip.preWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ...results,\r\n ...(strip.postWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ]\r\n : [],\r\n showOnNoData: Boolean(\r\n strip.noDataWidget &&\r\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\r\n fetchStatus === 'done',\r\n ),\r\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\r\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\r\n };\r\n // const stripData = this.stripsResultDataMap[strip.key]\r\n this.stripsResultDataMap = {\r\n ...this.stripsResultDataMap,\r\n [strip.key]: stripData,\r\n };\r\n if (!tabsResults) {\r\n if (\r\n calculateParentStatus &&\r\n (fetchStatus === 'done' || fetchStatus === 'error') &&\r\n stripData.widgets\r\n ) {\r\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\r\n }\r\n if (calculateParentStatus && !(results && results.length > 0)) {\r\n this.contentAvailable = false;\r\n } else if (results && results.length > 0) {\r\n this.contentAvailable = true;\r\n }\r\n } else {\r\n this.contentAvailable = true;\r\n }\r\n }\r\n\r\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\r\n let returnValue = 0;\r\n if (key === 'cbpPlan') {\r\n if (stripsResultDataMap.tabs.length) {\r\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\r\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\r\n }\r\n }\r\n return returnValue;\r\n }\r\n \r\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\r\n if (fetchStatus === 'done' && !stripWidgetsCount) {\r\n this.noDataCount += 1;\r\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\r\n this.successDataCount += 1;\r\n } else if (fetchStatus === 'error') {\r\n this.errorDataCount += 1;\r\n }\r\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\r\n const totalCount = this.widgetData.strips.length;\r\n if (this.successDataCount > 0 && settledCount < totalCount) {\r\n return;\r\n }\r\n this.showParentLoader = settledCount !== totalCount;\r\n this.showParentNoData =\r\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\r\n this.showParentError = this.errorDataCount === totalCount;\r\n }\r\n checkForEmptyWidget(strip: NsCommonStrip.ICommonStripUnit): boolean {\r\n if (\r\n strip.request &&\r\n ((strip.request.api && Object.keys(strip.request.api).length) ||\r\n (strip.request.search && Object.keys(strip.request.search).length) ||\r\n (strip.request.searchRegionRecommendation &&\r\n Object.keys(strip.request.searchRegionRecommendation).length) ||\r\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\r\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\r\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\r\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length)\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitCommonData, stripKey: string) {\r\n\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '');\r\n }\r\n\r\n identify(index: number, item: any) {\r\n if (index >= 0) { }\r\n return item;\r\n }\r\n tracker(index: number, item: any) {\r\n if (index >= 0) { }\r\n return _.get(item, 'widgetData.content.identifier')\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CommonStripComponent } from './common-strip.component';\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\r\nimport {\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule} from '@angular/material';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\r\n\r\n@NgModule({\r\n declarations: [CommonStripComponent],\r\n imports: [\r\n SbUiResolverModule,\r\n CommonModule,\r\n RouterModule,\r\n HorizontalScrollerV2Module,\r\n MatProgressSpinnerModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports: [CommonStripComponent]\r\n})\r\nexport class CommonStripModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-announcements',\r\n templateUrl: './announcements.component.html',\r\n styleUrls: ['./announcements.component.scss']\r\n})\r\nexport class AnnouncementsComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() mobileHeight: boolean = false\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() channelId: any\r\n @Output() openDialog = new EventEmitter<any>()\r\n isLoading: boolean = false\r\n announcements: any = []\r\n expand = false\r\n expanded: boolean = false\r\n\r\n constructor(public insightSvc: InsiteDataService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.fetchDataFromApi) {\r\n this.isLoading = true\r\n this.fetchData()\r\n }\r\n }\r\n\r\n fetchData() {\r\n let request = {\r\n filterCriteriaMap: {\r\n channel: [this.channelId],\r\n //channel: [\"01381906916850892825\"],\r\n },\r\n requestedFields: [\r\n \"name\",\r\n \"description\",\r\n \"createdOn\",\r\n \"updatedOn\",\r\n \"category\"\r\n ],\r\n orderBy: \"createdOn\",\r\n orderDirection: \"ASC\",\r\n facets: [\r\n \"channel\"\r\n ],\r\n pageSize: this.objectData.pageSize\r\n }\r\n this.insightSvc.fetchAnnouncementsData(request).subscribe((res: any)=> {\r\n if(res && res.result && res.result.data) {\r\n res.result.data.forEach((resp: any) => {\r\n this.announcements.push({\r\n value: resp.description,\r\n expanded: false\r\n })\r\n })\r\n }\r\n if (this.announcements.length > 3) {\r\n this.expand = true\r\n }\r\n this.objectData.list = this.announcements\r\n this.isLoading = false\r\n }, error => {\r\n console.log(error)\r\n this.objectData.list = []\r\n this.isLoading = false\r\n })\r\n }\r\n\r\n viewMoreOrLess(item: any) {\r\n if (item.value.length > 152) {\r\n item.expanded = !item.expanded\r\n }\r\n }\r\n\r\n openAnnouncements() {\r\n this.openDialog.emit(true)\r\n }\r\n\r\n showMoreOrLess() {\r\n this.expanded = !this.expanded\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { AnnouncementsComponent } from './announcements.component';\r\nimport { MatIconModule } from '@angular/material';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [AnnouncementsComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [AnnouncementsComponent],\r\n})\r\nexport class AnnouncementsModule { }","import { Component, Input, OnInit } from '@angular/core';\r\nimport * as moment_ from 'moment';\r\nimport { InsiteDataService } from '../../_services/insite-data.service';\r\nconst moment = moment_;\r\n@Component({\r\n selector: 'sb-uic-top-learners',\r\n templateUrl: './top-learners.component.html',\r\n styleUrls: ['./top-learners.component.scss']\r\n})\r\nexport class TopLearnersComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() channelId: any\r\n @Input() channnelName: any\r\n loading: boolean = false\r\n month: string = ''\r\n results: any = []\r\n\r\n colors: any = [\r\n '#EB7181', // red\r\n '#306933', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n '#4E9E87',\r\n '#7E4C8D',\r\n '#EB7181', // red\r\n '#306933', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n ]\r\n\r\n constructor(public insightSvc: InsiteDataService,) { }\r\n\r\n ngOnInit() {\r\n this.getData()\r\n this.month = new Date().toLocaleString('default', { month: 'long' })\r\n }\r\n\r\n getData() {\r\n this.loading = true\r\n this.insightSvc.fetchLearner().subscribe((res: any)=> {\r\n if (res && res.result && res.result.result && res.result.result.length) {\r\n this.results = res.result.result\r\n this.month = moment().month(Number(res.result.result[0].month) - 1).format('MMMM')\r\n }\r\n this.loading = false\r\n }, (_error: any) => {\r\n // tslint:disable-next-line: align\r\n this.loading = false\r\n })\r\n }\r\n\r\n getRank(rank: number) {\r\n if (rank === 1) {\r\n return \"1st\"\r\n } \r\n if (rank === 2) {\r\n return \"2nd\"\r\n } \r\n if (rank === 3) {\r\n return \"3rd\"\r\n } else {\r\n return `${rank}th`\r\n } \r\n }\r\n\r\n getColor() {\r\n let circleColor = ''\r\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\r\n circleColor = this.colors[randomIndex]\r\n return circleColor\r\n }\r\n\r\n createInititals(name: string) {\r\n let initials = ''\r\n const array = name.toString().split(' ')\r\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\r\n initials += array[0].charAt(0)\r\n initials += array[1].charAt(0)\r\n } else {\r\n for (let i = 0; i < name.length; i += 1) {\r\n if (name.charAt(i) === ' ') {\r\n continue\r\n }\r\n if (name.charAt(i) === name.charAt(i)) {\r\n initials += name.charAt(i)\r\n\r\n if (initials.length === 2) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n return initials.toUpperCase()\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TopLearnersComponent } from './top-learners.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { MatTooltipModule } from '@angular/material';\r\n\r\n@NgModule({\r\n declarations: [TopLearnersComponent],\r\n imports: [\r\n CommonModule,\r\n SkeletonLoaderLibModule,\r\n MatTooltipModule\r\n ],\r\n exports: [TopLearnersComponent],\r\n})\r\nexport class TopLearnersModule { }","import { Directive, Input, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sbUicScrollableItem]'\r\n})\r\nexport class ScrollableItemDirective {\r\n\r\n @Input('sbUicScrollableItem') public key: string\r\n constructor(private el: ElementRef<HTMLElement>) {}\r\n\r\n public scrollIntoView(blockValue: any) {\r\n this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\r\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-cbp-plan',\r\n templateUrl: './cbp-plan.component.html',\r\n styleUrls: ['./cbp-plan.component.scss']\r\n})\r\nexport class CbpPlanComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() layoutType: any\r\n @Input() mobileHeight: boolean = false\r\n @Input() fetchDataFromApi: boolean = false\r\n @Input() channelId: any\r\n @Output() openDialog = new EventEmitter<any>()\r\n isLoading: boolean = false\r\n currentIndex = 0\r\n styleData: any = {}\r\n contentdata: any = []\r\n\r\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\r\n constructor(private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService) { }\r\n\r\n ngOnInit() {\r\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\r\n if (this.objectData && this.objectData.list) {\r\n this.objectData.list.forEach((contentEle: any) => {\r\n let localData = {}\r\n localData['title'] = contentEle.title\r\n localData['downloaUrl'] = contentEle.downloaUrl\r\n localData['cardSubType'] = \"card-wide-lib\"\r\n localData['cardCustomeClass'] = \"\"\r\n this.contentdata.push(localData)\r\n })\r\n }\r\n }\r\n\r\n getCurrentIndex(indexValue: any) {\r\n this.currentIndex = indexValue\r\n }\r\n\r\n getFileName(item: any) {\r\n console.log(item.downloadUrl)\r\n return item.downloadUrl.split(\"/\").at(-1)\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateActualLabel(label, type, '');\r\n }\r\n\r\n downloadCBPPlan(item: any) {\r\n const downloadUrl = item.downloaUrl\r\n const xhr = new XMLHttpRequest()\r\n xhr.open('GET', downloadUrl, true)\r\n xhr.responseType = 'blob'\r\n\r\n xhr.onload = function() {\r\n if (xhr.status === 200) {\r\n const blob = new Blob([xhr.response], { type: 'application/pdf' })\r\n const url = window.URL.createObjectURL(blob)\r\n const a = document.createElement('a')\r\n a.href = url\r\n a.download = downloadUrl.split(\"/\").at(-1)\r\n document.body.appendChild(a)\r\n a.click()\r\n document.body.removeChild(a)\r\n window.URL.revokeObjectURL(url)\r\n } else {\r\n console.error('Error downloading the PDF', xhr.statusText)\r\n }\r\n }\r\n xhr.onerror = function() {\r\n console.error('Network error')\r\n }\r\n xhr.send()\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from '@angular/core'\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\r\nimport { ICarousel, ICarouselStyle } from './sliders-ng-content.model'\r\nimport { Subscription, interval } from 'rxjs'\r\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\r\n\r\n@Component({\r\n selector: 'sb-uic-sliders-ng-content',\r\n templateUrl: './sliders-ng-content.component.html',\r\n styleUrls: ['./sliders-ng-content.component.scss'],\r\n})\r\nexport class SlidersNgContentLibComponent extends WidgetBaseComponent\r\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\r\n @Input() widgetData!: ICarousel[]\r\n @Input() styleData!: ICarouselStyle\r\n @Input() title: any = ''\r\n @Input() loadNgContentData: boolean = false\r\n @Input() autoScroll: boolean = false\r\n @Output() currentIndexValue = new EventEmitter<any>()\r\n \r\n @HostBinding('id')\r\n public id = `banner_${Math.random()}`\r\n private defaultMenuSubscribe: Subscription | null = null\r\n isLtMedium$ = this.valueSvc.isLtMedium$\r\n @Input() currentIndex = 0\r\n slideInterval: Subscription | null = null\r\n isMobile = false\r\n\r\n constructor(\r\n private events: EventService,\r\n private valueSvc: ValueService\r\n ) {\r\n super()\r\n }\r\n\r\n ngOnInit() {\r\n if(this.autoScroll) {\r\n this.reInitiateSlideInterval()\r\n }\r\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\r\n this.isMobile = isLtMedium\r\n })\r\n }\r\n reInitiateSlideInterval() {\r\n if (this.widgetData && this.widgetData.length > 1) {\r\n try {\r\n if (this.slideInterval) {\r\n this.slideInterval.unsubscribe()\r\n }\r\n } catch (e) {\r\n } finally {\r\n this.slideInterval = interval(8000).subscribe(() => {\r\n if (this.currentIndex === this.widgetData.length - 1) {\r\n this.currentIndex = 0\r\n this.currentIndexValue.emit(this.currentIndex)\r\n } else {\r\n this.currentIndex += 1\r\n this.currentIndexValue.emit(this.currentIndex)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n slideTo(index: number) {\r\n if (index >= 0 && index < this.widgetData.length) {\r\n this.currentIndex = index\r\n this.currentIndexValue.emit(this.currentIndex)\r\n } else if (index === this.widgetData.length) {\r\n this.currentIndex = 0\r\n this.currentIndexValue.emit(this.currentIndex)\r\n } else {\r\n this.currentIndex = this.widgetData.length + index\r\n this.currentIndexValue.emit(this.currentIndex)\r\n }\r\n if(this.autoScroll) {\r\n this.reInitiateSlideInterval()\r\n }\r\n }\r\n\r\n get isOpenInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n return true\r\n } return false\r\n }\r\n\r\n openInNewTab() {\r\n const currentData = this.widgetData[this.currentIndex]\r\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\r\n window.open(currentData.redirectUrl)\r\n }\r\n }\r\n raiseTelemetry(bannerUrl: string | undefined) {\r\n this.openInNewTab()\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'banner',\r\n },\r\n {\r\n pageUrl: url,\r\n bannerRedirectUrl: bannerUrl,\r\n },\r\n {\r\n pageIdExt: 'banner',\r\n module: WsEvents.EnumTelemetrymodules.CONTENT,\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.defaultMenuSubscribe) {\r\n this.defaultMenuSubscribe.unsubscribe()\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { SlidersNgContentLibComponent } from './sliders-ng-content.component'\r\nimport { RouterModule } from '@angular/router'\r\nimport { ImageResponsiveModule } from '../../_directives/image-responsive/image-responsive.module'\r\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\r\n/* tslint:disable */\r\nimport Hammer from 'hammerjs'\r\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\r\n/* tslint:enable */\r\nexport class MyHammerConfig extends HammerGestureConfig {\r\n buildHammer(element: HTMLElement) {\r\n const mc = new Hammer(element, {\r\n touchAction: 'pan-y',\r\n })\r\n return mc\r\n }\r\n}\r\n\r\n// tslint:disable-next-line: max-classes-per-file\r\n@NgModule({\r\n declarations: [SlidersNgContentLibComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NavigationModule,\r\n ImageResponsiveModule,\r\n ],\r\n exports: [SlidersNgContentLibComponent],\r\n entryComponents: [SlidersNgContentLibComponent],\r\n providers: [\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: MyHammerConfig,\r\n },\r\n ],\r\n})\r\nexport class SlidersNgContentLibModule { }\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ScrollableItemDirective } from './scrollable-item.directive'\r\n\r\n@NgModule({\r\n declarations: [ScrollableItemDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ScrollableItemDirective],\r\n})\r\nexport class ScrollableItemModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CbpPlanComponent } from './cbp-plan.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { MatIconModule } from '@angular/material';\r\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\r\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CbpPlanComponent],\r\n imports: [\r\n CommonModule,\r\n SkeletonLoaderLibModule,\r\n MatIconModule,\r\n ScrollableItemModule,\r\n SlidersNgContentLibModule,\r\n ],\r\n exports: [CbpPlanComponent]\r\n})\r\nexport class CbpPlanModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { ConsumptionComponent } from './consumption.component';\r\nimport { ContentStripWithTabsLibModule } from './_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { SlidersLibModule } from '../lib/_common/sliders/sliders.module';\r\nimport { DataPointsModule } from './_common/data-points/data-points.module';\r\nimport { CalenderModule } from './_common/calender/calender.module';\r\nimport { CommonStripModule } from './_common/common-strip/common-strip.module';\r\nimport { AnnouncementsModule } from './_common/announcements/announcements.module';\r\nimport { TopLearnersModule } from './_common/top-learners/top-learners.module';\r\nimport { CbpPlanModule } from './_common/cbp-plan/cbp-plan.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ConsumptionComponent,],\r\n imports: [\r\n ContentStripWithTabsLibModule,\r\n SlidersLibModule\r\n ],\r\n exports: [ConsumptionComponent,\r\n ContentStripWithTabsLibModule,\r\n SlidersLibModule,\r\n DataPointsModule,\r\n CalenderModule,\r\n CommonStripModule,\r\n AnnouncementsModule,\r\n TopLearnersModule,\r\n CbpPlanModule,\r\n ],\r\n})\r\nexport class ConsumptionModule { }\r\n","export const ROOT_WIDGET_CONFIG = {\r\n \r\n card: {\r\n _type: 'cardLib',\r\n cardResource: 'cardContentLib'\r\n },\r\n}\r\n","import { NsContent } from './widget-content.model';\r\n\r\nexport namespace NsCardContent {\r\n export interface ICard {\r\n content: NsContent.IContent;\r\n cardSubType: TCardSubType;\r\n context: { pageSection: string; position?: number };\r\n intranetMode?: 'greyOut' | 'hide';\r\n deletedMode?: 'greyOut' | 'hide';\r\n likes?: number;\r\n contentTags?: IContentTags;\r\n stateData: any;\r\n cardCustomeClass?: any;\r\n }\r\n\r\n export interface IContentTags {\r\n daysSpan?: number;\r\n excludeContentType?: NsContent.EContentTypes[];\r\n excludeMimeType?: string[];\r\n tag: string;\r\n criteriaField?: string;\r\n }\r\n\r\n export type TCardSubType =\r\n | 'standard'\r\n | 'minimal'\r\n | 'space-saving'\r\n | 'card-user-details'\r\n | 'basic-info'\r\n | 'basic-details'\r\n | 'card-description-back'\r\n | 'network-card'\r\n | 'user-card';\r\n\r\n export enum EContentStatus {\r\n LIVE = 'Live',\r\n EXPIRED = 'Expired',\r\n DELETED = 'Deleted',\r\n MARK_FOR_DELETION = 'MarkedForDeletion',\r\n }\r\n export enum ACBPConst {\r\n UPCOMING = 'upcoming',\r\n ALL = 'All',\r\n OVERDUE = 'overdue',\r\n SUCCESS = 'success',\r\n }\r\n\r\n export enum IGOTConst {\r\n COMPETENCIES = 'competencies_v5',\r\n RETIRED = 'Retired',\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { WidgetBaseComponent, NsWidgetResolver } from '@sunbird-cb/resolver-v2';\r\nimport { NsCardContent } from '../../_models/card-content.model';\r\nimport { UtilityService } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-cards',\r\n templateUrl: './cards.component.html',\r\n styleUrls: ['./cards.component.scss']\r\n})\r\nexport class CardsComponent extends WidgetBaseComponent\r\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Output() triggerTelemetry = new EventEmitter<any>()\r\n isIntranetAllowedSettings = false\r\n cbPlanMapData: any\r\n cbPlanInterval: any\r\n enrollInterval: any\r\n enrollmentMapData: any\r\n constructor(private utilitySvc: UtilityService,\r\n private contSvc: WidgetContentService,\r\n public router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.cbPlanInterval = setInterval(() => {\r\n this.getCbPlanData()\r\n }, 1000)\r\n \r\n this.enrollInterval = setInterval(() => {\r\n this.getEnrollmentData()\r\n // tslint:disable-next-line\r\n }, 1000)\r\n }\r\n\r\n get isLiveOrMarkForDeletion() {\r\n if (\r\n !this.widgetData.content.status ||\r\n this.widgetData.content.status === 'Live' ||\r\n this.widgetData.content.status === 'MarkedForDeletion'\r\n ) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n get showIntranetContent() {\r\n if (this.widgetData.content.isInIntranet && this.utilitySvc.isMobile) {\r\n return !this.isIntranetAllowedSettings\r\n }\r\n return false\r\n }\r\n async getRedirectUrlData(content: any){\r\n if(content.externalId) {\r\n this.router.navigate(\r\n [`app/toc/ext/${content.contentId}`])\r\n } else {\r\n let urlData = await this.contSvc.getResourseLink(content)\r\n this.router.navigate(\r\n [urlData.url],\r\n {\r\n queryParams: urlData.queryParams\r\n })\r\n }\r\n \r\n }\r\n getCbPlanData() {\r\n let cbpList: any={}\r\n if (localStorage.getItem('cbpData')) {\r\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\r\n if (cbpListArr && cbpListArr.length) {\r\n cbpListArr.forEach((data: any) => {\r\n cbpList[data.identifier] = data\r\n })\r\n }\r\n this.cbPlanMapData = cbpList\r\n // this.karmaPointLoading = false\r\n clearInterval(this.cbPlanInterval)\r\n }\r\n }\r\n\r\n getEnrollmentData() {\r\n if (localStorage.getItem('enrollmentMapData')) {\r\n this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}')\r\n clearInterval(this.enrollInterval)\r\n }\r\n }\r\n\r\n raiseCardClick(data: any) {\r\n this.triggerTelemetry.emit(data)\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\n\r\n@Component({\r\n selector: 'ws-cb-widget-card-resource',\r\n templateUrl: './card-resource.component.html',\r\n styleUrls: ['./card-resource.component.scss'],\r\n})\r\nexport class CardResourceComponent extends WidgetBaseComponent\r\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-portrait',\r\n templateUrl: './card-portrait.component.html',\r\n styleUrls: ['./card-portrait.component.scss']\r\n})\r\nexport class CardPortraitComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n}\r\n","import { Inject, Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipePublicURL',\r\n})\r\nexport class PipePublicURL implements PipeTransform {\r\n environment: any\r\n constructor(\r\n @Inject('environment') environment: any,){\r\n this.environment = environment\r\n }\r\n\r\n transform(value: string): any {\r\n const mainUrl = value && value.split('/content').pop() || ''\r\n const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\r\n return value ? finalURL : ''\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipePublicURL } from './pipe-public-URL.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipePublicURL],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipePublicURL],\r\n})\r\nexport class PipePublicURLModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'objectToArray'\r\n})\r\nexport class ObjectToArrayPipe implements PipeTransform {\r\n // transform(value: any, ...args: any[]): any[] {\r\n // console.log(\"function called\")\r\n // if (!value) {\r\n // return [];\r\n // }\r\n // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), \"Object.keys(value).map(key => ({ key, value: value[key] }))==----------\")\r\n // return Object.keys(value).map(key => ({ key, value: value[key] }));\r\n // }\r\n transform(...args: any[]): any[] { \r\n return args; \r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ObjectToArrayPipe } from './object-to-array.pipe'\r\n\r\n@NgModule({\r\n declarations: [ObjectToArrayPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ObjectToArrayPipe],\r\n})\r\nexport class ObjectToArrayPipeModule { }","import { Component, OnInit, Input } from '@angular/core'\r\nimport { NsContent } from '../../_models/widget-content.model'\r\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service'\r\n\r\n@Component({\r\n selector: 'sb-uic-display-content-type',\r\n templateUrl: './display-content-type-lib.component.html',\r\n styleUrls: ['./display-content-type-lib.component.scss'],\r\n})\r\nexport class DisplayContentTypeLibComponent implements OnInit {\r\n @Input() useTranslation: boolean = true\r\n @Input() displayContentType: NsContent.EDisplayContentTypes = NsContent.EDisplayContentTypes.DEFAULT\r\n displayContentTypeEnum = NsContent.EDisplayContentTypes\r\n constructor(private langtranslations: MultilingualTranslationsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '')\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DisplayContentTypeLibComponent } from './display-content-type-lib.component'\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms'\r\n\r\n@NgModule({\r\n declarations: [DisplayContentTypeLibComponent],\r\n imports: [CommonModule, ReactiveFormsModule, FormsModule],\r\n exports: [DisplayContentTypeLibComponent],\r\n})\r\nexport class DisplayContentTypeLibModule {}\r\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as moment from 'moment'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour' | 'hms2H' | 'hms2M'| 'day'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n case 'hms2H':\r\n /**to Print HH:mm:ss */\r\n const duration2 = moment.duration(data, 'seconds')\r\n const resultstring = moment.utc(duration2.asMilliseconds()).format('HH:mm:ss')\r\n return resultstring\r\n case 'hms2M': /**to Print mm:ss */\r\n const duration2H = moment.duration(data, 'seconds')\r\n const resultstring2H = moment.utc(duration2H.asMilliseconds()).format('mm:ss')\r\n\r\n return resultstring2H\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n case 'day':\r\n if (h > 24) {\r\n const duration3 = moment.duration(data, 'seconds')\r\n return `${duration3.days()} day(s)`\r\n }\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n hmsCalculation(h: number, m: number, s: number, dur: string, type: string) {\r\n let space = ''\r\n let duration = dur\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardUser } from '../../../_models/card-users.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-user',\r\n templateUrl: './card-user.component.html',\r\n styleUrls: ['./card-user.component.scss']\r\n})\r\nexport class CardUserComponent implements OnInit {\r\n @Input() widgetData!: NsCardUser.ICard;\r\n @Output() userData = new EventEmitter<any>()\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n }\r\n }\r\n\r\n getRedirectUrlData(userData: any){\r\n this.userData.emit(userData)\r\n }\r\n raiseTelemetry() {\r\n // if(this.forPreview){\r\n // return\r\n // }\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: `${this.widgetType}-${this.widgetSubType}`,\r\n id: `${_.camelCase(this.widgetData.content.userId)}-card`,\r\n },\r\n {\r\n id: this.widgetData.content.userId,\r\n // type: this.widgetData.user.primaryCategory,\r\n //context: this.widgetData.context,\r\n rollup: {},\r\n // ver: `${this.widgetData.user.version}${''}`,\r\n },\r\n {\r\n pageIdExt: `${_.camelCase('user')}-card`,\r\n module: _.camelCase('user'),\r\n })\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n \r\n@Component({\r\n selector: 'sb-uic-card-landscape',\r\n templateUrl: './card-landscape.component.html',\r\n styleUrls: ['./card-landscape.component.scss']\r\n})\r\nexport class CardLandscapeComponent implements OnInit {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Output() triggerTelemetry = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n defaultThumbnail: any\r\n acbpConstants = NsCardContent.ACBPConst\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n cbPlanInterval: any\r\n \r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n this.cbPlanInterval = setInterval(() => {\r\n this.getCbPlanData()\r\n }, 1000)\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n this.contentData.emit(contentData)\r\n }\r\n raiseTelemetry(content: any) {\r\n this.triggerTelemetry.emit(content)\r\n }\r\n\r\n\r\n getCbPlanData() {\r\n let cbpList: any={}\r\n if (localStorage.getItem('cbpData')) {\r\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\r\n if (cbpListArr && cbpListArr.length) {\r\n cbpListArr.forEach((data: any) => {\r\n cbpList[data.identifier] = data\r\n })\r\n }\r\n // this.cbPlanMapData = cbpList\r\n // this.karmaPointLoading = false\r\n clearInterval(this.cbPlanInterval)\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-wide',\r\n templateUrl: './card-wide.component.html',\r\n styleUrls: ['./card-wide.component.scss']\r\n})\r\nexport class CardWideComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n isCardFlipped:boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n \r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n getRedirectUrlData(contentData: any){\r\n this.contentData.emit(contentData)\r\n }\r\n raiseTelemetry() {\r\n // if(this.forPreview){\r\n // return\r\n // }\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: `${this.widgetType}-${this.widgetSubType}`,\r\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n },\r\n {\r\n id: this.widgetData.content.identifier,\r\n type: this.widgetData.content.primaryCategory,\r\n //context: this.widgetData.context,\r\n rollup: {},\r\n ver: `${this.widgetData.content.version}${''}`,\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n module: _.camelCase(this.widgetData.content.primaryCategory),\r\n })\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-mdo-channel',\r\n templateUrl: './card-mdo-channel.component.html',\r\n styleUrls: ['./card-mdo-channel.component.scss']\r\n})\r\nexport class CardMDOChannelComponent implements OnInit {\r\n @Input() widgetData!: NsContent.IContent;\r\n @Output() channelData = new EventEmitter<any>()\r\n @Output() emitTelemetry = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n public router: Router) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n raiseTelemetry(contentData: any) {\r\n this.emitTelemetry.emit(contentData)\r\n if (this.widgetData) {\r\n contentData['typeOfTelemetry'] = 'mdo-channel'\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n }\r\n channelClick(channeldata:any) {\r\n this.channelData.emit(channeldata)\r\n }\r\n\r\n redirectTo(content: any) {\r\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-wide-v2',\r\n templateUrl: './card-wide-v2.component.html',\r\n styleUrls: ['./card-wide-v2.component.scss']\r\n})\r\nexport class CardWideV2Component implements OnInit {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() cbPlanMapData: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Output() triggerTelemetry = new EventEmitter<any>()\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n this.contentData.emit(contentData)\r\n }\r\n raiseTelemetry(contentData: any) {\r\n this.triggerTelemetry.emit(contentData)\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { Router } from '@angular/router';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-karma-programs',\r\n templateUrl: './card-karma-programs.component.html',\r\n styleUrls: ['./card-karma-programs.component.scss']\r\n})\r\nexport class CardKarmaProgramsComponent implements OnInit {\r\n\r\n @Input() widgetData!: NsContent.IContent;\r\n @Input() randomColorApply: boolean = false\r\n @Output() userData = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n randomColors: any = [\r\n '#EF941D',\r\n '#F97440',\r\n '#35B5B0',\r\n '#9988FF',\r\n '#254092',\r\n '#926525',\r\n '#4F72DF'\r\n ]\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n private router: Router) {\r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n this.setRandomColor()\r\n }\r\n\r\n setRandomColor(){\r\n if(this.widgetData && this.widgetData.content) {\r\n if(this.randomColorApply){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\r\n }else {\r\n this.widgetData.content['bgColor'] = '#1a4ca1'\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n get getRandomColors(){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n return this.randomColors[randomIndex1]\r\n }\r\n\r\n redirectTo(data: any) {\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n data['typeOfTelemetry'] = 'karma-programs'\r\n }\r\n this.contSvc.changeTelemetryData(data)\r\n this.router.navigate(\r\n [`/app/learn/karma-programs/${data.title}/${data.playListKey}/${data.orgId}/micro-sites`],\r\n )\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-karma-programs-v2',\r\n templateUrl: './card-karma-programs-v2.component.html',\r\n styleUrls: ['./card-karma-programs-v2.component.scss']\r\n})\r\nexport class CardKarmaProgramsV2Component implements OnInit {\r\n\r\n @Input() widgetData!: NsContent.IContent;\r\n @Input() randomColorApply: boolean = false\r\n @Output() userData = new EventEmitter<any>()\r\n @Output() raiseTemeletry = new EventEmitter<any>()\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n randomColors: any = [\r\n '#EF941D',\r\n '#F97440',\r\n '#35B5B0',\r\n '#9988FF',\r\n '#254092',\r\n '#926525',\r\n '#4F72DF'\r\n ]\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private router : Router,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n this.setRandomColor()\r\n }\r\n\r\n setRandomColor(){\r\n if(this.widgetData && this.widgetData.content) {\r\n if(this.randomColorApply){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\r\n }else {\r\n this.widgetData.content['bgColor'] = '#1a4ca1'\r\n }\r\n }\r\n }\r\n\r\n redirectTo(content: any) {\r\n this.raiseTemeletry.emit(content)\r\n this.router.navigate(\r\n [`/app/learn/karma-programs/${content.title}/${content.playListKey}/${content.orgId}/micro-sites`],\r\n )\r\n }\r\n\r\n get getRandomColors(){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\r\n return this.randomColors[randomIndex1]\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-provider-card',\r\n templateUrl: './provider-card.component.html',\r\n styleUrls: ['./provider-card.component.scss']\r\n})\r\nexport class ProviderCardComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() randomColorApply: boolean = true\r\n @Input() isCardLoading: boolean = false\r\n\r\n colors = [\r\n '#EF941D', '#F97440', '#35B5B0', '#9988FF', '#816FEC',\r\n '#254092', '#926525', '#4F72DF'\r\n ];\r\n\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit() {\r\n this.setRandomColor()\r\n }\r\n\r\n setRandomColor(){\r\n if(this.widgetData && this.widgetData.content) {\r\n if(this.randomColorApply){\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.colors.length))\r\n this.widgetData.content['bgColor'] = this.colors[randomIndex1]\r\n }else {\r\n this.widgetData.content['bgColor'] = '#1a4ca1'\r\n }\r\n }\r\n }\r\n \r\n\r\n redirectTo(content: any) { \r\n this.router.navigate([`/app/learn/browse-by/provider/${content.name}/${content.orgId}/micro-sites`])\r\n }\r\n\r\n\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-portrait-ext',\r\n templateUrl: './card-portrait-ext.component.html',\r\n styleUrls: ['./card-portrait-ext.component.scss']\r\n})\r\nexport class CardPortraitExtComponent implements OnInit {\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n if (this.widgetData && this.widgetData.content) {\r\n this.widgetData.content.duration = this.widgetData.content.duration * 60\r\n }\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// import { WidgetUserService } from '../../../../_services/widget-user.service';\r\nimport { ConfigurationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../../../_services/widget-content.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-assessment',\r\n templateUrl: './card-assessment.component.html',\r\n styleUrls: ['./card-assessment.component.css']\r\n})\r\n\r\n// @Directive({\r\n// selector: '[callFunctionOnInit]'\r\n// })\r\nexport class CardAssessmentComponent implements OnInit {\r\n @Input() widgetData!: NsContent.IContent;\r\n @Input() enrollmentMapData: any\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n stripData: any = []\r\n enrollList: any = []\r\n activeResource: any = []\r\n defaultThumbnail: any\r\n defaultSLogo: any\r\n daysRemaining: number = 0;\r\n startDate: any\r\n endDate: any\r\n daysPending: boolean = false\r\n daysFinish: boolean = false\r\n private intervalId: any;\r\n days: number;\r\n hours: number;\r\n minutes: number;\r\n constructor(private configSvc: ConfigurationsService, private contSvc: WidgetContentService,) { }\r\n\r\n ngOnInit(): void {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n }\r\n }\r\n\r\n startCountdown(data: any): void {\r\n let startDate = data.startDate\r\n this.updateCountdown(startDate);\r\n // this.intervalId = setInterval(() => {\r\n // this.updateCountdown(startDate);\r\n // }, 1000);\r\n }\r\n\r\n // Method to update the countdown values\r\n updateCountdown(startDate: any): void {\r\n let now = new Date().getTime()\r\n let startingDate: any = new Date(startDate).getTime()\r\n // startingDate.setHours(startingDate.getHours() - 5);\r\n // startingDate.setMinutes(startingDate.getMinutes() - 30);\r\n // startingDate = startingDate.getTime()\r\n const distance = startingDate - now; \r\n if (distance > 0) {\r\n this.daysPending = true\r\n this.days = Math.floor(distance / (1000 * 60 * 60 * 24));\r\n this.hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n this.minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n } else {\r\n this.daysRemaining = 0;\r\n this.daysPending = false\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n getRedirectUrlData(contentData: any) {\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\n\r\nconst urls = {\r\n DOWNLOAD_CERTIFICATE: (id: string) => `certreg/v2/certs/download/${id}`,\r\n DOWNLOAD_CERTIFICATE_v2: (id: string) => `apis/protected/v8/cohorts/course/batch/cert/download/${id}`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class CertificateService {\r\n\r\n constructor(private http: HttpClient) { }\r\n downloadCertificate(id: string): Observable<any> {\r\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE(id))\r\n }\r\n\r\n downloadCertificate_v2(id: string): Observable<any> {\r\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE_v2(id))\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core'\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'\r\nimport { TranslateService } from '@ngx-translate/core'\r\nimport { EventService, MultilingualTranslationsService, WsEvents } from '@sunbird-cb/utils-v2'\r\nimport { jsPDF } from 'jspdf'\r\n\r\n@Component({\r\n selector: 'sb-uic-certificate-dialog',\r\n templateUrl: './certificate-dialog.component.html',\r\n styleUrls: ['./certificate-dialog.component.scss'],\r\n /* tslint:disable */\r\n host: { class: 'certificate-inner-dialog-panel' },\r\n /* tslint:enable */\r\n})\r\nexport class CertificateDialogComponent implements OnInit {\r\n url!: string\r\n navUrl = ''\r\n environment: any\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n public dialogRef: MatDialogRef<CertificateDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.environment = environment\r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.url = this.data.cet\r\n // tslint:disable-next-line:max-line-length\r\n this.navUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${this.environment.contentHost}/apis/public/v8/cert/download/${this.data.certId}`\r\n }\r\n\r\n downloadCert() {\r\n this.raiseIntreactTelemetry('svg')\r\n const a: any = document.createElement('a')\r\n a.href = this.data.cet\r\n a.download = 'Certificate'\r\n document.body.appendChild(a)\r\n a.style = 'display: none'\r\n a.click()\r\n a.remove()\r\n }\r\n\r\n downloadCertPng() {\r\n this.raiseIntreactTelemetry('png')\r\n const uriData = this.data.cet\r\n const img = new Image()\r\n img.src = uriData\r\n img.width = 1820\r\n img.height = 1000\r\n img.onload = () => {\r\n const canvas = document.createElement('canvas');\r\n [canvas.width, canvas.height] = [img.width, img.height]\r\n const ctx = canvas.getContext('2d')\r\n if (ctx) {\r\n // ctx.imageSmoothingEnabled = true\r\n ctx.drawImage(img, 0, 0, img.width, img.height)\r\n const a = document.createElement('a')\r\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\r\n a.href = canvas.toDataURL('image/png', quality)\r\n a.download = 'Certificate'\r\n a.append(canvas)\r\n a.click()\r\n a.remove()\r\n }\r\n }\r\n }\r\n async downloadCertPdf() {\r\n this.raiseIntreactTelemetry('pdf')\r\n const uriData = this.data.cet\r\n const img = new Image()\r\n img.src = uriData\r\n img.width = 1820\r\n img.height = 1000\r\n img.onload = () => {\r\n const canvas = document.createElement('canvas');\r\n [canvas.width, canvas.height] = [img.width, img.height]\r\n const ctx = canvas.getContext('2d')\r\n if (ctx) {\r\n ctx.drawImage(img, 0, 0, img.width, img.height)\r\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\r\n const dataImg = canvas.toDataURL('application/pdf', quality)\r\n const pdf = new jsPDF('landscape', 'px', 'a4')\r\n\r\n // add the image to the PDF\r\n pdf.addImage(dataImg, 10, 20, 600, 350)\r\n\r\n // download the PDF\r\n pdf.save('Certificate.pdf')\r\n }\r\n }\r\n }\r\n\r\n shareCert() {\r\n this.raiseShareIntreactTelemetry('share')\r\n return window.open(this.navUrl, '_blank')\r\n }\r\n\r\n raiseShareIntreactTelemetry(type?: string, action?: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: `${type}-${WsEvents.EnumInteractSubTypes.CERTIFICATE}`,\r\n subType: action && action,\r\n },\r\n {\r\n id: this.data.certId, // id of the certificate\r\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n }\r\n )\r\n }\r\n\r\n raiseIntreactTelemetry(action?: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: 'download-certificate',\r\n subType: action && action,\r\n },\r\n {\r\n id: this.data.certId, // id of the certificate\r\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n }\r\n )\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NsCardContent } from '../../../_models/card-content.model';\r\nimport { MatDialog, MatSnackBar } from '@angular/material'\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { ConfigurationsService, EventService, WsEvents } from '@sunbird-cb/utils-v2';\r\nimport * as _ from \"lodash\";\r\nimport { CertificateService } from '../../../_services/certificate.service';\r\nimport { CertificateDialogComponent } from '../../dialog-components/certificate-dialog/certificate-dialog.component';\r\n\r\n@Component({\r\n selector: 'sb-uic-card-progress-portrait-lib',\r\n templateUrl: './card-progress-portrait-lib.component.html',\r\n styleUrls: ['./card-progress-portrait-lib.component.scss']\r\n})\r\nexport class CardProgressPortraitLibComponent implements OnInit {\r\n\r\n @Input() widgetData!: NsCardContent.ICard;\r\n @Input() isLiveOrMarkForDeletion: any\r\n @Input() showIntranetContent: any\r\n @Input() isIntranetAllowedSettings: any\r\n @Input() isCardLoading: boolean = false\r\n @Output() contentData = new EventEmitter<any>()\r\n @Input() cbPlanMapData: any\r\n isCardFlipped:boolean = false\r\n acbpConstants = NsCardContent.ACBPConst\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n showFlip = false\r\n widgetType: any = 'df'\r\n widgetSubType: any ='sdf'\r\n downloadCertificateLoading: boolean = false\r\n\r\n constructor(\r\n private snackBar: MatSnackBar,\r\n private translate: TranslateService,\r\n private events: EventService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n private certificateService: CertificateService,\r\n private dialog: MatDialog,\r\n ) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n showSnackbar() {\r\n if (this.showIntranetContent) {\r\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\r\n } else if (!this.isLiveOrMarkForDeletion) {\r\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\r\n }\r\n }\r\n getRedirectUrlData(contentData: any){\r\n // for telemetry\r\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\r\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n // for redirection\r\n this.contentData.emit(contentData)\r\n }\r\n\r\n translateLabels(label: string, type: any, subtype?: any) {\r\n return this.langtranslations.translateLabelWithoutspace(label, type, subtype)\r\n }\r\n raiseTelemetry() {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: `${this.widgetType}-${this.widgetSubType}`,\r\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n },\r\n {\r\n id: this.widgetData.content.identifier,\r\n type: this.widgetData.content.primaryCategory,\r\n //context: this.widgetData.context,\r\n rollup: {},\r\n ver: `${this.widgetData.content.version}${''}`,\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\r\n module: _.camelCase(this.widgetData.content.primaryCategory),\r\n })\r\n }\r\n\r\n downloadCertificate(certificateData: any) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: 'view-certificate',\r\n subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n },\r\n {\r\n id: certificateData.issuedCertificates[0].identifier, // id of the certificate\r\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\r\n })\r\n if(certificateData.issuedCertificates.length > 0) {\r\n this.downloadCertificateLoading = true\r\n let certData: any = certificateData.issuedCertificates[0]\r\n this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((res: any)=>{\r\n this.downloadCertificateLoading = false\r\n const cet = res.result.printUri\r\n this.dialog.open(CertificateDialogComponent, {\r\n width: '1300px',\r\n data: { cet, certId: certData.identifier },\r\n })\r\n })\r\n } else {\r\n this.downloadCertificateLoading = false\r\n }\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Input, OnChanges } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'sb-uic-content-progress',\r\n templateUrl: './content-progress.component.html',\r\n styleUrls: ['./content-progress.component.scss'],\r\n /* tslint:disable */\r\n host: {\r\n // Sets the role for this component to \"progressbar\"\r\n role: 'progressbar',\r\n // Sets the minimum and maximum values for the progressbar role.\r\n 'aria-valuemin': '0',\r\n 'aria-valuemax': '100',\r\n 'title': 'progres',\r\n // Binding that updates the current value of the progressbar.\r\n '[attr.aria-valuenow]': 'progress',\r\n },\r\n /* tslint:enable */\r\n})\r\nexport class ContentProgressComponent implements OnChanges {\r\n @Input()\r\n contentId = ''\r\n\r\n @Input()\r\n progress = 0\r\n\r\n @Input()\r\n progressType = ''\r\n\r\n @Input()\r\n forPreview = false\r\n\r\n @Input()\r\n className = ''\r\n @Input()\r\n customClassName: any = 'accent-progress'\r\n\r\n rendom = Math.random()\r\n @HostBinding('id')\r\n public id = `progress_${Math.random()}`\r\n constructor(\r\n // private progressSvc: ContentProgressService\r\n ) {\r\n if (this.contentId) {\r\n this.id = this.contentId\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.contentId && !this.progress && !this.forPreview) {\r\n // this.progressSvc.getProgressFor(this.contentId).subscribe(data => {\r\n // this.progress = data\r\n // if (this.progress) {\r\n // this.progress = Math.round(this.progress * 10000) / 100\r\n // }\r\n // })\r\n }\r\n\r\n if (this.progress) {\r\n if (this.progressType === 'percentage') {\r\n this.progress = this.progress\r\n } else {\r\n this.progress = Math.round(this.progress * 10000) / 100\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ContentProgressComponent } from './content-progress.component'\r\nimport { MatProgressBarModule, MatTooltipModule } from '@angular/material'\r\n\r\n@NgModule({\r\n declarations: [ContentProgressComponent],\r\n imports: [\r\n CommonModule,\r\n MatProgressBarModule,\r\n MatTooltipModule,\r\n ],\r\n exports: [ContentProgressComponent],\r\n})\r\nexport class ContentProgressModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CertificateDialogComponent } from './certificate-dialog/certificate-dialog.component';\r\nimport { MatCardModule, MatDialogModule, MatIconModule, MatMenuModule } from '@angular/material';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CertificateDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatMenuModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n PipeSafeSanitizerModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports:[\r\n CertificateDialogComponent\r\n ],\r\n entryComponents: [CertificateDialogComponent],\r\n})\r\nexport class DialogComponentsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as _ from \"lodash\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'sb-uic-card-mdo-channel-v1',\r\n templateUrl: './card-mdo-channel-v1.component.html',\r\n styleUrls: ['./card-mdo-channel-v1.component.scss']\r\n})\r\nexport class CardMdoChannelV1Component implements OnInit {\r\n @Input() widgetData!: NsContent.IContent;\r\n @Output() channelData = new EventEmitter<any>()\r\n @Output() emitTelemetry = new EventEmitter<any>()\r\n @Input() isCardLoading: boolean = false\r\n defaultThumbnail: any\r\n sourceLogos: any\r\n defaultSLogo: any\r\n widgetType: any = ''\r\n widgetSubType: any =''\r\n\r\n constructor(\r\n private events: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n private configSvc: ConfigurationsService,\r\n private contSvc: WidgetContentService,\r\n public router: Router) { \r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\r\n this.sourceLogos = instanceConfig.sources\r\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\r\n } else {\r\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\r\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\r\n }\r\n }\r\n\r\n raiseTelemetry(contentData: any) {\r\n this.emitTelemetry.emit(contentData)\r\n if (this.widgetData) {\r\n contentData['typeOfTelemetry'] = 'mdo-channel'\r\n }\r\n this.contSvc.changeTelemetryData(contentData)\r\n }\r\n channelClick(channeldata:any) {\r\n this.channelData.emit(channeldata)\r\n }\r\n\r\n redirectTo(content: any) {\r\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'sb-uic-avatar-photo',\r\n templateUrl: './avatar-photo-lib.component.html',\r\n styleUrls: ['./avatar-photo-lib.component.scss'],\r\n})\r\nexport class AvatarPhotoLibComponent implements OnInit, OnChanges {\r\n @Input() datalen: any\r\n\r\n @Input()\r\n public photoUrl!: string\r\n\r\n @Input()\r\n public name!: string\r\n @Input() public size = ''\r\n @Input() public defaulfColor = ''\r\n @Input() randomColor = false\r\n @Input() initials?: string\r\n @Input() showBadge = false\r\n public showInitials = false\r\n public circleColor!: string\r\n random = Math.random().toString(36).slice(2)\r\n\r\n // public initials!: string\r\n\r\n private colors = [\r\n '#EB7181', // red\r\n '#306933', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n '#4E9E87',\r\n '#7E4C8D',\r\n ]\r\n\r\n private randomcolors = [\r\n '#EB7181', // red\r\n '#006400', // green\r\n '#000000', // black\r\n '#3670B2', // blue\r\n '#4E9E87',\r\n '#7E4C8D',\r\n ]\r\n\r\n ngOnInit() {\r\n if (!this.photoUrl) {\r\n this.showInitials = true\r\n if (!this.initials) {\r\n this.createInititals()\r\n }\r\n if (this.datalen === 1) {\r\n if(this.defaulfColor) {\r\n this.randomcolors = [\r\n this.defaulfColor\r\n ]\r\n } else {\r\n this.randomcolors = [\r\n '#006400', // green\r\n ]\r\n }\r\n }\r\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\r\n this.circleColor = this.colors[randomIndex]\r\n if (this.randomColor) {\r\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomcolors.length))\r\n this.circleColor = this.randomcolors[randomIndex1]\r\n }\r\n }\r\n\r\n }\r\n ngOnChanges(change: SimpleChanges) {\r\n if (change.name.currentValue !== change.name.previousValue && !change.name.firstChange) {\r\n this.createInititals()\r\n }\r\n }\r\n get userInitials() {\r\n return this.initials\r\n }\r\n private createInititals(): void {\r\n let initials = ''\r\n const array = `${this.name} `.toString().split(' ')\r\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\r\n initials += array[0].charAt(0)\r\n initials += array[1].charAt(0)\r\n } else {\r\n for (let i = 0; i < this.name.length; i += 1) {\r\n if (this.name.charAt(i) === ' ') {\r\n continue\r\n }\r\n\r\n if (this.name.charAt(i) === this.name.charAt(i)) {\r\n initials += this.name.charAt(i)\r\n\r\n if (initials.length === 2) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n this.initials = initials.toUpperCase()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { RouterModule } from '@angular/router'\r\nimport { MatButtonModule, MatIconModule, MatMenuModule, MatRippleModule } from '@angular/material'\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2'\r\nimport { AvatarPhotoLibComponent } from './avatar-photo-lib.component'\r\n\r\n@NgModule({\r\n declarations: [AvatarPhotoLibComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n SbUiResolverModule,\r\n ],\r\n exports: [AvatarPhotoLibComponent],\r\n entryComponents: [AvatarPhotoLibComponent],\r\n})\r\nexport class AvatarPhotoLibModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule, MatCardModule, MatIconModule, MatProgressSpinnerModule, MatTooltipModule } from '@angular/material';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CardResourceComponent } from './card-resource/card-resource.component';\r\nimport { CardsComponent } from './cards.component';\r\nimport { CardPortraitComponent } from './card-portrait/card-portrait.component';\r\nimport { PipePublicURLModule } from '../../_pipes/pipe-public-URL/pipe-public-URL.module';\r\nimport { ObjectToArrayPipeModule } from '../../_pipes/object-to-array/object-to-array.pipe.module';\r\nimport { DisplayContentTypeLibModule } from '../display-content-type-lib/display-content-type-lib.module';\r\nimport { DefaultThumbnailModule } from '../../_directives/default-thumbnail/default-thumbnail.module';\r\nimport { PipeDurationTransformModule } from '../../_pipes/pipe-duration-transform/pipe-duration-transform.module';\r\nimport { CardUserComponent } from './card-user/card-user.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { CardLandscapeComponent } from './card-landscape/card-landscape.component';\r\nimport { CardWideComponent } from './card-wide/card-wide.component';\r\nimport { CardMDOChannelComponent } from './card-mdo-channel/card-mdo-channel.component';\r\nimport { CardWideV2Component } from './card-wide-v2/card-wide-v2.component';\r\nimport { CardKarmaProgramsComponent } from './card-karma-programs/card-karma-programs.component';\r\nimport { CardKarmaProgramsV2Component } from './card-karma-programs-v2/card-karma-programs-v2.component';\r\nimport { ProviderCardComponent } from './provider-card/provider-card.component';\r\nimport { CardPortraitExtComponent } from './card-portrait-ext/card-portrait-ext.component';\r\nimport { CardAssessmentComponent } from './card-assessment/card-assessment/card-assessment.component';\r\nimport { CardProgressPortraitLibComponent } from './card-progress-portrait-lib/card-progress-portrait-lib.component';\r\n// import { ContentProgressComponent } from './content-progress/content-progress.component';\r\nimport { ContentProgressModule } from './../content-progress/content-progress.module';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DialogComponentsModule } from '../dialog-components/dialog-components.module';\r\nimport { CardMdoChannelV1Component } from './card-mdo-channel-v1/card-mdo-channel-v1.component';\r\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CardResourceComponent,\r\n CardsComponent,CardPortraitComponent,\r\n CardUserComponent,\r\n CardLandscapeComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n ProviderCardComponent,\r\n CardPortraitExtComponent,\r\n CardAssessmentComponent,\r\n CardProgressPortraitLibComponent,\r\n CardMdoChannelV1Component\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n PipePublicURLModule,\r\n ObjectToArrayPipeModule,\r\n DisplayContentTypeLibModule,\r\n DefaultThumbnailModule,\r\n PipeDurationTransformModule,\r\n SkeletonLoaderLibModule,\r\n MatProgressSpinnerModule,\r\n ContentProgressModule,\r\n DialogComponentsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n AvatarPhotoLibModule\r\n ],\r\n entryComponents:[CardsComponent],\r\n exports: [\r\n CardsComponent,\r\n CardResourceComponent,\r\n CardPortraitComponent, \r\n CardLandscapeComponent,\r\n CardUserComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n CardPortraitExtComponent,\r\n ],\r\n})\r\nexport class CardsModule { }\r\n","import { NsWidgetResolver } from '@sunbird-cb/resolver-v2'\r\nimport { ROOT_WIDGET_CONFIG } from './consumption.config'\r\n// Components\r\nimport { CardsComponent } from './_common/cards/cards.component'\r\nimport { CardsModule } from './_common/cards/cards.module'\r\n\r\n\r\nexport const WIDGET_REGISTERED_LIB_MODULES = [\r\n CardsModule\r\n]\r\n\r\nexport const WIDGET_REGISTRATION_LIB_CONFIG: NsWidgetResolver.IRegistrationConfig[] = [\r\n {\r\n widgetType: ROOT_WIDGET_CONFIG.card._type,\r\n widgetSubType: ROOT_WIDGET_CONFIG.card.cardResource,\r\n component: CardsComponent,\r\n }\r\n]\r\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\r\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\r\nimport { NsContentStripWithTabsAndPills } from './content-strip-with-tabs-pills.model';\r\n// import { HttpClient } from '@angular/common/http'\r\nimport { WidgetContentService } from '../../../_services/widget-content.service';\r\nimport { NsContent } from '../../../_models/widget-content.model';\r\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\r\nimport {\r\n TFetchStatus,\r\n LoggerService,\r\n EventService,\r\n ConfigurationsService,\r\n UtilityService,\r\n WsEvents,\r\n} from '@sunbird-cb/utils-v2';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { WidgetUserService } from '../../../_services/widget-user.service';\r\n// import { environment } from 'src/environments/environment'\r\n// tslint:disable-next-line\r\nimport * as _ from 'lodash'\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { NsCardContent } from '../../../_models/card-content-v2.model';\r\nimport { ITodayEvents } from '../../../_models/event';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\ninterface IStripUnitContentData {\r\n key: string;\r\n canHideStrip: boolean;\r\n mode?: string;\r\n showStrip: boolean;\r\n disableTranslate: boolean;\r\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\r\n stripTitle: string;\r\n stripTitleLink?: {\r\n link: {\r\n queryParams: string\r\n },\r\n icon: string,\r\n queryParams: string\r\n };\r\n sliderConfig?: {\r\n showNavs: boolean,\r\n showDots: boolean,\r\n maxWidgets?: number\r\n cerificateCardMargin?: boolean\r\n };\r\n stripConfig: any;\r\n tabs?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined;\r\n stripName?: string;\r\n stripLogo?: string;\r\n description?: string;\r\n stripInfo?: NsContentStripWithTabsAndPills.IStripInfo;\r\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\r\n showOnNoData: boolean;\r\n showOnLoader: boolean;\r\n showOnError: boolean;\r\n loaderWidgets?: any;\r\n stripBackground?: string;\r\n secondaryHeading?: any;\r\n viewMoreUrl: any;\r\n request?: any\r\n \r\n}\r\n\r\n\r\n@Component({\r\n selector: 'sb-uic-content-strip-with-tabs-pills',\r\n templateUrl: './content-strip-with-tabs-pills.component.html',\r\n styleUrls: ['./content-strip-with-tabs-pills.component.scss']\r\n})\r\nexport class ContentStripWithTabsPillsComponent extends WidgetBaseComponent\r\nimplements\r\nOnInit,\r\nOnDestroy,\r\nNsWidgetResolver.IWidgetData<NsContentStripWithTabsAndPills.IContentStripMultiple> {\r\n @Input() widgetData!: NsContentStripWithTabsAndPills.IContentStripMultiple;\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() viewAllResponse = new EventEmitter<any>()\r\n @Output() telemtryResponse = new EventEmitter<any>()\r\n @Input() providerId : any = ''\r\n @Input() emitViewAll : boolean = false\r\n @Input() channnelName: any = ''\r\n @HostBinding('id')\r\n public id = `ws-strip-miltiple_${Math.random()}`;\r\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\r\n stripsKeyOrder: string[] = [];\r\n showAccordionData = true;\r\n showParentLoader = false;\r\n showParentError = false;\r\n showParentNoData = false;\r\n errorDataCount = 0;\r\n noDataCount = 0;\r\n successDataCount = 0;\r\n contentAvailable = true;\r\n baseUrl = this.configSvc.sitePath || '';\r\n veifiedKarmayogi = false;\r\n environment!: any;\r\n changeEventSubscription: Subscription | null = null;\r\n defaultMaxWidgets = 12;\r\n enrollInterval: any;\r\n todaysEvents: any = [];\r\n enrollmentMapData: any\r\n\r\n constructor(\r\n // private contentStripSvc: ContentStripNewMultipleService,\r\n @Inject('environment') environment: any,\r\n private contentSvc: WidgetContentService,\r\n private loggerSvc: LoggerService,\r\n private eventSvc: EventService,\r\n private configSvc: ConfigurationsService,\r\n public utilitySvc: UtilityService,\r\n // private http: HttpClient,\r\n // private searchServSvc: SearchServService,\r\n public router: Router,\r\n private userSvc: WidgetUserService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService\r\n ) {\r\n super();\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en');\r\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\r\n lang = lang.replace(/\\\"/g, '');\r\n this.translate.use(lang);\r\n }\r\n this.environment = environment\r\n }\r\n\r\n ngOnInit() {\r\n // const url = window.location.href\r\n this.initData();\r\n this.contentSvc.telemetryData$.subscribe((data: any) => {\r\n this.telemtryResponse.emit(data)\r\n })\r\n\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.changeEventSubscription) {\r\n this.changeEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showAccordion(key: string) {\r\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\r\n return this.showAccordionData;\r\n }\r\n return true;\r\n }\r\n\r\n setHiddenForStrip(key: string) {\r\n this.stripsResultDataMap[key].showStrip = false;\r\n sessionStorage.setItem(`cstrip_${key}`, '1');\r\n }\r\n private getIfStripHidden(key: string): boolean {\r\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\r\n return Boolean(storageItem !== '1');\r\n }\r\n\r\n private initData() {\r\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\r\n if (this.widgetData.loader && this.widgetData.strips.length) {\r\n this.showParentLoader = true;\r\n }\r\n // Fetch the data\r\n for (const strip of this.widgetData.strips) {\r\n if (this.checkForEmptyWidget(strip)) {\r\n this.fetchStripFromRequestData(strip, false);\r\n } else {\r\n this.processStrip(strip, [], 'done', true, null);\r\n }\r\n }\r\n // Subscription for changes\r\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\r\n .map(strip => ({\r\n key: strip.key,\r\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\r\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\r\n }))\r\n .filter(({ key, type, from }) => key && type && from);\r\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\r\n this.changeEventSubscription = this.eventSvc.events$\r\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\r\n .subscribe(event => {\r\n keyAndEvent\r\n .filter(e => e.type === event.eventType && e.from === event.from)\r\n .map(e => e.key)\r\n .forEach(k => this.fetchStripFromKey(k, false));\r\n });\r\n }\r\n\r\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\r\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\r\n if (stripData) {\r\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\r\n }\r\n }\r\n\r\n isStripShowing(data: any) {\r\n let count = 0;\r\n \r\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\r\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\r\n data.widgets.forEach((key: any) => {\r\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n data.showStrip = true;\r\n } else {\r\n data.showStrip = false;\r\n }\r\n }\r\n // console.log('data.key', data, data.key, data.widgets);\r\n return data.showStrip;\r\n }\r\n\r\n get isMobile() {\r\n return this.utilitySvc.isMobile || false;\r\n }\r\n\r\n getdata(data: IStripUnitContentData) {\r\n if (data.stripInfo) {\r\n return data.stripInfo.widget;\r\n }\r\n return {};\r\n\r\n }\r\n checkCondition(wData: NsContentStripWithTabsAndPills.IContentStripMultiple, data: IStripUnitContentData) {\r\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\r\n return !wData.strips[0].stripConfig.hideShowAll;\r\n }\r\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\r\n }\r\n checkVisible(data: IStripUnitContentData) {\r\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\r\n }\r\n\r\n getContineuLearningLenth(data: IStripUnitContentData) {\r\n return data.widgets ? data.widgets.length : 0;\r\n }\r\n getLength(data: IStripUnitContentData) {\r\n if (!data.tabs || !data.tabs.length) {\r\n return data.widgets ? data.widgets.length : 0;\r\n } {\r\n // if tabs are there check if each tab has widgets and get the tab with max widgets\r\n let tabWithMaxWidgets: any = {}\r\n data.tabs.forEach((tab: any)=>{\r\n if(tab.pillsData && tab.pillsData.length){\r\n tabWithMaxWidgets = tab.pillsData.reduce(\r\n (prev: any, current: any) => {\r\n if (!prev.widgets && !current.widgets) {\r\n return current;\r\n }\r\n if (prev.widgets && current.widgets) {\r\n return (prev.widgets.length > current.widgets.length) ? prev : current;\r\n }\r\n if (current.widgets && !prev.widgets) {\r\n return current;\r\n }\r\n if (!current.widgets && prev.widgets) {\r\n return prev;\r\n }\r\n return current;\r\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\r\n // tslint:disable-next-line: align\r\n }, data.tabs[0]);\r\n\r\n }\r\n })\r\n // if tabs has atleast 1 widgets then strip will show or else not\r\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\r\n }\r\n }\r\n\r\n private getFiltersFromArray(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n private transformSearchV6FiltersV2(v6filters: any) {\r\n const filters: any = {};\r\n if (v6filters.constructor === Array) {\r\n v6filters.forEach(((f: any) => {\r\n Object.keys(f).forEach(key => {\r\n filters[key] = f[key];\r\n });\r\n }));\r\n return filters;\r\n }\r\n return v6filters;\r\n }\r\n\r\n checkForDateFilters(filters: any) {\r\n let userData: any;\r\n if (this.configSvc.userProfile) {\r\n userData = this.configSvc.userProfile;\r\n }\r\n\r\n if (filters && filters.hasOwnProperty('batches.endDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\r\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\r\n // tslint:disable-next-line\r\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\r\n } else if (filters.organisation &&\r\n filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n if(this.providerId) {\r\n filters.organisation = this.providerId;\r\n } else {\r\n filters.organisation = userData && userData.rootOrgId;\r\n\r\n if (filters && filters.hasOwnProperty('designation')) {\r\n filters.designation = userData.professionalDetails.length > 0 ?\r\n userData.professionalDetails[0].designation : '';\r\n }\r\n }\r\n \r\n }\r\n return filters;\r\n }\r\n\r\n private fetchStripFromRequestData(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n calculateParentStatus = true,\r\n ) {\r\n // setting initial values\r\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\r\n this.processStrip(strip, [], 'fetching', false, null);\r\n this.fetchFromSearchV6(strip, calculateParentStatus);\r\n this.fetchForYouData(strip, calculateParentStatus)\r\n this.fetchAllCbpPlans(strip, calculateParentStatus);\r\n \r\n // this.enrollInterval = setInterval(() => {\r\n // this.fetchAllCbpPlans(strip, calculateParentStatus)\r\n // }, 1000)\r\n }\r\n\r\n toggleInfo(data: IStripUnitContentData) {\r\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\r\n if (stripInfo) {\r\n if (stripInfo.mode !== 'below') {\r\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\r\n stripInfo.mode = 'below';\r\n }\r\n if (stripInfo.mode === 'below') {\r\n this.stripsResultDataMap[data.key].stripInfo = {\r\n ...stripInfo,\r\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\r\n };\r\n }\r\n }\r\n }\r\n\r\n private transformContentsToWidgets(\r\n contents: NsContent.IContent[],\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n ) {\r\n return (contents || []).map((content, idx) => (\r\n content ? {\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n ...(content.batch && { batch: content.batch }),\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'cardContent',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n\r\n private transformEventsToWidgets(\r\n contents: ITodayEvents[],\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n ) {\r\n this.eventSvc.setEventListData(contents);\r\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n content,\r\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n context: { pageSection: strip.key, position: idx },\r\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\r\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\r\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\r\n },\r\n } : {\r\n widgetType: 'card',\r\n widgetSubType: 'eventHubCard',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {},\r\n }\r\n ));\r\n }\r\n private transformSkeletonToWidgets(\r\n strip: any\r\n ) {\r\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\r\n widgetType: 'cardLib',\r\n widgetSubType: 'cardContentLib',\r\n widgetHostClass: 'mb-2',\r\n widgetData: {\r\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\r\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\r\n },\r\n }));\r\n }\r\n\r\n private async processStrip(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\r\n fetchStatus: TFetchStatus,\r\n calculateParentStatus = true,\r\n _viewMoreUrl: any,\r\n tabsResults?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined,\r\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\r\n ) {\r\n const stripData = {\r\n viewMoreUrl: strip.viewMoreUrl,\r\n key: strip.key,\r\n canHideStrip: Boolean(strip.canHideStrip),\r\n showStrip: this.getIfStripHidden(strip.key),\r\n noDataWidget: strip.noDataWidget,\r\n errorWidget: strip.errorWidget,\r\n stripInfo: strip.info,\r\n stripTitle: strip.title,\r\n stripTitleLink: strip.stripTitleLink,\r\n disableTranslate: strip.disableTranslate,\r\n sliderConfig: strip.sliderConfig,\r\n tabs: tabsResults ? tabsResults : strip.tabs,\r\n stripName: strip.name,\r\n mode: strip.mode,\r\n stripConfig: strip.stripConfig,\r\n stripBackground: strip.stripBackground,\r\n secondaryHeading: strip.secondaryHeading,\r\n loaderWidgets: strip.loaderWidgets || [],\r\n widgets:\r\n fetchStatus === 'done'\r\n ? [\r\n ...(strip.preWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ...results,\r\n ...(strip.postWidgets || []).map(w => ({\r\n ...w,\r\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\r\n })),\r\n ]\r\n : [],\r\n showOnNoData: Boolean(\r\n strip.noDataWidget &&\r\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\r\n fetchStatus === 'done',\r\n ),\r\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\r\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\r\n };\r\n // const stripData = this.stripsResultDataMap[strip.key]\r\n this.stripsResultDataMap = {\r\n ...this.stripsResultDataMap,\r\n [strip.key]: stripData,\r\n };\r\n if (!tabsResults) {\r\n if (\r\n calculateParentStatus &&\r\n (fetchStatus === 'done' || fetchStatus === 'error') &&\r\n stripData.widgets\r\n ) {\r\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\r\n }\r\n if (calculateParentStatus && !(results && results.length > 0)) {\r\n this.contentAvailable = false;\r\n } else if (results && results.length > 0) {\r\n this.contentAvailable = true;\r\n }\r\n } else {\r\n this.contentAvailable = true;\r\n }\r\n }\r\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\r\n if (fetchStatus === 'done' && !stripWidgetsCount) {\r\n this.noDataCount += 1;\r\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\r\n this.successDataCount += 1;\r\n } else if (fetchStatus === 'error') {\r\n this.errorDataCount += 1;\r\n }\r\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\r\n const totalCount = this.widgetData.strips.length;\r\n if (this.successDataCount > 0 && settledCount < totalCount) {\r\n return;\r\n }\r\n this.showParentLoader = settledCount !== totalCount;\r\n this.showParentNoData =\r\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\r\n this.showParentError = this.errorDataCount === totalCount;\r\n }\r\n checkForEmptyWidget(strip: NsContentStripWithTabsAndPills.IContentStripUnit): boolean {\r\n if (\r\n strip.request &&\r\n ((strip.request.api && Object.keys(strip.request.api).length) ||\r\n (strip.request.search && Object.keys(strip.request.search).length) ||\r\n (strip.request.searchRegionRecommendation &&\r\n Object.keys(strip.request.searchRegionRecommendation).length) ||\r\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\r\n (strip && strip.tabs.length)\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n getTabDataByfilter(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n // tslint:disable:no-console\r\n console.log('strip -- ', strip);\r\n // tslint:disable:no-console\r\n console.log('currentTab -- ', currentTab);\r\n // tslint:disable:no-console\r\n console.log('calculateParentStatus-- ', calculateParentStatus);\r\n // TODO: Write logic for individual filter if passed in config\r\n // add switch case based on config key passed\r\n }\r\n\r\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\r\n let returnValue = 0;\r\n return returnValue;\r\n }\r\n\r\n translateLabels(label: string, type: any) {\r\n return this.langtranslations.translateLabel(label, type, '');\r\n }\r\n\r\n identify(index: number, item: any) {\r\n if (index >= 0) { }\r\n return item;\r\n }\r\n tracker(index: number, item: any) {\r\n if (index >= 0) { }\r\n return _.get(item, 'widgetData.content.identifier')\r\n }\r\n\r\n raiseTelemetry(stripData: any){\r\n this.telemtryResponse.emit(stripData)\r\n }\r\n\r\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\r\n if(this.emitViewAll) {\r\n this.viewAllResponse.emit(stripData)\r\n } else {\r\n this.router.navigate([path], { queryParams: queryParamsData })\r\n }\r\n }\r\n\r\n // new code writting from here====new====\r\n\r\n fetchForYouData(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip && strip.type === 'forYou') {\r\n if (strip.tabs && strip.tabs.length) {\r\n const firstTab = strip.tabs[0];\r\n const pillData = firstTab.pillsData[0]\r\n if (pillData.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[0].pillsData;\r\n const currenPillsFromMap = (allPills && allPills.length && allPills[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\r\n this.getTabDataByNewReqTrending(strip, 0, 0, currenPillsFromMap, calculateParentStatus);\r\n if (this.stripsResultDataMap[strip.key] && currenPillsFromMap) {\r\n this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams,\r\n key:strip.key,\r\n tabSelected: firstTab.value,\r\n pillSelected: pillData.value,\r\n };\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n\r\n async fetchFromSearchV6(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\r\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\r\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\r\n // if (this.configSvc.activeLocale) {\r\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\r\n // } else {\r\n // strip.request.searchV6.locale = ['en']\r\n // }\r\n // }\r\n let originalFilters: any = [];\r\n // tslint:disable:no-console\r\n if (strip.request &&\r\n strip.request.searchV6 &&\r\n strip.request.searchV6.request &&\r\n strip.request.searchV6.request.filters) {\r\n originalFilters = strip.request.searchV6.request.filters;\r\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\r\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\r\n strip.request.searchV6.request.filters,\r\n );\r\n }\r\n if (strip.tabs && strip.tabs.length) {\r\n // TODO: Have to extract requestRequired to outer level of tabs config\r\n const firstTab = strip.tabs[0];\r\n if (firstTab.requestRequired) {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\r\n\r\n this.getTabDataByNewReqSearchV6(strip, 0, 0, currentTabFromMap, calculateParentStatus);\r\n }\r\n }\r\n\r\n } else {\r\n try {\r\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\r\n // console.log('calling after - response, ', response)\r\n if (response && response.results) {\r\n // console.log('calling after-- ')\r\n if (response.results.result.content) {\r\n \r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(response.results.result.content, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n \r\n \r\n } else if (response.results.result.Event) {\r\n this.processStrip(\r\n strip,\r\n this.transformEventsToWidgets(response.results.result.Event, strip),\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async getTabDataByNewReqTrending(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n tabIndex: number,\r\n pillIndex: number,\r\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\r\n let tabResults: any[] = [];\r\n if (response && response.results && response.results.response) {\r\n const content = response.results.response[currentTab.value] || [];\r\n const widgets = this.transformContentsToWidgets(content, strip);\r\n \r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\r\n this.resetSelectedPill(allPills)\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n if(allPills && allPills.length && allPills[pillIndex]){\r\n allPills[pillIndex] = {\r\n ...allPills[pillIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n selected: true\r\n };\r\n }\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\r\n this.resetSelectedPill(allPills)\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n if(allPills && allPills.length && allPills[pillIndex]){\r\n allPills[pillIndex] = {\r\n ...allPills[pillIndex],\r\n widgets:[],\r\n fetchTabStatus: 'done',\r\n selected: true\r\n };\r\n }\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets:[],\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n }\r\n\r\n async getTabDataByNewReqSearchV6(\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n tabIndex: number,\r\n pillIndex: number,\r\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\r\n calculateParentStatus: boolean\r\n ) {\r\n try {\r\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\r\n if (response && response.results) {\r\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\r\n let tabResults: any[] = [];\r\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\r\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\r\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\r\n this.resetSelectedPill(allPills)\r\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\r\n if(allPills && allPills.length && allPills[pillIndex]){\r\n allPills[pillIndex] = {\r\n ...allPills[pillIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n selected: true\r\n };\r\n }\r\n allTabs[tabIndex] = {\r\n ...allTabs[tabIndex],\r\n widgets,\r\n fetchTabStatus: 'done',\r\n };\r\n tabResults = allTabs;\r\n }\r\n }\r\n this.processStrip(\r\n strip,\r\n widgets,\r\n 'done',\r\n calculateParentStatus,\r\n response.viewMoreUrl,\r\n tabResults // tabResults as widgets\r\n );\r\n } else {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n async trendingSearchRequest(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.trendingSearch) {\r\n // check for the request if it has dynamic values]\r\n if (request.trendingSearch.request.filters.organisation &&\r\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\r\n ) {\r\n let userRootOrgId;\r\n if (this.configSvc.userProfile) {\r\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\r\n }\r\n request.trendingSearch.request.filters.organisation = userRootOrgId;\r\n }\r\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result &&\r\n strip.request &&\r\n results.result[strip.request.trendingSearch.responseKey] &&\r\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\r\n strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.trendingSearch &&\r\n request.trendingSearch.request &&\r\n request.trendingSearch.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n\r\n let proccesedResult: any = []\r\n if (results && results.response && results.response.certifications) {\r\n results.response.certifications.map((result: any) => {\r\n if (result.source === this.channnelName) {\r\n proccesedResult.push(result)\r\n }\r\n })\r\n results = {response: {certifications: proccesedResult}}\r\n }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n if (error.error && error.error.status === 400) {\r\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\r\n }\r\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\r\n reject(error);\r\n },);\r\n }\r\n });\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent, pillIndex: any, stripMap: IStripUnitContentData, stripKey: string) {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;\r\n stripMap.showOnLoader = true;\r\n }\r\n const data: WsEvents.ITelemetryTabData = {\r\n label: `${tabEvent.tab.textLabel}`,\r\n index: tabEvent.index,\r\n };\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.HOME,\r\n }\r\n );\r\n\r\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\r\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];\r\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\r\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\r\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\r\n tabSelected: currentTabFromMap.value,\r\n pillSelected: currentPillFromMap.value,\r\n };\r\n }\r\n\r\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\r\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\r\n // call API to get tab data and process\r\n // this.processStrip(currentStrip, [], 'fetching', true, null)\r\n if (currentPillFromMap.request.searchV6) {\r\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\r\n } else if (currentPillFromMap.request.trendingSearch) {\r\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\r\n }\r\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n // stripMap.tabs[tabEvent.index].tabLoading = false;\r\n // }\r\n\r\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\r\n } else {\r\n // this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\r\n // setTimeout(() => {\r\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n // stripMap.tabs[tabEvent.index].tabLoading = false;\r\n // stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\r\n // stripMap.showOnLoader = false;\r\n // }\r\n // }, 200);\r\n }\r\n }\r\n }\r\n\r\n pillClicked(event: any, stripMap: IStripUnitContentData, stripKey: any, pillIndex: any, tabIndex: any) {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;\r\n stripMap.showOnLoader = true;\r\n }\r\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex];\r\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];\r\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\r\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\r\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\r\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\r\n tabSelected: currentTabFromMap.value,\r\n pillSelected: currentPillFromMap.value,\r\n };\r\n }\r\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\r\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\r\n // call API to get tab data and process\r\n // this.processStrip(currentStrip, [], 'fetching', true, null)\r\n if (currentPillFromMap.request.searchV6) {\r\n this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\r\n } else if (currentPillFromMap.request.trendingSearch) {\r\n this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\r\n }\r\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\r\n // stripMap.tabs[tabEvent.index].tabLoading = false;\r\n // }\r\n\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\r\n } else {\r\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\r\n stripMap.showOnLoader = true;\r\n }\r\n setTimeout(() => {\r\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\r\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\r\n stripMap.showOnLoader = false;\r\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\r\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\r\n }\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n async searchV6Request(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\r\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\r\n calculateParentStatus: boolean\r\n ): Promise<any> {\r\n const originalFilters: any = [];\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request.searchV6) {\r\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\r\n const showViewMore = Boolean(\r\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\r\n );\r\n const viewMoreUrl = showViewMore\r\n ? {\r\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\r\n queryParams: {\r\n tab: 'Learn',\r\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\r\n f:\r\n request &&\r\n request.searchV6 &&\r\n request.searchV6.request &&\r\n request.searchV6.request.filters\r\n ? JSON.stringify(\r\n this.transformSearchV6FiltersV2(\r\n originalFilters,\r\n )\r\n )\r\n : {},\r\n },\r\n }\r\n : null;\r\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\r\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\r\n // }\r\n resolve({ results, viewMoreUrl });\r\n }, (error: any) => {\r\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n\r\n getSelectedPillIndex(tabdata: any, tabIndex: any) {\r\n if(tabdata.pillsData && tabdata.pillsData.length) {\r\n let index = tabdata.pillsData.findIndex((pill: any) => {\r\n return pill.selected\r\n });\r\n return index\r\n }\r\n return 0\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // cbp plans\r\n\r\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\r\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\r\n\r\n let courses: NsContent.IContent[];\r\n let tabResults: any[] = [];\r\n const response = await this.userSvc.fetchCbpPlanList().toPromise();\r\n if (response) {\r\n courses = response;\r\n if (strip.tabs && strip.tabs.length) {\r\n tabResults = this.splitCbpTabsData(courses, strip);\r\n let countOfWidget = true\r\n if(strip && strip.tabs && strip.tabs.length) {\r\n strip.tabs.forEach((tab:any)=> {\r\n if(tab.pillsData && tab.pillsData.length) {\r\n tab.pillsData.forEach((pill: any) => {\r\n if(pill && pill.widgets && pill.widgets.length){\r\n if(countOfWidget){\r\n pill.selected = true\r\n countOfWidget= false\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n await this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n '',\r\n tabResults\r\n );\r\n } else {\r\n this.processStrip(\r\n strip,\r\n this.transformContentsToWidgets(courses, strip),\r\n 'done',\r\n calculateParentStatus,\r\n 'viewMoreUrl',\r\n );\r\n }\r\n }\r\n clearInterval(this.enrollInterval);\r\n }\r\n }\r\n\r\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\r\n let tabResults: any[] = [];\r\n const splitData = this.getTabsList(\r\n contentNew,\r\n strip,\r\n );\r\n if (strip.tabs && strip.tabs.length) {\r\n for (let i = 0; i < strip.tabs.length; i += 1) {\r\n if( strip.tabs[i].value === \"myIgotPlans\") {\r\n let checkWidgetAndActivePill = true\r\n if (strip.tabs[i].pillsData && strip.tabs[i].pillsData.length) {\r\n for (let j = 0; j < strip.tabs[i].pillsData.length; j += 1) {\r\n // if(j === 0 ){\r\n // if(strip.tabs[i].pillsData[j].widgets && strip.tabs[i].pillsData[j].widgets.length ) {\r\n // strip.tabs[i].pillsData[j].selected = true\r\n // checkWidgetAndActivePill = false\r\n // }\r\n // strip.tabs[i].pillsData[j].selected = true\r\n // }\r\n if (strip.tabs[i].pillsData[j]) {\r\n tabResults.push(\r\n {\r\n ...strip.tabs[i].pillsData[j],\r\n fetchTabStatus: 'done',\r\n ...(splitData.find(itmInner => {\r\n if (strip.tabs[i].pillsData&& strip.tabs[i].pillsData[j] && itmInner.value === strip.tabs[i].pillsData[j].value) {\r\n return itmInner;\r\n }\r\n return undefined;\r\n })),\r\n }\r\n );\r\n }\r\n }\r\n strip.tabs[i].pillsData = tabResults\r\n }\r\n }\r\n }\r\n }\r\n \r\n return strip.tabs;\r\n }\r\n\r\n getTabsList(array: NsContent.IContent[],\r\n strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\r\n let all: any[] = [];\r\n let upcoming: any[] = [];\r\n let overdue: any[] = [];\r\n array.forEach((e: any) => {\r\n all.push(e);\r\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n overdue.push(e);\r\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\r\n upcoming.push(e);\r\n }\r\n });\r\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\r\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\r\n\r\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\r\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\r\n\r\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\r\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n }\r\n });\r\n\r\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\r\n\r\n overdue = overdue.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n\r\n overdue = overdue.sort((a: any, b: any): any => {\r\n const firstDate: any = new Date(a.endDate);\r\n const secondDate: any = new Date(b.endDate);\r\n return firstDate > secondDate ? -1 : 1;\r\n });\r\n\r\n upcoming = upcoming.filter((data: any): any => {\r\n return data.contentStatus < 2;\r\n });\r\n \r\n return [\r\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\r\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\r\n { value: 'completed', widgets: this.transformContentsToWidgets(allCompleted, strip) },\r\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\r\n }\r\n resetSelectedPill(pillData: any){\r\n if(pillData && pillData.length){\r\n pillData.forEach((pill: any) => {\r\n pill['selected'] = false\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HorizontalScrollerV2Module } from '../../horizontal-scroller-v2/horizontal-scroller-v2.module';\r\n\r\nimport {\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule} from '@angular/material';\r\nimport { ContentStripWithTabsPillsComponent } from './content-strip-with-tabs-pills.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\r\n\r\n// tslint:disable-next-line:function-name\r\nexport function HttpLoaderFactory1(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [ContentStripWithTabsPillsComponent],\r\n imports: [\r\n SbUiResolverModule,\r\n CommonModule,\r\n RouterModule,\r\n HorizontalScrollerV2Module,\r\n MatProgressSpinnerModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatRadioModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatButtonToggleModule,\r\n MatTabsModule,\r\n MatAutocompleteModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory1,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n entryComponents: [ContentStripWithTabsPillsComponent],\r\n exports: [ContentStripWithTabsPillsComponent],\r\n})\r\nexport class ContentStripWithTabsPillsModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\nconst API_POINTS = {\r\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\r\n CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class CompetencyPassbookService {\r\n // tslint: disable-next-line: whitespace\r\n constructor(private http: HttpClient) { }\r\n getCompetencyList(payload: any): Observable<any> {\r\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\r\n }\r\n\r\n fetchCertificate(certId: string): Observable<any> {\r\n return this.http.get(API_POINTS.CERTIFICATE_URL + certId)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { CompetencyPassbookService } from './competency-passbook.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sb-uic-competency-passbook',\r\n templateUrl: './competency-passbook.component.html',\r\n styleUrls: ['./competency-passbook.component.scss']\r\n})\r\nexport class CompetencyPassbookComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() providerId: any\r\n @Input() cardDisplayCount: any = 3\r\n @Input() dynamicClass: any\r\n @Input() dynamicColor: any\r\n @Input() dynamicAlignPills: any = 'center'\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() temeletryResponse = new EventEmitter<any>()\r\n loadCometency: boolean = false\r\n loadCompetencyArea: boolean = false\r\n originalCompetencyArray: any\r\n competencyArea: any []\r\n selectedValue: any;\r\n competencyVersion:string = ''\r\n competencyTheme: any = []\r\n allcompetencyTheme: any ={}\r\n competencyStrength: any = 0\r\n competencyThemeLength: any = 6\r\n showAllTheme : any = [{name:'Show all', showAll: false}]\r\n\r\n // subTheme = ['Behavioural']\r\n // currentFilter = 'Behavioural'\r\n // currentCompetencies: any = []\r\n // competencyData: any\r\n constructor(public configSvc: ConfigurationsService,\r\n public contentSvc:WidgetContentService,\r\n public competencySvc: CompetencyPassbookService,\r\n public router : Router\r\n ) { \r\n \r\n }\r\n\r\n \r\n ngOnInit() {\r\n this.getAllCompetencies()\r\n // this.competencyData = this.objectData\r\n // this.filter(this.currentFilter)\r\n }\r\n // filter(filterValue: string) {\r\n // this.currentFilter = filterValue\r\n // this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)\r\n // }\r\n showMore() {\r\n this.objectData.viewMore = !this.objectData.viewMore\r\n }\r\n\r\n // to get competency area from facets\r\n async getCompetencyArea(){let addfilter: any = {}\r\n if(this.providerId) {\r\n addfilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ],\r\n }\r\n }\r\n this.loadCompetencyArea = true\r\n let request = {\r\n \"request\": {\r\n \"query\": \"\",\r\n \"filters\": {\r\n \"contentType\":\"Course\",\r\n ...addfilter,\r\n \"status\": [\r\n \"Live\"\r\n ]\r\n },\r\n \"sort_by\": {\r\n \"lastUpdatedOn\": \"desc\"\r\n },\r\n \"facets\": [\r\n \"competencies_v5.competencyArea\"\r\n ],\r\n \"limit\": 0,\r\n \"offset\": 0,\r\n \"fields\": [\r\n ]\r\n }\r\n }\r\n \r\n try {\r\n const response = await this.callCompetencySearch(request);\r\n if (response && response.results) {\r\n if(response.results.result.facets){\r\n this.competencyArea = response.results.result.facets[0].values\r\n this.competencyStrength = this.competencyArea.reduce((partialSum: any, data: any) => partialSum + data.count, 0) \r\n this.selectedValue = this.competencyArea[0].name.toLowerCase()\r\n let addFilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ]\r\n }\r\n this.getcompetencyTheme(this.competencyArea[0].name, addFilter)\r\n this.loadCompetencyArea = false\r\n }\r\n }\r\n } catch (error) {\r\n this.loadCompetencyArea = false\r\n this.emptyResponse.emit(true)\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n async callCompetencySearch(request){\r\n return new Promise<any>((resolve, reject) => {\r\n if (request && request) {\r\n this.contentSvc.searchV6(request).subscribe(results => {\r\n resolve({ results });\r\n },(error: any) => {\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n // competency theam change\r\n competencyChange(e){\r\n let addfilter: any = {}\r\n if(this.providerId) {\r\n addfilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ],\r\n }\r\n }\r\n\r\n this.temeletryResponse.emit(e.name)\r\n \r\n this.getcompetencyTheme(e.name, addfilter)\r\n this.selectedValue = e.name\r\n }\r\n getAllCompetencies(){\r\n this.loadCometency = true\r\n let request = {\"search\":{\"type\":\"Competency Area\"},\"filter\":{\"isDetail\":true}}\r\n this.competencySvc.getCompetencyList(request).subscribe((response: any) => {\r\n this.allcompetencyTheme = {}\r\n if(response && response.result && response.result.competency) {\r\n this.originalCompetencyArray = response.result.competency\r\n\r\n this.getCompetencyArea()\r\n response.result.competency.forEach(element => {\r\n element.children.forEach((childEle) => {\r\n let name = childEle.name.toLowerCase()\r\n this.allcompetencyTheme[name] = childEle\r\n this.allcompetencyTheme[name]['viewMore'] = false\r\n });\r\n });\r\n }\r\n this.loadCometency = false\r\n })\r\n }\r\n\r\n async getcompetencyTheme(value: any,addFilter?: any) {\r\n let request = {\r\n \"request\": {\r\n \"query\": \"\",\r\n \"filters\": {\r\n \"contentType\":\"Course\",\r\n ...addFilter,\r\n \"competencies_v5.competencyArea\" : value,\r\n \"status\": [\r\n \"Live\"\r\n ]\r\n },\r\n \"sort_by\": {\r\n \"lastUpdatedOn\": \"desc\"\r\n },\r\n \"facets\": [\r\n \"competencies_v5.competencyTheme\"\r\n ],\r\n \"limit\": 0,\r\n \"offset\": 0,\r\n \"fields\": [\r\n ]\r\n }\r\n }\r\n \r\n try {\r\n this.loadCometency = true\r\n const response = await this.callCompetencySearch(request);\r\n if (response && response.results) {\r\n if(response.results.result.facets){\r\n let competencyThemeData : any = response.results.result.facets[0].values \r\n this.originalCompetencyArray.forEach((element: any) => {\r\n if(element.name.toLowerCase() === value) {\r\n this.competencyTheme = competencyThemeData.filter((ele1: any) => {\r\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\r\n })\r\n this.showAllTheme = [{name:'Show all', showAll: false}]\r\n this.competencyThemeLength = 6\r\n }\r\n });\r\n this.resetViewMore()\r\n }\r\n this.loadCometency = false\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n }\r\n }\r\n\r\n resetViewMore(){\r\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\r\n this.allcompetencyTheme[comp]['viewMore'] = false\r\n })\r\n }\r\n viewMoreChildren(data: any) {\r\n data.viewMore = !data.viewMore\r\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\r\n }\r\n displayAllTheme(event: any) {\r\n this.showAllTheme[0]['showAll'] = !event.showAll \r\n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\r\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\r\n this.temeletryResponse.emit(event.name)\r\n }\r\n\r\n navigateToCompetency(compData: any){\r\n this.router.navigateByUrl(`app/learn/browse-by/competency/${compData.name}`)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-pills',\r\n templateUrl: './pills.component.html',\r\n styleUrls: ['./pills.component.scss']\r\n})\r\nexport class PillsComponent implements OnInit {\r\n\r\n @Input() pillsData: any\r\n @Input() selectedValue: any\r\n @Input() isLoading: boolean = false\r\n @Output() pillClick = new EventEmitter<any>()\r\n @Input() dynamicClass: any = ''\r\n @Input() dynamicColor: any = ''\r\n @Input() requiredTitlecase: boolean = true\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n selectedPill(pillData: any) {\r\n this.pillClick.emit(pillData)\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule } from '@angular/material';\r\nimport { PillsComponent } from './pills.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [PillsComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [PillsComponent]\r\n})\r\nexport class PillsModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CompetencyPassbookComponent } from './competency-passbook.component';\r\nimport { MatIconModule } from '@angular/material';\r\nimport { PillsModule } from './../pills/pills.module';\r\nimport { CompetencyPassbookService } from './competency-passbook.service';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CompetencyPassbookComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n PillsModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [CompetencyPassbookComponent],\r\n providers:[CompetencyPassbookService]\r\n})\r\nexport class CompetencyPassbookModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\nconst API_POINTS = {\r\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\r\n competency_URL: `apis/proxies/v8/v1/search/competenciesByOrg/`,\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class CompetencyPassbookMdoService {\r\n // tslint: disable-next-line: whitespace\r\n constructor(private http: HttpClient) { }\r\n getCompetencyList(payload: any): Observable<any> {\r\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\r\n }\r\n\r\n mdoCompetency(providerId: string): Observable<any> {\r\n return this.http.get(API_POINTS.competency_URL + providerId)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\r\nimport { WidgetContentService } from '../../_services/widget-content.service';\r\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'sb-uic-competency-passbook-mdo',\r\n templateUrl: './competency-passbook-mdo.component.html',\r\n styleUrls: ['./competency-passbook-mdo.component.scss']\r\n})\r\nexport class CompetencyPassbookMdoComponent implements OnInit {\r\n\r\n @Input() objectData: any\r\n @Input() providerId: any\r\n @Input() cardDisplayCount: any = 3\r\n @Input() dynamicClass: any\r\n @Input() dynamicColor: any\r\n @Input() dynamicAlignPills: any = 'center'\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n @Output() temeletryResponse = new EventEmitter<any>()\r\n loadCometency: boolean = false\r\n loadCompetencyArea: boolean = false\r\n originalCompetencyArray: any\r\n competencyArea: any []\r\n selectedValue: any;\r\n competencyVersion:string = ''\r\n competencyThemeData: any\r\n competencyTheme: any = []\r\n allcompetencyTheme: any ={}\r\n competencyStrength: any = 0\r\n competencyThemeLength: any = 6\r\n showAllTheme : any = [{name:'Show all', showAll: false}]\r\n\r\n // subTheme = ['Behavioural']\r\n // currentFilter = 'Behavioural'\r\n // currentCompetencies: any = []\r\n // competencyData: any\r\n constructor(public configSvc: ConfigurationsService,\r\n public contentSvc:WidgetContentService,\r\n public competencySvc: CompetencyPassbookMdoService,\r\n public router : Router\r\n ) { \r\n \r\n }\r\n\r\n \r\n ngOnInit() {\r\n this.getAllCompetencies()\r\n }\r\n\r\n\r\n getAllCompetencies(){\r\n this.loadCometency = true\r\n let request = {\"search\":{\"type\":\"Competency Area\"},\"filter\":{\"isDetail\":true}}\r\n this.competencySvc.getCompetencyList(request).subscribe((response: any) => {\r\n this.allcompetencyTheme = {}\r\n if(response && response.result && response.result.competency) {\r\n this.originalCompetencyArray = response.result.competency\r\n this.getMdoCompetencies()\r\n // this.getCompetencyArea()\r\n response.result.competency.forEach(element => {\r\n element.children.forEach((childEle) => {\r\n let name = childEle.name.toLowerCase()\r\n this.allcompetencyTheme[name] = childEle\r\n this.allcompetencyTheme[name]['viewMore'] = false\r\n });\r\n });\r\n }\r\n this.loadCometency = false\r\n })\r\n }\r\n \r\n\r\n\r\n async getMdoCompetencies(){\r\n try {\r\n this.loadCometency = true\r\n const response = await this.getMdoCompetency();\r\n if (response && response.results) {\r\n if(response.results.result.facets && response.results.result.facets.length){\r\n let facetData = response.results.result.facets\r\n facetData.forEach((facet: any) => {\r\n if(facet.name === 'competencies_v5.competencyArea') {\r\n this.competencyArea = facet.values\r\n this.selectedValue = facet.values[0].name\r\n } else if(facet.name === 'competencies_v5.competencyTheme') {\r\n this.competencyThemeData = facet.values\r\n this.getCompetencyTheme()\r\n }\r\n });\r\n\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n this.loadCometency = false\r\n }\r\n } catch (error) {\r\n // Handle errors\r\n // console.error('Error:', error);\r\n this.emptyResponse.emit(true)\r\n }\r\n }\r\n\r\n getCompetencyTheme(){\r\n this.originalCompetencyArray.forEach((element: any) => {\r\n if(element.name.toLowerCase() === this.selectedValue) {\r\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\r\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\r\n })\r\n this.showAllTheme = [{name:'Show all', showAll: false}]\r\n this.competencyThemeLength = 6\r\n } else if('Behavioral'.toLowerCase() === this.selectedValue) {\r\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\r\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\r\n })\r\n this.showAllTheme = [{name:'Show all', showAll: false}]\r\n this.competencyThemeLength = 6\r\n }\r\n });\r\n this.resetViewMore()\r\n }\r\n\r\n\r\n async getMdoCompetency(){\r\n return new Promise<any>((resolve, reject) => {\r\n if (this.providerId) {\r\n this.competencySvc.mdoCompetency(this.providerId).subscribe(results => {\r\n resolve({ results });\r\n },(error: any) => {\r\n reject(error);\r\n },\r\n );\r\n }\r\n });\r\n }\r\n\r\n // competency theam change\r\n competencyChange(e){\r\n let addfilter: any = {}\r\n if(this.providerId) {\r\n addfilter = {\r\n \"createdFor\": [\r\n this.providerId\r\n ],\r\n }\r\n }\r\n\r\n this.temeletryResponse.emit(e.name)\r\n \r\n this.selectedValue = e.name\r\n this.getCompetencyTheme()\r\n }\r\n\r\n\r\n\r\n resetViewMore(){\r\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\r\n this.allcompetencyTheme[comp]['viewMore'] = false\r\n })\r\n }\r\n viewMoreChildren(data: any) {\r\n data.viewMore = !data.viewMore\r\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\r\n }\r\n displayAllTheme(event: any) {\r\n this.showAllTheme[0]['showAll'] = !event.showAll \r\n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\r\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\r\n this.temeletryResponse.emit(event.name)\r\n }\r\n\r\n navigateToCompetency(compData: any){\r\n this.router.navigateByUrl(`app/learn/browse-by/competency/${compData.name}`)\r\n }\r\n\r\n showMore() {\r\n this.objectData.viewMore = !this.objectData.viewMore\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CompetencyPassbookMdoComponent } from './competency-passbook-mdo.component';\r\nimport { MatIconModule } from '@angular/material';\r\nimport { PillsModule } from './../pills/pills.module';\r\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CompetencyPassbookMdoComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n PillsModule,\r\n SkeletonLoaderLibModule\r\n ],\r\n exports: [CompetencyPassbookMdoComponent],\r\n providers:[CompetencyPassbookMdoService]\r\n})\r\nexport class CompetencyPassbookMdoModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { NsAppRating } from '../_models/rating.model'\r\n\r\nconst PROXY_SLAG_V8 = '/apis/proxies/v8'\r\nconst API_END_POINTS = {\r\n GET_RATING: (contentId: string, contentType: string, userId: string) =>\r\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`,\r\n ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,\r\n GET_RATING_SUMMARY: (contentId: string, contentType: string) =>\r\n `${PROXY_SLAG_V8}/ratings/v1/summary/${contentId}/${contentType}`,\r\n GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,\r\n GET_AUTHOR_REPLY: (contentId: string, userID: string) =>\r\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`,\r\n POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class RatingService {\r\n\r\n constructor(public http: HttpClient) { }\r\n\r\n getRating(contentId: string, contentType: string, userId: string): Observable<any> {\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\r\n if (!forPreview) {\r\n return this.http.get<any>(\r\n API_END_POINTS.GET_RATING(contentId, contentType, userId)\r\n )\r\n }\r\n return of({})\r\n }\r\n\r\n addOrUpdateRating(req: NsAppRating.IRating): Observable<any> {\r\n return this.http.post<any>(\r\n API_END_POINTS.ADD_OR_UPDATE, req\r\n )\r\n }\r\n\r\n getRatingSummary(contentId: string, contentType: string): Observable<any> {\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\r\n if (!forPreview) {\r\n return this.http.get<any>(\r\n API_END_POINTS.GET_RATING_SUMMARY(contentId, contentType)\r\n )\r\n }\r\n return of({})\r\n }\r\n\r\n getRatingLookup(req: NsAppRating.ILookupRequest): Observable<any> {\r\n return this.http.post<any>(\r\n API_END_POINTS.GET_RATING_LOOKUP, req\r\n )\r\n }\r\n\r\n getRatingReply(req: any): Observable<any> {\r\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\r\n if (!forPreview) {\r\n return this.http.post<any>(\r\n API_END_POINTS.POST_AUTHOR_REPLY, req\r\n )\r\n }\r\n return of({})\r\n }\r\n\r\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\r\n if (avg) {\r\n const avgRating = avg\r\n const ratingFloor = Math.floor(avgRating)\r\n // const difference = avgRating - ratingIndex\r\n if (ratingIndex <= ratingFloor) {\r\n return 'star'\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\r\n return 'star_half'\r\n }\r\n }\r\n return 'star'\r\n }\r\n\r\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\r\n if (avg) {\r\n const avgRating = avg\r\n const ratingFloor = Math.floor(avgRating)\r\n if (ratingIndex <= ratingFloor) {\r\n return true\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\r\n return true\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 > 0.71) {\r\n return true\r\n }\r\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 < 0.29) {\r\n return false\r\n }\r\n }\r\n return false\r\n }\r\n\r\n getAuthorReply(contentId: string, userID: string): Observable<any> {\r\n return this.http.get<any>(\r\n API_END_POINTS.GET_AUTHOR_REPLY(contentId, userID)\r\n )\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nconst API_END_POINTS = {\r\n TOP_REVIEWS: `/apis/proxies/v8/ratings/v1/topReviews`\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserContentRatingLibService {\r\n\r\n constructor(private http: HttpClient) { }\r\n fetchTopReviews(doId: any): Observable<any> {\r\n return this.http.get<any>(`${API_END_POINTS.TOP_REVIEWS}/${doId}`)\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\r\nimport { RatingService } from '../../_services/rating.service';\r\nimport { ScrollableItemDirective } from './../../_directives/scrollable-item/scrollable-item.directive';\r\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\r\n\r\n@Component({\r\n selector: 'sb-uic-user-content-rating',\r\n templateUrl: './user-content-rating-lib.component.html',\r\n styleUrls: ['./user-content-rating-lib.component.scss']\r\n})\r\nexport class UserContentRatingLibComponent implements OnInit {\r\n currentIndex: any =0\r\n @Input() providerId : any = ''\r\n @Input() formData : any = ''\r\n @Output() emptyResponse = new EventEmitter<any>()\r\n styleData: any = {} \r\n contentdata: any = []\r\n\r\n\r\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\r\n constructor(public ratingService: RatingService,\r\n public userRatingSvc: UserContentRatingLibService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData\r\n this.getTopReviews();\r\n }\r\n\r\n getTopReviews() {\r\n this.contentdata = []\r\n this.userRatingSvc.fetchTopReviews(this.providerId).subscribe((response: any) => {\r\n if(response && response.result && response.result.content.length) {\r\n response.result.content.forEach((contentEle: any) => {\r\n let localData = {}\r\n localData['content'] = contentEle.contentInfo\r\n localData['rating'] = contentEle.rating\r\n localData['review'] = contentEle.review\r\n localData['userDetails'] = contentEle.userDetails\r\n localData['cardSubType'] = \"card-wide-lib\"\r\n localData['cardCustomeClass'] = \"\"\r\n this.contentdata.push(localData)\r\n });\r\n } else {\r\n this.emptyResponse.emit(true)\r\n }\r\n },(_error: any)=> {\r\n this.emptyResponse.emit(true)\r\n })\r\n }\r\n\r\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\r\n return this.ratingService.getRatingIcon(ratingIndex, avg)\r\n }\r\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\r\n return this.ratingService.getRatingIconClass(ratingIndex, avg)\r\n }\r\n\r\n getCurrentIndex(indexValue: any) {\r\n this.currentIndex = indexValue\r\n this.handleScrollClick(indexValue)\r\n }\r\n\r\n handleScrollClick(dataValue: string) {\r\n const item = this.scrollableItems.find(x => x.key === dataValue)\r\n item.scrollIntoView(\"nearest\");\r\n }\r\n\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule } from '@angular/material';\r\nimport { UserContentRatingLibComponent } from './user-content-rating-lib.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { SlidersLibModule } from '../sliders/sliders.module';\r\nimport { RatingService } from '../../_services/rating.service';\r\nimport { CardsModule } from '../cards/cards.module';\r\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\r\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\r\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\r\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [UserContentRatingLibComponent],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule,\r\n SlidersLibModule,\r\n CardsModule,\r\n AvatarPhotoLibModule,\r\n SlidersNgContentLibModule,\r\n ScrollableItemModule\r\n ],\r\n exports: [UserContentRatingLibComponent],\r\n providers: [RatingService, UserContentRatingLibService],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class UserContentRatingLibModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sb-uic-mdo-channel-v1',\r\n templateUrl: './mdo-channel-v1.component.html',\r\n styleUrls: ['./mdo-channel-v1.component.scss']\r\n})\r\nexport class MdoChannelV1Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core'\r\nimport { MatTabChangeEvent } from '@angular/material'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\r\n/* tslint:disable */\r\nimport * as _ from 'lodash'\r\nimport { TranslateService } from '@ngx-translate/core'\r\nimport { MultilingualTranslationsService } from '@sunbird-cb/utils-v2'\r\n\r\n@Component({\r\n selector: 'sb-uic-mdo-channel-v2',\r\n templateUrl: './mdo-channel-v2.component.html',\r\n styleUrls: ['./mdo-channel-v2.component.scss']\r\n})\r\nexport class MdoChannelV2Component implements OnInit {\r\n @Input() sectionList:any = []\r\n channnelName = ''\r\n orgId = ''\r\n selectedIndex = 0\r\n hideCompetencyBlock: boolean = false\r\n contentTabEmptyResponseCount: number = 0\r\n titles = [\r\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\r\n {\r\n title: `MDO Channels`,\r\n url: `/app/learn/mdo-channels/all-channels`,\r\n icon: '', disableTranslate: true,\r\n },\r\n ]\r\n showModal: boolean = false\r\n descriptionMaxLength = 500\r\n isTelemetryRaised: boolean = false\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private eventSvc: EventService,\r\n private translate: TranslateService,\r\n private langtranslations: MultilingualTranslationsService,\r\n ) { \r\n if (this.route.snapshot.data && this.route.snapshot.data.formData\r\n && this.route.snapshot.data.formData.data\r\n && this.route.snapshot.data.formData.data.result\r\n && this.route.snapshot.data.formData.data.result.form\r\n && this.route.snapshot.data.formData.data.result.form.data\r\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n ) {\r\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n }\r\n this.langtranslations.languageSelectedObservable.subscribe(() => {\r\n if (localStorage.getItem('websiteLanguage')) {\r\n this.translate.setDefaultLang('en')\r\n const lang = localStorage.getItem('websiteLanguage')!\r\n this.translate.use(lang)\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n this.channnelName = params['channel']\r\n this.orgId = params['orgId']\r\n this.titles.push({\r\n title: this.channnelName, icon: '', url: 'none', disableTranslate: true,\r\n })\r\n })\r\n }\r\n\r\n public tabClicked(tabEvent: MatTabChangeEvent) {\r\n this.raiseTelemetry(`${tabEvent.tab.textLabel} tab`)\r\n }\r\n hideContentStrip(event: any, contentStripData: any) {\r\n if (event) {\r\n contentStripData['hideSection'] = true\r\n this.contentTabEmptyResponseCount = this.contentTabEmptyResponseCount + 1\r\n // if(this.contentTabEmptyResponseCount === 4 ) {\r\n // this.selectedIndex = 1\r\n // }\r\n }\r\n }\r\n\r\n triggerOpenDialog(event: boolean) {\r\n if(event) {\r\n this.showModal = true\r\n document.body.style.overflow = 'hidden'\r\n }\r\n this.raiseTelemetry('btn open key annoucements')\r\n }\r\n\r\n onClose() {\r\n this.showModal = false\r\n document.body.style.overflow = 'auto'\r\n this.raiseTelemetry('btn close key annoucements')\r\n }\r\n\r\n raiseTelemetryInteratEvent(event: any) {\r\n if (event && event.viewMoreUrl) {\r\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\r\n }\r\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'mdo-channel',\r\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\r\n },\r\n {\r\n id: event.identifier,\r\n type: event.primaryCategory,\r\n },\r\n {\r\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n this.isTelemetryRaised = true\r\n }\r\n }\r\n\r\n raiseCompetencyTelemetry(name: string) {\r\n this.raiseTelemetry(`${name} core expertise`)\r\n }\r\n\r\n raiseTelemetry(name: string) {\r\n this.eventSvc.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'mdo-channel',\r\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n }\r\n\r\n hideCompetency(event: any) {\r\n if (event) {\r\n this.hideCompetencyBlock = true\r\n }\r\n }\r\n\r\n showAllContent(_stripData: any, contentStrip: any) {\r\n if (contentStrip && contentStrip.strips && contentStrip.strips.length) {\r\n const stripData: any = contentStrip.strips[0]\r\n if (stripData && stripData.request) {\r\n delete(stripData['loaderWidgets'])\r\n this.router.navigate(\r\n [`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`],\r\n { queryParams: { stripData: JSON.stringify(stripData) } })\r\n }\r\n } else {\r\n this.router.navigate(\r\n [`/app/learn/browse-by/provider/${this.channnelName}/${this.orgId}/all-CBP`])\r\n }\r\n }\r\n\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\r\nimport { MdoChannelV1Component } from './mdo-channel-v1/mdo-channel-v1.component';\r\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\r\n\r\nimport {\r\n AnnouncementsModule,\r\n CardsModule,\r\n CommonMethodsService,\r\n CommonStripModule,\r\n CompetencyPassbookModule,\r\n CompetencyPassbookMdoModule,\r\n ContentStripWithTabsLibModule,\r\n DataPointsModule,\r\n SlidersLibModule,\r\n HttpLoaderFactory,\r\n TopLearnersModule,\r\n CbpPlanModule,\r\n} from './../../../../public-api'\r\nimport { MdoChannelV2Component } from './mdo-channel-v2/mdo-channel-v2.component';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n\r\n@NgModule({\r\n declarations: [MdoChannelV1Component, MdoChannelV2Component],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule,\r\n AnnouncementsModule,\r\n TopLearnersModule,\r\n CbpPlanModule,\r\n CardsModule,\r\n CommonStripModule,\r\n CompetencyPassbookModule,\r\n CompetencyPassbookMdoModule,\r\n ContentStripWithTabsLibModule,\r\n DataPointsModule,\r\n SlidersLibModule,\r\n MatTabsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports: [MdoChannelV1Component, MdoChannelV2Component],\r\n providers:[\r\n CommonMethodsService],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class MDOChannelModule { }\r\n","import { DatePipe } from '@angular/common'\r\nimport { Component, Input, OnInit } from '@angular/core'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\r\nimport * as _ from 'lodash'\r\n\r\n@Component({\r\n selector: 'sb-uic-providers-v2',\r\n templateUrl: './providers-v2.component.html',\r\n styleUrls: ['./providers-v2.component.scss']\r\n})\r\nexport class ProvidersV2Component implements OnInit {\r\n\r\n @Input() sectionList:any = []\r\n providerName = ''\r\n providerId = ''\r\n navList: any\r\n hideCompetencyBlock = false\r\n // sectionList: any = []\r\n currentMonthAndYear: any\r\n titles = [\r\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\r\n { title: `All Providers`,\r\n url: `/app/learn/browse-by/provider/all-providers`,\r\n icon: '', disableTranslate: true,\r\n },\r\n ]\r\n\r\n descriptionMaxLength = 500\r\n isTelemetryRaised = false\r\n\r\n constructor(private route: ActivatedRoute,\r\n public router: Router, private datePipe: DatePipe, private events: EventService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data && this.route.snapshot.data.formData\r\n && this.route.snapshot.data.formData.data\r\n && this.route.snapshot.data.formData.data.result\r\n && this.route.snapshot.data.formData.data.result.form\r\n && this.route.snapshot.data.formData.data.result.form.data\r\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n ) {\r\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\r\n }\r\n this.route.params.subscribe(params => {\r\n this.providerName = params['provider']\r\n this.providerId = params['orgId']\r\n this.titles.push({\r\n title: this.providerName, icon: '', url: 'none', disableTranslate: true,\r\n })\r\n })\r\n this.getNavitems()\r\n this.currentMonthAndYear = this.datePipe.transform(new Date(), 'MMMM y')\r\n }\r\n\r\n getNavitems() {\r\n this.navList = this.sectionList.filter(\r\n (obj: any) => obj.enabled && obj.navigation && obj.navOrder).sort(\r\n (a: any, b: any) => a.navOrder - b.navOrder)\r\n }\r\n\r\n scrollToSection(name: string) {\r\n let section: HTMLElement | any\r\n section = document.getElementById(name)\r\n if (section) {\r\n // section.scrollIntoView({ behavior: 'smooth', block: 'start',inline: 'nearest', offsetTop: yOffset })\r\n window.scrollTo({\r\n top: section.offsetTop - 121,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n hideCompetency(event: any, columnData: any) {\r\n if (event) {\r\n this.hideCompetencyBlock = true\r\n columnData['navigation'] = false\r\n columnData['enabled'] = false\r\n this.navList.forEach((navItem: any) => {\r\n navItem.column.forEach((colEle: any) => {\r\n if (colEle.key === columnData.key) {\r\n navItem['navigation'] = false\r\n }\r\n })\r\n })\r\n }\r\n }\r\n hideContentStrip(event: any, contentStripData: any) {\r\n if (event) {\r\n contentStripData['hideSection'] = true\r\n }\r\n }\r\n hideLearnerReview(event: any, learnerReview: any) {\r\n if (event) {\r\n learnerReview['hideSection'] = true\r\n }\r\n }\r\n\r\n showAllContent(_stripData: any, contentStrip: any) {\r\n if (contentStrip && contentStrip.strips && contentStrip.strips.length) {\r\n const stripData: any = contentStrip.strips[0]\r\n if (stripData && stripData.request) {\r\n delete(stripData['loaderWidgets'])\r\n this.router.navigate(\r\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-content`],\r\n { queryParams: { stripData: JSON.stringify(stripData), pageDetails: true } })\r\n }\r\n } else {\r\n this.router.navigate(\r\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`],\r\n { queryParams: { pageDetails: true } })\r\n }\r\n }\r\n\r\n raiseTelemetryInteratEvent(event: any) {\r\n if (event && event.viewMoreUrl) {\r\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\r\n }\r\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'ATI/CTI',\r\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\r\n },\r\n {\r\n id: event.identifier,\r\n type: event.primaryCategory,\r\n },\r\n {\r\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n this.isTelemetryRaised = true\r\n }\r\n }\r\n\r\n raiseCompetencyTelemetry(name: string) {\r\n this.raiseTelemetry(`${name} core expertise`)\r\n }\r\n\r\n raiseTelemetry(name: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'ATI/CTI',\r\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n }\r\n\r\n raiseNavTelemetry(name: string) {\r\n this.events.raiseInteractTelemetry(\r\n {\r\n type: 'click',\r\n subType: 'ATI/CTI',\r\n id: `${_.kebabCase(name).toLocaleLowerCase()}-navigation`,\r\n },\r\n {},\r\n {\r\n module: WsEvents.EnumTelemetrymodules.LEARN,\r\n }\r\n )\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\r\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport {\r\n CalenderModule,\r\n CardsModule, \r\n CommonMethodsService, \r\n CommonStripModule, \r\n CompetencyPassbookModule, \r\n ContentStripWithTabsLibModule,\r\n DataPointsModule, \r\n HttpLoaderFactory, \r\n SlidersLibModule, \r\n UserContentRatingLibModule \r\n} from './../../../../public-api'\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ProvidersV2Component } from './providers-v2/providers-v2.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n@NgModule({\r\n declarations: [ProvidersV2Component],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n RouterModule,\r\n MatChipsModule,\r\n SkeletonLoaderLibModule,\r\n CalenderModule,\r\n CardsModule,\r\n CommonStripModule,\r\n CompetencyPassbookModule,\r\n UserContentRatingLibModule,\r\n ContentStripWithTabsLibModule,\r\n DataPointsModule,\r\n SlidersLibModule,\r\n MatTabsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n exports: [ProvidersV2Component],\r\n providers:[\r\n CommonMethodsService],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class ProvidersModule { }\r\n"],"names":["moment_","_.get","ConfigurationsService","PROTECTED_SLAG_V8","API_END_POINTS","lodash.uniqBy","lodash.orderBy","tslib_1.__extends","tslib_1.__values","_.camelCase","moment","MyHammerConfig","NsCardContent","duration","moment.duration","moment.utc","MultilingualTranslationsService","IStripUnitContentData","API_POINTS","_.kebabCase"],"mappings":"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"}