Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue/2799 Removed redundant behaviour #158

Merged
merged 3 commits into from
Apr 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "adapt-contrib-assessment",
"version": "4.6.1",
"framework": ">=5.11",
"framework": ">=5.19.1",
"homepage": "https://github.com/adaptlearning/adapt-contrib-assessment",
"bugs": "https://github.com/adaptlearning/adapt-contrib-assessment/issues",
"extension": "assessment",
Expand Down
20 changes: 12 additions & 8 deletions js/adapt-assessmentArticleModel.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import Adapt from 'core/js/adapt';
import data from 'core/js/data';
import logging from 'core/js/logging';
import location from 'core/js/location';
import router from 'core/js/router';
import QuestionBank from './adapt-assessmentQuestionBank';

let givenIdCount = 0;
Expand Down Expand Up @@ -154,7 +158,7 @@ const AssessmentModel = {
quizModels = this.getChildren().models;
} else if (quizModels.length === 0) {
quizModels = this.getChildren().models;
Adapt.log.warn('assessment: Not enough unique questions to create a fresh assessment, using last selection');
logging.warn('assessment: Not enough unique questions to create a fresh assessment, using last selection');
}

this.getChildren().models = quizModels;
Expand Down Expand Up @@ -489,7 +493,7 @@ const AssessmentModel = {
if (!this.canResetInPage()) return false;

const parentId = this.getParent().get('_id');
const currentLocation = Adapt.location._currentId;
const currentLocation = location._currentId;

// check if on assessment page and should rerender page
if (currentLocation !== parentId) return false;
Expand All @@ -503,12 +507,12 @@ const AssessmentModel = {
this._forceResetOnRevisit = true;
this.listenToOnce(Adapt, 'pageView:ready', async () => {
if (assessmentConfig._scrollToOnReset) {
await Adapt.navigateToElement(this.get('_id'));
await router.navigateToElement(this.get('_id'));
}
callback();
});
_.delay(() => {
Backbone.history.navigate('#/id/' + Adapt.location._currentId, { replace: true, trigger: true });
Backbone.history.navigate('#/id/' + location._currentId, { replace: true, trigger: true });
}, 250);
},

Expand Down Expand Up @@ -539,7 +543,7 @@ const AssessmentModel = {

const questions = this.get('_questions');
for (const question of questions) {
const questionModel = Adapt.findById(question._id);
const questionModel = data.findById(question._id);
if (questionModel.get('_isAvailable') && !questionModel.get('_isSubmitted')) {
wereQuestionsRestored = false;
break;
Expand Down Expand Up @@ -631,7 +635,7 @@ const AssessmentModel = {
// include presentation blocks in save state so that blocks without questions aren't removed
blocks = this.findDescendantModels('block');
} else {
blocks = state.questions.map(question => Adapt.findById(question._id).getParent());
blocks = state.questions.map(question => data.findById(question._id).getParent());
}
blocks = [...new Set(blocks)]
.filter(block => block.trackingPosition);
Expand Down Expand Up @@ -677,9 +681,9 @@ const AssessmentModel = {
const blocks = blockData[0].map(trackingPosition => {
if (typeof trackingPosition === 'number') {
// Backwards compability for courses which use _trackingId at block level
return Adapt.data.findWhere({ _trackingId: trackingPosition });
return data.findWhere({ _trackingId: trackingPosition });
}
return Adapt.data.findByTrackingPosition(trackingPosition);
return data.findByTrackingPosition(trackingPosition);
});

if (blocks.length) {
Expand Down
5 changes: 3 additions & 2 deletions js/adapt-assessmentArticleView.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Adapt from 'core/js/adapt';
import logging from 'core/js/logging';
import AdaptArticleView from 'core/js/views/articleView';

const AssessmentView = {
Expand Down Expand Up @@ -34,13 +35,13 @@ const AssessmentView = {
_onAssessmentComplete(state, model) {
if (state.id !== this.model.get('_assessment')._id) return;

Adapt.log.info('assessment complete', state, model);
logging.info('assessment complete', state, model);
},

_onAssessmentReset(state, model) {
if (state.id !== this.model.get('_assessment')._id) return;

Adapt.log.info('assessment reset', state, model);
logging.info('assessment reset', state, model);

},

Expand Down
4 changes: 2 additions & 2 deletions js/adapt-assessmentQuestionBank.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Adapt from 'core/js/adapt';
import logging from 'core/js/logging';

class QuestionBank {

Expand Down Expand Up @@ -49,7 +49,7 @@ class QuestionBank {

getRandomQuestion() {
if (this.unUsedQuestionBlocks !== undefined && this.unUsedQuestionBlocks.length < 1) {
Adapt.log.warn('assessment:' + this._articleId + ' No more unique questions for _assessment._quizBankID ' + this._id);
logging.warn('assessment:' + this._articleId + ' No more unique questions for _assessment._quizBankID ' + this._id);
return undefined;
}

Expand Down
30 changes: 17 additions & 13 deletions js/assessment.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import Adapt from 'core/js/adapt';
import offlineStorage from 'core/js/offlineStorage';
import wait from 'core/js/wait';
import data from 'core/js/data';
import logging from 'core/js/logging';

/*
* Here we setup a registry for all assessments
Expand Down Expand Up @@ -32,7 +36,7 @@ class Assessment extends Backbone.Controller {
if (assessmentId === undefined) return;

if (!this._getStateByAssessmentId(assessmentId)) {
Adapt.log.warn('assessments: state was not registered when assessment was created');
logging.warn('assessments: state was not registered when assessment was created');
}

this.saveState();
Expand All @@ -46,12 +50,12 @@ class Assessment extends Backbone.Controller {
_restoreModelState(assessmentModel) {

if (!this._saveStateModel) {
this._saveStateModel = Adapt.offlineStorage.get('a');
this._saveStateModel = offlineStorage.get('a');
}
if (this._saveStateModel) {
const state = assessmentModel.getState();
if (this._saveStateModel[state.id]) {
assessmentModel.setRestoreState(Adapt.offlineStorage.deserialize(this._saveStateModel[state.id]));
assessmentModel.setRestoreState(offlineStorage.deserialize(this._saveStateModel[state.id]));
}
}

Expand All @@ -66,14 +70,14 @@ class Assessment extends Backbone.Controller {
}

// Check the 'id' passed is that of an article.
if (!Adapt.findById(id)) {
if (!data.findById(id)) {
// The 'id' passed may have been the assessment _id/name, not the article _id.
const assessment = Adapt.assessment._assessments._byAssessmentId[id];
if (assessment) {
// Set 'id' to the article _id.
id = assessment.get('_id');
} else {
Adapt.log.warn('Assessment not found with _id: ' + id);
logging.warn('Assessment not found with _id: ' + id);
return;
}
}
Expand All @@ -99,7 +103,7 @@ class Assessment extends Backbone.Controller {
* Here we further hijack the router to ensure the asynchronous assessment
* reset completes before routing completes
*/
Adapt.wait.for(function resetAllAssessments(allAssessmentHaveReset) {
wait.for(function resetAllAssessments(allAssessmentHaveReset) {

const numberOfAssessments = pageAssessmentModels.length;
let numberOfResetAssessments = 0;
Expand Down Expand Up @@ -208,7 +212,7 @@ class Assessment extends Backbone.Controller {
}
}

const pageModel = Adapt.findById(id);
const pageModel = data.findById(id);
pageModel?.set({
_subProgressTotal: assessmentsTotal,
_subProgressComplete: assessmentsPassed
Expand All @@ -219,18 +223,18 @@ class Assessment extends Backbone.Controller {

_addToAssessmentIdMap(id, model) {
if (id === undefined) {
Adapt.log.warn('An assessment has been registered with an undefined value for "_id"');
logging.warn('An assessment has been registered with an undefined value for "_id"');
return;
}

if (id === '') {
Adapt.log.warn('An assessment has been registered with an empty value for "_id"');
logging.warn('An assessment has been registered with an empty value for "_id"');
}

if (!this._assessments._byAssessmentId[id]) {
this._assessments._byAssessmentId[id] = model;
} else {
Adapt.log.warn('An assessment with an _id of "' + id + '" already exists!');
logging.warn('An assessment with an _id of "' + id + '" already exists!');
}
}

Expand Down Expand Up @@ -300,10 +304,10 @@ class Assessment extends Backbone.Controller {
this._saveStateModel = {};
for (const assessmentModel of this._assessments) {
const state = assessmentModel.getState();
this._saveStateModel[state.id] = Adapt.offlineStorage.serialize(assessmentModel.getSaveState());
this._saveStateModel[state.id] = offlineStorage.serialize(assessmentModel.getSaveState());
}

Adapt.offlineStorage.set('a', this._saveStateModel);
offlineStorage.set('a', this._saveStateModel);
}

getConfig() {
Expand Down Expand Up @@ -355,7 +359,7 @@ class Assessment extends Backbone.Controller {
const correctAsPercent = (questionCount === 0) ? 0 : Math.round((correctCount / questionCount) * 100);

if (assessmentsConfig._correctToPass === undefined) {
Adapt.log.warnOnce('Assessment course config is missing _correctToPass');
logging.warnOnce('Assessment course config is missing _correctToPass');
}

const scoreToPass = assessmentsConfig._scoreToPass;
Expand Down