diff --git a/projects/quml-demo-app/src/app/app.component.ts b/projects/quml-demo-app/src/app/app.component.ts index 21926376..36a47bf7 100644 --- a/projects/quml-demo-app/src/app/app.component.ts +++ b/projects/quml-demo-app/src/app/app.component.ts @@ -10,6 +10,7 @@ import { DataService } from './services/data.service'; export class AppComponent implements OnInit { contentId = 'do_2138622515299368961170'; playerConfig: any; + telemetryEvents: any = []; constructor(private dataService: DataService) { } @@ -46,6 +47,7 @@ export class AppComponent implements OnInit { } getTelemetryEvents(event) { - console.log('event is for telemetry', JSON.stringify(event)); + this.telemetryEvents.push(JSON.parse(JSON.stringify(event))); + console.log('event is for telemetry', this.telemetryEvents); } } diff --git a/projects/quml-library/src/lib/main-player/main-player.component.html b/projects/quml-library/src/lib/main-player/main-player.component.html index de765464..65b1fe70 100644 --- a/projects/quml-library/src/lib/main-player/main-player.component.html +++ b/projects/quml-library/src/lib/main-player/main-player.component.html @@ -28,11 +28,13 @@
+ You've succesfully submitted the assessment and response sent for validation + Attempt no {{attempts.current}}/{{attempts.max}} diff --git a/projects/quml-library/src/lib/main-player/main-player.component.ts b/projects/quml-library/src/lib/main-player/main-player.component.ts index fa356cc7..f000d409 100644 --- a/projects/quml-library/src/lib/main-player/main-player.component.ts +++ b/projects/quml-library/src/lib/main-player/main-player.component.ts @@ -84,6 +84,7 @@ export class MainPlayerComponent implements OnInit, OnChanges { nextContent: NextContent; disabledHandle: any; subscription: Subscription; + questionSetEvaluable: any; constructor( public viewerService: ViewerService, @@ -214,7 +215,9 @@ export class MainPlayerComponent implements OnInit, OnChanges { this.parentConfig.showFeedback = this.showFeedBack = this.playerConfig.metadata?.showFeedback; this.parentConfig.sideMenuConfig = { ...this.parentConfig.sideMenuConfig, ...this.playerConfig.config.sideMenu }; this.parentConfig.warningTime = _.get(this.playerConfig,'config.warningTime', this.parentConfig.warningTime); - this.parentConfig.showWarningTimer = _.get(this.playerConfig,'config.showWarningTimer', this.parentConfig.showWarningTimer) + this.parentConfig.showWarningTimer = _.get(this.playerConfig,'config.showWarningTimer', this.parentConfig.showWarningTimer); + this.viewerService.serverValidationCheck(this.playerConfig.metadata?.evalMode); + this.questionSetEvaluable = this.viewerService.questionSetEvaluable; if (this.playerConfig?.context?.userData) { const firstName = this.playerConfig.context.userData?.firstName ?? ''; const lastName = this.playerConfig.context.userData?.lastName ?? ''; @@ -270,7 +273,9 @@ export class MainPlayerComponent implements OnInit, OnChanges { /* istanbul ignore else */ if (this.parentConfig.isSectionsAvailable) { const activeSectionIndex = this.getActiveSectionIndex(); - this.updateSectionScore(activeSectionIndex); + if(!this.questionSetEvaluable) { + this.updateSectionScore(activeSectionIndex); + } } this.getSummaryObject(); this.loadScoreBoard = true; @@ -284,7 +289,9 @@ export class MainPlayerComponent implements OnInit, OnChanges { if (this.parentConfig.isSectionsAvailable) { const activeSectionIndex = this.getActiveSectionIndex(); - this.updateSectionScore(activeSectionIndex); + if(!this.questionSetEvaluable) { + this.updateSectionScore(activeSectionIndex); + } this.setNextSection(event, activeSectionIndex); } else { this.prepareEnd(event); @@ -353,7 +360,11 @@ export class MainPlayerComponent implements OnInit, OnChanges { prepareEnd(event) { this.viewerService.pauseVideo(); - this.calculateScore(); + if(!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } this.setDurationSpent(); this.getSummaryObject(); if (this.parentConfig.requiresSubmit && !this.isDurationExpired) { @@ -440,7 +451,11 @@ export class MainPlayerComponent implements OnInit, OnChanges { } exitContent(event) { - this.calculateScore(); + if(!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } /* istanbul ignore else */ if (event?.type === 'EXIT') { this.viewerService.raiseHeartBeatEvent(eventName.endPageExitClicked, TelemetryType.interact, pageId.endPage); @@ -476,7 +491,11 @@ export class MainPlayerComponent implements OnInit, OnChanges { onScoreBoardLoaded(event) { if (event?.scoreBoardLoaded) { - this.calculateScore(); + if(!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0 + } } } @@ -571,7 +590,11 @@ export class MainPlayerComponent implements OnInit, OnChanges { @HostListener('window:beforeunload') ngOnDestroy() { - this.calculateScore(); + if(!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } this.getSummaryObject(); /* istanbul ignore else */ if (this.isSummaryEventRaised === false) { diff --git a/projects/quml-library/src/lib/mcq/mcq.component.spec.ts b/projects/quml-library/src/lib/mcq/mcq.component.spec.ts index 27fe026b..6f3489fb 100644 --- a/projects/quml-library/src/lib/mcq/mcq.component.spec.ts +++ b/projects/quml-library/src/lib/mcq/mcq.component.spec.ts @@ -3,10 +3,15 @@ import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing' import { DomSanitizer } from '@angular/platform-browser'; import { McqComponent } from './mcq.component'; +import { ViewerService } from '../services/viewer-service/viewer-service'; describe('McqComponent', () => { let component: McqComponent; + let viewerService; let fixture: ComponentFixture; + class ViewServiceMock { + questionSetEvaluable: boolean + } const question = { "copyright": "tn", "subject": [ @@ -159,6 +164,9 @@ describe('McqComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ declarations: [McqComponent], + providers: [ + { provide: ViewerService, useClass: ViewServiceMock } + ], schemas: [NO_ERRORS_SCHEMA] }) .compileComponents(); @@ -167,6 +175,7 @@ describe('McqComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(McqComponent); component = fixture.componentInstance; + viewerService = TestBed.inject(ViewerService); component.question = question; fixture.detectChanges(); }); @@ -177,21 +186,25 @@ describe('McqComponent', () => { it('should set layout to IMAGEGRID', () => { component.question.templateId = 'mcq-horizontal'; + viewerService.questionSetEvaluable = false; component.ngOnInit(); expect(component.layout).toBe('IMAGEGRID'); }); it('should set layout to IMAGEQAGRID', () => { component.question.templateId = 'mcq-vertical-split'; + viewerService.questionSetEvaluable = false; component.ngOnInit(); expect(component.layout).toBe('IMAGEQAGRID'); }); it('should set layout to MULTIIMAGEGRID', () => { component.question.templateId = 'mcq-grid-split'; + viewerService.questionSetEvaluable = false; component.ngOnInit(); expect(component.layout).toBe('MULTIIMAGEGRID'); }); it('should not set any layout', () => { component.question.templateId = 'mcq'; + viewerService.questionSetEvaluable = false; component.ngOnInit(); expect(component.layout).toBeUndefined; }); diff --git a/projects/quml-library/src/lib/mcq/mcq.component.ts b/projects/quml-library/src/lib/mcq/mcq.component.ts index c4035923..cdabd9f1 100644 --- a/projects/quml-library/src/lib/mcq/mcq.component.ts +++ b/projects/quml-library/src/lib/mcq/mcq.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, Input, SecurityContext, Output, EventEmitter, AfterV import { DomSanitizer } from '@angular/platform-browser'; import { katex } from 'katex'; import { UtilService } from '../util-service'; +import { ViewerService } from '../services/viewer-service/viewer-service'; import * as _ from 'lodash-es'; declare const katex: any; @@ -35,11 +36,14 @@ export class McqComponent implements OnInit, AfterViewInit { constructor( public domSanitizer: DomSanitizer, - public utilService: UtilService) { + public utilService: UtilService, + public viewerService: ViewerService) { } ngOnInit() { - this.numberOfCorrectOptions = _.castArray(this.question.responseDeclaration.response1.correctResponse.value).length; + if(!this.viewerService.questionSetEvaluable) { + this.numberOfCorrectOptions = _.castArray(this.question.responseDeclaration.response1.correctResponse.value).length; + } if (this.question?.solutions) { this.solutions = this.question.solutions; } diff --git a/projects/quml-library/src/lib/quml-library.service.ts b/projects/quml-library/src/lib/quml-library.service.ts index 610b421b..8ef95be7 100644 --- a/projects/quml-library/src/lib/quml-library.service.ts +++ b/projects/quml-library/src/lib/quml-library.service.ts @@ -24,7 +24,7 @@ export class QumlLibraryService { constructor(public utilService: UtilService) { } - async initializeTelemetry(config: QumlPlayerConfig, parentConfig: IParentConfig) { + initializeTelemetry(config: QumlPlayerConfig, parentConfig: IParentConfig) { if (!_.has(config, 'context') || _.isEmpty(config, 'context')) { return; } @@ -61,7 +61,7 @@ export class QumlLibraryService { { id: '2.0', type: 'PlayerVersion' } ]) }; - await CsTelemetryModule.instance.init({}); + CsTelemetryModule.instance.init({}); CsTelemetryModule.instance.telemetryService.initTelemetry( { config: telemetryConfig, diff --git a/projects/quml-library/src/lib/section-player/section-player.component.html b/projects/quml-library/src/lib/section-player/section-player.component.html index 5d42026c..67ece8fd 100644 --- a/projects/quml-library/src/lib/section-player/section-player.component.html +++ b/projects/quml-library/src/lib/section-player/section-player.component.html @@ -15,7 +15,7 @@
{{myCarousel.getCurrentSlideIndex()}}/{{noOfQuestions}}
-
+
@@ -67,7 +67,7 @@ attr.aria-label="question number {{question?.index}}" (click)="goToSlideClicked($event, question?.index)" (keydown)="onEnter($event, question?.index)" class="showFeedBack-progressBar" - [ngClass]="(j+1) === myCarousel.getCurrentSlideIndex() ? (question.class === 'skipped' ? 'progressBar-border' : 'progressBar-border ' + question.class) : question.class"> + [ngClass]="(j+1) === myCarousel.getCurrentSlideIndex() ? (question.class === 'skipped' ? 'progressBar-border' : (questionSetEvaluable ? 'att-color progressBar-border': 'progressBar-border ' + question.class)) : (questionSetEvaluable ? (question.class === 'skipped'|| question.class === 'unattempted' ? question.class : 'att-color'): question.class)"> {{question?.index}} @@ -89,7 +89,7 @@ attr.aria-label="question number {{question?.index}}" (click)="goToSlideClicked($event, question?.index)" (keydown)="onEnter($event, question?.index)" class="showFeedBack-progressBar hover-effect" - [ngClass]="(j+1) === myCarousel.getCurrentSlideIndex() ? (question.class === 'skipped' ? 'progressBar-border' : 'progressBar-border ' + question.class) : question.class"> + [ngClass]="(j+1) === myCarousel.getCurrentSlideIndex() ? (question.class === 'skipped' ? 'progressBar-border' : (questionSetEvaluable ? 'att-color progressBar-border': 'progressBar-border ' + question.class)) : (questionSetEvaluable ? (question.class === 'skipped'|| question.class === 'unattempted' ? question.class : 'att-color'): question.class)"> {{question?.index}} @@ -119,11 +119,11 @@
- - diff --git a/projects/quml-library/src/lib/section-player/section-player.component.spec.ts b/projects/quml-library/src/lib/section-player/section-player.component.spec.ts index 7c2fa610..b69684fd 100644 --- a/projects/quml-library/src/lib/section-player/section-player.component.spec.ts +++ b/projects/quml-library/src/lib/section-player/section-player.component.spec.ts @@ -32,6 +32,7 @@ describe('SectionPlayerComponent', () => { qumlPlayerEvent = new EventEmitter(); qumlQuestionEvent = new EventEmitter(); pauseVideo() { } + serverValidationCheck() {} } class ElementRefMock { @@ -665,6 +666,34 @@ describe('SectionPlayerComponent', () => { expect(component.isAssessEventRaised).toBeTruthy(); }); + it('store response if eval mode is server', () => { + component.questionSetEvaluable = true; + component.myCarousel = myCarousel; + const option = { + "name": "optionSelect", + "option": { + "label": "

Narendra Modi

", + "value": 1, + "selected": true + }, + "cardinality": "single", + "solutions": [] + } + component.optionSelectedObj = { + "name": "optionSelect", + "option": { + "label": "

Narendra Modi

", + "value": 1, + "selected": true + }, + "cardinality": "single", + "solutions": [] + } + component.questions = mockSectionQuestions; + component.parentConfig = mockParentConfig; + component.sectionConfig = mockSectionConfig; + component.validateSelectedOption(option, "next"); + }); it('should hide the popup once the time is over', fakeAsync(() => { component.infoPopupTimeOut(); diff --git a/projects/quml-library/src/lib/section-player/section-player.component.ts b/projects/quml-library/src/lib/section-player/section-player.component.ts index a4130c58..b7897a22 100644 --- a/projects/quml-library/src/lib/section-player/section-player.component.ts +++ b/projects/quml-library/src/lib/section-player/section-player.component.ts @@ -92,6 +92,7 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { isShuffleQuestions = false; shuffleOptions: boolean; playerContentCompatibiltyLevel = COMPATABILITY_LEVEL; + questionSetEvaluable: any; constructor( public viewerService: ViewerService, @@ -216,11 +217,15 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { this.showWarningTimer = this.parentConfig.showWarningTimer; this.showTimer = this.sectionConfig.metadata?.showTimer; + //server-level-validation + this.questionSetEvaluable = this.viewerService.questionSetEvaluable; + if (this.sectionConfig.metadata?.showFeedback) { this.showFeedBack = this.sectionConfig.metadata?.showFeedback; // prioritize the section level config } else { this.showFeedBack = this.parentConfig.showFeedback; // Fallback to parent config } + this.showFeedBack = this.showFeedBack && !this.questionSetEvaluable; // showFeedBack should evaluate from questionSetEvaluable field this.showUserSolution = this.sectionConfig.metadata?.showSolutions; this.startPageInstruction = this.sectionConfig.metadata?.instructions || this.parentConfig.instructions; @@ -307,7 +312,7 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { } /* istanbul ignore else */ - if (this.myCarousel.isLast(this.myCarousel.getCurrentSlideIndex()) || this.noOfQuestions === this.myCarousel.getCurrentSlideIndex()) { + if (this.myCarousel.isLast(this.myCarousel.getCurrentSlideIndex()) || this.noOfQuestions === this.myCarousel.getCurrentSlideIndex() && !this.questionSetEvaluable) { this.calculateScore(); } @@ -441,7 +446,7 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { updateScoreForShuffledQuestion() { const currentIndex = this.myCarousel.getCurrentSlideIndex() - 1; - if (this.isShuffleQuestions) { + if (this.isShuffleQuestions && !this.questionSetEvaluable) { this.updateScoreBoard(currentIndex, 'correct', undefined, DEFAULT_SCORE); } } @@ -540,7 +545,11 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { } else { this.optionSelectedObj = optionSelected; this.isAssessEventRaised = false; - this.currentSolutions = !_.isEmpty(optionSelected.solutions) ? optionSelected.solutions : undefined; + if(!this.questionSetEvaluable) { + this.currentSolutions = !_.isEmpty(optionSelected.solutions) ? optionSelected.solutions : undefined; + } else { + this.currentSolutions = undefined; + } } this.currentQuestionIndetifier = this.questions[currentIndex].identifier; this.media = _.get(this.questions[currentIndex], 'media', []); @@ -666,7 +675,8 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { if (this.optionSelectedObj) { this.currentQuestion = selectedQuestion.body; this.currentOptions = selectedQuestion.interactions[key].options; - + + if (!this.questionSetEvaluable) { if (option.cardinality === Cardinality.single) { const correctOptionValue = Number(selectedQuestion.responseDeclaration[key].correctResponse.value); @@ -717,6 +727,13 @@ export class SectionPlayerComponent implements OnChanges, AfterViewInit { this.alertType = 'correct'; } } + } else { + this.updateScoreBoard(currentIndex, 'correct', undefined, 0); + if (!this.isAssessEventRaised) { + this.isAssessEventRaised = true; + this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, '', 0, [option.option], this.slideDuration); + } + } this.optionSelectedObj = undefined; } else if ((isQuestionSkipAllowed) || isSubjectiveQuestion || onStartPage || isActive) { if(!_.isUndefined(type)) { diff --git a/projects/quml-library/src/lib/services/viewer-service/viewer-service.spec.ts b/projects/quml-library/src/lib/services/viewer-service/viewer-service.spec.ts index 564b2375..72183c23 100644 --- a/projects/quml-library/src/lib/services/viewer-service/viewer-service.spec.ts +++ b/projects/quml-library/src/lib/services/viewer-service/viewer-service.spec.ts @@ -141,9 +141,12 @@ describe('ViewerService', () => { it('should raiseAssesEvent', () => { const viewerService = TestBed.inject(ViewerService); const qumlLibraryService = TestBed.inject(QumlLibraryService); + viewerService.questionSetEvaluable = true; spyOn(viewerService.qumlPlayerEvent, 'emit'); spyOn(qumlLibraryService, 'startAssesEvent'); viewerService.raiseAssesEvent(mockData.questionData, 1, "Yes", 1, mockData.resValues, 2); + viewerService.questionSetEvaluable = false; + viewerService.raiseAssesEvent(mockData.questionData, 1, "Yes", 1, mockData.resValues, 2); expect(viewerService.qumlPlayerEvent.emit).toHaveBeenCalled(); expect(qumlLibraryService.startAssesEvent).toHaveBeenCalled(); }); @@ -306,4 +309,10 @@ describe('ViewerService', () => { expect(service.qumlQuestionEvent.emit).toHaveBeenCalled(); }); + it('should validate eval property in serverValidationCheck', () => { + const service: ViewerService = TestBed.inject(ViewerService); + service.serverValidationCheck("server"); + expect(service.questionSetEvaluable).toBeTrue + }); + }); \ No newline at end of file diff --git a/projects/quml-library/src/lib/services/viewer-service/viewer-service.ts b/projects/quml-library/src/lib/services/viewer-service/viewer-service.ts index 6fcc8482..0e8fae2b 100644 --- a/projects/quml-library/src/lib/services/viewer-service/viewer-service.ts +++ b/projects/quml-library/src/lib/services/viewer-service/viewer-service.ts @@ -36,6 +36,7 @@ export class ViewerService { questionSetId: string; parentIdentifier: string; sectionQuestions = []; + questionSetEvaluable: boolean = false; sectionConfig:any; constructor( public qumlLibraryService: QumlLibraryService, @@ -147,13 +148,23 @@ export class ViewerService { } raiseAssesEvent(questionData, index: number, pass: string, score, resValues, duration: number) { - const assessEvent = { - item: questionData, - index: index, - pass: pass, - score: score, - resvalues: resValues, - duration: duration + let assessEvent; + if(!this.questionSetEvaluable) { + assessEvent = { + item: questionData, + index: index, + pass: pass, + score: score, + resvalues: resValues, + duration: duration + } + } else { + assessEvent = { + item: questionData, + index: index, + resvalues: resValues, + duration: duration + } } this.qumlPlayerEvent.emit(assessEvent); this.qumlLibraryService.startAssesEvent(assessEvent); @@ -349,4 +360,12 @@ export class ViewerService { const videoElements = Array.from(document.getElementsByTagName('video') as HTMLCollectionOf); videoElements.forEach((element: HTMLVideoElement) => element.pause()); } + + serverValidationCheck(mode: any) { + if(mode == 'server') { + this.questionSetEvaluable = true; + } else { + this.questionSetEvaluable = false; + } + } } diff --git a/web-component/sunbird-quml-player.js b/web-component/sunbird-quml-player.js index 86ad6716..7ce97ab0 100644 --- a/web-component/sunbird-quml-player.js +++ b/web-component/sunbird-quml-player.js @@ -20737,11 +20737,11 @@ __webpack_require__.r(__webpack_exports__); /***/ (function(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); -var __WEBPACK_AMD_DEFINE_RESULT__;/*! - * Platform.js - * Copyright 2014-2016 Benjamin Tan - * Copyright 2011-2013 John-David Dalton - * Available under MIT license +var __WEBPACK_AMD_DEFINE_RESULT__;/*! + * Platform.js + * Copyright 2014-2016 Benjamin Tan + * Copyright 2011-2013 John-David Dalton + * Available under MIT license */ ; (function () { @@ -20771,10 +20771,10 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! root = freeGlobal; } - /** - * Used as the maximum length of an array-like object. - * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) - * for more details. + /** + * Used as the maximum length of an array-like object. + * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) + * for more details. */ var maxSafeInteger = Math.pow(2, 53) - 1; @@ -20795,25 +20795,25 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! /*--------------------------------------------------------------------------*/ - /** - * Capitalizes a string value. - * - * @private - * @param {string} string The string to capitalize. - * @returns {string} The capitalized string. + /** + * Capitalizes a string value. + * + * @private + * @param {string} string The string to capitalize. + * @returns {string} The capitalized string. */ function capitalize(string) { string = String(string); return string.charAt(0).toUpperCase() + string.slice(1); } - /** - * A utility function to clean up the OS name. - * - * @private - * @param {string} os The OS name to clean up. - * @param {string} [pattern] A `RegExp` pattern matching the OS name. - * @param {string} [label] A label for the OS. + /** + * A utility function to clean up the OS name. + * + * @private + * @param {string} os The OS name to clean up. + * @param {string} [pattern] A `RegExp` pattern matching the OS name. + * @param {string} [label] A label for the OS. */ function cleanupOS(os, pattern, label) { // Platform tokens are defined at: @@ -20846,12 +20846,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! return os; } - /** - * An iteration utility for arrays and objects. - * - * @private - * @param {Array|Object} object The object to iterate over. - * @param {Function} callback The function called per iteration. + /** + * An iteration utility for arrays and objects. + * + * @private + * @param {Array|Object} object The object to iterate over. + * @param {Function} callback The function called per iteration. */ function each(object, callback) { var index = -1, @@ -20865,24 +20865,24 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! } } - /** - * Trim and conditionally capitalize string values. - * - * @private - * @param {string} string The string to format. - * @returns {string} The formatted string. + /** + * Trim and conditionally capitalize string values. + * + * @private + * @param {string} string The string to format. + * @returns {string} The formatted string. */ function format(string) { string = trim(string); return /^(?:webOS|i(?:OS|P))/.test(string) ? string : capitalize(string); } - /** - * Iterates over an object's own properties, executing the `callback` for each. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} callback The function executed per own property. + /** + * Iterates over an object's own properties, executing the `callback` for each. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} callback The function executed per own property. */ function forOwn(object, callback) { for (var key in object) { @@ -20892,50 +20892,50 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! } } - /** - * Gets the internal `[[Class]]` of a value. - * - * @private - * @param {*} value The value. - * @returns {string} The `[[Class]]`. + /** + * Gets the internal `[[Class]]` of a value. + * + * @private + * @param {*} value The value. + * @returns {string} The `[[Class]]`. */ function getClassOf(value) { return value == null ? capitalize(value) : toString.call(value).slice(8, -1); } - /** - * Host objects can return type values that are different from their actual - * data type. The objects we are concerned with usually return non-primitive - * types of "object", "function", or "unknown". - * - * @private - * @param {*} object The owner of the property. - * @param {string} property The property to check. - * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`. + /** + * Host objects can return type values that are different from their actual + * data type. The objects we are concerned with usually return non-primitive + * types of "object", "function", or "unknown". + * + * @private + * @param {*} object The owner of the property. + * @param {string} property The property to check. + * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`. */ function isHostType(object, property) { var type = object != null ? typeof object[property] : 'number'; return !/^(?:boolean|number|string|undefined)$/.test(type) && (type == 'object' ? !!object[property] : true); } - /** - * Prepares a string for use in a `RegExp` by making hyphens and spaces optional. - * - * @private - * @param {string} string The string to qualify. - * @returns {string} The qualified string. + /** + * Prepares a string for use in a `RegExp` by making hyphens and spaces optional. + * + * @private + * @param {string} string The string to qualify. + * @returns {string} The qualified string. */ function qualify(string) { return String(string).replace(/([ -])(?!$)/g, '$1?'); } - /** - * A bare-bones `Array#reduce` like utility function. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function called per iteration. - * @returns {*} The accumulated result. + /** + * A bare-bones `Array#reduce` like utility function. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function called per iteration. + * @returns {*} The accumulated result. */ function reduce(array, callback) { var accumulator = null; @@ -20945,12 +20945,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! return accumulator; } - /** - * Removes leading and trailing whitespace from a string. - * - * @private - * @param {string} string The string to trim. - * @returns {string} The trimmed string. + /** + * Removes leading and trailing whitespace from a string. + * + * @private + * @param {string} string The string to trim. + * @returns {string} The trimmed string. */ function trim(string) { return String(string).replace(/^ +| +$/g, ''); @@ -20958,13 +20958,13 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! /*--------------------------------------------------------------------------*/ - /** - * Creates a new platform object. - * - * @memberOf platform - * @param {Object|string} [ua=navigator.userAgent] The user agent string or - * context object. - * @returns {Object} A platform object. + /** + * Creates a new platform object. + * + * @memberOf platform + * @param {Object|string} [ua=navigator.userAgent] The user agent string or + * context object. + * @returns {Object} A platform object. */ function parse(ua) { /** The environment context object. */ @@ -21014,10 +21014,10 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! /** Browser document object. */ var doc = context.document || {}; - /** - * Detect Opera browser (Presto-based). - * http://www.howtocreate.co.uk/operaStuff/operaObject.html - * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini + /** + * Detect Opera browser (Presto-based). + * http://www.howtocreate.co.uk/operaStuff/operaObject.html + * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini */ var opera = context.operamini || context.opera; @@ -21181,12 +21181,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! /*------------------------------------------------------------------------*/ - /** - * Picks the layout engine from an array of guesses. - * - * @private - * @param {Array} guesses An array of guesses. - * @returns {null|string} The detected layout engine. + /** + * Picks the layout engine from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected layout engine. */ function getLayout(guesses) { return reduce(guesses, function (result, guess) { @@ -21194,12 +21194,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! }); } - /** - * Picks the manufacturer from an array of guesses. - * - * @private - * @param {Array} guesses An object of guesses. - * @returns {null|string} The detected manufacturer. + /** + * Picks the manufacturer from an array of guesses. + * + * @private + * @param {Array} guesses An object of guesses. + * @returns {null|string} The detected manufacturer. */ function getManufacturer(guesses) { return reduce(guesses, function (result, value, key) { @@ -21208,12 +21208,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! }); } - /** - * Picks the browser name from an array of guesses. - * - * @private - * @param {Array} guesses An array of guesses. - * @returns {null|string} The detected browser name. + /** + * Picks the browser name from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected browser name. */ function getName(guesses) { return reduce(guesses, function (result, guess) { @@ -21221,12 +21221,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! }); } - /** - * Picks the OS name from an array of guesses. - * - * @private - * @param {Array} guesses An array of guesses. - * @returns {null|string} The detected OS name. + /** + * Picks the OS name from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected OS name. */ function getOS(guesses) { return reduce(guesses, function (result, guess) { @@ -21238,12 +21238,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! }); } - /** - * Picks the product name from an array of guesses. - * - * @private - * @param {Array} guesses An array of guesses. - * @returns {null|string} The detected product name. + /** + * Picks the product name from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected product name. */ function getProduct(guesses) { return reduce(guesses, function (result, guess) { @@ -21261,12 +21261,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! }); } - /** - * Resolves the version using an array of UA patterns. - * - * @private - * @param {Array} patterns An array of UA patterns. - * @returns {null|string} The detected version. + /** + * Resolves the version using an array of UA patterns. + * + * @private + * @param {Array} patterns An array of UA patterns. + * @returns {null|string} The detected version. */ function getVersion(patterns) { return reduce(patterns, function (result, pattern) { @@ -21274,12 +21274,12 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! }); } - /** - * Returns `platform.description` when the platform object is coerced to a string. - * - * @name toString - * @memberOf platform - * @returns {string} Returns `platform.description` if available, else an empty string. + /** + * Returns `platform.description` when the platform object is coerced to a string. + * + * @name toString + * @memberOf platform + * @returns {string} Returns `platform.description` if available, else an empty string. */ function toStringPlatform() { return this.description || ''; @@ -21618,116 +21618,116 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*! /*------------------------------------------------------------------------*/ - /** - * The platform object. - * - * @name platform - * @type Object + /** + * The platform object. + * + * @name platform + * @type Object */ var platform = {}; - /** - * The platform description. - * - * @memberOf platform - * @type string|null + /** + * The platform description. + * + * @memberOf platform + * @type string|null */ platform.description = ua; - /** - * The name of the browser's layout engine. - * - * @memberOf platform - * @type string|null + /** + * The name of the browser's layout engine. + * + * @memberOf platform + * @type string|null */ platform.layout = layout && layout[0]; - /** - * The name of the product's manufacturer. - * - * @memberOf platform - * @type string|null + /** + * The name of the product's manufacturer. + * + * @memberOf platform + * @type string|null */ platform.manufacturer = manufacturer; - /** - * The name of the browser/environment. - * - * @memberOf platform - * @type string|null + /** + * The name of the browser/environment. + * + * @memberOf platform + * @type string|null */ platform.name = name; - /** - * The alpha/beta release indicator. - * - * @memberOf platform - * @type string|null + /** + * The alpha/beta release indicator. + * + * @memberOf platform + * @type string|null */ platform.prerelease = prerelease; - /** - * The name of the product hosting the browser. - * - * @memberOf platform - * @type string|null + /** + * The name of the product hosting the browser. + * + * @memberOf platform + * @type string|null */ platform.product = product; - /** - * The browser's user agent string. - * - * @memberOf platform - * @type string|null + /** + * The browser's user agent string. + * + * @memberOf platform + * @type string|null */ platform.ua = ua; - /** - * The browser/environment version. - * - * @memberOf platform - * @type string|null + /** + * The browser/environment version. + * + * @memberOf platform + * @type string|null */ platform.version = name && version; - /** - * The name of the operating system. - * - * @memberOf platform - * @type Object + /** + * The name of the operating system. + * + * @memberOf platform + * @type Object */ platform.os = os || { - /** - * The CPU architecture the OS is built for. - * - * @memberOf platform.os - * @type number|null + /** + * The CPU architecture the OS is built for. + * + * @memberOf platform.os + * @type number|null */ 'architecture': null, - /** - * The family of the OS. - * - * Common values include: - * "Windows", "Windows Server 2008 R2 / 7", "Windows Server 2008 / Vista", - * "Windows XP", "OS X", "Ubuntu", "Debian", "Fedora", "Red Hat", "SuSE", - * "Android", "iOS" and "Windows Phone" - * - * @memberOf platform.os - * @type string|null + /** + * The family of the OS. + * + * Common values include: + * "Windows", "Windows Server 2008 R2 / 7", "Windows Server 2008 / Vista", + * "Windows XP", "OS X", "Ubuntu", "Debian", "Fedora", "Red Hat", "SuSE", + * "Android", "iOS" and "Windows Phone" + * + * @memberOf platform.os + * @type string|null */ 'family': null, - /** - * The version of the OS. - * - * @memberOf platform.os - * @type string|null + /** + * The version of the OS. + * + * @memberOf platform.os + * @type string|null */ 'version': null, - /** - * Returns the OS string. - * - * @memberOf platform.os - * @returns {string} The OS string. + /** + * Returns the OS string. + * + * @memberOf platform.os + * @returns {string} The OS string. */ 'toString': function () { return 'null'; @@ -81794,50 +81794,6 @@ function warnOnce(msg) { -/***/ }), - -/***/ 1670: -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _asyncToGenerator) -/* harmony export */ }); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - _next(undefined); - }); - }; -} - /***/ }) }]); @@ -83553,52 +83509,62 @@ function MainPlayerComponent_div_4_quml_scoreboard_3_Template(rf, ctx) { } function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_1_Template(rf, ctx) { if (rf & 1) { - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "span", 21); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "span", 22); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](1, "You've succesfully submitted the assessment and response sent for validation"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); + } +} +function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_2_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "span", 23); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](1); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); } if (rf & 2) { - const ctx_r21 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](4); + const ctx_r22 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](4); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtextInterpolate2"]("Attempt no ", ctx_r21.attempts.current, "/", ctx_r21.attempts.max, " "); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtextInterpolate2"]("Attempt no ", ctx_r22.attempts.current, "/", ctx_r22.attempts.max, " "); } } -function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_2_Template(rf, ctx) { +function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_3_Template(rf, ctx) { if (rf & 1) { - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "span", 22); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "span", 24); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](1); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); } if (rf & 2) { - const ctx_r22 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](4); + const ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](4); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtextInterpolate2"]("", ctx_r22.attempts.current, "/", ctx_r22.attempts.max, " attempts completed "); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtextInterpolate2"]("", ctx_r23.attempts.current, "/", ctx_r23.attempts.max, " attempts completed "); } } function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template(rf, ctx) { if (rf & 1) { - const _r24 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵgetCurrentView"](); + const _r25 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵgetCurrentView"](); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "sb-player-end-page", 18); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("replayContent", function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template_sb_player_end_page_replayContent_0_listener() { - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵrestoreView"](_r24); - const ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](3); - return _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵresetView"](ctx_r23.replayContent()); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵrestoreView"](_r25); + const ctx_r24 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](3); + return _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵresetView"](ctx_r24.replayContent()); })("exitContent", function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template_sb_player_end_page_exitContent_0_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵrestoreView"](_r24); - const ctx_r25 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](3); - return _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵresetView"](ctx_r25.exitContent($event)); - })("playNextContent", function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template_sb_player_end_page_playNextContent_0_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵrestoreView"](_r24); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵrestoreView"](_r25); const ctx_r26 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](3); - return _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵresetView"](ctx_r26.playNextContent($event)); + return _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵresetView"](ctx_r26.exitContent($event)); + })("playNextContent", function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template_sb_player_end_page_playNextContent_0_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵrestoreView"](_r25); + const ctx_r27 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](3); + return _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵresetView"](ctx_r27.playNextContent($event)); }); - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](1, MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_1_Template, 2, 2, "span", 19); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](1, MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_1_Template, 2, 0, "span", 19); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](2, MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_2_Template, 2, 2, "span", 20); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](3, MainPlayerComponent_div_4_div_4_sb_player_end_page_1_span_3_Template, 2, 2, "span", 21); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); } if (rf & 2) { const ctx_r20 = _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵnextContext"](3); - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("contentName", ctx_r20.parentConfig.contentName)("outcome", ctx_r20.outcomeLabel)("outcomeLabel", "Score: ")("userName", ctx_r20.userName)("timeSpentLabel", ctx_r20.durationSpent)("showExit", ctx_r20.parentConfig == null ? null : ctx_r20.parentConfig.sideMenuConfig.showExit)("showReplay", ctx_r20.showReplay)("nextContent", ctx_r20.nextContent); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("contentName", ctx_r20.parentConfig.contentName)("outcome", !ctx_r20.questionSetEvaluable ? ctx_r20.outcomeLabel : "")("outcomeLabel", !ctx_r20.questionSetEvaluable ? "Score: " : "")("userName", ctx_r20.userName)("timeSpentLabel", ctx_r20.durationSpent)("showExit", ctx_r20.parentConfig == null ? null : ctx_r20.parentConfig.sideMenuConfig.showExit)("showReplay", ctx_r20.showReplay)("nextContent", ctx_r20.nextContent); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("ngIf", ctx_r20.questionSetEvaluable); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](1); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("ngIf", (ctx_r20.attempts == null ? null : ctx_r20.attempts.max) && (ctx_r20.attempts == null ? null : ctx_r20.attempts.current) && ctx_r20.attempts.max !== ctx_r20.attempts.current); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](1); @@ -83608,7 +83574,7 @@ function MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template(rf, ctx) function MainPlayerComponent_div_4_div_4_Template(rf, ctx) { if (rf & 1) { _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "div", 16); - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](1, MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template, 3, 10, "sb-player-end-page", 17); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](1, MainPlayerComponent_div_4_div_4_sb_player_end_page_1_Template, 4, 11, "sb-player-end-page", 17); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); } if (rf & 2) { @@ -83621,7 +83587,7 @@ function MainPlayerComponent_div_4_div_4_Template(rf, ctx) { function MainPlayerComponent_div_4_div_5_Template(rf, ctx) { if (rf & 1) { _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "div"); - _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](1, "sb-player-contenterror", 23); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](1, "sb-player-contenterror", 25); _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); } if (rf & 2) { @@ -83830,6 +83796,8 @@ class MainPlayerComponent { }; this.parentConfig.warningTime = lodash_es__WEBPACK_IMPORTED_MODULE_11__["default"](this.playerConfig, 'config.warningTime', this.parentConfig.warningTime); this.parentConfig.showWarningTimer = lodash_es__WEBPACK_IMPORTED_MODULE_11__["default"](this.playerConfig, 'config.showWarningTimer', this.parentConfig.showWarningTimer); + this.viewerService.serverValidationCheck(this.playerConfig.metadata?.evalMode); + this.questionSetEvaluable = this.viewerService.questionSetEvaluable; if (this.playerConfig?.context?.userData) { const firstName = this.playerConfig.context.userData?.firstName ?? ''; const lastName = this.playerConfig.context.userData?.lastName ?? ''; @@ -83877,7 +83845,9 @@ class MainPlayerComponent { /* istanbul ignore else */ if (this.parentConfig.isSectionsAvailable) { const activeSectionIndex = this.getActiveSectionIndex(); - this.updateSectionScore(activeSectionIndex); + if (!this.questionSetEvaluable) { + this.updateSectionScore(activeSectionIndex); + } } this.getSummaryObject(); this.loadScoreBoard = true; @@ -83889,7 +83859,9 @@ class MainPlayerComponent { } if (this.parentConfig.isSectionsAvailable) { const activeSectionIndex = this.getActiveSectionIndex(); - this.updateSectionScore(activeSectionIndex); + if (!this.questionSetEvaluable) { + this.updateSectionScore(activeSectionIndex); + } this.setNextSection(event, activeSectionIndex); } else { this.prepareEnd(event); @@ -83947,7 +83919,11 @@ class MainPlayerComponent { } prepareEnd(event) { this.viewerService.pauseVideo(); - this.calculateScore(); + if (!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } this.setDurationSpent(); this.getSummaryObject(); if (this.parentConfig.requiresSubmit && !this.isDurationExpired) { @@ -84035,7 +84011,11 @@ class MainPlayerComponent { return this.finalScore; } exitContent(event) { - this.calculateScore(); + if (!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } /* istanbul ignore else */ if (event?.type === 'EXIT') { this.viewerService.raiseHeartBeatEvent(_telemetry_constants__WEBPACK_IMPORTED_MODULE_1__.eventName.endPageExitClicked, _telemetry_constants__WEBPACK_IMPORTED_MODULE_1__.TelemetryType.interact, _telemetry_constants__WEBPACK_IMPORTED_MODULE_1__.pageId.endPage); @@ -84066,7 +84046,11 @@ class MainPlayerComponent { } onScoreBoardLoaded(event) { if (event?.scoreBoardLoaded) { - this.calculateScore(); + if (!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } } } onScoreBoardSubmitted() { @@ -84157,7 +84141,11 @@ class MainPlayerComponent { } } ngOnDestroy() { - this.calculateScore(); + if (!this.questionSetEvaluable) { + this.calculateScore(); + } else { + this.finalScore = 0; + } this.getSummaryObject(); /* istanbul ignore else */ if (this.isSummaryEventRaised === false) { @@ -84203,7 +84191,7 @@ class MainPlayerComponent { features: [_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵNgOnChangesFeature"]], decls: 5, vars: 6, - consts: [[3, "title", 4, "ngIf"], [3, "sidebarMenuEvent", 4, "ngIf"], [3, "showLegend", "disablePreviousNavigation", "disableNext", "attempts", "loadScoreBoard", "showDeviceOrientation", "toggleScreenRotate", 4, "ngIf"], [3, "title", "config", "sidebarEvent"], ["class", "main-container", 4, "ngIf"], [3, "title"], [3, "sidebarMenuEvent"], [3, "showLegend", "disablePreviousNavigation", "disableNext", "attempts", "loadScoreBoard", "showDeviceOrientation", "toggleScreenRotate"], [1, "main-container"], [1, "main-container", 3, "hidden"], [3, "sectionConfig", "attempts", "mainProgressBar", "parentConfig", "sectionIndex", "jumpToQuestion", "sectionEnd", "showScoreBoard", "playerEvent", 4, "ngIf"], [3, "contentName", "scores", "totalNoOfQuestions", "showFeedBack", "isSections", "summary", "scoreBoardLoaded", "submitClicked", "emitQuestionNo", 4, "ngIf"], ["class", "endPage-container", 3, "ngClass", 4, "ngIf"], [4, "ngIf"], [3, "sectionConfig", "attempts", "mainProgressBar", "parentConfig", "sectionIndex", "jumpToQuestion", "sectionEnd", "showScoreBoard", "playerEvent"], [3, "contentName", "scores", "totalNoOfQuestions", "showFeedBack", "isSections", "summary", "scoreBoardLoaded", "submitClicked", "emitQuestionNo"], [1, "endPage-container", 3, "ngClass"], [3, "contentName", "outcome", "outcomeLabel", "userName", "timeSpentLabel", "showExit", "showReplay", "nextContent", "replayContent", "exitContent", "playNextContent", 4, "ngIf"], [3, "contentName", "outcome", "outcomeLabel", "userName", "timeSpentLabel", "showExit", "showReplay", "nextContent", "replayContent", "exitContent", "playNextContent"], ["class", "sb-color-primary mt-8 fnormal font-weight-bold d-block", 4, "ngIf"], ["class", "attempts sb-color-primary mt-8 fnormal font-weight-bold d-block", 4, "ngIf"], [1, "sb-color-primary", "mt-8", "fnormal", "font-weight-bold", "d-block"], [1, "attempts", "sb-color-primary", "mt-8", "fnormal", "font-weight-bold", "d-block"], [3, "errorMsg"]], + consts: [[3, "title", 4, "ngIf"], [3, "sidebarMenuEvent", 4, "ngIf"], [3, "showLegend", "disablePreviousNavigation", "disableNext", "attempts", "loadScoreBoard", "showDeviceOrientation", "toggleScreenRotate", 4, "ngIf"], [3, "title", "config", "sidebarEvent"], ["class", "main-container", 4, "ngIf"], [3, "title"], [3, "sidebarMenuEvent"], [3, "showLegend", "disablePreviousNavigation", "disableNext", "attempts", "loadScoreBoard", "showDeviceOrientation", "toggleScreenRotate"], [1, "main-container"], [1, "main-container", 3, "hidden"], [3, "sectionConfig", "attempts", "mainProgressBar", "parentConfig", "sectionIndex", "jumpToQuestion", "sectionEnd", "showScoreBoard", "playerEvent", 4, "ngIf"], [3, "contentName", "scores", "totalNoOfQuestions", "showFeedBack", "isSections", "summary", "scoreBoardLoaded", "submitClicked", "emitQuestionNo", 4, "ngIf"], ["class", "endPage-container", 3, "ngClass", 4, "ngIf"], [4, "ngIf"], [3, "sectionConfig", "attempts", "mainProgressBar", "parentConfig", "sectionIndex", "jumpToQuestion", "sectionEnd", "showScoreBoard", "playerEvent"], [3, "contentName", "scores", "totalNoOfQuestions", "showFeedBack", "isSections", "summary", "scoreBoardLoaded", "submitClicked", "emitQuestionNo"], [1, "endPage-container", 3, "ngClass"], [3, "contentName", "outcome", "outcomeLabel", "userName", "timeSpentLabel", "showExit", "showReplay", "nextContent", "replayContent", "exitContent", "playNextContent", 4, "ngIf"], [3, "contentName", "outcome", "outcomeLabel", "userName", "timeSpentLabel", "showExit", "showReplay", "nextContent", "replayContent", "exitContent", "playNextContent"], ["class", "mt-8 font-weight-bold d-block", 4, "ngIf"], ["class", "sb-color-primary mt-8 fnormal font-weight-bold d-block", 4, "ngIf"], ["class", "attempts sb-color-primary mt-8 fnormal font-weight-bold d-block", 4, "ngIf"], [1, "mt-8", "font-weight-bold", "d-block"], [1, "sb-color-primary", "mt-8", "fnormal", "font-weight-bold", "d-block"], [1, "attempts", "sb-color-primary", "mt-8", "fnormal", "font-weight-bold", "d-block"], [3, "errorMsg"]], template: function MainPlayerComponent_Template(rf, ctx) { if (rf & 1) { _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](0, MainPlayerComponent_sb_player_start_page_0_Template, 1, 1, "sb-player-start-page", 0); @@ -84962,14 +84950,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "McqComponent": () => (/* binding */ McqComponent) /* harmony export */ }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2560); -/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es */ 7400); -/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/platform-browser */ 4497); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2560); +/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash-es */ 7400); +/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/platform-browser */ 4497); /* harmony import */ var _util_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util-service */ 2025); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 4666); -/* harmony import */ var _mcq_question_mcq_question_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mcq-question/mcq-question.component */ 6153); -/* harmony import */ var _mcq_option_mcq_option_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../mcq-option/mcq-option.component */ 6596); -/* harmony import */ var _quml_popup_quml_popup_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../quml-popup/quml-popup.component */ 2838); +/* harmony import */ var _services_viewer_service_viewer_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/viewer-service/viewer-service */ 3887); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 4666); +/* harmony import */ var _mcq_question_mcq_question_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../mcq-question/mcq-question.component */ 6153); +/* harmony import */ var _mcq_option_mcq_option_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mcq-option/mcq-option.component */ 6596); +/* harmony import */ var _quml_popup_quml_popup_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../quml-popup/quml-popup.component */ 2838); + @@ -84981,146 +84971,149 @@ __webpack_require__.r(__webpack_exports__); function McqComponent_div_0_Template(rf, ctx) { if (rf & 1) { - const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 6)(1, "div", 7)(2, "quml-mcq-question", 8); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("showPopup", function McqComponent_div_0_Template_quml_mcq_question_showPopup_2_listener() { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r7); - const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r6.showPopup()); + const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 6)(1, "div", 7)(2, "quml-mcq-question", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("showPopup", function McqComponent_div_0_Template_quml_mcq_question_showPopup_2_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r7); + const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r6.showPopup()); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()(); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 9)(4, "quml-mcq-option", 10); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("optionSelected", function McqComponent_div_0_Template_quml_mcq_option_optionSelected_4_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r7); - const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r8.getSelectedOptionAndResult($event)); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "div", 9)(4, "quml-mcq-option", 10); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("optionSelected", function McqComponent_div_0_Template_quml_mcq_option_optionSelected_4_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r7); + const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r8.getSelectedOptionAndResult($event)); })("showPopup", function McqComponent_div_0_Template_quml_mcq_option_showPopup_4_listener() { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r7); - const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r9.showPopup()); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r7); + const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r9.showPopup()); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()()(); } if (rf & 2) { - const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqQuestion", ctx_r0.mcqQuestion)("layout", ctx_r0.layout); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqOptions", ctx_r0.options)("replayed", ctx_r0.replayed)("cardinality", ctx_r0.cardinality)("solutions", ctx_r0.solutions)("layout", ctx_r0.layout)("numberOfCorrectOptions", ctx_r0.numberOfCorrectOptions)("tryAgain", ctx_r0.tryAgain); + const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqQuestion", ctx_r0.mcqQuestion)("layout", ctx_r0.layout); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqOptions", ctx_r0.options)("replayed", ctx_r0.replayed)("cardinality", ctx_r0.cardinality)("solutions", ctx_r0.solutions)("layout", ctx_r0.layout)("numberOfCorrectOptions", ctx_r0.numberOfCorrectOptions)("tryAgain", ctx_r0.tryAgain); } } function McqComponent_div_1_Template(rf, ctx) { if (rf & 1) { - const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 11)(1, "div", 7); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](2, "quml-mcq-question", 12); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 9)(4, "quml-mcq-option", 13); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("optionSelected", function McqComponent_div_1_Template_quml_mcq_option_optionSelected_4_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r11); - const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r10.getSelectedOptionAndResult($event)); + const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 11)(1, "div", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](2, "quml-mcq-question", 12); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "div", 9)(4, "quml-mcq-option", 13); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("optionSelected", function McqComponent_div_1_Template_quml_mcq_option_optionSelected_4_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r11); + const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r10.getSelectedOptionAndResult($event)); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()()(); } if (rf & 2) { - const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqQuestion", ctx_r1.mcqQuestion)("layout", ctx_r1.layout); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqOptions", ctx_r1.options)("replayed", ctx_r1.replayed)("cardinality", ctx_r1.cardinality)("layout", ctx_r1.layout)("solutions", ctx_r1.solutions)("tryAgain", ctx_r1.tryAgain)("numberOfCorrectOptions", ctx_r1.numberOfCorrectOptions); + const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqQuestion", ctx_r1.mcqQuestion)("layout", ctx_r1.layout); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqOptions", ctx_r1.options)("replayed", ctx_r1.replayed)("cardinality", ctx_r1.cardinality)("layout", ctx_r1.layout)("solutions", ctx_r1.solutions)("tryAgain", ctx_r1.tryAgain)("numberOfCorrectOptions", ctx_r1.numberOfCorrectOptions); } } function McqComponent_div_2_Template(rf, ctx) { if (rf & 1) { - const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 14)(1, "div", 15)(2, "div", 7); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](3, "quml-mcq-question", 12); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 9)(5, "quml-mcq-option", 16); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("optionSelected", function McqComponent_div_2_Template_quml_mcq_option_optionSelected_5_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r13); - const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r12.getSelectedOptionAndResult($event)); + const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 14)(1, "div", 15)(2, "div", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](3, "quml-mcq-question", 12); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "div", 9)(5, "quml-mcq-option", 16); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("optionSelected", function McqComponent_div_2_Template_quml_mcq_option_optionSelected_5_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r13); + const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r12.getSelectedOptionAndResult($event)); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()()()(); } if (rf & 2) { - const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](3); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqQuestion", ctx_r2.mcqQuestion)("layout", ctx_r2.layout); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("shuffleOptions", ctx_r2.shuffleOptions)("mcqOptions", ctx_r2.options)("replayed", ctx_r2.replayed)("cardinality", ctx_r2.cardinality)("solutions", ctx_r2.solutions)("layout", ctx_r2.layout)("tryAgain", ctx_r2.tryAgain)("numberOfCorrectOptions", ctx_r2.numberOfCorrectOptions); + const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqQuestion", ctx_r2.mcqQuestion)("layout", ctx_r2.layout); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("shuffleOptions", ctx_r2.shuffleOptions)("mcqOptions", ctx_r2.options)("replayed", ctx_r2.replayed)("cardinality", ctx_r2.cardinality)("solutions", ctx_r2.solutions)("layout", ctx_r2.layout)("tryAgain", ctx_r2.tryAgain)("numberOfCorrectOptions", ctx_r2.numberOfCorrectOptions); } } function McqComponent_div_3_Template(rf, ctx) { if (rf & 1) { - const _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 17)(1, "div", 18)(2, "div", 7); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](3, "quml-mcq-question", 12); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 9)(5, "quml-mcq-option", 19); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("optionSelected", function McqComponent_div_3_Template_quml_mcq_option_optionSelected_5_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r15); - const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r14.getSelectedOptionAndResult($event)); + const _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 17)(1, "div", 18)(2, "div", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](3, "quml-mcq-question", 12); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "div", 9)(5, "quml-mcq-option", 19); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("optionSelected", function McqComponent_div_3_Template_quml_mcq_option_optionSelected_5_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r15); + const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r14.getSelectedOptionAndResult($event)); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()()()(); } if (rf & 2) { - const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](3); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqQuestion", ctx_r3.mcqQuestion)("layout", ctx_r3.layout); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqOptions", ctx_r3.options)("replayed", ctx_r3.replayed)("cardinality", ctx_r3.cardinality)("solutions", ctx_r3.solutions)("layout", ctx_r3.layout)("tryAgain", ctx_r3.tryAgain)("numberOfCorrectOptions", ctx_r3.numberOfCorrectOptions); + const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqQuestion", ctx_r3.mcqQuestion)("layout", ctx_r3.layout); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqOptions", ctx_r3.options)("replayed", ctx_r3.replayed)("cardinality", ctx_r3.cardinality)("solutions", ctx_r3.solutions)("layout", ctx_r3.layout)("tryAgain", ctx_r3.tryAgain)("numberOfCorrectOptions", ctx_r3.numberOfCorrectOptions); } } function McqComponent_div_4_Template(rf, ctx) { if (rf & 1) { - const _r17 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 20)(1, "div", 21); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](2, "quml-mcq-question", 12); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 22)(4, "quml-mcq-option", 19); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("optionSelected", function McqComponent_div_4_Template_quml_mcq_option_optionSelected_4_listener($event) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r17); - const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r16.getSelectedOptionAndResult($event)); + const _r17 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 20)(1, "div", 21); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](2, "quml-mcq-question", 12); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "div", 22)(4, "quml-mcq-option", 19); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("optionSelected", function McqComponent_div_4_Template_quml_mcq_option_optionSelected_4_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r17); + const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r16.getSelectedOptionAndResult($event)); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()()(); } if (rf & 2) { - const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqQuestion", ctx_r4.mcqQuestion)("layout", ctx_r4.layout); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("mcqOptions", ctx_r4.options)("replayed", ctx_r4.replayed)("cardinality", ctx_r4.cardinality)("solutions", ctx_r4.solutions)("layout", ctx_r4.layout)("tryAgain", ctx_r4.tryAgain)("numberOfCorrectOptions", ctx_r4.numberOfCorrectOptions); + const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqQuestion", ctx_r4.mcqQuestion)("layout", ctx_r4.layout); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("mcqOptions", ctx_r4.options)("replayed", ctx_r4.replayed)("cardinality", ctx_r4.cardinality)("solutions", ctx_r4.solutions)("layout", ctx_r4.layout)("tryAgain", ctx_r4.tryAgain)("numberOfCorrectOptions", ctx_r4.numberOfCorrectOptions); } } function McqComponent_quml_quml_popup_5_Template(rf, ctx) { if (rf & 1) { - const _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "quml-quml-popup", 23); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("popUpClose", function McqComponent_quml_quml_popup_5_Template_quml_quml_popup_popUpClose_0_listener() { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r19); - const ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); - return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r18.closePopUp()); + const _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "quml-quml-popup", 23); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("popUpClose", function McqComponent_quml_quml_popup_5_Template_quml_quml_popup_popUpClose_0_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r19); + const ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresetView"](ctx_r18.closePopUp()); }); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); } } class McqComponent { - constructor(domSanitizer, utilService) { + constructor(domSanitizer, utilService, viewerService) { this.domSanitizer = domSanitizer; this.utilService = utilService; - this.componentLoaded = new _angular_core__WEBPACK_IMPORTED_MODULE_4__.EventEmitter(); - this.answerChanged = new _angular_core__WEBPACK_IMPORTED_MODULE_4__.EventEmitter(); - this.optionSelected = new _angular_core__WEBPACK_IMPORTED_MODULE_4__.EventEmitter(); + this.viewerService = viewerService; + this.componentLoaded = new _angular_core__WEBPACK_IMPORTED_MODULE_5__.EventEmitter(); + this.answerChanged = new _angular_core__WEBPACK_IMPORTED_MODULE_5__.EventEmitter(); + this.optionSelected = new _angular_core__WEBPACK_IMPORTED_MODULE_5__.EventEmitter(); this.mcqOptions = []; this.showQumlPopup = false; } ngOnInit() { - this.numberOfCorrectOptions = lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.question.responseDeclaration.response1.correctResponse.value).length; + if (!this.viewerService.questionSetEvaluable) { + this.numberOfCorrectOptions = lodash_es__WEBPACK_IMPORTED_MODULE_6__["default"](this.question.responseDeclaration.response1.correctResponse.value).length; + } if (this.question?.solutions) { this.solutions = this.question.solutions; } @@ -85143,7 +85136,7 @@ class McqComponent { console.error("Invalid templateId"); } this.renderLatex(); - this.mcqQuestion = this.domSanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_4__.SecurityContext.HTML, this.domSanitizer.bypassSecurityTrustHtml(this.question.body)); + this.mcqQuestion = this.domSanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_5__.SecurityContext.HTML, this.domSanitizer.bypassSecurityTrustHtml(this.question.body)); this.options = this.question.interactions[key].options; this.initOptions(); } @@ -85161,7 +85154,7 @@ class McqComponent { } const option = this.options[j]; const optionValue = option.value.body; - const optionHtml = this.domSanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_4__.SecurityContext.HTML, this.domSanitizer.bypassSecurityTrustHtml(optionValue)); + const optionHtml = this.domSanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_5__.SecurityContext.HTML, this.domSanitizer.bypassSecurityTrustHtml(optionValue)); const optionToBePushed = {}; optionToBePushed.index = j; optionToBePushed.optionHtml = optionHtml; @@ -85200,9 +85193,9 @@ class McqComponent { this.showQumlPopup = false; } static #_ = this.ɵfac = function McqComponent_Factory(t) { - return new (t || McqComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_6__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_util_service__WEBPACK_IMPORTED_MODULE_0__.UtilService)); + return new (t || McqComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_util_service__WEBPACK_IMPORTED_MODULE_0__.UtilService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_services_viewer_service_viewer_service__WEBPACK_IMPORTED_MODULE_1__.ViewerService)); }; - static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineComponent"]({ type: McqComponent, selectors: [["quml-mcq"]], inputs: { @@ -85223,28 +85216,28 @@ class McqComponent { consts: [["class", "quml-mcq layoutDefault", 4, "ngIf"], ["class", "quml-mcq layoutImageGrid-mcq-horizontal", 4, "ngIf"], ["class", "quml-mcq layoutMultiImageGrid", 4, "ngIf"], ["class", "quml-mcq layoutImageQAGridMCQ-vSplit", 4, "ngIf"], ["class", "quml-mcq layoutImageOption", 4, "ngIf"], [3, "popUpClose", 4, "ngIf"], [1, "quml-mcq", "layoutDefault"], [1, "quml-mcq--question", "mb-16"], [3, "mcqQuestion", "layout", "showPopup"], [1, "quml-mcq--option"], [3, "mcqOptions", "replayed", "cardinality", "solutions", "layout", "numberOfCorrectOptions", "tryAgain", "optionSelected", "showPopup"], [1, "quml-mcq", "layoutImageGrid-mcq-horizontal"], [3, "mcqQuestion", "layout"], [3, "mcqOptions", "replayed", "cardinality", "layout", "solutions", "tryAgain", "numberOfCorrectOptions", "optionSelected"], [1, "quml-mcq", "layoutMultiImageGrid"], [1, "imageqa-wrapper", "image-grid"], [3, "shuffleOptions", "mcqOptions", "replayed", "cardinality", "solutions", "layout", "tryAgain", "numberOfCorrectOptions", "optionSelected"], [1, "quml-mcq", "layoutImageQAGridMCQ-vSplit"], [1, "imageqa-wrapper"], [3, "mcqOptions", "replayed", "cardinality", "solutions", "layout", "tryAgain", "numberOfCorrectOptions", "optionSelected"], [1, "quml-mcq", "layoutImageOption"], [1, "columnBlock", "questionBlock", "quml-mcq--question", "mb-16"], [1, "columnBlock", "quml-mcq--option"], [3, "popUpClose"]], template: function McqComponent_Template(rf, ctx) { if (rf & 1) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](0, McqComponent_div_0_Template, 5, 9, "div", 0); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](1, McqComponent_div_1_Template, 5, 9, "div", 1); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](2, McqComponent_div_2_Template, 6, 10, "div", 2); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](3, McqComponent_div_3_Template, 6, 9, "div", 3); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](4, McqComponent_div_4_Template, 5, 9, "div", 4); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](5, McqComponent_quml_quml_popup_5_Template, 1, 0, "quml-quml-popup", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](0, McqComponent_div_0_Template, 5, 9, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](1, McqComponent_div_1_Template, 5, 9, "div", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](2, McqComponent_div_2_Template, 6, 10, "div", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](3, McqComponent_div_3_Template, 6, 9, "div", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](4, McqComponent_div_4_Template, 5, 9, "div", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](5, McqComponent_quml_quml_popup_5_Template, 1, 0, "quml-quml-popup", 5); } if (rf & 2) { - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.layout == "DEFAULT"); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.layout == "IMAGEGRID"); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.layout === "MULTIIMAGEGRID"); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.layout == "IMAGEQAGRID"); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.layout == "IMAGEQOPTION"); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.showQumlPopup); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.layout == "DEFAULT"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.layout == "IMAGEGRID"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.layout === "MULTIIMAGEGRID"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.layout == "IMAGEQAGRID"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.layout == "IMAGEQOPTION"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.showQumlPopup); } }, - dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.NgIf, _mcq_question_mcq_question_component__WEBPACK_IMPORTED_MODULE_1__.McqQuestionComponent, _mcq_option_mcq_option_component__WEBPACK_IMPORTED_MODULE_2__.McqOptionComponent, _quml_popup_quml_popup_component__WEBPACK_IMPORTED_MODULE_3__.QumlPopupComponent], + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.NgIf, _mcq_question_mcq_question_component__WEBPACK_IMPORTED_MODULE_2__.McqQuestionComponent, _mcq_option_mcq_option_component__WEBPACK_IMPORTED_MODULE_3__.McqOptionComponent, _quml_popup_quml_popup_component__WEBPACK_IMPORTED_MODULE_4__.QumlPopupComponent], styles: [".quml-mcq[_ngcontent-%COMP%] {\n padding: 0px;\n}\n.quml-mcq[_ngcontent-%COMP%] .columnBlock[_ngcontent-%COMP%] {\n display: inline-block;\n min-width: 12.5rem;\n padding: 0.25rem;\n min-height: 12.5rem;\n vertical-align: top;\n}\n.quml-mcq[_ngcontent-%COMP%] .questionBlock[_ngcontent-%COMP%] {\n max-width: 17.1875rem;\n width: 30%;\n}\n.quml-mcq[_ngcontent-%COMP%] .quml-mcq--option[_ngcontent-%COMP%] {\n overflow-x: auto;\n}\n.quml-mcq[_ngcontent-%COMP%] .image-grid[_ngcontent-%COMP%] {\n display: flex;\n}\n.quml-mcq[_ngcontent-%COMP%] .image-grid[_ngcontent-%COMP%] .quml-mcq--question[_ngcontent-%COMP%] {\n flex-basis: 25%;\n}\n.quml-mcq[_ngcontent-%COMP%] .image-grid[_ngcontent-%COMP%] .quml-mcq--option[_ngcontent-%COMP%] {\n flex: 1 1 75%;\n}\n\n .layoutImageGrid-mcq-horizontal .quml-mcq--option .qumlImageOption .wrapper {\n grid-template-columns: repeat(4, 1fr);\n}\n@media only screen and (min-width: 360px) and (max-width: 640px) {\n .layoutImageGrid-mcq-horizontal .quml-mcq--option .qumlImageOption .wrapper {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n .layoutImageGrid-mcq-horizontal .quml-mcq-option-card .magnify-icon {\n width: 1rem;\n height: 1rem;\n right: -0.25rem;\n bottom: -0.25rem;\n border-top-left-radius: 0.4rem;\n}\n .layoutImageGrid-mcq-horizontal .quml-mcq-option-card .magnify-icon::after {\n width: 0.75rem;\n height: 0.75rem;\n bottom: 0.0625rem;\n right: 0.0625rem;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3Byb2plY3RzL3F1bWwtbGlicmFyeS9zcmMvbGliL21jcS9tY3EuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxZQUFBO0FBREY7QUFHRTtFQUNFLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUFESjtBQUlFO0VBQ0UscUJBQUE7RUFDQSxVQUFBO0FBRko7QUFLRTtFQUNFLGdCQUFBO0FBSEo7QUFLRTtFQUNFLGFBQUE7QUFISjtBQUtJO0VBQ0UsZUFBQTtBQUhOO0FBTUk7RUFDRSxhQUFBO0FBSk47O0FBV0U7RUFDRSxxQ0FBQTtBQVJKO0FBU0k7RUFGRjtJQUdJLHFDQUFBO0VBTko7QUFDRjtBQVVJO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4QkFBQTtBQVJOO0FBVUk7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7QUFSTiIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AcHJvamVjdC1zdW5iaXJkL3NiLXN0eWxlcy9hc3NldHMvbWl4aW5zL21peGlucyc7XG5cbi5xdW1sLW1jcSB7XG4gIHBhZGRpbmc6IDBweDtcblxuICAuY29sdW1uQmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IGNhbGN1bGF0ZVJlbSgyMDBweCk7XG4gICAgcGFkZGluZzogY2FsY3VsYXRlUmVtKDRweCk7XG4gICAgbWluLWhlaWdodDogY2FsY3VsYXRlUmVtKDIwMHB4KTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLnF1ZXN0aW9uQmxvY2sge1xuICAgIG1heC13aWR0aDogY2FsY3VsYXRlUmVtKDI3NXB4KTtcbiAgICB3aWR0aDogMzAlO1xuICB9XG5cbiAgLnF1bWwtbWNxLS1vcHRpb24ge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gIH1cbiAgLmltYWdlLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAucXVtbC1tY3EtLXF1ZXN0aW9uIHtcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICB9XG5cbiAgICAucXVtbC1tY3EtLW9wdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgNzUlO1xuICAgIH1cbiAgfVxufVxuXG5cbjo6bmctZGVlcCAubGF5b3V0SW1hZ2VHcmlkLW1jcS1ob3Jpem9udGFsIHtcbiAgLnF1bWwtbWNxLS1vcHRpb24gLnF1bWxJbWFnZU9wdGlvbiAud3JhcHBlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwxZnIpO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzYwcHgpIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwxZnIpO1xuICAgIH1cbiAgfVxuXG4gIC5xdW1sLW1jcS1vcHRpb24tY2FyZCB7XG4gICAgLm1hZ25pZnktaWNvbiB7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHJpZ2h0OiAtMC4yNXJlbTtcbiAgICAgIGJvdHRvbTogLTAuMjVyZW07XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjQwcmVtO1xuICAgIH1cbiAgICAubWFnbmlmeS1pY29uOjphZnRlciB7XG4gICAgICB3aWR0aDogMC43NXJlbTtcbiAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgIGJvdHRvbTogMC4wNjI1cmVtO1xuICAgICAgcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0= */", ".answer[_ngcontent-%COMP%] {\n border: 1px solid;\n padding: 0.2em;\n margin: 0.5em;\n}\n\n.icon[_ngcontent-%COMP%] {\n width: 15%;\n max-width: 70px;\n min-width: 50px;\n display: inline-block;\n vertical-align: top;\n}\n\n.mcqText[_ngcontent-%COMP%] {\n display: inline-block;\n word-break: break-word;\n}\n\n.mcq-option[_ngcontent-%COMP%] {\n background: var(--white);\n border-radius: 5px;\n margin: 8px 16px;\n padding: 8px;\n}\n\n.options[_ngcontent-%COMP%] {\n word-break: break-word;\n padding: 15px 5px;\n \n}\n\n.even[_ngcontent-%COMP%], .odd[_ngcontent-%COMP%] {\n width: 47%;\n display: inline-block;\n vertical-align: middle;\n}\n\n.column-block[_ngcontent-%COMP%] {\n display: inline-block;\n width: 48%;\n vertical-align: middle;\n}\n\n.selected[_ngcontent-%COMP%] {\n background: var(--primary-color);\n color: var(--white);\n box-shadow: 1px 2px 1px 3px var(--black);\n}\n\n.mathText[_ngcontent-%COMP%] {\n display: inline !important;\n}\n\n.padding-top[_ngcontent-%COMP%] {\n padding-top: 16px;\n}\n\n@media only screen and (min-width: 100px) and (max-width: 481px) {\n .mcqText[_ngcontent-%COMP%] {\n width: 75%;\n }\n .even[_ngcontent-%COMP%], .odd[_ngcontent-%COMP%] {\n width: 38%;\n display: inline-block;\n vertical-align: middle;\n }\n .column-block[_ngcontent-%COMP%] {\n display: inline-block;\n width: 42%;\n vertical-align: middle;\n }\n}\n@media only screen and (min-width: 481px) and (max-width: 800px) {\n .mcqText[_ngcontent-%COMP%] {\n width: 85%;\n }\n .even[_ngcontent-%COMP%], .odd[_ngcontent-%COMP%] {\n width: 43%;\n display: inline-block;\n vertical-align: middle;\n }\n .column-block[_ngcontent-%COMP%] {\n display: inline-block;\n width: 45%;\n vertical-align: middle;\n }\n}\n@media only screen and (min-width: 801px) and (max-width: 1200px) {\n .even[_ngcontent-%COMP%], .odd[_ngcontent-%COMP%] {\n width: 45%;\n }\n .column-block[_ngcontent-%COMP%] {\n display: inline-block;\n width: 45%;\n vertical-align: middle;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3Byb2plY3RzL3F1bWwtbGlicmFyeS9zcmMvbGliL3F1bWwtbGlicmFyeS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7QUFBSjs7QUFFQTtFQUNJLFVBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7QUFDSjs7QUFFQTtFQUNJLHFCQUFBO0VBQ0Esc0JBQUE7QUFDSjs7QUFFQTtFQUNJLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7QUFDSjs7QUFFQTtFQUNJLHNCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQ0FBQTtBQUNKOztBQUVBOztFQUVJLFVBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0FBQ0o7O0FBRUE7RUFDSSxxQkFBQTtFQUNBLFVBQUE7RUFDQSxzQkFBQTtBQUNKOztBQUVBO0VBQ0ksZ0NBQUE7RUFDQSxtQkFBQTtFQUNBLHdDQUFBO0FBQ0o7O0FBRUE7RUFDSSwwQkFBQTtBQUNKOztBQUVBO0VBQ0ksaUJBQUE7QUFDSjs7QUFFQTtFQUNJO0lBQ0ksVUFBQTtFQUNOO0VBRUU7O0lBRUksVUFBQTtJQUNBLHFCQUFBO0lBQ0Esc0JBQUE7RUFBTjtFQUVFO0lBQ0kscUJBQUE7SUFDQSxVQUFBO0lBQ0Esc0JBQUE7RUFBTjtBQUNGO0FBR0E7RUFDSTtJQUNJLFVBQUE7RUFETjtFQUlFOztJQUVJLFVBQUE7SUFDQSxxQkFBQTtJQUNBLHNCQUFBO0VBRk47RUFJRTtJQUNJLHFCQUFBO0lBQ0EsVUFBQTtJQUNBLHNCQUFBO0VBRk47QUFDRjtBQUtBO0VBQ0k7O0lBRUksVUFBQTtFQUhOO0VBTUU7SUFDSSxxQkFBQTtJQUNBLFVBQUE7SUFDQSxzQkFBQTtFQUpOO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AcHJvamVjdC1zdW5iaXJkL3NiLXN0eWxlcy9hc3NldHMvbWl4aW5zL21peGlucyc7XG4uYW5zd2VyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nOiAwLjJlbTtcbiAgICBtYXJnaW46IDAuNWVtO1xufVxuLmljb24ge1xuICAgIHdpZHRoOiAxNSU7XG4gICAgbWF4LXdpZHRoOiA3MHB4O1xuICAgIG1pbi13aWR0aDogNTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLm1jcVRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4ubWNxLW9wdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBtYXJnaW46IDhweCAxNnB4O1xuICAgIHBhZGRpbmc6IDhweDtcbn1cblxuLm9wdGlvbnN7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAvKiBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgKi9cbn1cblxuLmV2ZW4sXG4ub2RkIHtcbiAgICB3aWR0aDogNDclO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMXB4IDJweCAxcHggM3B4IHZhcigtLWJsYWNrKTtcbn1cblxuLm1hdGhUZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdG9we1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMHB4KSBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgICAubWNxVGV4dCB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuXG4gICAgLmV2ZW4sXG4gICAgLm9kZCB7XG4gICAgICAgIHdpZHRoOiAzOCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQyJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5tY3FUZXh0IHtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICB9XG5cbiAgICAuZXZlbixcbiAgICAub2RkIHtcbiAgICAgICAgd2lkdGg6IDQzJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5ldmVuLFxuICAgIC5vZGQge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgIH1cblxuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiIn0= */"] }); } @@ -85462,14 +85455,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "QumlLibraryService": () => (/* binding */ QumlLibraryService) /* harmony export */ }); -/* harmony import */ var _home_ttpl_rt_171_Documents_inQuiry_player_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 1670); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2560); -/* harmony import */ var _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @project-sunbird/client-services/telemetry */ 4635); -/* harmony import */ var _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es */ 2941); -/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es */ 4607); -/* harmony import */ var _util_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util-service */ 2025); - +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2560); +/* harmony import */ var _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @project-sunbird/client-services/telemetry */ 4635); +/* harmony import */ var _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es */ 2941); +/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es */ 4607); +/* harmony import */ var _util_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util-service */ 2025); @@ -85479,73 +85470,70 @@ class QumlLibraryService { constructor(utilService) { this.utilService = utilService; this.isSectionsAvailable = false; - this.telemetryEvent = new _angular_core__WEBPACK_IMPORTED_MODULE_3__.EventEmitter(); + this.telemetryEvent = new _angular_core__WEBPACK_IMPORTED_MODULE_2__.EventEmitter(); } initializeTelemetry(config, parentConfig) { - var _this = this; - return (0,_home_ttpl_rt_171_Documents_inQuiry_player_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](config, 'context') || lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](config, 'context')) { - return; - } - _this.duration = new Date().getTime(); - _this.context = config?.context; - _this.contentSessionId = _this.utilService.uniqueId(); - _this.playSessionId = _this.utilService.uniqueId(); - _this.channel = _this.context.channel || ''; - _this.pdata = _this.context.pdata; - _this.sid = _this.context.sid; - _this.uid = _this.context.uid; - _this.rollup = _this.context.contextRollup; - _this.config = config; - _this.isSectionsAvailable = parentConfig?.isSectionsAvailable; - /* istanbul ignore else */ - if (!_project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.isInitialised && _this.context) { - const telemetryConfig = { - pdata: _this.context.pdata, - env: 'contentplayer', - channel: _this.context.channel, - did: _this.context.did, - authtoken: _this.context.authToken || '', - uid: _this.context.uid || '', - sid: _this.context.sid, - batchsize: 20, - mode: _this.context.mode, - host: _this.context.host || '', - endpoint: _this.context.endpoint || '/data/v3/telemetry', - tags: _this.context.tags, - cdata: (_this.context.cdata || []).concat([{ - id: _this.contentSessionId, - type: 'ContentSession' - }, { - id: _this.playSessionId, - type: 'PlaySession' - }, { - id: '2.0', - type: 'PlayerVersion' - }]) - }; - yield _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.init({}); - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.initTelemetry({ - config: telemetryConfig, - userOrgDetails: {} - }); - } - _this.telemetryObject = { - id: parentConfig.identifier, - type: 'Content', - ver: parentConfig?.metadata?.pkgVersion ? parentConfig.metadata.pkgVersion.toString() : '', - rollup: _this.context?.objectRollup || {} + if (!lodash_es__WEBPACK_IMPORTED_MODULE_3__["default"](config, 'context') || lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](config, 'context')) { + return; + } + this.duration = new Date().getTime(); + this.context = config?.context; + this.contentSessionId = this.utilService.uniqueId(); + this.playSessionId = this.utilService.uniqueId(); + this.channel = this.context.channel || ''; + this.pdata = this.context.pdata; + this.sid = this.context.sid; + this.uid = this.context.uid; + this.rollup = this.context.contextRollup; + this.config = config; + this.isSectionsAvailable = parentConfig?.isSectionsAvailable; + /* istanbul ignore else */ + if (!_project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.isInitialised && this.context) { + const telemetryConfig = { + pdata: this.context.pdata, + env: 'contentplayer', + channel: this.context.channel, + did: this.context.did, + authtoken: this.context.authToken || '', + uid: this.context.uid || '', + sid: this.context.sid, + batchsize: 20, + mode: this.context.mode, + host: this.context.host || '', + endpoint: this.context.endpoint || '/data/v3/telemetry', + tags: this.context.tags, + cdata: (this.context.cdata || []).concat([{ + id: this.contentSessionId, + type: 'ContentSession' + }, { + id: this.playSessionId, + type: 'PlaySession' + }, { + id: '2.0', + type: 'PlayerVersion' + }]) }; - })(); + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.init({}); + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.initTelemetry({ + config: telemetryConfig, + userOrgDetails: {} + }); + } + this.telemetryObject = { + id: parentConfig.identifier, + type: 'Content', + ver: parentConfig?.metadata?.pkgVersion ? parentConfig.metadata.pkgVersion.toString() : '', + rollup: this.context?.objectRollup || {} + }; } startAssesEvent(assesEvent) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseAssesTelemetry(assesEvent, this.getEventOptions()); + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseAssesTelemetry(assesEvent, this.getEventOptions()); } } start(duration) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseStartTelemetry({ + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseStartTelemetry({ options: this.getEventOptions(), edata: { type: 'content', @@ -85557,7 +85545,7 @@ class QumlLibraryService { } } response(identifier, version, type, option) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { const responseEvent = { target: { id: identifier, @@ -85569,18 +85557,18 @@ class QumlLibraryService { option }] }; - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseResponseTelemetry(responseEvent, this.getEventOptions()); + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseResponseTelemetry(responseEvent, this.getEventOptions()); } } summary(eData) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseSummaryTelemetry(eData, this.getEventOptions()); + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseSummaryTelemetry(eData, this.getEventOptions()); } } end(duration, currentQuestionIndex, totalNoofQuestions, visitedQuestions, endpageseen, score) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { const durationSec = Number((duration / 1e3).toFixed(2)); - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseEndTelemetry({ + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseEndTelemetry({ edata: { type: 'content', mode: 'play', @@ -85603,8 +85591,8 @@ class QumlLibraryService { } } interact(id, currentPage, currentQuestionDetails) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseInteractTelemetry({ + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseInteractTelemetry({ options: this.getEventOptions(), edata: { type: 'TOUCH', @@ -85616,13 +85604,13 @@ class QumlLibraryService { } } heartBeat(data) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.playerTelemetryService.onHeartBeatEvent(data, {}); + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.playerTelemetryService.onHeartBeatEvent(data, {}); } } impression(currentPage) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseImpressionTelemetry({ + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseImpressionTelemetry({ options: this.getEventOptions(), edata: { type: 'workflow', @@ -85634,8 +85622,8 @@ class QumlLibraryService { } } error(error, edata) { - if (!lodash_es__WEBPACK_IMPORTED_MODULE_5__["default"](this.context)) { - _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_1__.CsTelemetryModule.instance.telemetryService.raiseErrorTelemetry({ + if (!lodash_es__WEBPACK_IMPORTED_MODULE_4__["default"](this.context)) { + _project_sunbird_client_services_telemetry__WEBPACK_IMPORTED_MODULE_0__.CsTelemetryModule.instance.telemetryService.raiseErrorTelemetry({ options: this.getEventOptions(), edata: { err: 'LOAD', @@ -85677,9 +85665,9 @@ class QumlLibraryService { return options; } static #_ = this.ɵfac = function QumlLibraryService_Factory(t) { - return new (t || QumlLibraryService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_util_service__WEBPACK_IMPORTED_MODULE_2__.UtilService)); + return new (t || QumlLibraryService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_util_service__WEBPACK_IMPORTED_MODULE_1__.UtilService)); }; - static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ token: QumlLibraryService, factory: QumlLibraryService.ɵfac, providedIn: 'root' @@ -86369,8 +86357,9 @@ function SectionPlayerComponent_div_0_ul_19_li_1_ul_3_li_1_Template(rf, ctx) { const j_r36 = ctx.index; _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"](4); const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵreference"](9); + const ctx_r34 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"](); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵattributeInterpolate1"]("aria-label", "question number ", question_r35 == null ? null : question_r35.index, ""); - _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngClass", j_r36 + 1 === _r6.getCurrentSlideIndex() ? question_r35.class === "skipped" ? "progressBar-border" : "progressBar-border " + question_r35.class : question_r35.class); + _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngClass", j_r36 + 1 === _r6.getCurrentSlideIndex() ? question_r35.class === "skipped" ? "progressBar-border" : ctx_r34.questionSetEvaluable ? "att-color progressBar-border" : "progressBar-border " + question_r35.class : ctx_r34.questionSetEvaluable ? question_r35.class === "skipped" || question_r35.class === "unattempted" ? question_r35.class : "att-color" : question_r35.class); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](1); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtextInterpolate1"](" ", question_r35 == null ? null : question_r35.index, " "); } @@ -86513,8 +86502,9 @@ function SectionPlayerComponent_div_0_ul_21_li_1_Template(rf, ctx) { const j_r51 = ctx.index; _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"](2); const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵreference"](9); + const ctx_r49 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"](); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵattributeInterpolate1"]("aria-label", "question number ", question_r50 == null ? null : question_r50.index, ""); - _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngClass", j_r51 + 1 === _r6.getCurrentSlideIndex() ? question_r50.class === "skipped" ? "progressBar-border" : "progressBar-border " + question_r50.class : question_r50.class); + _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngClass", j_r51 + 1 === _r6.getCurrentSlideIndex() ? question_r50.class === "skipped" ? "progressBar-border" : ctx_r49.questionSetEvaluable ? "att-color progressBar-border" : "progressBar-border " + question_r50.class : ctx_r49.questionSetEvaluable ? question_r50.class === "skipped" || question_r50.class === "unattempted" ? question_r50.class : "att-color" : question_r50.class); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](1); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtextInterpolate1"](" ", question_r50 == null ? null : question_r50.index, " "); } @@ -86711,7 +86701,7 @@ function SectionPlayerComponent_div_0_Template(rf, ctx) { _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](3); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.currentSlideIndex !== 0); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.currentSolutions && ctx_r0.showUserSolution); + _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.currentSolutions && ctx_r0.showUserSolution && !ctx_r0.questionSetEvaluable); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](2); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("interval", 0)("showIndicators", false)("noWrap", true); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](3); @@ -86729,9 +86719,9 @@ function SectionPlayerComponent_div_0_Template(rf, ctx) { _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](1); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.parentConfig.requiresSubmit && (ctx_r0.progressBarClass == null ? null : ctx_r0.progressBarClass.length)); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.showAlert && ctx_r0.showFeedBack); + _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.showAlert && ctx_r0.showFeedBack && !ctx_r0.questionSetEvaluable); _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](1); - _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.showSolution); + _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r0.showSolution && !ctx_r0.questionSetEvaluable); } } function SectionPlayerComponent_div_1_Template(rf, ctx) { @@ -86881,12 +86871,15 @@ class SectionPlayerComponent { this.warningTime = this.timeLimit ? this.timeLimit - this.timeLimit * this.parentConfig.warningTime / 100 : 0; this.showWarningTimer = this.parentConfig.showWarningTimer; this.showTimer = this.sectionConfig.metadata?.showTimer; + //server-level-validation + this.questionSetEvaluable = this.viewerService.questionSetEvaluable; if (this.sectionConfig.metadata?.showFeedback) { this.showFeedBack = this.sectionConfig.metadata?.showFeedback; // prioritize the section level config } else { this.showFeedBack = this.parentConfig.showFeedback; // Fallback to parent config } + this.showFeedBack = this.showFeedBack && !this.questionSetEvaluable; // showFeedBack should evaluate from questionSetEvaluable field this.showUserSolution = this.sectionConfig.metadata?.showSolutions; this.startPageInstruction = this.sectionConfig.metadata?.instructions || this.parentConfig.instructions; this.linearNavigation = this.sectionConfig.metadata.navigationMode === 'non-linear' ? false : true; @@ -86960,7 +86953,7 @@ class SectionPlayerComponent { this.currentSlideIndex = this.currentSlideIndex + 1; } /* istanbul ignore else */ - if (this.myCarousel.isLast(this.myCarousel.getCurrentSlideIndex()) || this.noOfQuestions === this.myCarousel.getCurrentSlideIndex()) { + if (this.myCarousel.isLast(this.myCarousel.getCurrentSlideIndex()) || this.noOfQuestions === this.myCarousel.getCurrentSlideIndex() && !this.questionSetEvaluable) { this.calculateScore(); } /* istanbul ignore else */ @@ -87072,7 +87065,7 @@ class SectionPlayerComponent { } updateScoreForShuffledQuestion() { const currentIndex = this.myCarousel.getCurrentSlideIndex() - 1; - if (this.isShuffleQuestions) { + if (this.isShuffleQuestions && !this.questionSetEvaluable) { this.updateScoreBoard(currentIndex, 'correct', undefined, _player_constants__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_SCORE); } } @@ -87164,7 +87157,11 @@ class SectionPlayerComponent { } else { this.optionSelectedObj = optionSelected; this.isAssessEventRaised = false; - this.currentSolutions = !lodash_es__WEBPACK_IMPORTED_MODULE_21__["default"](optionSelected.solutions) ? optionSelected.solutions : undefined; + if (!this.questionSetEvaluable) { + this.currentSolutions = !lodash_es__WEBPACK_IMPORTED_MODULE_21__["default"](optionSelected.solutions) ? optionSelected.solutions : undefined; + } else { + this.currentSolutions = undefined; + } } this.currentQuestionIndetifier = this.questions[currentIndex].identifier; this.media = lodash_es__WEBPACK_IMPORTED_MODULE_19__["default"](this.questions[currentIndex], 'media', []); @@ -87281,50 +87278,58 @@ class SectionPlayerComponent { if (this.optionSelectedObj) { this.currentQuestion = selectedQuestion.body; this.currentOptions = selectedQuestion.interactions[key].options; - if (option.cardinality === _telemetry_constants__WEBPACK_IMPORTED_MODULE_0__.Cardinality.single) { - const correctOptionValue = Number(selectedQuestion.responseDeclaration[key].correctResponse.value); - this.showAlert = true; - if (option.option?.value === correctOptionValue) { - const currentScore = this.getScore(currentIndex, key, true); - if (!this.isAssessEventRaised) { - this.isAssessEventRaised = true; - this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'Yes', currentScore, [option.option], this.slideDuration); - } - this.alertType = 'correct'; - if (this.showFeedBack) this.correctFeedBackTimeOut(type); - this.updateScoreBoard(currentIndex, 'correct', undefined, currentScore); - } else { - const currentScore = this.getScore(currentIndex, key, false, option); - this.alertType = 'wrong'; - const classType = this.progressBarClass[currentIndex].class === 'partial' ? 'partial' : 'wrong'; - this.updateScoreBoard(currentIndex, classType, selectedOptionValue, currentScore); - /* istanbul ignore else */ - if (!this.isAssessEventRaised) { - this.isAssessEventRaised = true; - this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'No', 0, [option.option], this.slideDuration); + if (!this.questionSetEvaluable) { + if (option.cardinality === _telemetry_constants__WEBPACK_IMPORTED_MODULE_0__.Cardinality.single) { + const correctOptionValue = Number(selectedQuestion.responseDeclaration[key].correctResponse.value); + this.showAlert = true; + if (option.option?.value === correctOptionValue) { + const currentScore = this.getScore(currentIndex, key, true); + if (!this.isAssessEventRaised) { + this.isAssessEventRaised = true; + this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'Yes', currentScore, [option.option], this.slideDuration); + } + this.alertType = 'correct'; + if (this.showFeedBack) this.correctFeedBackTimeOut(type); + this.updateScoreBoard(currentIndex, 'correct', undefined, currentScore); + } else { + const currentScore = this.getScore(currentIndex, key, false, option); + this.alertType = 'wrong'; + const classType = this.progressBarClass[currentIndex].class === 'partial' ? 'partial' : 'wrong'; + this.updateScoreBoard(currentIndex, classType, selectedOptionValue, currentScore); + /* istanbul ignore else */ + if (!this.isAssessEventRaised) { + this.isAssessEventRaised = true; + this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'No', 0, [option.option], this.slideDuration); + } } } - } - if (option.cardinality === _telemetry_constants__WEBPACK_IMPORTED_MODULE_0__.Cardinality.multiple) { - const responseDeclaration = this.questions[currentIndex].responseDeclaration; - const outcomeDeclaration = this.questions[currentIndex].outcomeDeclaration; - const currentScore = this.utilService.getMultiselectScore(option.option, responseDeclaration, this.isShuffleQuestions, outcomeDeclaration); - this.showAlert = true; - if (currentScore === 0) { - if (!this.isAssessEventRaised) { - this.isAssessEventRaised = true; - this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'No', 0, [option.option], this.slideDuration); - } - this.alertType = 'wrong'; - this.updateScoreBoard(currentIndex, 'wrong'); - } else { - this.updateScoreBoard(currentIndex, 'correct', undefined, currentScore); - if (!this.isAssessEventRaised) { - this.isAssessEventRaised = true; - this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'Yes', currentScore, [option.option], this.slideDuration); + if (option.cardinality === _telemetry_constants__WEBPACK_IMPORTED_MODULE_0__.Cardinality.multiple) { + const responseDeclaration = this.questions[currentIndex].responseDeclaration; + const outcomeDeclaration = this.questions[currentIndex].outcomeDeclaration; + const currentScore = this.utilService.getMultiselectScore(option.option, responseDeclaration, this.isShuffleQuestions, outcomeDeclaration); + this.showAlert = true; + if (currentScore === 0) { + if (!this.isAssessEventRaised) { + this.isAssessEventRaised = true; + this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'No', 0, [option.option], this.slideDuration); + } + this.alertType = 'wrong'; + this.updateScoreBoard(currentIndex, 'wrong'); + } else { + this.updateScoreBoard(currentIndex, 'correct', undefined, currentScore); + if (!this.isAssessEventRaised) { + this.isAssessEventRaised = true; + this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, 'Yes', currentScore, [option.option], this.slideDuration); + } + if (this.showFeedBack) this.correctFeedBackTimeOut(type); + this.alertType = 'correct'; } - if (this.showFeedBack) this.correctFeedBackTimeOut(type); - this.alertType = 'correct'; + } + } else { + this.updateScoreBoard(currentIndex, 'correct', undefined, 0); + if (!this.isAssessEventRaised) { + this.isAssessEventRaised = true; + this.viewerService.raiseAssesEvent(edataItem, currentIndex + 1, '', 0, [option.option], this.slideDuration); } } this.optionSelectedObj = undefined; @@ -88080,6 +88085,7 @@ class ViewerService { this.isAvailableLocally = false; this.isSectionsAvailable = false; this.sectionQuestions = []; + this.questionSetEvaluable = false; } initialize(config, threshold, questionIds, parentConfig) { this.qumlLibraryService.initializeTelemetry(config, parentConfig); @@ -88173,14 +88179,24 @@ class ViewerService { } } raiseAssesEvent(questionData, index, pass, score, resValues, duration) { - const assessEvent = { - item: questionData, - index: index, - pass: pass, - score: score, - resvalues: resValues, - duration: duration - }; + let assessEvent; + if (!this.questionSetEvaluable) { + assessEvent = { + item: questionData, + index: index, + pass: pass, + score: score, + resvalues: resValues, + duration: duration + }; + } else { + assessEvent = { + item: questionData, + index: index, + resvalues: resValues, + duration: duration + }; + } this.qumlPlayerEvent.emit(assessEvent); this.qumlLibraryService.startAssesEvent(assessEvent); } @@ -88374,6 +88390,13 @@ class ViewerService { const videoElements = Array.from(document.getElementsByTagName('video')); videoElements.forEach(element => element.pause()); } + serverValidationCheck(mode) { + if (mode == 'server') { + this.questionSetEvaluable = true; + } else { + this.questionSetEvaluable = false; + } + } static #_ = this.ɵfac = function ViewerService_Factory(t) { return new (t || ViewerService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_quml_library_service__WEBPACK_IMPORTED_MODULE_1__.QumlLibraryService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_util_service__WEBPACK_IMPORTED_MODULE_2__.UtilService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_quml_question_cursor_service__WEBPACK_IMPORTED_MODULE_3__.QuestionCursor), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_transformation_service_transformation_service__WEBPACK_IMPORTED_MODULE_4__.TransformationService)); };