UNPKG

@sync-in/server

Version:

The secure, open-source platform for file storage, sharing, collaboration, and sync

2 lines (1 loc) 13 kB
import{x as xe,z as Se}from"./chunk-7VRUZRJG.js";import{a as be}from"./chunk-MCLQFZ3S.js";import{h as ge}from"./chunk-FNFGUIQH.js";import{g as Ce}from"./chunk-MVO4WZLK.js";import{g as fe,h as _e}from"./chunk-VPJ2V27B.js";import{Da as ce,Hb as de,Jb as ue,Pb as he,Xa as pe,bb as y,v as te,w as ie,wb as me,ya as le}from"./chunk-4U5A2DEP.js";import{Cb as h,Eb as l,Ed as Z,Fd as ee,Ga as V,Gc as Q,Gf as re,Ib as $,Jb as L,Kb as W,L as j,Ma as s,Nb as I,Ob as M,Pb as d,Qa as N,Qb as g,Tb as K,Ub as H,Vb as X,Xa as R,Xb as k,Za as U,Zc as F,bb as P,bf as ne,dc as C,ec as q,ed as z,f as A,fc as x,ha as f,jb as _,jd as Y,kb as b,kf as oe,ma as S,na as v,nb as T,ob as w,of as ae,pb as p,qb as r,rb as c,sb as m,vf as se,wd as G,ya as B,yd as J,zb as E}from"./chunk-HW2H3ISM.js";import{a as O,b as D}from"./chunk-RTRJ3KFH.js";var ye=(()=>{let a=class a{constructor(){this.inputField="name",this.fullWidth=!1,this.textCenter=!1,this.disableOnBlur=!0,this.disableFocus=!1,this.disableKeyboard=!1,this.updateObject=new P(!0),this.renamingInProgress=new P(!0),this.elementRef=f(B),this.renderer=f(N),this.dangerColor="#dd4b39",this.primaryColor="#3c8dbc"}ngOnInit(){this.initStyles(),this.renamingInProgress.emit(!0),this.elementRef.nativeElement.value=this.inputObject[this.inputField],setTimeout(()=>{this.setParentDraggable("false"),this.disableFocus||(this.elementRef.nativeElement.focus(),this.elementRef.nativeElement.select())},5)}onBlur(){this.disableOnBlur&&this.disableEdit()}onEnter(){this.disableKeyboard||(this.elementRef.nativeElement.value?this.elementRef.nativeElement.value===this.inputObject[this.inputField]?(this.setCorrectForm(),this.disableEdit()):(this.setCorrectForm(),this.updateObject.next({object:this.inputObject,name:this.elementRef.nativeElement.value}),this.disableEdit()):this.setIncorrectForm())}onEscape(){this.disableKeyboard||this.disableEdit()}initStyles(){this.renderer.setStyle(this.elementRef.nativeElement,"display","inline"),this.renderer.setStyle(this.elementRef.nativeElement,"height","100%"),this.renderer.setStyle(this.elementRef.nativeElement,"min-height","20px"),this.renderer.addClass(this.elementRef.nativeElement,"form-control"),this.renderer.addClass(this.elementRef.nativeElement,"form-control-sm"),this.textCenter?(this.renderer.addClass(this.elementRef.nativeElement,"text-center"),this.renderer.setStyle(this.elementRef.nativeElement,"padding","0")):this.renderer.setStyle(this.elementRef.nativeElement,"padding","2px"),this.fullWidth?this.renderer.addClass(this.elementRef.nativeElement,"w-100"):this.renderer.addClass(this.elementRef.nativeElement,"w-75")}setIncorrectForm(){this.renderer.addClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.dangerColor)}setCorrectForm(){this.renderer.removeClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.primaryColor)}disableEdit(){this.setParentDraggable("true"),this.renamingInProgress.emit(!1),setTimeout(()=>this.inputObject.isRenamed=!1,100)}setParentDraggable(e){this.renderer.setAttribute(this.elementRef.nativeElement.parentElement,"draggable",e)}};a.\u0275fac=function(t){return new(t||a)},a.\u0275dir=U({type:a,selectors:[["","appInputEdit",""]],hostBindings:function(t,o){t&1&&h("blur",function(){return o.onBlur()})("keyup.enter",function(){return o.onEnter()})("keyup.esc",function(){return o.onEscape()})},inputs:{inputObject:"inputObject",inputField:"inputField",fullWidth:"fullWidth",textCenter:"textCenter",disableOnBlur:"disableOnBlur",disableFocus:"disableFocus",disableKeyboard:"disableKeyboard"},outputs:{updateObject:"updateObject",renamingInProgress:"renamingInProgress"}});let i=a;return i})();var Ee=["InputRename"],Fe=(i,a)=>a.alias,Pe=(i,a)=>a.key;function Te(i,a){if(i&1&&m(0,"app-user-avatar",15)(1,"div",10),i&2){let n=l().$implicit;p("user",n.owner)}}function we(i,a){if(i&1){let n=E();r(0,"input",16,0),h("updateObject",function(t){S(n);let o=l(2);return v(o.onRenameRoot(t))}),c()}if(i&2){let n=l().$implicit;p("inputObject",n)("fullWidth",!0)}}function Ie(i,a){if(i&1&&(r(0,"span"),d(1),c()),i&2){let n=l(2).$implicit;s(),g(n.externalPath)}}function Me(i,a){if(i&1&&(r(0,"span"),d(1),C(2,"pathSlice"),c()),i&2){let n=l(2).$implicit;s(),g(x(2,1,n.file.path,-2))}}function ke(i,a){if(i&1&&(r(0,"div",17)(1,"span"),d(2),c()(),r(3,"div",18),_(4,Ie,2,1,"span")(5,Me,3,4,"span"),c()),i&2){let n=l().$implicit,e=l();s(2),g(n.name),s(2),b(e.user.isAdmin&&n.externalPath?4:5)}}function Oe(i,a){if(i&1){let n=E();r(0,"button",21),C(1,"translate"),X("ngModelChange",function(t){S(n);let o=l().$implicit,u=l().$implicit;return H(u.hPerms[o.key],t)||(u.hPerms[o.key]=t),v(t)}),h("ngModelChange",function(){S(n);let t=l(2).$implicit,o=l();return v(o.onPermissionChange(t))}),m(2,"fa-icon",22),c()}if(i&2){let n=l().$implicit,e=l().$implicit,t=l();M(k("btn btn-sm btn-custom ",!e.isDir&&(n.key==="a"||n.key==="d")?"disabled":"")),K("ngModel",e.hPerms[n.key]),p("tooltip",x(1,6,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function De(i,a){if(i&1&&(r(0,"button",23),C(1,"translate"),m(2,"fa-icon",22),c()),i&2){let n=l().$implicit,e=l().$implicit,t=l();I("active",e.hPerms[n.key]),p("tooltip",x(1,4,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function Ae(i,a){if(i&1&&_(0,Oe,3,9,"button",19)(1,De,3,7,"button",20),i&2){let n=l().$implicit,e=l();b(!(n.owner!=null&&n.owner.id)&&e.user.isAdmin||(n.owner==null?null:n.owner.id)===e.user.id?0:1)}}function je(i,a){if(i&1){let n=E();r(0,"div",1)(1,"div",2)(2,"div",3),_(3,Te,2,1),m(4,"img",4),r(5,"div",5),_(6,we,2,2,"input",6)(7,ke,6,2),c()(),r(8,"div",7)(9,"div",8),d(10),c(),r(11,"div",8),d(12),C(13,"amTimeAgo"),c()(),r(14,"div",9),m(15,"div",10),T(16,Ae,2,1,null,null,Pe),C(18,"keyvalue"),m(19,"div",11),r(20,"button",12),C(21,"translate"),h("click",function(){let t=S(n).$implicit,o=l();return v(o.setRenamed(t))}),m(22,"fa-icon",13),c(),r(23,"button",14),C(24,"translate"),h("click",function(){let t=S(n).$implicit,o=l();return v(o.removeRoot(t))}),m(25,"fa-icon",13),c()()()()}if(i&2){let n=a.$implicit,e=l();s(3),b(e.showUsers?3:-1),s(),I("cursor-pointer",!!n.file.path),p("src",n.file.mimeUrl,V)("tooltip",n.file.path),s(2),b(n.isRenamed?6:7),s(4),g(n.alias),s(2),g(q(13,15,n.createdAt)),s(4),w(x(18,17,n.hPerms,e.originalOrderKeyValue)),s(4),M(k("btn btn-sm ",n.isRenamed?"btn-success":"btn-custom"," me-2")),p("tooltip",x(21,20,"Rename",e.locale.language)),s(2),p("icon",e.icons.faPen),s(),p("tooltip",x(24,23,"Remove",e.locale.language)),s(2),p("icon",e.icons.faTimes)}}var Re=(()=>{let a=class a{constructor(){this.showUsers=!0,this.addRootFile=null,this.locale=f(J),this.icons={faTimes:oe,faPen:ae},this.SPACES_PERMISSIONS_TEXT=ue,this.originalOrderKeyValue=pe,this.subscription=null}ngOnInit(){this.addRootFile&&(this.subscription=this.addRootFile.subscribe(e=>this.addRoot(e)))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}addRoot(e){let t={id:0,alias:y(e.name,"alias",this.space.roots).toLowerCase(),name:y(e.name,"name",this.space.roots),permissions:"",createdAt:new Date};e.externalPath?(t.externalPath=e.externalPath,t.owner={id:null,login:null,email:null,fullName:null},t.file={id:0,path:null,mime:null}):(t.externalPath=null,t.owner={id:this.user.id,login:this.user.login,email:this.user.email,fullName:this.user.fullName},t.file={id:e.id,path:e.path,mime:e.mime}),this.space.addRoot(t,!0)}removeRoot(e){this.space.roots=this.space.roots.filter(t=>e.alias!==t.alias)}onRenameRoot(e){let t=e.object;t.alias=y(ce(e.name,!0),"alias",this.space.roots.filter(o=>o.id!==t.id)).toLowerCase(),t.name=y(e.name.replace(le,""),"name",this.space.roots.filter(o=>o.id!==t.id))}onPermissionChange(e){e.permissions=he(e.hPerms)}setRenamed(e){e.isRenamed?(this.onRenameRoot({object:e,name:this.inputRename.nativeElement.value}),e.isRenamed=!1):e.isRenamed=!0}};a.\u0275fac=function(t){return new(t||a)},a.\u0275cmp=R({type:a,selectors:[["app-space-manage-roots"]],viewQuery:function(t,o){if(t&1&&$(Ee,5),t&2){let u;L(u=W())&&(o.inputRename=u.first)}},inputs:{space:"space",user:"user",showUsers:"showUsers",addRootFile:"addRootFile"},decls:2,vars:0,consts:[["InputRename",""],[1,"bg-theme","mb-1","p-2",2,"border-radius","4px"],[1,"d-flex","align-items-center","text-truncate","no-select","fs-xs",2,"height","32px"],[1,"d-flex","align-items-center","text-truncate","me-auto"],["draggable","false","height","30","width","30","alt","",3,"src","tooltip"],[1,"d-flex","flex-column","text-truncate","ms-2"],["appInputEdit","","type","text","required","",3,"inputObject","fullWidth"],[1,"d-flex","flex-column","fs-xxxs","text-muted","d-none","d-lg-block","ms-3"],[1,"d-flex","justify-content-end"],[1,"d-flex","no-select"],[1,"vr","mx-2"],[1,"vr","ms-1","me-2"],["type","button",3,"click","tooltip"],[3,"icon"],["type","button",1,"btn","btn-sm","btn-danger",3,"click","tooltip"],["tooltipPlacement","bottom",3,"user"],["appInputEdit","","type","text","required","",3,"updateObject","inputObject","fullWidth"],[1,"text-truncate"],[1,"d-none","d-lg-block","fs-xxxs","text-truncate"],["btnCheckbox","","type","button",3,"ngModel","tooltip","class"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip","active"],["btnCheckbox","","type","button",3,"ngModelChange","ngModel","tooltip"],["size","lg",3,"icon"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip"]],template:function(t,o){t&1&&T(0,je,26,26,"div",1,Fe),t&2&&w(o.space.roots)},dependencies:[_e,fe,F,be,ie,te,G,z,Y,ye,Q,Z,ge,xe],encapsulation:2});let i=a;return i})();function Be(i,a){if(i&1&&m(0,"fa-icon",3),i&2){let n=l();p("icon",n.icons.faSpinner)}}function Ve(i,a){i&1&&(r(0,"span",5),d(1,"You have no files anchored on this space"),c())}var Pt=(()=>{let a=class a{constructor(){this.layout=f(me),this.addRootFileEvent=new A,this.icons={faAnchor:se,faPlus:re,faSpinner:ne,SPACES:de.SPACES},this.submitted=!1,this.loading=!1,this.spacesService=f(Ce)}ngOnInit(){this.space?.roots.length&&(this.space.roots=[]),this.spacesService.getUserSpaceRoots(this.space.id).subscribe({next:e=>this.setSpaceRoots(e),error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message)}})}openSelectRootDialog(){this.layout.openDialog(Se,"xl",{initialState:{currentRoots:this.space.roots.filter(t=>t.owner.id===this.user.id)}}).content.submitEvent.pipe(j(1)).subscribe(t=>this.addRootFileEvent.next(t))}onSubmit(){this.loading=!0,this.submitted=!0,this.spacesService.updateUserSpaceRoots(this.space.id,this.space.roots.map(e=>({id:e.id,alias:e.alias,name:e.name,permissions:e.permissions,file:{id:e.file.id,path:e.file.path,mime:e.file.mime}}))).subscribe({next:e=>{this.setSpaceRoots(e),this.layout.closeDialog()},error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message),this.submitted=!1,this.loading=!1}})}setSpaceRoots(e){this.space.roots=[];for(let t of e)this.space.addRoot(D(O({},t),{owner:this.user}),!0);this.space.counts.roots=this.space.roots.length}};a.\u0275fac=function(t){return new(t||a)},a.\u0275cmp=R({type:a,selectors:[["app-space-user-anchors-dialog"]],inputs:{space:"space",user:"user"},decls:22,vars:11,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[3,"space","user","showUsers","addRootFile"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success",3,"click"],[3,"icon"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(r(0,"div",0)(1,"h4",1),m(2,"fa-icon",2),r(3,"span"),d(4),c()(),_(5,Be,1,1,"fa-icon",3),r(6,"h4",4)(7,"span",5),d(8,"Manage my anchored files"),c()(),r(9,"button",6),h("click",function(){return o.layout.closeDialog()}),c()(),r(10,"div",7),m(11,"app-space-manage-roots",8),_(12,Ve,2,0,"span",5),c(),r(13,"div",9)(14,"button",10),h("click",function(){return o.openSelectRootDialog()}),m(15,"fa-icon",11)(16,"fa-icon",11),d(17," File "),c(),r(18,"button",12),h("click",function(){return o.layout.closeDialog()}),d(19,"Cancel"),c(),r(20,"button",13),h("click",function(){return o.onSubmit()}),d(21," Confirm "),c()()),t&2&&(s(2),p("icon",o.icons.SPACES),s(2),g(o.space.name),s(),b(o.loading?5:-1),s(6),p("space",o.space)("user",o.user)("showUsers",!1)("addRootFile",o.addRootFileEvent),s(),b(o.space.roots.length?-1:12),s(3),p("icon",o.icons.faPlus),s(),p("icon",o.icons.faAnchor),s(4),p("disabled",o.submitted))},dependencies:[F,ee,Re],encapsulation:2});let i=a;return i})();export{ye as a,Re as b,Pt as c};