@sync-in/server 1.3.4 → 1.3.7

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.
Files changed (33) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +1 -1
  3. package/static/{chunk-WWKXW4MM.js → chunk-3CQHRM6K.js} +1 -1
  4. package/static/{chunk-QKELW3MH.js → chunk-62NKWSCZ.js} +1 -1
  5. package/static/{chunk-2PQGH3LQ.js → chunk-7DWT7W6L.js} +1 -1
  6. package/static/{chunk-GLAK4VQT.js → chunk-AOASP2ML.js} +1 -1
  7. package/static/{chunk-GW5AVRYT.js → chunk-ATROK3XR.js} +1 -1
  8. package/static/{chunk-YQGJX5R7.js → chunk-BMZK5PGX.js} +1 -1
  9. package/static/{chunk-4RF354LU.js → chunk-CBQRUHAW.js} +1 -1
  10. package/static/{chunk-Q7LN54AP.js → chunk-CS5K4IBF.js} +1 -1
  11. package/static/{chunk-X4CIBLP6.js → chunk-CXGKFQMB.js} +1 -1
  12. package/static/{chunk-W4LKCEBR.js → chunk-E2MMQS3P.js} +1 -1
  13. package/static/{chunk-BOIXDTUT.js → chunk-EUCMHS6F.js} +1 -1
  14. package/static/{chunk-2QNFUN7G.js → chunk-FNR2JLQZ.js} +1 -1
  15. package/static/{chunk-55WOZ7P6.js → chunk-H3O3N5LY.js} +1 -1
  16. package/static/{chunk-XQFA4DLU.js → chunk-H5ZPIT76.js} +1 -1
  17. package/static/{chunk-MLLPT7BU.js → chunk-IYMU2AOQ.js} +1 -1
  18. package/static/{chunk-MTBJHA2L.js → chunk-K375F6CH.js} +1 -1
  19. package/static/{chunk-ZEZVOO4G.js → chunk-KOYXXWT3.js} +1 -1
  20. package/static/{chunk-6HV65OKG.js → chunk-MAVDZOWK.js} +1 -1
  21. package/static/{chunk-HPRC4PXX.js → chunk-MDYFTKWU.js} +1 -1
  22. package/static/{chunk-AS7H5UIO.js → chunk-ME4DNAIM.js} +1 -1
  23. package/static/{chunk-ESSY62VJ.js → chunk-MGWJOK6G.js} +1 -1
  24. package/static/{chunk-SOYI5P5A.js → chunk-N6A3HHB5.js} +1 -1
  25. package/static/{chunk-5SYLS7WR.js → chunk-NC5X67U2.js} +1 -1
  26. package/static/{chunk-Q35EEVWP.js → chunk-OHGTSIIO.js} +1 -1
  27. package/static/{chunk-2OSA27SE.js → chunk-PU26FIXJ.js} +1 -1
  28. package/static/{chunk-ZJDBESQA.js → chunk-USM4HKKT.js} +1 -1
  29. package/static/{chunk-X2BMM3NY.js → chunk-VUBNAENR.js} +1 -1
  30. package/static/{chunk-7XBZXSHI.js → chunk-YCR3E6AS.js} +1 -1
  31. package/static/{chunk-3XDVB3TW.js → chunk-ZFGAD4UR.js} +1 -1
  32. package/static/index.html +1 -1
  33. package/static/{main-2GG5BCQL.js → main-TFDBY2TB.js} +3 -3
@@ -1 +1 @@
1
- import{Pa as $}from"./chunk-55WOZ7P6.js";import{Ac as R,Eb as o,Fb as y,Gb as x,Lb as C,Ma as c,Mb as w,Nb as b,Pb as d,Qa as E,Qb as f,Ra as u,Sb as N,Xa as m,Ya as M,_a as j,ab as h,ca as I,da as S,dc as g,ec as U,gc as _,hc as T,ib as v,jb as F,kb as P,pb as s,qb as p,rb as l,va as D,ya as B,yb as k,zc as O}from"./chunk-JQOMI5VI.js";var V=["*"];function J(t,e){t&1&&k(0)}function K(t,e){if(t&1&&(p(0,"bar",3),x(1),l()),t&2){let a=o();s("type",a.type)("value",a._value)("max",a.max)("animate",a.animate)("striped",a.striped)}}function L(t,e){if(t&1&&(p(0,"bar",3),d(1),l()),t&2){let a=e.$implicit,i=o(2);s("type",a.type)("value",a.value)("max",a.max||i.max)("animate",i.animate)("striped",i.striped),c(),f(a.label)}}function W(t,e){if(t&1&&h(0,L,2,6,"bar",4),t&2){let a=o();s("ngForOf",a._values)}}var X=(()=>{let e=class e{constructor(i,n){this.el=i,this.renderer=n,this.max=100,this.value=0,this.animate=!1,this.striped=!1,this.type="info",this.percent=100}ngOnChanges(i){(i.value||i.max)&&(this.percent=100*(Number(i.value?.currentValue||this.value)/Number(i.max?.currentValue||this.max||100))),i.type&&this.applyTypeClasses()}applyTypeClasses(){if(this._prevType){let i=`progress-bar-${this._prevType}`,n=`bg-${this._prevType}`;this.renderer.removeClass(this.el.nativeElement,i),this.renderer.removeClass(this.el.nativeElement,n),this._prevType=void 0}if(this.type){let i=`progress-bar-${this.type}`,n=`bg-${this.type}`;this.renderer.addClass(this.el.nativeElement,i),this.renderer.addClass(this.el.nativeElement,n),this._prevType=this.type}}};e.\u0275fac=function(n){return new(n||e)(u(B),u(E))},e.\u0275cmp=m({type:e,selectors:[["bar"]],hostAttrs:["role","progressbar","aria-valuemin","0"],hostVars:13,hostBindings:function(n,r){n&2&&(v("aria-valuenow",r.value)("aria-valuetext",r.percent?r.percent.toFixed(0)+"%":"")("aria-valuemax",r.max),w("height","100","%")("width",r.percent,"%"),b("progress-bar",!0)("progress-bar-animated",r.animate)("progress-bar-striped",r.striped))},inputs:{max:"max",value:"value",animate:"animate",striped:"striped",type:"type"},features:[D],ngContentSelectors:V,decls:1,vars:0,template:function(n,r){n&1&&(y(),x(0))},encapsulation:2,changeDetection:0});let t=e;return t})(),Y=(()=>{let e=class e{constructor(){this.animate=!1,this.max=100}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),A=(()=>{let e=class e{set value(i){this.isStacked=Array.isArray(i),typeof i=="number"?(this._value=i,this._values=void 0):(this._value=void 0,this._values=i)}constructor(i){this.max=100,this.animate=!1,this.striped=!1,this.isStacked=!1,this._value=0,Object.assign(this,i)}};e.\u0275fac=function(n){return new(n||e)(u(Y))},e.\u0275cmp=m({type:e,selectors:[["progressbar"]],hostVars:3,hostBindings:function(n,r){n&2&&(v("max",r.max),b("progress",!0))},inputs:{max:"max",animate:"animate",striped:"striped",type:"type",value:"value"},ngContentSelectors:V,decls:5,vars:3,consts:[["NotStacked",""],["Stacked",""],[4,"ngIf","ngIfThen","ngIfElse"],[3,"type","value","max","animate","striped"],[3,"type","value","max","animate","striped",4,"ngFor","ngForOf"]],template:function(n,r){if(n&1&&(y(),h(0,J,1,0,"ng-container",2)(1,K,2,5,"ng-template",null,0,T)(3,W,1,1,"ng-template",null,1,T)),n&2){let z=C(2),G=C(4);s("ngIf",!r.isStacked)("ngIfThen",z)("ngIfElse",G)}},dependencies:[R,X,O],styles:["[_nghost-%COMP%]{width:100%;display:flex}"],changeDetection:0});let t=e;return t})(),H=(()=>{let e=class e{static forRoot(){return{ngModule:e,providers:[]}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=M({type:e}),e.\u0275inj=S({});let t=e;return t})();var q=(()=>{let e=class e{transform(i,n=0,r=!1){return $(i,n,r)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275pipe=j({name:"toBytes",type:e,pure:!0});let t=e;return t})();function ee(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),g(4,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageQuota)("value",a.item.storageUsage)("type",null),c(2),N("",_(3,5,a.item.storageUsage,2,!0)," / ",U(4,9,a.item.storageQuota))}}function te(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageUsage)("value",a.item.storageUsage)("type",null),c(2),f(_(3,4,a.item.storageUsage,2,!0))}}var oe=(()=>{let e=class e{constructor(){this.item={storageUsage:0,storageQuota:null}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=m({type:e,selectors:[["app-storage-usage"]],inputs:{item:"item"},decls:2,vars:1,consts:[[1,"bg-black",3,"max","value","type"],[1,"ms-1","me-1"]],template:function(n,r){n&1&&F(0,ee,5,11,"progressbar",0)(1,te,4,8,"progressbar",0),n&2&&P(r.item.storageQuota>0?0:1)},dependencies:[H,A,q],encapsulation:2});let t=e;return t})();export{A as a,H as b,q as c,oe as d};
1
+ import{Pa as $}from"./chunk-H3O3N5LY.js";import{Ac as R,Eb as o,Fb as y,Gb as x,Lb as C,Ma as c,Mb as w,Nb as b,Pb as d,Qa as E,Qb as f,Ra as u,Sb as N,Xa as m,Ya as M,_a as j,ab as h,ca as I,da as S,dc as g,ec as U,gc as _,hc as T,ib as v,jb as F,kb as P,pb as s,qb as p,rb as l,va as D,ya as B,yb as k,zc as O}from"./chunk-JQOMI5VI.js";var V=["*"];function J(t,e){t&1&&k(0)}function K(t,e){if(t&1&&(p(0,"bar",3),x(1),l()),t&2){let a=o();s("type",a.type)("value",a._value)("max",a.max)("animate",a.animate)("striped",a.striped)}}function L(t,e){if(t&1&&(p(0,"bar",3),d(1),l()),t&2){let a=e.$implicit,i=o(2);s("type",a.type)("value",a.value)("max",a.max||i.max)("animate",i.animate)("striped",i.striped),c(),f(a.label)}}function W(t,e){if(t&1&&h(0,L,2,6,"bar",4),t&2){let a=o();s("ngForOf",a._values)}}var X=(()=>{let e=class e{constructor(i,n){this.el=i,this.renderer=n,this.max=100,this.value=0,this.animate=!1,this.striped=!1,this.type="info",this.percent=100}ngOnChanges(i){(i.value||i.max)&&(this.percent=100*(Number(i.value?.currentValue||this.value)/Number(i.max?.currentValue||this.max||100))),i.type&&this.applyTypeClasses()}applyTypeClasses(){if(this._prevType){let i=`progress-bar-${this._prevType}`,n=`bg-${this._prevType}`;this.renderer.removeClass(this.el.nativeElement,i),this.renderer.removeClass(this.el.nativeElement,n),this._prevType=void 0}if(this.type){let i=`progress-bar-${this.type}`,n=`bg-${this.type}`;this.renderer.addClass(this.el.nativeElement,i),this.renderer.addClass(this.el.nativeElement,n),this._prevType=this.type}}};e.\u0275fac=function(n){return new(n||e)(u(B),u(E))},e.\u0275cmp=m({type:e,selectors:[["bar"]],hostAttrs:["role","progressbar","aria-valuemin","0"],hostVars:13,hostBindings:function(n,r){n&2&&(v("aria-valuenow",r.value)("aria-valuetext",r.percent?r.percent.toFixed(0)+"%":"")("aria-valuemax",r.max),w("height","100","%")("width",r.percent,"%"),b("progress-bar",!0)("progress-bar-animated",r.animate)("progress-bar-striped",r.striped))},inputs:{max:"max",value:"value",animate:"animate",striped:"striped",type:"type"},features:[D],ngContentSelectors:V,decls:1,vars:0,template:function(n,r){n&1&&(y(),x(0))},encapsulation:2,changeDetection:0});let t=e;return t})(),Y=(()=>{let e=class e{constructor(){this.animate=!1,this.max=100}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),A=(()=>{let e=class e{set value(i){this.isStacked=Array.isArray(i),typeof i=="number"?(this._value=i,this._values=void 0):(this._value=void 0,this._values=i)}constructor(i){this.max=100,this.animate=!1,this.striped=!1,this.isStacked=!1,this._value=0,Object.assign(this,i)}};e.\u0275fac=function(n){return new(n||e)(u(Y))},e.\u0275cmp=m({type:e,selectors:[["progressbar"]],hostVars:3,hostBindings:function(n,r){n&2&&(v("max",r.max),b("progress",!0))},inputs:{max:"max",animate:"animate",striped:"striped",type:"type",value:"value"},ngContentSelectors:V,decls:5,vars:3,consts:[["NotStacked",""],["Stacked",""],[4,"ngIf","ngIfThen","ngIfElse"],[3,"type","value","max","animate","striped"],[3,"type","value","max","animate","striped",4,"ngFor","ngForOf"]],template:function(n,r){if(n&1&&(y(),h(0,J,1,0,"ng-container",2)(1,K,2,5,"ng-template",null,0,T)(3,W,1,1,"ng-template",null,1,T)),n&2){let z=C(2),G=C(4);s("ngIf",!r.isStacked)("ngIfThen",z)("ngIfElse",G)}},dependencies:[R,X,O],styles:["[_nghost-%COMP%]{width:100%;display:flex}"],changeDetection:0});let t=e;return t})(),H=(()=>{let e=class e{static forRoot(){return{ngModule:e,providers:[]}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=M({type:e}),e.\u0275inj=S({});let t=e;return t})();var q=(()=>{let e=class e{transform(i,n=0,r=!1){return $(i,n,r)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275pipe=j({name:"toBytes",type:e,pure:!0});let t=e;return t})();function ee(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),g(4,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageQuota)("value",a.item.storageUsage)("type",null),c(2),N("",_(3,5,a.item.storageUsage,2,!0)," / ",U(4,9,a.item.storageQuota))}}function te(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageUsage)("value",a.item.storageUsage)("type",null),c(2),f(_(3,4,a.item.storageUsage,2,!0))}}var oe=(()=>{let e=class e{constructor(){this.item={storageUsage:0,storageQuota:null}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=m({type:e,selectors:[["app-storage-usage"]],inputs:{item:"item"},decls:2,vars:1,consts:[[1,"bg-black",3,"max","value","type"],[1,"ms-1","me-1"]],template:function(n,r){n&1&&F(0,ee,5,11,"progressbar",0)(1,te,4,8,"progressbar",0),n&2&&P(r.item.storageQuota>0?0:1)},dependencies:[H,A,q],encapsulation:2});let t=e;return t})();export{A as a,H as b,q as c,oe as d};
@@ -1,4 +1,4 @@
1
- import{f as _e,g as Ce}from"./chunk-BOIXDTUT.js";import{f as ge}from"./chunk-6HV65OKG.js";import{Mb as fe,Rb as z,ua as me,xb as he}from"./chunk-55WOZ7P6.js";import{$b as Z,Cb as h,Dc as Y,Eb as c,Fa as E,Fd as ae,J as L,Jd as le,Lb as D,Ma as r,N as R,Nb as y,Ob as J,Pb as m,Qb as k,Re as pe,Tb as F,Ub as V,Vb as G,Xa as M,Xb as K,Xc as ee,Za as U,Zb as X,Zc as P,_c as te,ab as w,ac as $,ad as ie,ba as I,bb as x,bf as de,dc as A,ed as ne,fc as H,ha as O,hc as j,jb as f,jd as oe,kb as g,lb as q,ma as C,na as v,nb as B,ob as Q,of as ue,pb as d,pe as ce,qb as l,rb as a,sb as _,wd as se,xd as re,ya as W,yb as T,zb as b}from"./chunk-JQOMI5VI.js";var be=function(i){return i[i.USER=0]="USER",i[i.PERSONAL=1]="PERSONAL",i}(be||{}),ye=function(i){return i[i.VISIBLE=0]="VISIBLE",i[i.PRIVATE=1]="PRIVATE",i[i.ISOLATED=2]="ISOLATED",i}(ye||{});function ke(i,n){if(i&1&&(l(0,"span"),m(1),a()),i&2){let s=c();r(),k(s.group.name)}}function Se(i,n){i&1&&(l(0,"span",3),m(1,"New personal group"),a())}function Me(i,n){if(i&1&&_(0,"fa-icon",4),i&2){let s=c();d("icon",s.icons.faSpinner)}}function we(i,n){i&1&&(l(0,"span",3),m(1,"Edit personal group"),a())}function Pe(i,n){i&1&&(l(0,"span",3),m(1,"Edit group"),a())}function Ee(i,n){if(i&1&&(l(0,"h4",5),f(1,we,2,0,"span",3)(2,Pe,2,0,"span",3),a()),i&2){let s=c();r(),g(s.isPersonalGroup?1:2)}}var st=(()=>{let n=class n{constructor(){this.groupChange=new x,this.layout=O(he),this.icons={GROUPS:me.GROUPS,faSpinner:de,faCog:pe,faUsers:ce,faPen:ue},this.isPersonalGroup=!0,this.submitted=!1,this.loading=!1,this.userService=O(ge),this.user=this.userService.user}ngOnInit(){this.originalGroup?.id?(this.isPersonalGroup=this.originalGroup.isPersonalGroup,this.group=new z({id:this.originalGroup.id,name:this.originalGroup.name,description:this.originalGroup.description,createdAt:this.originalGroup.createdAt,modifiedAt:this.originalGroup.modifiedAt,type:this.originalGroup.type})):this.group=new z({id:0,name:"",description:"",createdAt:null,modifiedAt:null,type:fe.PGROUP})}onCancel(){this.layout.closeDialog()}onSubmit(){if(this.loading=!0,this.submitted=!0,this.group.id===0)this.userService.createPersonalGroup(this.makeDto(!0)).subscribe({next:e=>{this.loading=!1,this.groupChange.emit(["add",e]),this.layout.sendNotification("success","Group created",e.name),this.layout.closeDialog()},error:e=>this.onError(e)});else{let e=this.makeDto();if(!Object.keys(e).length){this.loading=!1,this.submitted=!1;return}this.userService.updatePersonalGroup(this.originalGroup.id,this.makeDto()).subscribe({next:t=>{this.loading=!1,this.groupChange.emit(["update",t]),this.layout.sendNotification("success","Group updated",t.name),this.layout.closeDialog()},error:t=>this.onError(t)})}}makeDto(e=!1){return{name:e?this.group.name:this.group.name!==this.originalGroup.name?this.group.name:void 0,description:e?this.group.description:this.group.description!==this.originalGroup.description?this.group.description:void 0}}onError(e){this.layout.sendNotification("error","Group error",this.group.name,e),this.submitted=!1,this.loading=!1}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-user-group-dialog"]],inputs:{originalGroup:"originalGroup"},outputs:{groupChange:"groupChange"},decls:23,vars:15,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"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","disabled","autoSelect","ngModel"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel","disabled"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(l(0,"div",0)(1,"h4",1),_(2,"fa-icon",2),f(3,ke,2,1,"span")(4,Se,2,0,"span",3),f(5,Me,1,1,"fa-icon",4),a(),f(6,Ee,3,1,"h4",5),l(7,"button",6),h("click",function(){return o.layout.closeDialog()}),a()(),l(8,"div",7)(9,"div",8)(10,"div",9)(11,"label",10),m(12,"Name"),a(),l(13,"input",11),G("ngModelChange",function(u){return V(o.group.name,u)||(o.group.name=u),u}),a()(),l(14,"div",12)(15,"label",13),m(16,"Description"),a(),l(17,"input",14),G("ngModelChange",function(u){return V(o.group.description,u)||(o.group.description=u),u}),a()()()(),l(18,"div",15)(19,"button",16),h("click",function(){return o.onCancel()}),m(20,"Cancel"),a(),l(21,"button",17),h("click",function(){return o.onSubmit()}),m(22," Confirm "),a()()),t&2&&(r(2),d("icon",o.icons.GROUPS),r(),g(o.group.id?3:4),r(2),g(o.loading?5:-1),r(),g(o.group.id?6:-1),r(),J(K("btn-close btn-close-white ",o.group.id?"ms-2":"ms-auto"," ms-2")),r(6),y("is-invalid",!o.group.name),d("disabled",!o.isPersonalGroup)("autoSelect",!1),F("ngModel",o.group.name),r(4),F("ngModel",o.group.description),d("disabled",!o.isPersonalGroup),r(4),d("disabled",!o.group.name||o.submitted))},dependencies:[re,ie,ne,se,oe,P,ae,_e],encapsulation:2});let i=n;return i})();var xe=(()=>{let n=class n{onClick(e){e.stopPropagation()}ngOnInit(){setTimeout(()=>{typeof document<"u"&&document.addEventListener("click",this.offClickHandler)},0)}ngOnDestroy(){typeof document<"u"&&document.removeEventListener("click",this.offClickHandler)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=U({type:n,selectors:[["","offClick",""]],hostBindings:function(t,o){t&1&&h("click",function(u){return o.onClick(u)})},inputs:{offClickHandler:[0,"offClick","offClickHandler"]}});let i=n;return i})();var S=class{constructor(n){typeof n=="string"&&(this.id=this.name=n,this.description=""),typeof n=="object"&&(this.id=n.id||n.name,this.name=n.name,this.description=n.description||"")}};var Te=i=>({active:i}),De=(i,n)=>({o:i,i:n});function Fe(i,n){if(i&1){let s=b();l(0,"input",6),h("keydown",function(t){C(s);let o=c();return v(o.inputEvent(t))})("keyup",function(t){C(s);let o=c();return v(o.inputEvent(t,!0))}),a()}if(i&2){let s=c();d("disabled",s.disabled)}}function Ve(i,n){i&1&&T(0)}function Ge(i,n){if(i&1&&(l(0,"span",12),w(1,Ve,1,0,"ng-container",13),a()),i&2){let s=c(2),e=D(6);y("ui-select-allow-clear",s.allowClear&&s.active),r(),d("ngTemplateOutlet",s.customTemplateSelect||e)("ngTemplateOutletContext",Z(4,Te,s.active))}}function Ae(i,n){if(i&1&&(l(0,"span",9),m(1),a()),i&2){let s=c(2);r(),k(s.placeholder)}}function He(i,n){if(i&1){let s=b();l(0,"button",14),h("click",function(t){C(s);let o=c(2);return v(o.removeClick(o.active,t))}),a()}}function je(i,n){if(i&1){let s=b();l(0,"div",4)(1,"span",7),h("click",function(t){C(s);let o=c();return v(o.matchClick(t))}),f(2,Ge,2,6,"span",8)(3,Ae,2,1,"span",9),f(4,He,1,0,"button",10),_(5,"i",11),a()()}if(i&2){let s=c();r(2),g(s.active?2:3),r(2),g(s.allowClear&&s.active?4:-1)}}function ze(i,n){i&1&&T(0)}function Ne(i,n){if(i&1){let s=b();l(0,"li",15)(1,"div",16),h("click",function(t){let o=C(s).$implicit,p=c(2);return v(p.selectMatch(o,t))})("mouseenter",function(){let t=C(s).$implicit,o=c(2);return v(o.selectActive(t))}),w(2,ze,1,0,"ng-container",13),a()()}if(i&2){let s=n.$implicit,e=c(2),t=D(8);r(),y("active",e.isActive(s)),r(),d("ngTemplateOutlet",e.customTemplateOptions||t)("ngTemplateOutletContext",$(4,De,s,e.inputValue))}}function Le(i,n){if(i&1&&(l(0,"ul",5),B(1,Ne,3,7,"li",15,q),a()),i&2){let s=c();r(),Q(s.options)}}function Re(i,n){if(i&1&&(l(0,"div",17)(1,"span",18),_(2,"fa-icon",19),a(),l(3,"span"),m(4),a(),l(5,"div",20),m(6),a()()),i&2){let s=n.active,e=c();r(2),d("icon",e.itemIcon)("fixedWidth",!1),r(2),k(s.name),r(2),k(s.description)}}function Ie(i,n){if(i&1&&(l(0,"a",21)(1,"div",17)(2,"span",18),_(3,"fa-icon",19),a(),_(4,"span",22),A(5,"highlight"),_(6,"span",23),A(7,"highlight"),a()()),i&2){let s=n.i,e=n.o,t=c();r(3),d("icon",t.itemIcon)("fixedWidth",!1),r(),d("innerHtml",t.sanitize(H(5,4,e.name,s)),E),r(2),d("innerHtml",t.sanitize(H(7,7,e.description,s)),E)}}var bt=(()=>{let n=class n{constructor(){this.element=O(W),this.itemIcon=le,this.allowClear=!0,this.placeholder="",this.idField="id",this.nameField="name",this.descriptionField="description",this.data=new x,this.selected=new x,this.removed=new x,this.typed=new x,this.opened=new x,this.options=[],this.itemObjects=[],this.inputMode=!1,this.inputValue="",this.onChange=Function.prototype,this.onTouched=Function.prototype,this.sanitizer=O(ee),this._items=[],this._optionsOpened=!1,this._disabled=!1,this._active=null,this.clickedOutside=this.clickedOutside.bind(this)}set items(e){if(!e.length){this._items=this.itemObjects=[],this.itemObjects=[];return}this._items=e.filter(t=>{if(typeof t=="string"||typeof t=="object"&&t&&t[this.nameField]&&t[this.idField])return t}),this.itemObjects=this._items.map(t=>typeof t=="string"?new S(t):new S({id:t[this.idField],name:t[this.nameField],description:t[this.descriptionField]}))}get optionsOpened(){return this._optionsOpened}set optionsOpened(e){this._optionsOpened=e,this.opened.emit(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled===!0&&this.hideOptions()}get active(){return this._active}set active(e){e?this._active=typeof e=="string"?e:new S({id:e[this.idField],name:e[this.nameField],description:e[this.descriptionField]}):this._active=null}sanitize(e){return this.sanitizer.bypassSecurityTrustHtml(e)}inputEvent(e,t=!1){if(e.keyCode===9)return;if(t&&(e.keyCode===37||e.keyCode===39||e.keyCode===38||e.keyCode===40||e.keyCode===13)){e.preventDefault();return}if(!t&&e.keyCode===8){let p=this.element.nativeElement.querySelector("div.ui-select-container > input");(!p.value||p.value.length<=0)&&(this.active&&this.remove(this.active),e.preventDefault())}if(!t&&e.keyCode===27){this.hideOptions(),e.preventDefault();return}if(!t&&e.keyCode===46&&(this.active&&this.remove(this.active),e.preventDefault()),!t&&e.keyCode===37&&this._items.length>0){this.behavior.first(),e.preventDefault();return}if(!t&&e.keyCode===39&&this._items.length>0){this.behavior.last(),e.preventDefault();return}if(!t&&e.keyCode===38){this.behavior.prev(),e.preventDefault();return}if(!t&&e.keyCode===40){this.behavior.next(),e.preventDefault();return}if(!t&&e.keyCode===13){(!this.active||this.active.id!==this.activeOption.id)&&(this.selectActiveMatch(),this.behavior.next()),e.preventDefault();return}let o=e.target||e.srcElement;o?(this.inputValue=o.value,this.doEvent("typed",this.inputValue||" ")):this.open()}ngOnInit(){this.subscription=this.typed.asObservable().pipe(L(200),R()).subscribe(e=>this.doSearch(e)),this.behavior=new N(this),this.doEvent("typed"," ")}ngOnDestroy(){this.subscription.unsubscribe()}remove(e){this._disabled!==!0&&(this.active=null,this.data.next(this.active),this.doEvent("removed",e),this.inputValue="",this.doEvent("typed"," "))}doEvent(e,t){this[e]&&t&&this[e].next(t),this.onTouched(),(e==="selected"||e==="removed")&&this.onChange(this.active)}clickedOutside(){this.inputMode=!1,this.optionsOpened=!1}writeValue(e){this.active=e,this.data.emit(this.active)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}matchClick(e){this._disabled!==!0&&(this.inputMode=!this.inputMode,this.inputMode===!0&&(this.focusToInput(),this.open()))}mainClick(e){if(this.inputMode===!0||this._disabled===!0)return;if(e.keyCode===46){e.preventDefault(),this.inputEvent(e);return}if(e.keyCode===8){e.preventDefault(),this.inputEvent(e,!0);return}if(e.keyCode===9||e.keyCode===13||e.keyCode===27||e.keyCode>=37&&e.keyCode<=40){e.preventDefault();return}this.inputMode=!0;let t=String.fromCharCode(96<=e.keyCode&&e.keyCode<=105?e.keyCode-48:e.keyCode).toLowerCase();this.focusToInput(t),this.open();let o=e.target||e.srcElement;o.value=t,this.inputEvent(e)}selectActive(e){this.activeOption=e}isActive(e){return this.activeOption.id===e.id}removeClick(e,t){t.stopPropagation(),this.remove(e)}focusToInput(e=""){setTimeout(()=>{let t=this.element.nativeElement.querySelector("div.ui-select-container > input");t&&(t.focus(),t.value=e)},0)}selectMatch(e,t=void 0){t&&(t.stopPropagation(),t.preventDefault()),!(this.options.length<=0)&&(this.active=e,this.data.next(this.active),this.doEvent("selected",e),this.hideOptions(),this.focusToInput(e.name),this.element.nativeElement.querySelector(".ui-select-container").focus())}doSearch(e){this.searchFunction(e).subscribe({next:t=>{this.items=t},error:t=>{console.error(t),this.items=[]},complete:()=>this.behavior.filter()})}open(){this.options=this.itemObjects,this.options.length>0&&this.behavior.first(),this.optionsOpened=!0}hideOptions(){this.inputMode=!1,this.optionsOpened=!1}selectActiveMatch(){this.selectMatch(this.activeOption)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-select"]],inputs:{searchFunction:"searchFunction",customTemplateOptions:"customTemplateOptions",customTemplateSelect:"customTemplateSelect",itemIcon:"itemIcon",allowClear:"allowClear",placeholder:"placeholder",idField:"idField",nameField:"nameField",descriptionField:"descriptionField",disabled:"disabled",active:"active"},outputs:{data:"data",selected:"selected",removed:"removed",typed:"typed",opened:"opened"},features:[X([{provide:te,useExisting:I(()=>n),multi:!0}])],decls:9,vars:5,consts:[["DefaultSelect",""],["DefaultOptions",""],[1,"ui-select-container","dropdown","open",3,"keyup","offClick"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"disabled"],[1,"ui-select-match","form-control","form-control-sm"],["role","menu",1,"ui-select-choices","dropdown-menu"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"keydown","keyup","disabled"],["tabindex","-1",1,"ui-select-toggle","no-select",2,"outline","0",3,"click"],[1,"ui-select-match-text","w-100",3,"ui-select-allow-clear"],[1,"ui-select-placeholder"],["aria-label","close","type","button",1,"btn-close"],[1,"dropdown-toggle"],[1,"ui-select-match-text","w-100"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-label","close","type","button",1,"btn-close",3,"click"],["role","menuitem"],[1,"ui-select-choices-row",3,"click","mouseenter"],[1,"d-flex","align-items-center"],[1,"ui-icon","circle-primary-icon","me-2"],[3,"icon","fixedWidth"],[1,"d-flex","ms-auto","me-4","fs-xxxs","text-muted"],["href","javascript:void(0)",1,"dropdown-item","cursor-pointer",2,"padding","3px 5px"],[3,"innerHtml"],[1,"d-flex","ms-auto","fs-xxxs","text-muted",3,"innerHtml"]],template:function(t,o){if(t&1){let p=b();l(0,"div",2),h("keyup",function(Oe){return C(p),v(o.mainClick(Oe))}),_(1,"div"),f(2,Fe,1,1,"input",3)(3,je,6,2,"div",4),f(4,Le,3,0,"ul",5),a(),w(5,Re,7,4,"ng-template",null,0,j)(7,Ie,8,10,"ng-template",null,1,j)}t&2&&(d("offClick",o.clickedOutside),r(),y("ui-disabled",o.disabled),r(),g(o.inputMode?2:3),r(2),g(o.optionsOpened&&o.options&&o.options.length>0?4:-1))},dependencies:[xe,P,Y,Ce],styles:[`.ui-select-container[_ngcontent-%COMP%]{background-color:transparent;border-radius:4px}.ui-select-container.open[_ngcontent-%COMP%] > .dropdown-menu[_ngcontent-%COMP%]{display:block}.ui-select-container.open[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{outline:none}.ui-select-container[_ngcontent-%COMP%] .ui-icon[_ngcontent-%COMP%]{min-width:26px;min-height:26px;font-size:.85rem}.ui-select-container[_ngcontent-%COMP%] .ui-disabled[_ngcontent-%COMP%]{background-color:#d4dbe8;border-radius:4px;position:absolute;width:100%;height:100%;z-index:5;opacity:.6;top:0;left:0;cursor:not-allowed}.ui-select-container[_ngcontent-%COMP%] .ui-select-search[_ngcontent-%COMP%]{line-height:26px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%]{padding-left:.3rem}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{text-align:start!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{position:absolute;top:45%;right:15px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{font-size:1.6em;line-height:.75}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%]{display:flex;align-items:center}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%] > .caret[_ngcontent-%COMP%]{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-placeholder[_ngcontent-%COMP%]{float:left;line-height:26px;color:#8c8c8c;width:100%}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]{cursor:pointer}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:inline-block!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%]{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{text-decoration:none;outline:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{pointer-events:none}
1
+ import{f as _e,g as Ce}from"./chunk-EUCMHS6F.js";import{f as ge}from"./chunk-MAVDZOWK.js";import{Mb as fe,Rb as z,ua as me,xb as he}from"./chunk-H3O3N5LY.js";import{$b as Z,Cb as h,Dc as Y,Eb as c,Fa as E,Fd as ae,J as L,Jd as le,Lb as D,Ma as r,N as R,Nb as y,Ob as J,Pb as m,Qb as k,Re as pe,Tb as F,Ub as V,Vb as G,Xa as M,Xb as K,Xc as ee,Za as U,Zb as X,Zc as P,_c as te,ab as w,ac as $,ad as ie,ba as I,bb as x,bf as de,dc as A,ed as ne,fc as H,ha as O,hc as j,jb as f,jd as oe,kb as g,lb as q,ma as C,na as v,nb as B,ob as Q,of as ue,pb as d,pe as ce,qb as l,rb as a,sb as _,wd as se,xd as re,ya as W,yb as T,zb as b}from"./chunk-JQOMI5VI.js";var be=function(i){return i[i.USER=0]="USER",i[i.PERSONAL=1]="PERSONAL",i}(be||{}),ye=function(i){return i[i.VISIBLE=0]="VISIBLE",i[i.PRIVATE=1]="PRIVATE",i[i.ISOLATED=2]="ISOLATED",i}(ye||{});function ke(i,n){if(i&1&&(l(0,"span"),m(1),a()),i&2){let s=c();r(),k(s.group.name)}}function Se(i,n){i&1&&(l(0,"span",3),m(1,"New personal group"),a())}function Me(i,n){if(i&1&&_(0,"fa-icon",4),i&2){let s=c();d("icon",s.icons.faSpinner)}}function we(i,n){i&1&&(l(0,"span",3),m(1,"Edit personal group"),a())}function Pe(i,n){i&1&&(l(0,"span",3),m(1,"Edit group"),a())}function Ee(i,n){if(i&1&&(l(0,"h4",5),f(1,we,2,0,"span",3)(2,Pe,2,0,"span",3),a()),i&2){let s=c();r(),g(s.isPersonalGroup?1:2)}}var st=(()=>{let n=class n{constructor(){this.groupChange=new x,this.layout=O(he),this.icons={GROUPS:me.GROUPS,faSpinner:de,faCog:pe,faUsers:ce,faPen:ue},this.isPersonalGroup=!0,this.submitted=!1,this.loading=!1,this.userService=O(ge),this.user=this.userService.user}ngOnInit(){this.originalGroup?.id?(this.isPersonalGroup=this.originalGroup.isPersonalGroup,this.group=new z({id:this.originalGroup.id,name:this.originalGroup.name,description:this.originalGroup.description,createdAt:this.originalGroup.createdAt,modifiedAt:this.originalGroup.modifiedAt,type:this.originalGroup.type})):this.group=new z({id:0,name:"",description:"",createdAt:null,modifiedAt:null,type:fe.PGROUP})}onCancel(){this.layout.closeDialog()}onSubmit(){if(this.loading=!0,this.submitted=!0,this.group.id===0)this.userService.createPersonalGroup(this.makeDto(!0)).subscribe({next:e=>{this.loading=!1,this.groupChange.emit(["add",e]),this.layout.sendNotification("success","Group created",e.name),this.layout.closeDialog()},error:e=>this.onError(e)});else{let e=this.makeDto();if(!Object.keys(e).length){this.loading=!1,this.submitted=!1;return}this.userService.updatePersonalGroup(this.originalGroup.id,this.makeDto()).subscribe({next:t=>{this.loading=!1,this.groupChange.emit(["update",t]),this.layout.sendNotification("success","Group updated",t.name),this.layout.closeDialog()},error:t=>this.onError(t)})}}makeDto(e=!1){return{name:e?this.group.name:this.group.name!==this.originalGroup.name?this.group.name:void 0,description:e?this.group.description:this.group.description!==this.originalGroup.description?this.group.description:void 0}}onError(e){this.layout.sendNotification("error","Group error",this.group.name,e),this.submitted=!1,this.loading=!1}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-user-group-dialog"]],inputs:{originalGroup:"originalGroup"},outputs:{groupChange:"groupChange"},decls:23,vars:15,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"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","disabled","autoSelect","ngModel"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel","disabled"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(l(0,"div",0)(1,"h4",1),_(2,"fa-icon",2),f(3,ke,2,1,"span")(4,Se,2,0,"span",3),f(5,Me,1,1,"fa-icon",4),a(),f(6,Ee,3,1,"h4",5),l(7,"button",6),h("click",function(){return o.layout.closeDialog()}),a()(),l(8,"div",7)(9,"div",8)(10,"div",9)(11,"label",10),m(12,"Name"),a(),l(13,"input",11),G("ngModelChange",function(u){return V(o.group.name,u)||(o.group.name=u),u}),a()(),l(14,"div",12)(15,"label",13),m(16,"Description"),a(),l(17,"input",14),G("ngModelChange",function(u){return V(o.group.description,u)||(o.group.description=u),u}),a()()()(),l(18,"div",15)(19,"button",16),h("click",function(){return o.onCancel()}),m(20,"Cancel"),a(),l(21,"button",17),h("click",function(){return o.onSubmit()}),m(22," Confirm "),a()()),t&2&&(r(2),d("icon",o.icons.GROUPS),r(),g(o.group.id?3:4),r(2),g(o.loading?5:-1),r(),g(o.group.id?6:-1),r(),J(K("btn-close btn-close-white ",o.group.id?"ms-2":"ms-auto"," ms-2")),r(6),y("is-invalid",!o.group.name),d("disabled",!o.isPersonalGroup)("autoSelect",!1),F("ngModel",o.group.name),r(4),F("ngModel",o.group.description),d("disabled",!o.isPersonalGroup),r(4),d("disabled",!o.group.name||o.submitted))},dependencies:[re,ie,ne,se,oe,P,ae,_e],encapsulation:2});let i=n;return i})();var xe=(()=>{let n=class n{onClick(e){e.stopPropagation()}ngOnInit(){setTimeout(()=>{typeof document<"u"&&document.addEventListener("click",this.offClickHandler)},0)}ngOnDestroy(){typeof document<"u"&&document.removeEventListener("click",this.offClickHandler)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=U({type:n,selectors:[["","offClick",""]],hostBindings:function(t,o){t&1&&h("click",function(u){return o.onClick(u)})},inputs:{offClickHandler:[0,"offClick","offClickHandler"]}});let i=n;return i})();var S=class{constructor(n){typeof n=="string"&&(this.id=this.name=n,this.description=""),typeof n=="object"&&(this.id=n.id||n.name,this.name=n.name,this.description=n.description||"")}};var Te=i=>({active:i}),De=(i,n)=>({o:i,i:n});function Fe(i,n){if(i&1){let s=b();l(0,"input",6),h("keydown",function(t){C(s);let o=c();return v(o.inputEvent(t))})("keyup",function(t){C(s);let o=c();return v(o.inputEvent(t,!0))}),a()}if(i&2){let s=c();d("disabled",s.disabled)}}function Ve(i,n){i&1&&T(0)}function Ge(i,n){if(i&1&&(l(0,"span",12),w(1,Ve,1,0,"ng-container",13),a()),i&2){let s=c(2),e=D(6);y("ui-select-allow-clear",s.allowClear&&s.active),r(),d("ngTemplateOutlet",s.customTemplateSelect||e)("ngTemplateOutletContext",Z(4,Te,s.active))}}function Ae(i,n){if(i&1&&(l(0,"span",9),m(1),a()),i&2){let s=c(2);r(),k(s.placeholder)}}function He(i,n){if(i&1){let s=b();l(0,"button",14),h("click",function(t){C(s);let o=c(2);return v(o.removeClick(o.active,t))}),a()}}function je(i,n){if(i&1){let s=b();l(0,"div",4)(1,"span",7),h("click",function(t){C(s);let o=c();return v(o.matchClick(t))}),f(2,Ge,2,6,"span",8)(3,Ae,2,1,"span",9),f(4,He,1,0,"button",10),_(5,"i",11),a()()}if(i&2){let s=c();r(2),g(s.active?2:3),r(2),g(s.allowClear&&s.active?4:-1)}}function ze(i,n){i&1&&T(0)}function Ne(i,n){if(i&1){let s=b();l(0,"li",15)(1,"div",16),h("click",function(t){let o=C(s).$implicit,p=c(2);return v(p.selectMatch(o,t))})("mouseenter",function(){let t=C(s).$implicit,o=c(2);return v(o.selectActive(t))}),w(2,ze,1,0,"ng-container",13),a()()}if(i&2){let s=n.$implicit,e=c(2),t=D(8);r(),y("active",e.isActive(s)),r(),d("ngTemplateOutlet",e.customTemplateOptions||t)("ngTemplateOutletContext",$(4,De,s,e.inputValue))}}function Le(i,n){if(i&1&&(l(0,"ul",5),B(1,Ne,3,7,"li",15,q),a()),i&2){let s=c();r(),Q(s.options)}}function Re(i,n){if(i&1&&(l(0,"div",17)(1,"span",18),_(2,"fa-icon",19),a(),l(3,"span"),m(4),a(),l(5,"div",20),m(6),a()()),i&2){let s=n.active,e=c();r(2),d("icon",e.itemIcon)("fixedWidth",!1),r(2),k(s.name),r(2),k(s.description)}}function Ie(i,n){if(i&1&&(l(0,"a",21)(1,"div",17)(2,"span",18),_(3,"fa-icon",19),a(),_(4,"span",22),A(5,"highlight"),_(6,"span",23),A(7,"highlight"),a()()),i&2){let s=n.i,e=n.o,t=c();r(3),d("icon",t.itemIcon)("fixedWidth",!1),r(),d("innerHtml",t.sanitize(H(5,4,e.name,s)),E),r(2),d("innerHtml",t.sanitize(H(7,7,e.description,s)),E)}}var bt=(()=>{let n=class n{constructor(){this.element=O(W),this.itemIcon=le,this.allowClear=!0,this.placeholder="",this.idField="id",this.nameField="name",this.descriptionField="description",this.data=new x,this.selected=new x,this.removed=new x,this.typed=new x,this.opened=new x,this.options=[],this.itemObjects=[],this.inputMode=!1,this.inputValue="",this.onChange=Function.prototype,this.onTouched=Function.prototype,this.sanitizer=O(ee),this._items=[],this._optionsOpened=!1,this._disabled=!1,this._active=null,this.clickedOutside=this.clickedOutside.bind(this)}set items(e){if(!e.length){this._items=this.itemObjects=[],this.itemObjects=[];return}this._items=e.filter(t=>{if(typeof t=="string"||typeof t=="object"&&t&&t[this.nameField]&&t[this.idField])return t}),this.itemObjects=this._items.map(t=>typeof t=="string"?new S(t):new S({id:t[this.idField],name:t[this.nameField],description:t[this.descriptionField]}))}get optionsOpened(){return this._optionsOpened}set optionsOpened(e){this._optionsOpened=e,this.opened.emit(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled===!0&&this.hideOptions()}get active(){return this._active}set active(e){e?this._active=typeof e=="string"?e:new S({id:e[this.idField],name:e[this.nameField],description:e[this.descriptionField]}):this._active=null}sanitize(e){return this.sanitizer.bypassSecurityTrustHtml(e)}inputEvent(e,t=!1){if(e.keyCode===9)return;if(t&&(e.keyCode===37||e.keyCode===39||e.keyCode===38||e.keyCode===40||e.keyCode===13)){e.preventDefault();return}if(!t&&e.keyCode===8){let p=this.element.nativeElement.querySelector("div.ui-select-container > input");(!p.value||p.value.length<=0)&&(this.active&&this.remove(this.active),e.preventDefault())}if(!t&&e.keyCode===27){this.hideOptions(),e.preventDefault();return}if(!t&&e.keyCode===46&&(this.active&&this.remove(this.active),e.preventDefault()),!t&&e.keyCode===37&&this._items.length>0){this.behavior.first(),e.preventDefault();return}if(!t&&e.keyCode===39&&this._items.length>0){this.behavior.last(),e.preventDefault();return}if(!t&&e.keyCode===38){this.behavior.prev(),e.preventDefault();return}if(!t&&e.keyCode===40){this.behavior.next(),e.preventDefault();return}if(!t&&e.keyCode===13){(!this.active||this.active.id!==this.activeOption.id)&&(this.selectActiveMatch(),this.behavior.next()),e.preventDefault();return}let o=e.target||e.srcElement;o?(this.inputValue=o.value,this.doEvent("typed",this.inputValue||" ")):this.open()}ngOnInit(){this.subscription=this.typed.asObservable().pipe(L(200),R()).subscribe(e=>this.doSearch(e)),this.behavior=new N(this),this.doEvent("typed"," ")}ngOnDestroy(){this.subscription.unsubscribe()}remove(e){this._disabled!==!0&&(this.active=null,this.data.next(this.active),this.doEvent("removed",e),this.inputValue="",this.doEvent("typed"," "))}doEvent(e,t){this[e]&&t&&this[e].next(t),this.onTouched(),(e==="selected"||e==="removed")&&this.onChange(this.active)}clickedOutside(){this.inputMode=!1,this.optionsOpened=!1}writeValue(e){this.active=e,this.data.emit(this.active)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}matchClick(e){this._disabled!==!0&&(this.inputMode=!this.inputMode,this.inputMode===!0&&(this.focusToInput(),this.open()))}mainClick(e){if(this.inputMode===!0||this._disabled===!0)return;if(e.keyCode===46){e.preventDefault(),this.inputEvent(e);return}if(e.keyCode===8){e.preventDefault(),this.inputEvent(e,!0);return}if(e.keyCode===9||e.keyCode===13||e.keyCode===27||e.keyCode>=37&&e.keyCode<=40){e.preventDefault();return}this.inputMode=!0;let t=String.fromCharCode(96<=e.keyCode&&e.keyCode<=105?e.keyCode-48:e.keyCode).toLowerCase();this.focusToInput(t),this.open();let o=e.target||e.srcElement;o.value=t,this.inputEvent(e)}selectActive(e){this.activeOption=e}isActive(e){return this.activeOption.id===e.id}removeClick(e,t){t.stopPropagation(),this.remove(e)}focusToInput(e=""){setTimeout(()=>{let t=this.element.nativeElement.querySelector("div.ui-select-container > input");t&&(t.focus(),t.value=e)},0)}selectMatch(e,t=void 0){t&&(t.stopPropagation(),t.preventDefault()),!(this.options.length<=0)&&(this.active=e,this.data.next(this.active),this.doEvent("selected",e),this.hideOptions(),this.focusToInput(e.name),this.element.nativeElement.querySelector(".ui-select-container").focus())}doSearch(e){this.searchFunction(e).subscribe({next:t=>{this.items=t},error:t=>{console.error(t),this.items=[]},complete:()=>this.behavior.filter()})}open(){this.options=this.itemObjects,this.options.length>0&&this.behavior.first(),this.optionsOpened=!0}hideOptions(){this.inputMode=!1,this.optionsOpened=!1}selectActiveMatch(){this.selectMatch(this.activeOption)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-select"]],inputs:{searchFunction:"searchFunction",customTemplateOptions:"customTemplateOptions",customTemplateSelect:"customTemplateSelect",itemIcon:"itemIcon",allowClear:"allowClear",placeholder:"placeholder",idField:"idField",nameField:"nameField",descriptionField:"descriptionField",disabled:"disabled",active:"active"},outputs:{data:"data",selected:"selected",removed:"removed",typed:"typed",opened:"opened"},features:[X([{provide:te,useExisting:I(()=>n),multi:!0}])],decls:9,vars:5,consts:[["DefaultSelect",""],["DefaultOptions",""],[1,"ui-select-container","dropdown","open",3,"keyup","offClick"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"disabled"],[1,"ui-select-match","form-control","form-control-sm"],["role","menu",1,"ui-select-choices","dropdown-menu"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"keydown","keyup","disabled"],["tabindex","-1",1,"ui-select-toggle","no-select",2,"outline","0",3,"click"],[1,"ui-select-match-text","w-100",3,"ui-select-allow-clear"],[1,"ui-select-placeholder"],["aria-label","close","type","button",1,"btn-close"],[1,"dropdown-toggle"],[1,"ui-select-match-text","w-100"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-label","close","type","button",1,"btn-close",3,"click"],["role","menuitem"],[1,"ui-select-choices-row",3,"click","mouseenter"],[1,"d-flex","align-items-center"],[1,"ui-icon","circle-primary-icon","me-2"],[3,"icon","fixedWidth"],[1,"d-flex","ms-auto","me-4","fs-xxxs","text-muted"],["href","javascript:void(0)",1,"dropdown-item","cursor-pointer",2,"padding","3px 5px"],[3,"innerHtml"],[1,"d-flex","ms-auto","fs-xxxs","text-muted",3,"innerHtml"]],template:function(t,o){if(t&1){let p=b();l(0,"div",2),h("keyup",function(Oe){return C(p),v(o.mainClick(Oe))}),_(1,"div"),f(2,Fe,1,1,"input",3)(3,je,6,2,"div",4),f(4,Le,3,0,"ul",5),a(),w(5,Re,7,4,"ng-template",null,0,j)(7,Ie,8,10,"ng-template",null,1,j)}t&2&&(d("offClick",o.clickedOutside),r(),y("ui-disabled",o.disabled),r(),g(o.inputMode?2:3),r(2),g(o.optionsOpened&&o.options&&o.options.length>0?4:-1))},dependencies:[xe,P,Y,Ce],styles:[`.ui-select-container[_ngcontent-%COMP%]{background-color:transparent;border-radius:4px}.ui-select-container.open[_ngcontent-%COMP%] > .dropdown-menu[_ngcontent-%COMP%]{display:block}.ui-select-container.open[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{outline:none}.ui-select-container[_ngcontent-%COMP%] .ui-icon[_ngcontent-%COMP%]{min-width:26px;min-height:26px;font-size:.85rem}.ui-select-container[_ngcontent-%COMP%] .ui-disabled[_ngcontent-%COMP%]{background-color:#d4dbe8;border-radius:4px;position:absolute;width:100%;height:100%;z-index:5;opacity:.6;top:0;left:0;cursor:not-allowed}.ui-select-container[_ngcontent-%COMP%] .ui-select-search[_ngcontent-%COMP%]{line-height:26px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%]{padding-left:.3rem}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{text-align:start!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{position:absolute;top:45%;right:15px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{font-size:1.6em;line-height:.75}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%]{display:flex;align-items:center}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%] > .caret[_ngcontent-%COMP%]{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-placeholder[_ngcontent-%COMP%]{float:left;line-height:26px;color:#8c8c8c;width:100%}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]{cursor:pointer}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:inline-block!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%]{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{text-decoration:none;outline:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{pointer-events:none}
2
2
 
3
3
 
4
4
 
@@ -1 +1 @@
1
- import{a as Ct}from"./chunk-2OSA27SE.js";import{a as gt,b as R,c as vt}from"./chunk-ZEZVOO4G.js";import{a as Q,b as Fe,c as ot,e as oe}from"./chunk-YQGJX5R7.js";import{a as ht}from"./chunk-ZJDBESQA.js";import{d as be}from"./chunk-ESSY62VJ.js";import"./chunk-JXZCNFW7.js";import{a as _t}from"./chunk-GW5AVRYT.js";import{a as ne,b as xe,c as Se,d as we,f as Te,i as Ae}from"./chunk-BOIXDTUT.js";import{a as ke,b as Ie,c as ut,d as ft}from"./chunk-AS7H5UIO.js";import{a as K,b as ye}from"./chunk-MLLPT7BU.js";import"./chunk-W4LKCEBR.js";import{g as dt}from"./chunk-6HV65OKG.js";import{K as it,L as X,N as nt,R as ve,Xa as pt,pa as at,qa as rt,ra as st,ua as lt,v as qe,va as mt,wa as ct,xb as z}from"./chunk-55WOZ7P6.js";import{b as Re,d as Le}from"./chunk-J6YSVODR.js";import{$a as Pe,$c as Z,Ad as $e,Bf as Ze,Cb as f,Eb as p,Ed as ie,Ee as Ke,Fc as pe,Fd as G,Ga as J,Gc as Ge,Gd as je,Ge as Ce,Ib as re,If as et,Jb as se,Kb as le,L as W,Ma as r,Mb as De,Nb as E,Ob as U,Pb as m,Pf as he,Qb as v,Qd as He,Rb as A,Sb as O,Ue as We,Uf as tt,Xa as N,Xb as P,Yb as Me,Zc as M,_a as me,ab as k,ad as de,ae as Qe,bb as ce,bf as Xe,cd as F,dc as h,ec as w,ed as B,fc as D,fd as $,gd as ee,ha as S,id as y,jb as g,jd as Oe,kb as C,lb as Y,ma as b,na as x,nb as I,nd as q,ob as V,od as te,pb as c,pd as ue,pe as ze,qb as n,qd as fe,rb as o,rd as _e,sb as u,wd as Be,wf as Je,xd as j,xe as ge,yd as H,zb as L,zf as Ye}from"./chunk-JQOMI5VI.js";import"./chunk-RTRJ3KFH.js";function Tt(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faPen),r(2),v(i.guest.fullName)}}function At(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=p();c("icon",i.icons.faPlus)}}function Et(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Ut(e,a){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Dt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Ft(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.guestForm.value.password)}}function kt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function It(e,a){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Vt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),r(3),O("",w(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Nt(e,a){e&1&&(n(0,"span",37),m(1,"never"),o())}function Pt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,Vt,6,8)(12,Nt,2,0,"span",37),o()()()),e&2){let i=p();r(5),v(w(6,2,i.guest.createdAt)),r(6),C(i.guest.lastAccess?11:12)}}function Mt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsersGear),r(4),A("(",i.guestForm.value.managers.length||0,")")}}function Gt(e,a){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function Rt(e,a){if(e&1){let i=L();n(0,"button",52),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ve=(()=>{let a=class a extends Ct{constructor(){super(),this.adminService=S(R)}searchMembers(s){let l={search:s,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:X.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){if(this.submitted=!0,this.confirmDeletion)this.adminService.deleteUser(this.guest.id,null,!0).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:s=>this.onError(s)});else if(!this.guest)this.adminService.createUser(this.makeDto(!0),!0).subscribe({next:s=>{this.guestChange.emit(["add",s]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)});else{let s=this.makeDto();if(!Object.keys(s).length){this.loading=!1,this.submitted=!1;return}this.adminService.updateUser(this.guest.id,s,!0).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)})}}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-guest-dialog"]],features:[Pe],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,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Tt,3,2)(3,At,3,1),g(4,Et,1,1,"fa-icon",2),o(),g(5,Ut,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,Dt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Ft,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,kt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),I(56,It,2,2,"option",34,Y),o()()(),g(58,Pt,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),k(60,Mt,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,Gt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,Rt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(r(2),C(t.guest?2:3),r(2),C(t.loading?4:-1),r(),C(t.guest?5:-1),r(),U(P("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.guestForm),r(),c("justified",!0),r(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.guestForm.controls.email.invalid),r(5),E("is-invalid",t.guestForm.controls.firstName.invalid),r(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(9),E("text-danger",!t.guestForm.value.isActive),r(),A(" ",w(51,38,D(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),r(7),V(t.allNotifications),r(2),C(t.guest?58:-1),r(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),r(),C(t.guestForm.value.managers.length?-1:63),r(2),C(t.guest!=null&&t.guest.id?65:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,Te,Ae,xe,Se,we,ne,ie,pe],encapsulation:2});let e=a;return e})();function Ot(e,a){e&1&&(n(0,"h4",3)(1,"span",13),m(2,"Impersonate identity"),o()())}var bt=(()=>{let a=class a{constructor(){this.locale=S(H),this.layout=S(z),this.submitted=!1,this.icons={faUserSecret:he},this.passwordMinLength=8,this.impersonateUserForm=new ee({password:new y("",F.required)}),this.adminService=S(R)}onSubmit(){this.submitted=!0,this.adminService.impersonateUser(this.user.id,{password:this.impersonateUserForm.value.password}).subscribe({next:s=>{this.layout.closeDialog(),setTimeout(()=>this.adminService.initImpersonateUser(s),500)},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Impersonate identity",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-impersonate-user-dialog"]],inputs:{user:"user"},decls:19,vars:16,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","passwordMinLength","isRequired","focus"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"],["l10nTranslate",""]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Ot,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o()(),n(13,"app-input-password",9),f("passwordChange",function(_){return t.impersonateUserForm.controls.password.setValue(_)}),o()(),n(14,"div",10)(15,"button",11),f("click",function(){return t.layout.closeDialog()}),m(16,"Cancel"),o(),n(17,"button",12),f("click",function(){return t.onSubmit()}),m(18," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserSecret),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.impersonateUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,14,t.user.login)),r(2),c("password",t.impersonateUserForm.value.password)("passwordMinLength",t.passwordMinLength)("isRequired",!0)("focus",!0),r(4),c("disabled",t.impersonateUserForm.invalid||t.submitted))},dependencies:[M,G,j,$,q,K,oe],encapsulation:2});let e=a;return e})();var xt=(()=>{let a=class a{constructor(){this.translate=S($e)}transform(s,l=!1,t=null,d=", "){return s.length?(t?s.map(T=>T[t]):s.concat()).sort().map(T=>new oe().transform(l?this.translate.translate(T):T)).join(d):""}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"join",type:a,pure:!0});let e=a;return e})();var St=(()=>{let a=class a{transform(s,l=","){return s?.length?s.split(l):[]}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"split",type:a,pure:!0});let e=a;return e})();function Bt(e,a){e&1&&(n(0,"h4",3)(1,"span",9),m(2,"Delete user"),o()())}var wt=(()=>{let a=class a{constructor(){this.wasDeleted=new ce,this.locale=S(H),this.submitted=!1,this.icons={faUserMinus:Je},this.deleteUserForm=new ee({adminPassword:new y("",F.required),deleteSpace:new y(!1)}),this.layout=S(z),this.adminService=S(R)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.adminService.deleteUser(this.user.id,{adminPassword:this.deleteUserForm.value.adminPassword,deleteSpace:this.deleteUserForm.value.deleteSpace}).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:27,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["l10nTranslate",""],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","isRequired","focus"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["formControlName","deleteSpace","id","deleteSpace","type","checkbox",1,"form-check-input"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Bt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o(),n(13,"span",9),m(14,"will be permanently removed"),o()(),n(15,"app-input-password",10),f("passwordChange",function(_){return t.deleteUserForm.controls.adminPassword.setValue(_)}),o(),n(16,"div",11)(17,"div",12)(18,"label",13),u(19,"input",14),n(20,"span",9),m(21,"Delete all user files"),o()()()()(),n(22,"div",15)(23,"button",16),f("click",function(){return t.onClose()}),m(24,"Cancel"),o(),n(25,"button",17),f("click",function(){return t.onSubmit()}),m(26," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserMinus),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.deleteUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,13,t.user.login)),r(4),c("password",t.deleteUserForm.value.adminPassword)("isRequired",!0)("focus",!0),r(10),c("disabled",t.deleteUserForm.invalid||t.submitted))},dependencies:[M,G,j,Z,B,$,q,te,K,oe],encapsulation:2});let e=a;return e})();var $t=(e,a)=>a.id;function qt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faUserPen),r(2),v(i.user.fullName)}}function jt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=p();c("icon",i.icons.faUserPlus)}}function Ht(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Qt(e,a){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function zt(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Kt(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.userForm.value.password)}}function Wt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function Xt(e,a){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Jt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),u(5,"div",15),o()),e&2){let i=p();r(4),c("item",i.user)}}function Yt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.user.currentAccess)," - ",i.user.currentIp),r(3),O("",w(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function Zt(e,a){e&1&&(n(0,"span",57),m(1,"never"),o())}function ei(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",52),m(3,"Creation date"),o(),n(4,"div",53),m(5),h(6,"amDateFormat"),o()(),n(7,"div",54)(8,"label",55),m(9,"Last accesses"),o(),n(10,"div",56),g(11,Yt,6,8)(12,Zt,2,0,"span",57),o()()()),e&2){let i=p();r(5),v(w(6,2,i.user.createdAt)),r(6),C(i.user.lastAccess?11:12)}}function ti(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=p();c("icon",i.icons.faShieldHalved)}}function ii(e,a){if(e&1&&(n(0,"div",60)(1,"div",61),u(2,"fa-icon",62),n(3,"span"),m(4),o()(),n(5,"div",63),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=p().$implicit,s=p(2);r(2),c("icon",s.icons.GROUPS),r(2),v(i.name),r(2),v(D(8,5,w(7,3,i.permissions),!0))}}function ni(e,a){if(e&1&&g(0,ii,9,8,"div",60),e&2){let i=a.$implicit;C(i.permissions?0:-1)}}function oi(e,a){if(e&1&&(n(0,"div",32)(1,"label",58),m(2,"Permissions inherited from groups"),o(),n(3,"div",59),I(4,ni,1,1,null,null,$t),o()()),e&2){let i=p();r(4),V(i.userForm.value.groups)}}function ai(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",64),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsers),r(4),A("(",i.userForm.value.groups.length||0,")")}}function ri(e,a){if(e&1){let i=L();n(0,"button",65),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ne=(()=>{let a=class a{constructor(){this.user=null,this.userChange=new ce,this.locale=S(H),this.layout=S(z),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:lt.GROUPS,faUserPlus:Ce,faUserPen:ge,faSpinner:Xe,faAddressCard:Ke,faUsers:ze,faShieldHalved:Ze},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(mt),this.languages=this.layout.getLanguages(!0),this.adminService=S(R)}ngOnInit(){this.userForm=new ee({login:new y(this.user?.login||"",[F.required,F.pattern(it)]),email:new y(this.user?.email||"",[F.required,F.maxLength(255),F.email]),firstName:new y(this.user?.firstName||"",[F.required,F.maxLength(255)]),lastName:new y(this.user?.lastName||"",F.maxLength(255)),password:new y(this.user?this.defaultPassword:"",F.maxLength(255)),language:new y(this.user?.language||null),notification:new y(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new y(this.user?this.user.isActive:!0),isAdmin:new y(this.user?this.user.isAdmin:!1),storageQuota:new y(this.user?.storageQuota||null),groups:new y(this.user?.groups||[]),applications:new y(this.user?.applications||[])})}searchMembers(s){let l={search:s,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(s){this.userForm.controls.applications.setValue(s),this.userForm.controls.applications.markAsDirty()}updatePassword(s){this.userForm.controls.password.setValue(s),this.userForm.controls.password.markAsDirty()}updateMembers(s){this.userForm.controls.groups.setValue(s),this.userForm.controls.groups.markAsDirty()}updateQuota(s){this.userForm.controls.storageQuota.setValue(s),this.userForm.controls.storageQuota.markAsDirty()}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.confirmDeletion?this.layout.openDialog(wt,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(W(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)}):this.user?this.adminService.updateUser(this.user.id,this.makeDto()).subscribe({next:s=>{this.userChange.emit(["update",s]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)}):this.adminService.createUser(this.makeDto(!0)).subscribe({next:s=>{this.userChange.emit(["add",s]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)})}makeDto(s=!1){let l={};if(s)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ct?null:l[t];break;case"isAdmin":l.role=l[t]?X.ADMINISTRATOR:X.USER;break;case"applications":l.permissions=l[t].join(nt);break;case"groups":l[t]=l[t].map(d=>d.id);break}return l}onError(s){this.layout.sendNotification("error","Group error",this.userForm.value.login,s),this.submitted=!1}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,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"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[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"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["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,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,qt,3,2)(3,jt,3,1),g(4,Ht,1,1,"fa-icon",2),o(),g(5,Qt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,zt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Kt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,Wt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),I(48,Xt,2,2,"option",30,Y),o()()(),g(50,Jt,6,1,"div",11),o(),g(51,ei,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),k(53,ti,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,oi,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),k(73,ai,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,ri,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(r(2),C(t.user?2:3),r(2),C(t.loading?4:-1),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.userForm),r(),c("justified",!0),r(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.userForm.controls.email.invalid),r(5),E("is-invalid",t.userForm.controls.firstName.invalid),r(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),r(5),V(t.allNotifications),r(2),C(t.user&&t.user.storageUsage?50:-1),r(),C(t.user?51:-1),r(10),E("text-danger",!t.userForm.value.isActive),r(),A(" ",w(64,42,D(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),r(8),c("permissions",t.userForm.value.applications),r(),C(t.userForm.value.groups.length?71:-1),r(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),r(2),C(t.user!=null&&t.user.id?77:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,Se,we,xe,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,be,ht,Ae,Te,vt,pe,ie,St,xt,ne],encapsulation:2});let e=a;return e})();var si=["MainContextMenu"],li=["TargetContextMenu"],yt=(e,a)=>a.key,mi=(e,a)=>a.id,ci=(e,a)=>a.mid;function pi(e,a){if(e&1&&u(0,"fa-icon",24),e&2){let i=p(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function di(e,a){if(e&1){let i=L();n(0,"th",23),f("click",function(){b(i);let l=p().$implicit,t=p();return x(t.sortBy(l.key))}),m(1),g(2,pi,1,2,"fa-icon",24),o()}if(e&2){let i=p().$implicit,s=p();U(i.value.class),De("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),r(),A(" ",i.value.label," "),r(),C(s.sortTable.sortParam.column===i.key?2:-1)}}function ui(e,a){if(e&1&&g(0,di,3,10,"th",22),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function fi(e,a){if(e&1&&u(0,"fa-icon",32),e&2){let i=p(5);c("icon",i.icons.faKey)}}function _i(e,a){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,fi,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=p(3).$implicit;r(),c("src",i.avatarUrl,J),r(3),A(" ",i.login," "),r(),C(i.isAdmin?5:-1),r(2),v(i.email)}}function gi(e,a){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=p(4).$implicit;r(),v(i.userRoleText)}}function Ci(e,a){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,gi,2,1,"span",34),o()),e&2){let i=p(3).$implicit;r(2),v(i.fullName),r(),C(i.isAdmin?3:-1)}}function hi(e,a){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=a.$implicit;c("user",i)("isMember",!0)}}function vi(e,a){if(e&1&&I(0,hi,1,2,"app-user-avatar",35,ci),e&2){let i=p(3).$implicit;V(i.managers)}}function bi(e,a){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=p(4).$implicit;c("item",i)}}function xi(e,a){if(e&1&&g(0,bi,1,1,"app-storage-usage",36),e&2){let i=p(3).$implicit;C(i.storageUsage?0:-1)}}function Si(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=p(3).$implicit;r(2),v(i.currentIp),r(2),v(i.lastIp)}}function wi(e,a){e&1&&m(0," too many login attempts ")}function yi(e,a){if(e&1&&m(0),e&2){let i=p(4).$implicit;A(" ",i.userIsActiveText," ")}}function Ti(e,a){if(e&1&&(n(0,"span",11),g(1,wi,1,0)(2,yi,1,1),o()),e&2){let i=p(3).$implicit;U(i.isActive?"text-success":"text-danger"),r(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Ai(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=p(5).$implicit;r(2),v(w(3,2,i.currentAccess)),r(3),v(w(6,4,i.lastAccess))}}function Ei(e,a){if(e&1&&m(0),e&2){let i=p(5).$implicit;A(" ",i.hTimeAgo," ")}}function Ui(e,a){if(e&1){let i=L();n(0,"div",38),f("mouseover",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("focus",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("mouseleave",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!1)}),g(1,Ai,7,6,"div",28)(2,Ei,1,1),o()}if(e&2){let i=p(4).$implicit;r(),C(i.currentAccessHover?1:2)}}function Di(e,a){e&1&&(n(0,"span",11),m(1,"never"),o())}function Fi(e,a){if(e&1&&g(0,Ui,3,1,"div",37)(1,Di,2,0,"span",11),e&2){let i=p(3).$implicit;C(i.currentAccess?0:1)}}function ki(e,a){if(e&1&&(n(0,"td"),g(1,_i,8,4,"div",27)(2,Ci,4,2,"div",28)(3,vi,2,0)(4,xi,1,1)(5,Si,5,2,"div",28)(6,Ti,3,3,"span",29)(7,Fi,2,1),o()),e&2){let i,s=p().$implicit,l=p().$implicit;U(Me("",s.value.class," ",s.value.newly?"prop-newly-"+l[s.value.newly]:"")),De("width",s.value.width,"%"),E("text-align-center",s.value.textCenter),r(),C((i=s.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Ii(e,a){if(e&1&&g(0,ki,8,9,"td",26),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function Vi(e,a){if(e&1){let i=L();n(0,"tr",25),f("click",function(){let l=b(i).$implicit,t=p();return x(t.onSelect(l))})("contextmenu",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("pressup",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("tap",function(){b(i);let l=p();return x(l.openDialog())}),I(1,Ii,1,1,null,null,yt),h(3,"keyvalue"),o()}if(e&2){let i=a.$implicit,s=p();E("disabled",!i.isActive)("selected",i.id===(s.selected==null?null:s.selected.id)),r(),V(D(3,4,s.tableHeaders,s.originalOrderKeyValue))}}function Ni(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPlus),r(),A("New ",i.guestsView?"guest":"user")}}function Pi(e,a){}function Mi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=p();r(),c("icon",i.icons.faArrowRotateRight)}}function Gi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPen),r(),A("Edit ",i.guestsView?"guest":"user")}}function Ri(e,a){}function Li(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=p();r(),c("icon",i.icons.faUserSecret)}}var Lo=(()=>{let a=class a{constructor(){this.locale=S(H),this.originalOrderKeyValue=pt,this.icons={faRotate:je,faUserPlus:Ce,faUserPen:ge,faArrowDown:tt,faArrowUp:We,faKey:Qe,faUserSecret:he,faArrowRotateRight:et,faToggleOn:Ye,faToggleOff:He},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(Le),this.activatedRoute=S(Re),this.layout=S(z),this.adminService=S(R),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new ft(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(ot.USERS),this.activatedRoute.data.subscribe(s=>{this.guestsView=s.type===X.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:s=>{this.sortBy(this.sortTable.sortParam.column,!1,s),this.scrollView.scrollInto(-1),this.loading=!1},error:s=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",s),this.loading=!1}})}onSelect(s=null){this.selected=s}onGuestsView(s){this.guestsView=s,this.router.navigate([Q.BASE,s?Q.GUESTS:Q.USERS]).catch(console.error)}onContextMenu(s){s.preventDefault(),s.stopPropagation(),this.layout.openContextMenu(s,this.mainContextMenu)}onTargetContextMenu(s,l){s.preventDefault(),s.type==="contextmenu"&&s.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(s,this.targetContextMenu)}sortBy(s,l=!0,t){this.users=this.sortTable.sortBy(s,l,t||this.users)}openDialog(s=!1){this.guestsView?this.openGuestDialog(s):this.openUserDialog(s)}openUserDialog(s=!1){s?this.layout.openDialog(Ne,"md").content.userChange.pipe(W(1)).subscribe(t=>{let[d,_]=t;d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Ne,"md",{initialState:{user:l}}).content.userChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(s=!1){s?this.layout.openDialog(Ve,"md").content.guestChange.pipe(W(1)).subscribe(t=>{let[d,_]=t,T=new gt(_);d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,T]),this.onSelect(T))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Ve,"md",{initialState:{guest:l}}).content.guestChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){this.layout.openDialog(bt,"sm",{initialState:{user:this.selected}})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${Q.BASE}/${Q.GUESTS}/${Fe.GUESTS}`:`/${Q.BASE}/${Q.USERS}/${Fe.USERS}`,splicing:2,translating:!0,sameLink:!0})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(re(Ie,5),re(ke,7),re(si,7),re(li,7)),l&2){let d;se(d=le())&&(t.scrollView=d.first),se(d=le())&&(t.inputFilter=d.first),se(d=le())&&(t.mainContextMenu=d.first),se(d=le())&&(t.targetContextMenu=d.first)}},decls:47,vars:40,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"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["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","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let d=L();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return b(d),x(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return b(d),x(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return b(d),x(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return b(d),x(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(T){return b(d),x(t.onGuestsView(T))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),I(24,ui,1,1,null,null,yt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(T){return b(d),x(t.onContextMenu(T))}),n(29,"table",14)(30,"tbody",16),I(31,Vi,4,7,"tr",17,mi),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),k(39,Ni,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog(!0))}),k(40,Pi,0,0,"ng-template",21)(41,Mi,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),k(44,Gi,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog())}),k(45,Ri,0,0,"ng-template",21)(46,Li,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.impersonateIdentity())}),o()}l&2&&(r(),c("tooltip",D(2,19,"Refresh",t.locale.language)),r(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),r(),c("tooltip",D(5,22,t.guestsView?"New guest":"New user",t.locale.language)),r(2),c("icon",t.icons.faUserPlus),r(),c("disabled",!t.selected)("tooltip",D(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),r(2),c("icon",t.icons.faUserPen),r(),c("disabled",!t.selected)("tooltip",D(11,28,"Impersonate identity",t.locale.language)),r(2),c("icon",t.icons.faUserSecret),r(2),c("ngModel",t.guestsView),r(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),r(8),V(D(26,31,t.tableHeaders,t.originalOrderKeyValue)),r(3),c("bufferAmount",5)("items",D(28,34,t.users,t.inputFilter.search())),r(4),V(t.scrollView==null?null:t.scrollView.viewPortItems),r(4),O("",t.users.length," ",D(36,37,t.guestsView?"guests":"users",t.locale.language)),r(5),c("divider",!0),r(5),c("divider",!0))},dependencies:[M,ke,qe,G,Ie,be,st,rt,at,dt,Be,B,Oe,_t,ie,Ge,ut,ne],encapsulation:2});let e=a;return e})();export{Lo as AdminUsersComponent};
1
+ import{a as Ct}from"./chunk-PU26FIXJ.js";import{a as gt,b as R,c as vt}from"./chunk-KOYXXWT3.js";import{a as Q,b as Fe,c as ot,e as oe}from"./chunk-BMZK5PGX.js";import{a as ht}from"./chunk-USM4HKKT.js";import{d as be}from"./chunk-MGWJOK6G.js";import"./chunk-JXZCNFW7.js";import{a as _t}from"./chunk-ATROK3XR.js";import{a as ne,b as xe,c as Se,d as we,f as Te,i as Ae}from"./chunk-EUCMHS6F.js";import{a as ke,b as Ie,c as ut,d as ft}from"./chunk-ME4DNAIM.js";import{a as K,b as ye}from"./chunk-IYMU2AOQ.js";import"./chunk-E2MMQS3P.js";import{g as dt}from"./chunk-MAVDZOWK.js";import{K as it,L as X,N as nt,R as ve,Xa as pt,pa as at,qa as rt,ra as st,ua as lt,v as qe,va as mt,wa as ct,xb as z}from"./chunk-H3O3N5LY.js";import{b as Re,d as Le}from"./chunk-J6YSVODR.js";import{$a as Pe,$c as Z,Ad as $e,Bf as Ze,Cb as f,Eb as p,Ed as ie,Ee as Ke,Fc as pe,Fd as G,Ga as J,Gc as Ge,Gd as je,Ge as Ce,Ib as re,If as et,Jb as se,Kb as le,L as W,Ma as r,Mb as De,Nb as E,Ob as U,Pb as m,Pf as he,Qb as v,Qd as He,Rb as A,Sb as O,Ue as We,Uf as tt,Xa as N,Xb as P,Yb as Me,Zc as M,_a as me,ab as k,ad as de,ae as Qe,bb as ce,bf as Xe,cd as F,dc as h,ec as w,ed as B,fc as D,fd as $,gd as ee,ha as S,id as y,jb as g,jd as Oe,kb as C,lb as Y,ma as b,na as x,nb as I,nd as q,ob as V,od as te,pb as c,pd as ue,pe as ze,qb as n,qd as fe,rb as o,rd as _e,sb as u,wd as Be,wf as Je,xd as j,xe as ge,yd as H,zb as L,zf as Ye}from"./chunk-JQOMI5VI.js";import"./chunk-RTRJ3KFH.js";function Tt(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faPen),r(2),v(i.guest.fullName)}}function At(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=p();c("icon",i.icons.faPlus)}}function Et(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Ut(e,a){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Dt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Ft(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.guestForm.value.password)}}function kt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function It(e,a){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Vt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),r(3),O("",w(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Nt(e,a){e&1&&(n(0,"span",37),m(1,"never"),o())}function Pt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,Vt,6,8)(12,Nt,2,0,"span",37),o()()()),e&2){let i=p();r(5),v(w(6,2,i.guest.createdAt)),r(6),C(i.guest.lastAccess?11:12)}}function Mt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsersGear),r(4),A("(",i.guestForm.value.managers.length||0,")")}}function Gt(e,a){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function Rt(e,a){if(e&1){let i=L();n(0,"button",52),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ve=(()=>{let a=class a extends Ct{constructor(){super(),this.adminService=S(R)}searchMembers(s){let l={search:s,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:X.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){if(this.submitted=!0,this.confirmDeletion)this.adminService.deleteUser(this.guest.id,null,!0).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:s=>this.onError(s)});else if(!this.guest)this.adminService.createUser(this.makeDto(!0),!0).subscribe({next:s=>{this.guestChange.emit(["add",s]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)});else{let s=this.makeDto();if(!Object.keys(s).length){this.loading=!1,this.submitted=!1;return}this.adminService.updateUser(this.guest.id,s,!0).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)})}}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-guest-dialog"]],features:[Pe],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,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Tt,3,2)(3,At,3,1),g(4,Et,1,1,"fa-icon",2),o(),g(5,Ut,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,Dt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Ft,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,kt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),I(56,It,2,2,"option",34,Y),o()()(),g(58,Pt,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),k(60,Mt,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,Gt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,Rt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(r(2),C(t.guest?2:3),r(2),C(t.loading?4:-1),r(),C(t.guest?5:-1),r(),U(P("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.guestForm),r(),c("justified",!0),r(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.guestForm.controls.email.invalid),r(5),E("is-invalid",t.guestForm.controls.firstName.invalid),r(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(9),E("text-danger",!t.guestForm.value.isActive),r(),A(" ",w(51,38,D(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),r(7),V(t.allNotifications),r(2),C(t.guest?58:-1),r(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),r(),C(t.guestForm.value.managers.length?-1:63),r(2),C(t.guest!=null&&t.guest.id?65:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,Te,Ae,xe,Se,we,ne,ie,pe],encapsulation:2});let e=a;return e})();function Ot(e,a){e&1&&(n(0,"h4",3)(1,"span",13),m(2,"Impersonate identity"),o()())}var bt=(()=>{let a=class a{constructor(){this.locale=S(H),this.layout=S(z),this.submitted=!1,this.icons={faUserSecret:he},this.passwordMinLength=8,this.impersonateUserForm=new ee({password:new y("",F.required)}),this.adminService=S(R)}onSubmit(){this.submitted=!0,this.adminService.impersonateUser(this.user.id,{password:this.impersonateUserForm.value.password}).subscribe({next:s=>{this.layout.closeDialog(),setTimeout(()=>this.adminService.initImpersonateUser(s),500)},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Impersonate identity",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-impersonate-user-dialog"]],inputs:{user:"user"},decls:19,vars:16,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","passwordMinLength","isRequired","focus"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"],["l10nTranslate",""]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Ot,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o()(),n(13,"app-input-password",9),f("passwordChange",function(_){return t.impersonateUserForm.controls.password.setValue(_)}),o()(),n(14,"div",10)(15,"button",11),f("click",function(){return t.layout.closeDialog()}),m(16,"Cancel"),o(),n(17,"button",12),f("click",function(){return t.onSubmit()}),m(18," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserSecret),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.impersonateUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,14,t.user.login)),r(2),c("password",t.impersonateUserForm.value.password)("passwordMinLength",t.passwordMinLength)("isRequired",!0)("focus",!0),r(4),c("disabled",t.impersonateUserForm.invalid||t.submitted))},dependencies:[M,G,j,$,q,K,oe],encapsulation:2});let e=a;return e})();var xt=(()=>{let a=class a{constructor(){this.translate=S($e)}transform(s,l=!1,t=null,d=", "){return s.length?(t?s.map(T=>T[t]):s.concat()).sort().map(T=>new oe().transform(l?this.translate.translate(T):T)).join(d):""}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"join",type:a,pure:!0});let e=a;return e})();var St=(()=>{let a=class a{transform(s,l=","){return s?.length?s.split(l):[]}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"split",type:a,pure:!0});let e=a;return e})();function Bt(e,a){e&1&&(n(0,"h4",3)(1,"span",9),m(2,"Delete user"),o()())}var wt=(()=>{let a=class a{constructor(){this.wasDeleted=new ce,this.locale=S(H),this.submitted=!1,this.icons={faUserMinus:Je},this.deleteUserForm=new ee({adminPassword:new y("",F.required),deleteSpace:new y(!1)}),this.layout=S(z),this.adminService=S(R)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.adminService.deleteUser(this.user.id,{adminPassword:this.deleteUserForm.value.adminPassword,deleteSpace:this.deleteUserForm.value.deleteSpace}).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:27,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["l10nTranslate",""],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","isRequired","focus"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["formControlName","deleteSpace","id","deleteSpace","type","checkbox",1,"form-check-input"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Bt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o(),n(13,"span",9),m(14,"will be permanently removed"),o()(),n(15,"app-input-password",10),f("passwordChange",function(_){return t.deleteUserForm.controls.adminPassword.setValue(_)}),o(),n(16,"div",11)(17,"div",12)(18,"label",13),u(19,"input",14),n(20,"span",9),m(21,"Delete all user files"),o()()()()(),n(22,"div",15)(23,"button",16),f("click",function(){return t.onClose()}),m(24,"Cancel"),o(),n(25,"button",17),f("click",function(){return t.onSubmit()}),m(26," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserMinus),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.deleteUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,13,t.user.login)),r(4),c("password",t.deleteUserForm.value.adminPassword)("isRequired",!0)("focus",!0),r(10),c("disabled",t.deleteUserForm.invalid||t.submitted))},dependencies:[M,G,j,Z,B,$,q,te,K,oe],encapsulation:2});let e=a;return e})();var $t=(e,a)=>a.id;function qt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faUserPen),r(2),v(i.user.fullName)}}function jt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=p();c("icon",i.icons.faUserPlus)}}function Ht(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Qt(e,a){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function zt(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Kt(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.userForm.value.password)}}function Wt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function Xt(e,a){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Jt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),u(5,"div",15),o()),e&2){let i=p();r(4),c("item",i.user)}}function Yt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.user.currentAccess)," - ",i.user.currentIp),r(3),O("",w(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function Zt(e,a){e&1&&(n(0,"span",57),m(1,"never"),o())}function ei(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",52),m(3,"Creation date"),o(),n(4,"div",53),m(5),h(6,"amDateFormat"),o()(),n(7,"div",54)(8,"label",55),m(9,"Last accesses"),o(),n(10,"div",56),g(11,Yt,6,8)(12,Zt,2,0,"span",57),o()()()),e&2){let i=p();r(5),v(w(6,2,i.user.createdAt)),r(6),C(i.user.lastAccess?11:12)}}function ti(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=p();c("icon",i.icons.faShieldHalved)}}function ii(e,a){if(e&1&&(n(0,"div",60)(1,"div",61),u(2,"fa-icon",62),n(3,"span"),m(4),o()(),n(5,"div",63),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=p().$implicit,s=p(2);r(2),c("icon",s.icons.GROUPS),r(2),v(i.name),r(2),v(D(8,5,w(7,3,i.permissions),!0))}}function ni(e,a){if(e&1&&g(0,ii,9,8,"div",60),e&2){let i=a.$implicit;C(i.permissions?0:-1)}}function oi(e,a){if(e&1&&(n(0,"div",32)(1,"label",58),m(2,"Permissions inherited from groups"),o(),n(3,"div",59),I(4,ni,1,1,null,null,$t),o()()),e&2){let i=p();r(4),V(i.userForm.value.groups)}}function ai(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",64),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsers),r(4),A("(",i.userForm.value.groups.length||0,")")}}function ri(e,a){if(e&1){let i=L();n(0,"button",65),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ne=(()=>{let a=class a{constructor(){this.user=null,this.userChange=new ce,this.locale=S(H),this.layout=S(z),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:lt.GROUPS,faUserPlus:Ce,faUserPen:ge,faSpinner:Xe,faAddressCard:Ke,faUsers:ze,faShieldHalved:Ze},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(mt),this.languages=this.layout.getLanguages(!0),this.adminService=S(R)}ngOnInit(){this.userForm=new ee({login:new y(this.user?.login||"",[F.required,F.pattern(it)]),email:new y(this.user?.email||"",[F.required,F.maxLength(255),F.email]),firstName:new y(this.user?.firstName||"",[F.required,F.maxLength(255)]),lastName:new y(this.user?.lastName||"",F.maxLength(255)),password:new y(this.user?this.defaultPassword:"",F.maxLength(255)),language:new y(this.user?.language||null),notification:new y(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new y(this.user?this.user.isActive:!0),isAdmin:new y(this.user?this.user.isAdmin:!1),storageQuota:new y(this.user?.storageQuota||null),groups:new y(this.user?.groups||[]),applications:new y(this.user?.applications||[])})}searchMembers(s){let l={search:s,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(s){this.userForm.controls.applications.setValue(s),this.userForm.controls.applications.markAsDirty()}updatePassword(s){this.userForm.controls.password.setValue(s),this.userForm.controls.password.markAsDirty()}updateMembers(s){this.userForm.controls.groups.setValue(s),this.userForm.controls.groups.markAsDirty()}updateQuota(s){this.userForm.controls.storageQuota.setValue(s),this.userForm.controls.storageQuota.markAsDirty()}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.confirmDeletion?this.layout.openDialog(wt,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(W(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)}):this.user?this.adminService.updateUser(this.user.id,this.makeDto()).subscribe({next:s=>{this.userChange.emit(["update",s]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)}):this.adminService.createUser(this.makeDto(!0)).subscribe({next:s=>{this.userChange.emit(["add",s]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)})}makeDto(s=!1){let l={};if(s)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ct?null:l[t];break;case"isAdmin":l.role=l[t]?X.ADMINISTRATOR:X.USER;break;case"applications":l.permissions=l[t].join(nt);break;case"groups":l[t]=l[t].map(d=>d.id);break}return l}onError(s){this.layout.sendNotification("error","Group error",this.userForm.value.login,s),this.submitted=!1}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,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"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[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"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["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,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,qt,3,2)(3,jt,3,1),g(4,Ht,1,1,"fa-icon",2),o(),g(5,Qt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,zt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Kt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,Wt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),I(48,Xt,2,2,"option",30,Y),o()()(),g(50,Jt,6,1,"div",11),o(),g(51,ei,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),k(53,ti,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,oi,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),k(73,ai,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,ri,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(r(2),C(t.user?2:3),r(2),C(t.loading?4:-1),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.userForm),r(),c("justified",!0),r(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.userForm.controls.email.invalid),r(5),E("is-invalid",t.userForm.controls.firstName.invalid),r(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),r(5),V(t.allNotifications),r(2),C(t.user&&t.user.storageUsage?50:-1),r(),C(t.user?51:-1),r(10),E("text-danger",!t.userForm.value.isActive),r(),A(" ",w(64,42,D(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),r(8),c("permissions",t.userForm.value.applications),r(),C(t.userForm.value.groups.length?71:-1),r(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),r(2),C(t.user!=null&&t.user.id?77:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,Se,we,xe,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,be,ht,Ae,Te,vt,pe,ie,St,xt,ne],encapsulation:2});let e=a;return e})();var si=["MainContextMenu"],li=["TargetContextMenu"],yt=(e,a)=>a.key,mi=(e,a)=>a.id,ci=(e,a)=>a.mid;function pi(e,a){if(e&1&&u(0,"fa-icon",24),e&2){let i=p(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function di(e,a){if(e&1){let i=L();n(0,"th",23),f("click",function(){b(i);let l=p().$implicit,t=p();return x(t.sortBy(l.key))}),m(1),g(2,pi,1,2,"fa-icon",24),o()}if(e&2){let i=p().$implicit,s=p();U(i.value.class),De("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),r(),A(" ",i.value.label," "),r(),C(s.sortTable.sortParam.column===i.key?2:-1)}}function ui(e,a){if(e&1&&g(0,di,3,10,"th",22),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function fi(e,a){if(e&1&&u(0,"fa-icon",32),e&2){let i=p(5);c("icon",i.icons.faKey)}}function _i(e,a){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,fi,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=p(3).$implicit;r(),c("src",i.avatarUrl,J),r(3),A(" ",i.login," "),r(),C(i.isAdmin?5:-1),r(2),v(i.email)}}function gi(e,a){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=p(4).$implicit;r(),v(i.userRoleText)}}function Ci(e,a){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,gi,2,1,"span",34),o()),e&2){let i=p(3).$implicit;r(2),v(i.fullName),r(),C(i.isAdmin?3:-1)}}function hi(e,a){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=a.$implicit;c("user",i)("isMember",!0)}}function vi(e,a){if(e&1&&I(0,hi,1,2,"app-user-avatar",35,ci),e&2){let i=p(3).$implicit;V(i.managers)}}function bi(e,a){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=p(4).$implicit;c("item",i)}}function xi(e,a){if(e&1&&g(0,bi,1,1,"app-storage-usage",36),e&2){let i=p(3).$implicit;C(i.storageUsage?0:-1)}}function Si(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=p(3).$implicit;r(2),v(i.currentIp),r(2),v(i.lastIp)}}function wi(e,a){e&1&&m(0," too many login attempts ")}function yi(e,a){if(e&1&&m(0),e&2){let i=p(4).$implicit;A(" ",i.userIsActiveText," ")}}function Ti(e,a){if(e&1&&(n(0,"span",11),g(1,wi,1,0)(2,yi,1,1),o()),e&2){let i=p(3).$implicit;U(i.isActive?"text-success":"text-danger"),r(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Ai(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=p(5).$implicit;r(2),v(w(3,2,i.currentAccess)),r(3),v(w(6,4,i.lastAccess))}}function Ei(e,a){if(e&1&&m(0),e&2){let i=p(5).$implicit;A(" ",i.hTimeAgo," ")}}function Ui(e,a){if(e&1){let i=L();n(0,"div",38),f("mouseover",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("focus",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("mouseleave",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!1)}),g(1,Ai,7,6,"div",28)(2,Ei,1,1),o()}if(e&2){let i=p(4).$implicit;r(),C(i.currentAccessHover?1:2)}}function Di(e,a){e&1&&(n(0,"span",11),m(1,"never"),o())}function Fi(e,a){if(e&1&&g(0,Ui,3,1,"div",37)(1,Di,2,0,"span",11),e&2){let i=p(3).$implicit;C(i.currentAccess?0:1)}}function ki(e,a){if(e&1&&(n(0,"td"),g(1,_i,8,4,"div",27)(2,Ci,4,2,"div",28)(3,vi,2,0)(4,xi,1,1)(5,Si,5,2,"div",28)(6,Ti,3,3,"span",29)(7,Fi,2,1),o()),e&2){let i,s=p().$implicit,l=p().$implicit;U(Me("",s.value.class," ",s.value.newly?"prop-newly-"+l[s.value.newly]:"")),De("width",s.value.width,"%"),E("text-align-center",s.value.textCenter),r(),C((i=s.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Ii(e,a){if(e&1&&g(0,ki,8,9,"td",26),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function Vi(e,a){if(e&1){let i=L();n(0,"tr",25),f("click",function(){let l=b(i).$implicit,t=p();return x(t.onSelect(l))})("contextmenu",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("pressup",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("tap",function(){b(i);let l=p();return x(l.openDialog())}),I(1,Ii,1,1,null,null,yt),h(3,"keyvalue"),o()}if(e&2){let i=a.$implicit,s=p();E("disabled",!i.isActive)("selected",i.id===(s.selected==null?null:s.selected.id)),r(),V(D(3,4,s.tableHeaders,s.originalOrderKeyValue))}}function Ni(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPlus),r(),A("New ",i.guestsView?"guest":"user")}}function Pi(e,a){}function Mi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=p();r(),c("icon",i.icons.faArrowRotateRight)}}function Gi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPen),r(),A("Edit ",i.guestsView?"guest":"user")}}function Ri(e,a){}function Li(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=p();r(),c("icon",i.icons.faUserSecret)}}var Lo=(()=>{let a=class a{constructor(){this.locale=S(H),this.originalOrderKeyValue=pt,this.icons={faRotate:je,faUserPlus:Ce,faUserPen:ge,faArrowDown:tt,faArrowUp:We,faKey:Qe,faUserSecret:he,faArrowRotateRight:et,faToggleOn:Ye,faToggleOff:He},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(Le),this.activatedRoute=S(Re),this.layout=S(z),this.adminService=S(R),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new ft(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(ot.USERS),this.activatedRoute.data.subscribe(s=>{this.guestsView=s.type===X.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:s=>{this.sortBy(this.sortTable.sortParam.column,!1,s),this.scrollView.scrollInto(-1),this.loading=!1},error:s=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",s),this.loading=!1}})}onSelect(s=null){this.selected=s}onGuestsView(s){this.guestsView=s,this.router.navigate([Q.BASE,s?Q.GUESTS:Q.USERS]).catch(console.error)}onContextMenu(s){s.preventDefault(),s.stopPropagation(),this.layout.openContextMenu(s,this.mainContextMenu)}onTargetContextMenu(s,l){s.preventDefault(),s.type==="contextmenu"&&s.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(s,this.targetContextMenu)}sortBy(s,l=!0,t){this.users=this.sortTable.sortBy(s,l,t||this.users)}openDialog(s=!1){this.guestsView?this.openGuestDialog(s):this.openUserDialog(s)}openUserDialog(s=!1){s?this.layout.openDialog(Ne,"md").content.userChange.pipe(W(1)).subscribe(t=>{let[d,_]=t;d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Ne,"md",{initialState:{user:l}}).content.userChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(s=!1){s?this.layout.openDialog(Ve,"md").content.guestChange.pipe(W(1)).subscribe(t=>{let[d,_]=t,T=new gt(_);d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,T]),this.onSelect(T))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Ve,"md",{initialState:{guest:l}}).content.guestChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){this.layout.openDialog(bt,"sm",{initialState:{user:this.selected}})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${Q.BASE}/${Q.GUESTS}/${Fe.GUESTS}`:`/${Q.BASE}/${Q.USERS}/${Fe.USERS}`,splicing:2,translating:!0,sameLink:!0})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(re(Ie,5),re(ke,7),re(si,7),re(li,7)),l&2){let d;se(d=le())&&(t.scrollView=d.first),se(d=le())&&(t.inputFilter=d.first),se(d=le())&&(t.mainContextMenu=d.first),se(d=le())&&(t.targetContextMenu=d.first)}},decls:47,vars:40,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"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["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","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let d=L();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return b(d),x(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return b(d),x(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return b(d),x(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return b(d),x(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(T){return b(d),x(t.onGuestsView(T))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),I(24,ui,1,1,null,null,yt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(T){return b(d),x(t.onContextMenu(T))}),n(29,"table",14)(30,"tbody",16),I(31,Vi,4,7,"tr",17,mi),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),k(39,Ni,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog(!0))}),k(40,Pi,0,0,"ng-template",21)(41,Mi,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),k(44,Gi,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog())}),k(45,Ri,0,0,"ng-template",21)(46,Li,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.impersonateIdentity())}),o()}l&2&&(r(),c("tooltip",D(2,19,"Refresh",t.locale.language)),r(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),r(),c("tooltip",D(5,22,t.guestsView?"New guest":"New user",t.locale.language)),r(2),c("icon",t.icons.faUserPlus),r(),c("disabled",!t.selected)("tooltip",D(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),r(2),c("icon",t.icons.faUserPen),r(),c("disabled",!t.selected)("tooltip",D(11,28,"Impersonate identity",t.locale.language)),r(2),c("icon",t.icons.faUserSecret),r(2),c("ngModel",t.guestsView),r(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),r(8),V(D(26,31,t.tableHeaders,t.originalOrderKeyValue)),r(3),c("bufferAmount",5)("items",D(28,34,t.users,t.inputFilter.search())),r(4),V(t.scrollView==null?null:t.scrollView.viewPortItems),r(4),O("",t.users.length," ",D(36,37,t.guestsView?"guests":"users",t.locale.language)),r(5),c("divider",!0),r(5),c("divider",!0))},dependencies:[M,ke,qe,G,Ie,be,st,rt,at,dt,Be,B,Oe,_t,ie,Ge,ut,ne],encapsulation:2});let e=a;return e})();export{Lo as AdminUsersComponent};
@@ -1 +1 @@
1
- import{x as xe,z as Se}from"./chunk-WWKXW4MM.js";import{a as be}from"./chunk-GW5AVRYT.js";import{h as ge}from"./chunk-BOIXDTUT.js";import{g as Ce}from"./chunk-2PQGH3LQ.js";import{g as fe,h as _e}from"./chunk-6HV65OKG.js";import{Da as ce,Ib as de,Kb as ue,Qb as he,Xa as pe,bb as y,v as te,w as ie,xb as me,ya as le}from"./chunk-55WOZ7P6.js";import{Cb as h,Eb as l,Ed as Z,Fd as ee,Ga as V,Gc as Q,Gf as re,Ib as $,Jb as L,Kb as W,L as j,Ma as s,Nb as I,Ob as M,Pb as d,Qa as N,Qb as g,Tb as K,Ub as H,Vb as X,Xa as R,Xb as k,Za as U,Zc as F,bb as P,bf as ne,dc as C,ec as q,ed as z,f as A,fc as x,ha as f,jb as _,jd as Y,kb as b,kf as oe,ma as S,na as v,nb as T,ob as w,of as ae,pb as p,qb as r,rb as c,sb as m,vf as se,wd as G,ya as B,yd as J,zb as E}from"./chunk-JQOMI5VI.js";import{a as O,b as D}from"./chunk-RTRJ3KFH.js";var ye=(()=>{let a=class a{constructor(){this.inputField="name",this.fullWidth=!1,this.textCenter=!1,this.disableOnBlur=!0,this.disableFocus=!1,this.disableKeyboard=!1,this.updateObject=new P(!0),this.renamingInProgress=new P(!0),this.elementRef=f(B),this.renderer=f(N),this.dangerColor="#dd4b39",this.primaryColor="#3c8dbc"}ngOnInit(){this.initStyles(),this.renamingInProgress.emit(!0),this.elementRef.nativeElement.value=this.inputObject[this.inputField],setTimeout(()=>{this.setParentDraggable("false"),this.disableFocus||(this.elementRef.nativeElement.focus(),this.elementRef.nativeElement.select())},5)}onBlur(){this.disableOnBlur&&this.disableEdit()}onEnter(){this.disableKeyboard||(this.elementRef.nativeElement.value?this.elementRef.nativeElement.value===this.inputObject[this.inputField]?(this.setCorrectForm(),this.disableEdit()):(this.setCorrectForm(),this.updateObject.next({object:this.inputObject,name:this.elementRef.nativeElement.value}),this.disableEdit()):this.setIncorrectForm())}onEscape(){this.disableKeyboard||this.disableEdit()}initStyles(){this.renderer.setStyle(this.elementRef.nativeElement,"display","inline"),this.renderer.setStyle(this.elementRef.nativeElement,"height","100%"),this.renderer.setStyle(this.elementRef.nativeElement,"min-height","20px"),this.renderer.addClass(this.elementRef.nativeElement,"form-control"),this.renderer.addClass(this.elementRef.nativeElement,"form-control-sm"),this.textCenter?(this.renderer.addClass(this.elementRef.nativeElement,"text-center"),this.renderer.setStyle(this.elementRef.nativeElement,"padding","0")):this.renderer.setStyle(this.elementRef.nativeElement,"padding","2px"),this.fullWidth?this.renderer.addClass(this.elementRef.nativeElement,"w-100"):this.renderer.addClass(this.elementRef.nativeElement,"w-75")}setIncorrectForm(){this.renderer.addClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.dangerColor)}setCorrectForm(){this.renderer.removeClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.primaryColor)}disableEdit(){this.setParentDraggable("true"),this.renamingInProgress.emit(!1),setTimeout(()=>this.inputObject.isRenamed=!1,100)}setParentDraggable(e){this.renderer.setAttribute(this.elementRef.nativeElement.parentElement,"draggable",e)}};a.\u0275fac=function(t){return new(t||a)},a.\u0275dir=U({type:a,selectors:[["","appInputEdit",""]],hostBindings:function(t,o){t&1&&h("blur",function(){return o.onBlur()})("keyup.enter",function(){return o.onEnter()})("keyup.esc",function(){return o.onEscape()})},inputs:{inputObject:"inputObject",inputField:"inputField",fullWidth:"fullWidth",textCenter:"textCenter",disableOnBlur:"disableOnBlur",disableFocus:"disableFocus",disableKeyboard:"disableKeyboard"},outputs:{updateObject:"updateObject",renamingInProgress:"renamingInProgress"}});let i=a;return i})();var Ee=["InputRename"],Fe=(i,a)=>a.alias,Pe=(i,a)=>a.key;function Te(i,a){if(i&1&&m(0,"app-user-avatar",15)(1,"div",10),i&2){let n=l().$implicit;p("user",n.owner)}}function we(i,a){if(i&1){let n=E();r(0,"input",16,0),h("updateObject",function(t){S(n);let o=l(2);return v(o.onRenameRoot(t))}),c()}if(i&2){let n=l().$implicit;p("inputObject",n)("fullWidth",!0)}}function Ie(i,a){if(i&1&&(r(0,"span"),d(1),c()),i&2){let n=l(2).$implicit;s(),g(n.externalPath)}}function Me(i,a){if(i&1&&(r(0,"span"),d(1),C(2,"pathSlice"),c()),i&2){let n=l(2).$implicit;s(),g(x(2,1,n.file.path,-2))}}function ke(i,a){if(i&1&&(r(0,"div",17)(1,"span"),d(2),c()(),r(3,"div",18),_(4,Ie,2,1,"span")(5,Me,3,4,"span"),c()),i&2){let n=l().$implicit,e=l();s(2),g(n.name),s(2),b(e.user.isAdmin&&n.externalPath?4:5)}}function Oe(i,a){if(i&1){let n=E();r(0,"button",21),C(1,"translate"),X("ngModelChange",function(t){S(n);let o=l().$implicit,u=l().$implicit;return H(u.hPerms[o.key],t)||(u.hPerms[o.key]=t),v(t)}),h("ngModelChange",function(){S(n);let t=l(2).$implicit,o=l();return v(o.onPermissionChange(t))}),m(2,"fa-icon",22),c()}if(i&2){let n=l().$implicit,e=l().$implicit,t=l();M(k("btn btn-sm btn-custom ",!e.isDir&&(n.key==="a"||n.key==="d")?"disabled":"")),K("ngModel",e.hPerms[n.key]),p("tooltip",x(1,6,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function De(i,a){if(i&1&&(r(0,"button",23),C(1,"translate"),m(2,"fa-icon",22),c()),i&2){let n=l().$implicit,e=l().$implicit,t=l();I("active",e.hPerms[n.key]),p("tooltip",x(1,4,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function Ae(i,a){if(i&1&&_(0,Oe,3,9,"button",19)(1,De,3,7,"button",20),i&2){let n=l().$implicit,e=l();b(!(n.owner!=null&&n.owner.id)&&e.user.isAdmin||(n.owner==null?null:n.owner.id)===e.user.id?0:1)}}function je(i,a){if(i&1){let n=E();r(0,"div",1)(1,"div",2)(2,"div",3),_(3,Te,2,1),m(4,"img",4),r(5,"div",5),_(6,we,2,2,"input",6)(7,ke,6,2),c()(),r(8,"div",7)(9,"div",8),d(10),c(),r(11,"div",8),d(12),C(13,"amTimeAgo"),c()(),r(14,"div",9),m(15,"div",10),T(16,Ae,2,1,null,null,Pe),C(18,"keyvalue"),m(19,"div",11),r(20,"button",12),C(21,"translate"),h("click",function(){let t=S(n).$implicit,o=l();return v(o.setRenamed(t))}),m(22,"fa-icon",13),c(),r(23,"button",14),C(24,"translate"),h("click",function(){let t=S(n).$implicit,o=l();return v(o.removeRoot(t))}),m(25,"fa-icon",13),c()()()()}if(i&2){let n=a.$implicit,e=l();s(3),b(e.showUsers?3:-1),s(),I("cursor-pointer",!!n.file.path),p("src",n.file.mimeUrl,V)("tooltip",n.file.path),s(2),b(n.isRenamed?6:7),s(4),g(n.alias),s(2),g(q(13,15,n.createdAt)),s(4),w(x(18,17,n.hPerms,e.originalOrderKeyValue)),s(4),M(k("btn btn-sm ",n.isRenamed?"btn-success":"btn-custom"," me-2")),p("tooltip",x(21,20,"Rename",e.locale.language)),s(2),p("icon",e.icons.faPen),s(),p("tooltip",x(24,23,"Remove",e.locale.language)),s(2),p("icon",e.icons.faTimes)}}var Re=(()=>{let a=class a{constructor(){this.showUsers=!0,this.addRootFile=null,this.locale=f(J),this.icons={faTimes:oe,faPen:ae},this.SPACES_PERMISSIONS_TEXT=ue,this.originalOrderKeyValue=pe,this.subscription=null}ngOnInit(){this.addRootFile&&(this.subscription=this.addRootFile.subscribe(e=>this.addRoot(e)))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}addRoot(e){let t={id:0,alias:y(e.name,"alias",this.space.roots).toLowerCase(),name:y(e.name,"name",this.space.roots),permissions:"",createdAt:new Date};e.externalPath?(t.externalPath=e.externalPath,t.owner={id:null,login:null,email:null,fullName:null},t.file={id:0,path:null,mime:null}):(t.externalPath=null,t.owner={id:this.user.id,login:this.user.login,email:this.user.email,fullName:this.user.fullName},t.file={id:e.id,path:e.path,mime:e.mime}),this.space.addRoot(t,!0)}removeRoot(e){this.space.roots=this.space.roots.filter(t=>e.alias!==t.alias)}onRenameRoot(e){let t=e.object;t.alias=y(ce(e.name,!0),"alias",this.space.roots.filter(o=>o.id!==t.id)).toLowerCase(),t.name=y(e.name.replace(le,""),"name",this.space.roots.filter(o=>o.id!==t.id))}onPermissionChange(e){e.permissions=he(e.hPerms)}setRenamed(e){e.isRenamed?(this.onRenameRoot({object:e,name:this.inputRename.nativeElement.value}),e.isRenamed=!1):e.isRenamed=!0}};a.\u0275fac=function(t){return new(t||a)},a.\u0275cmp=R({type:a,selectors:[["app-space-manage-roots"]],viewQuery:function(t,o){if(t&1&&$(Ee,5),t&2){let u;L(u=W())&&(o.inputRename=u.first)}},inputs:{space:"space",user:"user",showUsers:"showUsers",addRootFile:"addRootFile"},decls:2,vars:0,consts:[["InputRename",""],[1,"bg-theme","mb-1","p-2",2,"border-radius","4px"],[1,"d-flex","align-items-center","text-truncate","no-select","fs-xs",2,"height","32px"],[1,"d-flex","align-items-center","text-truncate","me-auto"],["draggable","false","height","30","width","30","alt","",3,"src","tooltip"],[1,"d-flex","flex-column","text-truncate","ms-2"],["appInputEdit","","type","text","required","",3,"inputObject","fullWidth"],[1,"d-flex","flex-column","fs-xxxs","text-muted","d-none","d-lg-block","ms-3"],[1,"d-flex","justify-content-end"],[1,"d-flex","no-select"],[1,"vr","mx-2"],[1,"vr","ms-1","me-2"],["type","button",3,"click","tooltip"],[3,"icon"],["type","button",1,"btn","btn-sm","btn-danger",3,"click","tooltip"],["tooltipPlacement","bottom",3,"user"],["appInputEdit","","type","text","required","",3,"updateObject","inputObject","fullWidth"],[1,"text-truncate"],[1,"d-none","d-lg-block","fs-xxxs","text-truncate"],["btnCheckbox","","type","button",3,"ngModel","tooltip","class"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip","active"],["btnCheckbox","","type","button",3,"ngModelChange","ngModel","tooltip"],["size","lg",3,"icon"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip"]],template:function(t,o){t&1&&T(0,je,26,26,"div",1,Fe),t&2&&w(o.space.roots)},dependencies:[_e,fe,F,be,ie,te,G,z,Y,ye,Q,Z,ge,xe],encapsulation:2});let i=a;return i})();function Be(i,a){if(i&1&&m(0,"fa-icon",3),i&2){let n=l();p("icon",n.icons.faSpinner)}}function Ve(i,a){i&1&&(r(0,"span",5),d(1,"You have no files anchored on this space"),c())}var Pt=(()=>{let a=class a{constructor(){this.layout=f(me),this.addRootFileEvent=new A,this.icons={faAnchor:se,faPlus:re,faSpinner:ne,SPACES:de.SPACES},this.submitted=!1,this.loading=!1,this.spacesService=f(Ce)}ngOnInit(){this.space?.roots.length&&(this.space.roots=[]),this.spacesService.getUserSpaceRoots(this.space.id).subscribe({next:e=>this.setSpaceRoots(e),error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message)}})}openSelectRootDialog(){this.layout.openDialog(Se,"xl",{initialState:{currentRoots:this.space.roots.filter(t=>t.owner.id===this.user.id)}}).content.submitEvent.pipe(j(1)).subscribe(t=>this.addRootFileEvent.next(t))}onSubmit(){this.loading=!0,this.submitted=!0,this.spacesService.updateUserSpaceRoots(this.space.id,this.space.roots.map(e=>({id:e.id,alias:e.alias,name:e.name,permissions:e.permissions,file:{id:e.file.id,path:e.file.path,mime:e.file.mime}}))).subscribe({next:e=>{this.setSpaceRoots(e),this.layout.closeDialog()},error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message),this.submitted=!1,this.loading=!1}})}setSpaceRoots(e){this.space.roots=[];for(let t of e)this.space.addRoot(D(O({},t),{owner:this.user}),!0);this.space.counts.roots=this.space.roots.length}};a.\u0275fac=function(t){return new(t||a)},a.\u0275cmp=R({type:a,selectors:[["app-space-user-anchors-dialog"]],inputs:{space:"space",user:"user"},decls:22,vars:11,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[3,"space","user","showUsers","addRootFile"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success",3,"click"],[3,"icon"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(r(0,"div",0)(1,"h4",1),m(2,"fa-icon",2),r(3,"span"),d(4),c()(),_(5,Be,1,1,"fa-icon",3),r(6,"h4",4)(7,"span",5),d(8,"Manage my anchored files"),c()(),r(9,"button",6),h("click",function(){return o.layout.closeDialog()}),c()(),r(10,"div",7),m(11,"app-space-manage-roots",8),_(12,Ve,2,0,"span",5),c(),r(13,"div",9)(14,"button",10),h("click",function(){return o.openSelectRootDialog()}),m(15,"fa-icon",11)(16,"fa-icon",11),d(17," File "),c(),r(18,"button",12),h("click",function(){return o.layout.closeDialog()}),d(19,"Cancel"),c(),r(20,"button",13),h("click",function(){return o.onSubmit()}),d(21," Confirm "),c()()),t&2&&(s(2),p("icon",o.icons.SPACES),s(2),g(o.space.name),s(),b(o.loading?5:-1),s(6),p("space",o.space)("user",o.user)("showUsers",!1)("addRootFile",o.addRootFileEvent),s(),b(o.space.roots.length?-1:12),s(3),p("icon",o.icons.faPlus),s(),p("icon",o.icons.faAnchor),s(4),p("disabled",o.submitted))},dependencies:[F,ee,Re],encapsulation:2});let i=a;return i})();export{ye as a,Re as b,Pt as c};
1
+ import{x as xe,z as Se}from"./chunk-3CQHRM6K.js";import{a as be}from"./chunk-ATROK3XR.js";import{h as ge}from"./chunk-EUCMHS6F.js";import{g as Ce}from"./chunk-7DWT7W6L.js";import{g as fe,h as _e}from"./chunk-MAVDZOWK.js";import{Da as ce,Ib as de,Kb as ue,Qb as he,Xa as pe,bb as y,v as te,w as ie,xb as me,ya as le}from"./chunk-H3O3N5LY.js";import{Cb as h,Eb as l,Ed as Z,Fd as ee,Ga as V,Gc as Q,Gf as re,Ib as $,Jb as L,Kb as W,L as j,Ma as s,Nb as I,Ob as M,Pb as d,Qa as N,Qb as g,Tb as K,Ub as H,Vb as X,Xa as R,Xb as k,Za as U,Zc as F,bb as P,bf as ne,dc as C,ec as q,ed as z,f as A,fc as x,ha as f,jb as _,jd as Y,kb as b,kf as oe,ma as S,na as v,nb as T,ob as w,of as ae,pb as p,qb as r,rb as c,sb as m,vf as se,wd as G,ya as B,yd as J,zb as E}from"./chunk-JQOMI5VI.js";import{a as O,b as D}from"./chunk-RTRJ3KFH.js";var ye=(()=>{let a=class a{constructor(){this.inputField="name",this.fullWidth=!1,this.textCenter=!1,this.disableOnBlur=!0,this.disableFocus=!1,this.disableKeyboard=!1,this.updateObject=new P(!0),this.renamingInProgress=new P(!0),this.elementRef=f(B),this.renderer=f(N),this.dangerColor="#dd4b39",this.primaryColor="#3c8dbc"}ngOnInit(){this.initStyles(),this.renamingInProgress.emit(!0),this.elementRef.nativeElement.value=this.inputObject[this.inputField],setTimeout(()=>{this.setParentDraggable("false"),this.disableFocus||(this.elementRef.nativeElement.focus(),this.elementRef.nativeElement.select())},5)}onBlur(){this.disableOnBlur&&this.disableEdit()}onEnter(){this.disableKeyboard||(this.elementRef.nativeElement.value?this.elementRef.nativeElement.value===this.inputObject[this.inputField]?(this.setCorrectForm(),this.disableEdit()):(this.setCorrectForm(),this.updateObject.next({object:this.inputObject,name:this.elementRef.nativeElement.value}),this.disableEdit()):this.setIncorrectForm())}onEscape(){this.disableKeyboard||this.disableEdit()}initStyles(){this.renderer.setStyle(this.elementRef.nativeElement,"display","inline"),this.renderer.setStyle(this.elementRef.nativeElement,"height","100%"),this.renderer.setStyle(this.elementRef.nativeElement,"min-height","20px"),this.renderer.addClass(this.elementRef.nativeElement,"form-control"),this.renderer.addClass(this.elementRef.nativeElement,"form-control-sm"),this.textCenter?(this.renderer.addClass(this.elementRef.nativeElement,"text-center"),this.renderer.setStyle(this.elementRef.nativeElement,"padding","0")):this.renderer.setStyle(this.elementRef.nativeElement,"padding","2px"),this.fullWidth?this.renderer.addClass(this.elementRef.nativeElement,"w-100"):this.renderer.addClass(this.elementRef.nativeElement,"w-75")}setIncorrectForm(){this.renderer.addClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.dangerColor)}setCorrectForm(){this.renderer.removeClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.primaryColor)}disableEdit(){this.setParentDraggable("true"),this.renamingInProgress.emit(!1),setTimeout(()=>this.inputObject.isRenamed=!1,100)}setParentDraggable(e){this.renderer.setAttribute(this.elementRef.nativeElement.parentElement,"draggable",e)}};a.\u0275fac=function(t){return new(t||a)},a.\u0275dir=U({type:a,selectors:[["","appInputEdit",""]],hostBindings:function(t,o){t&1&&h("blur",function(){return o.onBlur()})("keyup.enter",function(){return o.onEnter()})("keyup.esc",function(){return o.onEscape()})},inputs:{inputObject:"inputObject",inputField:"inputField",fullWidth:"fullWidth",textCenter:"textCenter",disableOnBlur:"disableOnBlur",disableFocus:"disableFocus",disableKeyboard:"disableKeyboard"},outputs:{updateObject:"updateObject",renamingInProgress:"renamingInProgress"}});let i=a;return i})();var Ee=["InputRename"],Fe=(i,a)=>a.alias,Pe=(i,a)=>a.key;function Te(i,a){if(i&1&&m(0,"app-user-avatar",15)(1,"div",10),i&2){let n=l().$implicit;p("user",n.owner)}}function we(i,a){if(i&1){let n=E();r(0,"input",16,0),h("updateObject",function(t){S(n);let o=l(2);return v(o.onRenameRoot(t))}),c()}if(i&2){let n=l().$implicit;p("inputObject",n)("fullWidth",!0)}}function Ie(i,a){if(i&1&&(r(0,"span"),d(1),c()),i&2){let n=l(2).$implicit;s(),g(n.externalPath)}}function Me(i,a){if(i&1&&(r(0,"span"),d(1),C(2,"pathSlice"),c()),i&2){let n=l(2).$implicit;s(),g(x(2,1,n.file.path,-2))}}function ke(i,a){if(i&1&&(r(0,"div",17)(1,"span"),d(2),c()(),r(3,"div",18),_(4,Ie,2,1,"span")(5,Me,3,4,"span"),c()),i&2){let n=l().$implicit,e=l();s(2),g(n.name),s(2),b(e.user.isAdmin&&n.externalPath?4:5)}}function Oe(i,a){if(i&1){let n=E();r(0,"button",21),C(1,"translate"),X("ngModelChange",function(t){S(n);let o=l().$implicit,u=l().$implicit;return H(u.hPerms[o.key],t)||(u.hPerms[o.key]=t),v(t)}),h("ngModelChange",function(){S(n);let t=l(2).$implicit,o=l();return v(o.onPermissionChange(t))}),m(2,"fa-icon",22),c()}if(i&2){let n=l().$implicit,e=l().$implicit,t=l();M(k("btn btn-sm btn-custom ",!e.isDir&&(n.key==="a"||n.key==="d")?"disabled":"")),K("ngModel",e.hPerms[n.key]),p("tooltip",x(1,6,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function De(i,a){if(i&1&&(r(0,"button",23),C(1,"translate"),m(2,"fa-icon",22),c()),i&2){let n=l().$implicit,e=l().$implicit,t=l();I("active",e.hPerms[n.key]),p("tooltip",x(1,4,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function Ae(i,a){if(i&1&&_(0,Oe,3,9,"button",19)(1,De,3,7,"button",20),i&2){let n=l().$implicit,e=l();b(!(n.owner!=null&&n.owner.id)&&e.user.isAdmin||(n.owner==null?null:n.owner.id)===e.user.id?0:1)}}function je(i,a){if(i&1){let n=E();r(0,"div",1)(1,"div",2)(2,"div",3),_(3,Te,2,1),m(4,"img",4),r(5,"div",5),_(6,we,2,2,"input",6)(7,ke,6,2),c()(),r(8,"div",7)(9,"div",8),d(10),c(),r(11,"div",8),d(12),C(13,"amTimeAgo"),c()(),r(14,"div",9),m(15,"div",10),T(16,Ae,2,1,null,null,Pe),C(18,"keyvalue"),m(19,"div",11),r(20,"button",12),C(21,"translate"),h("click",function(){let t=S(n).$implicit,o=l();return v(o.setRenamed(t))}),m(22,"fa-icon",13),c(),r(23,"button",14),C(24,"translate"),h("click",function(){let t=S(n).$implicit,o=l();return v(o.removeRoot(t))}),m(25,"fa-icon",13),c()()()()}if(i&2){let n=a.$implicit,e=l();s(3),b(e.showUsers?3:-1),s(),I("cursor-pointer",!!n.file.path),p("src",n.file.mimeUrl,V)("tooltip",n.file.path),s(2),b(n.isRenamed?6:7),s(4),g(n.alias),s(2),g(q(13,15,n.createdAt)),s(4),w(x(18,17,n.hPerms,e.originalOrderKeyValue)),s(4),M(k("btn btn-sm ",n.isRenamed?"btn-success":"btn-custom"," me-2")),p("tooltip",x(21,20,"Rename",e.locale.language)),s(2),p("icon",e.icons.faPen),s(),p("tooltip",x(24,23,"Remove",e.locale.language)),s(2),p("icon",e.icons.faTimes)}}var Re=(()=>{let a=class a{constructor(){this.showUsers=!0,this.addRootFile=null,this.locale=f(J),this.icons={faTimes:oe,faPen:ae},this.SPACES_PERMISSIONS_TEXT=ue,this.originalOrderKeyValue=pe,this.subscription=null}ngOnInit(){this.addRootFile&&(this.subscription=this.addRootFile.subscribe(e=>this.addRoot(e)))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}addRoot(e){let t={id:0,alias:y(e.name,"alias",this.space.roots).toLowerCase(),name:y(e.name,"name",this.space.roots),permissions:"",createdAt:new Date};e.externalPath?(t.externalPath=e.externalPath,t.owner={id:null,login:null,email:null,fullName:null},t.file={id:0,path:null,mime:null}):(t.externalPath=null,t.owner={id:this.user.id,login:this.user.login,email:this.user.email,fullName:this.user.fullName},t.file={id:e.id,path:e.path,mime:e.mime}),this.space.addRoot(t,!0)}removeRoot(e){this.space.roots=this.space.roots.filter(t=>e.alias!==t.alias)}onRenameRoot(e){let t=e.object;t.alias=y(ce(e.name,!0),"alias",this.space.roots.filter(o=>o.id!==t.id)).toLowerCase(),t.name=y(e.name.replace(le,""),"name",this.space.roots.filter(o=>o.id!==t.id))}onPermissionChange(e){e.permissions=he(e.hPerms)}setRenamed(e){e.isRenamed?(this.onRenameRoot({object:e,name:this.inputRename.nativeElement.value}),e.isRenamed=!1):e.isRenamed=!0}};a.\u0275fac=function(t){return new(t||a)},a.\u0275cmp=R({type:a,selectors:[["app-space-manage-roots"]],viewQuery:function(t,o){if(t&1&&$(Ee,5),t&2){let u;L(u=W())&&(o.inputRename=u.first)}},inputs:{space:"space",user:"user",showUsers:"showUsers",addRootFile:"addRootFile"},decls:2,vars:0,consts:[["InputRename",""],[1,"bg-theme","mb-1","p-2",2,"border-radius","4px"],[1,"d-flex","align-items-center","text-truncate","no-select","fs-xs",2,"height","32px"],[1,"d-flex","align-items-center","text-truncate","me-auto"],["draggable","false","height","30","width","30","alt","",3,"src","tooltip"],[1,"d-flex","flex-column","text-truncate","ms-2"],["appInputEdit","","type","text","required","",3,"inputObject","fullWidth"],[1,"d-flex","flex-column","fs-xxxs","text-muted","d-none","d-lg-block","ms-3"],[1,"d-flex","justify-content-end"],[1,"d-flex","no-select"],[1,"vr","mx-2"],[1,"vr","ms-1","me-2"],["type","button",3,"click","tooltip"],[3,"icon"],["type","button",1,"btn","btn-sm","btn-danger",3,"click","tooltip"],["tooltipPlacement","bottom",3,"user"],["appInputEdit","","type","text","required","",3,"updateObject","inputObject","fullWidth"],[1,"text-truncate"],[1,"d-none","d-lg-block","fs-xxxs","text-truncate"],["btnCheckbox","","type","button",3,"ngModel","tooltip","class"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip","active"],["btnCheckbox","","type","button",3,"ngModelChange","ngModel","tooltip"],["size","lg",3,"icon"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip"]],template:function(t,o){t&1&&T(0,je,26,26,"div",1,Fe),t&2&&w(o.space.roots)},dependencies:[_e,fe,F,be,ie,te,G,z,Y,ye,Q,Z,ge,xe],encapsulation:2});let i=a;return i})();function Be(i,a){if(i&1&&m(0,"fa-icon",3),i&2){let n=l();p("icon",n.icons.faSpinner)}}function Ve(i,a){i&1&&(r(0,"span",5),d(1,"You have no files anchored on this space"),c())}var Pt=(()=>{let a=class a{constructor(){this.layout=f(me),this.addRootFileEvent=new A,this.icons={faAnchor:se,faPlus:re,faSpinner:ne,SPACES:de.SPACES},this.submitted=!1,this.loading=!1,this.spacesService=f(Ce)}ngOnInit(){this.space?.roots.length&&(this.space.roots=[]),this.spacesService.getUserSpaceRoots(this.space.id).subscribe({next:e=>this.setSpaceRoots(e),error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message)}})}openSelectRootDialog(){this.layout.openDialog(Se,"xl",{initialState:{currentRoots:this.space.roots.filter(t=>t.owner.id===this.user.id)}}).content.submitEvent.pipe(j(1)).subscribe(t=>this.addRootFileEvent.next(t))}onSubmit(){this.loading=!0,this.submitted=!0,this.spacesService.updateUserSpaceRoots(this.space.id,this.space.roots.map(e=>({id:e.id,alias:e.alias,name:e.name,permissions:e.permissions,file:{id:e.file.id,path:e.file.path,mime:e.file.mime}}))).subscribe({next:e=>{this.setSpaceRoots(e),this.layout.closeDialog()},error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message),this.submitted=!1,this.loading=!1}})}setSpaceRoots(e){this.space.roots=[];for(let t of e)this.space.addRoot(D(O({},t),{owner:this.user}),!0);this.space.counts.roots=this.space.roots.length}};a.\u0275fac=function(t){return new(t||a)},a.\u0275cmp=R({type:a,selectors:[["app-space-user-anchors-dialog"]],inputs:{space:"space",user:"user"},decls:22,vars:11,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[3,"space","user","showUsers","addRootFile"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success",3,"click"],[3,"icon"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(r(0,"div",0)(1,"h4",1),m(2,"fa-icon",2),r(3,"span"),d(4),c()(),_(5,Be,1,1,"fa-icon",3),r(6,"h4",4)(7,"span",5),d(8,"Manage my anchored files"),c()(),r(9,"button",6),h("click",function(){return o.layout.closeDialog()}),c()(),r(10,"div",7),m(11,"app-space-manage-roots",8),_(12,Ve,2,0,"span",5),c(),r(13,"div",9)(14,"button",10),h("click",function(){return o.openSelectRootDialog()}),m(15,"fa-icon",11)(16,"fa-icon",11),d(17," File "),c(),r(18,"button",12),h("click",function(){return o.layout.closeDialog()}),d(19,"Cancel"),c(),r(20,"button",13),h("click",function(){return o.onSubmit()}),d(21," Confirm "),c()()),t&2&&(s(2),p("icon",o.icons.SPACES),s(2),g(o.space.name),s(),b(o.loading?5:-1),s(6),p("space",o.space)("user",o.user)("showUsers",!1)("addRootFile",o.addRootFileEvent),s(),b(o.space.roots.length?-1:12),s(3),p("icon",o.icons.faPlus),s(),p("icon",o.icons.faAnchor),s(4),p("disabled",o.submitted))},dependencies:[F,ee,Re],encapsulation:2});let i=a;return i})();export{ye as a,Re as b,Pt as c};
@@ -1 +1 @@
1
- import{a as Ce,b as ve,c as be,d as xe,f as Ee,i as De}from"./chunk-BOIXDTUT.js";import{a as Se,b as Te}from"./chunk-MLLPT7BU.js";import{f as _e}from"./chunk-6HV65OKG.js";import{K as ce,L as ue,R as D,Sb as he,ua as de,va as pe,wa as ge,xb as fe}from"./chunk-55WOZ7P6.js";import{$c as q,Bf as re,Cb as _,Eb as d,Ed as te,Ee as oe,Fc as B,Fd as ie,Gf as le,Ma as a,Nb as b,Ob as U,Pb as s,Qb as x,Qf as me,Rb as E,Sb as A,Xa as O,Xb as k,Zc as j,ab as y,ad as H,bb as R,bf as ae,cd as p,dc as v,ec as S,ed as X,fc as M,fd as $,gd as z,ha as T,id as g,jb as f,kb as h,lb as F,ma as P,na as L,nb as G,nd as W,ob as N,od as J,of as se,pb as c,pd as K,pe as ne,qb as i,qd as Q,rb as n,rd as Y,sb as u,xd as Z,yd as ee,zb as V}from"./chunk-JQOMI5VI.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(_e),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||[he(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,Se,Te,Ee,De,ve,be,xe,Ce,te,B],encapsulation:2});let t=m;return t})();export{lt as a};
1
+ import{a as Ce,b as ve,c as be,d as xe,f as Ee,i as De}from"./chunk-EUCMHS6F.js";import{a as Se,b as Te}from"./chunk-IYMU2AOQ.js";import{f as _e}from"./chunk-MAVDZOWK.js";import{K as ce,L as ue,R as D,Sb as he,ua as de,va as pe,wa as ge,xb as fe}from"./chunk-H3O3N5LY.js";import{$c as q,Bf as re,Cb as _,Eb as d,Ed as te,Ee as oe,Fc as B,Fd as ie,Gf as le,Ma as a,Nb as b,Ob as U,Pb as s,Qb as x,Qf as me,Rb as E,Sb as A,Xa as O,Xb as k,Zc as j,ab as y,ad as H,bb as R,bf as ae,cd as p,dc as v,ec as S,ed as X,fc as M,fd as $,gd as z,ha as T,id as g,jb as f,kb as h,lb as F,ma as P,na as L,nb as G,nd as W,ob as N,od as J,of as se,pb as c,pd as K,pe as ne,qb as i,qd as Q,rb as n,rd as Y,sb as u,xd as Z,yd as ee,zb as V}from"./chunk-JQOMI5VI.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(_e),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||[he(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,Se,Te,Ee,De,ve,be,xe,Ce,te,B],encapsulation:2});let t=m;return t})();export{lt as a};
@@ -1 +1 @@
1
- import{a as u}from"./chunk-JXZCNFW7.js";import{Oa as I,Pa as N,v as D,w as E}from"./chunk-55WOZ7P6.js";import{Cb as g,Ed as L,Fd 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 _,ad as Q,bb as d,dc as W,ed as B,fc as y,ha as p,jd as P,pb as f,qb as r,rb as l,wd as S,yd as w}from"./chunk-JQOMI5VI.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
+ import{a as u}from"./chunk-JXZCNFW7.js";import{Oa as I,Pa as N,v as D,w as E}from"./chunk-H3O3N5LY.js";import{Cb as g,Ed as L,Fd 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 _,ad as Q,bb as d,dc as W,ed as B,fc as y,ha as p,jd as P,pb as f,qb as r,rb as l,wd as S,yd as w}from"./chunk-JQOMI5VI.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};