From 63c3c611fc51648d016295f24a962c53d57212de Mon Sep 17 00:00:00 2001 From: Brad Simpson Date: Mon, 19 Aug 2024 04:28:23 -0600 Subject: [PATCH] Fix: Resolve minor JavaScript linting issues and hasOwnProperty warning (fixes #571) (#572) * Fix minor JS linting issues * Fix hasOwnProperty warning in img.lazyload.js --- js/fixes/img.lazyload.js | 2 +- js/models/itemsComponentModel.js | 4 ++-- js/router.js | 26 +++++++++++++------------- js/views/buttonsView.js | 2 +- js/views/menuItemView.js | 2 +- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/js/fixes/img.lazyload.js b/js/fixes/img.lazyload.js index 0bfc07e1..fcb29630 100644 --- a/js/fixes/img.lazyload.js +++ b/js/fixes/img.lazyload.js @@ -34,7 +34,7 @@ function applyImgLoadingFix() { Adapt.on('reactElement:preRender', event => { if (event.name !== 'img') return; const options = event.args[1] = event.args[1] || {}; - if (options && options.hasOwnProperty('loading')) return; + if (options && Object.prototype.hasOwnProperty.call(options, 'loading')) return; options.loading = 'eager'; }); } diff --git a/js/models/itemsComponentModel.js b/js/models/itemsComponentModel.js index 6e74831f..eae87a20 100644 --- a/js/models/itemsComponentModel.js +++ b/js/models/itemsComponentModel.js @@ -14,7 +14,7 @@ export default class ItemsComponentModel extends ComponentModel { this.setUpItems(); this.listenTo(this.getChildren(), { all: this.onAll, - 'change': this.storeUserAnswer, + change: this.storeUserAnswer, 'change:_isActive': this.setVisitedStatus, 'change:_isVisited': this.checkCompletionStatus }); @@ -27,7 +27,7 @@ export default class ItemsComponentModel extends ComponentModel { this.getChildren().forEach(child => child.set('_isVisited', booleanArray[child.get('_index')])); } - storeUserAnswer() { + storeUserAnswer() { const items = this.getChildren().slice(0); items.sort((a, b) => a.get('_index') - b.get('_index')); const booleanArray = items.map(child => child.get('_isVisited')); diff --git a/js/router.js b/js/router.js index 7a68455d..225b06b0 100644 --- a/js/router.js +++ b/js/router.js @@ -260,19 +260,19 @@ class Router extends Backbone.Router { let _parentId = parentModel.get('_id'); const built = buildTypes.map((_type, index) => { const ModelClass = components.getModelClass({ _type }); - const _id = `preview-${_type}` + const _id = `preview-${_type}`; const builtModel = new ModelClass({ _type, _id, _parentId, _isPreview: true }); - if (index) parentModel.getChildren().add(builtModel) - data.add(builtModel) - parentModel = builtModel - _parentId = _id - return builtModel - }) + if (index) parentModel.getChildren().add(builtModel); + data.add(builtModel); + parentModel = builtModel; + _parentId = _id; + return builtModel; + }); // Clone the requested content to sanitise model.deepClone((clone, orig) => { // Make the cloned item available and unlocked @@ -298,16 +298,16 @@ class Router extends Backbone.Router { }); }); built.forEach(model => model.setupModel()); - isContentObject = true - model = built[0] - model.setOnChildren({ _isPreview : true }) + isContentObject = true; + model = built[0]; + model.setOnChildren({ _isPreview: true }); } const navigateToId = model.get('_id'); // Ensure that the router is rendering a contentobject model = isContentObject ? model : model.findAncestor('contentobject'); - id = model.get('_id'); + id = navigateToId; /** * TODO: @@ -351,7 +351,7 @@ class Router extends Backbone.Router { } async removePreviews() { - const previews = data.filter(model => model.get('_isPreview')) + const previews = data.filter(model => model.get('_isPreview')); previews.forEach(model => data.remove(model)); } @@ -582,7 +582,7 @@ class Router extends Backbone.Router { } onLanguageChange() { - this.updateLocation(null, null, null, null) + this.updateLocation(null, null, null, null); } } diff --git a/js/views/buttonsView.js b/js/views/buttonsView.js index 6fa27354..b7c8d1f3 100644 --- a/js/views/buttonsView.js +++ b/js/views/buttonsView.js @@ -191,7 +191,7 @@ export default class ButtonsView extends Backbone.View { : isPartlyCorrect ? (ariaLabels.answeredPartlyCorrect ?? ariaLabels.answeredIncorrectly) : ariaLabels.answeredIncorrectly; - + if (!hasSpanAriaLabel) { // Backward compability $marking.attr('aria-label', correctnessAriaLabel); diff --git a/js/views/menuItemView.js b/js/views/menuItemView.js index 4d04d89b..64241264 100644 --- a/js/views/menuItemView.js +++ b/js/views/menuItemView.js @@ -4,7 +4,7 @@ class MenuItemView extends AdaptView { attributes() { return AdaptView.resultExtend('attributes', { - 'role': 'listitem', + role: 'listitem', 'aria-labelledby': this.model.get('_id') + '-heading' }, this); }