1 |
efrain |
1 |
define("block_dash/groups",["jquery","core/str","core/modal_factory","core/modal_events","core/fragment","core/templates","core/ajax","core/notification"],(function($,Str,Modal,ModalEvents,Fragment,Templates,AJAX,Notification){return{init:function(contextID){var groupModal=document.getElementsByClassName("group-widget-viewmembers");Array.from(groupModal).forEach((function(element){element.addEventListener("click",(function(e){e.preventDefault();var group=e.target.getAttribute("data-group");Modal.create({title:Str.get_string("groups","core")}).then((function(modal){modal.show();var params={widget:"groups",method:"viewmembers",args:JSON.stringify({group:group})};return Fragment.loadFragment("block_dash","loadwidget",contextID,params).then(((html,js)=>(modal.setBody(html),Templates.runTemplateJS(js),html))).catch(Notification.exception),modal.getRoot().on(ModalEvents.hidden,(function(){modal.destroy()})),modal})).catch(Notification.exception)}))}));var groupUsers=document.getElementsByClassName("add-group-users");Array.from(groupUsers).forEach((function(element){element.addEventListener("click",(function(e){e.preventDefault(),function(e){var group=e.target.getAttribute("data-group");Modal.create({type:Modal.types.SAVE_CANCEL,title:Str.get_string("widget:groups:adduser","block_dash")}).then((function(modal){modal.setLarge(!0),modal.show();var params={widget:"groups",method:"addmembers",args:JSON.stringify({group:group})};return Fragment.loadFragment("block_dash","loadwidget",contextID,params).then(((html,js)=>(modal.setBody(html),modal.getRoot().get(0).querySelectorAll("form").forEach((form=>{!function(form){form.addEventListener("submit",(function(e){e.preventDefault();var formdata=new FormData(e.target);if(""==e.target.querySelector('[name="users[]"]').value)return!1;var formdatastr=new URLSearchParams(formdata).toString();return AJAX.call([{methodname:"block_dash_groups_add_members",args:{formdata:formdatastr}}])[0].done((response=>{1==response&&window.location.reload()})),!0}))}(form)})),Templates.runTemplateJS(js),html))).catch(Notification.exception),modal.getRoot().on(ModalEvents.hidden,(function(){modal.destroy()})),modal.getRoot().on(ModalEvents.save,(e=>{e.preventDefault(),modal.getRoot().get(0).querySelectorAll("form").forEach((form=>{form.querySelector("#id_submitbutton").click()}))})),modal})).catch(Notification.exception)}(e)}))}));var leaveGroupModal=document.getElementsByClassName("group-widget-leavegroup");Array.from(leaveGroupModal).forEach((function(element){element.addEventListener("click",(function(e){e.preventDefault(),function(e){var target=e.target,group=target.getAttribute("data-group"),groupname=target.getAttribute("data-groupname");Modal.create({type:Modal.types.SAVE_CANCEL,title:Str.get_string("groups","core")}).then((function(modal){return Str.get_string("confirm","core").then((html=>(modal.setSaveButtonText(html),html))).catch(Notification.exception),modal.show(),Str.get_string("confirmleavegroup","block_dash",groupname).then((html=>(modal.setBody(html),html))).catch(Notification.exception),modal.getRoot().on(ModalEvents.save,(e=>{e.preventDefault(),AJAX.call([{methodname:"block_dash_groups_leave_group",args:{groupid:group}}])[0].done((response=>{1==response&&window.location.reload()}))})),modal.getRoot().on(ModalEvents.hidden,(function(){modal.destroy()})),modal.getRoot().on(ModalEvents.destroyed,(function(){modal.remove(),modal.attachmentPoint.remove()})),modal})).catch(Notification.exception)}(e)}))}));var createGroupModal=document.getElementsByClassName("create-group");Array.from(createGroupModal).forEach((function(element){element.addEventListener("click",(function(e){e.preventDefault(),Modal.create({type:Modal.types.SAVE_CANCEL,title:Str.get_string("groups","core")}).then((function(modal){modal.show();var params={widget:"groups",method:"creategroup",args:""};return Fragment.loadFragment("block_dash","loadwidget",contextID,params).then(((html,js)=>(modal.setBody(html),Templates.runTemplateJS(js),modal.getRoot().get(0).querySelectorAll("form").forEach((form=>{!function(form){form.addEventListener("submit",(function(e){e.preventDefault();var formdata=new FormData(e.target);if(""==e.target.querySelector('[name="name"]').value||""==e.target.querySelector('[name="courseid"]').value)return!1;var formdatastr=new URLSearchParams(formdata).toString();return AJAX.call([{methodname:"block_dash_groups_create_group",args:{formdata:formdatastr}}])[0].done((response=>1==response?window.location.reload():"")),!0}))}(form)})),html))).catch(Notification.exception),modal.getRoot().on(ModalEvents.save,(e=>{e.preventDefault(),modal.getRoot().get(0).querySelectorAll("form").forEach((form=>{form.querySelector("#id_submitbutton").click()}))})),modal.getRoot().on(ModalEvents.hidden,(function(){modal.destroy()})),modal})).catch(Notification.exception)}))}))}}}));
|