Sindbad~EG File Manager
define("core_form/dynamicform",["exports","core/ajax","core/notification","core/templates","core/event","core/str","core/yui","core/fragment","core/pending","./util"],(function(_exports,_ajax,_notification,_templates,_event2,_str,_yui,_fragment,_pending,_util){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_ajax=_interopRequireDefault(_ajax),_notification=_interopRequireDefault(_notification),_templates=_interopRequireDefault(_templates),_event2=_interopRequireDefault(_event2),_yui=_interopRequireDefault(_yui),_fragment=_interopRequireDefault(_fragment),_pending=_interopRequireDefault(_pending);var DynamicForm=function(){function DynamicForm(container,formClass){var obj,key,value,_this=this;!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,DynamicForm),value={FORM_SUBMITTED:"core_form_dynamicform_formsubmitted",FORM_CANCELLED:"core_form_dynamicform_formcancelled",CLIENT_VALIDATION_ERROR:"core_form_dynamicform_clientvalidationerror",SERVER_VALIDATION_ERROR:"core_form_dynamicform_validationerror",ERROR:"core_form_dynamicform_error",NOSUBMIT_BUTTON_PRESSED:"core_form_dynamicform_nosubmitbutton",SUBMIT_BUTTON_PRESSED:"core_form_dynamicform_submitbutton",CANCEL_BUTTON_PRESSED:"core_form_dynamicform_cancelbutton"},(key="events")in(obj=this)?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,this.formClass=formClass,this.container=container,(0,_str.get_strings)([{key:"collapseall",component:"moodle"},{key:"expandall",component:"moodle"}]).catch(_notification.default.exception),this.container.addEventListener("click",(function(e){if(e.target.matches("form input[type=submit][data-cancel]"))e.preventDefault(),_this.trigger(_this.events.CANCEL_BUTTON_PRESSED,e.target).defaultPrevented||_this.processCancelButton();else if(e.target.matches('form input[type=submit][data-no-submit="1"]')){e.preventDefault(),_this.trigger(_this.events.NOSUBMIT_BUTTON_PRESSED,e.target).defaultPrevented||_this.processNoSubmitButton(e.target)}})),this.container.addEventListener("submit",(function(e){e.target.matches("form")&&(e.preventDefault(),_this.trigger(_this.events.SUBMIT_BUTTON_PRESSED).defaultPrevented||_this.submitFormAjax())}))}var Constructor,protoProps,staticProps,fn,_submitFormAjax;return Constructor=DynamicForm,protoProps=[{key:"load",value:function(){var _this2=this,args=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,formData=(0,_util.serialize)(args||{}),pendingPromise=new _pending.default("core_form/dynamicform:load");return this.getBody(formData).then((function(resp){return _this2.updateForm(resp)})).then(pendingPromise.resolve)}},{key:"trigger",value:function(eventName){var detail=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,cancelable=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],e=new CustomEvent(eventName,{detail:detail,cancelable:cancelable});return this.container.dispatchEvent(e),e}},{key:"addEventListener",value:function(){var _this$container;(_this$container=this.container).addEventListener.apply(_this$container,arguments)}},{key:"getBody",value:function(formDataString){return _ajax.default.call([{methodname:"core_form_dynamic_form",args:{formdata:formDataString,form:this.formClass}}])[0].then((function(response){return{html:response.html,js:_fragment.default.processCollectedJavascript(response.javascript)}}))}},{key:"onSubmitSuccess",value:function(response){this.trigger(this.events.FORM_SUBMITTED,response).defaultPrevented||(this.container.innerHTML="")}},{key:"onSubmitError",value:function(exception){this.trigger(this.events.ERROR,exception).defaultPrevented||_notification.default.exception(exception)}},{key:"processNoSubmitButton",value:function(button){var _this3=this,pendingPromise=new _pending.default("core_form/dynamicform:nosubmit"),form=this.container.querySelector("form"),formData=new URLSearchParams(_toConsumableArray(new FormData(form).entries()));formData.append(button.getAttribute("name"),button.getAttribute("value")),this.notifyFormSubmitAjax(!0).then((function(){return _this3.disableButtons(),_this3.getBody(formData.toString())})).then((function(resp){return _this3.updateForm(resp)})).finally(pendingPromise.resolve).catch((function(exception){return _this3.onSubmitError(exception)}))}},{key:"notifyFormSubmitAjax",value:function(){var skipValidation=arguments.length>0&&void 0!==arguments[0]&&arguments[0],form=this.container.querySelector("form");return new Promise((function(resolve){_yui.default.use("event","moodle-core-event","moodle-core-formchangechecker",(function(){_event2.default.notifyFormSubmitAjax(form,skipValidation),resolve()}))}))}},{key:"notifyResetFormChanges",value:function(){var form=this.container.querySelector("form");return new Promise((function(resolve){_yui.default.use("event","moodle-core-event","moodle-core-formchangechecker",(function(){_event2.default.notifyFormSubmitAjax(form,!0),M.core_formchangechecker.reset_form_dirty_state(),resolve()}))}))}},{key:"processCancelButton",value:function(){var _this4=this;this.notifyResetFormChanges().then((function(){return _this4.trigger(_this4.events.FORM_CANCELLED).defaultPrevented||(_this4.container.innerHTML=""),null})).catch(null)}},{key:"updateForm",value:function(_ref){var html=_ref.html,js=_ref.js;_templates.default.replaceNodeContents(this.container,html,js)}},{key:"validateElements",value:function(){var _this5=this;return this.notifyFormSubmitAjax().then((function(){var invalid=_toConsumableArray(_this5.container.querySelectorAll('[aria-invalid="true"], .error'));return!invalid.length||(invalid[0].focus(),!1)}))}},{key:"disableButtons",value:function(){this.container.querySelectorAll('form input[type="submit"]').forEach((function(el){return el.setAttribute("disabled",!0)}))}},{key:"enableButtons",value:function(){this.container.querySelectorAll('form input[type="submit"]').forEach((function(el){return el.removeAttribute("disabled")}))}},{key:"submitFormAjax",value:(fn=regeneratorRuntime.mark((function _callee(){var form,formData,_this6=this;return regeneratorRuntime.wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.validateElements();case 2:if(_context.sent){_context.next=5;break}return this.trigger(this.events.CLIENT_VALIDATION_ERROR,null,!1),_context.abrupt("return");case 5:this.disableButtons(),form=this.container.querySelector("form"),formData=new URLSearchParams(_toConsumableArray(new FormData(form).entries())),_ajax.default.call([{methodname:"core_form_dynamic_form",args:{formdata:formData.toString(),form:this.formClass}}])[0].then((function(response){if(response.submitted){var data=JSON.parse(response.data);_this6.enableButtons(),_this6.notifyResetFormChanges().then((function(){return _this6.onSubmitSuccess(data)})).catch()}else _this6.updateForm({html:response.html,js:_fragment.default.processCollectedJavascript(response.javascript)}),_this6.enableButtons(),_this6.trigger(_this6.events.SERVER_VALIDATION_ERROR,null,!1);return null})).catch((function(exception){return _this6.onSubmitError(exception)}));case 9:case"end":return _context.stop()}}),_callee,this)})),_submitFormAjax=function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))},function(){return _submitFormAjax.apply(this,arguments)})}],protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),DynamicForm}();return _exports.default=DynamicForm,_exports.default}));
//# sourceMappingURL=dynamicform.min.js.map
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists