moodle/course/format/amd/build/local/content/actions.min.js

2 lines
9.1 KiB
JavaScript

define ("core_courseformat/local/content/actions",["exports","core/reactive","core/modal_factory","core/modal_events","core/templates","core/prefetch","core/str","core/normalise","core_course/events"],function(a,b,c,d,e,f,g,h,i){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;c=l(c);d=l(d);e=l(e);i=k(i);function j(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;j=function(){return a};return a}function k(a){if(a&&a.__esModule){return a}if(null===a||"object"!==m(a)&&"function"!=typeof a){return{default:a}}var b=j();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 l(a){return a&&a.__esModule?a:{default:a}}function m(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){m=function(a){return typeof a}}else{m=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return m(a)}function n(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 o(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){n(h,d,e,f,g,"next",a)}function g(a){n(h,d,e,f,g,"throw",a)}f(void 0)})}}function p(a,b){if(!(a instanceof b)){throw new TypeError("Cannot call a class as a function")}}function q(a,b){for(var c=0,d;c<b.length;c++){d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;if("value"in d)d.writable=!0;Object.defineProperty(a,d.key,d)}}function r(a,b,c){if(b)q(a.prototype,b);if(c)q(a,c);return a}function s(a,b){if("function"!=typeof b&&null!==b){throw new TypeError("Super expression must either be null or a function")}a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}});if(b)t(a,b)}function t(a,b){t=Object.setPrototypeOf||function(a,b){a.__proto__=b;return a};return t(a,b)}function u(a){return function(){var b=y(a),c;if(x()){var d=y(this).constructor;c=Reflect.construct(b,arguments,d)}else{c=b.apply(this,arguments)}return v(this,c)}}function v(a,b){if(b&&("object"===m(b)||"function"==typeof b)){return b}return w(a)}function w(a){if(void 0===a){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return a}function x(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{Date.prototype.toString.call(Reflect.construct(Date,[],function(){}));return!0}catch(a){return!1}}function y(a){y=Object.setPrototypeOf?Object.getPrototypeOf:function(a){return a.__proto__||Object.getPrototypeOf(a)};return y(a)}(0,f.prefetchStrings)("core",["movecoursesection","movecoursemodule","confirm","delete"]);var z=function(a){s(b,a);var f=u(b);function b(){p(this,b);return f.apply(this,arguments)}r(b,[{key:"create",value:function create(){this.name="content_actions";this.selectors={ACTIONLINK:"[data-action]",SECTIONLINK:"[data-for='section']",CMLINK:"[data-for='cm']",SECTIONNODE:"[data-for='sectionnode']",TOGGLER:"[data-toggle='collapse']",ADDSECTION:"[data-action='addSection']"};this.classes={DISABLED:"disabled"}}},{key:"stateReady",value:function stateReady(a){var b=this;this.addEventListener(this.element,"click",this._dispatchClick);this._checkSectionlist({state:a});this.addEventListener(this.element,i.sectionRefreshed,function(){return b._checkSectionlist({state:a})})}},{key:"getWatchers",value:function getWatchers(){return[{watch:"course.sectionlist:updated",handler:this._checkSectionlist}]}},{key:"_dispatchClick",value:function _dispatchClick(a){var b=a.target.closest(this.selectors.ACTIONLINK);if(!b){return}if(b.classList.contains(this.classes.DISABLED)){a.preventDefault();return}var c=this._actionMethodName(b.dataset.action);if(this[c]!==void 0){this[c](b,a)}}},{key:"_actionMethodName",value:function _actionMethodName(a){var b=a.charAt(0).toUpperCase()+a.slice(1);return"_request".concat(b)}},{key:"_checkSectionlist",value:function _checkSectionlist(a){var b=a.state;this._setAddSectionLocked(b.course.sectionlist.length>b.course.maxsections)}},{key:"_requestMoveSection",value:function(){var a=o(regeneratorRuntime.mark(function a(b,c){var d=this,f,i,j,k,l,m,n,o,p;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:f=b.dataset.id;if(f){a.next=3;break}return a.abrupt("return");case 3:i=this.reactive.get("section",f);c.preventDefault();j=this.reactive.getExporter();k=j.course(this.reactive.state);k.sectionid=i.id;k.sectiontitle=i.title;l={title:(0,g.get_string)("movecoursesection","core"),body:e.default.render("core_courseformat/local/content/movesection",k)};a.next=12;return this._modalBodyRenderedPromise(l);case 12:m=a.sent;n=(0,h.getList)(m.getBody())[0];o=n.querySelector("".concat(this.selectors.SECTIONLINK,"[data-id='").concat(f,"']"));this._disableLink(o);p=n.querySelector("".concat(this.selectors.SECTIONLINK,"[data-number='0']"));this._disableLink(p);n.addEventListener("click",function(a){var b=a.target;if(!b.matches("a")||"section"!=b.dataset.for||b.dataset.id===void 0){return}if(b.getAttribute("aria-disabled")){return}a.preventDefault();d.reactive.dispatch("sectionMove",[f],b.dataset.id);m.destroy()});case 19:case"end":return a.stop();}}},a,this)}));return function _requestMoveSection(){return a.apply(this,arguments)}}()},{key:"_requestMoveCm",value:function(){var a=o(regeneratorRuntime.mark(function a(b,c){var d,f,i=this,j,k,l,m,n,o,p,q;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:j=b.dataset.id;if(j){a.next=3;break}return a.abrupt("return");case 3:k=this.reactive.get("cm",j);c.preventDefault();l=this.reactive.getExporter();m=l.course(this.reactive.state);m.cmid=k.id;m.cmname=k.name;n={title:(0,g.get_string)("movecoursemodule","core"),body:e.default.render("core_courseformat/local/content/movecm",m)};a.next=12;return this._modalBodyRenderedPromise(n);case 12:o=a.sent;p=(0,h.getList)(o.getBody())[0];q=p.querySelector("".concat(this.selectors.CMLINK,"[data-id='").concat(j,"']"));this._disableLink(q);null===(d=q.closest(this.selectors.SECTIONNODE))||void 0===d?void 0:null===(f=d.querySelector(this.selectors.TOGGLER))||void 0===f?void 0:f.click();p.addEventListener("click",function(a){var b=a.target;if(!b.matches("a")||b.dataset.for===void 0||b.dataset.id===void 0){return}if(b.getAttribute("aria-disabled")){return}a.preventDefault();var c,d;if("cm"==b.dataset.for){var e=l.cmDraggableData(i.reactive.state,b.dataset.id);c=e.sectionid;d=e.nextcmid}else{var f=i.reactive.get("section",b.dataset.id);c=b.dataset.id;d=null===f||void 0===f?void 0:f.cmlist[0]}i.reactive.dispatch("cmMove",[j],c,d);o.destroy()});case 18:case"end":return a.stop();}}},a,this)}));return function _requestMoveCm(){return a.apply(this,arguments)}}()},{key:"_requestAddSection",value:function(){var a=o(regeneratorRuntime.mark(function a(b,c){var d;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:c.preventDefault();this.reactive.dispatch("addSection",null!==(d=b.dataset.id)&&void 0!==d?d:0);case 2:case"end":return a.stop();}}},a,this)}));return function _requestAddSection(){return a.apply(this,arguments)}}()},{key:"_requestDeleteSection",value:function(){var a=o(regeneratorRuntime.mark(function a(b,e){var f,h=this,i,j,k,l,m;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:i=b.dataset.id;if(i){a.next=3;break}return a.abrupt("return");case 3:j=this.reactive.get("section",i);e.preventDefault();k=null!==(f=j.cmlist)&&void 0!==f?f:[];if(!(k.length||j.hassummary||j.rawtitle)){a.next=15;break}l={title:(0,g.get_string)("confirm","core"),body:(0,g.get_string)("confirmdeletesection","moodle",j.title),saveButtonText:(0,g.get_string)("delete","core"),type:c.default.types.SAVE_CANCEL};a.next=10;return this._modalBodyRenderedPromise(l);case 10:m=a.sent;m.getRoot().on(d.default.save,function(a){a.preventDefault();m.destroy();h.reactive.dispatch("sectionDelete",[i])});return a.abrupt("return");case 15:this.reactive.dispatch("sectionDelete",[i]);case 16:case"end":return a.stop();}}},a,this)}));return function _requestDeleteSection(){return a.apply(this,arguments)}}()},{key:"_setAddSectionLocked",value:function _setAddSectionLocked(a){var b=this,c=this.getElements(this.selectors.ADDSECTION);c.forEach(function(c){c.classList.toggle(b.classes.DISABLED,a);b.setElementLocked(c,a)})}},{key:"_disableLink",value:function _disableLink(a){if(a){a.style.pointerEvents="none";a.style.userSelect="none";a.classList.add(this.classes.DISABLED);a.setAttribute("aria-disabled",!0);a.addEventListener("click",function(a){return a.preventDefault()})}}},{key:"_modalBodyRenderedPromise",value:function _modalBodyRenderedPromise(a){return new Promise(function(b,e){c.default.create(a).then(function(c){c.getRoot().on(d.default.bodyRendered,function(){b(c)});if(a.saveButtonText!==void 0){c.setSaveButtonText(a.saveButtonText)}c.show()}).catch(function(){e("Cannot load modal content")})})}}]);return b}(b.BaseComponent);a.default=z;return a.default});
//# sourceMappingURL=actions.min.js.map