From 1c5b59e9cab1164160cf9a5b8ec007cf6a8d50de Mon Sep 17 00:00:00 2001 From: danielghost Date: Tue, 25 Feb 2025 17:26:30 +0000 Subject: [PATCH] Update: Include associated contentObjects with `cmi.interactions.n.objectives` (fixes #331). --- js/adapt-stateful-session.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/adapt-stateful-session.js b/js/adapt-stateful-session.js index 4454139..270ae2c 100644 --- a/js/adapt-stateful-session.js +++ b/js/adapt-stateful-session.js @@ -232,9 +232,13 @@ export default class StatefulSession extends Backbone.Controller { const result = model.isCorrect(); const latency = model?.getLatency?.() ?? view.getLatency(); const correctResponsesPattern = model.getInteractionObject()?.correctResponsesPattern; - const objectiveIds = Adapt?.scoring?.getSubsetsByModelId(modelId) + const contentObjectIds = model.getAncestorModels() + .filter(model => !model.isTypeGroup('course') && model.isTypeGroup('contentobject')) + .map(model => model.get('_id')); + const scoringSetIds = Adapt?.scoring?.getSubsetsByModelId(modelId) .filter(set => set.type !== 'adapt') .map(({ id }) => id); + const objectiveIds = contentObjectIds.concat(scoringSetIds); const description = model.get('body'); offlineStorage.set('interaction', id, response, result, latency, responseType, correctResponsesPattern, objectiveIds, description); }