MDL-69301 course: Remove custom keyboard navigation code

This commit is contained in:
Shamim Rezaie 2020-09-17 02:43:18 +10:00
parent c8ea0c12d7
commit 7bd6145d13
6 changed files with 4 additions and 78 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
define ("core_course/local/activitychooser/selectors",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;var b=function(a,b){return"[data-".concat(a,"=\"").concat(b,"\"]")},c={regions:{chooser:b("region","chooser-container"),getSectionChooserOptions:function getSectionChooserOptions(a){return"".concat(a," ").concat(b("region","chooser-options-container"))},chooserOption:{container:b("region","chooser-option-container"),actions:b("region","chooser-option-actions-container"),info:b("region","chooser-option-info-container")},chooserSummary:{container:b("region","chooser-option-summary-container"),content:b("region","chooser-option-summary-content-container"),header:b("region","summary-header"),actions:b("region","chooser-option-summary-actions-container")},carousel:b("region","carousel"),help:b("region","help"),modules:b("region","modules"),favouriteTabNav:b("region","favourite-tab-nav"),recommendedTabNav:b("region","recommended-tab-nav"),defaultTabNav:b("region","default-tab-nav"),activityTabNav:b("region","activity-tab-nav"),resourceTabNav:b("region","resources-tab-nav"),favouriteTab:b("region","favourites"),recommendedTab:b("region","recommended"),defaultTab:b("region","default"),activityTab:b("region","activity"),resourceTab:b("region","resources"),getModuleSelector:function getModuleSelector(a){return"[role=\"menuitem\"][data-modname=\"".concat(a,"\"]")},searchResults:b("region","search-results-container"),searchResultItems:b("region","search-result-items-container")},actions:{optionActions:{showSummary:b("action","show-option-summary"),manageFavourite:b("action","manage-module-favourite")},addChooser:b("action","add-chooser-option"),closeOption:b("action","close-chooser-option-summary"),hide:b("action","hide"),search:b("action","search"),clearSearch:b("action","clearsearch")},render:{favourites:b("render","favourites-area")},elements:{section:".section",sectionmodchooser:"button.section-modchooser-link",sitemenu:".block_site_main_menu",sitetopic:"div.sitetopic",tab:"a[data-toggle=\"tab\"]",activetab:"a[data-toggle=\"tab\"][aria-selected=\"true\"]",visibletabs:"a[data-toggle=\"tab\"]:not(.d-none)"}};a.default=c;return a.default});
define ("core_course/local/activitychooser/selectors",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;var b=function(a,b){return"[data-".concat(a,"=\"").concat(b,"\"]")},c={regions:{chooser:b("region","chooser-container"),getSectionChooserOptions:function getSectionChooserOptions(a){return"".concat(a," ").concat(b("region","chooser-options-container"))},chooserOption:{container:b("region","chooser-option-container"),actions:b("region","chooser-option-actions-container"),info:b("region","chooser-option-info-container")},chooserSummary:{container:b("region","chooser-option-summary-container"),content:b("region","chooser-option-summary-content-container"),header:b("region","summary-header"),actions:b("region","chooser-option-summary-actions-container")},carousel:b("region","carousel"),help:b("region","help"),modules:b("region","modules"),favouriteTabNav:b("region","favourite-tab-nav"),defaultTabNav:b("region","default-tab-nav"),activityTabNav:b("region","activity-tab-nav"),favouriteTab:b("region","favourites"),recommendedTab:b("region","recommended"),defaultTab:b("region","default"),activityTab:b("region","activity"),resourceTab:b("region","resources"),getModuleSelector:function getModuleSelector(a){return"[role=\"menuitem\"][data-modname=\"".concat(a,"\"]")},searchResults:b("region","search-results-container"),searchResultItems:b("region","search-result-items-container")},actions:{optionActions:{showSummary:b("action","show-option-summary"),manageFavourite:b("action","manage-module-favourite")},addChooser:b("action","add-chooser-option"),closeOption:b("action","close-chooser-option-summary"),hide:b("action","hide"),search:b("action","search"),clearSearch:b("action","clearsearch")},render:{favourites:b("render","favourites-area")},elements:{section:".section",sectionmodchooser:"button.section-modchooser-link",sitemenu:".block_site_main_menu",sitetopic:"div.sitetopic",tab:"a[data-toggle=\"tab\"]",activetab:"a[data-toggle=\"tab\"][aria-selected=\"true\"]",visibletabs:"a[data-toggle=\"tab\"]:not(.d-none)"}};a.default=c;return a.default});
//# sourceMappingURL=selectors.min.js.map

File diff suppressed because one or more lines are too long

View File

@ -216,7 +216,6 @@ const registerListenerEvents = (modal, mappedModules, partialFavourite, footerDa
const firstChooserOption = sectionChooserOptions.querySelector(selectors.regions.chooserOption.container);
toggleFocusableChooserOption(firstChooserOption, true);
initTabsKeyboardNavigation(body);
initChooserOptionsKeyboardNavigation(body, mappedModules, sectionChooserOptions, modal);
return body;
@ -235,77 +234,6 @@ const registerListenerEvents = (modal, mappedModules, partialFavourite, footerDa
.catch();
};
/**
* Initialise the keyboard navigation controls for the tab list items.
*
* @method initTabsKeyboardNavigation
* @param {HTMLElement} body Our modal that we are working with
*/
const initTabsKeyboardNavigation = (body) => {
// Set up the tab handlers.
const favTabNav = body.querySelector(selectors.regions.favouriteTabNav);
const recommendedTabNav = body.querySelector(selectors.regions.recommendedTabNav);
const defaultTabNav = body.querySelector(selectors.regions.defaultTabNav);
const activityTabNav = body.querySelector(selectors.regions.activityTabNav);
const resourceTabNav = body.querySelector(selectors.regions.resourceTabNav);
const tabNavArray = [favTabNav, recommendedTabNav, defaultTabNav, activityTabNav, resourceTabNav];
tabNavArray.forEach((element) => {
return element.addEventListener('keydown', (e) => {
// The first visible navigation tab link.
const firstLink = e.target.parentElement.querySelector(selectors.elements.visibletabs);
// The last navigation tab link. It would always be the default activities tab link.
const lastLink = e.target.parentElement.lastElementChild;
if (e.keyCode === arrowRight) {
const nextLink = e.target.nextElementSibling;
if (nextLink === null) {
e.target.tabIndex = -1;
firstLink.tabIndex = 0;
firstLink.focus();
} else if (nextLink.classList.contains('d-none')) {
e.target.tabIndex = -1;
lastLink.tabIndex = 0;
lastLink.focus();
} else {
e.target.tabIndex = -1;
nextLink.tabIndex = 0;
nextLink.focus();
}
}
if (e.keyCode === arrowLeft) {
const previousLink = e.target.previousElementSibling;
if (previousLink === null) {
e.target.tabIndex = -1;
lastLink.tabIndex = 0;
lastLink.focus();
} else if (previousLink.classList.contains('d-none')) {
e.target.tabIndex = -1;
firstLink.tabIndex = 0;
firstLink.focus();
} else {
e.target.tabIndex = -1;
previousLink.tabIndex = 0;
previousLink.focus();
}
}
if (e.keyCode === home) {
e.target.tabIndex = -1;
firstLink.tabIndex = 0;
firstLink.focus();
}
if (e.keyCode === end) {
e.target.tabIndex = -1;
lastLink.tabIndex = 0;
lastLink.focus();
}
if (e.keyCode === space) {
e.preventDefault();
e.target.click();
}
});
});
};
/**
* Initialise the keyboard navigation controls for the chooser options.
*

View File

@ -52,10 +52,8 @@ export default {
help: getDataSelector('region', 'help'),
modules: getDataSelector('region', 'modules'),
favouriteTabNav: getDataSelector('region', 'favourite-tab-nav'),
recommendedTabNav: getDataSelector('region', 'recommended-tab-nav'),
defaultTabNav: getDataSelector('region', 'default-tab-nav'),
activityTabNav: getDataSelector('region', 'activity-tab-nav'),
resourceTabNav: getDataSelector('region', 'resources-tab-nav'),
favouriteTab: getDataSelector('region', 'favourites'),
recommendedTab: getDataSelector('region', 'recommended'),
defaultTab: getDataSelector('region', 'default'),