MDL-72061 reportbuilder: Fix lost focus on action menu items

This commit is contained in:
David Matamoros
2022-02-09 17:19:48 +01:00
parent 48a6e92700
commit ad35d520c8
6 changed files with 19 additions and 9 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
function _typeof(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}define ("core_reportbuilder/reports_list",["exports","core/event_dispatcher","core/notification","core/pending","core/prefetch","core/str","core/toast","core_reportbuilder/local/events","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/reports","core_reportbuilder/local/repository/modals"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;c=n(c);d=n(d);h=m(h);i=m(i);function l(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;l=function(){return a};return a}function m(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=l();if(b&&b.has(a)){return b.get(a)}var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a){if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;if(f&&(f.get||f.set)){Object.defineProperty(c,e,f)}else{c[e]=a[e]}}}c.default=a;if(b){b.set(a,c)}return c}function n(a){return a&&a.__esModule?a:{default:a}}a.init=function init(){(0,e.prefetchStrings)("core_reportbuilder",["deletereport","deletereportconfirm","editreportdetails","newreport","reportdeleted","reportupdated"]);(0,e.prefetchStrings)("core",["delete"]);document.addEventListener("click",function(a){var e=a.target.closest(i.actions.reportCreate);if(e){a.preventDefault();var n=(0,k.createReportModal)(a.target,(0,f.get_string)("newreport","core_reportbuilder"));n.addEventListener(n.events.FORM_SUBMITTED,function(a){window.location.href=a.detail});n.show()}var l=a.target.closest(i.actions.reportEdit);if(l){a.preventDefault();var o=(0,k.createReportModal)(l,(0,f.get_string)("editreportdetails","core_reportbuilder"),l.dataset.reportId);o.addEventListener(o.events.FORM_SUBMITTED,function(){var d=a.target.closest(i.regions.report);(0,f.get_string)("reportupdated","core_reportbuilder").then(g.add).then(function(){(0,b.dispatchEvent)(h.tableReload,{preservePagination:!0},d)}).catch(c.default.exception)});o.show()}var m=a.target.closest(i.actions.reportDelete);if(m){a.preventDefault();c.default.saveCancelPromise((0,f.get_string)("deletereport","core_reportbuilder"),(0,f.get_string)("deletereportconfirm","core_reportbuilder",m.dataset.reportName),(0,f.get_string)("delete","core"),{triggerElement:m}).then(function(){var e=new d.default("core_reportbuilder/reports:delete"),k=a.target.closest(i.regions.report);return(0,j.deleteReport)(m.dataset.reportId).then(function(){return(0,g.add)((0,f.get_string)("reportdeleted","core_reportbuilder"))}).then(function(){(0,b.dispatchEvent)(h.tableReload,{preservePagination:!0},k);return e.resolve()}).catch(c.default.exception)}).catch(function(){})}})}});
function _typeof(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}define ("core_reportbuilder/reports_list",["exports","core/event_dispatcher","core/notification","core/pending","core/prefetch","core/str","core/toast","core_reportbuilder/local/events","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/reports","core_reportbuilder/local/repository/modals"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;c=n(c);d=n(d);h=m(h);i=m(i);function l(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;l=function(){return a};return a}function m(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=l();if(b&&b.has(a)){return b.get(a)}var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a){if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;if(f&&(f.get||f.set)){Object.defineProperty(c,e,f)}else{c[e]=a[e]}}}c.default=a;if(b){b.set(a,c)}return c}function n(a){return a&&a.__esModule?a:{default:a}}a.init=function init(){(0,e.prefetchStrings)("core_reportbuilder",["deletereport","deletereportconfirm","editreportdetails","newreport","reportdeleted","reportupdated"]);(0,e.prefetchStrings)("core",["delete"]);document.addEventListener("click",function(a){var e=a.target.closest(i.actions.reportCreate);if(e){a.preventDefault();var p=(0,k.createReportModal)(a.target,(0,f.get_string)("newreport","core_reportbuilder"));p.addEventListener(p.events.FORM_SUBMITTED,function(a){window.location.href=a.detail});p.show()}var l=a.target.closest(i.actions.reportEdit);if(l){a.preventDefault();var m=l.closest(".dropdown").querySelector(".dropdown-toggle"),n=(0,k.createReportModal)(m,(0,f.get_string)("editreportdetails","core_reportbuilder"),l.dataset.reportId);n.addEventListener(n.events.FORM_SUBMITTED,function(){var d=a.target.closest(i.regions.report);(0,f.get_string)("reportupdated","core_reportbuilder").then(g.add).then(function(){(0,b.dispatchEvent)(h.tableReload,{preservePagination:!0},d)}).catch(c.default.exception)});n.show()}var o=a.target.closest(i.actions.reportDelete);if(o){a.preventDefault();var q=o.closest(".dropdown").querySelector(".dropdown-toggle");c.default.saveCancelPromise((0,f.get_string)("deletereport","core_reportbuilder"),(0,f.get_string)("deletereportconfirm","core_reportbuilder",o.dataset.reportName),(0,f.get_string)("delete","core"),{triggerElement:q}).then(function(){var e=new d.default("core_reportbuilder/reports:delete"),k=a.target.closest(i.regions.report);return(0,j.deleteReport)(o.dataset.reportId).then(function(){return(0,g.add)((0,f.get_string)("reportdeleted","core_reportbuilder"))}).then(function(){(0,b.dispatchEvent)(h.tableReload,{preservePagination:!0},k);return e.resolve()}).catch(c.default.exception)}).catch(function(){})}})}});
//# sourceMappingURL=reports_list.min.js.map
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
function _typeof(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}define ("core_reportbuilder/schedules",["exports","core/event_dispatcher","core/inplace_editable","core/notification","core/pending","core/prefetch","core/str","core/toast","core_reportbuilder/local/events","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/modals","core_reportbuilder/local/repository/schedules"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;d=o(d);e=o(e);i=n(i);j=n(j);function m(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;m=function(){return a};return a}function n(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=m();if(b&&b.has(a)){return b.get(a)}var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a){if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;if(f&&(f.get||f.set)){Object.defineProperty(c,e,f)}else{c[e]=a[e]}}}c.default=a;if(b){b.set(a,c)}return c}function o(a){return a&&a.__esModule?a:{default:a}}var p=!1,q=function(a){(0,f.prefetchStrings)("core_reportbuilder",["deleteschedule","deletescheduleconfirm","disableschedule","editscheduledetails","enableschedule","newschedule","schedulecreated","scheduledeleted","schedulesent","scheduleupdated","sendschedule","sendscheduleconfirm"]);(0,f.prefetchStrings)("core",["confirm","delete"]);if(p){return}document.addEventListener("click",function(c){var f=c.target.closest(j.actions.scheduleCreate);if(f){c.preventDefault();var s=(0,k.createScheduleModal)(c.target,(0,g.get_string)("newschedule","core_reportbuilder"),a);s.addEventListener(s.events.FORM_SUBMITTED,function(){(0,g.get_string)("schedulecreated","core_reportbuilder").then(h.add).then(function(){var a=document.querySelector(j.regions.report);(0,b.dispatchEvent)(i.tableReload,{},a)}).catch(d.default.exception)});s.show()}var m=c.target.closest(j.actions.scheduleToggle);if(m){var n=new e.default("core_reportbuilder/schedules:toggle"),o=+!+m.dataset.state;(0,l.toggleSchedule)(a,m.dataset.id,o).then(function(){var a=m.closest("tr");a.classList.toggle("dimmed_text");m.dataset.state=o;var b=o?"disableschedule":"enableschedule";return(0,g.get_string)(b,"core_reportbuilder")}).then(function(a){var b=m.parentElement.querySelector("label[for=\"".concat(m.id,"\"] > span"));b.innerHTML=a;return n.resolve()}).catch(d.default.exception)}var p=c.target.closest(j.actions.scheduleEdit);if(p){c.preventDefault();var t=(0,k.createScheduleModal)(p,(0,g.get_string)("editscheduledetails","core_reportbuilder"),a,p.dataset.scheduleId);t.addEventListener(t.events.FORM_SUBMITTED,function(){(0,g.get_string)("scheduleupdated","core_reportbuilder").then(h.add).then(function(){var a=p.closest(j.regions.report);(0,b.dispatchEvent)(i.tableReload,{},a)}).catch(d.default.exception)});t.show()}var q=c.target.closest(j.actions.scheduleSend);if(q){c.preventDefault();d.default.saveCancelPromise((0,g.get_string)("sendschedule","core_reportbuilder"),(0,g.get_string)("sendscheduleconfirm","core_reportbuilder",q.dataset.scheduleName),(0,g.get_string)("confirm","core"),{triggerElement:q}).then(function(){var b=new e.default("core_reportbuilder/schedules:send");return(0,l.sendSchedule)(a,q.dataset.scheduleId).then((0,h.add)((0,g.get_string)("schedulesent","core_reportbuilder"))).then(function(){return b.resolve()}).catch(d.default.exception)}).catch(function(){})}var r=c.target.closest(j.actions.scheduleDelete);if(r){c.preventDefault();d.default.saveCancelPromise((0,g.get_string)("deleteschedule","core_reportbuilder"),(0,g.get_string)("deletescheduleconfirm","core_reportbuilder",r.dataset.scheduleName),(0,g.get_string)("delete","core"),{triggerElement:r}).then(function(){var c=new e.default("core_reportbuilder/schedules:delete");return(0,l.deleteSchedule)(a,r.dataset.scheduleId).then((0,h.add)((0,g.get_string)("scheduledeleted","core_reportbuilder"))).then(function(){var a=r.closest(j.regions.report);(0,b.dispatchEvent)(i.tableReload,{preservePagination:!0},a);return c.resolve()}).catch(d.default.exception)}).catch(function(){})}});p=!0};a.init=q});
function _typeof(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){_typeof=function(a){return typeof a}}else{_typeof=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return _typeof(a)}define ("core_reportbuilder/schedules",["exports","core/event_dispatcher","core/inplace_editable","core/notification","core/pending","core/prefetch","core/str","core/toast","core_reportbuilder/local/events","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/modals","core_reportbuilder/local/repository/schedules"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;d=o(d);e=o(e);i=n(i);j=n(j);function m(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;m=function(){return a};return a}function n(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=m();if(b&&b.has(a)){return b.get(a)}var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a){if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;if(f&&(f.get||f.set)){Object.defineProperty(c,e,f)}else{c[e]=a[e]}}}c.default=a;if(b){b.set(a,c)}return c}function o(a){return a&&a.__esModule?a:{default:a}}var p=!1,q=function(a){(0,f.prefetchStrings)("core_reportbuilder",["deleteschedule","deletescheduleconfirm","disableschedule","editscheduledetails","enableschedule","newschedule","schedulecreated","scheduledeleted","schedulesent","scheduleupdated","sendschedule","sendscheduleconfirm"]);(0,f.prefetchStrings)("core",["confirm","delete"]);if(p){return}document.addEventListener("click",function(c){var f=c.target.closest(j.actions.scheduleCreate);if(f){c.preventDefault();var u=(0,k.createScheduleModal)(c.target,(0,g.get_string)("newschedule","core_reportbuilder"),a);u.addEventListener(u.events.FORM_SUBMITTED,function(){(0,g.get_string)("schedulecreated","core_reportbuilder").then(h.add).then(function(){var a=document.querySelector(j.regions.report);(0,b.dispatchEvent)(i.tableReload,{},a)}).catch(d.default.exception)});u.show()}var m=c.target.closest(j.actions.scheduleToggle);if(m){var n=new e.default("core_reportbuilder/schedules:toggle"),o=+!+m.dataset.state;(0,l.toggleSchedule)(a,m.dataset.id,o).then(function(){var a=m.closest("tr");a.classList.toggle("dimmed_text");m.dataset.state=o;var b=o?"disableschedule":"enableschedule";return(0,g.get_string)(b,"core_reportbuilder")}).then(function(a){var b=m.parentElement.querySelector("label[for=\"".concat(m.id,"\"] > span"));b.innerHTML=a;return n.resolve()}).catch(d.default.exception)}var p=c.target.closest(j.actions.scheduleEdit);if(p){c.preventDefault();var q=p.closest(".dropdown").querySelector(".dropdown-toggle"),r=(0,k.createScheduleModal)(q,(0,g.get_string)("editscheduledetails","core_reportbuilder"),a,p.dataset.scheduleId);r.addEventListener(r.events.FORM_SUBMITTED,function(){(0,g.get_string)("scheduleupdated","core_reportbuilder").then(h.add).then(function(){var a=p.closest(j.regions.report);(0,b.dispatchEvent)(i.tableReload,{},a)}).catch(d.default.exception)});r.show()}var s=c.target.closest(j.actions.scheduleSend);if(s){c.preventDefault();var v=s.closest(".dropdown").querySelector(".dropdown-toggle");d.default.saveCancelPromise((0,g.get_string)("sendschedule","core_reportbuilder"),(0,g.get_string)("sendscheduleconfirm","core_reportbuilder",s.dataset.scheduleName),(0,g.get_string)("confirm","core"),{triggerElement:v}).then(function(){var b=new e.default("core_reportbuilder/schedules:send");return(0,l.sendSchedule)(a,s.dataset.scheduleId).then((0,h.add)((0,g.get_string)("schedulesent","core_reportbuilder"))).then(function(){return b.resolve()}).catch(d.default.exception)}).catch(function(){})}var t=c.target.closest(j.actions.scheduleDelete);if(t){c.preventDefault();var w=t.closest(".dropdown").querySelector(".dropdown-toggle");d.default.saveCancelPromise((0,g.get_string)("deleteschedule","core_reportbuilder"),(0,g.get_string)("deletescheduleconfirm","core_reportbuilder",t.dataset.scheduleName),(0,g.get_string)("delete","core"),{triggerElement:w}).then(function(){var c=new e.default("core_reportbuilder/schedules:delete");return(0,l.deleteSchedule)(a,t.dataset.scheduleId).then((0,h.add)((0,g.get_string)("scheduledeleted","core_reportbuilder"))).then(function(){var a=t.closest(j.regions.report);(0,b.dispatchEvent)(i.tableReload,{preservePagination:!0},a);return c.resolve()}).catch(d.default.exception)}).catch(function(){})}});p=!0};a.init=q});
//# sourceMappingURL=schedules.min.js.map
File diff suppressed because one or more lines are too long
+6 -2
View File
@@ -70,7 +70,9 @@ export const init = () => {
event.preventDefault();
// Reload current report page after submission.
const reportModal = createReportModal(reportEdit, getString('editreportdetails', 'core_reportbuilder'),
// Use triggerElement to return focus to the action menu toggle.
const triggerElement = reportEdit.closest('.dropdown').querySelector('.dropdown-toggle');
const reportModal = createReportModal(triggerElement, getString('editreportdetails', 'core_reportbuilder'),
reportEdit.dataset.reportId);
reportModal.addEventListener(reportModal.events.FORM_SUBMITTED, () => {
const reportElement = event.target.closest(reportSelectors.regions.report);
@@ -91,11 +93,13 @@ export const init = () => {
if (reportDelete) {
event.preventDefault();
// Use triggerElement to return focus to the action menu toggle.
const triggerElement = reportDelete.closest('.dropdown').querySelector('.dropdown-toggle');
Notification.saveCancelPromise(
getString('deletereport', 'core_reportbuilder'),
getString('deletereportconfirm', 'core_reportbuilder', reportDelete.dataset.reportName),
getString('delete', 'core'),
{triggerElement: reportDelete}
{triggerElement}
).then(() => {
const pendingPromise = new Pending('core_reportbuilder/reports:delete');
const reportElement = event.target.closest(reportSelectors.regions.report);
+9 -3
View File
@@ -119,7 +119,9 @@ export const init = reportId => {
if (scheduleEdit) {
event.preventDefault();
const scheduleModal = createScheduleModal(scheduleEdit, getString('editscheduledetails', 'core_reportbuilder'),
// Use triggerElement to return focus to the action menu toggle.
const triggerElement = scheduleEdit.closest('.dropdown').querySelector('.dropdown-toggle');
const scheduleModal = createScheduleModal(triggerElement, getString('editscheduledetails', 'core_reportbuilder'),
reportId, scheduleEdit.dataset.scheduleId);
scheduleModal.addEventListener(scheduleModal.events.FORM_SUBMITTED, () => {
getString('scheduleupdated', 'core_reportbuilder')
@@ -140,11 +142,13 @@ export const init = reportId => {
if (scheduleSend) {
event.preventDefault();
// Use triggerElement to return focus to the action menu toggle.
const triggerElement = scheduleSend.closest('.dropdown').querySelector('.dropdown-toggle');
Notification.saveCancelPromise(
getString('sendschedule', 'core_reportbuilder'),
getString('sendscheduleconfirm', 'core_reportbuilder', scheduleSend.dataset.scheduleName),
getString('confirm', 'core'),
{triggerElement: scheduleSend}
{triggerElement}
).then(() => {
const pendingPromise = new Pending('core_reportbuilder/schedules:send');
@@ -162,11 +166,13 @@ export const init = reportId => {
if (scheduleDelete) {
event.preventDefault();
// Use triggerElement to return focus to the action menu toggle.
const triggerElement = scheduleDelete.closest('.dropdown').querySelector('.dropdown-toggle');
Notification.saveCancelPromise(
getString('deleteschedule', 'core_reportbuilder'),
getString('deletescheduleconfirm', 'core_reportbuilder', scheduleDelete.dataset.scheduleName),
getString('delete', 'core'),
{triggerElement: scheduleDelete}
{triggerElement}
).then(() => {
const pendingPromise = new Pending('core_reportbuilder/schedules:delete');