@sync-in/server 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/environment/environment.dist.yaml +8 -2
- package/package.json +1 -1
- package/server/authentication/auth.config.js +15 -0
- package/server/authentication/auth.config.js.map +1 -1
- package/server/authentication/constants/auth-ldap.js +2 -1
- package/server/authentication/constants/auth-ldap.js.map +1 -1
- package/server/authentication/guards/auth-basic.strategy.js +2 -0
- package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
- package/server/authentication/guards/auth-local.strategy.js +2 -0
- package/server/authentication/guards/auth-local.strategy.js.map +1 -1
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js +75 -32
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -1
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js +2 -1
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js.map +1 -1
- package/static/{chunk-Y7EH7G5K.js → chunk-3GFGJYMK.js} +1 -1
- package/static/{chunk-7FUM3JGM.js → chunk-4YGJGZZZ.js} +1 -1
- package/static/{chunk-34MKICK5.js → chunk-5K7HEX3C.js} +1 -1
- package/static/{chunk-U34OZUZ7.js → chunk-5KLMS6A4.js} +1 -1
- package/static/{chunk-QQ6UQQBR.js → chunk-BB4G55KE.js} +1 -1
- package/static/{chunk-S75P2FFI.js → chunk-DJYJ66UF.js} +1 -1
- package/static/{chunk-AWQ2YTVC.js → chunk-EVIE5F2U.js} +1 -1
- package/static/{chunk-JUNZFADM.js → chunk-EWKSX76T.js} +1 -1
- package/static/{chunk-2I4CUFUA.js → chunk-FHLACA7V.js} +1 -1
- package/static/{chunk-EFKMBLRE.js → chunk-GCATNU55.js} +1 -1
- package/static/{chunk-5O3DIUU3.js → chunk-GYODPCIE.js} +1 -1
- package/static/{chunk-27YQB3TE.js → chunk-HZTFYLM5.js} +1 -1
- package/static/{chunk-JQ5FTO2M.js → chunk-JSUKJT6Z.js} +1 -1
- package/static/{chunk-DSOE3FEP.js → chunk-LTGFCQR7.js} +1 -1
- package/static/{chunk-JASU3CIH.js → chunk-LV3PYKWO.js} +1 -1
- package/static/{chunk-HCDLWTMW.js → chunk-N2WFNW6M.js} +1 -1
- package/static/{chunk-QJX6ITLW.js → chunk-OUTBJSMW.js} +1 -1
- package/static/{chunk-LUWQFIWR.js → chunk-PTGDOWV3.js} +1 -1
- package/static/{chunk-ZQQPUYLU.js → chunk-QNJFQVYI.js} +1 -1
- package/static/{chunk-LJUKI4SQ.js → chunk-RS2PX32L.js} +1 -1
- package/static/{chunk-S2HDY3OL.js → chunk-RSSWH3S2.js} +1 -1
- package/static/{chunk-7DN7ZAPU.js → chunk-SIPE37PA.js} +1 -1
- package/static/{chunk-FUFKVHPU.js → chunk-TKTCBDOG.js} +1 -1
- package/static/{chunk-Q7D6RN4N.js → chunk-V6K2N46L.js} +1 -1
- package/static/{chunk-2MTM6SWN.js → chunk-XLCCZSQL.js} +1 -1
- package/static/{chunk-6NMVZIIT.js → chunk-YPEH66GG.js} +1 -1
- package/static/{chunk-T3EYFSVZ.js → chunk-YPOIUQ57.js} +1 -1
- package/static/{chunk-7P27WBGC.js → chunk-ZKCFO2OA.js} +1 -1
- package/static/index.html +1 -1
- package/static/{main-7SQDDVMD.js → main-MZ7HWZXO.js} +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as ft,c as ht}from"./chunk-AWQ2YTVC.js";import{A as ut,C as Ct,z as _t}from"./chunk-34MKICK5.js";import{a as dt}from"./chunk-ZQQPUYLU.js";import{a as re}from"./chunk-LUWQFIWR.js";import{a as lt}from"./chunk-LJUKI4SQ.js";import{d as Xe}from"./chunk-JQ5FTO2M.js";import"./chunk-JXZCNFW7.js";import{a as tt}from"./chunk-U34OZUZ7.js";import{a as ct}from"./chunk-IQOALFYU.js";import"./chunk-S75P2FFI.js";import{a as Ze,b as it,c as nt,d as ot,e as at,g as rt,h as st}from"./chunk-7P27WBGC.js";import{a as oe,b as ae,c as Je,d as et}from"./chunk-FUFKVHPU.js";import{e as mt}from"./chunk-2I4CUFUA.js";import{f as pt,g as ie}from"./chunk-7FUM3JGM.js";import"./chunk-IPAC4VAF.js";import"./chunk-Y7EH7G5K.js";import{m as Ye,p as te}from"./chunk-JUNZFADM.js";import{B as Y,Jb as je,Kb as I,Lb as ne,Na as He,P as We,Ub as Ge,_a as Qe,nb as ze,ob as W,ra as Ue,rb as Z,sa as $e,ta as qe,v as Me,w as Ve,zb as ee}from"./chunk-2MTM6SWN.js";import"./chunk-22EANI6R.js";import{b as Se,d as xe}from"./chunk-ORMRCEGT.js";import{Ad as K,Cb as f,Eb as c,Gc as ge,Gd as De,Hd as j,Hf as Le,Ib as B,Id as Pe,Jb as N,Jf as J,Kb as O,L,Lf as Be,Ma as a,Mb as F,Nb as U,Ob as R,Pb as m,Qb as E,Rb as D,Sb as ue,Tb as M,Ub as V,Ue as Fe,Vb as P,Xa as $,Xb as H,Xe as Re,Xf as Ne,Yb as fe,_a as q,_b as Ce,_c as z,ab as w,ad as be,bb as de,bd as ve,bg as Oe,dc as b,ec as Q,ef as Ie,f as me,fc as v,fd as ye,gc as he,gg as Ke,ha as y,ib as _e,jb as g,kb as S,kd as we,ma as C,na as h,nb as A,ob as k,pb as p,qb as s,rb as l,rf as G,sb as u,se as Ae,ud as Te,ve as ke,yd as Ee,yf as X,zb as x}from"./chunk-ATP3BFHV.js";import{a as ce,b as pe}from"./chunk-RTRJ3KFH.js";var gt=(()=>{let r=class r{transform(n,o,i){if(typeof o>"u"||typeof o=="number"&&typeof i>"u")throw new Error("TimeAddPipe: missing required arguments");return(0,Y.default)(n).add(o,i)}};r.\u0275fac=function(o){return new(o||r)},r.\u0275pipe=q({name:"amAdd",type:r,pure:!0});let e=r;return e})();var St=(()=>{let r=class r{transform(n,o){if(!o)throw new Error("TimeDurationPipe: missing required time unit argument");return Y.default.duration({[o]:n}).humanize()}};r.\u0275fac=function(o){return new(o||r)},r.\u0275pipe=q({name:"amDuration",type:r,pure:!1});let e=r;return e})();function Tt(e,r){if(e&1&&(s(0,"span"),m(1),l()),e&2){let t=c();a(),E(t.space.name)}}function Et(e,r){e&1&&(s(0,"span",3),m(1,"Create a new space"),l())}function Dt(e,r){if(e&1&&u(0,"fa-icon",4),e&2){let t=c();p("icon",t.icons.faSpinner)}}function Mt(e,r){e&1&&(s(0,"h4",5)(1,"span",3),m(2,"Edit space"),l()())}function Vt(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",46),m(2,"Settings"),l()),e&2){let t=c();p("icon",t.icons.faCog)}}function Pt(e,r){if(e&1&&(s(0,"div",21)(1,"label",47),m(2,"Storage Usage"),l(),u(3,"app-storage-usage",48),l()),e&2){let t=c();a(3),p("item",t.space)}}function At(e,r){if(e&1&&(s(0,"span"),m(1),b(2,"amAdd"),b(3,"amTimeAgo"),l()),e&2){let t=c(2);a(),D("\xA0",v(3,5,he(2,1,t.space.disabledAt,t.SPACE_MAX_DISABLED_DAYS,"days"),!0))}}function kt(e,r){if(e&1&&(s(0,"span"),m(1),b(2,"amDuration"),l()),e&2){let t=c(2);a(),D("\xA0",v(2,1,t.SPACE_MAX_DISABLED_DAYS,"days"))}}function Ft(e,r){if(e&1&&(s(0,"div",27)(1,"span",3),m(2,"Space and data will be deleted in"),l(),s(3,"span",49),g(4,At,4,8,"span")(5,kt,3,4,"span"),l()()),e&2){let t=c();a(4),S(t.space.disabledAt?4:5)}}function Rt(e,r){e&1&&(s(0,"small",33),m(1,"At least one manager is required"),l())}function It(e,r){if(e&1&&(s(0,"div",56)(1,"label",57),m(2,"Deactivation date"),l(),s(3,"div",58),m(4),b(5,"amDateFormat"),l()()),e&2){let t=c(2);a(4),E(Q(5,1,t.space.disabledAt))}}function Lt(e,r){if(e&1&&(s(0,"div",34)(1,"div",50)(2,"label",51),m(3,"Creation date"),l(),s(4,"div",52),m(5),b(6,"amDateFormat"),l()(),s(7,"div",53)(8,"label",54),m(9,"Modification date"),l(),s(10,"div",55),m(11),b(12,"amDateFormat"),l()(),g(13,It,6,3,"div",56),l()),e&2){let t=c();a(5),E(Q(6,3,t.space.createdAt)),a(6),E(Q(12,5,t.space.modifiedAt)),a(2),S(t.space.disabledAt&&!t.space.enabled?13:-1)}}function Bt(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",59),m(2,"Files"),l(),s(3,"span"),m(4),l()),e&2){let t=c();p("icon",t.icons.faAnchor),a(4),D("(",(t.space.roots==null?null:t.space.roots.length)||0,")")}}function Nt(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",59),m(2,"Members"),l(),s(3,"span"),m(4),l()),e&2){let t=c();p("icon",t.icons.faUsers),a(4),D("(",t.space.members.length,")")}}function Ot(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",59),m(2,"Links"),l(),s(3,"span"),m(4),l()),e&2){let t=c();p("icon",t.icons.LINKS),a(4),D("(",t.space.links.length,")")}}function Wt(e,r){if(e&1){let t=x();s(0,"button",60),f("click",function(){C(t);let o=c();return h(o.confirmDeletion=!0)}),m(1," Remove "),l()}if(e&2){let t=c();p("disabled",t.confirmDeletion)}}function Ut(e,r){if(e&1){let t=x();s(0,"button",61),f("click",function(){C(t);let o=c();return h(o.openCreateLinkDialog())}),u(1,"fa-icon",45)(2,"fa-icon",45),m(3," Link "),l()}if(e&2){let t=c();a(),p("icon",t.icons.faPlus),a(),p("icon",t.icons.LINKS)}}function $t(e,r){if(e&1){let t=x();s(0,"button",63),f("click",function(){C(t);let o=c(2);return h(o.openAdminRootDialog())}),u(1,"fa-icon",45)(2,"fa-icon",45),m(3," External location "),l()}if(e&2){let t=c(2);a(),p("icon",t.icons.faPlus),a(),p("icon",t.icons.faUserShield)}}function qt(e,r){if(e&1){let t=x();s(0,"button",61),f("click",function(){C(t);let o=c();return h(o.openSelectRootDialog())}),u(1,"fa-icon",45)(2,"fa-icon",45),m(3," File "),l(),g(4,$t,4,2,"button",62)}if(e&2){let t=c();a(),p("icon",t.icons.faPlus),a(),p("icon",t.icons.faAnchor),a(2),S(t.user.isAdmin?4:-1)}}var le=(()=>{let r=class r{constructor(){this.space=new pt({id:0,name:"",createdAt:new Date,enabled:!0,storageUsage:0,storageQuota:null}),this.spaceChange=new de,this.locale=y(K),this.layout=y(ee),this.icons={SPACES:I.SPACES,LINKS:I.LINKS,faPen:G,faAnchor:X,faUserShield:ke,faPlus:J,faSpinner:Ie,faCog:Fe,faUsers:Ae},this.SPACE_MAX_DISABLED_DAYS=30,this.addRootFileEvent=new me,this.allowedLinkPermissions=[W.ADD,W.DELETE,W.MODIFY],this.editManagers=!1,this.confirmDeletion=!1,this.loading=!1,this.submitted=!1,this.userService=y(te),this.user=this.userService.user,this.spacesService=y(ie),this.linksService=y(mt)}ngOnInit(){this.space.id||this.space.managers.unshift(Ge(this.user,Z.IS_MANAGER))}searchManagers(n){let o={search:n,ignoreUserIds:[...this.space.managers.map(i=>i.id),...this.space.members.filter(i=>i.isUser).map(i=>i.id)],onlyUsers:!0};return this.userService.searchMembers(o)}searchMembers(n){let o={search:n,ignoreUserIds:[...this.space.managers.map(i=>i.id),...this.space.members.filter(i=>i.isUser).map(i=>i.id)],ignoreGroupIds:this.space.members.filter(i=>i.isGroup).map(i=>i.id)};return this.userService.searchMembers(o)}openSelectRootDialog(){this.layout.openDialog(_t,"xl",{initialState:{currentRoots:this.space.roots.filter(o=>o.owner.id===this.user.id)}}).content.submitEvent.pipe(L(1)).subscribe(o=>this.addRootFileEvent.next(o))}openAdminRootDialog(){this.layout.openDialog(ut,null,{initialState:{currentRoots:this.space.roots.filter(o=>o.externalPath)}}).content.submitEvent.pipe(L(1)).subscribe(o=>this.addRootFileEvent.next(o))}openEditLinkDialog(n){this.linksService.editLinkDialog(n,this.space,Ke.SPACE)}openCreateLinkDialog(){this.linksService.createLinkDialog(this.space)}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){this.loading=!0,this.submitted=!0,this.confirmDeletion?(this.space.id===0&&this.layout.closeDialog(),this.spacesService.deleteSpace(this.space.id,{deleteNow:!0}).subscribe({next:()=>{this.loading=!1,this.spaceChange.emit(["delete",this.space]),this.layout.closeDialog()},error:n=>{this.onError(),this.layout.sendNotification("error","Delete space",this.space.name,n)}})):this.space.id===0?this.spacesService.createSpace(this.space).subscribe({next:n=>{this.loading=!1,this.space=n,this.spaceChange.emit(["add",n]),this.layout.closeDialog()},error:n=>{this.onError(),this.layout.sendNotification("error","Create space",this.space.name,n)}}):this.spacesService.updateSpace(this.space).subscribe({next:n=>{this.loading=!1,n?(this.space=n,this.spaceChange.emit(["update",n])):this.spaceChange.emit(["delete",this.space]),this.layout.closeDialog()},error:n=>{this.onError(),this.layout.sendNotification("error","Edit space",this.space.name,n)}})}cantSubmit(){return this.submitted||!this.space.name||!this.space.managers.length}onError(){this.confirmDeletion=!1,this.submitted=!1,this.loading=!1}};r.\u0275fac=function(o){return new(o||r)},r.\u0275cmp=$({type:r,selectors:[["app-space-dialog"]],inputs:{space:"space"},outputs:{spaceChange:"spaceChange"},decls:62,vars:47,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["l10nTranslate",""],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","col-12"],[1,"d-flex","flex-column","col-6","pe-2"],[1,"mb-3","px-0",2,"max-width","80%"],["for","name","l10nTranslate",""],["id","name","type","text","appAutofocus","","required","",3,"ngModelChange","ngModel"],["for","description","l10nTranslate",""],["id","description","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel"],[1,"d-flex","flex-column","align-items-start","mb-3",2,"max-width","80%"],[1,"w-100",3,"quotaChange","quota","fullWidth"],[1,"d-flex","flex-column","mb-3",2,"max-width","80%"],[1,"mb-3","px-0"],["for","switchStatus","l10nTranslate",""],[1,"d-flex","align-items-center","form-check","form-switch","cursor-pointer"],["id","switchStatus","type","checkbox","role","button",1,"form-check-input",3,"ngModelChange","ngModel"],["for","switchStatus","l10nTranslate","",1,"form-check-label","mb-0","ms-2"],[1,"text-danger","mt-2"],[1,"d-flex","flex-column","col-6"],["type","button",3,"click"],["for","editManagers","l10nTranslate","",1,"no-select-pointer"],["id","editManagers",1,"ms-1",3,"icon"],[3,"membersChange","members","searchFunction","editMode","hideInput","customPlaceholder"],["l10nTranslate","",1,"text-danger"],[1,"d-flex","d-none","d-lg-flex","mt-auto"],["customClass","tab-dialog",3,"selectTab"],[1,"col-12"],[3,"space","user","addRootFile"],[3,"membersChange","members","withPermissions","searchFunction"],[3,"membersChange","members","filterPermissions","allowedPermissions","withPermissions","editFunction","hideInput"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],[1,"fw-bold"],[1,"d-flex","flex-column","align-items-start","col-4","px-0"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-center","col-4","px-0"],["for","modified","l10nTranslate",""],["id","modified"],[1,"d-flex","flex-column","align-items-end","col-4","text-danger","px-0"],["for","disabled","l10nTranslate",""],["id","disabled"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-warning"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-warning",3,"click"]],template:function(o,i){o&1&&(s(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),g(3,Tt,2,1,"span")(4,Et,2,0,"span",3),g(5,Dt,1,1,"fa-icon",4),l(),g(6,Mt,3,0,"h4",5),s(7,"button",6),f("click",function(){return i.layout.closeDialog()}),l()(),s(8,"div",7)(9,"tabset",8),u(10,"hr",9),s(11,"tab",10),f("selectTab",function(){return i.tabView=null}),w(12,Vt,3,1,"ng-template",11),s(13,"div",12)(14,"div",13)(15,"div",14)(16,"label",15),m(17," Space name "),l(),s(18,"input",16),P("ngModelChange",function(_){return V(i.space.name,_)||(i.space.name=_),_}),l()(),s(19,"div",14)(20,"label",17),m(21," Description "),l(),s(22,"input",18),P("ngModelChange",function(_){return V(i.space.description,_)||(i.space.description=_),_}),l()(),s(23,"div",19)(24,"app-storage-quota",20),P("quotaChange",function(_){return V(i.space.storageQuota,_)||(i.space.storageQuota=_),_}),l()(),g(25,Pt,4,1,"div",21),s(26,"div",22)(27,"label",23),m(28,"Space status"),l(),s(29,"div",24)(30,"input",25),P("ngModelChange",function(_){return V(i.space.enabled,_)||(i.space.enabled=_),_}),l(),s(31,"label",26),m(32),l()(),g(33,Ft,6,1,"div",27),l()(),s(34,"div",28)(35,"div",29),f("click",function(){return i.editManagers=!i.editManagers}),s(36,"label",30),m(37,"Managers"),l(),u(38,"fa-icon",31),l(),s(39,"app-user-search",32),P("membersChange",function(_){return V(i.space.managers,_)||(i.space.managers=_),_}),l(),g(40,Rt,2,0,"small",33),g(41,Lt,14,7,"div",34),l()()(),s(42,"tab",35),f("selectTab",function(){return i.tabView="roots"}),w(43,Bt,5,2,"ng-template",11),s(44,"div",36),u(45,"app-space-manage-roots",37),l()(),s(46,"tab",35),f("selectTab",function(){return i.tabView="members"}),w(47,Nt,5,2,"ng-template",11),s(48,"div",9)(49,"app-user-search",38),P("membersChange",function(_){return V(i.space.members,_)||(i.space.members=_),_}),l()()(),s(50,"tab",35),f("selectTab",function(){return i.tabView="links"}),w(51,Ot,5,2,"ng-template",11),s(52,"div",9)(53,"app-user-search",39),P("membersChange",function(_){return V(i.space.links,_)||(i.space.links=_),_}),l()()()()(),s(54,"div",40),g(55,Wt,2,1,"button",41),g(56,Ut,4,2,"button",42),g(57,qt,5,3),s(58,"button",43),f("click",function(){return i.onCancel()}),m(59,"Cancel"),l(),s(60,"button",44),f("click",function(){return i.onSubmit()}),m(61),l()()),o&2&&(a(2),p("icon",i.icons.SPACES),a(),S(i.space.id?3:4),a(2),S(i.loading?5:-1),a(),S(i.space.id?6:-1),a(),R(H("btn-close btn-close-white ",i.space.id?"ms-2":"ms-auto"," ms-2")),a(2),p("justified",!0),a(9),R(H("form-control form-control-sm ",i.space.name?"":"is-invalid")),M("ngModel",i.space.name),a(4),M("ngModel",i.space.description),a(2),M("quota",i.space.storageQuota),p("fullWidth",!0),a(),S(i.space.storageUsage?25:-1),a(5),M("ngModel",i.space.enabled),a(2),D(" ",i.space.enabled?"enabled":"disabled"," "),a(),S(i.space.enabled?-1:33),a(5),p("icon",i.icons.faPen),a(),M("members",i.space.managers),p("searchFunction",i.searchManagers.bind(i))("editMode",i.editManagers)("hideInput",!i.editManagers)("customPlaceholder","Type to search for managers to add"),a(),S(i.space.managers.length?-1:40),a(),S(i.space.id?41:-1),a(4),p("space",i.space)("user",i.user)("addRootFile",i.addRootFileEvent),a(4),M("members",i.space.members),p("withPermissions",!0)("searchFunction",i.searchMembers.bind(i)),a(4),M("members",i.space.links),p("filterPermissions",!0)("allowedPermissions",i.allowedLinkPermissions)("withPermissions",!0)("editFunction",i.openEditLinkDialog.bind(i))("hideInput",!0),a(2),S(!i.tabView&&i.space.id&&i.user.isAdmin?55:-1),a(),S(i.tabView==="links"?56:-1),a(),S(i.tabView==="roots"?57:-1),a(3),R(H("btn btn-sm ",i.confirmDeletion?"btn-danger":"btn-primary")),p("disabled",i.cantSubmit()),a(),D(" ",i.confirmDeletion?"Confirm permanent deletion of data":"Confirm"," "))},dependencies:[j,z,at,nt,it,ot,Ee,ve,be,ye,Te,we,Ye,lt,st,ft,Xe,rt,gt,St,Ze],encapsulation:2});let e=r;return e})();var Ht=["MainContextMenu"],Qt=["TargetContextMenu"],zt=()=>["roots","shares"],xt=(e,r)=>r.id,bt=(e,r)=>r.mid,vt=(e,r)=>r.key;function Kt(e,r){if(e&1){let t=x();s(0,"button",3),b(1,"translate"),f("click",function(){C(t);let o=c();return h(o.openSpaceDialog(!0))}),u(2,"fa-icon",7),l()}if(e&2){let t=c();p("tooltip",v(1,2,"New space",t.locale.language)),a(2),p("icon",t.icons.faPlus)}}function jt(e,r){if(e&1&&(s(0,"span",29),m(1),l()),e&2){let t=c().$implicit,n=c(2);F("font-size",n.galleryMode.textSize,"px"),a(),E(t.hTimeAgo)}}function Yt(e,r){if(e&1&&u(0,"app-user-avatar",30),e&2){let t=r.$implicit,n=c(4);p("user",t)("isMember",!0)("height",n.galleryMode.dimensions/3)("width",n.galleryMode.dimensions/3)}}function Gt(e,r){if(e&1&&(s(0,"span",26),A(1,Yt,1,4,"app-user-avatar",30,bt),l()),e&2){let t=c().$implicit;a(),k(t.managers)}}function Xt(e,r){if(e&1){let t=x();s(0,"div",21),f("click",function(){let o=C(t).$implicit,i=c(2);return h(i.onSelect(o))})("contextmenu",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("pressup",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("tap",function(){let o=C(t).$implicit,i=c(2);return h(i.browse(o))}),s(1,"div",22),u(2,"fa-icon",23),s(3,"span",24),g(4,jt,2,3,"span",25),l(),g(5,Gt,3,0,"span",26),l(),s(6,"div",27)(7,"span",28),m(8),l()()()}if(e&2){let t=r.$implicit,n=r.$index,o=c(2);F("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),U("disabled",!t.enabled)("selected",t.id===(o.selected==null?null:o.selected.id)),a(),_e("rowIndex",n),a(),F("min-width",o.galleryMode.image,"px")("min-height",o.galleryMode.image,"px")("font-size",o.galleryMode.faSize,"px"),p("icon",o.icons.SPACES),a(2),S(t.newly?4:-1),a(),S(t.managers.length?5:-1),a(2),F("font-size",o.galleryMode.textSize,"px"),a(),E(t.name)}}function Jt(e,r){if(e&1){let t=x();s(0,"div",12)(1,"app-virtual-scroll",18),b(2,"searchFilter"),f("contextmenu",function(o){C(t);let i=c();return h(i.onContextMenu(o))}),s(3,"div",19),A(4,Xt,9,21,"div",20,xt),l()()()}if(e&2){let t=c();a(),p("childHeight",t.galleryMode.dimensions)("childWidth",t.galleryMode.dimensions)("items",v(2,5,t.spaces,t.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),a(3),k(t.scrollView==null?null:t.scrollView.viewPortItems)}}function Zt(e,r){if(e&1&&u(0,"fa-icon",37),e&2){let t=c(4);p("icon",t.sortTable.sortParam.asc?t.icons.faArrowDown:t.icons.faArrowUp)("fixedWidth",!1)}}function ei(e,r){if(e&1){let t=x();s(0,"th",36),f("click",function(){C(t);let o=c().$implicit,i=c(2);return h(i.sortBy(o.key))}),m(1),g(2,Zt,1,2,"fa-icon",37),l()}if(e&2){let t=c().$implicit,n=c(2);R(t.value.class),F("width",t.value.width,"%"),U("text-align-center",t.value.textCenter)("cursor-pointer",t.value.sortable),a(),D(" ",t.value.label," "),a(),S(n.sortTable.sortParam.column===t.key?2:-1)}}function ti(e,r){if(e&1&&g(0,ei,3,10,"th",35),e&2){let t=r.$implicit;S(t.value.show?0:-1)}}function ii(e,r){if(e&1&&(s(0,"div",40),u(1,"fa-icon",41),s(2,"div",42)(3,"span",28),m(4),l(),s(5,"span",43),m(6),l()()()),e&2){let t=c(3).$implicit,n=c(2);a(),p("icon",n.icons.SPACES)("fixedWidth",!1),a(3),E(t.name),a(2),E(t.description)}}function ni(e,r){if(e&1&&u(0,"app-user-avatar",44),e&2){let t=r.$implicit;p("user",t)("isMember",!0)}}function oi(e,r){if(e&1&&A(0,ni,1,2,"app-user-avatar",44,bt),e&2){let t=c(3).$implicit;k(t.managers)}}function ai(e,r){if(e&1&&(s(0,"span"),m(1),b(2,"joinCounts"),l()),e&2){let t=c(3).$implicit;a(),E(v(2,1,t.counts,Ce(4,zt)))}}function ri(e,r){if(e&1){let t=x();s(0,"span",47),f("click",function(){C(t);let o=c(6);return h(o.openSpaceRootsDialog())}),u(1,"fa-icon",7),m(2),l()}if(e&2){let t=c(4).$implicit,n=c(2);a(),p("icon",n.icons.faAnchor),a(),D("\xA0",t.counts.roots," ")}}function si(e,r){if(e&1){let t=x();s(0,"span",48),f("click",function(){C(t);let o=c(4).$implicit,i=c(2);return h(i.openChildShareDialog(o))}),u(1,"fa-icon",49),s(2,"span"),m(3),l()()}if(e&2){let t=c(4).$implicit,n=c(2);a(),p("icon",n.icons.SHARED),a(2),E(t.counts.shares)}}function li(e,r){if(e&1&&(g(0,ri,3,2,"span",45),g(1,si,4,2,"span",46)),e&2){let t=c(3).$implicit,n=c(2);S(t.counts!=null&&t.counts.roots?0:-1),a(),S(t.role===n.SPACE_ROLE.IS_MANAGER&&t.counts.shares?1:-1)}}function ci(e,r){if(e&1&&u(0,"app-file-permissions",50),e&2){let t=c(4).$implicit;p("permissions",t.hPerms)}}function pi(e,r){if(e&1&&g(0,ci,1,1,"app-file-permissions",50),e&2){let t=c(3).$implicit;S(t.permissions?0:-1)}}function mi(e,r){if(e&1&&m(0),e&2){let t=c(3).$implicit;D(" ",t.hTimeAgo," ")}}function di(e,r){if(e&1&&(s(0,"td"),g(1,ii,7,4,"div",40)(2,oi,2,0)(3,ai,3,5,"span")(4,li,2,2)(5,pi,1,1)(6,mi,1,1),l()),e&2){let t,n=c().$implicit,o=c().$implicit;R(fe("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),F("width",n.value.width,"%"),U("text-align-center",n.value.textCenter),a(),S((t=n.key)==="name"?1:t==="managers"?2:t==="members"?3:t==="infos"?4:t==="permissions"?5:t==="modified"?6:-1)}}function _i(e,r){if(e&1&&g(0,di,7,9,"td",39),e&2){let t=r.$implicit;S(t.value.show?0:-1)}}function ui(e,r){if(e&1){let t=x();s(0,"tr",38),f("click",function(){let o=C(t).$implicit,i=c(2);return h(i.onSelect(o))})("contextmenu",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("pressup",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("tap",function(){let o=C(t).$implicit,i=c(2);return h(i.browse(o))}),A(1,_i,1,1,null,null,vt),b(3,"keyvalue"),l()}if(e&2){let t=r.$implicit,n=c(2);U("disabled",!t.enabled)("selected",t.id===(n.selected==null?null:n.selected.id)),a(),k(v(3,4,n.tableHeaders,n.originalOrderKeyValue))}}function fi(e,r){if(e&1){let t=x();s(0,"table",31)(1,"thead")(2,"tr"),A(3,ti,1,1,null,null,vt),b(5,"keyvalue"),l()()(),s(6,"app-virtual-scroll",32),b(7,"searchFilter"),f("contextmenu",function(o){C(t);let i=c();return h(i.onContextMenu(o))}),s(8,"table",31)(9,"tbody",33),A(10,ui,4,7,"tr",34,xt),l()()()}if(e&2){let t=c();a(3),k(v(5,2,t.tableHeaders,t.originalOrderKeyValue)),a(3),p("bufferAmount",5)("items",v(7,5,t.spaces,t.inputFilter.search())),a(4),k(t.scrollView==null?null:t.scrollView.viewPortItems)}}function Ci(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"New space"),l()),e&2){let t=c(2);a(),p("icon",t.icons.faPlus)}}function hi(e,r){}function gi(e,r){if(e&1){let t=x();w(0,Ci,3,1,"ng-template",15),f("execute",function(){C(t);let o=c();return h(o.openSpaceDialog(!0))}),w(1,hi,0,0,"ng-template",17)}e&2&&(a(),p("divider",!0))}function Si(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Refresh"),l()),e&2){let t=c();a(),p("icon",t.icons.faArrowRotateRight)}}function xi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Edit space"),l()),e&2){let t=c(2);a(),p("icon",t.icons.faPen)}}function bi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Edit children shares"),l()),e&2){let t=c(3);a(),p("icon",t.icons.SHARED)}}function vi(e,r){if(e&1){let t=x();w(0,bi,3,1,"ng-template",15),f("execute",function(){C(t);let o=c(2);return h(o.openChildShareDialog())})}}function yi(e,r){if(e&1){let t=x();w(0,xi,3,1,"ng-template",15),f("execute",function(){C(t);let o=c();return h(o.openSpaceDialog())}),g(1,vi,1,0,null,16)}if(e&2){let t=c();a(),S(t.selected!=null&&t.selected.counts.shares?1:-1)}}function wi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Manage my anchored files"),l()),e&2){let t=c(2);a(),p("icon",t.icons.faAnchor)}}function Ti(e,r){if(e&1){let t=x();w(0,wi,3,1,"ng-template",15),f("execute",function(){C(t);let o=c();return h(o.openSpaceRootsDialog())})}}function Ei(e,r){}function Di(e,r){e&1&&w(0,Ei,0,0,"ng-template",17),e&2&&p("divider",!0)}function Mi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Informations"),l()),e&2){let t=c();a(),p("icon",t.icons.faCircleInfo)}}var Kn=(()=>{let r=class r{constructor(){this.locale=y(K),this.layout=y(ee),this.SPACE_ROLE=Z,this.originalOrderKeyValue=Qe,this.TAB_MENU=He,this.icons={SPACES:I.SPACES,SHARED:I.SHARED_WITH_OTHERS,faAnchor:X,faArrowDown:Ne,faArrowUp:Re,faRotate:Pe,faArrowRotateRight:Be,faUpload:Le,faPlus:J,faPen:G,faCircleInfo:Oe},this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},managers:{label:"Managers",width:10,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},members:{label:"Members",width:20,class:"d-none d-md-table-cell",textCenter:!1,show:!0},infos:{label:"Infos",width:15,textCenter:!0,class:"d-none d-md-table-cell",show:!0},permissions:{label:"Permissions",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},modified:{label:"Modified",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",managers:"Managers",permissions:"Permissions",modified:"Modified"},this.loading=!1,this.spaces=[],this.selected=null,this.canCreateSpace=!1,this.canEditSpace=!1,this.canManageRoots=!1,this.router=y(xe),this.activatedRoute=y(Se),this.spacesService=y(ie),this.store=y(ze),this.userService=y(te),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],managers:[{prop:"managers",type:"length"}],permissions:[{prop:"permissions",type:"length"}],modified:[{prop:"modified",type:"date"}]},this.sortTable=new et(this.constructor.name,this.sortSettings),this.loadSpaces(),this.canCreateSpace=this.userService.userHavePermission(We.SPACES_ADMIN),this.layout.setBreadcrumbIcon(I.SPACES),this.layout.setBreadcrumbNav({url:`/${ne.SPACES}/${je.SPACES}`,translating:!0,sameLink:!0}),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select)}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadSpaces(){this.loading=!0,this.onSelect(),this.spacesService.listSpaces().subscribe({next:n=>{this.sortBy(this.sortTable.sortParam.column,!1,n),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:n=>{this.spaces=[],this.loading=!1,this.layout.sendNotification("error","Spaces",n.error.message)}})}browse(n){n.enabled?this.router.navigate([ne.FILES,n.alias],{relativeTo:this.activatedRoute}).catch(console.error):this.layout.sendNotification("warning",n.name,"Space is disabled")}onSelect(n=null){n?(this.selected=n,this.canEditSpace=!!n.managers.find(o=>o.id===this.userService.user.id),this.canManageRoots=this.canEditSpace||n.havePermission(W.SHARE_INSIDE)):(this.selected=null,this.canEditSpace=!1,this.canManageRoots=!1),this.store.spaceSelection.set(this.selected)}sortBy(n,o=!0,i){this.spaces=this.sortTable.sortBy(n,o,i||this.spaces)}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}openSpaceDialog(n=!1){n?this.layout.openDialog(le,"xl").content.spaceChange.pipe(L(1)).subscribe(i=>{let[d,_]=i;d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,this.spaces.concat(_)),this.onSelect(_))}):this.selected&&this.canEditSpace&&this.spacesService.getSpace(this.selected.id).subscribe({next:o=>{this.layout.openDialog(le,"xl",{initialState:{space:o}}).content.spaceChange.pipe(L(1)).subscribe(d=>{let[_,T]=d;_==="update"?(this.selected.name=T.name,this.selected.alias=T.alias,this.selected.description=T.description,this.selected.counts=pe(ce({},T.counts),{shares:this.selected.counts.shares}),this.selected.modifiedAt=T.modifiedAt,this.selected.enabled=T.enabled,this.selected.managers=[...T.managers]):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.spaces.filter(yt=>yt.id!==T.id)))})},error:o=>this.layout.sendNotification("error","Edit space",this.selected.name,o)})}openSpaceRootsDialog(){setTimeout(()=>{this.layout.openDialog(ht,"md",{initialState:{space:this.selected,user:this.userService.user}})},this.selected?0:100)}openChildShareDialog(n){n&&this.onSelect(n),this.layout.openDialog(Ct,null,{initialState:{space:this.selected}}).content.sharesCountEvent.subscribe(i=>this.selected.counts.shares=i)}focusOn(n){let o=this.spaces.find(i=>i.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};r.\u0275fac=function(o){return new(o||r)},r.\u0275cmp=$({type:r,selectors:[["app-spaces"]],viewQuery:function(o,i){if(o&1&&(B(ae,5),B(oe,7),B(re,7),B(Ht,7),B(Qt,7)),o&2){let d;N(d=O())&&(i.scrollView=d.first),N(d=O())&&(i.inputFilter=d.first),N(d=O())&&(i.btnNavigationView=d.first),N(d=O())&&(i.mainContextMenu=d.first),N(d=O())&&(i.targetContextMenu=d.first)}},decls:34,vars:37,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"tooltip"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[3,"icon"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem",""],["contextMenuItem","",3,"divider"],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"disabled","selected","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],[1,"circle-primary-icon",3,"icon"],[1,"label-top-right"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-left"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning"],[3,"user","isMember","height","width"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[1,"circle-primary-icon",3,"icon","fixedWidth"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[1,"badge","rounded-pill","bg-primary","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-primary","cursor-pointer","me-1",3,"click"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"me-1",3,"icon"],["tooltipPlacement","auto",3,"permissions"],["l10nTranslate",""]],template:function(o,i){if(o&1){let d=x();s(0,"div",2)(1,"button",3),b(2,"translate"),f("click",function(){return C(d),h(i.loadSpaces())}),u(3,"fa-icon",4),l(),g(4,Kt,3,5,"button",5),s(5,"button",6),b(6,"translate"),f("click",function(){return C(d),h(i.openSpaceDialog())}),u(7,"fa-icon",7),l(),s(8,"button",6),b(9,"translate"),f("click",function(){return C(d),h(i.openChildShareDialog())}),u(10,"fa-icon",7),l(),s(11,"button",6),b(12,"translate"),f("click",function(){return C(d),h(i.openSpaceRootsDialog())}),u(13,"fa-icon",7),l(),s(14,"div",8)(15,"div",9),u(16,"app-input-filter",10),l(),s(17,"app-navigation-view",11),f("sortBy",function(T){return C(d),h(i.sortBy(T))})("switchView",function(T){return C(d),h(i.galleryMode=T)}),l()()(),g(18,Jt,6,8,"div",12)(19,fi,12,8),s(20,"div",13)(21,"span",14),m(22),b(23,"translate"),l()(),s(24,"context-menu",null,0),g(26,gi,2,1),w(27,Si,3,1,"ng-template",15),f("execute",function(){return C(d),h(i.loadSpaces())}),l(),s(28,"context-menu",null,1),g(30,yi,2,1),g(31,Ti,1,0,null,16),g(32,Di,1,1,null,17),w(33,Mi,3,1,"ng-template",15),f("execute",function(){return C(d),h(i.layout.showRSideBarTab(i.TAB_MENU.SELECTION))}),l()}o&2&&(a(),p("tooltip",v(2,22,"Refresh",i.locale.language)),a(2),p("icon",i.icons.faArrowRotateRight)("animation",i.loading?"spin":null),a(),S(i.canCreateSpace?4:-1),a(),p("disabled",!i.canEditSpace)("tooltip",v(6,25,"Edit space",i.locale.language)),a(2),p("icon",i.icons.faPen),a(),p("disabled",!i.canEditSpace||!(i.selected!=null&&i.selected.counts.shares))("tooltip",v(9,28,"Edit children shares",i.locale.language)),a(2),p("icon",i.icons.SHARED),a(),p("disabled",!i.canManageRoots)("tooltip",v(12,31,"Manage my anchored files",i.locale.language)),a(2),p("icon",i.icons.faAnchor),a(4),p("sortParams",i.sortTable.sortParam)("sortFields",i.btnSortFields),a(),S(i.galleryMode!=null&&i.galleryMode.enabled?18:19),a(4),ue("",i.spaces.length," ",v(23,34,"spaces",i.locale.language)),a(4),S(i.canCreateSpace?26:-1),a(4),S(i.canEditSpace?30:-1),a(),S(i.canManageRoots?31:-1),a(),S(i.canEditSpace||i.canManageRoots?32:-1))},dependencies:[j,z,tt,ae,Ve,Me,qe,$e,Ue,re,oe,dt,ge,ct,De,Je],encapsulation:2});let e=r;return e})();export{Kn as SpacesComponent};
|
|
1
|
+
import{b as ft,c as ht}from"./chunk-EVIE5F2U.js";import{A as ut,C as Ct,z as _t}from"./chunk-5K7HEX3C.js";import{a as dt}from"./chunk-QNJFQVYI.js";import{a as re}from"./chunk-PTGDOWV3.js";import{a as lt}from"./chunk-RS2PX32L.js";import{d as Xe}from"./chunk-JSUKJT6Z.js";import"./chunk-JXZCNFW7.js";import{a as tt}from"./chunk-5KLMS6A4.js";import{a as ct}from"./chunk-IQOALFYU.js";import"./chunk-DJYJ66UF.js";import{a as Ze,b as it,c as nt,d as ot,e as at,g as rt,h as st}from"./chunk-ZKCFO2OA.js";import{a as oe,b as ae,c as Je,d as et}from"./chunk-TKTCBDOG.js";import{e as mt}from"./chunk-FHLACA7V.js";import{f as pt,g as ie}from"./chunk-4YGJGZZZ.js";import"./chunk-IPAC4VAF.js";import"./chunk-3GFGJYMK.js";import{m as Ye,p as te}from"./chunk-EWKSX76T.js";import{B as Y,Jb as je,Kb as I,Lb as ne,Na as He,P as We,Ub as Ge,_a as Qe,nb as ze,ob as W,ra as Ue,rb as Z,sa as $e,ta as qe,v as Me,w as Ve,zb as ee}from"./chunk-XLCCZSQL.js";import"./chunk-22EANI6R.js";import{b as Se,d as xe}from"./chunk-ORMRCEGT.js";import{Ad as K,Cb as f,Eb as c,Gc as ge,Gd as De,Hd as j,Hf as Le,Ib as B,Id as Pe,Jb as N,Jf as J,Kb as O,L,Lf as Be,Ma as a,Mb as F,Nb as U,Ob as R,Pb as m,Qb as E,Rb as D,Sb as ue,Tb as M,Ub as V,Ue as Fe,Vb as P,Xa as $,Xb as H,Xe as Re,Xf as Ne,Yb as fe,_a as q,_b as Ce,_c as z,ab as w,ad as be,bb as de,bd as ve,bg as Oe,dc as b,ec as Q,ef as Ie,f as me,fc as v,fd as ye,gc as he,gg as Ke,ha as y,ib as _e,jb as g,kb as S,kd as we,ma as C,na as h,nb as A,ob as k,pb as p,qb as s,rb as l,rf as G,sb as u,se as Ae,ud as Te,ve as ke,yd as Ee,yf as X,zb as x}from"./chunk-ATP3BFHV.js";import{a as ce,b as pe}from"./chunk-RTRJ3KFH.js";var gt=(()=>{let r=class r{transform(n,o,i){if(typeof o>"u"||typeof o=="number"&&typeof i>"u")throw new Error("TimeAddPipe: missing required arguments");return(0,Y.default)(n).add(o,i)}};r.\u0275fac=function(o){return new(o||r)},r.\u0275pipe=q({name:"amAdd",type:r,pure:!0});let e=r;return e})();var St=(()=>{let r=class r{transform(n,o){if(!o)throw new Error("TimeDurationPipe: missing required time unit argument");return Y.default.duration({[o]:n}).humanize()}};r.\u0275fac=function(o){return new(o||r)},r.\u0275pipe=q({name:"amDuration",type:r,pure:!1});let e=r;return e})();function Tt(e,r){if(e&1&&(s(0,"span"),m(1),l()),e&2){let t=c();a(),E(t.space.name)}}function Et(e,r){e&1&&(s(0,"span",3),m(1,"Create a new space"),l())}function Dt(e,r){if(e&1&&u(0,"fa-icon",4),e&2){let t=c();p("icon",t.icons.faSpinner)}}function Mt(e,r){e&1&&(s(0,"h4",5)(1,"span",3),m(2,"Edit space"),l()())}function Vt(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",46),m(2,"Settings"),l()),e&2){let t=c();p("icon",t.icons.faCog)}}function Pt(e,r){if(e&1&&(s(0,"div",21)(1,"label",47),m(2,"Storage Usage"),l(),u(3,"app-storage-usage",48),l()),e&2){let t=c();a(3),p("item",t.space)}}function At(e,r){if(e&1&&(s(0,"span"),m(1),b(2,"amAdd"),b(3,"amTimeAgo"),l()),e&2){let t=c(2);a(),D("\xA0",v(3,5,he(2,1,t.space.disabledAt,t.SPACE_MAX_DISABLED_DAYS,"days"),!0))}}function kt(e,r){if(e&1&&(s(0,"span"),m(1),b(2,"amDuration"),l()),e&2){let t=c(2);a(),D("\xA0",v(2,1,t.SPACE_MAX_DISABLED_DAYS,"days"))}}function Ft(e,r){if(e&1&&(s(0,"div",27)(1,"span",3),m(2,"Space and data will be deleted in"),l(),s(3,"span",49),g(4,At,4,8,"span")(5,kt,3,4,"span"),l()()),e&2){let t=c();a(4),S(t.space.disabledAt?4:5)}}function Rt(e,r){e&1&&(s(0,"small",33),m(1,"At least one manager is required"),l())}function It(e,r){if(e&1&&(s(0,"div",56)(1,"label",57),m(2,"Deactivation date"),l(),s(3,"div",58),m(4),b(5,"amDateFormat"),l()()),e&2){let t=c(2);a(4),E(Q(5,1,t.space.disabledAt))}}function Lt(e,r){if(e&1&&(s(0,"div",34)(1,"div",50)(2,"label",51),m(3,"Creation date"),l(),s(4,"div",52),m(5),b(6,"amDateFormat"),l()(),s(7,"div",53)(8,"label",54),m(9,"Modification date"),l(),s(10,"div",55),m(11),b(12,"amDateFormat"),l()(),g(13,It,6,3,"div",56),l()),e&2){let t=c();a(5),E(Q(6,3,t.space.createdAt)),a(6),E(Q(12,5,t.space.modifiedAt)),a(2),S(t.space.disabledAt&&!t.space.enabled?13:-1)}}function Bt(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",59),m(2,"Files"),l(),s(3,"span"),m(4),l()),e&2){let t=c();p("icon",t.icons.faAnchor),a(4),D("(",(t.space.roots==null?null:t.space.roots.length)||0,")")}}function Nt(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",59),m(2,"Members"),l(),s(3,"span"),m(4),l()),e&2){let t=c();p("icon",t.icons.faUsers),a(4),D("(",t.space.members.length,")")}}function Ot(e,r){if(e&1&&(u(0,"fa-icon",45),s(1,"span",59),m(2,"Links"),l(),s(3,"span"),m(4),l()),e&2){let t=c();p("icon",t.icons.LINKS),a(4),D("(",t.space.links.length,")")}}function Wt(e,r){if(e&1){let t=x();s(0,"button",60),f("click",function(){C(t);let o=c();return h(o.confirmDeletion=!0)}),m(1," Remove "),l()}if(e&2){let t=c();p("disabled",t.confirmDeletion)}}function Ut(e,r){if(e&1){let t=x();s(0,"button",61),f("click",function(){C(t);let o=c();return h(o.openCreateLinkDialog())}),u(1,"fa-icon",45)(2,"fa-icon",45),m(3," Link "),l()}if(e&2){let t=c();a(),p("icon",t.icons.faPlus),a(),p("icon",t.icons.LINKS)}}function $t(e,r){if(e&1){let t=x();s(0,"button",63),f("click",function(){C(t);let o=c(2);return h(o.openAdminRootDialog())}),u(1,"fa-icon",45)(2,"fa-icon",45),m(3," External location "),l()}if(e&2){let t=c(2);a(),p("icon",t.icons.faPlus),a(),p("icon",t.icons.faUserShield)}}function qt(e,r){if(e&1){let t=x();s(0,"button",61),f("click",function(){C(t);let o=c();return h(o.openSelectRootDialog())}),u(1,"fa-icon",45)(2,"fa-icon",45),m(3," File "),l(),g(4,$t,4,2,"button",62)}if(e&2){let t=c();a(),p("icon",t.icons.faPlus),a(),p("icon",t.icons.faAnchor),a(2),S(t.user.isAdmin?4:-1)}}var le=(()=>{let r=class r{constructor(){this.space=new pt({id:0,name:"",createdAt:new Date,enabled:!0,storageUsage:0,storageQuota:null}),this.spaceChange=new de,this.locale=y(K),this.layout=y(ee),this.icons={SPACES:I.SPACES,LINKS:I.LINKS,faPen:G,faAnchor:X,faUserShield:ke,faPlus:J,faSpinner:Ie,faCog:Fe,faUsers:Ae},this.SPACE_MAX_DISABLED_DAYS=30,this.addRootFileEvent=new me,this.allowedLinkPermissions=[W.ADD,W.DELETE,W.MODIFY],this.editManagers=!1,this.confirmDeletion=!1,this.loading=!1,this.submitted=!1,this.userService=y(te),this.user=this.userService.user,this.spacesService=y(ie),this.linksService=y(mt)}ngOnInit(){this.space.id||this.space.managers.unshift(Ge(this.user,Z.IS_MANAGER))}searchManagers(n){let o={search:n,ignoreUserIds:[...this.space.managers.map(i=>i.id),...this.space.members.filter(i=>i.isUser).map(i=>i.id)],onlyUsers:!0};return this.userService.searchMembers(o)}searchMembers(n){let o={search:n,ignoreUserIds:[...this.space.managers.map(i=>i.id),...this.space.members.filter(i=>i.isUser).map(i=>i.id)],ignoreGroupIds:this.space.members.filter(i=>i.isGroup).map(i=>i.id)};return this.userService.searchMembers(o)}openSelectRootDialog(){this.layout.openDialog(_t,"xl",{initialState:{currentRoots:this.space.roots.filter(o=>o.owner.id===this.user.id)}}).content.submitEvent.pipe(L(1)).subscribe(o=>this.addRootFileEvent.next(o))}openAdminRootDialog(){this.layout.openDialog(ut,null,{initialState:{currentRoots:this.space.roots.filter(o=>o.externalPath)}}).content.submitEvent.pipe(L(1)).subscribe(o=>this.addRootFileEvent.next(o))}openEditLinkDialog(n){this.linksService.editLinkDialog(n,this.space,Ke.SPACE)}openCreateLinkDialog(){this.linksService.createLinkDialog(this.space)}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){this.loading=!0,this.submitted=!0,this.confirmDeletion?(this.space.id===0&&this.layout.closeDialog(),this.spacesService.deleteSpace(this.space.id,{deleteNow:!0}).subscribe({next:()=>{this.loading=!1,this.spaceChange.emit(["delete",this.space]),this.layout.closeDialog()},error:n=>{this.onError(),this.layout.sendNotification("error","Delete space",this.space.name,n)}})):this.space.id===0?this.spacesService.createSpace(this.space).subscribe({next:n=>{this.loading=!1,this.space=n,this.spaceChange.emit(["add",n]),this.layout.closeDialog()},error:n=>{this.onError(),this.layout.sendNotification("error","Create space",this.space.name,n)}}):this.spacesService.updateSpace(this.space).subscribe({next:n=>{this.loading=!1,n?(this.space=n,this.spaceChange.emit(["update",n])):this.spaceChange.emit(["delete",this.space]),this.layout.closeDialog()},error:n=>{this.onError(),this.layout.sendNotification("error","Edit space",this.space.name,n)}})}cantSubmit(){return this.submitted||!this.space.name||!this.space.managers.length}onError(){this.confirmDeletion=!1,this.submitted=!1,this.loading=!1}};r.\u0275fac=function(o){return new(o||r)},r.\u0275cmp=$({type:r,selectors:[["app-space-dialog"]],inputs:{space:"space"},outputs:{spaceChange:"spaceChange"},decls:62,vars:47,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["l10nTranslate",""],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","col-12"],[1,"d-flex","flex-column","col-6","pe-2"],[1,"mb-3","px-0",2,"max-width","80%"],["for","name","l10nTranslate",""],["id","name","type","text","appAutofocus","","required","",3,"ngModelChange","ngModel"],["for","description","l10nTranslate",""],["id","description","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel"],[1,"d-flex","flex-column","align-items-start","mb-3",2,"max-width","80%"],[1,"w-100",3,"quotaChange","quota","fullWidth"],[1,"d-flex","flex-column","mb-3",2,"max-width","80%"],[1,"mb-3","px-0"],["for","switchStatus","l10nTranslate",""],[1,"d-flex","align-items-center","form-check","form-switch","cursor-pointer"],["id","switchStatus","type","checkbox","role","button",1,"form-check-input",3,"ngModelChange","ngModel"],["for","switchStatus","l10nTranslate","",1,"form-check-label","mb-0","ms-2"],[1,"text-danger","mt-2"],[1,"d-flex","flex-column","col-6"],["type","button",3,"click"],["for","editManagers","l10nTranslate","",1,"no-select-pointer"],["id","editManagers",1,"ms-1",3,"icon"],[3,"membersChange","members","searchFunction","editMode","hideInput","customPlaceholder"],["l10nTranslate","",1,"text-danger"],[1,"d-flex","d-none","d-lg-flex","mt-auto"],["customClass","tab-dialog",3,"selectTab"],[1,"col-12"],[3,"space","user","addRootFile"],[3,"membersChange","members","withPermissions","searchFunction"],[3,"membersChange","members","filterPermissions","allowedPermissions","withPermissions","editFunction","hideInput"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],[1,"fw-bold"],[1,"d-flex","flex-column","align-items-start","col-4","px-0"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-center","col-4","px-0"],["for","modified","l10nTranslate",""],["id","modified"],[1,"d-flex","flex-column","align-items-end","col-4","text-danger","px-0"],["for","disabled","l10nTranslate",""],["id","disabled"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-warning"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-warning",3,"click"]],template:function(o,i){o&1&&(s(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),g(3,Tt,2,1,"span")(4,Et,2,0,"span",3),g(5,Dt,1,1,"fa-icon",4),l(),g(6,Mt,3,0,"h4",5),s(7,"button",6),f("click",function(){return i.layout.closeDialog()}),l()(),s(8,"div",7)(9,"tabset",8),u(10,"hr",9),s(11,"tab",10),f("selectTab",function(){return i.tabView=null}),w(12,Vt,3,1,"ng-template",11),s(13,"div",12)(14,"div",13)(15,"div",14)(16,"label",15),m(17," Space name "),l(),s(18,"input",16),P("ngModelChange",function(_){return V(i.space.name,_)||(i.space.name=_),_}),l()(),s(19,"div",14)(20,"label",17),m(21," Description "),l(),s(22,"input",18),P("ngModelChange",function(_){return V(i.space.description,_)||(i.space.description=_),_}),l()(),s(23,"div",19)(24,"app-storage-quota",20),P("quotaChange",function(_){return V(i.space.storageQuota,_)||(i.space.storageQuota=_),_}),l()(),g(25,Pt,4,1,"div",21),s(26,"div",22)(27,"label",23),m(28,"Space status"),l(),s(29,"div",24)(30,"input",25),P("ngModelChange",function(_){return V(i.space.enabled,_)||(i.space.enabled=_),_}),l(),s(31,"label",26),m(32),l()(),g(33,Ft,6,1,"div",27),l()(),s(34,"div",28)(35,"div",29),f("click",function(){return i.editManagers=!i.editManagers}),s(36,"label",30),m(37,"Managers"),l(),u(38,"fa-icon",31),l(),s(39,"app-user-search",32),P("membersChange",function(_){return V(i.space.managers,_)||(i.space.managers=_),_}),l(),g(40,Rt,2,0,"small",33),g(41,Lt,14,7,"div",34),l()()(),s(42,"tab",35),f("selectTab",function(){return i.tabView="roots"}),w(43,Bt,5,2,"ng-template",11),s(44,"div",36),u(45,"app-space-manage-roots",37),l()(),s(46,"tab",35),f("selectTab",function(){return i.tabView="members"}),w(47,Nt,5,2,"ng-template",11),s(48,"div",9)(49,"app-user-search",38),P("membersChange",function(_){return V(i.space.members,_)||(i.space.members=_),_}),l()()(),s(50,"tab",35),f("selectTab",function(){return i.tabView="links"}),w(51,Ot,5,2,"ng-template",11),s(52,"div",9)(53,"app-user-search",39),P("membersChange",function(_){return V(i.space.links,_)||(i.space.links=_),_}),l()()()()(),s(54,"div",40),g(55,Wt,2,1,"button",41),g(56,Ut,4,2,"button",42),g(57,qt,5,3),s(58,"button",43),f("click",function(){return i.onCancel()}),m(59,"Cancel"),l(),s(60,"button",44),f("click",function(){return i.onSubmit()}),m(61),l()()),o&2&&(a(2),p("icon",i.icons.SPACES),a(),S(i.space.id?3:4),a(2),S(i.loading?5:-1),a(),S(i.space.id?6:-1),a(),R(H("btn-close btn-close-white ",i.space.id?"ms-2":"ms-auto"," ms-2")),a(2),p("justified",!0),a(9),R(H("form-control form-control-sm ",i.space.name?"":"is-invalid")),M("ngModel",i.space.name),a(4),M("ngModel",i.space.description),a(2),M("quota",i.space.storageQuota),p("fullWidth",!0),a(),S(i.space.storageUsage?25:-1),a(5),M("ngModel",i.space.enabled),a(2),D(" ",i.space.enabled?"enabled":"disabled"," "),a(),S(i.space.enabled?-1:33),a(5),p("icon",i.icons.faPen),a(),M("members",i.space.managers),p("searchFunction",i.searchManagers.bind(i))("editMode",i.editManagers)("hideInput",!i.editManagers)("customPlaceholder","Type to search for managers to add"),a(),S(i.space.managers.length?-1:40),a(),S(i.space.id?41:-1),a(4),p("space",i.space)("user",i.user)("addRootFile",i.addRootFileEvent),a(4),M("members",i.space.members),p("withPermissions",!0)("searchFunction",i.searchMembers.bind(i)),a(4),M("members",i.space.links),p("filterPermissions",!0)("allowedPermissions",i.allowedLinkPermissions)("withPermissions",!0)("editFunction",i.openEditLinkDialog.bind(i))("hideInput",!0),a(2),S(!i.tabView&&i.space.id&&i.user.isAdmin?55:-1),a(),S(i.tabView==="links"?56:-1),a(),S(i.tabView==="roots"?57:-1),a(3),R(H("btn btn-sm ",i.confirmDeletion?"btn-danger":"btn-primary")),p("disabled",i.cantSubmit()),a(),D(" ",i.confirmDeletion?"Confirm permanent deletion of data":"Confirm"," "))},dependencies:[j,z,at,nt,it,ot,Ee,ve,be,ye,Te,we,Ye,lt,st,ft,Xe,rt,gt,St,Ze],encapsulation:2});let e=r;return e})();var Ht=["MainContextMenu"],Qt=["TargetContextMenu"],zt=()=>["roots","shares"],xt=(e,r)=>r.id,bt=(e,r)=>r.mid,vt=(e,r)=>r.key;function Kt(e,r){if(e&1){let t=x();s(0,"button",3),b(1,"translate"),f("click",function(){C(t);let o=c();return h(o.openSpaceDialog(!0))}),u(2,"fa-icon",7),l()}if(e&2){let t=c();p("tooltip",v(1,2,"New space",t.locale.language)),a(2),p("icon",t.icons.faPlus)}}function jt(e,r){if(e&1&&(s(0,"span",29),m(1),l()),e&2){let t=c().$implicit,n=c(2);F("font-size",n.galleryMode.textSize,"px"),a(),E(t.hTimeAgo)}}function Yt(e,r){if(e&1&&u(0,"app-user-avatar",30),e&2){let t=r.$implicit,n=c(4);p("user",t)("isMember",!0)("height",n.galleryMode.dimensions/3)("width",n.galleryMode.dimensions/3)}}function Gt(e,r){if(e&1&&(s(0,"span",26),A(1,Yt,1,4,"app-user-avatar",30,bt),l()),e&2){let t=c().$implicit;a(),k(t.managers)}}function Xt(e,r){if(e&1){let t=x();s(0,"div",21),f("click",function(){let o=C(t).$implicit,i=c(2);return h(i.onSelect(o))})("contextmenu",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("pressup",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("tap",function(){let o=C(t).$implicit,i=c(2);return h(i.browse(o))}),s(1,"div",22),u(2,"fa-icon",23),s(3,"span",24),g(4,jt,2,3,"span",25),l(),g(5,Gt,3,0,"span",26),l(),s(6,"div",27)(7,"span",28),m(8),l()()()}if(e&2){let t=r.$implicit,n=r.$index,o=c(2);F("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),U("disabled",!t.enabled)("selected",t.id===(o.selected==null?null:o.selected.id)),a(),_e("rowIndex",n),a(),F("min-width",o.galleryMode.image,"px")("min-height",o.galleryMode.image,"px")("font-size",o.galleryMode.faSize,"px"),p("icon",o.icons.SPACES),a(2),S(t.newly?4:-1),a(),S(t.managers.length?5:-1),a(2),F("font-size",o.galleryMode.textSize,"px"),a(),E(t.name)}}function Jt(e,r){if(e&1){let t=x();s(0,"div",12)(1,"app-virtual-scroll",18),b(2,"searchFilter"),f("contextmenu",function(o){C(t);let i=c();return h(i.onContextMenu(o))}),s(3,"div",19),A(4,Xt,9,21,"div",20,xt),l()()()}if(e&2){let t=c();a(),p("childHeight",t.galleryMode.dimensions)("childWidth",t.galleryMode.dimensions)("items",v(2,5,t.spaces,t.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),a(3),k(t.scrollView==null?null:t.scrollView.viewPortItems)}}function Zt(e,r){if(e&1&&u(0,"fa-icon",37),e&2){let t=c(4);p("icon",t.sortTable.sortParam.asc?t.icons.faArrowDown:t.icons.faArrowUp)("fixedWidth",!1)}}function ei(e,r){if(e&1){let t=x();s(0,"th",36),f("click",function(){C(t);let o=c().$implicit,i=c(2);return h(i.sortBy(o.key))}),m(1),g(2,Zt,1,2,"fa-icon",37),l()}if(e&2){let t=c().$implicit,n=c(2);R(t.value.class),F("width",t.value.width,"%"),U("text-align-center",t.value.textCenter)("cursor-pointer",t.value.sortable),a(),D(" ",t.value.label," "),a(),S(n.sortTable.sortParam.column===t.key?2:-1)}}function ti(e,r){if(e&1&&g(0,ei,3,10,"th",35),e&2){let t=r.$implicit;S(t.value.show?0:-1)}}function ii(e,r){if(e&1&&(s(0,"div",40),u(1,"fa-icon",41),s(2,"div",42)(3,"span",28),m(4),l(),s(5,"span",43),m(6),l()()()),e&2){let t=c(3).$implicit,n=c(2);a(),p("icon",n.icons.SPACES)("fixedWidth",!1),a(3),E(t.name),a(2),E(t.description)}}function ni(e,r){if(e&1&&u(0,"app-user-avatar",44),e&2){let t=r.$implicit;p("user",t)("isMember",!0)}}function oi(e,r){if(e&1&&A(0,ni,1,2,"app-user-avatar",44,bt),e&2){let t=c(3).$implicit;k(t.managers)}}function ai(e,r){if(e&1&&(s(0,"span"),m(1),b(2,"joinCounts"),l()),e&2){let t=c(3).$implicit;a(),E(v(2,1,t.counts,Ce(4,zt)))}}function ri(e,r){if(e&1){let t=x();s(0,"span",47),f("click",function(){C(t);let o=c(6);return h(o.openSpaceRootsDialog())}),u(1,"fa-icon",7),m(2),l()}if(e&2){let t=c(4).$implicit,n=c(2);a(),p("icon",n.icons.faAnchor),a(),D("\xA0",t.counts.roots," ")}}function si(e,r){if(e&1){let t=x();s(0,"span",48),f("click",function(){C(t);let o=c(4).$implicit,i=c(2);return h(i.openChildShareDialog(o))}),u(1,"fa-icon",49),s(2,"span"),m(3),l()()}if(e&2){let t=c(4).$implicit,n=c(2);a(),p("icon",n.icons.SHARED),a(2),E(t.counts.shares)}}function li(e,r){if(e&1&&(g(0,ri,3,2,"span",45),g(1,si,4,2,"span",46)),e&2){let t=c(3).$implicit,n=c(2);S(t.counts!=null&&t.counts.roots?0:-1),a(),S(t.role===n.SPACE_ROLE.IS_MANAGER&&t.counts.shares?1:-1)}}function ci(e,r){if(e&1&&u(0,"app-file-permissions",50),e&2){let t=c(4).$implicit;p("permissions",t.hPerms)}}function pi(e,r){if(e&1&&g(0,ci,1,1,"app-file-permissions",50),e&2){let t=c(3).$implicit;S(t.permissions?0:-1)}}function mi(e,r){if(e&1&&m(0),e&2){let t=c(3).$implicit;D(" ",t.hTimeAgo," ")}}function di(e,r){if(e&1&&(s(0,"td"),g(1,ii,7,4,"div",40)(2,oi,2,0)(3,ai,3,5,"span")(4,li,2,2)(5,pi,1,1)(6,mi,1,1),l()),e&2){let t,n=c().$implicit,o=c().$implicit;R(fe("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),F("width",n.value.width,"%"),U("text-align-center",n.value.textCenter),a(),S((t=n.key)==="name"?1:t==="managers"?2:t==="members"?3:t==="infos"?4:t==="permissions"?5:t==="modified"?6:-1)}}function _i(e,r){if(e&1&&g(0,di,7,9,"td",39),e&2){let t=r.$implicit;S(t.value.show?0:-1)}}function ui(e,r){if(e&1){let t=x();s(0,"tr",38),f("click",function(){let o=C(t).$implicit,i=c(2);return h(i.onSelect(o))})("contextmenu",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("pressup",function(o){let i=C(t).$implicit,d=c(2);return h(d.onTargetContextMenu(o,i))})("tap",function(){let o=C(t).$implicit,i=c(2);return h(i.browse(o))}),A(1,_i,1,1,null,null,vt),b(3,"keyvalue"),l()}if(e&2){let t=r.$implicit,n=c(2);U("disabled",!t.enabled)("selected",t.id===(n.selected==null?null:n.selected.id)),a(),k(v(3,4,n.tableHeaders,n.originalOrderKeyValue))}}function fi(e,r){if(e&1){let t=x();s(0,"table",31)(1,"thead")(2,"tr"),A(3,ti,1,1,null,null,vt),b(5,"keyvalue"),l()()(),s(6,"app-virtual-scroll",32),b(7,"searchFilter"),f("contextmenu",function(o){C(t);let i=c();return h(i.onContextMenu(o))}),s(8,"table",31)(9,"tbody",33),A(10,ui,4,7,"tr",34,xt),l()()()}if(e&2){let t=c();a(3),k(v(5,2,t.tableHeaders,t.originalOrderKeyValue)),a(3),p("bufferAmount",5)("items",v(7,5,t.spaces,t.inputFilter.search())),a(4),k(t.scrollView==null?null:t.scrollView.viewPortItems)}}function Ci(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"New space"),l()),e&2){let t=c(2);a(),p("icon",t.icons.faPlus)}}function hi(e,r){}function gi(e,r){if(e&1){let t=x();w(0,Ci,3,1,"ng-template",15),f("execute",function(){C(t);let o=c();return h(o.openSpaceDialog(!0))}),w(1,hi,0,0,"ng-template",17)}e&2&&(a(),p("divider",!0))}function Si(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Refresh"),l()),e&2){let t=c();a(),p("icon",t.icons.faArrowRotateRight)}}function xi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Edit space"),l()),e&2){let t=c(2);a(),p("icon",t.icons.faPen)}}function bi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Edit children shares"),l()),e&2){let t=c(3);a(),p("icon",t.icons.SHARED)}}function vi(e,r){if(e&1){let t=x();w(0,bi,3,1,"ng-template",15),f("execute",function(){C(t);let o=c(2);return h(o.openChildShareDialog())})}}function yi(e,r){if(e&1){let t=x();w(0,xi,3,1,"ng-template",15),f("execute",function(){C(t);let o=c();return h(o.openSpaceDialog())}),g(1,vi,1,0,null,16)}if(e&2){let t=c();a(),S(t.selected!=null&&t.selected.counts.shares?1:-1)}}function wi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Manage my anchored files"),l()),e&2){let t=c(2);a(),p("icon",t.icons.faAnchor)}}function Ti(e,r){if(e&1){let t=x();w(0,wi,3,1,"ng-template",15),f("execute",function(){C(t);let o=c();return h(o.openSpaceRootsDialog())})}}function Ei(e,r){}function Di(e,r){e&1&&w(0,Ei,0,0,"ng-template",17),e&2&&p("divider",!0)}function Mi(e,r){if(e&1&&(s(0,"span",51),u(1,"fa-icon",7),m(2,"Informations"),l()),e&2){let t=c();a(),p("icon",t.icons.faCircleInfo)}}var Kn=(()=>{let r=class r{constructor(){this.locale=y(K),this.layout=y(ee),this.SPACE_ROLE=Z,this.originalOrderKeyValue=Qe,this.TAB_MENU=He,this.icons={SPACES:I.SPACES,SHARED:I.SHARED_WITH_OTHERS,faAnchor:X,faArrowDown:Ne,faArrowUp:Re,faRotate:Pe,faArrowRotateRight:Be,faUpload:Le,faPlus:J,faPen:G,faCircleInfo:Oe},this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},managers:{label:"Managers",width:10,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},members:{label:"Members",width:20,class:"d-none d-md-table-cell",textCenter:!1,show:!0},infos:{label:"Infos",width:15,textCenter:!0,class:"d-none d-md-table-cell",show:!0},permissions:{label:"Permissions",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},modified:{label:"Modified",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",managers:"Managers",permissions:"Permissions",modified:"Modified"},this.loading=!1,this.spaces=[],this.selected=null,this.canCreateSpace=!1,this.canEditSpace=!1,this.canManageRoots=!1,this.router=y(xe),this.activatedRoute=y(Se),this.spacesService=y(ie),this.store=y(ze),this.userService=y(te),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],managers:[{prop:"managers",type:"length"}],permissions:[{prop:"permissions",type:"length"}],modified:[{prop:"modified",type:"date"}]},this.sortTable=new et(this.constructor.name,this.sortSettings),this.loadSpaces(),this.canCreateSpace=this.userService.userHavePermission(We.SPACES_ADMIN),this.layout.setBreadcrumbIcon(I.SPACES),this.layout.setBreadcrumbNav({url:`/${ne.SPACES}/${je.SPACES}`,translating:!0,sameLink:!0}),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select)}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadSpaces(){this.loading=!0,this.onSelect(),this.spacesService.listSpaces().subscribe({next:n=>{this.sortBy(this.sortTable.sortParam.column,!1,n),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:n=>{this.spaces=[],this.loading=!1,this.layout.sendNotification("error","Spaces",n.error.message)}})}browse(n){n.enabled?this.router.navigate([ne.FILES,n.alias],{relativeTo:this.activatedRoute}).catch(console.error):this.layout.sendNotification("warning",n.name,"Space is disabled")}onSelect(n=null){n?(this.selected=n,this.canEditSpace=!!n.managers.find(o=>o.id===this.userService.user.id),this.canManageRoots=this.canEditSpace||n.havePermission(W.SHARE_INSIDE)):(this.selected=null,this.canEditSpace=!1,this.canManageRoots=!1),this.store.spaceSelection.set(this.selected)}sortBy(n,o=!0,i){this.spaces=this.sortTable.sortBy(n,o,i||this.spaces)}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}openSpaceDialog(n=!1){n?this.layout.openDialog(le,"xl").content.spaceChange.pipe(L(1)).subscribe(i=>{let[d,_]=i;d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,this.spaces.concat(_)),this.onSelect(_))}):this.selected&&this.canEditSpace&&this.spacesService.getSpace(this.selected.id).subscribe({next:o=>{this.layout.openDialog(le,"xl",{initialState:{space:o}}).content.spaceChange.pipe(L(1)).subscribe(d=>{let[_,T]=d;_==="update"?(this.selected.name=T.name,this.selected.alias=T.alias,this.selected.description=T.description,this.selected.counts=pe(ce({},T.counts),{shares:this.selected.counts.shares}),this.selected.modifiedAt=T.modifiedAt,this.selected.enabled=T.enabled,this.selected.managers=[...T.managers]):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.spaces.filter(yt=>yt.id!==T.id)))})},error:o=>this.layout.sendNotification("error","Edit space",this.selected.name,o)})}openSpaceRootsDialog(){setTimeout(()=>{this.layout.openDialog(ht,"md",{initialState:{space:this.selected,user:this.userService.user}})},this.selected?0:100)}openChildShareDialog(n){n&&this.onSelect(n),this.layout.openDialog(Ct,null,{initialState:{space:this.selected}}).content.sharesCountEvent.subscribe(i=>this.selected.counts.shares=i)}focusOn(n){let o=this.spaces.find(i=>i.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};r.\u0275fac=function(o){return new(o||r)},r.\u0275cmp=$({type:r,selectors:[["app-spaces"]],viewQuery:function(o,i){if(o&1&&(B(ae,5),B(oe,7),B(re,7),B(Ht,7),B(Qt,7)),o&2){let d;N(d=O())&&(i.scrollView=d.first),N(d=O())&&(i.inputFilter=d.first),N(d=O())&&(i.btnNavigationView=d.first),N(d=O())&&(i.mainContextMenu=d.first),N(d=O())&&(i.targetContextMenu=d.first)}},decls:34,vars:37,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"tooltip"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[3,"icon"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem",""],["contextMenuItem","",3,"divider"],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"disabled","selected","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],[1,"circle-primary-icon",3,"icon"],[1,"label-top-right"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-left"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning"],[3,"user","isMember","height","width"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[1,"circle-primary-icon",3,"icon","fixedWidth"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[1,"badge","rounded-pill","bg-primary","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-primary","cursor-pointer","me-1",3,"click"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"me-1",3,"icon"],["tooltipPlacement","auto",3,"permissions"],["l10nTranslate",""]],template:function(o,i){if(o&1){let d=x();s(0,"div",2)(1,"button",3),b(2,"translate"),f("click",function(){return C(d),h(i.loadSpaces())}),u(3,"fa-icon",4),l(),g(4,Kt,3,5,"button",5),s(5,"button",6),b(6,"translate"),f("click",function(){return C(d),h(i.openSpaceDialog())}),u(7,"fa-icon",7),l(),s(8,"button",6),b(9,"translate"),f("click",function(){return C(d),h(i.openChildShareDialog())}),u(10,"fa-icon",7),l(),s(11,"button",6),b(12,"translate"),f("click",function(){return C(d),h(i.openSpaceRootsDialog())}),u(13,"fa-icon",7),l(),s(14,"div",8)(15,"div",9),u(16,"app-input-filter",10),l(),s(17,"app-navigation-view",11),f("sortBy",function(T){return C(d),h(i.sortBy(T))})("switchView",function(T){return C(d),h(i.galleryMode=T)}),l()()(),g(18,Jt,6,8,"div",12)(19,fi,12,8),s(20,"div",13)(21,"span",14),m(22),b(23,"translate"),l()(),s(24,"context-menu",null,0),g(26,gi,2,1),w(27,Si,3,1,"ng-template",15),f("execute",function(){return C(d),h(i.loadSpaces())}),l(),s(28,"context-menu",null,1),g(30,yi,2,1),g(31,Ti,1,0,null,16),g(32,Di,1,1,null,17),w(33,Mi,3,1,"ng-template",15),f("execute",function(){return C(d),h(i.layout.showRSideBarTab(i.TAB_MENU.SELECTION))}),l()}o&2&&(a(),p("tooltip",v(2,22,"Refresh",i.locale.language)),a(2),p("icon",i.icons.faArrowRotateRight)("animation",i.loading?"spin":null),a(),S(i.canCreateSpace?4:-1),a(),p("disabled",!i.canEditSpace)("tooltip",v(6,25,"Edit space",i.locale.language)),a(2),p("icon",i.icons.faPen),a(),p("disabled",!i.canEditSpace||!(i.selected!=null&&i.selected.counts.shares))("tooltip",v(9,28,"Edit children shares",i.locale.language)),a(2),p("icon",i.icons.SHARED),a(),p("disabled",!i.canManageRoots)("tooltip",v(12,31,"Manage my anchored files",i.locale.language)),a(2),p("icon",i.icons.faAnchor),a(4),p("sortParams",i.sortTable.sortParam)("sortFields",i.btnSortFields),a(),S(i.galleryMode!=null&&i.galleryMode.enabled?18:19),a(4),ue("",i.spaces.length," ",v(23,34,"spaces",i.locale.language)),a(4),S(i.canCreateSpace?26:-1),a(4),S(i.canEditSpace?30:-1),a(),S(i.canManageRoots?31:-1),a(),S(i.canEditSpace||i.canManageRoots?32:-1))},dependencies:[j,z,tt,ae,Ve,Me,qe,$e,Ue,re,oe,dt,ge,ct,De,Je],encapsulation:2});let e=r;return e})();export{Kn as SpacesComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as P,b as R,c as X,d as $}from"./chunk-
|
|
1
|
+
import{a as P,b as R,c as X,d as $}from"./chunk-DJYJ66UF.js";import{_a as K,zb as O}from"./chunk-XLCCZSQL.js";import{$e as d,Cb as h,Eb as l,Gc as k,Hd as B,Ma as r,Oe as F,Pb as m,Rb as y,Ue as E,Xa as M,Xe as L,Xf as I,_c as z,ab as T,ag as N,bb as g,dc as S,fc as V,ha as C,jb as b,kb as D,ma as w,na as f,nb as _,ob as v,pb as p,qb as a,rb as s,sb as u,zb as x}from"./chunk-ATP3BFHV.js";var A=(t,i)=>i.key;function U(t,i){if(t&1){let e=x();a(0,"li",6)(1,"a",8),h("click",function(){let o=w(e).$implicit,c=l(2);return f(c.setView(o.key))}),a(2,"span"),u(3,"fa-icon",2),m(4),s()()()}if(t&2){let e=i.$implicit;r(3),p("icon",e.value.icon),r(),y(" ",e.value.text)}}function j(t,i){if(t&1&&u(0,"fa-icon",10),t&2){let e=l(3);p("icon",e.sortParams.asc?e.icons.faArrowDown:e.icons.faArrowUp)}}function q(t,i){if(t&1){let e=x();a(0,"li",6)(1,"a",8),h("click",function(){let o=w(e).$implicit,c=l(2);return f(c.sortBy.emit(o.key))}),a(2,"span",9),m(3),b(4,j,1,1,"fa-icon",10),s()()()}if(t&2){let e=i.$implicit,n=l(2);r(3),y(" ",e.value," "),r(),D(n.sortParams.column===e.key?4:-1)}}function G(t,i){if(t&1&&(a(0,"ul",4)(1,"li",5),m(2,"Display"),s(),_(3,U,5,2,"li",6,A),S(5,"keyvalue"),a(6,"li",7),m(7,"Sort by"),s(),_(8,q,5,2,"li",6,A),S(10,"keyvalue"),s()),t&2){let e=l();r(3),v(V(5,0,e.viewsMode,e.originalOrderKeyValue)),r(5),v(V(10,3,e.sortFields,e.originalOrderKeyValue))}}var le=(()=>{let i=class i{constructor(){this.switchView=new g,this.sortBy=new g,this.originalOrderKeyValue=K,this.icons={faCog:E,faArrowDown:I,faArrowUp:L},this.viewsMode={tl:{enabled:!1,text:"List",icon:F},th:{enabled:!0,text:"S",icon:d,dimensions:96,image:56,imageRes:128,faSize:30,textSize:10,margins:18},thM:{enabled:!0,text:"M",icon:d,dimensions:112,image:72,imageRes:192,faSize:34,textSize:11,margins:18},thL:{enabled:!0,text:"L",icon:d,dimensions:152,image:112,imageRes:256,faSize:50,textSize:12,margins:18},thXl:{enabled:!0,text:"XL",icon:d,dimensions:192,image:152,imageRes:512,faSize:65,textSize:13,margins:18},thXxl:{enabled:!0,text:"XXL",icon:N,dimensions:232,image:192,imageRes:1024,faSize:80,textSize:13,margins:18}},this.layout=C(O),this.viewsMode.tl.text=this.layout.translateString(this.viewsMode.tl.text)}get viewMode(){return localStorage.getItem("viewMode")||"tl"}set viewMode(n){localStorage.setItem("viewMode",n)}currentView(){return this.viewsMode[this.viewMode]}setView(n){this.viewMode=n,this.switchView.emit(this.viewsMode[n])}};i.\u0275fac=function(o){return new(o||i)},i.\u0275cmp=M({type:i,selectors:[["app-navigation-view"]],inputs:{sortParams:"sortParams",sortFields:"sortFields"},outputs:{switchView:"switchView",sortBy:"sortBy"},decls:4,vars:1,consts:[["dropdown","",1,"btn-group","btn-group-sm"],["dropdownToggle","","type","button",1,"btn","btn-sm","btn-secondary","dropdown-toggle"],[3,"icon"],["class","dropdown-menu dropdown-menu-right","role","menu",4,"dropdownMenu"],["role","menu",1,"dropdown-menu","dropdown-menu-right"],["l10nTranslate","",1,"dropdown-header","fw-bold"],["role","menuitem"],["l10nTranslate","",1,"dropdown-header","fw-bold","mt-1"],[1,"dropdown-item",3,"click"],["l10nTranslate","",1,"me-2"],["size","xs",1,"ms-1",3,"icon"]],template:function(o,c){o&1&&(a(0,"div",0)(1,"button",1),u(2,"fa-icon",2),s(),T(3,G,11,6,"ul",3),s()),o&2&&(r(2),p("icon",c.icons.faCog))},dependencies:[$,R,X,P,z,B,k],encapsulation:2,changeDetection:0});let t=i;return t})();export{le as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_a as k,v as E,w as L}from"./chunk-
|
|
1
|
+
import{_a as k,v as E,w as L}from"./chunk-XLCCZSQL.js";import{Ad as v,Eb as s,Gc as x,Gd as F,Hd as O,Pb as g,Xa as c,_c as T,dc as r,fc as p,ha as l,jb as f,kb as u,nb as d,ob as h,pb as C,qb as P,rb as y,sb as _,va as m}from"./chunk-ATP3BFHV.js";var D=(e,i)=>i.key;function K(e,i){e&1&&(P(0,"span",0),g(1,"No permissions"),y())}function V(e,i){if(e&1&&(_(0,"fa-icon",1),r(1,"translate")),e&2){let t=i.$implicit,n=s(2);C("icon",t.value.icon)("tooltip",p(1,3,t.value.text,n.locale.language))("placement",n.tooltipPlacement)}}function M(e,i){if(e&1&&(d(0,V,2,6,"fa-icon",1,D),r(2,"keyvalue")),e&2){let t=s();h(p(2,0,t.permissions,t.originalOrderKeyValue))}}var z=(()=>{let i=class i{constructor(){this.permissions={},this.tooltipPlacement="top",this.replaceEmptyPermissions=!1,this.locale=l(v),this.hasPermissions=!1,this.originalOrderKeyValue=k}ngOnChanges(){this.hasPermissions=!!Object.keys(this.permissions).length}};i.\u0275fac=function(o){return new(o||i)},i.\u0275cmp=c({type:i,selectors:[["app-file-permissions"]],inputs:{permissions:"permissions",tooltipPlacement:"tooltipPlacement",replaceEmptyPermissions:"replaceEmptyPermissions"},features:[m],decls:2,vars:1,consts:[["l10nTranslate",""],[1,"cursor-pointer","fs-md",3,"icon","tooltip","placement"]],template:function(o,a){o&1&&f(0,K,2,0,"span",0)(1,M,3,3),o&2&&u(a.replaceEmptyPermissions&&!a.hasPermissions?0:1)},dependencies:[L,E,O,T,x,F],encapsulation:2});let e=i;return e})();export{z as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as u}from"./chunk-JXZCNFW7.js";import{Ra as I,Sa as N,v as D,w as E}from"./chunk-
|
|
1
|
+
import{a as u}from"./chunk-JXZCNFW7.js";import{Ra as I,Sa as N,v as D,w as E}from"./chunk-XLCCZSQL.js";import{Ad as w,Cb as g,Gd as L,Hd as b,Ma as m,Mb as c,Nb as q,Ob as T,Pb as C,Tb as x,Ub as v,Vb as M,Xa as h,Xb as _,bb as d,bd as Q,dc as W,fc as y,fd as B,ha as p,kd as P,pb as f,qb as r,rb as l,yd as S}from"./chunk-ATP3BFHV.js";var K=(()=>{let o=class o{constructor(){this.quotaChange=new d,this.maxWidthPercent=75,this.fullWidth=!1,this.locale=p(w),this.invalid=!1}ngOnInit(){this.fullWidth&&(this.maxWidthPercent=100),this.quota!==null&&(this.quotaText=this.quota===0?"0":N(this.quota))}onQuotaBlur(){if(this.quotaText){if(this.quotaText==="0"){this.quotaChange.emit(0);return}let e=u.exec(this.quotaText);if(e){this.quotaText=`${e[1]} ${e[2].toUpperCase()}`,this.quotaChange.emit(I(parseInt(e[1]),e[2]));return}}this.quotaChange.emit(null)}validateQuota(){this.invalid=this.quotaText&&this.quotaText!=="0"&&!u.test(this.quotaText)}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=h({type:o,selectors:[["app-storage-quota"]],inputs:{quota:"quota",maxWidthPercent:"maxWidthPercent",fullWidth:"fullWidth"},outputs:{quotaChange:"quotaChange"},decls:5,vars:12,consts:[["for","storageQuota","l10nTranslate",""],["id","storageQuota"],["id","quota","placement","top","tooltip",'"512 MB" "12 GB" "2 TB" ...',"triggers","focus","type","text",3,"ngModelChange","blur","ngModel","placeholder"]],template:function(i,t){i&1&&(r(0,"label",0),C(1,"Storage Quota"),l(),r(2,"div",1)(3,"input",2),W(4,"translate"),M("ngModelChange",function(n){return v(t.quotaText,n)||(t.quotaText=n),n}),g("ngModelChange",function(){return t.validateQuota()})("blur",function(){return t.onQuotaBlur()}),l()()),i&2&&(m(3),T(_("form-control form-control-sm ",t.invalid?"is-invalid":"")),c("max-width",t.maxWidthPercent,"%"),q("w-100",t.fullWidth),x("ngModel",t.quotaText),f("placeholder",y(4,9,"Unlimited",t.locale.language)))},dependencies:[E,D,S,Q,B,P,b,L],encapsulation:2});let a=o;return a})();export{K as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as oe}from"./chunk-
|
|
1
|
+
import{e as oe}from"./chunk-SIPE37PA.js";import{b as ne}from"./chunk-3GFGJYMK.js";import{n as se,o as I}from"./chunk-EWKSX76T.js";import{B as W,M as R,O as A,P as J,Ta as te,Tb as d,Za as ie,ga as E,ha as u,ia as K,ja as f,ka as Q,la as a,lb as re,ma as X,na as Y,oa as Z,pa as ee,ua as v}from"./chunk-XLCCZSQL.js";import{d as H}from"./chunk-ORMRCEGT.js";import{Ad as V,Cb as k,Eb as g,G as w,Gd as q,Hd as z,Ma as S,Pb as U,Pc as F,Rb as L,Xa as O,bb as C,ca as P,dc as $,ec as B,fc as j,ha as c,lb as N,ma as x,na as T,nb as b,ob as G,pb as y,qb as _,rb as l,v as o,zb as D}from"./chunk-ATP3BFHV.js";var m=class{constructor(i){this.isAdmin=!1,this.newly=0,this.applications=[],this.currentAccessHover=!1,this.setGroups(i),this.setManagers(i),Object.assign(this,i),this.isAdmin=i.role===R.ADMINISTRATOR,this.userRoleText=ie(R[i.role]),this.avatarUrl=re(i.login),this.userIsActiveText=this.isActive?"active":"suspended",this.hTimeAgo=(0,W.default)(this.currentAccess).fromNow(!0),this.newly=te(this.currentAccess),this.permissions&&(this.applications=this.permissions.split(A))}setGroups(i){i?.groups&&(i.groups=i.groups.map(p=>new d(p)))}setManagers(i){i?.managers&&(i.managers=i.managers.map(p=>new d(p)))}};var h=class{constructor(i){Object.assign(this,i),this.permissions&&(this.applications=this.permissions.split(A))}};var Te=(()=>{let i=class i{constructor(){this.http=c(F),this.router=c(H),this.authService=c(ne)}listUsers(e=!1){return this.http.get(e?Q:K).pipe(o(t=>t.map(r=>new m(r))))}getUser(e,t=!1){return this.http.get(`${t?f:u}/${e}`).pipe(o(r=>t?new I(r):new m(r)))}createUser(e,t,r=!1){return this.http.post(r?f:u,e,{headers:t}).pipe(o(n=>r?new I(n):new m(n)))}updateUser(e,t,r,n=!1){return this.http.put(`${n?f:u}/${e}`,t,{headers:r}).pipe(o(M=>n?new I(M):new m(M)))}deleteUser(e,t,r){return this.http.request("delete",`${t.isGuest?f:u}/${e}`,{headers:r,body:t})}browseGroup(e,t=!1){return this.http.get(`${t?Y:X}${e?`/${e}`:""}`).pipe(o(r=>new se(r)))}getGroup(e){return this.http.get(`${a}/${e}`).pipe(o(t=>new h(t)))}createGroup(e){return this.http.post(a,e).pipe(o(t=>new h(t)))}updateGroup(e,t){return this.http.put(`${a}/${e}`,t).pipe(o(r=>new h(r)))}deleteGroup(e){return this.http.delete(`${a}/${e}`)}addUsersToGroup(e,t){return this.http.patch(`${a}/${e}/${E.USERS}`,t)}updateUserFromGroup(e,t,r){return this.http.patch(`${a}/${e}/${E.USERS}/${t}`,r)}removeUserFromGroup(e,t){return this.http.delete(`${a}/${e}/${E.USERS}/${t}`)}searchMembers(e,t=!1){return this.http.request("search",Z,{body:e}).pipe(o(r=>r.map(n=>(t&&delete n.description,new d(n)))),w(()=>[]))}impersonateUser(e,t){return this.http.post(`${ee}/${e}`,null,{headers:t})}initImpersonateUser(e){this.authService.initUserFromResponse(e,!0),this.router.navigate([v.BASE,v.ACCOUNT]).catch(console.error)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275prov=P({token:i,factory:i.\u0275fac,providedIn:"root"});let s=i;return s})();function ae(s,i){if(s&1){let p=D();_(0,"div",3)(1,"label",4)(2,"input",5),k("change",function(t){let r=x(p).$implicit,n=g();return T(n.updatePermissions(r,t))}),l(),U(3),$(4,"translate"),$(5,"capitalize"),l()()}if(s&2){let p=i.$implicit,e=g();S(2),y("checked",e.permissions.indexOf(p)>-1)("value",p),S(),L(" ",B(5,6,j(4,3,p,e.locale.language))," ")}}var Le=(()=>{let i=class i{constructor(){this.permissions=[],this.permissionsChange=new C,this.locale=c(V),this.allApplications=Object.values(J)}updatePermissions(e,t){t.target.checked?this.permissions.push(e):this.permissions.splice(this.permissions.indexOf(e),1),this.permissionsChange.emit(this.permissions)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=O({type:i,selectors:[["app-admin-permissions"]],inputs:{permissions:"permissions"},outputs:{permissionsChange:"permissionsChange"},decls:6,vars:0,consts:[[1,"d-flex","flex-column","col-12","pb-3"],["for","permissions","l10nTranslate",""],["id","permissions",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"change","checked","value"]],template:function(t,r){t&1&&(_(0,"div",0)(1,"label",1),U(2,"Permissions"),l(),_(3,"div",2),b(4,ae,6,8,"div",3,N),l()()),t&2&&(S(4),G(r.allApplications))},dependencies:[z,oe,q],encapsulation:2});let s=i;return s})();export{m as a,Te as b,Le as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ja as U}from"./chunk-
|
|
1
|
+
import{Ja as U}from"./chunk-XLCCZSQL.js";import{Te as o,Tf as E,Wf as p,_a as n}from"./chunk-ATP3BFHV.js";var t={BASE:"admin",USERS:"users",GUESTS:"guests",GROUPS:"groups",PGROUPS:"personal_groups"},i={ADMIN:"Administration",USERS:"Users",GROUPS:"Groups",GUESTS:"Guests",PGROUPS:"Personal groups"},s={BASE:o,USERS:p,GROUPS:E},c={title:i.ADMIN,link:`${t.BASE}/${t.USERS}`,icon:s.BASE,matchLink:new RegExp(`^${t.BASE}`),level:12,checks:[{prop:"user",value:"isAdmin"}],submenus:[{title:i.USERS,icon:s.USERS,link:`${t.BASE}/${t.USERS}`,matchLink:RegExp(`^${t.BASE}/${t.USERS}$|^${t.BASE}/${t.GUESTS}$`)},{title:i.GROUPS,icon:s.GROUPS,link:`${t.BASE}/${t.GROUPS}`,matchLink:RegExp(`^${t.BASE}/${t.GROUPS}|^${t.BASE}/${t.PGROUPS}`)}]};var $=(()=>{let S=class S{transform(r){return r&&U(r)}};S.\u0275fac=function(a){return new(a||S)},S.\u0275pipe=n({name:"capitalize",type:S,pure:!0});let e=S;return e})();export{t as a,i as b,s as c,c as d,$ as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$a as me,Vb as de,zb as fe}from"./chunk-2MTM6SWN.js";import{Ad as he,Cb as H,Eb as I,Fb as G,Gb as X,Gd as ae,Ib as v,J as b,Jb as C,Ka as Q,Kb as y,Ma as T,N as F,Qa as Z,T as L,X as V,Xa as w,Z as z,_a as $,_c as ie,bb as _,bd as se,cb as j,dc as ee,f as W,fc as te,fd as oe,ha as c,jb as q,kb as K,ma as M,na as x,nd as ne,nf as ce,p as k,pb as R,qb as O,rb as P,ta as A,tb as J,ub as Y,va as N,vb as U,wd as re,ya as E,zb as D,zd as le}from"./chunk-ATP3BFHV.js";var ve=["iFilter"];function Ce(r,i){if(r&1){let m=D();O(0,"span",3)(1,"fa-icon",4),H("click",function(){M(m);let e=I();return x(e.clear())}),P()()}if(r&2){let m=I();T(),R("icon",m.faTimes)}}var De=(()=>{let i=class i{constructor(){this.search=A(""),this.locale=c(he),this.faTimes=ce,this.fb=c(re),this.searchControl=this.fb.control(""),this.subscription=this.searchControl.valueChanges.pipe(b(300),F()).subscribe(t=>this.onType(t))}ngOnDestroy(){this.subscription.unsubscribe()}onKeyPress(t){(t.ctrlKey||t.metaKey)&&t.keyCode===70?(t.preventDefault(),t.stopPropagation(),this.iFilter.nativeElement.focus()):t.keyCode===27&&t.preventDefault()}clear(){this.searchControl&&(this.searchControl.reset(),this.iFilter.nativeElement.value="")}onType(t){this.search.set(t)}};i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=w({type:i,selectors:[["app-input-filter"]],viewQuery:function(e,s){if(e&1&&v(ve,7),e&2){let o;C(o=y())&&(s.iFilter=o.first)}},hostBindings:function(e,s){e&1&&H("keydown",function(h){return s.onKeyPress(h)},Q)},decls:5,vars:6,consts:[["iFilter",""],[1,"btn-group",2,"height","30px","max-width","150px"],["type","text",1,"form-control","form-control-sm",2,"padding-right","24px",3,"keyup.escape","placeholder","formControl"],[1,"cursor-pointer",2,"position","absolute","right","5px","top","3px","z-index","1001","font-size","1rem"],["role","button",3,"click","icon"]],template:function(e,s){if(e&1){let o=D();O(0,"div",1)(1,"input",2,0),ee(3,"translate"),H("keyup.escape",function(){return M(o),x(s.clear())}),P(),q(4,Ce,2,1,"span",3),P()}e&2&&(T(),R("placeholder",te(3,3,"Filter",s.locale.language)+" (Ctrl/\u2318+F)")("formControl",s.searchControl),T(3),K(s.search()?4:-1))},dependencies:[le,se,oe,ne,ie,ae],encapsulation:2});let r=i;return r})();var ye=["content"],Se=["shim"],be=["*"],Qe=(()=>{let i=class i{constructor(){this.isScrollBottom=new _,this.isScrollTop=new _,this.resizeOffset=130,this.galleryMode=!1,this.selectedChat=null,this.items=[],this.childHeight=35,this.bufferAmount=0,this.viewPortItems=[],this.element=c(E),this.renderer=c(Z),this.ngZone=c(j),this.layout=c(fe),this.subscriptions=[],this.scrollbarWidth=0,this._scrollChat=new W,this.scrollChat=this._scrollChat.asObservable().pipe(b(50)),this.startupLoop=!0,this.scrollTimer=null,this.lastScrollHeight=-1,this.lastTopPadding=-1,this.toggleLeftSidebar=this.layout.toggleLeftSideBar.pipe(V(1),z(t=>k(t).pipe(L({count:30,delay:10})))),this.tableScrollHovering=()=>{clearTimeout(this.scrollTimer),this.contentElementRef.nativeElement.classList.contains("table-disable-hover")||this.renderer.addClass(this.contentElementRef.nativeElement,"table-disable-hover"),this.scrollTimer=setTimeout(()=>{this.renderer.removeClass(this.contentElementRef.nativeElement,"table-disable-hover")},200),this.refresh()},this.refreshWithDimensions=()=>{this.resizeOffsetHeight(),this.refresh(!0)},this.refreshWithoutDimensions=()=>{this.refresh()},this.refreshChatWithoutDimensions=()=>{this.chatIsScrolledToTop()&&!this.selectedChat.allHistoryLoaded?this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollTop,behavior:"auto"}):(this.refreshWithoutDimensions(),this._scrollChat.next())},this.refreshChatWithDimensions=()=>{this.resizeOffsetHeight(),this.refresh(!0),this.selectedChat.isScrolledToBottom?this.scrollInto(-2):this._scrollChat.next()}}ngOnInit(){this.resizeOffsetHeight(!0),this.addParentEventHandlers(),this.selectedChat?(this.childHeight=1,this.subscriptions.push(this.scrollChat.subscribe(()=>this.checkScrollChat()))):this.galleryMode||this.subscriptions.push(this.toggleLeftSidebar.subscribe(()=>this.resizeTableHeader()))}ngOnDestroy(){this.eventScrollHandler&&(this.eventScrollHandler(),this.eventScrollHandler=void 0),this.subscriptions.forEach(t=>t.unsubscribe())}ngOnChanges(t){if(this.previousStart=void 0,this.previousEnd=void 0,this.galleryMode)this.startupLoop=!0;else{let e=t.items||void 0;(t.items!==void 0&&e.previousValue===void 0||e.previousValue!==void 0&&e.previousValue.length===0)&&(this.startupLoop=!0)}this.refresh(!0),this.checkChangesOnChat(t)}refresh(t=!1){this.ngZone.runOutsideAngular(()=>{(t||!this.dimensionsView)&&this.calculateDimensions(),requestAnimationFrame(()=>this.calculateItems())}),this.resizeTableHeader()}scrollInto(t){if(t===-1){this.element.nativeElement.scrollTo({left:0,top:0,behavior:"auto"});return}else if(t===-2){this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollHeight,behavior:"smooth"});return}else if(t===0){this.refresh();return}let e=(this.items||[]).indexOf(t);if(e<0||e>=(this.items||[]).length)return;let s=this.dimensionsView,o=Math.floor(e/s.itemsPerRow)*s.childHeight-s.childHeight*Math.min(e,this.bufferAmount);this.element.nativeElement.scrollTo({left:0,top:o,behavior:"smooth"}),this.refresh()}checkChangesOnChat(t){this.selectedChat&&(t.selectedChat?(this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),setTimeout(()=>{this.selectedChat.lastScrollPosition===null&&this.saveChatScrollPosition(this.element.nativeElement.scrollHeight),this.element.nativeElement.scrollTo({left:0,top:this.selectedChat.lastScrollPosition,behavior:"auto"}),this.checkScrollChat(),this.renderer.setStyle(this.element.nativeElement,"visibility","visible")},50)):this.chatIsScrolledToBottom()?this.restoreBottomScrollChat():this.chatIsScrolledToTop()&&this.restoreTopScrollChat())}checkScrollChat(){let t=this.chatIsScrolledToBottom(),e=this.chatIsScrolledToTop();e?this.saveChatScrollPosition(this.element.nativeElement.scrollHeight-this.element.nativeElement.scrollTop):t?this.saveChatScrollPosition(this.element.nativeElement.scrollHeight):this.saveChatScrollPosition(),this.ngZone.run(()=>{this.isScrollBottom.next(t),this.isScrollTop.next(e)})}saveChatScrollPosition(t=null){this.selectedChat.lastScrollPosition=t||this.element.nativeElement.scrollTop}chatIsScrolledToBottom(){return Math.ceil(this.element.nativeElement.clientHeight/10)*10===Math.ceil((this.element.nativeElement.scrollHeight-this.element.nativeElement.scrollTop)/10)*10}chatIsScrolledToTop(){return this.element.nativeElement.scrollTop<=300}restoreBottomScrollChat(){setTimeout(()=>{this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollHeight,behavior:"smooth"})},50)}restoreTopScrollChat(){setTimeout(()=>{this.element.nativeElement.scrollTop=this.element.nativeElement.scrollHeight-this.selectedChat.lastScrollPosition},50)}resizeOffsetHeight(t=!1){let e=window.innerHeight-this.resizeOffset;(t||this.element.nativeElement.offsetHeight!==e)&&this.renderer.setStyle(this.element.nativeElement,"height",`${e-1}px`)}resizeTableHeader(){!this.selectedChat&&!this.galleryMode&&this.element.nativeElement.previousElementSibling&&this.element.nativeElement.previousElementSibling.classList.contains("app-table")&&setTimeout(()=>this.renderer.setStyle(this.element.nativeElement.previousElementSibling,"width",`${this.element.nativeElement.clientWidth}px`),50)}addParentEventHandlers(){this.ngZone.runOutsideAngular(()=>{this.galleryMode?this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.refreshWithoutDimensions):this.selectedChat?this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.refreshChatWithoutDimensions):this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.tableScrollHovering),this.selectedChat?this.subscriptions.push(this.layout.resizeEvent.subscribe(()=>this.refreshChatWithDimensions())):this.subscriptions.push(this.layout.resizeEvent.subscribe(()=>this.refreshWithDimensions()))})}countItemsPerRow(){if(this.galleryMode){let t,e,s=this.contentElementRef.nativeElement.children;for(s[0]&&(s=s[0].children),e=0;e<s.length&&!(t!==void 0&&t!==s[e].offsetTop);e++)t=s[e].offsetTop;return e}else return 1}calculateDimensions(){let t=this.element.nativeElement,e=t.offsetWidth-t.clientWidth;this.scrollbarWidth!=e&&(this.resizeTableHeader(),this.scrollbarWidth=e);let o=(this.items||[]).length,h=t.clientWidth-this.scrollbarWidth,S=t.clientHeight,f;if(this.childWidth===void 0||this.childHeight===void 0){let B=this.contentElementRef.nativeElement;f=B.children[0]?B.children[0].getBoundingClientRect():{width:h,height:S}}let n=this.childWidth||f.width,d=this.childHeight||f.height,a=this.countItemsPerRow(),u=Math.max(1,Math.floor(h/n));this.galleryMode&&a===0?a=u:a=Math.max(1,a);let l=Math.max(1,Math.floor(S/d)),p=t.scrollTop,ge=Math.max(0,p),g=d*Math.ceil(o/a);l===1&&Math.floor(ge/g*o)+u>=o&&(a=u),g!==this.lastScrollHeight&&(this.renderer.setStyle(this.shimElementRef.nativeElement,"height",`${g}px`),this.lastScrollHeight=g),this.dimensionsView={itemCount:o,viewWidth:h,viewHeight:S,childWidth:n,childHeight:d,itemsPerRow:a,itemsPerCol:l,itemsPerRowByCalc:u,scrollHeight:g}}calculateItems(){let t=this.element.nativeElement,e=this.dimensionsView,s=this.items||[],o=this.galleryMode?this.bufferAmount*e.itemsPerRowByCalc:this.bufferAmount,h=t.scrollTop;h>e.scrollHeight&&(h=e.scrollHeight);let f=Math.max(0,h)/e.scrollHeight*e.itemCount/e.itemsPerRow,n=Math.min(e.itemCount,Math.ceil(f)*e.itemsPerRow+e.itemsPerRow*(e.itemsPerCol+1)),d=n,a=n%e.itemsPerRow;a&&(d=n+e.itemsPerRow-a);let u=Math.max(0,d-e.itemsPerCol*e.itemsPerRow-e.itemsPerRow),l=Math.min(u,Math.floor(f)*e.itemsPerRow),p=s==null||s.length===0?0:e.childHeight*Math.ceil(l/e.itemsPerRow)-e.childHeight*Math.min(l,this.bufferAmount);p!==this.lastTopPadding&&(this.renderer.setStyle(this.contentElementRef.nativeElement,"transform",`translateY(${p}px)`),this.renderer.setStyle(this.contentElementRef.nativeElement,"webkitTransform",`translateY(${p}px)`),this.lastTopPadding=p),l=isNaN(l)?-1:l,n=isNaN(n)?-1:n,l-=o,l=Math.max(0,l),n+=o,n=Math.min(s.length,n),l!==this.previousStart||n!==this.previousEnd?(this.ngZone.run(()=>{this.viewPortItems=s.slice(l,n>=0?n:0)}),this.previousStart=l,this.previousEnd=n,this.startupLoop===!0&&this.refresh()):this.startupLoop===!0&&(this.startupLoop=!1,this.refresh(!0))}};i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=w({type:i,selectors:[["app-virtual-scroll"]],viewQuery:function(e,s){if(e&1&&(v(ye,7,E),v(Se,7,E)),e&2){let o;C(o=y())&&(s.contentElementRef=o.first),C(o=y())&&(s.shimElementRef=o.first)}},inputs:{resizeOffset:"resizeOffset",galleryMode:"galleryMode",selectedChat:"selectedChat",items:"items",childHeight:"childHeight",childWidth:"childWidth",bufferAmount:"bufferAmount"},outputs:{isScrollBottom:"isScrollBottom",isScrollTop:"isScrollTop"},features:[N],ngContentSelectors:be,decls:5,vars:0,consts:[["shim",""],["content",""],[1,"total-padding"],[1,"scrollable-content"]],template:function(e,s){e&1&&(G(),U(0,"div",2,0),J(2,"div",3,1),X(4),Y())},styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:thin}.scrollable-content[_ngcontent-%COMP%]{top:0;left:0;width:100%;position:absolute;will-change:transform}.total-padding[_ngcontent-%COMP%]{width:1px;opacity:0}"],changeDetection:0});let r=i;return r})();var je=(()=>{let i=class i{transform(t,e,s){return!t?.length||!e?t:me(e,t,s)}};i.\u0275fac=function(e){return new(e||i)},i.\u0275pipe=$({name:"searchFilter",type:i,pure:!0});let r=i;return r})();var pe=class{constructor(i,m){this.defaultId="default",this.keyStore=`sortBy${i}`,this.sortSettings=m,this._sortParam=this.sort}get sortParam(){return this._sortParam||this.sort}get sort(){let i=localStorage.getItem(this.keyStore);return i?JSON.parse(i):{column:this.defaultId,asc:!1}}set sort(i){this._sortParam=i,localStorage.setItem(this.keyStore,JSON.stringify(i))}sortBy(i,m=!0,t){if(!(i in this.sortSettings))return t;m&&(this.sortParam.asc?(this.sortParam.column=this.defaultId,this.sortParam.asc=!1,i=this.defaultId):this.sortParam.column===i?this.sortParam.asc=!this.sortParam.asc:(this.sortParam.column=i,this.sortParam.asc=!1),this.sort=this.sortParam);for(let e of this.sortSettings[i])de(e.type,t,e.prop,i===this.defaultId?!1:this.sortParam.asc);return[...t]}};export{De as a,Qe as b,je as c,pe as d};
|
|
1
|
+
import{$a as me,Vb as de,zb as fe}from"./chunk-XLCCZSQL.js";import{Ad as he,Cb as H,Eb as I,Fb as G,Gb as X,Gd as ae,Ib as v,J as b,Jb as C,Ka as Q,Kb as y,Ma as T,N as F,Qa as Z,T as L,X as V,Xa as w,Z as z,_a as $,_c as ie,bb as _,bd as se,cb as j,dc as ee,f as W,fc as te,fd as oe,ha as c,jb as q,kb as K,ma as M,na as x,nd as ne,nf as ce,p as k,pb as R,qb as O,rb as P,ta as A,tb as J,ub as Y,va as N,vb as U,wd as re,ya as E,zb as D,zd as le}from"./chunk-ATP3BFHV.js";var ve=["iFilter"];function Ce(r,i){if(r&1){let m=D();O(0,"span",3)(1,"fa-icon",4),H("click",function(){M(m);let e=I();return x(e.clear())}),P()()}if(r&2){let m=I();T(),R("icon",m.faTimes)}}var De=(()=>{let i=class i{constructor(){this.search=A(""),this.locale=c(he),this.faTimes=ce,this.fb=c(re),this.searchControl=this.fb.control(""),this.subscription=this.searchControl.valueChanges.pipe(b(300),F()).subscribe(t=>this.onType(t))}ngOnDestroy(){this.subscription.unsubscribe()}onKeyPress(t){(t.ctrlKey||t.metaKey)&&t.keyCode===70?(t.preventDefault(),t.stopPropagation(),this.iFilter.nativeElement.focus()):t.keyCode===27&&t.preventDefault()}clear(){this.searchControl&&(this.searchControl.reset(),this.iFilter.nativeElement.value="")}onType(t){this.search.set(t)}};i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=w({type:i,selectors:[["app-input-filter"]],viewQuery:function(e,s){if(e&1&&v(ve,7),e&2){let o;C(o=y())&&(s.iFilter=o.first)}},hostBindings:function(e,s){e&1&&H("keydown",function(h){return s.onKeyPress(h)},Q)},decls:5,vars:6,consts:[["iFilter",""],[1,"btn-group",2,"height","30px","max-width","150px"],["type","text",1,"form-control","form-control-sm",2,"padding-right","24px",3,"keyup.escape","placeholder","formControl"],[1,"cursor-pointer",2,"position","absolute","right","5px","top","3px","z-index","1001","font-size","1rem"],["role","button",3,"click","icon"]],template:function(e,s){if(e&1){let o=D();O(0,"div",1)(1,"input",2,0),ee(3,"translate"),H("keyup.escape",function(){return M(o),x(s.clear())}),P(),q(4,Ce,2,1,"span",3),P()}e&2&&(T(),R("placeholder",te(3,3,"Filter",s.locale.language)+" (Ctrl/\u2318+F)")("formControl",s.searchControl),T(3),K(s.search()?4:-1))},dependencies:[le,se,oe,ne,ie,ae],encapsulation:2});let r=i;return r})();var ye=["content"],Se=["shim"],be=["*"],Qe=(()=>{let i=class i{constructor(){this.isScrollBottom=new _,this.isScrollTop=new _,this.resizeOffset=130,this.galleryMode=!1,this.selectedChat=null,this.items=[],this.childHeight=35,this.bufferAmount=0,this.viewPortItems=[],this.element=c(E),this.renderer=c(Z),this.ngZone=c(j),this.layout=c(fe),this.subscriptions=[],this.scrollbarWidth=0,this._scrollChat=new W,this.scrollChat=this._scrollChat.asObservable().pipe(b(50)),this.startupLoop=!0,this.scrollTimer=null,this.lastScrollHeight=-1,this.lastTopPadding=-1,this.toggleLeftSidebar=this.layout.toggleLeftSideBar.pipe(V(1),z(t=>k(t).pipe(L({count:30,delay:10})))),this.tableScrollHovering=()=>{clearTimeout(this.scrollTimer),this.contentElementRef.nativeElement.classList.contains("table-disable-hover")||this.renderer.addClass(this.contentElementRef.nativeElement,"table-disable-hover"),this.scrollTimer=setTimeout(()=>{this.renderer.removeClass(this.contentElementRef.nativeElement,"table-disable-hover")},200),this.refresh()},this.refreshWithDimensions=()=>{this.resizeOffsetHeight(),this.refresh(!0)},this.refreshWithoutDimensions=()=>{this.refresh()},this.refreshChatWithoutDimensions=()=>{this.chatIsScrolledToTop()&&!this.selectedChat.allHistoryLoaded?this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollTop,behavior:"auto"}):(this.refreshWithoutDimensions(),this._scrollChat.next())},this.refreshChatWithDimensions=()=>{this.resizeOffsetHeight(),this.refresh(!0),this.selectedChat.isScrolledToBottom?this.scrollInto(-2):this._scrollChat.next()}}ngOnInit(){this.resizeOffsetHeight(!0),this.addParentEventHandlers(),this.selectedChat?(this.childHeight=1,this.subscriptions.push(this.scrollChat.subscribe(()=>this.checkScrollChat()))):this.galleryMode||this.subscriptions.push(this.toggleLeftSidebar.subscribe(()=>this.resizeTableHeader()))}ngOnDestroy(){this.eventScrollHandler&&(this.eventScrollHandler(),this.eventScrollHandler=void 0),this.subscriptions.forEach(t=>t.unsubscribe())}ngOnChanges(t){if(this.previousStart=void 0,this.previousEnd=void 0,this.galleryMode)this.startupLoop=!0;else{let e=t.items||void 0;(t.items!==void 0&&e.previousValue===void 0||e.previousValue!==void 0&&e.previousValue.length===0)&&(this.startupLoop=!0)}this.refresh(!0),this.checkChangesOnChat(t)}refresh(t=!1){this.ngZone.runOutsideAngular(()=>{(t||!this.dimensionsView)&&this.calculateDimensions(),requestAnimationFrame(()=>this.calculateItems())}),this.resizeTableHeader()}scrollInto(t){if(t===-1){this.element.nativeElement.scrollTo({left:0,top:0,behavior:"auto"});return}else if(t===-2){this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollHeight,behavior:"smooth"});return}else if(t===0){this.refresh();return}let e=(this.items||[]).indexOf(t);if(e<0||e>=(this.items||[]).length)return;let s=this.dimensionsView,o=Math.floor(e/s.itemsPerRow)*s.childHeight-s.childHeight*Math.min(e,this.bufferAmount);this.element.nativeElement.scrollTo({left:0,top:o,behavior:"smooth"}),this.refresh()}checkChangesOnChat(t){this.selectedChat&&(t.selectedChat?(this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),setTimeout(()=>{this.selectedChat.lastScrollPosition===null&&this.saveChatScrollPosition(this.element.nativeElement.scrollHeight),this.element.nativeElement.scrollTo({left:0,top:this.selectedChat.lastScrollPosition,behavior:"auto"}),this.checkScrollChat(),this.renderer.setStyle(this.element.nativeElement,"visibility","visible")},50)):this.chatIsScrolledToBottom()?this.restoreBottomScrollChat():this.chatIsScrolledToTop()&&this.restoreTopScrollChat())}checkScrollChat(){let t=this.chatIsScrolledToBottom(),e=this.chatIsScrolledToTop();e?this.saveChatScrollPosition(this.element.nativeElement.scrollHeight-this.element.nativeElement.scrollTop):t?this.saveChatScrollPosition(this.element.nativeElement.scrollHeight):this.saveChatScrollPosition(),this.ngZone.run(()=>{this.isScrollBottom.next(t),this.isScrollTop.next(e)})}saveChatScrollPosition(t=null){this.selectedChat.lastScrollPosition=t||this.element.nativeElement.scrollTop}chatIsScrolledToBottom(){return Math.ceil(this.element.nativeElement.clientHeight/10)*10===Math.ceil((this.element.nativeElement.scrollHeight-this.element.nativeElement.scrollTop)/10)*10}chatIsScrolledToTop(){return this.element.nativeElement.scrollTop<=300}restoreBottomScrollChat(){setTimeout(()=>{this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollHeight,behavior:"smooth"})},50)}restoreTopScrollChat(){setTimeout(()=>{this.element.nativeElement.scrollTop=this.element.nativeElement.scrollHeight-this.selectedChat.lastScrollPosition},50)}resizeOffsetHeight(t=!1){let e=window.innerHeight-this.resizeOffset;(t||this.element.nativeElement.offsetHeight!==e)&&this.renderer.setStyle(this.element.nativeElement,"height",`${e-1}px`)}resizeTableHeader(){!this.selectedChat&&!this.galleryMode&&this.element.nativeElement.previousElementSibling&&this.element.nativeElement.previousElementSibling.classList.contains("app-table")&&setTimeout(()=>this.renderer.setStyle(this.element.nativeElement.previousElementSibling,"width",`${this.element.nativeElement.clientWidth}px`),50)}addParentEventHandlers(){this.ngZone.runOutsideAngular(()=>{this.galleryMode?this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.refreshWithoutDimensions):this.selectedChat?this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.refreshChatWithoutDimensions):this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.tableScrollHovering),this.selectedChat?this.subscriptions.push(this.layout.resizeEvent.subscribe(()=>this.refreshChatWithDimensions())):this.subscriptions.push(this.layout.resizeEvent.subscribe(()=>this.refreshWithDimensions()))})}countItemsPerRow(){if(this.galleryMode){let t,e,s=this.contentElementRef.nativeElement.children;for(s[0]&&(s=s[0].children),e=0;e<s.length&&!(t!==void 0&&t!==s[e].offsetTop);e++)t=s[e].offsetTop;return e}else return 1}calculateDimensions(){let t=this.element.nativeElement,e=t.offsetWidth-t.clientWidth;this.scrollbarWidth!=e&&(this.resizeTableHeader(),this.scrollbarWidth=e);let o=(this.items||[]).length,h=t.clientWidth-this.scrollbarWidth,S=t.clientHeight,f;if(this.childWidth===void 0||this.childHeight===void 0){let B=this.contentElementRef.nativeElement;f=B.children[0]?B.children[0].getBoundingClientRect():{width:h,height:S}}let n=this.childWidth||f.width,d=this.childHeight||f.height,a=this.countItemsPerRow(),u=Math.max(1,Math.floor(h/n));this.galleryMode&&a===0?a=u:a=Math.max(1,a);let l=Math.max(1,Math.floor(S/d)),p=t.scrollTop,ge=Math.max(0,p),g=d*Math.ceil(o/a);l===1&&Math.floor(ge/g*o)+u>=o&&(a=u),g!==this.lastScrollHeight&&(this.renderer.setStyle(this.shimElementRef.nativeElement,"height",`${g}px`),this.lastScrollHeight=g),this.dimensionsView={itemCount:o,viewWidth:h,viewHeight:S,childWidth:n,childHeight:d,itemsPerRow:a,itemsPerCol:l,itemsPerRowByCalc:u,scrollHeight:g}}calculateItems(){let t=this.element.nativeElement,e=this.dimensionsView,s=this.items||[],o=this.galleryMode?this.bufferAmount*e.itemsPerRowByCalc:this.bufferAmount,h=t.scrollTop;h>e.scrollHeight&&(h=e.scrollHeight);let f=Math.max(0,h)/e.scrollHeight*e.itemCount/e.itemsPerRow,n=Math.min(e.itemCount,Math.ceil(f)*e.itemsPerRow+e.itemsPerRow*(e.itemsPerCol+1)),d=n,a=n%e.itemsPerRow;a&&(d=n+e.itemsPerRow-a);let u=Math.max(0,d-e.itemsPerCol*e.itemsPerRow-e.itemsPerRow),l=Math.min(u,Math.floor(f)*e.itemsPerRow),p=s==null||s.length===0?0:e.childHeight*Math.ceil(l/e.itemsPerRow)-e.childHeight*Math.min(l,this.bufferAmount);p!==this.lastTopPadding&&(this.renderer.setStyle(this.contentElementRef.nativeElement,"transform",`translateY(${p}px)`),this.renderer.setStyle(this.contentElementRef.nativeElement,"webkitTransform",`translateY(${p}px)`),this.lastTopPadding=p),l=isNaN(l)?-1:l,n=isNaN(n)?-1:n,l-=o,l=Math.max(0,l),n+=o,n=Math.min(s.length,n),l!==this.previousStart||n!==this.previousEnd?(this.ngZone.run(()=>{this.viewPortItems=s.slice(l,n>=0?n:0)}),this.previousStart=l,this.previousEnd=n,this.startupLoop===!0&&this.refresh()):this.startupLoop===!0&&(this.startupLoop=!1,this.refresh(!0))}};i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=w({type:i,selectors:[["app-virtual-scroll"]],viewQuery:function(e,s){if(e&1&&(v(ye,7,E),v(Se,7,E)),e&2){let o;C(o=y())&&(s.contentElementRef=o.first),C(o=y())&&(s.shimElementRef=o.first)}},inputs:{resizeOffset:"resizeOffset",galleryMode:"galleryMode",selectedChat:"selectedChat",items:"items",childHeight:"childHeight",childWidth:"childWidth",bufferAmount:"bufferAmount"},outputs:{isScrollBottom:"isScrollBottom",isScrollTop:"isScrollTop"},features:[N],ngContentSelectors:be,decls:5,vars:0,consts:[["shim",""],["content",""],[1,"total-padding"],[1,"scrollable-content"]],template:function(e,s){e&1&&(G(),U(0,"div",2,0),J(2,"div",3,1),X(4),Y())},styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:thin}.scrollable-content[_ngcontent-%COMP%]{top:0;left:0;width:100%;position:absolute;will-change:transform}.total-padding[_ngcontent-%COMP%]{width:1px;opacity:0}"],changeDetection:0});let r=i;return r})();var je=(()=>{let i=class i{transform(t,e,s){return!t?.length||!e?t:me(e,t,s)}};i.\u0275fac=function(e){return new(e||i)},i.\u0275pipe=$({name:"searchFilter",type:i,pure:!0});let r=i;return r})();var pe=class{constructor(i,m){this.defaultId="default",this.keyStore=`sortBy${i}`,this.sortSettings=m,this._sortParam=this.sort}get sortParam(){return this._sortParam||this.sort}get sort(){let i=localStorage.getItem(this.keyStore);return i?JSON.parse(i):{column:this.defaultId,asc:!1}}set sort(i){this._sortParam=i,localStorage.setItem(this.keyStore,JSON.stringify(i))}sortBy(i,m=!0,t){if(!(i in this.sortSettings))return t;m&&(this.sortParam.asc?(this.sortParam.column=this.defaultId,this.sortParam.asc=!1,i=this.defaultId):this.sortParam.column===i?this.sortParam.asc=!this.sortParam.asc:(this.sortParam.column=i,this.sortParam.asc=!1),this.sort=this.sortParam);for(let e of this.sortSettings[i])de(e.type,t,e.prop,i===this.defaultId?!1:this.sortParam.asc);return[...t]}};export{De as a,Qe as b,je as c,pe as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as be,b as xe,c as Se,d as Te,h as De}from"./chunk-7P27WBGC.js";import{a as Ee}from"./chunk-IPAC4VAF.js";import{l as he,m as _e,p as ve}from"./chunk-JUNZFADM.js";import{L as ce,M as ue,S as D,Ub as Ce,wa as de,xa as pe,ya as ge,zb as fe}from"./chunk-2MTM6SWN.js";import{Ad as ee,Cb as _,Eb as d,Ef as re,Fc as B,Gd as te,Hd as ie,He as oe,Jf as le,Ma as a,Nb as b,Ob as U,Pb as s,Qb as x,Rb as E,Sb as A,Tf as me,Xa as O,Xb as k,_c as j,ab as y,ad as q,bb as R,bd as H,dc as v,dd as p,ec as S,ef as ae,fc as M,fd as X,gd as $,ha as T,hd as z,jb as f,jd as g,kb as h,lb as F,ma as P,na as L,nb as G,ob as N,od as W,pb as c,pd as J,qb as i,qd as K,rb as n,rd as Q,rf as se,sb as u,sd as Y,se as ne,zb as V,zd as Z}from"./chunk-ATP3BFHV.js";import{a as I}from"./chunk-RTRJ3KFH.js";function we(t,m){if(t&1&&(u(0,"fa-icon",42),i(1,"span"),s(2),n()),t&2){let o=d();c("icon",o.icons.faPen),a(2),x(o.guest.fullName)}}function ye(t,m){if(t&1&&(u(0,"fa-icon",42),i(1,"span",43),s(2,"New guest"),n()),t&2){let o=d();c("icon",o.icons.faPlus)}}function Fe(t,m){if(t&1&&u(0,"fa-icon",2),t&2){let o=d();c("icon",o.icons.faSpinner)}}function Ge(t,m){t&1&&(i(0,"h4",3)(1,"span",43),s(2,"Edit guest"),n()())}function Ne(t,m){if(t&1&&(u(0,"fa-icon",44),i(1,"span",45),s(2,"Account"),n()),t&2){let o=d();c("icon",o.icons.faAddressCard)}}function Ue(t,m){if(t&1&&u(0,"app-password-strength-bar",22),t&2){let o=d();c("passwordToCheck",o.guestForm.value.password)}}function Ae(t,m){if(t&1&&(i(0,"option",26),s(1),n()),t&2){let o=m.$implicit;c("ngValue",o),a(),x(o)}}function ke(t,m){if(t&1&&(i(0,"option",34),s(1),n()),t&2){let o=m.$implicit,r=d();c("ngValue",r.allNotifications.indexOf(o)),a(),x(o)}}function Ie(t,m){if(t&1&&(i(0,"div"),s(1),v(2,"amDateFormat"),n(),i(3,"div"),s(4),v(5,"amDateFormat"),n()),t&2){let o=d(2);a(),A("",S(2,4,o.guest.currentAccess)," - ",o.guest.currentIp),a(3),A("",S(5,6,o.guest.lastAccess)," - ",o.guest.lastIp)}}function Pe(t,m){t&1&&(i(0,"span",37),s(1,"never"),n())}function Le(t,m){if(t&1&&(i(0,"div",11)(1,"div",12)(2,"label",46),s(3,"Creation date"),n(),i(4,"div",47),s(5),v(6,"amDateFormat"),n()(),i(7,"div",48)(8,"label",49),s(9,"Last accesses"),n(),i(10,"div",50),f(11,Ie,6,8)(12,Pe,2,0,"span",37),n()()()),t&2){let o=d();a(5),x(S(6,2,o.guest.createdAt)),a(6),h(o.guest.lastAccess?11:12)}}function Oe(t,m){if(t&1&&(u(0,"fa-icon",44),i(1,"span",51),s(2,"Managers"),n(),i(3,"span"),s(4),n()),t&2){let o=d();c("icon",o.icons.faUsersGear),a(4),E("(",o.guestForm.value.managers.length||0,")")}}function Re(t,m){t&1&&(i(0,"small",37),s(1,"At least one manager is required"),n())}function Ve(t,m){if(t&1){let o=V();i(0,"button",52),_("click",function(){P(o);let l=d();return L(l.confirmDeletion=!0)}),s(1," Remove "),n()}if(t&2){let o=d();c("disabled",o.confirmDeletion)}}var lt=(()=>{let m=class m{constructor(){this.guest=null,this.guestChange=new R,this.locale=T(ee),this.layout=T(fe),this.userService=T(ve),this.user=this.userService.user,this.icons={GROUPS:de.GROUPS,faPlus:le,faPen:se,faUsersGear:me,faSpinner:ae,faAddressCard:oe,faUsers:ne,faShieldHalved:re},this.allNotifications=Object.values(D),this.defaultPassword=this.layout.translateString(pe),this.languages=this.layout.getLanguages(!0),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1}ngOnInit(){this.guestForm=new z({login:new g(this.guest?.login||"",[p.required,p.pattern(ce)]),email:new g(this.guest?.email||"",[p.required,p.maxLength(255),p.email]),firstName:new g(this.guest?.firstName||"",[p.required,p.maxLength(255)]),lastName:new g(this.guest?.lastName||"",p.maxLength(255)),password:new g(this.guest?this.defaultPassword:"",p.maxLength(255)),language:new g(this.guest?.language||null),notification:new g(this.guest?.notification||Object.values(D).indexOf(D.APPLICATION_EMAIL)),isActive:new g(this.guest?this.guest.isActive:!0),managers:new g(this.guest?.managers||[Ce(this.user)])})}updatePassword(r){this.guestForm.controls.password.setValue(r),this.guestForm.controls.password.markAsDirty()}updateManagers(r){this.guestForm.controls.managers.setValue(r),this.guestForm.controls.managers.markAsDirty(),this.guestForm.controls.managers.setErrors(r.length?null:{incorrect:!0})}searchMembers(r){let l={search:r,ignoreUserIds:this.guestForm.value.managers.map(e=>e.id),usersRole:ue.USER,onlyUsers:!0};return this.userService.searchMembers(l)}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){if(this.submitted=!0,this.confirmDeletion)this.userService.deleteGuest(this.guest.id).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:r=>this.onError(r)});else if(!this.guest)this.userService.createGuest(this.makeDto(!0)).subscribe({next:r=>{this.guestChange.emit(["add",r]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:r=>this.onError(r)});else{let r=this.makeDto();if(!Object.keys(r).length){this.loading=!1,this.submitted=!1;return}this.userService.updateGuest(this.guest.id,r).subscribe({next:l=>{l?this.guestChange.emit(["update",l]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}}makeDto(r=!1){let l={};if(r)l=I({},this.guestForm.value);else for(let e in this.guestForm.controls)this.guestForm.controls[e].dirty&&(l[e]=this.guestForm.controls[e].value);for(let e in l)switch(e){case"language":l[e]=l[e]===ge?null:l[e];break;case"managers":l[e]=l[e].map(C=>C.id);break}return l}onError(r){this.layout.sendNotification("error","Guest error",this.guestForm.value.login,r),this.submitted=!1,this.confirmDeletion=!1}};m.\u0275fac=function(l){return new(l||m)},m.\u0275cmp=O({type:m,selectors:[["app-user-guest-dialog"]],inputs:{guest:"guest"},outputs:{guestChange:"guestChange"},decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,e){l&1&&(i(0,"div",0)(1,"h4",1),f(2,we,3,2)(3,ye,3,1),f(4,Fe,1,1,"fa-icon",2),n(),f(5,Ge,3,0,"h4",3),i(6,"button",4),_("click",function(){return e.layout.closeDialog()}),n()(),i(7,"div",5)(8,"tabset",6),u(9,"hr",7),i(10,"tab",8),_("selectTab",function(){return e.tabView=null}),y(11,Ne,3,1,"ng-template",9),i(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),s(16,"Login"),n(),u(17,"input",14),n(),i(18,"div",15)(19,"label",16),s(20,"Email"),n(),u(21,"input",17),n()(),i(22,"div",11)(23,"div",12)(24,"label",18),s(25,"First name"),n(),u(26,"input",19),n(),i(27,"div",15)(28,"label",20),s(29,"Last name"),n(),u(30,"input",21),n()(),i(31,"div",11)(32,"div",12),f(33,Ue,1,1,"app-password-strength-bar",22),i(34,"app-input-password",23),_("passwordChange",function(w){return e.updatePassword(w)}),n()(),i(35,"div",15)(36,"label",24),s(37,"Language"),n(),i(38,"select",25),G(39,Ae,2,2,"option",26,F),n()()(),i(41,"div",11)(42,"div",27)(43,"label",28),s(44,"Account status"),n(),i(45,"div",29)(46,"label",30),u(47,"input",31),i(48,"span"),s(49),v(50,"translate"),v(51,"titlecase"),n()()()(),i(52,"div",15)(53,"label",32),s(54,"Notification"),n(),i(55,"select",33),G(56,ke,2,2,"option",34,F),n()()(),f(58,Le,13,4,"div",11),n()(),i(59,"tab",35),_("selectTab",function(){return e.tabView="managers"}),y(60,Oe,5,2,"ng-template",9),i(61,"div",7)(62,"app-user-search",36),_("membersChange",function(w){return e.updateManagers(w)}),n(),f(63,Re,2,0,"small",37),n()()()(),i(64,"div",38),f(65,Ve,2,1,"button",39),i(66,"button",40),_("click",function(){return e.onCancel()}),s(67,"Cancel"),n(),i(68,"button",41),_("click",function(){return e.onSubmit()}),s(69),n()()),l&2&&(a(2),h(e.guest?2:3),a(2),h(e.loading?4:-1),a(),h(e.guest?5:-1),a(),U(k("btn-close btn-close-white ",e.guest?"ms-2":"ms-auto"," ms-2")),a(),c("formGroup",e.guestForm),a(),c("justified",!0),a(9),b("is-invalid",e.guestForm.controls.login.invalid),c("autoSelect",!1),a(4),b("is-invalid",e.guestForm.controls.email.invalid),a(5),b("is-invalid",e.guestForm.controls.firstName.invalid),a(7),h(e.guestForm.value.password!==e.defaultPassword?33:-1),a(),c("password",e.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),a(5),N(e.languages),a(9),b("text-danger",!e.guestForm.value.isActive),a(),E(" ",S(51,38,M(50,35,e.guestForm.value.isActive?"active":"suspended",e.locale.language))," "),a(7),N(e.allNotifications),a(2),h(e.guest?58:-1),a(4),c("members",e.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",e.searchMembers.bind(e)),a(),h(e.guestForm.value.managers.length?-1:63),a(2),h(e.guest!=null&&e.guest.id?65:-1),a(3),U(k("btn btn-sm ",e.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",e.guestForm.invalid||e.submitted),a(),E(" ",e.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[j,ie,Z,Q,Y,H,q,K,X,$,W,J,he,Ee,_e,De,xe,Se,Te,be,te,B],encapsulation:2});let t=m;return t})();export{lt as a};
|
|
1
|
+
import{a as be,b as xe,c as Se,d as Te,h as De}from"./chunk-ZKCFO2OA.js";import{a as Ee}from"./chunk-IPAC4VAF.js";import{l as he,m as _e,p as ve}from"./chunk-EWKSX76T.js";import{L as ce,M as ue,S as D,Ub as Ce,wa as de,xa as pe,ya as ge,zb as fe}from"./chunk-XLCCZSQL.js";import{Ad as ee,Cb as _,Eb as d,Ef as re,Fc as B,Gd as te,Hd as ie,He as oe,Jf as le,Ma as a,Nb as b,Ob as U,Pb as s,Qb as x,Rb as E,Sb as A,Tf as me,Xa as O,Xb as k,_c as j,ab as y,ad as q,bb as R,bd as H,dc as v,dd as p,ec as S,ef as ae,fc as M,fd as X,gd as $,ha as T,hd as z,jb as f,jd as g,kb as h,lb as F,ma as P,na as L,nb as G,ob as N,od as W,pb as c,pd as J,qb as i,qd as K,rb as n,rd as Q,rf as se,sb as u,sd as Y,se as ne,zb as V,zd as Z}from"./chunk-ATP3BFHV.js";import{a as I}from"./chunk-RTRJ3KFH.js";function we(t,m){if(t&1&&(u(0,"fa-icon",42),i(1,"span"),s(2),n()),t&2){let o=d();c("icon",o.icons.faPen),a(2),x(o.guest.fullName)}}function ye(t,m){if(t&1&&(u(0,"fa-icon",42),i(1,"span",43),s(2,"New guest"),n()),t&2){let o=d();c("icon",o.icons.faPlus)}}function Fe(t,m){if(t&1&&u(0,"fa-icon",2),t&2){let o=d();c("icon",o.icons.faSpinner)}}function Ge(t,m){t&1&&(i(0,"h4",3)(1,"span",43),s(2,"Edit guest"),n()())}function Ne(t,m){if(t&1&&(u(0,"fa-icon",44),i(1,"span",45),s(2,"Account"),n()),t&2){let o=d();c("icon",o.icons.faAddressCard)}}function Ue(t,m){if(t&1&&u(0,"app-password-strength-bar",22),t&2){let o=d();c("passwordToCheck",o.guestForm.value.password)}}function Ae(t,m){if(t&1&&(i(0,"option",26),s(1),n()),t&2){let o=m.$implicit;c("ngValue",o),a(),x(o)}}function ke(t,m){if(t&1&&(i(0,"option",34),s(1),n()),t&2){let o=m.$implicit,r=d();c("ngValue",r.allNotifications.indexOf(o)),a(),x(o)}}function Ie(t,m){if(t&1&&(i(0,"div"),s(1),v(2,"amDateFormat"),n(),i(3,"div"),s(4),v(5,"amDateFormat"),n()),t&2){let o=d(2);a(),A("",S(2,4,o.guest.currentAccess)," - ",o.guest.currentIp),a(3),A("",S(5,6,o.guest.lastAccess)," - ",o.guest.lastIp)}}function Pe(t,m){t&1&&(i(0,"span",37),s(1,"never"),n())}function Le(t,m){if(t&1&&(i(0,"div",11)(1,"div",12)(2,"label",46),s(3,"Creation date"),n(),i(4,"div",47),s(5),v(6,"amDateFormat"),n()(),i(7,"div",48)(8,"label",49),s(9,"Last accesses"),n(),i(10,"div",50),f(11,Ie,6,8)(12,Pe,2,0,"span",37),n()()()),t&2){let o=d();a(5),x(S(6,2,o.guest.createdAt)),a(6),h(o.guest.lastAccess?11:12)}}function Oe(t,m){if(t&1&&(u(0,"fa-icon",44),i(1,"span",51),s(2,"Managers"),n(),i(3,"span"),s(4),n()),t&2){let o=d();c("icon",o.icons.faUsersGear),a(4),E("(",o.guestForm.value.managers.length||0,")")}}function Re(t,m){t&1&&(i(0,"small",37),s(1,"At least one manager is required"),n())}function Ve(t,m){if(t&1){let o=V();i(0,"button",52),_("click",function(){P(o);let l=d();return L(l.confirmDeletion=!0)}),s(1," Remove "),n()}if(t&2){let o=d();c("disabled",o.confirmDeletion)}}var lt=(()=>{let m=class m{constructor(){this.guest=null,this.guestChange=new R,this.locale=T(ee),this.layout=T(fe),this.userService=T(ve),this.user=this.userService.user,this.icons={GROUPS:de.GROUPS,faPlus:le,faPen:se,faUsersGear:me,faSpinner:ae,faAddressCard:oe,faUsers:ne,faShieldHalved:re},this.allNotifications=Object.values(D),this.defaultPassword=this.layout.translateString(pe),this.languages=this.layout.getLanguages(!0),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1}ngOnInit(){this.guestForm=new z({login:new g(this.guest?.login||"",[p.required,p.pattern(ce)]),email:new g(this.guest?.email||"",[p.required,p.maxLength(255),p.email]),firstName:new g(this.guest?.firstName||"",[p.required,p.maxLength(255)]),lastName:new g(this.guest?.lastName||"",p.maxLength(255)),password:new g(this.guest?this.defaultPassword:"",p.maxLength(255)),language:new g(this.guest?.language||null),notification:new g(this.guest?.notification||Object.values(D).indexOf(D.APPLICATION_EMAIL)),isActive:new g(this.guest?this.guest.isActive:!0),managers:new g(this.guest?.managers||[Ce(this.user)])})}updatePassword(r){this.guestForm.controls.password.setValue(r),this.guestForm.controls.password.markAsDirty()}updateManagers(r){this.guestForm.controls.managers.setValue(r),this.guestForm.controls.managers.markAsDirty(),this.guestForm.controls.managers.setErrors(r.length?null:{incorrect:!0})}searchMembers(r){let l={search:r,ignoreUserIds:this.guestForm.value.managers.map(e=>e.id),usersRole:ue.USER,onlyUsers:!0};return this.userService.searchMembers(l)}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){if(this.submitted=!0,this.confirmDeletion)this.userService.deleteGuest(this.guest.id).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:r=>this.onError(r)});else if(!this.guest)this.userService.createGuest(this.makeDto(!0)).subscribe({next:r=>{this.guestChange.emit(["add",r]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:r=>this.onError(r)});else{let r=this.makeDto();if(!Object.keys(r).length){this.loading=!1,this.submitted=!1;return}this.userService.updateGuest(this.guest.id,r).subscribe({next:l=>{l?this.guestChange.emit(["update",l]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}}makeDto(r=!1){let l={};if(r)l=I({},this.guestForm.value);else for(let e in this.guestForm.controls)this.guestForm.controls[e].dirty&&(l[e]=this.guestForm.controls[e].value);for(let e in l)switch(e){case"language":l[e]=l[e]===ge?null:l[e];break;case"managers":l[e]=l[e].map(C=>C.id);break}return l}onError(r){this.layout.sendNotification("error","Guest error",this.guestForm.value.login,r),this.submitted=!1,this.confirmDeletion=!1}};m.\u0275fac=function(l){return new(l||m)},m.\u0275cmp=O({type:m,selectors:[["app-user-guest-dialog"]],inputs:{guest:"guest"},outputs:{guestChange:"guestChange"},decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,e){l&1&&(i(0,"div",0)(1,"h4",1),f(2,we,3,2)(3,ye,3,1),f(4,Fe,1,1,"fa-icon",2),n(),f(5,Ge,3,0,"h4",3),i(6,"button",4),_("click",function(){return e.layout.closeDialog()}),n()(),i(7,"div",5)(8,"tabset",6),u(9,"hr",7),i(10,"tab",8),_("selectTab",function(){return e.tabView=null}),y(11,Ne,3,1,"ng-template",9),i(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),s(16,"Login"),n(),u(17,"input",14),n(),i(18,"div",15)(19,"label",16),s(20,"Email"),n(),u(21,"input",17),n()(),i(22,"div",11)(23,"div",12)(24,"label",18),s(25,"First name"),n(),u(26,"input",19),n(),i(27,"div",15)(28,"label",20),s(29,"Last name"),n(),u(30,"input",21),n()(),i(31,"div",11)(32,"div",12),f(33,Ue,1,1,"app-password-strength-bar",22),i(34,"app-input-password",23),_("passwordChange",function(w){return e.updatePassword(w)}),n()(),i(35,"div",15)(36,"label",24),s(37,"Language"),n(),i(38,"select",25),G(39,Ae,2,2,"option",26,F),n()()(),i(41,"div",11)(42,"div",27)(43,"label",28),s(44,"Account status"),n(),i(45,"div",29)(46,"label",30),u(47,"input",31),i(48,"span"),s(49),v(50,"translate"),v(51,"titlecase"),n()()()(),i(52,"div",15)(53,"label",32),s(54,"Notification"),n(),i(55,"select",33),G(56,ke,2,2,"option",34,F),n()()(),f(58,Le,13,4,"div",11),n()(),i(59,"tab",35),_("selectTab",function(){return e.tabView="managers"}),y(60,Oe,5,2,"ng-template",9),i(61,"div",7)(62,"app-user-search",36),_("membersChange",function(w){return e.updateManagers(w)}),n(),f(63,Re,2,0,"small",37),n()()()(),i(64,"div",38),f(65,Ve,2,1,"button",39),i(66,"button",40),_("click",function(){return e.onCancel()}),s(67,"Cancel"),n(),i(68,"button",41),_("click",function(){return e.onSubmit()}),s(69),n()()),l&2&&(a(2),h(e.guest?2:3),a(2),h(e.loading?4:-1),a(),h(e.guest?5:-1),a(),U(k("btn-close btn-close-white ",e.guest?"ms-2":"ms-auto"," ms-2")),a(),c("formGroup",e.guestForm),a(),c("justified",!0),a(9),b("is-invalid",e.guestForm.controls.login.invalid),c("autoSelect",!1),a(4),b("is-invalid",e.guestForm.controls.email.invalid),a(5),b("is-invalid",e.guestForm.controls.firstName.invalid),a(7),h(e.guestForm.value.password!==e.defaultPassword?33:-1),a(),c("password",e.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),a(5),N(e.languages),a(9),b("text-danger",!e.guestForm.value.isActive),a(),E(" ",S(51,38,M(50,35,e.guestForm.value.isActive?"active":"suspended",e.locale.language))," "),a(7),N(e.allNotifications),a(2),h(e.guest?58:-1),a(4),c("members",e.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",e.searchMembers.bind(e)),a(),h(e.guestForm.value.managers.length?-1:63),a(2),h(e.guest!=null&&e.guest.id?65:-1),a(3),U(k("btn btn-sm ",e.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",e.guestForm.invalid||e.submitted),a(),E(" ",e.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[j,ie,Z,Q,Y,H,q,K,X,$,W,J,he,Ee,_e,De,xe,Se,Te,be,te,B],encapsulation:2});let t=m;return t})();export{lt as a};
|