Web.define("Web.Extension.ErpDocuments.Controller.Cancellation",{extend:"Web.Core.Controller",featureEvents:{"Web.Extension.ErpDocuments.Feature.Cancellation":"Web.Extension.ErpDocuments.Event.Cancellation.Initialize"},listeners:{"Web.Extension.ErpDocuments.Event.Cancellation.Initialize":function(n,t){this.view=Web.create("Web.Extension.ErpDocuments.View.CancelButton",{feature:n,el:t,controller:this})}}});Web.define("Web.Extension.ErpDocuments.Controller.PdfDownload",{extend:"Web.Core.Controller",featureEvents:{"Web.Extension.ErpDocuments.Feature.PdfDownload":"Web.Extension.ErpDocuments.Event.PdfDownload.Initialize","Web.Extension.ErpDocuments.Feature.PdfDownloadModal":"Web.Extension.ErpDocuments.Event.PdfDownloadModal.Initialize"},listeners:{"Web.Extension.ErpDocuments.Event.PdfDownload.Initialize":function(n,t){this.view=Web.create("Web.Extension.ErpDocuments.View.PdfDownload",{feature:n,el:t,controller:this})},"Web.Extension.ErpDocuments.Event.PdfDownloadModal.Initialize":function(n,t){this.modal=Web.create("Web.Extension.ErpDocuments.View.PdfDownloadModal",{feature:n,el:t,controller:this})}},getPdfOptions:function(n,t,i){Web.Core.Server.get("{$baseFolder}/{$language}/ErpDocuments/PdfDownload",{id:n,source:t},i)}});Web.define("Web.Extension.ErpDocuments.Controller.TimeFilter",{extend:"Web.Core.Controller",featureEvents:{"Web.Extension.ErpDocuments.Feature.PopulateTimefilter":"Web.Extension.ErpDocuments.Event.PopulateTimefilter.Initialize"},listeners:{"Web.Extension.ErpDocuments.Event.PopulateTimefilter.Initialize":function(n,t){this.modal=Web.create("Web.Extension.ErpDocuments.View.PopulateTimefilter",{feature:n,el:t,controller:this})}}});Web.define("Web.Extension.ErpDocuments.View.CancelButton",{extend:"Web.Core.View",events:{'focus [data-id="CancelButton"]':"handleFocus",'blur [data-id="CancelButton"]':"handleBlur",'mousedown [data-id="CancelButton"]':"handleMouseDown",'mouseup [data-id="CancelButton"]':"handleMouseUp",'click [data-id="CancelButton"]':"handleClick"},isFocused:!1,isMouseDown:!1,timeout:0,timeoutDuration:100,initialize:function(){this.timeoutDuration=this.getTransitionDuration(this.getId("CancelButton"))},handleFocus:function(n){var t=$(n.currentTarget),i=function(){t.attr("href",t.data("url"))};this.timeout=setTimeout(i,this.timeoutDuration);this.isFocused=!0},handleBlur:function(n){var t=$(n.currentTarget);if(this.isMouseDown){this.isMouseDown=!1;t.focus();return}t.attr("href","#");clearTimeout(this.timeout);this.isFocused=!1},handleMouseDown:function(){this.isMouseDown=!0},handleMouseUp:function(){this.isMouseDown=!1},handleClick:function(n){var t=$(n.currentTarget);this.isFocused||(t.focus(),this.isFocused=!0)},getTransitionDuration:function(n){if(!window.getComputedStyle)return 300;for(var r=window.getComputedStyle(n[0]||n,null),u=/([\d\.]+)(m?s)/gi,t=[],i;(i=u.exec(r.transitionDuration))!==null;){var f=i[1],e=i[2],o=e==="s"?1e3:1,s=parseFloat(f,10)*o;t.push(s)}return t.length===0?300:_.max(t)}});Web.define("Web.Extension.ErpDocuments.View.PdfDownload",{extend:"Web.Core.View",events:{'click [data-id="DownloadButton"]':"onClickDownloadButton"},initialize:function(n){this.controller=n.controller},onClickDownloadButton:function(n){var t=this,i=$(n.currentTarget),r=i.data("pdf"),u=i.data("source");t.controller.modal.show();t.controller.getPdfOptions(r,u,function(n){t.controller.modal.setContent(n)})}});Web.define("Web.Extension.ErpDocuments.View.PdfDownloadModal",{extend:"Web.Core.View",events:{'hidden.bs.modal [data-id="Modal"]':"onModalHidden"},initialize:function(){this.originalContent=this.getContentEl().html()},onModalHidden:function(){this.setContent(this.originalContent)},show:function(){this.getModalEl().modal("show")},hide:function(){this.getModalEl().modal("hide")},mask:function(n){this.getBodyEl().mask(n)},unmask:function(){this.getBodyEl().unmask()},setContent:function(n){this.getContentEl().html(n)},getModalEl:function(){return this.getId("Modal")},getContentEl:function(){return this.getId("Content")},getBodyEl:function(){return this.getId("Body")}});Web.define("Web.Extension.ErpDocuments.View.PopulateTimefilter",{extend:"Web.Core.View",events:{'change [data-id="TimeFilterSelect"]':"onChangeTimeFilter"},initialize:function(n){this.controller=n.controller},onChangeTimeFilter:function(n){var t=$(n.currentTarget),i=$(t).find("option:selected").val();window.location.href=i}})