import * as ModalFactory from 'core/modal_factory';
import jQuery from 'jquery';
import Pending from 'core/pending';
+import {enter, space} from 'core/key_codes';
/**
* Set up listener to trigger the download course content modal.
export const init = () => {
const pendingPromise = new Pending();
- document.addEventListener('click', (e) => {
- const downloadModalTrigger = e.target.closest('[data-downloadcourse]');
-
- if (downloadModalTrigger) {
+ // Add event listeners for click and enter/space keys.
+ jQuery('[data-downloadcourse]').on('click keydown', (e) => {
+ if (e.type === 'click' || e.which === enter || e.which === space) {
e.preventDefault();
- displayDownloadConfirmation(downloadModalTrigger);
+ displayDownloadConfirmation(e.currentTarget);
}
});
'data-download-button-text' => get_string('download'),
'data-download-link' => $downloadlink->out(false),
'data-download-title' => get_string('downloadcoursecontent', 'course'),
+ 'data-overrides-tree-activation-key-handler' => 1,
];
return $downloadattr;