UNPKG

cronapp-framework-mobile-js

Version:
1 lines 2.71 kB
(function(){function a(a){let b=[].slice.call(arguments,1),c=0;return a.replace(/%s/g,()=>b[c++])}angular.module("upload.services",[]).service("UploadService",["$http","$compile","$ionicModal",function(a,b,c){let d=$("body"),e=angular.element(d.get(0)).scope();this.upload=function(a){e.data=a,c.fromTemplateUrl("node_modules/cronapp-framework-mobile-js/components/upload/upload.html",{scope:e,animation:"slide-in-up",resolve:{data:function(){return a}}}).then(function(a){e.modal=a,e.modal.show()})}.bind(this)}]),angular.module("custom.controllers").controller("UploadController",["$scope","$translate","$stateParams","$location","$http","Upload","$timeout",function(b,c,d,e,f,g,h){app.registerEventsCronapi(b,c),b.params=d,b.$http=f;let i=e.search();for(let a in i)i.hasOwnProperty(a)&&(b.params[a]=i[a]);b.uploading=!1,b.uploaded=!0,b.progress=0,b.message=c.instant("Upload.oneFile");var j=$("ion-header-bar:visible").attr("class");b.headerClass=j,b.buttonClass="button-positive",-1==j.indexOf("-assertive")?-1==j.indexOf("-balanced")?-1==j.indexOf("-energized")?-1==j.indexOf("-light")?-1==j.indexOf("-stable")?-1==j.indexOf("-calm")?-1==j.indexOf("-royal")?-1!=j.indexOf("-dark")&&(b.buttonClass="button-dark"):b.buttonClass="button-royal":b.buttonClass="button-calm":b.buttonClass="button-stable":b.buttonClass="button-light":b.buttonClass="button-energized":b.buttonClass="button-balanced":b.buttonClass="button-assertive","true"===b.data.multiple&&(b.message=c.instant("Upload.multipleFile")),b.data.description&&(b.message=b.data.description),b.safeApply=safeApply,b.imagesSelected=function(a){b.files=a,a&&a.length&&g.upload({url:"/upload_image",method:"POST",data:{files:a}}).then(function(a){h(function(){b.result=a.data})},function(a){0<a.status&&(b.errorMsg=a.status+": "+a.data)},function(a){b.progress=Math.min(100,parseInt(100*a.loaded/a.total))})},b.uploadFile=function(d){let e=b.data.scope,g="api/cronapi/upload/"+b.data.id,h=new FormData;if(0===d.length)this.Notification.error(a(c.instant("Upload.errorValidation"),b.data.maxSize,b.data.filter));else{for(let a=0;a<d.length;a++)h.append("file",d[a]);let a=JSON.parse(localStorage.getItem("_u"));this.$promise=f({method:"POST",url:(window.hostApp||"")+g,data:h,headers:{"Content-Type":void 0,"X-AUTH-TOKEN":a?a.token:""},onProgress:function(a){this.safeApply(function(){if(a.lengthComputable){let c=0|100*(a.loaded/a.total);b.progress=c}b.uploading=!0})}.bind(this)}).success(function(a){e.cronapi.evalInContext(JSON.stringify(a)).then(()=>{b.uploaded=!0,b.uploading=!1,b.close()})}.bind(this)).error(function(a){this.Notification.error(a.error),b.uploading=!1,b.close()}.bind(this))}}.bind(b),b.close=function(){b.modal.hide()}}])})(app);