xAPI-vle/moodle-logstore_xapi

View on GitHub
amd/build/replayevents.min.js

Summary

Maintainability
A
0 mins
Test Coverage
/*
* @package logstore_xapi
* @copyright 2020 Learning Pool Ltd <http://learningpool.com>
* @author Záborski László <laszlo.zaborski@learningpool.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("logstore_xapi/replayevents",["core/str","core/config","core/notification","core/templates","jquery","jqueryui"],(function(str,mdlcfg,notification,templates,$){var canResend,canNotResend,countedEvents=0,selectorChanged=!1,labelResendButton="resendevents",labelConfirmTitle="confirmresendeventsheader",labelConfirmContent="confirmresendevents",loadHTML="",replayHTML="",doneHTML="",failedHTML="",SELECTORS_CHECKBOXES="#xapierrorlog_form .form-check-input",SELECTORS_CHECKBOX_DATEFROM="#xapierrorlog_form #id_datefrom_enabled",SELECTORS_CHECKBOX_DATETO="#xapierrorlog_form #id_dateto_enabled",SELECTORS_FORM="#xapierrorlog_form .mform",SELECTORS_PAGE_LINKS=".pagination .page-item .page-link",SELECTORS_REPLAY_EVENTS="#xapierrorlog_data .reply-event",SELECTORS_SELECTS="#xapierrorlog_form .custom-select",SELECTORS_SELECT_CONTEXT="#xapierrorlog_form #id_eventcontext",SELECTORS_SELECT_ERRORTYPE="#xapierrorlog_form #id_errortype",SELECTORS_SELECT_EVENTNAME="#xapierrorlog_form #id_eventnames",SELECTORS_SELECT_RESPONSE="#xapierrorlog_form #id_response",SELECTORS_SELECT_DATAFROM="#xapierrorlog_form #id_datefrom .custom-select",SELECTORS_SELECT_DATATO="#xapierrorlog_form #id_dateto .custom-select",SELECTORS_SEND_BUTTON="#xapierrorlog_form #id_resendselected",SELECTORS_SEND_CAN_DO='#xapierrorlog_form input[name^="resend"]',SELECTORS_SEND_ID='#xapierrorlog_form input[name^="id"]',SELECTORS_SUBMIT_FORM="#xapierrorlog_form #id_submitbutton";return{init:function(counts,notResend,Resend){countedEvents=counts,canNotResend=notResend,canResend=Resend,$(SELECTORS_SEND_CAN_DO).val(canNotResend),1==$(SELECTORS_SEND_ID).val()&&(labelConfirmTitle="confirmsendeventsheader",labelConfirmContent="confirmsendevents",labelResendButton="sendevents"),this.registerOnChangeSelectEvents(),this.updateResend(),this.registerResendEvent(),this.addReplyEvents()},addReplyEvents:function(){0!=$(SELECTORS_REPLAY_EVENTS).length&&(this.generateLoadHTML(),this.generateDoneHTML(),this.generateFailedHTML(),this.generateReplayHTML(),this.registerReplyEventListeners())},registerReplyEventListeners:function(){var self=this;$(SELECTORS_REPLAY_EVENTS).click((function(e){e.stopPropagation(),e.preventDefault(),self.disableFormControls(),self.disablePagination();var element=$(this);element.off("click"),element.addClass("disabled");var eventId=element.attr("id").replace("reply-event-id-","");self.doReplayEvent(eventId)}))},doReplayEvent:function(eventId){var url=mdlcfg.wwwroot+"/admin/tool/log/store/xapi/ajax/moveback_to_log.php",eventIds=[eventId],self=this,element=$("#reply-event-id-"+eventId),historical=$(SELECTORS_SEND_ID).val();element.empty(),element.append(loadHTML),element.removeClass("reply-event"),$.ajax({type:"POST",url:url,data:{events:eventIds,historical:historical,sesskey:M.cfg.sesskey},success:function(data){element.empty(),data.success?(element.append(doneHTML),countedEvents--,self.updateResend()):element.append(failedHTML),self.enableFormControls(),self.enablePagination()},fail:function(ex){notification.exception(ex),element.empty(),element.append(failedHTML),self.enableFormControls(),self.enablePagination()}})},registerOnChangeSelectEvents:function(){var self=this;$(SELECTORS_SELECTS).change((function(){selectorChanged=!0,self.disableResend()}))},registerResendEvent:function(){var self=this;selectorChanged||$(SELECTORS_SEND_BUTTON).click((function(){self.disableFormControls(),self.disablePagination(),str.get_strings([{key:labelConfirmTitle,component:"logstore_xapi"},{key:labelConfirmContent,component:"logstore_xapi",param:{count:countedEvents}},{key:"yes",component:"moodle"},{key:"no",component:"moodle"}]).done((function(s){notification.confirm(s[0],s[1],s[2],s[3],(function(){$(SELECTORS_SEND_CAN_DO).val(canResend),self.enableFormControls(),$(SELECTORS_FORM).submit()}),(function(){self.enableFormControls(),self.enablePagination()}))}))}))},updateResend:function(){var element=$(SELECTORS_SEND_BUTTON),self=this;str.get_strings([{key:labelResendButton,component:"logstore_xapi",param:{count:countedEvents}}]).done((function(resend){element.attr("Value",countedEvents),element.html(resend),0!=countedEvents&&!1===selectorChanged&&self.enableResend()}))},disableElements:function(elements){elements.addClass("disabled"),elements.attr("disabled","disabled"),elements.prop("disabled",!0)},enableElements:function(elements){elements.removeClass("disabled"),elements.prop("disabled",!1),elements.removeAttr("disabled")},disablePagination:function(){if(0!=$(SELECTORS_PAGE_LINKS).length){var elements=$(SELECTORS_PAGE_LINKS);this.disableElements(elements),elements.bind("click",(function(e){e.preventDefault()}))}},enablePagination:function(){if(0!=$(SELECTORS_PAGE_LINKS).length){var elements=$(SELECTORS_PAGE_LINKS);this.enableElements(elements),elements.unbind("click")}},disableResend:function(){this.disableElements($(SELECTORS_SEND_BUTTON))},enableResend:function(){this.enableElements($(SELECTORS_SEND_BUTTON))},disableReplyEvents:function(){$(SELECTORS_REPLAY_EVENTS).off("click"),this.disableElements($(SELECTORS_REPLAY_EVENTS))},enableReplyEvents:function(){this.enableElements($(SELECTORS_REPLAY_EVENTS)),this.registerReplyEventListeners()},disableFormSubmit:function(){this.disableElements($(SELECTORS_SUBMIT_FORM))},enableFormSubmit:function(){this.enableElements($(SELECTORS_SUBMIT_FORM))},disableFormSelects:function(){this.disableElements($(SELECTORS_SELECTS))},enableFormSelects:function(){this.enableElements($(SELECTORS_SELECT_ERRORTYPE)),this.enableElements($(SELECTORS_SELECT_EVENTNAME)),this.enableElements($(SELECTORS_SELECT_RESPONSE)),this.enableElements($(SELECTORS_SELECT_CONTEXT)),$(SELECTORS_CHECKBOX_DATEFROM).is(":checked")&&this.enableElements($(SELECTORS_SELECT_DATAFROM)),$(SELECTORS_CHECKBOX_DATETO).is(":checked")&&this.enableElements($(SELECTORS_SELECT_DATATO))},disableFormCheckboxes:function(){this.disableElements($(SELECTORS_CHECKBOXES))},enableFormCheckboxes:function(){this.enableElements($(SELECTORS_CHECKBOXES))},disableFormControls:function(){this.disableFormSubmit(),this.disableFormCheckboxes(),this.disableFormSelects(),this.disableResend()},enableFormControls:function(){this.enableFormCheckboxes(),this.enableFormSelects(),this.enableFormSubmit(),this.enableResend()},generateLoadHTML:function(){str.get_strings([{key:"loadinghelp",component:"moodle"}]).done((function(loadStr){loadHTML='<span aria-hidden="true" class="fa fa-spinner fa-spin fa-pulse" title="'+loadStr+'"></span><span class="sr-only">'+loadStr+"</span>"}))},generateDoneHTML:function(){str.get_strings([{key:"success",component:"moodle"}]).done((function(doneStr){doneHTML='<span aria-hidden="true" class="fa fa-check" title="'+doneStr+'"></span><span class="sr-only">'+doneStr+"</span>"}))},generateFailedHTML:function(){str.get_strings([{key:"failed",component:"logstore_xapi"}]).done((function(failedStr){failedHTML='<span aria-hidden="true" class="fa fa-remove" title="'+failedStr+'"></span><span class="sr-only">'+failedStr+"</span>"}))},generateReplayHTML:function(){str.get_strings([{key:"replayevent",component:"logstore_xapi"}]).done((function(replayStr){replayHTML='<span aria-hidden="true" class="fa fa-repeat" title="'+replayStr+'"></span><span class="sr-only">'+replayStr+" </span>",$(SELECTORS_REPLAY_EVENTS).append(replayHTML)}))}}}));
 
//# sourceMappingURL=replayevents.min.js.map