Merge branch 'MDL-73222' of https://github.com/paulholden/moodle
This commit is contained in:
Vendored
+1
-1
@@ -1,2 +1,2 @@
|
||||
define ("core/addblockmodal",["exports","core/modal_factory","core/templates","core/str","core/ajax"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=f(b);c=f(c);e=f(e);function f(a){return a&&a.__esModule?a:{default:a}}function g(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function h(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var i=a.apply(b,c);function f(a){g(i,d,e,f,h,"next",a)}function h(a){g(i,d,e,f,h,"throw",a)}f(void 0)})}}var i={ADD_BLOCK:"[data-key=\"addblock\"]"},j=null,k=function(a,b,c){document.addEventListener("click",function(d){if(d.target.closest(i.ADD_BLOCK)){d.preventDefault();if(null===c){c=d.target.closest(i.ADD_BLOCK).dataset.url}if(j){j.show()}else{l().then(function(d){j=d;var e=m(c,a,b);d.setBody(e);d.show();return e}).catch(function(){j.destroy();j=null})}}})},l=function(){return b.default.create({type:b.default.types.CANCEL,title:(0,d.get_string)("addblock")})},m=function(){var a=h(regeneratorRuntime.mark(function a(b,d,e){var f;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:a.next=2;return n(d,e);case 2:f=a.sent;return a.abrupt("return",c.default.render("core/add_block_body",{blocks:f,url:b}));case 4:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}(),n=function(){var a=h(regeneratorRuntime.mark(function a(b,c){var d;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:d={methodname:"core_block_fetch_addable_blocks",args:{pagecontextid:M.cfg.contextid,pagetype:b,pagelayout:c}};return a.abrupt("return",e.default.call([d])[0]);case 2:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}();a.init=function init(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;k(a,b,c)}});
|
||||
define ("core/addblockmodal",["exports","core/modal_factory","core/templates","core/str","core/ajax"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=f(b);c=f(c);e=f(e);function f(a){return a&&a.__esModule?a:{default:a}}function g(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function h(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var i=a.apply(b,c);function f(a){g(i,d,e,f,h,"next",a)}function h(a){g(i,d,e,f,h,"throw",a)}f(void 0)})}}var i={ADD_BLOCK:"[data-key=\"addblock\"]"},j=!1,k=function(a,b,c){document.addEventListener("click",function(d){var e=d.target.closest(i.ADD_BLOCK);if(e){d.preventDefault();var f=null,g=null!==c&&void 0!==c?c:e.dataset.url;l().then(function(c){f=c;var d=m(g,a,b);c.setBody(d);c.show();return d}).catch(function(){f.destroy()})}})},l=function(){return b.default.create({type:b.default.types.CANCEL,title:(0,d.get_string)("addblock")})},m=function(){var a=h(regeneratorRuntime.mark(function a(b,d,e){var f;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:a.next=2;return n(d,e);case 2:f=a.sent;return a.abrupt("return",c.default.render("core/add_block_body",{blocks:f,url:b}));case 4:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}(),n=function(){var a=h(regeneratorRuntime.mark(function a(b,c){var d;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:d={methodname:"core_block_fetch_addable_blocks",args:{pagecontextid:M.cfg.contextid,pagetype:b,pagelayout:c}};return a.abrupt("return",e.default.call([d])[0]);case 2:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}(),o=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!j){k(a,b,c);j=!0}};a.init=o});
|
||||
//# sourceMappingURL=addblockmodal.min.js.map
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -30,7 +30,8 @@ const SELECTORS = {
|
||||
ADD_BLOCK: '[data-key="addblock"]'
|
||||
};
|
||||
|
||||
let addBlockModal = null;
|
||||
// Ensure we only add our listeners once.
|
||||
let listenerEventsRegistered = false;
|
||||
|
||||
/**
|
||||
* Register related event listeners.
|
||||
@@ -43,21 +44,17 @@ let addBlockModal = null;
|
||||
const registerListenerEvents = (pageType, pageLayout, addBlockUrl) => {
|
||||
document.addEventListener('click', e => {
|
||||
|
||||
if (e.target.closest(SELECTORS.ADD_BLOCK)) {
|
||||
const addBlock = e.target.closest(SELECTORS.ADD_BLOCK);
|
||||
if (addBlock) {
|
||||
e.preventDefault();
|
||||
|
||||
if (addBlockUrl === null) {
|
||||
addBlockUrl = e.target.closest(SELECTORS.ADD_BLOCK).dataset.url;
|
||||
}
|
||||
let addBlockModal = null;
|
||||
let addBlockModalUrl = addBlockUrl ?? addBlock.dataset.url;
|
||||
|
||||
if (addBlockModal) { // The 'add block' modal has been already created.
|
||||
// Display the 'add block' modal.
|
||||
addBlockModal.show();
|
||||
} else {
|
||||
buildAddBlockModal()
|
||||
buildAddBlockModal()
|
||||
.then(modal => {
|
||||
addBlockModal = modal;
|
||||
const modalBody = renderBlocks(addBlockUrl, pageType, pageLayout);
|
||||
const modalBody = renderBlocks(addBlockModalUrl, pageType, pageLayout);
|
||||
modal.setBody(modalBody);
|
||||
modal.show();
|
||||
|
||||
@@ -65,10 +62,7 @@ const registerListenerEvents = (pageType, pageLayout, addBlockUrl) => {
|
||||
})
|
||||
.catch(() => {
|
||||
addBlockModal.destroy();
|
||||
// Unset the addBlockModal in case this is a transient error and it goes away on a relaunch.
|
||||
addBlockModal = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -135,5 +129,8 @@ const getAddableBlocks = async(pageType, pageLayout) => {
|
||||
* @param {String|null} addBlockUrl The add block URL
|
||||
*/
|
||||
export const init = (pageType, pageLayout, addBlockUrl = null) => {
|
||||
registerListenerEvents(pageType, pageLayout, addBlockUrl);
|
||||
if (!listenerEventsRegistered) {
|
||||
registerListenerEvents(pageType, pageLayout, addBlockUrl);
|
||||
listenerEventsRegistered = true;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user