diff --git a/src/lib/exports/config.context.ts b/src/lib/exports/config.context.ts index eb0b5b3e..177928c7 100644 --- a/src/lib/exports/config.context.ts +++ b/src/lib/exports/config.context.ts @@ -2,6 +2,7 @@ import { createContext } from '@lit/context'; export interface ConfigContext { infoItemCategory?: string; + reportValidityAfterScoring?: boolean; } export const configContext = createContext>(Symbol('configContext')); diff --git a/src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts b/src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts index 3237751b..ee1e6cd1 100755 --- a/src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts +++ b/src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts @@ -189,8 +189,8 @@ export class QtiAssessmentItem extends LitElement { } } - public processResponse(countNumAttempts: boolean = true): boolean { - this.validate(); + public processResponse(countNumAttempts = true, reportValidityAfterScoring = true): boolean { + this.validate(reportValidityAfterScoring); const responseProcessor = this.querySelector('qti-response-processing'); if (!responseProcessor) { // console.info('Client side response processing template not available'); diff --git a/src/lib/qti-test/components/test-navigation.ts b/src/lib/qti-test/components/test-navigation.ts index 050c2c97..70dbed08 100644 --- a/src/lib/qti-test/components/test-navigation.ts +++ b/src/lib/qti-test/components/test-navigation.ts @@ -66,7 +66,8 @@ export class TestNavigation extends LitElement { `qti-assessment-item-ref[identifier="${this._sessionContext.navItemId}"]` ); const qtiAssessmentItemEl = qtiItemEl.assessmentItem; - qtiAssessmentItemEl.processResponse(); + const reportValidityAfterScoring = this.configContext?.reportValidityAfterScoring === true ? true : false; + qtiAssessmentItemEl.processResponse(true, reportValidityAfterScoring); } private _handleTestShowCorrectResponse(event: CustomEvent) {