Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

filedragndrop.component.min.js 18KB

1
  1. var __awaiter=this&&this.__awaiter||function(n,t,i,r){function u(n){return n instanceof i?n:new i(function(t){t(n)})}return new(i||(i=Promise))(function(i,f){function o(n){try{e(r.next(n))}catch(t){f(t)}}function s(n){try{e(r["throw"](n))}catch(t){f(t)}}function e(n){n.done?i(n.value):u(n.value).then(o,s)}e((r=r.apply(n,t||[])).next())})},Unibase;(function(n){let t;(function(t){let i;(function(t){class i extends n.Platform.Core.BaseComponent{constructor(){super(...arguments);this.formPropArray=[];this.isMultipleArray=[];this.files_array=[];this.documentId=[];this.fileSize=20971520}init(t,i,r){var e="control-container-"+i.UniqueId,u=this,f;u.formPropArray.length==0||$("#file_"+i.UniqueId).val()==""?(u.itemid=0,u.doc_array=[],u.files_array[t]=[],$("#hf_file_"+t).val(""),u.documentId[t]=0,u.Singledoc_array=[],u.rmvFiles_array=[],u.ismultiple="false",u.local_container=e,u.singlefile=""):(f=u.formPropArray.find(n=>n.formpropertyid=i.UniqueId),u.assignValues(f));u.loadPropertySettings(i.PropertySettings,i.UniqueId);$("#browse_"+i.UniqueId).click(function(){$("#file_"+i.UniqueId).click()});u.dragNdrop(i.UniqueId);$("#file_"+i.UniqueId).change(function(){u.UploadFile(i.UniqueId)});n.Platform.Files.Managers.FileManager.Instance().getDocumentTypes().then(function(n){u.documenttypes=n.result}).then(function(){r!=null&&r()})}loadControl(t,i){var r=this,f,u,a,e;r.local_container=t;r.emptydoc_array(t);f=r.formPropArray.findIndex(n=>n.key==i.UniqueId);f>=0&&r.formPropArray.splice(f,1);var o="",s="",v=i.IsRequired!=!0?"hidden":"",h=i.IsRequired!=!0?"":"required";const{helpTooltipHtml:c,helpTextHtml:l}=n.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(i);u="";a=i.PropertySettings.find(n=>n.ControlPropertyName=="IsFileControl");a.ControlPropertyValue=="false"?u='<div id="paneldrag" class="col-sm-12 mt-20 drag"><div class="col-sm-12" id="panel"><p><div class="text-center"><i class="fa fa-cloud-download fa-3x" aria-hidden="true"><\/i><\/div><div class="text-center" id="drag" style="font-size:medium">Drag and drop files here<\/div><div class="text-center">Or<\/div><\/p><\/div><div class="row mb-10" id="UploadDiv_'+i.DocPropertyName+'"><input type="text" class="hidden '+h+'" id="hf_file_'+i.UniqueId+'" value=""/><div class="upload-btn-wrapper text-center container"><input id="file_'+i.UniqueId+'" title="" type="file" onclick="this.value=null;" class="hidden d-none fileUpload_ form-control type-control value-control" data-isrequired="'+i.IsRequired+'" data-propertyname="'+i.DocPropertyName+'" data-isdefault="'+i.IsDefault+'" data-propdoctypename="'+i.DocTypeName+'" data-required="'+i.IsRequired+'" data-regularexp="'+o+'" data-validatemsg="'+s+'" data-formdata="" value="Unibase.Forms.Controls.FileDragNDrop.Instance().fileDragNDropObj('+i.UniqueId+');"/><input type="button" value="Browse" class="btn btn-primary btn-lg center-block" id="browse_'+i.UniqueId+'" /><\/div><\/div><div class="text-center my-1 control-help">'+c+l+'<\/div><\/div><div class="row ml-15 fileuploads_ filename" id="fileuploads_'+i.UniqueId+'"><div class="row col-sm-12 ml-10 mt-10 pull-center thumb_doc"><div class="col-sm-12 row pl-0"><div class="input-group"><span class="Selectedfile_ text-dark hidden"><h5 class="Selection mb-10 mt-10">Selected Files :<\/h5> <span class="Selectedfile"><\/span><\/span><\/div><\/div><div class="row col-sm-12 pl-0 pr-0"><ul id="ulselectedfiles_'+i.UniqueId+'" class="list-group mb-n mt-n-15 no-border ulselectedfiles col-sm-12 pl-0 pr-0"><li class="hidden no-border"><\/li><\/ul><\/div><\/div><\/div>':(e="hidden",i.IsRequired&&(e=""),u="<h6>"+c+i.LabelName+'<span class="text-danger '+e+'"> *<\/span> :<\/h6><div class="row" id="UploadDiv_'+i.DocPropertyName+'"><input type="text" class="hidden '+h+'" id="hf_file_'+i.UniqueId+'" value=""/><div class="btn text-left container"><input id="file_'+i.UniqueId+'" title="" type="file" onclick="this.value=null;" class="hidden d-none fileUpload_ form-control value-control" data-isrequired="'+i.IsRequired+'" data-propertyname="'+i.DocPropertyName+'" data-isdefault="'+i.IsDefault+'" data-propdoctypename="'+i.DocTypeName+'" data-required="'+i.IsRequired+'" data-regularexp="'+o+'" data-validatemsg="'+s+'" data-formdata="" value="Unibase.Forms.Controls.FileDragNDrop.Instance().fileDragNDropObj('+i.UniqueId+');"/><input type="button" value="Browse" class="" id="browse_'+i.UniqueId+'" />'+l+'<\/div><\/div><div class="row ml-15 fileuploads_ filename" id="fileuploads_'+i.UniqueId+'"><div class="row col-sm-12 ml-10 pull-center thumb_doc"><div class="col-sm-12 row pl-0"><div class="input-group"><span class="Selectedfile_ text-dark hidden"><h6 class="Selection">Selected Files :<\/h6> <span class="Selectedfile"><\/span><\/span><\/div><\/div><div class="row col-sm-12 pl-0 pr-0"><ul id="ulselectedfiles_'+i.UniqueId+'" class="list-group mb-n mt-n-15 no-border ulselectedfiles col-sm-12 pl-0 pr-0"><li class="hidden no-border"><\/li><\/ul><\/div><\/div><\/div>');$("#"+t).html(u);i.PropertySettings[0].ControlPropertyValue=="false"&&$(".drag").css("border","3px dashed #cccccc")}loadControlSettings(){return __awaiter(this,void 0,void 0,function*(){})}loadPropertySettings(n,t){var i=this,r,u,f;if(n!=null)for(r=0;r<n.length;r++)u=n[r],u.ControlPropertyName=="IsMultiple"&&u.ControlPropertyValue!=""&&(u.ControlPropertyValue=="true"?(i.ismultiple="true",$("#file_"+t).attr("multiple","multiple")):(i.ismultiple="false",$("#file_"+t).removeAttr("multiple")));f=i.isMultipleArray.findIndex(n=>n.key==t);f>=0?i.isMultipleArray[f].value=i.ismultiple:i.isMultipleArray.push({key:t,value:i.ismultiple})}bindEditFormDetails(t,i){var u=this,r,f;i=i.replaceAll("\\","/");r="";f="control-container-"+t;isNaN(Number(i))?(r=JSON.parse(i),u.documentId[t]=r.DocumentId,u.bindData(r,t)):n.Platform.Files.Managers.FileManager.Instance().getDocumentByRefId(Number(i),t).then(function(n){r=n.result}).then(function(){r!==""&&(u.documentId[t]=r.DocumentId,u.bindData(r,t))})}bindData(n,t){for(var l,u,h,s,c,o,a,v,w,b,k,e=this,r=n.DocumentFiles,i=0;i<r.length;i++){if(l=$("#file_"+t).data("isrequired"),l&&$("#file_"+t).removeClass("required"),r[i].DocumentFilePath=r[i].DocumentFilePath.replaceAll("\\","/"),u="",h="",r[i].DocumentGroup!="")if(r[i].DocumentGroup=="Unknown")u="tenants/default/documenttypes/unknown.png";else if(r[i].DocumentGroup=="Image"){for(s=atob(r[i].FileData),c=new Array(s.length),o=0;o<s.length;o++)c[o]=s.charCodeAt(o);a=new Uint8Array(c);v=new Blob([a],{type:r[i].DocumentGroup+"/"+r[i].FileType+";base64"});h=URL.createObjectURL(v);u=h}else r[i].DocumentGroup=="Excel"?u="tenants/default/documenttypes/excel.png":r[i].DocumentGroup=="Pdf"?u="tenants/default/documenttypes/pdf.png":r[i].DocumentGroup=="Word"?u="tenants/default/documenttypes/word.png":r[i].DocumentGroup=="Video"?u="tenants/default/documenttypes/video.png":r[i].DocumentGroup=="Audio"&&(u="tenants/default/documenttypes/audio.png");e.itemid++;var y=r[i].DocumentFilePath.split("/"),d=y[y.length-1],f=r[i].DocumentFilePath.split("/"),p=f[f.length-1].split(".");f=p[p.length-1];f=encodeURIComponent(f).replace(/\'/g,"%2E");w='<li class="list-group-item b-a clear pl-0 pr-0" style="border: none !important"><span id="fileuploads_'+t+"_"+e.itemid+'" class="block fileuploads_'+e.itemid+' filename"><span class="pull-left col-sm-12 pl-0 pr-0"><span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" ; href="javascript:;" onclick="javascript:Unibase.Forms.Controls.FileDragNDrop.Instance().removeFile('+t+","+e.itemid+",'"+f+"',"+r[i].DocumentFileId+');" title="Click to Delete"><\/span><img class="mr-20" style="height:35px;width:35px;vertical-align:middle;" onerror="ReloadImage(event)" alt="" src="'+u+'"><span class="fileName">'+d+"<\/span><\/span><\/span><\/li>";$("#ulselectedfiles_"+t).append(w);$("#hf_file_"+t).val("fileexists");b=r[i];$("#fileuploads_"+t).find(".Selectedfile_").removeClass("hidden");k={Files:b};e.doc_array.push(k)}}dragNdrop(n){var t=this;t.navigationHelper.showLoading();$("#paneldrag").on("dragover",function(n){n.preventDefault();n.stopPropagation()});$("#paneldrag").on("dragenter",function(n){n.preventDefault();n.stopPropagation()});$("#paneldrag").on("drop",function(i){var r,u;i.originalEvent.dataTransfer&&i.originalEvent.dataTransfer.files.length&&(i.preventDefault(),i.stopPropagation(),t.formPropArray.length>0&&(r=t.formPropArray.findIndex(t=>t.key==n),r>=0&&(u=t.formPropArray[r].value,t.assignValues(u))),t.ismultiple=="false"&&t.doc_array.length<1?t.SingleUploadFile(i.originalEvent.dataTransfer.files,n):t.ismultiple=="true"||t.doc_array.length>1?(t.MultipleUploadFile(i.originalEvent.dataTransfer.files,n),$("#file_"+n).attr("multiple","multiple")):t.SingleUploadFile(i.originalEvent.dataTransfer.files,n))});window.addEventListener("dragover",function(n){n=n||event;n.preventDefault()},!1);window.addEventListener("drop",function(n){n=n||event;n.preventDefault()},!1);t.navigationHelper.hideLoading()}UploadFile(n){var t=this,r,i,u;t.navigationHelper.showLoading();r=t.isMultipleArray.find(t=>t.key==n);t.ismultiple=r.value;t.formPropArray.length>0&&(i=t.formPropArray.findIndex(t=>t.key==n),i>=0&&(u=t.formPropArray[i].value,t.assignValues(u)));t.ismultiple=="false"?($("#fileuploads_"+n).find(".Selection").text("Selected File :"),$("#fileuploads_"+n).find(".Selection").addClass("text-dark"),t.SingleUploadFile(null,n)):t.ismultiple=="true"||t.doc_array.length>1?(t.MultipleUploadFile(null,n),$("#file_"+n).attr("multiple","multiple")):(t.SingleUploadFile(null,n),$("#fileuploads_"+n).find(".Selection").text("Selected File :"),$("#fileuploads_"+n).find(".Selection").addClass("text-dark"));t.navigationHelper.hideLoading()}SingleUploadFile(n,t){var i=this,f,a,v,r,s,h,c,u,e,y,p,o,l;if(i.formPropArray.length>0&&(f=i.formPropArray.findIndex(n=>n.key==t),f>=0&&(a=i.formPropArray[f].value,i.assignValues(a))),v=$("#file_"+t).get(0),r=v.files,n!=null&&(r=n),i.singlefile="",s=0,r.length>0)for(h="",c=0,u=0;u<r.length;u++)if(r[u].size<=i.fileSize){if(i.navigationHelper.showLoading(),s=0,s==0)if(i.itemid++,e="",r[u].type.match("image.*")?(y=URL.createObjectURL(r[u]),e=y):e=r[u].type.match("pdf.*")?"tenants/default/documenttypes/pdf.png":r[u].type.match("wordprocessingml.*")||r[u].type.match("text.*")?"tenants/default/documenttypes/word.png":r[u].type.match("spreadsheetml.*")?"tenants/default/documenttypes/excel.png":r[u].type.match("excel.*")?"tenants/default/documenttypes/excel.png":"tenants/default/documenttypes/unknown.png",p=encodeURIComponent(r[u].name).replace(/\'/g,"%2E"),h='<li class="list-group-item b-a clear pl-0 pr-0" style="border: none !important"><span id="fileuploads_'+t+"_"+i.itemid+'" class="block fileuploads_'+i.itemid+' filename"><span class="pull-left"><span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" href="javascript:;" onclick="javascript:Unibase.Forms.Controls.FileDragNDrop.Instance().removeFile('+t+","+i.itemid+",'"+p+'\',0);" title = "Click to Delete"><\/span><img style="height:35px;width:35px;vertical-align:middle;" onerror="ReloadImage(event)" alt="" src="'+e+'"><span class="ml-20 fileName">'+r[u].name+"<\/span><\/span><\/span><\/li>",i.singlefile=r[u],$("#ulselectedfiles_"+t).html(h),$("#fileuploads_"+t).find(".Selectedfile_").removeClass("hidden"),o={Files:i.singlefile},o.Files.size<=i.fileSize)(i.Singledoc_array.length=1)&&(i.Singledoc_array.pop(),i.Singledoc_array.push(o),i.getBase64(o).then(function(n){var u=n;i.files_array[t]=[];i.files_array[t].push(u);$("#hf_file_"+t).val("fileexists");c++;c==r.length&&i.navigationHelper.hideLoading()}));else{alert("Cannot Upload File More Than 20MB");break}}else{alert("Cannot Upload File More Than 20MB");break}l={Singledoc_array:i.Singledoc_array,doc_array:i.doc_array,rmvFiles_array:i.rmvFiles_array,itemid:i.itemid,ismultiple:i.ismultiple,local_container:i.local_container,"instance.singlefile":i.singlefile,documentid:i.documentId};f>=0?i.formPropArray[f].value=l:i.formPropArray.push({key:t,value:l})}MultipleUploadFile(n,t){var i=this,o,v,h,s,u,k,e,l,a;i.formPropArray.length>0&&(o=i.formPropArray.findIndex(n=>n.key==t),o>=0&&(v=i.formPropArray[o].value,i.assignValues(v)));var d=$("#"+i.local_container).parents().find(".bizgaze_FormErrorMessages").attr("id"),g=$("#file_"+t).get(0),r=g.files;if(n!=null&&(r=n),h="",s=0,r.length>0){var y="",p="",w=0;for(i.navigationHelper.showLoading(),u=0;u<r.length;u++)if(s=0,r[u].size<=i.fileSize){if($("#ulselectedfiles_"+t+" li").each(function(n){if(n!=0&&s==0){var t=$(this).find(".fileName").text();r[u].name==t&&(y+=r[u].name+" ",MessageHelper.Instance().showError(y+" files already exist",""+d),s=1)}}),s==0){i.itemid++;var f="",c=r[u].name,b=r[u].name.split(".");r[u].type.match("image.*")&&(k=URL.createObjectURL(r[u]));e=i.documenttypes.find(n=>n.documenttypename==b[b.length-1].toLowerCase());e!=null?e.documentgroup=="Pdf"?f="tenants/default/documenttypes/pdf.png":e.documentgroup=="Image"?f=k:e.documentgroup=="Word"?f="tenants/default/documenttypes/word.png":e.documentgroup=="Excel"?f="tenants/default/documenttypes/excel.png":e.documentgroup=="Video"?f="tenants/default/documenttypes/video.png":e.documentgroup=="Audio"&&(f="tenants/default/documenttypes/audio.png"):f="tenants/default/documenttypes/unknown.png";c=encodeURIComponent(c).replace(/\'/g,"%2E");p='<li class="list-group-item b-a clear pl-0 pr-0" style="border: none !important"><span id="fileuploads_'+t+"_"+i.itemid+'" class="block fileuploads_'+i.itemid+' filename"><span class="pull-left col-sm-12 pl-0 pr-0"><span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" ; href="javascript:;" onclick="javascript:Unibase.Forms.Controls.FileDragNDrop.Instance().removeFile('+t+","+i.itemid+",'"+c+'\',0);" title="Click to Delete"><\/span><img class="mr-20" style="height:35px;width:35px;vertical-align:middle;" onerror="ReloadImage(event)" alt="" src="'+f+'"><span class="fileName">'+r[u].name+"<\/span><\/span><\/span><\/li>";$("#ulselectedfiles_"+t).append(p);h=r[u];$("#fileuploads_"+t).find(".Selectedfile_").removeClass("hidden");l={Files:h};i.doc_array.push(l);i.getBase64(l).then(function(n){var u=n;i.files_array[t].push(u);$("#hf_file_"+t).val("fileexists");w++;w==r.length&&i.navigationHelper.hideLoading()})}}else{alert("file cannot be more than 20Mb");break}i.navigationHelper.hideLoading()}a={Singledoc_array:i.Singledoc_array,doc_array:i.doc_array,rmvFiles_array:i.rmvFiles_array,itemid:i.itemid,ismultiple:i.ismultiple,local_container:i.local_container,"instance.singlefile":i.singlefile,documentid:i.documentId};o>=0?i.formPropArray[o].value=a:i.formPropArray.push({key:t,value:a})}emptydoc_array(n){var t=this;t.itemid=0;t.doc_array=[];t.Singledoc_array=[];t.rmvFiles_array=[];t.ismultiple="false";t.local_container=n;t.singlefile=""}removeFile(n,t,i,r){var u,h,s,c,e,l,a,o,f,v,y;for(i=decodeURIComponent(i.replace(/\%2E/g,"'")),u=this,h=$("#file_"+n).data("isrequired"),u.formPropArray.length>0&&(s=u.formPropArray.findIndex(t=>t.key==n),s>=0&&(c=u.formPropArray[s].value,u.assignValues(c))),u.rmvFiles_array.push({DocumentFileId:r,name:i}),$("#fileuploads_"+n+"_"+t).addClass("hidden"),$("#fileuploads_"+n+"_"+t).parents(".list-group-item").remove(),e=0;e<u.doc_array.length;e++)f="",f=u.doc_array[e].Files.DocumentFileName,f==undefined&&(f=u.doc_array[e].Files.name),f==i&&(l=i.split(/\.(?=[^\.]+$)/)[0],a=u.files_array[n].findIndex(n=>n.FileName==l),u.files_array[n].splice(a,1),u.files_array[n].length==0&&($("#file_"+n).val(null),$("#hf_file_"+n).val("")),u.doc_array=$.grep(u.doc_array,function(n){return n!=u.doc_array[e]}));for(o=0;o<u.Singledoc_array.length;o++)f="",f=u.Singledoc_array[o].Files.DocumentFileName,f==undefined&&(f=u.Singledoc_array[o].Files.name),f==i&&(u.Singledoc_array=$.grep(u.Singledoc_array,function(n){return n!=u.Singledoc_array[e]}));$("#ulselectedfiles_"+n+" li").length==1&&$("#fileuploads_"+n).find(".Selectedfile_").addClass("hidden");h&&(v=u.files_array[n],y=$("#ulselectedfiles_"+n+" li").length,v.length==0&&y==1&&$("#file_"+n).addClass("required"))}getFormData(t){var e=n.Forms.Controls.FileDragNDrop.Instance().formPropArray.findIndex(n=>n.key==t),r,u,i,f;if(e>=0)for(r=n.Forms.Controls.FileDragNDrop.Instance().formPropArray[e].value.doc_array,u=new FormData,i=0;i<r.length;i++)f=r[i].Files,u.append(f.name,f);return u}fileDragNDropObj(n){for(var t=this,r=[],u,e,f,r=t.files_array[n],i=0;i<t.rmvFiles_array.length;i++)u=t.rmvFiles_array[i].DocumentFileId,u!=0&&(e={FileId:u,FilePath:t.rmvFiles_array[i].name},r.push(e));return f=[...r],f.unshift({FileId:t.documentId[n]}),f}saveFile(t,i){var e=this,r=[],u,f,o;if(r=e.files_array[t],u=0,r!=undefined&&r.length>0)for(e.navigationHelper.showLoading(),f=0;f<=r.length-1;f++)o=r[f],n.Platform.Files.Managers.FileManager.Instance()._tempFileSave(o).then(t=>{if(t.status==n.Data.Status.Success){var f=t.result;f!=null&&(r[u].FileData="",r[u].Status="Uploaded",u++,u==r.length&&i&&i())}else r[u].Status="Failed",e.navigationHelper.hideLoading(),n.Platform.Forms.Components.FormViewer.Instance().showError("File Upload Failed")});else i&&i()}assignValues(n){var t=this;t.itemid=n.itemid;t.doc_array=n.doc_array;t.Singledoc_array=n.Singledoc_array;t.rmvFiles_array=n.rmvFiles_array;t.ismultiple=n.ismultiple;t.local_container=n.local_container;t.singlefile=n.singlefile}getBase64(t){return __awaiter(this,void 0,void 0,function*(){var i="",f;i=t.Files.DocumentFileName;i==undefined&&(i=t.Files.name);f=0;let e=t.Files,r=t.Files.name.split("."),u=".unknown";return r.length>0&&(u=r[r.length-1],r.splice(r.length-1,1),i=r.join(".")),new Promise((r,e)=>{const o=new FileReader;o.readAsDataURL(t.Files);o.onloadend=function(){var t=o.result.toString().replace(/^data:.+;base64,/,""),e={FileData:t,FileName:i,FileType:u,RefId:f,ByteData:null,Status:"Converted",FilePath:"_files/documents/"+n.Platform.Membership.Infos.Identity.getCurrentUser().tenantId+"/"+n.Forms.Controls.FileDragNDrop.Instance().generateUUID().trim()+"/"+i+"."+u};r(e)};o.onerror=function(n){e(n)}})})}generateUUID(){var n=(new Date).getTime(),t=typeof performance!="undefined"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var r=Math.random()*16;return n>0?(r=(n+r)%16|0,n=Math.floor(n/16)):(r=(t+r)%16|0,t=Math.floor(t/16)),(i==="x"?r:r&3|8).toString(16)})}static Instance(){return this._instance===undefined&&(this._instance=new i),this._instance}}t.FileDragNDrop=i})(i=t.Controls||(t.Controls={}))})(t=n.Forms||(n.Forms={}))})(Unibase||(Unibase={}));