MDL-73103 reportbuilder: use new notification confirmation method.
Prefetch all language strings used by editor modules. Co-authored-by: Andrew Nicols <[email protected]>
This commit is contained in:
co-authored by
Andrew Nicols
parent
aecdb936cf
commit
b103060753
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -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/local/editor/filters",["exports","jquery","core/event_dispatcher","core/inplace_editable","core/notification","core/pending","core/sortable_list","core/str","core/templates","core/toast","core_reportbuilder/local/events","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/filters"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=p(b);e=p(e);f=p(f);g=p(g);i=p(i);k=o(k);l=o(l);function n(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;n=function(){return a};return a}function o(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=n();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 p(a){return a&&a.__esModule?a:{default:a}}function q(a,b){return v(a)||u(a,b)||s(a,b)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(a,b){if(!a)return;if("string"==typeof a)return t(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);if("Object"===c&&a.constructor)c=a.constructor.name;if("Map"===c||"Set"===c)return Array.from(c);if("Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return t(a,b)}function t(a,b){if(null==b||b>a.length)b=a.length;for(var c=0,d=Array(b);c<b;c++){d[c]=a[c]}return d}function u(a,b){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(a)))return;var c=[],d=!0,e=!1,f=void 0;try{for(var g=a[Symbol.iterator](),h;!(d=(h=g.next()).done);d=!0){c.push(h.value);if(b&&c.length===b)break}}catch(a){e=!0;f=a}finally{try{if(!d&&null!=g["return"])g["return"]()}finally{if(e)throw f}}return c}function v(a){if(Array.isArray(a))return a}var w=function(a,b){var c=new f.default("core_reportbuilder/filters:reload"),d=a.querySelector(l.regions.settingsFilters);return i.default.renderForPromise("core_reportbuilder/local/settings/filters",{filters:b}).then(function(b){var e=b.html,f=b.js;i.default.replaceNode(d,e,f);var g=a.querySelector(l.actions.reportAddFilter);null===g||void 0===g?void 0:g.focus();return c.resolve()})},x=function(a){if(a){return}document.addEventListener("click",function(a){var b=a.target.closest(l.actions.reportAddFilter);if(b){a.preventDefault();var o=b.closest(l.regions.report);if("0"===b.value){return}var p=new f.default("core_reportbuilder/filters:add");(0,m.addFilter)(o.dataset.reportId,b.value).then(function(a){return w(o,a)}).then(function(){return(0,h.get_string)("filteradded","core_reportbuilder",b.options[b.selectedIndex].text)}).then(j.add).then(function(){return p.resolve()}).catch(e.default.exception)}var d=a.target.closest(l.actions.reportRemoveFilter);if(d){a.preventDefault();var g=d.closest(l.regions.report),i=d.closest(l.regions.activeFilter),n=i.dataset.filterName;(0,h.get_strings)([{key:"deletefilter",component:"core_reportbuilder",param:n},{key:"deletefilterconfirm",component:"core_reportbuilder",param:n},{key:"delete",component:"moodle"}]).then(function(a){var b=q(a,3),d=b[0],l=b[1],o=b[2];e.default.confirm(d,l,o,null,function(){var a=new f.default("core_reportbuilder/filters:remove");(0,m.deleteFilter)(g.dataset.reportId,i.dataset.filterId).then(function(a){return w(g,a)}).then(function(){return(0,h.get_string)("filterdeleted","core_reportbuilder",n)}).then(j.add).then(function(){(0,c.dispatchEvent)(k.tableReload,{},g);return a.resolve()}).catch(e.default.exception)})}).catch(e.default.exception)}});var d=new g.default("".concat(l.regions.activeFilters," ul"),{isHorizontal:!1});d.getElementName=function(a){return Promise.resolve(a.data("filterName"))};(0,b.default)(document).on(g.default.EVENTS.DROP,"".concat(l.regions.report," li[data-filter-id]"),function(a,b){if(b.positionChanged){var c=new f.default("core_reportbuilder/filters:reorder"),d=a.target.closest(l.regions.report),g=b.element.data("filterId"),i=b.element.data("filterPosition"),k=b.targetNextElement.data("filterPosition")||b.element.siblings().length+2;if(k>i){k--}(0,m.reorderFilter)(d.dataset.reportId,g,k).then(function(a){return w(d,a)}).then(function(){return(0,h.get_string)("filtermoved","core_reportbuilder",b.element.data("filterName"))}).then(j.add).then(function(){return c.resolve()}).catch(e.default.exception)}})};a.init=x});
|
||||
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/local/editor/filters",["exports","jquery","core/event_dispatcher","core/inplace_editable","core/notification","core/pending","core/prefetch","core/sortable_list","core/str","core/templates","core/toast","core_reportbuilder/local/events","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/filters"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=q(b);e=q(e);f=q(f);h=q(h);j=q(j);l=p(l);m=p(m);function o(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;o=function(){return a};return a}function p(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=o();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 q(a){return a&&a.__esModule?a:{default:a}}var r=function(a,b){var c=new f.default("core_reportbuilder/filters:reload"),d=a.querySelector(m.regions.settingsFilters);return j.default.renderForPromise("core_reportbuilder/local/settings/filters",{filters:b}).then(function(b){var e=b.html,f=b.js;j.default.replaceNode(d,e,f);var g=a.querySelector(m.actions.reportAddFilter);null===g||void 0===g?void 0:g.focus();return c.resolve()})},s=function(a){(0,g.prefetchStrings)("core_reportbuilder",["deletefilter","deletefilterconfirm","filteradded","filterdeleted","filtermoved"]);(0,g.prefetchStrings)("core",["delete"]);if(a){return}document.addEventListener("click",function(a){var b=a.target.closest(m.actions.reportAddFilter);if(b){a.preventDefault();var o=b.closest(m.regions.report);if("0"===b.value){return}var p=new f.default("core_reportbuilder/filters:add");(0,n.addFilter)(o.dataset.reportId,b.value).then(function(a){return r(o,a)}).then(function(){return(0,i.get_string)("filteradded","core_reportbuilder",b.options[b.selectedIndex].text)}).then(k.add).then(function(){return p.resolve()}).catch(e.default.exception)}var d=a.target.closest(m.actions.reportRemoveFilter);if(d){a.preventDefault();var g=d.closest(m.regions.report),h=d.closest(m.regions.activeFilter),j=h.dataset.filterName;e.default.saveCancelPromise((0,i.get_string)("deletefilter","core_reportbuilder",j),(0,i.get_string)("deletefilterconfirm","core_reportbuilder",j),(0,i.get_string)("delete","core")).then(function(){var a=new f.default("core_reportbuilder/filters:remove");return(0,n.deleteFilter)(g.dataset.reportId,h.dataset.filterId).then(function(a){return r(g,a)}).then(function(){return(0,k.add)((0,i.get_string)("filterdeleted","core_reportbuilder",j))}).then(function(){(0,c.dispatchEvent)(l.tableReload,{},g);return a.resolve()}).catch(e.default.exception)}).catch(function(){})}});var d=new h.default("".concat(m.regions.activeFilters," ul"),{isHorizontal:!1});d.getElementName=function(a){return Promise.resolve(a.data("filterName"))};(0,b.default)(document).on(h.default.EVENTS.DROP,"".concat(m.regions.report," li[data-filter-id]"),function(a,b){if(b.positionChanged){var c=new f.default("core_reportbuilder/filters:reorder"),d=a.target.closest(m.regions.report),g=b.element.data("filterId"),h=b.element.data("filterPosition"),j=b.targetNextElement.data("filterPosition")||b.element.siblings().length+2;if(j>h){j--}(0,n.reorderFilter)(d.dataset.reportId,g,j).then(function(a){return r(d,a)}).then(function(){return(0,i.get_string)("filtermoved","core_reportbuilder",b.element.data("filterName"))}).then(k.add).then(function(){return c.resolve()}).catch(e.default.exception)}})};a.init=s});
|
||||
//# sourceMappingURL=filters.min.js.map
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -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/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){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;c=m(c);d=m(d);g=l(g);h=l(h);function k(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;k=function(){return a};return a}function l(a){if(a&&a.__esModule){return a}if(null===a||"object"!==_typeof(a)&&"function"!=typeof a){return{default:a}}var b=k();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 m(a){return a&&a.__esModule?a:{default:a}}function n(a,b){return s(a)||r(a,b)||p(a,b)||o()}function o(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(a,b){if(!a)return;if("string"==typeof a)return q(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);if("Object"===c&&a.constructor)c=a.constructor.name;if("Map"===c||"Set"===c)return Array.from(c);if("Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return q(a,b)}function q(a,b){if(null==b||b>a.length)b=a.length;for(var c=0,d=Array(b);c<b;c++){d[c]=a[c]}return d}function r(a,b){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(a)))return;var c=[],d=!0,e=!1,f=void 0;try{for(var g=a[Symbol.iterator](),h;!(d=(h=g.next()).done);d=!0){c.push(h.value);if(b&&c.length===b)break}}catch(a){e=!0;f=a}finally{try{if(!d&&null!=g["return"])g["return"]()}finally{if(e)throw f}}return c}function s(a){if(Array.isArray(a))return a}a.init=function init(){document.addEventListener("click",function(a){var k=a.target.closest(h.actions.reportCreate);if(k){a.preventDefault();var o=(0,j.createReportModal)(a.target,(0,e.get_string)("newreport","core_reportbuilder"));o.addEventListener(o.events.FORM_SUBMITTED,function(a){window.location.href=a.detail});o.show()}var l=a.target.closest(h.actions.reportEdit);if(l){a.preventDefault();var p=(0,j.createReportModal)(a.target,(0,e.get_string)("editreportdetails","core_reportbuilder"),l.dataset.reportId);p.addEventListener(p.events.FORM_SUBMITTED,function(){var d=a.target.closest(h.regions.report);(0,e.get_string)("reportupdated","core_reportbuilder").then(f.add).then(function(){(0,b.dispatchEvent)(g.tableReload,{preservePagination:!0},d)}).catch(c.default.exception)});p.show()}var m=a.target.closest(h.actions.reportDelete);if(m){a.preventDefault();(0,e.get_strings)([{key:"deletereport",component:"core_reportbuilder"},{key:"deletereportconfirm",component:"core_reportbuilder",param:m.dataset.reportName},{key:"delete",component:"moodle"}]).then(function(j){var k=n(j,3),l=k[0],o=k[1],p=k[2];c.default.confirm(l,o,p,null,function(){var j=new d.default("core_reportbuilder/reports:delete"),k=a.target.closest(h.regions.report);(0,i.deleteReport)(m.dataset.reportId).then(function(){return(0,e.get_string)("reportdeleted","core_reportbuilder")}).then(f.add).then(function(){j.resolve();(0,b.dispatchEvent)(g.tableReload,{preservePagination:!0},k)}).catch(c.default.exception)})}).catch(c.default.exception)}})}});
|
||||
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)(a.target,(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")).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(){})}})}});
|
||||
//# sourceMappingURL=reports_list.min.js.map
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -26,7 +26,8 @@
|
||||
import Templates from 'core/templates';
|
||||
import Notification from 'core/notification';
|
||||
import Pending from 'core/pending';
|
||||
import {get_string as getString, get_strings as getStrings} from 'core/str';
|
||||
import {prefetchStrings} from 'core/prefetch';
|
||||
import {get_string as getString} from 'core/str';
|
||||
import DynamicForm from 'core_form/dynamicform';
|
||||
import {add as addToast} from 'core/toast';
|
||||
import {deleteAudience} from 'core_reportbuilder/local/repository/audiences';
|
||||
@@ -148,25 +149,23 @@ const initAudienceCardForm = audienceCard => {
|
||||
const deleteAudienceCard = audienceCard => {
|
||||
const audienceTitle = audienceCard.dataset.title;
|
||||
|
||||
getStrings([
|
||||
{key: 'deleteaudience', component: 'core_reportbuilder', param: audienceTitle},
|
||||
{key: 'deleteaudienceconfirm', component: 'core_reportbuilder', param: audienceTitle},
|
||||
{key: 'delete', component: 'moodle'},
|
||||
]).then(([confirmTitle, confirmText, confirmButton]) => {
|
||||
Notification.confirm(confirmTitle, confirmText, confirmButton, null, () => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/audience:delete');
|
||||
Notification.saveCancelPromise(
|
||||
getString('deleteaudience', 'core_reportbuilder', audienceTitle),
|
||||
getString('deleteaudienceconfirm', 'core_reportbuilder', audienceTitle),
|
||||
getString('delete', 'core')
|
||||
).then(() => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/audience:delete');
|
||||
|
||||
deleteAudience(reportId, audienceCard.dataset.instanceid)
|
||||
.then(() => getString('audiencedeleted', 'core_reportbuilder', audienceTitle))
|
||||
.then(addToast)
|
||||
.then(() => {
|
||||
removeAudienceCard(audienceCard);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
});
|
||||
return deleteAudience(reportId, audienceCard.dataset.instanceid)
|
||||
.then(() => addToast(getString('audiencedeleted', 'core_reportbuilder', audienceTitle)))
|
||||
.then(() => {
|
||||
removeAudienceCard(audienceCard);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
}).catch(() => {
|
||||
return;
|
||||
}).catch(Notification.exception);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -215,6 +214,18 @@ let initialized = false;
|
||||
* @param {Number} contextid
|
||||
*/
|
||||
export const init = (id, contextid) => {
|
||||
prefetchStrings('core_reportbuilder', [
|
||||
'audienceadded',
|
||||
'audiencedeleted',
|
||||
'audiencesaved',
|
||||
'deleteaudience',
|
||||
'deleteaudienceconfirm',
|
||||
]);
|
||||
|
||||
prefetchStrings('core', [
|
||||
'delete',
|
||||
]);
|
||||
|
||||
reportId = id;
|
||||
contextId = contextid;
|
||||
|
||||
|
||||
@@ -29,9 +29,10 @@ import 'core/inplace_editable';
|
||||
import {eventTypes as inplaceEditableEvents} from 'core/local/inplace_editable/events';
|
||||
import Notification from 'core/notification';
|
||||
import Pending from 'core/pending';
|
||||
import {prefetchStrings} from 'core/prefetch';
|
||||
import {publish} from 'core/pubsub';
|
||||
import SortableList from 'core/sortable_list';
|
||||
import {get_string as getString, get_strings as getStrings} from 'core/str';
|
||||
import {get_string as getString} from 'core/str';
|
||||
import {add as addToast} from 'core/toast';
|
||||
import * as reportEvents from 'core_reportbuilder/local/events';
|
||||
import * as reportSelectors from 'core_reportbuilder/local/selectors';
|
||||
@@ -39,11 +40,24 @@ import {addColumn, deleteColumn, reorderColumn} from 'core_reportbuilder/local/r
|
||||
import {getColumnSorting} from 'core_reportbuilder/local/repository/sorting';
|
||||
|
||||
/**
|
||||
* Initialise module
|
||||
* Initialise module, prefetch all required strings
|
||||
*
|
||||
* @param {Boolean} initialized Ensure we only add our listeners once
|
||||
*/
|
||||
export const init = (initialized) => {
|
||||
export const init = initialized => {
|
||||
prefetchStrings('core_reportbuilder', [
|
||||
'columnadded',
|
||||
'columnaggregated',
|
||||
'columndeleted',
|
||||
'columnmoved',
|
||||
'deletecolumn',
|
||||
'deletecolumnconfirm',
|
||||
]);
|
||||
|
||||
prefetchStrings('core', [
|
||||
'delete',
|
||||
]);
|
||||
|
||||
if (initialized) {
|
||||
return;
|
||||
}
|
||||
@@ -78,26 +92,24 @@ export const init = (initialized) => {
|
||||
const columnHeader = reportRemoveColumn.closest(reportSelectors.regions.columnHeader);
|
||||
const columnName = columnHeader.dataset.columnName;
|
||||
|
||||
getStrings([
|
||||
{key: 'deletecolumn', component: 'core_reportbuilder', param: columnName},
|
||||
{key: 'deletecolumnconfirm', component: 'core_reportbuilder', param: columnName},
|
||||
{key: 'delete', component: 'moodle'},
|
||||
]).then(([confirmTitle, confirmText, confirmButton]) => {
|
||||
Notification.confirm(confirmTitle, confirmText, confirmButton, null, () => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/columns:remove');
|
||||
Notification.saveCancelPromise(
|
||||
getString('deletecolumn', 'core_reportbuilder', columnName),
|
||||
getString('deletecolumnconfirm', 'core_reportbuilder', columnName),
|
||||
getString('delete', 'core')
|
||||
).then(() => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/columns:remove');
|
||||
|
||||
deleteColumn(reportElement.dataset.reportId, columnHeader.dataset.columnId)
|
||||
.then(data => publish(reportEvents.publish.reportColumnsUpdated, data))
|
||||
.then(() => getString('columndeleted', 'core_reportbuilder', columnName))
|
||||
.then(addToast)
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {preservePagination: true}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
});
|
||||
return deleteColumn(reportElement.dataset.reportId, columnHeader.dataset.columnId)
|
||||
.then(data => publish(reportEvents.publish.reportColumnsUpdated, data))
|
||||
.then(() => addToast(getString('columndeleted', 'core_reportbuilder', columnName)))
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {preservePagination: true}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
}).catch(() => {
|
||||
return;
|
||||
}).catch(Notification.exception);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import Notification from 'core/notification';
|
||||
import Pending from 'core/pending';
|
||||
import {prefetchStrings} from 'core/prefetch';
|
||||
import SortableList from 'core/sortable_list';
|
||||
import {get_string as getString, get_strings as getStrings} from 'core/str';
|
||||
import {get_string as getString} from 'core/str';
|
||||
import Templates from 'core/templates';
|
||||
import {add as addToast} from 'core/toast';
|
||||
import DynamicForm from 'core_form/dynamicform';
|
||||
@@ -88,26 +88,24 @@ const initConditionsForm = () => {
|
||||
conditionForm.addEventListener(conditionForm.events.NOSUBMIT_BUTTON_PRESSED, event => {
|
||||
event.preventDefault();
|
||||
|
||||
getStrings([
|
||||
{key: 'resetconditions', component: 'core_reportbuilder'},
|
||||
{key: 'resetconditionsconfirm', component: 'core_reportbuilder'},
|
||||
{key: 'resetall', component: 'core_reportbuilder'},
|
||||
]).then(([confirmTitle, confirmText, confirmButton]) => {
|
||||
Notification.confirm(confirmTitle, confirmText, confirmButton, null, () => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/conditions:reset');
|
||||
Notification.saveCancelPromise(
|
||||
getString('resetconditions', 'core_reportbuilder'),
|
||||
getString('resetconditionsconfirm', 'core_reportbuilder'),
|
||||
getString('resetall', 'core_reportbuilder')
|
||||
).then(() => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/conditions:reset');
|
||||
|
||||
resetConditions(reportElement.dataset.reportId)
|
||||
.then(data => reloadSettingsConditionsRegion(reportElement, data))
|
||||
.then(() => getString('conditionsreset', 'core_reportbuilder'))
|
||||
.then(addToast)
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
});
|
||||
return resetConditions(reportElement.dataset.reportId)
|
||||
.then(data => reloadSettingsConditionsRegion(reportElement, data))
|
||||
.then(() => addToast(getString('conditionsreset', 'core_reportbuilder')))
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
}).catch(() => {
|
||||
return;
|
||||
}).catch(Notification.exception);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -176,26 +174,24 @@ export const init = initialized => {
|
||||
const conditionContainer = reportRemoveCondition.closest(reportSelectors.regions.activeCondition);
|
||||
const conditionName = conditionContainer.dataset.conditionName;
|
||||
|
||||
getStrings([
|
||||
{key: 'deletecondition', component: 'core_reportbuilder', param: conditionName},
|
||||
{key: 'deleteconditionconfirm', component: 'core_reportbuilder', param: conditionName},
|
||||
{key: 'delete', component: 'core'},
|
||||
]).then(([confirmTitle, confirmText, confirmButton]) => {
|
||||
Notification.confirm(confirmTitle, confirmText, confirmButton, null, () => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/conditions:remove');
|
||||
Notification.saveCancelPromise(
|
||||
getString('deletecondition', 'core_reportbuilder', conditionName),
|
||||
getString('deleteconditionconfirm', 'core_reportbuilder', conditionName),
|
||||
getString('delete', 'core')
|
||||
).then(() => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/conditions:remove');
|
||||
|
||||
deleteCondition(reportElement.dataset.reportId, conditionContainer.dataset.conditionId)
|
||||
.then(data => reloadSettingsConditionsRegion(reportElement, data))
|
||||
.then(() => getString('conditiondeleted', 'core_reportbuilder', conditionName))
|
||||
.then(addToast)
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
});
|
||||
return deleteCondition(reportElement.dataset.reportId, conditionContainer.dataset.conditionId)
|
||||
.then(data => reloadSettingsConditionsRegion(reportElement, data))
|
||||
.then(() => addToast(getString('conditiondeleted', 'core_reportbuilder', conditionName)))
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
}).catch(() => {
|
||||
return;
|
||||
}).catch(Notification.exception);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -28,8 +28,9 @@ import {dispatchEvent} from 'core/event_dispatcher';
|
||||
import 'core/inplace_editable';
|
||||
import Notification from 'core/notification';
|
||||
import Pending from 'core/pending';
|
||||
import {prefetchStrings} from 'core/prefetch';
|
||||
import SortableList from 'core/sortable_list';
|
||||
import {get_string as getString, get_strings as getStrings} from 'core/str';
|
||||
import {get_string as getString} from 'core/str';
|
||||
import Templates from 'core/templates';
|
||||
import {add as addToast} from 'core/toast';
|
||||
import * as reportEvents from 'core_reportbuilder/local/events';
|
||||
@@ -58,11 +59,23 @@ const reloadSettingsFiltersRegion = (reportElement, templateContext) => {
|
||||
};
|
||||
|
||||
/**
|
||||
* Initialise module
|
||||
* Initialise module, prefetch all required strings
|
||||
*
|
||||
* @param {Boolean} initialized Ensure we only add our listeners once
|
||||
*/
|
||||
export const init = (initialized) => {
|
||||
export const init = initialized => {
|
||||
prefetchStrings('core_reportbuilder', [
|
||||
'deletefilter',
|
||||
'deletefilterconfirm',
|
||||
'filteradded',
|
||||
'filterdeleted',
|
||||
'filtermoved',
|
||||
]);
|
||||
|
||||
prefetchStrings('core', [
|
||||
'delete',
|
||||
]);
|
||||
|
||||
if (initialized) {
|
||||
return;
|
||||
}
|
||||
@@ -101,26 +114,24 @@ export const init = (initialized) => {
|
||||
const filterContainer = reportRemoveFilter.closest(reportSelectors.regions.activeFilter);
|
||||
const filterName = filterContainer.dataset.filterName;
|
||||
|
||||
getStrings([
|
||||
{key: 'deletefilter', component: 'core_reportbuilder', param: filterName},
|
||||
{key: 'deletefilterconfirm', component: 'core_reportbuilder', param: filterName},
|
||||
{key: 'delete', component: 'moodle'},
|
||||
]).then(([confirmTitle, confirmText, confirmButton]) => {
|
||||
Notification.confirm(confirmTitle, confirmText, confirmButton, null, () => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/filters:remove');
|
||||
Notification.saveCancelPromise(
|
||||
getString('deletefilter', 'core_reportbuilder', filterName),
|
||||
getString('deletefilterconfirm', 'core_reportbuilder', filterName),
|
||||
getString('delete', 'core')
|
||||
).then(() => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/filters:remove');
|
||||
|
||||
deleteFilter(reportElement.dataset.reportId, filterContainer.dataset.filterId)
|
||||
.then(data => reloadSettingsFiltersRegion(reportElement, data))
|
||||
.then(() => getString('filterdeleted', 'core_reportbuilder', filterName))
|
||||
.then(addToast)
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
});
|
||||
return deleteFilter(reportElement.dataset.reportId, filterContainer.dataset.filterId)
|
||||
.then(data => reloadSettingsFiltersRegion(reportElement, data))
|
||||
.then(() => addToast(getString('filterdeleted', 'core_reportbuilder', filterName)))
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
}).catch(() => {
|
||||
return;
|
||||
}).catch(Notification.exception);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
import {dispatchEvent} from 'core/event_dispatcher';
|
||||
import Notification from 'core/notification';
|
||||
import Pending from 'core/pending';
|
||||
import {get_string as getString, get_strings as getStrings} from 'core/str';
|
||||
import {prefetchStrings} from 'core/prefetch';
|
||||
import {get_string as getString} from 'core/str';
|
||||
import {add as addToast} from 'core/toast';
|
||||
import * as reportEvents from 'core_reportbuilder/local/events';
|
||||
import * as reportSelectors from 'core_reportbuilder/local/selectors';
|
||||
@@ -37,6 +38,19 @@ import {createReportModal} from 'core_reportbuilder/local/repository/modals';
|
||||
* Initialise module
|
||||
*/
|
||||
export const init = () => {
|
||||
prefetchStrings('core_reportbuilder', [
|
||||
'deletereport',
|
||||
'deletereportconfirm',
|
||||
'editreportdetails',
|
||||
'newreport',
|
||||
'reportdeleted',
|
||||
'reportupdated',
|
||||
]);
|
||||
|
||||
prefetchStrings('core', [
|
||||
'delete',
|
||||
]);
|
||||
|
||||
document.addEventListener('click', event => {
|
||||
const reportCreate = event.target.closest(reportSelectors.actions.reportCreate);
|
||||
if (reportCreate) {
|
||||
@@ -77,27 +91,24 @@ export const init = () => {
|
||||
if (reportDelete) {
|
||||
event.preventDefault();
|
||||
|
||||
getStrings([
|
||||
{key: 'deletereport', component: 'core_reportbuilder'},
|
||||
{key: 'deletereportconfirm', component: 'core_reportbuilder', param: reportDelete.dataset.reportName},
|
||||
{key: 'delete', component: 'moodle'},
|
||||
]).then(([confirmTitle, confirmText, confirmButton]) => {
|
||||
Notification.confirm(confirmTitle, confirmText, confirmButton, null, () => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/reports:delete');
|
||||
const reportElement = event.target.closest(reportSelectors.regions.report);
|
||||
Notification.saveCancelPromise(
|
||||
getString('deletereport', 'core_reportbuilder'),
|
||||
getString('deletereportconfirm', 'core_reportbuilder', reportDelete.dataset.reportName),
|
||||
getString('delete', 'core')
|
||||
).then(() => {
|
||||
const pendingPromise = new Pending('core_reportbuilder/reports:delete');
|
||||
const reportElement = event.target.closest(reportSelectors.regions.report);
|
||||
|
||||
deleteReport(reportDelete.dataset.reportId)
|
||||
.then(() => getString('reportdeleted', 'core_reportbuilder'))
|
||||
.then(addToast)
|
||||
.then(() => {
|
||||
pendingPromise.resolve();
|
||||
dispatchEvent(reportEvents.tableReload, {preservePagination: true}, reportElement);
|
||||
return;
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
});
|
||||
return deleteReport(reportDelete.dataset.reportId)
|
||||
.then(() => addToast(getString('reportdeleted', 'core_reportbuilder')))
|
||||
.then(() => {
|
||||
dispatchEvent(reportEvents.tableReload, {preservePagination: true}, reportElement);
|
||||
return pendingPromise.resolve();
|
||||
})
|
||||
.catch(Notification.exception);
|
||||
}).catch(() => {
|
||||
return;
|
||||
}).catch(Notification.exception);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user