@sync-in/server 1.9.0 → 1.9.1

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 (41) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/package.json +1 -1
  3. package/server/app.constants.js +3 -3
  4. package/server/app.constants.js.map +1 -1
  5. package/server/app.functions.js +42 -0
  6. package/server/app.functions.js.map +1 -0
  7. package/static/{chunk-CCGGCHGN.js → chunk-2TB2INBF.js} +1 -1
  8. package/static/{chunk-KNZ3AQPR.js → chunk-3WLBVJ2S.js} +1 -1
  9. package/static/{chunk-24Q7OUU2.js → chunk-3YDYZLF7.js} +1 -1
  10. package/static/{chunk-XOTKK2NJ.js → chunk-4PZPHJ7L.js} +1 -1
  11. package/static/{chunk-7CFSJ4BO.js → chunk-5E3TYOL3.js} +1 -1
  12. package/static/{chunk-T74SMT7I.js → chunk-5S6KPQRA.js} +1 -1
  13. package/static/{chunk-PG54TWBO.js → chunk-6B3GGAV3.js} +1 -1
  14. package/static/{chunk-KHRF67SG.js → chunk-6NEBGCAZ.js} +1 -1
  15. package/static/{chunk-N3P6P6GW.js → chunk-BODMMLVB.js} +1 -1
  16. package/static/{chunk-Y2I36A4K.js → chunk-BU4ZICZR.js} +1 -1
  17. package/static/{chunk-RX3YQ67K.js → chunk-DQ3GEMPM.js} +1 -1
  18. package/static/{chunk-BYWSTP3P.js → chunk-FNOTGWRW.js} +1 -1
  19. package/static/{chunk-F7TXTNZC.js → chunk-GNZPP2VO.js} +1 -1
  20. package/static/{chunk-LJSVNPPQ.js → chunk-GRLHFXGB.js} +1 -1
  21. package/static/{chunk-EKEGRXCV.js → chunk-HCSWO7BO.js} +1 -1
  22. package/static/{chunk-FTSIPHMG.js → chunk-HMOB6XC5.js} +1 -1
  23. package/static/{chunk-5HNQLBSW.js → chunk-I2S3XPC5.js} +1 -1
  24. package/static/{chunk-S6EVLDHA.js → chunk-JWPXQOS3.js} +1 -1
  25. package/static/{chunk-MRF3CNLZ.js → chunk-JY2I3HGL.js} +1 -1
  26. package/static/{chunk-2FOWUJQF.js → chunk-K657XPXA.js} +1 -1
  27. package/static/{chunk-MRMSMTWD.js → chunk-MIA5YBOI.js} +1 -1
  28. package/static/{chunk-BQZWSZNN.js → chunk-NKGKBQBX.js} +1 -1
  29. package/static/{chunk-OJCAIKUK.js → chunk-PXRT4L57.js} +1 -1
  30. package/static/{chunk-3IISSX63.js → chunk-RDNTK4YH.js} +1 -1
  31. package/static/{chunk-MNNCSSHN.js → chunk-RK2ONYTL.js} +1 -1
  32. package/static/{chunk-QNFNXDSX.js → chunk-S2VBGI6Q.js} +1 -1
  33. package/static/{chunk-Y44XDRM5.js → chunk-TGLJFALR.js} +1 -1
  34. package/static/{chunk-LXQGVNU2.js → chunk-U4RW6XG5.js} +1 -1
  35. package/static/{chunk-4FJUCMEG.js → chunk-V6FA5QY4.js} +1 -1
  36. package/static/{chunk-XX7JXKA6.js → chunk-VK7XMFVE.js} +1 -1
  37. package/static/{chunk-RT3K6DZR.js → chunk-VQJYCYWI.js} +1 -1
  38. package/static/{chunk-MVZJSG5R.js → chunk-XQGPSNQB.js} +1 -1
  39. package/static/{chunk-2XPHUNYN.js → chunk-ZXXHFBGL.js} +1 -1
  40. package/static/index.html +1 -1
  41. package/static/{main-3PLRDZTO.js → main-56PZQ6TJ.js} +3 -3
@@ -1 +1 @@
1
- import{c as we}from"./chunk-PG54TWBO.js";import{a as xe}from"./chunk-QMHUIHSR.js";import{a as Se,b as Te,c as Ee}from"./chunk-XCLK7NJL.js";import{a as De}from"./chunk-LYZGJZNP.js";import{l as _e,m as Ce,t as ve,w as be}from"./chunk-BYWSTP3P.js";import{A as ce,Cb as he,H as D,J as ue,K as de,L as pe,N as ge,z as me}from"./chunk-5HNQLBSW.js";import{$f as le,Bb as V,Dd as Y,Eb as _,Ed as Z,Gb as d,Jd as ee,Kd as te,Mf as se,Oa as a,Oc as B,Oe as ne,Qa as O,Rb as b,Rf as re,Sb as U,Tb as s,Ub as x,Vb as E,Wb as A,ab as R,cc as k,ed as j,fb as y,fd as q,hd as p,ja as T,jd as H,kc as v,kd as X,lb as f,lc as S,ld as $,mb as h,mc as M,mf as oe,nb as F,nd as g,oa as P,og as fe,pa as L,pb as G,qb as N,rb as c,sb as i,sd as z,tb as n,td as W,ub as u,ud as J,vd as K,wd as Q,ze as ie,zf as ae}from"./chunk-IOIBQGHN.js";import{a as I}from"./chunk-KAVP6UXH.js";function ye(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 Fe(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 Ge(t,m){if(t&1&&u(0,"fa-icon",2),t&2){let o=d();c("icon",o.icons.faSpinner)}}function Ne(t,m){t&1&&(i(0,"h4",3)(1,"span",43),s(2,"Edit guest"),n()())}function Ue(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 Ae(t,m){if(t&1&&u(0,"app-password-strength-bar",22),t&2){let o=d();c("passwordToCheck",o.guestForm.value.password)}}function ke(t,m){if(t&1&&(i(0,"option",26),s(1),n()),t&2){let o=m.$implicit,r=d();c("ngValue",o),a(),x(r.i18nLanguageText[o])}}function Ie(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 Pe(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 Le(t,m){t&1&&(i(0,"span",37),s(1,"never"),n())}function Oe(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,Pe,6,8)(12,Le,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 Re(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 Ve(t,m){t&1&&(i(0,"small",37),s(1,"At least one manager is required"),n())}function Me(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 ct=(()=>{let m=class m{constructor(){this.guest=null,this.guestChange=new O,this.locale=T(Z),this.layout=T(he),this.userService=T(be),this.user=this.userService.user,this.icons={GROUPS:ue.GROUPS,faPlus:re,faPen:ae,faUsersGear:le,faSpinner:oe,faAddressCard:ne,faUsers:ie,faShieldHalved:se},this.allNotifications=Object.values(D),this.defaultPassword=this.layout.translateString(de),this.languages=this.layout.getLanguages(!0),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.i18nLanguageText=ge}ngOnInit(){this.guestForm=new $({login:new g(this.guest?.login||"",[p.required,p.pattern(me)]),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||[ve(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:ce.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]===pe?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=R({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,ye,3,2)(3,Fe,3,1),f(4,Ge,1,1,"fa-icon",2),n(),f(5,Ne,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,Ue,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,Ae,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,ke,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,Ie,2,2,"option",34,F),n()()(),f(58,Oe,13,4,"div",11),n()(),i(59,"tab",35),_("selectTab",function(){return e.tabView="managers"}),y(60,Re,5,2,"ng-template",9),i(61,"div",7)(62,"app-user-search",36),_("membersChange",function(w){return e.updateManagers(w)}),n(),f(63,Ve,2,0,"small",37),n()()()(),i(64,"div",38),f(65,Me,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:[fe,te,Y,K,Q,q,j,J,H,X,z,W,_e,De,Ce,we,Se,Te,Ee,xe,ee,B],encapsulation:2});let t=m;return t})();export{ct as a};
1
+ import{c as we}from"./chunk-6B3GGAV3.js";import{a as xe}from"./chunk-QMHUIHSR.js";import{a as Se,b as Te,c as Ee}from"./chunk-XCLK7NJL.js";import{a as De}from"./chunk-LYZGJZNP.js";import{l as _e,m as Ce,t as ve,w as be}from"./chunk-FNOTGWRW.js";import{A as ce,Cb as he,H as D,J as ue,K as de,L as pe,N as ge,z as me}from"./chunk-I2S3XPC5.js";import{$f as le,Bb as V,Dd as Y,Eb as _,Ed as Z,Gb as d,Jd as ee,Kd as te,Mf as se,Oa as a,Oc as B,Oe as ne,Qa as O,Rb as b,Rf as re,Sb as U,Tb as s,Ub as x,Vb as E,Wb as A,ab as R,cc as k,ed as j,fb as y,fd as q,hd as p,ja as T,jd as H,kc as v,kd as X,lb as f,lc as S,ld as $,mb as h,mc as M,mf as oe,nb as F,nd as g,oa as P,og as fe,pa as L,pb as G,qb as N,rb as c,sb as i,sd as z,tb as n,td as W,ub as u,ud as J,vd as K,wd as Q,ze as ie,zf as ae}from"./chunk-IOIBQGHN.js";import{a as I}from"./chunk-KAVP6UXH.js";function ye(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 Fe(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 Ge(t,m){if(t&1&&u(0,"fa-icon",2),t&2){let o=d();c("icon",o.icons.faSpinner)}}function Ne(t,m){t&1&&(i(0,"h4",3)(1,"span",43),s(2,"Edit guest"),n()())}function Ue(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 Ae(t,m){if(t&1&&u(0,"app-password-strength-bar",22),t&2){let o=d();c("passwordToCheck",o.guestForm.value.password)}}function ke(t,m){if(t&1&&(i(0,"option",26),s(1),n()),t&2){let o=m.$implicit,r=d();c("ngValue",o),a(),x(r.i18nLanguageText[o])}}function Ie(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 Pe(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 Le(t,m){t&1&&(i(0,"span",37),s(1,"never"),n())}function Oe(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,Pe,6,8)(12,Le,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 Re(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 Ve(t,m){t&1&&(i(0,"small",37),s(1,"At least one manager is required"),n())}function Me(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 ct=(()=>{let m=class m{constructor(){this.guest=null,this.guestChange=new O,this.locale=T(Z),this.layout=T(he),this.userService=T(be),this.user=this.userService.user,this.icons={GROUPS:ue.GROUPS,faPlus:re,faPen:ae,faUsersGear:le,faSpinner:oe,faAddressCard:ne,faUsers:ie,faShieldHalved:se},this.allNotifications=Object.values(D),this.defaultPassword=this.layout.translateString(de),this.languages=this.layout.getLanguages(!0),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.i18nLanguageText=ge}ngOnInit(){this.guestForm=new $({login:new g(this.guest?.login||"",[p.required,p.pattern(me)]),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||[ve(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:ce.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]===pe?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=R({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,ye,3,2)(3,Fe,3,1),f(4,Ge,1,1,"fa-icon",2),n(),f(5,Ne,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,Ue,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,Ae,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,ke,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,Ie,2,2,"option",34,F),n()()(),f(58,Oe,13,4,"div",11),n()(),i(59,"tab",35),_("selectTab",function(){return e.tabView="managers"}),y(60,Re,5,2,"ng-template",9),i(61,"div",7)(62,"app-user-search",36),_("membersChange",function(w){return e.updateManagers(w)}),n(),f(63,Ve,2,0,"small",37),n()()()(),i(64,"div",38),f(65,Me,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:[fe,te,Y,K,Q,q,j,J,H,X,z,W,_e,De,Ce,we,Se,Te,Ee,xe,ee,B],encapsulation:2});let t=m;return t})();export{ct as a};
@@ -1 +1 @@
1
- import{b as R,c as ft}from"./chunk-KNZ3AQPR.js";import{a as ue,b as z,c as Ct,d as Te,e as vt}from"./chunk-EKEGRXCV.js";import{a as ht,b as gt,c as bt}from"./chunk-MNNCSSHN.js";import{a as S,b as Y,c as tt,e as _t}from"./chunk-24Q7OUU2.js";import{a as lt,c as dt}from"./chunk-PG54TWBO.js";import{a as _e}from"./chunk-QMHUIHSR.js";import{a as st}from"./chunk-4FJUCMEG.js";import{a as pt,b as ct,c as ut}from"./chunk-XCLK7NJL.js";import{a as Se}from"./chunk-MRMSMTWD.js";import{a as Ge,b as mt}from"./chunk-7CFSJ4BO.js";import"./chunk-BQZWSZNN.js";import{m as rt,n as xe,s as ye}from"./chunk-BYWSTP3P.js";import{a as at}from"./chunk-ZCOWBVOT.js";import"./chunk-OJCAIKUK.js";import{A as Ze,B as K,C as et,Cb as V,J as H,cb as ve,gb as de,s as je,va as it,wa as nt,xa as ot}from"./chunk-5HNQLBSW.js";import{b as Me,d as Pe}from"./chunk-Y5RLD72B.js";import{Bb as A,Cd as ne,Dd as Le,E as be,Eb as _,Ed as oe,Gb as u,He as Qe,Hf as pe,Ia as J,Jd as re,Kb as Q,Kd as M,Kf as ze,L as O,Lb as q,Ld as Ke,Mb as W,Mf as Ye,Oa as s,Pc as te,Qa as I,Qb as Ce,Qd as ae,Qe as se,Rb as U,Rf as ce,Sb as k,Tb as m,Tf as Je,Ub as C,Vb as $,Vd as He,Wb as Ee,Xb as X,Yb as Z,Zb as ee,ab as E,af as qe,cc as Ae,dc as De,df as We,dg as Xe,ed as Ve,fb as w,fd as Re,hd as Fe,he as le,ja as x,jd as L,kc as v,kd as Ue,lb as h,lc as D,ld as ke,mb as g,mc as T,nd as j,oa as y,od as ie,og as P,pa as G,pb as B,qb as N,rb as c,sb as r,sd as Oe,tb as a,td as Ie,ub as d,ud as Be,vd as Ne,wd as $e,zf as me}from"./chunk-IOIBQGHN.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{a as he,b as ge}from"./chunk-KAVP6UXH.js";var xt=(()=>{let l=class l{constructor(){this.currentMemberIds=[],this.hasChanges=new I,this.layout=x(V),this.newMembers=[],this.submitted=!1,this.icons={faUserPlus:se},this.adminService=x(R)}searchMembers(n){let o={search:n,onlyUsers:!0,usersRole:this.parentGroup.type===ue.USER?Ze.USER:void 0,ignoreUserIds:[...this.currentMemberIds,...this.newMembers.map(e=>e.id)]};return this.adminService.searchMembers(o)}onSubmit(){this.submitted=!0,this.adminService.addUsersToGroup(this.parentGroup.id,this.newMembers.map(n=>n.id)).subscribe({next:()=>{this.hasChanges.emit(!0),this.layout.sendNotification("success","Add members",this.newMembers.map(n=>n.name).join("<br>"),null,{enableHtml:!0}),this.layout.closeDialog()},error:n=>{this.submitted=!1,this.layout.sendNotification("error","Add members",this.newMembers.map(o=>o.name).join("<br>"),n,{enableHtml:!0})}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-add-users-dialog"]],inputs:{parentGroup:"parentGroup",currentMemberIds:"currentMemberIds"},outputs:{hasChanges:"hasChanges"},decls:16,vars:7,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-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,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[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(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Add members"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"app-user-search",7),ee("membersChange",function(f){return Z(e.newMembers,f)||(e.newMembers=f),f}),a()(),r(11,"div",8)(12,"button",9),_("click",function(){return e.layout.closeDialog()}),m(13,"Cancel"),a(),r(14,"button",10),_("click",function(){return e.onSubmit()}),m(15," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPlus),s(2),C(e.parentGroup.name),s(6),X("members",e.newMembers),c("withPermissions",!1)("customPlaceholder","Type to search for users to add")("searchFunction",e.searchMembers.bind(e)),s(4),c("disabled",e.submitted||!e.newMembers.length))},dependencies:[P,M,dt],encapsulation:2});let t=l;return t})();function wt(t,l){if(t&1&&d(0,"img",9),t&2){let i=u();c("src",i.member.avatarUrl,J)}}function Et(t,l){if(t&1&&d(0,"fa-icon",15),t&2){let i=u();k(i.member.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",i.icons.GROUPS)}}function At(t,l){if(t&1&&(r(0,"div",7)(1,"span",16),m(2,"from the group"),a(),r(3,"span",11),m(4),v(5,"capitalize"),a()()),t&2){let i=u();s(4),C(D(5,1,i.parentGroup.name))}}function Dt(t,l){t&1&&(r(0,"small",4),m(1,"Only the group will be deleted, the members will no longer be part of it."),a())}var yt=(()=>{let l=class l{constructor(){this.wasDeleted=new I,this.submitted=!1,this.icons={GROUPS:H.GROUPS,faMinus:ae,faUserMinus:pe},this.layout=x(V),this.adminService=x(R)}onSubmit(){this.submitted=!0;let n=this.member.isUser?"Remove from group":"Delete group";(this.member.isUser?this.adminService.removeUserFromGroup(this.parentGroup.id,this.member.id):this.adminService.deleteGroup(this.member.id)).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success",n,this.member.name),this.onClose()},error:e=>{this.submitted=!1,this.layout.sendNotification("error",n,this.member.name,e)}})}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-delete-dialog"]],inputs:{parentGroup:"parentGroup",member:"member"},outputs:{wasDeleted:"wasDeleted"},decls:26,vars:10,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-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"],[1,"d-flex","align-items-center"],[1,"d-flex","align-items-center","avatar","me-2"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],[1,"fw-bold","me-1"],[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-danger",3,"click","disabled"],[3,"icon"],["l10nTranslate","",1,"mx-1"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7),a()(),r(8,"button",5),_("click",function(){return e.onClose()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8),h(12,wt,1,1,"img",9)(13,Et,1,3,"fa-icon",10),a(),r(14,"span",11),m(15),v(16,"capitalize"),a(),r(17,"span",4),m(18,"will be removed"),a(),h(19,At,6,3,"div",7),a(),h(20,Dt,2,0,"small",4),a(),r(21,"div",12)(22,"button",13),_("click",function(){return e.onClose()}),m(23,"Cancel"),a(),r(24,"button",14),_("click",function(){return e.onSubmit()}),m(25," Remove "),a()()),o&2&&(s(2),c("icon",e.member.isUser?e.icons.faUserMinus:e.icons.faMinus),s(2),C(e.member.name),s(3),C(e.member.isUser?"Remove from group":"Delete group"),s(5),g(e.member.isUser?12:13),s(3),C(D(16,8,e.member.name)),s(4),g(e.member.isUser?19:-1),s(),g(e.member.isGroup?20:-1),s(4),c("disabled",e.submitted))},dependencies:[P,M,_t],encapsulation:2});let t=l;return t})();var Mt=(t,l)=>l.value;function Pt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span"),m(2),a()),t&2){let i=u();c("icon",i.icons.faPen),s(2),C(i.group.name)}}function Vt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span",23),m(2,"New group"),a()),t&2){let i=u();c("icon",i.icons.faPlus)}}function Rt(t,l){t&1&&(r(0,"h4",2)(1,"span",23),m(2,"Edit group"),a()())}function Ft(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Settings"),a()),t&2){let i=u();c("icon",i.icons.faCog)}}function Ut(t,l){if(t&1&&(r(0,"option",21),m(1),a()),t&2){let i=l.$implicit;c("ngValue",i.value),s(),C(i.key)}}function kt(t,l){t&1&&(r(0,"span",23),m(1,"All users can see this group."),a())}function Ot(t,l){t&1&&(r(0,"span",23),m(1,"Users who are not members of this group cannot see it."),a())}function It(t,l){t&1&&(r(0,"span",23),m(1,"The group is not visible, its members cannot see it and cannot see each other."),a())}function Bt(t,l){if(t&1&&(r(0,"div",24)(1,"div",18)(2,"label",34),m(3,"Creation date"),a(),r(4,"div",35),m(5),v(6,"amDateFormat"),a()(),r(7,"div",36)(8,"label",37),m(9,"Modification date"),a(),r(10,"div",38),m(11),v(12,"amDateFormat"),a()()()),t&2){let i=u();s(5),C(D(6,2,i.group.createdAt)),s(6),C(D(12,4,i.group.modifiedAt))}}function Nt(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Permissions"),a()),t&2){let i=u();c("icon",i.icons.faShieldHalved)}}var we=(()=>{let l=class l{constructor(){this.group=null,this.parentGroup=null,this.groupChange=new I,this.locale=x(oe),this.layout=x(V),this.icons={GROUPS:H.GROUPS,faPen:me,faPlus:ce,faCog:qe,faShieldHalved:Ye},this.submitted=!1,this.originalOrderKeyValue=de,this.allVisibilities={Visible:z.VISIBLE,Private:z.PRIVATE,Isolated:z.ISOLATED},this.adminService=x(R)}ngOnInit(){this.groupForm=new ke({name:new j(this.group?.name||"",Fe.required),description:new j(this.group?.description||""),visibility:new j(this.group?.visibility||z.VISIBLE),applications:new j(this.group?.applications||[]),parent:new j(this.parentGroup)})}updateApplications(n){this.groupForm.controls.applications.setValue(n),this.groupForm.controls.applications.markAsDirty()}onSetParent(n){this.groupForm.controls.parent.setValue(n?{id:n.id,name:n.name}:null),this.groupForm.controls.parent.markAsDirty()}searchGroups(n){let o={search:n,onlyGroups:!0,excludePersonalGroups:!0,ignoreGroupIds:this.groupForm.value.parent?[this.groupForm.value.parent.id]:[]};return this.adminService.searchMembers(o,!0)}onSubmit(){if(this.submitted=!0,this.group?.id){let n=this.makeDto();this.adminService.updateGroup(this.group.id,n).subscribe({next:o=>{this.groupChange.emit(["update",o]),this.layout.sendNotification("success","Group updated",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}else{let n=this.makeDto(!0);this.adminService.createGroup(n).subscribe({next:o=>{this.groupChange.emit(["add",o]),this.layout.sendNotification("success","Group created",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}}makeDto(n=!1){let o;n?o=Object.fromEntries(Object.keys(this.groupForm.controls).map(e=>[e,this.groupForm.controls[e].value])):o=Object.fromEntries(Object.keys(this.groupForm.controls).filter(e=>this.groupForm.controls[e].dirty).map(e=>[e,this.groupForm.controls[e].value]));for(let e in o)switch(e){case"applications":o.permissions=o[e].join(et),delete o.applications;break;case"parent":o.parentId=o[e]?o[e].id:null,delete o.parent;break}return o}onError(n){this.layout.sendNotification("error","Group error",this.groupForm.value.name,n),this.submitted=!1}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-dialog"]],inputs:{group:"group",parentGroup:"parentGroup"},outputs:{groupChange:"groupChange"},decls:50,vars:24,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body","form-validation",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","name","l10nTranslate",""],["id","name","appAutofocus","","formControlName","name","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","formControlName","description","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"d-flex","flex-column","align-items-start","col-12","pb-3"],[1,"col-6","pe-4"],["for","visibility","l10nTranslate",""],["id","visibility","formControlName","visibility",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],[1,"d-none","d-sm-block","fst-italic","fs-xxs"],["l10nTranslate",""],[1,"d-flex","align-items-start","col-12","pb-3"],["for","parent","translate",""],["id","parent",3,"data","searchFunction","active","itemIcon","placeholder"],[3,"permissionsChange","permissions"],[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"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","modified","l10nTranslate",""],["id","modified"]],template:function(o,e){if(o&1&&(r(0,"div",0)(1,"h4",1),h(2,Pt,3,2)(3,Vt,3,1),a(),h(4,Rt,3,0,"h4",2),r(5,"button",3),_("click",function(){return e.layout.closeDialog()}),a()(),r(6,"div",4)(7,"tabset",5),d(8,"hr",6),r(9,"tab",7),_("selectTab",function(){return e.tabView=null}),w(10,Ft,3,1,"ng-template",8),r(11,"div",9)(12,"div",10)(13,"div",11)(14,"label",12),m(15,"Name"),a(),d(16,"input",13),a(),r(17,"div",14)(18,"label",15),m(19,"Description"),a(),d(20,"input",16),a()(),r(21,"div",17)(22,"div",18)(23,"label",19),m(24,"Visibility"),a(),r(25,"select",20),B(26,Ut,2,2,"option",21,Mt),v(28,"keyvalue"),a()(),r(29,"div",22),h(30,kt,2,0,"span",23)(31,Ot,2,0,"span",23)(32,It,2,0,"span",23),a()(),r(33,"div",24)(34,"div",18)(35,"label",25),m(36,"Parent group"),a(),r(37,"app-select",26),v(38,"translate"),_("data",function(f){return e.onSetParent(f)}),a()()(),h(39,Bt,13,6,"div",24),a()(),r(40,"tab",7),_("selectTab",function(){return e.tabView="permissions"}),w(41,Nt,3,1,"ng-template",8),r(42,"div",9)(43,"div",10)(44,"app-admin-permissions",27),_("permissionsChange",function(f){return e.updateApplications(f)}),a()()()()()(),r(45,"div",28)(46,"button",29),_("click",function(){return e.layout.closeDialog()}),m(47,"Cancel"),a(),r(48,"button",30),_("click",function(){return e.onSubmit()}),m(49," Confirm "),a()()),o&2){let p;s(2),g(e.group?2:3),s(2),g(e.group?4:-1),s(),k(Ae("btn-close btn-close-white ",e.group?"ms-2":"ms-auto"," ms-2")),s(),c("formGroup",e.groupForm),s(),c("justified",!0),s(9),U("is-invalid",e.groupForm.controls.name.invalid),c("autoSelect",!1),s(10),N(T(28,18,e.allVisibilities,e.originalOrderKeyValue)),s(4),g((p=e.groupForm.value.visibility)===e.allVisibilities.Visible?30:p===e.allVisibilities.Private?31:p===e.allVisibilities.Isolated?32:-1),s(7),c("searchFunction",e.searchGroups.bind(e))("active",e.groupForm.value.parent)("itemIcon",e.icons.GROUPS)("placeholder",T(38,21,"Select the parent group",e.locale.language)),s(2),g(e.group?39:-1),s(5),c("permissions",e.groupForm.value.applications),s(4),c("disabled",e.submitted||e.groupForm.invalid)}},dependencies:[P,M,Le,Ne,$e,Re,Be,L,Ue,Oe,Ie,rt,ft,vt,ct,ut,pt,te,re,_e],encapsulation:2});let t=l;return t})();var St=(()=>{let l=class l{constructor(){this.layout=x(V),this.submitted=!1,this.isManager=!1,this.USER_GROUP_ROLE=K,this.icons={faUserPen:Qe,faKey:le},this.adminService=x(R)}ngOnInit(){this.isManager=this.user.isGroupManager}onSubmit(){if(this.submitted=!0,this.user.isGroupManager===this.isManager){this.layout.closeDialog();return}let n=this.isManager?K.MANAGER:K.MEMBER;this.adminService.updateUserFromGroup(this.parentGroup.id,this.user.id,{role:n}).subscribe({next:()=>{this.user.setGroupRole(n),this.layout.sendNotification("success","Edit user",this.user.name),this.layout.closeDialog()},error:o=>{this.submitted=!1,this.layout.sendNotification("error","Edit user",this.user.name,o)}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-edit-user-dialog"]],inputs:{parentGroup:"parentGroup",user:"user"},decls:25,vars:5,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-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"],[1,"d-flex","align-items-center"],[1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],[1,"ms-1",3,"icon"],[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(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Edit user"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8)(12,"div",9)(13,"label",10)(14,"input",11),ee("ngModelChange",function(f){return Z(e.isManager,f)||(e.isManager=f),f}),a(),r(15,"span",4),m(16,"Set as group manager"),a(),d(17,"fa-icon",12),a()()()(),r(18,"small",4),m(19,"As a manager, the user will be able to manage group members but not group properties."),a()(),r(20,"div",13)(21,"button",14),_("click",function(){return e.layout.closeDialog()}),m(22,"Cancel"),a(),r(23,"button",15),_("click",function(){return e.onSubmit()}),m(24," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPen),s(2),C(e.user.name),s(10),X("ngModel",e.isManager),s(3),c("icon",e.icons.faKey),s(6),c("disabled",e.submitted))},dependencies:[P,M,ne,Ve,L,ie],encapsulation:2});let t=l;return t})();var $t=["MainContextMenu"],Lt=["TargetContextMenu"],Tt=(t,l)=>l.key,jt=(t,l)=>l.mid;function Kt(t,l){if(t&1){let i=A();r(0,"ul",26)(1,"li",27)(2,"a",28),_("click",function(){y(i);let o=u();return G(o.openDialog(!0))}),r(3,"span",14),d(4,"fa-icon",7),m(5),a()()(),r(6,"li",27)(7,"a",28),_("click",function(){y(i);let o=u();return G(o.addUserToGroupDialog())}),r(8,"span",14),d(9,"fa-icon",7),m(10,"Add members"),a()()()()}if(t&2){let i=u();s(2),U("disabled",!!i.currentGroup&&i.personalGroupsView),s(2),c("icon",i.icons.GROUPS),s(),$(" ",i.personalGroupsView?"Personal group":"Group"),s(2),U("disabled",!i.currentGroup),s(2),c("icon",i.icons.faUserPlus)}}function Ht(t,l){if(t&1&&d(0,"fa-icon",31),t&2){let i=u(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function Qt(t,l){if(t&1){let i=A();r(0,"th",30),_("click",function(){y(i);let o=u().$implicit,e=u();return G(e.sortBy(o.key))}),m(1),h(2,Ht,1,2,"fa-icon",31),a()}if(t&2){let i=u().$implicit,n=u();k(i.value.class),Ce("width",i.value.width,"%"),U("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),s(),$(" ",i.value.label," "),s(),g(n.sortTable.sortParam.column===i.key?2:-1)}}function qt(t,l){if(t&1&&h(0,Qt,3,10,"th",29),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function Wt(t,l){if(t&1&&d(0,"img",36),t&2){let i=u(4).$implicit;c("src",i.avatarUrl,J)}}function zt(t,l){if(t&1&&d(0,"fa-icon",7),t&2){let i=u(4).$implicit,n=u();k(i.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",n.icons.GROUPS)}}function Yt(t,l){if(t&1&&d(0,"fa-icon",39),t&2){let i=u(5);c("icon",i.icons.faKey)}}function Jt(t,l){if(t&1&&(r(0,"div",34),h(1,Wt,1,1,"img",36)(2,zt,1,3,"fa-icon",37),r(3,"div",35)(4,"span",38),m(5),h(6,Yt,1,1,"fa-icon",39),a(),r(7,"span",40),m(8),a()()()),t&2){let i=u(3).$implicit;s(),g(i.isUser?1:2),s(4),$(" ",i.name," "),s(),g(i.isUser&&i.isGroupManager?6:-1),s(2),C(i.description)}}function Xt(t,l){if(t&1&&(r(0,"span"),m(1),v(2,"joinCounts"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.counts))}}function Zt(t,l){if(t&1&&h(0,Xt,3,3,"span"),t&2){let i=u(3).$implicit;g(i.isGroup?0:-1)}}function ei(t,l){t&1&&(r(0,"span",14),m(1,"manager"),a())}function ti(t,l){if(t&1&&(r(0,"span",14),m(1),a()),t&2){let i=u(4).$implicit;s(),C(i.type)}}function ii(t,l){if(t&1&&h(0,ei,2,0,"span",14)(1,ti,2,1,"span",14),t&2){let i=u(3).$implicit;g(i.isUser&&i.isGroupManager?0:1)}}function ni(t,l){if(t&1&&(r(0,"div"),m(1),v(2,"amDateFormat"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.modifiedAt))}}function oi(t,l){if(t&1&&(r(0,"div",35)(1,"div"),m(2),v(3,"amDateFormat"),a(),h(4,ni,3,3,"div"),a()),t&2){let i=u(3).$implicit;s(2),C(D(3,2,i.createdAt)),s(2),g(i.modifiedAt?4:-1)}}function ri(t,l){if(t&1&&(r(0,"td"),h(1,Jt,9,4,"div",34)(2,Zt,1,1)(3,ii,2,1)(4,oi,5,4,"div",35),a()),t&2){let i,n=u().$implicit,o=u().$implicit;k(De("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),Ce("width",n.value.width,"%"),U("text-align-center",n.value.textCenter),s(),g((i=n.key)==="name"?1:i==="members"?2:i==="type"?3:i==="createdAndModified"?4:-1)}}function ai(t,l){if(t&1&&h(0,ri,5,9,"td",33),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function li(t,l){if(t&1){let i=A();r(0,"tr",32),_("click",function(){let o=y(i).$implicit,e=u();return G(e.onSelect(o))})("contextmenu",function(o){let e=y(i).$implicit,p=u();return G(p.onTargetContextMenu(o,e))})("appTap",function(){let o=y(i).$implicit,e=u();return G(e.browse(o))}),B(1,ai,1,1,null,null,Tt),v(3,"keyvalue"),a()}if(t&2){let i=l.$implicit,n=u();U("selected",i.mid===(n.selected==null?null:n.selected.mid)),s(),N(T(3,2,n.tableHeaders,n.originalOrderKeyValue))}}function si(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPlus),s(),$(" ",i.personalGroupsView?"Personal group":"Group")}}function mi(t,l){if(t&1){let i=A();w(0,si,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog(!0))})}}function pi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Add members"),a()),t&2){let i=u(2);s(),c("icon",i.icons.faUserPlus)}}function ci(t,l){if(t&1){let i=A();w(0,pi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.addUserToGroupDialog())})}}function ui(t,l){}function di(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Refresh"),a()),t&2){let i=u();s(),c("icon",i.icons.faArrowRotateRight)}}function _i(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPen),s(),$(" ",i.selected.isGroup?"Edit group":"Edit user")}}function fi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Delete group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faMinus)}}function hi(t,l){if(t&1){let i=A();w(0,fi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function gi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Remove from group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faUserMinus)}}function bi(t,l){if(t&1){let i=A();w(0,gi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function Ci(t,l){if(t&1){let i=A();w(0,_i,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog())}),h(1,hi,1,0,null,23)(2,bi,1,0,null,23)}if(t&2){let i=u();s(),g(i.selected.isGroup?1:2)}}var ao=(()=>{let l=class l{constructor(){this.locale=x(oe),this.originalOrderKeyValue=de,this.icons={GROUPS:H.GROUPS,faRotate:Ke,faPlus:ce,faMinus:ae,faPen:me,faArrowDown:Xe,faArrowUp:We,faKey:le,faUserPlus:se,faUserMinus:pe,faArrowRotateRight:Je,faToggleOn:ze,faToggleOff:He},this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},type:{label:"Type",width:10,textCenter:!0,class:"",show:!0,sortable:!0},members:{label:"Members",width:10,class:"",textCenter:!0,show:!0},createdAndModified:{label:"Created & Modified",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.personalGroupsView=!1,this.loading=!1,this.selected=null,this.members=[],this.router=x(Pe),this.activatedRoute=x(Me),this.layout=x(V),this.adminService=x(R),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],type:[{prop:"type",type:"string"}],createdAndModified:[{prop:"modifiedAt",type:"date"},{prop:"createdAt",type:"date"}]},this.sortTable=new mt(this.constructor.name,this.sortSettings),this.activatedRoute.data.subscribe(n=>{this.personalGroupsView=n.type===ue.PERSONAL,this.setEnv(n.routes)}),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select),this.layout.setBreadcrumbIcon(tt.GROUPS)}onPersonalGroupsView(n){this.personalGroupsView=n,this.router.navigate([S.BASE,n?S.PGROUPS:S.GROUPS]).catch(console.error)}refresh(){this.loadGroups(this.currentGroup?.name)}browse(n){n.isGroup&&this.router.navigate([n.name],{relativeTo:this.activatedRoute}).catch(console.error)}onSelect(n=null){this.selected=n}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}sortBy(n,o=!0,e){this.members=this.sortTable.sortBy(n,o,e||this.members)}addUserToGroupDialog(){this.layout.openDialog(xt,"md",{initialState:{parentGroup:this.currentGroup,currentMemberIds:this.members.filter(o=>o.isUser).map(o=>o.id)}}).content.hasChanges.pipe(be(o=>o),O(1)).subscribe(()=>this.refresh())}openDialog(n=!1,o=!1){n?this.personalGroupsView?this.layout.openDialog(Te,"md").content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="add"&&(b.setGroupRole(K.MANAGER),b.counts={users:1},this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(b)),this.onSelect(b))}):this.layout.openDialog(we,"md",{initialState:{parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;if(f==="add")if(!this.currentGroup&&!b?.parent||b.parent.id===this.currentGroup.id){let F=new ye(ge(he({},b),{type:xe.GROUP}));this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(new ye(ge(he({},b),{type:xe.GROUP})))),this.onSelect(F)}else this.router.navigate([`${S.BASE}/${S.GROUPS}`,b.parent?.id?b.parent.name:""],{queryParams:{select:b.name}}).catch(console.error)}):o?this.layout.openDialog(yt,"md",{initialState:{parentGroup:this.currentGroup,member:this.selected}}).content.wasDeleted.pipe(be(p=>p),O(1)).subscribe(()=>{this.currentGroup?this.selected.counts?.groups?this.loadGroups(this.currentGroup.name):(this.sortBy(this.sortTable.sortParam.column,!1,this.members.filter(p=>this.selected.mid!==p.mid)),this.onSelect()):this.loadGroups()}):this.selected.isGroup?this.personalGroupsView?this.layout.openDialog(Te,"md",{initialState:{originalGroup:this.selected}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="update"&&(this.selected=Object.assign(this.selected,{name:b.name,description:b.description,modifiedAt:b.modifiedAt}))}):this.adminService.getGroup(this.selected.id).subscribe({next:e=>{this.layout.openDialog(we,"md",{initialState:{group:e,parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(f=>{let[b,F]=f;b==="update"&&(!this.currentGroup&&!F?.parent||F.parent.id===this.currentGroup.id?this.selected=Object.assign(this.selected,F):this.router.navigate([`${S.BASE}/${S.GROUPS}`,F.parent?.id?F.parent.name:""],{queryParams:{select:F.name}}).catch(console.error))})},error:e=>this.layout.sendNotification("error","Edit group",this.selected.name,e)}):this.layout.openDialog(St,"md",{initialState:{user:this.selected,parentGroup:this.currentGroup}})}setEnv(n){let o;n.length?(o=n[n.length-1].path,this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}${ve(n)}`:`/${S.BASE}/${S.GROUPS}${ve(n)}`,firstLink:`/${S.BASE}/${S.GROUPS}`,splicing:1,translating:!0,sameLink:!1,mutateLevel:{0:{setTitle:this.personalGroupsView?Y.PGROUPS:Y.GROUPS,translateTitle:!0}}})):this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}/${Y.PGROUPS}`:`/${S.BASE}/${S.GROUPS}/${Y.GROUPS}`,splicing:2,translating:!0,sameLink:!0}),this.loadGroups(o)}loadGroups(n){this.loading=!0,this.onSelect(),this.adminService.browseGroup(n,this.personalGroupsView).subscribe({next:o=>{this.currentGroup=o.parentGroup,this.sortBy(this.sortTable.sortParam.column,!1,o.members),this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1),this.loading=!1},error:o=>{this.members=[],this.layout.sendNotification("error","Groups",o.error.message),this.onSelect(),this.loading=!1}})}focusOn(n){let o=this.members.find(e=>e.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-groups"]],viewQuery:function(o,e){if(o&1&&(Q(Se,5),Q(Ge,7),Q($t,7),Q(Lt,7)),o&2){let p;q(p=W())&&(e.scrollView=p.first),q(p=W())&&(e.inputFilter=p.first),q(p=W())&&(e.mainContextMenu=p.first),q(p=W())&&(e.targetContextMenu=p.first)}},decls:48,vars:42,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"],["dropdown","",1,"btn-group","btn-group-sm","me-1"],["dropdownToggle","","container","body","type","button",1,"btn","btn-sm","btn-secondary","dropdown-toggle",3,"tooltip"],[3,"icon"],["class","dropdown-menu","role","menu",4,"dropdownMenu"],["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,"selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem",""],["contextMenuItem","",3,"divider"],["contextMenuItem","",3,"execute"],["role","menu",1,"dropdown-menu"],["role","menuitem"],[1,"dropdown-item",3,"click"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"]],template:function(o,e){if(o&1){let p=A();r(0,"div",2)(1,"button",3),v(2,"translate"),_("click",function(){return y(p),G(e.refresh())}),d(3,"fa-icon",4),a(),r(4,"div",5)(5,"button",6),v(6,"translate"),d(7,"fa-icon",7),a(),w(8,Kt,11,7,"ul",8),a(),r(9,"button",9),v(10,"translate"),_("click",function(){return y(p),G(e.openDialog(!1,!0))}),d(11,"fa-icon",7),a(),r(12,"button",9),v(13,"translate"),_("click",function(){return y(p),G(e.openDialog())}),d(14,"fa-icon",7),a(),r(15,"div",10)(16,"button",11),_("ngModelChange",function(b){return y(p),G(e.onPersonalGroupsView(b))}),r(17,"div",12),d(18,"fa-icon",13),r(19,"span",14),m(20,"Personal groups"),a()()(),r(21,"div",15),d(22,"app-input-filter",16),a()()(),r(23,"table",17)(24,"thead")(25,"tr"),B(26,qt,1,1,null,null,Tt),v(28,"keyvalue"),a()()(),r(29,"app-virtual-scroll",18),v(30,"searchFilter"),_("contextmenu",function(b){return y(p),G(e.onContextMenu(b))}),r(31,"table",17)(32,"tbody",19),B(33,li,4,5,"tr",20,jt),a()()(),r(35,"div",21)(36,"span",22),m(37),v(38,"translate"),a()(),r(39,"context-menu",null,0),h(41,mi,1,0,null,23),h(42,ci,1,0,null,23),w(43,ui,0,0,"ng-template",24)(44,di,3,1,"ng-template",25),_("execute",function(){return y(p),G(e.refresh())}),a(),r(45,"context-menu",null,1),h(47,Ci,3,1),a()}o&2&&(s(),c("tooltip",T(2,21,"Refresh",e.locale.language)),s(2),c("icon",e.icons.faRotate)("animation",e.loading?"spin":null),s(2),c("tooltip",T(6,24,"New",e.locale.language)),s(2),c("icon",e.icons.faPlus),s(2),c("disabled",!e.selected)("tooltip",T(10,27,e.selected!=null&&e.selected.isUser?"Remove from group":"Delete group",e.locale.language)),s(2),c("icon",e.icons.faMinus),s(),c("disabled",!e.selected)("tooltip",T(13,30,e.selected!=null&&e.selected.isGroup?"Edit group":"Edit user",e.locale.language)),s(2),c("icon",e.icons.faPen),s(2),c("ngModel",e.personalGroupsView),s(2),c("icon",e.personalGroupsView?e.icons.faToggleOn:e.icons.faToggleOff),s(8),N(T(28,33,e.tableHeaders,e.originalOrderKeyValue)),s(3),c("bufferAmount",5)("items",T(30,36,e.members,e.inputFilter.search())),s(4),N(e.scrollView==null?null:e.scrollView.viewPortItems),s(4),Ee("",e.members.length," ",T(38,39,"groups",e.locale.language)),s(4),g(e.currentGroup&&!e.personalGroupsView||!e.currentGroup&&e.personalGroupsView?41:-1),s(),g(e.currentGroup?42:-1),s(),c("divider",!0),s(4),g(e.selected?47:-1))},dependencies:[ot,nt,it,P,M,Ge,Se,je,ht,bt,gt,at,ne,L,ie,lt,te,re,st,Ct,_e],encapsulation:2});let t=l;return t})();export{ao as AdminGroupsComponent};
1
+ import{b as R,c as ft}from"./chunk-3WLBVJ2S.js";import{a as ue,b as z,c as Ct,d as Te,e as vt}from"./chunk-HCSWO7BO.js";import{a as ht,b as gt,c as bt}from"./chunk-RK2ONYTL.js";import{a as S,b as Y,c as tt,e as _t}from"./chunk-3YDYZLF7.js";import{a as lt,c as dt}from"./chunk-6B3GGAV3.js";import{a as _e}from"./chunk-QMHUIHSR.js";import{a as st}from"./chunk-V6FA5QY4.js";import{a as pt,b as ct,c as ut}from"./chunk-XCLK7NJL.js";import{a as Se}from"./chunk-MIA5YBOI.js";import{a as Ge,b as mt}from"./chunk-5E3TYOL3.js";import"./chunk-NKGKBQBX.js";import{m as rt,n as xe,s as ye}from"./chunk-FNOTGWRW.js";import{a as at}from"./chunk-ZCOWBVOT.js";import"./chunk-PXRT4L57.js";import{A as Ze,B as K,C as et,Cb as V,J as H,cb as ve,gb as de,s as je,va as it,wa as nt,xa as ot}from"./chunk-I2S3XPC5.js";import{b as Me,d as Pe}from"./chunk-Y5RLD72B.js";import{Bb as A,Cd as ne,Dd as Le,E as be,Eb as _,Ed as oe,Gb as u,He as Qe,Hf as pe,Ia as J,Jd as re,Kb as Q,Kd as M,Kf as ze,L as O,Lb as q,Ld as Ke,Mb as W,Mf as Ye,Oa as s,Pc as te,Qa as I,Qb as Ce,Qd as ae,Qe as se,Rb as U,Rf as ce,Sb as k,Tb as m,Tf as Je,Ub as C,Vb as $,Vd as He,Wb as Ee,Xb as X,Yb as Z,Zb as ee,ab as E,af as qe,cc as Ae,dc as De,df as We,dg as Xe,ed as Ve,fb as w,fd as Re,hd as Fe,he as le,ja as x,jd as L,kc as v,kd as Ue,lb as h,lc as D,ld as ke,mb as g,mc as T,nd as j,oa as y,od as ie,og as P,pa as G,pb as B,qb as N,rb as c,sb as r,sd as Oe,tb as a,td as Ie,ub as d,ud as Be,vd as Ne,wd as $e,zf as me}from"./chunk-IOIBQGHN.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{a as he,b as ge}from"./chunk-KAVP6UXH.js";var xt=(()=>{let l=class l{constructor(){this.currentMemberIds=[],this.hasChanges=new I,this.layout=x(V),this.newMembers=[],this.submitted=!1,this.icons={faUserPlus:se},this.adminService=x(R)}searchMembers(n){let o={search:n,onlyUsers:!0,usersRole:this.parentGroup.type===ue.USER?Ze.USER:void 0,ignoreUserIds:[...this.currentMemberIds,...this.newMembers.map(e=>e.id)]};return this.adminService.searchMembers(o)}onSubmit(){this.submitted=!0,this.adminService.addUsersToGroup(this.parentGroup.id,this.newMembers.map(n=>n.id)).subscribe({next:()=>{this.hasChanges.emit(!0),this.layout.sendNotification("success","Add members",this.newMembers.map(n=>n.name).join("<br>"),null,{enableHtml:!0}),this.layout.closeDialog()},error:n=>{this.submitted=!1,this.layout.sendNotification("error","Add members",this.newMembers.map(o=>o.name).join("<br>"),n,{enableHtml:!0})}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-add-users-dialog"]],inputs:{parentGroup:"parentGroup",currentMemberIds:"currentMemberIds"},outputs:{hasChanges:"hasChanges"},decls:16,vars:7,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-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,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[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(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Add members"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"app-user-search",7),ee("membersChange",function(f){return Z(e.newMembers,f)||(e.newMembers=f),f}),a()(),r(11,"div",8)(12,"button",9),_("click",function(){return e.layout.closeDialog()}),m(13,"Cancel"),a(),r(14,"button",10),_("click",function(){return e.onSubmit()}),m(15," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPlus),s(2),C(e.parentGroup.name),s(6),X("members",e.newMembers),c("withPermissions",!1)("customPlaceholder","Type to search for users to add")("searchFunction",e.searchMembers.bind(e)),s(4),c("disabled",e.submitted||!e.newMembers.length))},dependencies:[P,M,dt],encapsulation:2});let t=l;return t})();function wt(t,l){if(t&1&&d(0,"img",9),t&2){let i=u();c("src",i.member.avatarUrl,J)}}function Et(t,l){if(t&1&&d(0,"fa-icon",15),t&2){let i=u();k(i.member.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",i.icons.GROUPS)}}function At(t,l){if(t&1&&(r(0,"div",7)(1,"span",16),m(2,"from the group"),a(),r(3,"span",11),m(4),v(5,"capitalize"),a()()),t&2){let i=u();s(4),C(D(5,1,i.parentGroup.name))}}function Dt(t,l){t&1&&(r(0,"small",4),m(1,"Only the group will be deleted, the members will no longer be part of it."),a())}var yt=(()=>{let l=class l{constructor(){this.wasDeleted=new I,this.submitted=!1,this.icons={GROUPS:H.GROUPS,faMinus:ae,faUserMinus:pe},this.layout=x(V),this.adminService=x(R)}onSubmit(){this.submitted=!0;let n=this.member.isUser?"Remove from group":"Delete group";(this.member.isUser?this.adminService.removeUserFromGroup(this.parentGroup.id,this.member.id):this.adminService.deleteGroup(this.member.id)).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success",n,this.member.name),this.onClose()},error:e=>{this.submitted=!1,this.layout.sendNotification("error",n,this.member.name,e)}})}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-delete-dialog"]],inputs:{parentGroup:"parentGroup",member:"member"},outputs:{wasDeleted:"wasDeleted"},decls:26,vars:10,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-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"],[1,"d-flex","align-items-center"],[1,"d-flex","align-items-center","avatar","me-2"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],[1,"fw-bold","me-1"],[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-danger",3,"click","disabled"],[3,"icon"],["l10nTranslate","",1,"mx-1"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7),a()(),r(8,"button",5),_("click",function(){return e.onClose()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8),h(12,wt,1,1,"img",9)(13,Et,1,3,"fa-icon",10),a(),r(14,"span",11),m(15),v(16,"capitalize"),a(),r(17,"span",4),m(18,"will be removed"),a(),h(19,At,6,3,"div",7),a(),h(20,Dt,2,0,"small",4),a(),r(21,"div",12)(22,"button",13),_("click",function(){return e.onClose()}),m(23,"Cancel"),a(),r(24,"button",14),_("click",function(){return e.onSubmit()}),m(25," Remove "),a()()),o&2&&(s(2),c("icon",e.member.isUser?e.icons.faUserMinus:e.icons.faMinus),s(2),C(e.member.name),s(3),C(e.member.isUser?"Remove from group":"Delete group"),s(5),g(e.member.isUser?12:13),s(3),C(D(16,8,e.member.name)),s(4),g(e.member.isUser?19:-1),s(),g(e.member.isGroup?20:-1),s(4),c("disabled",e.submitted))},dependencies:[P,M,_t],encapsulation:2});let t=l;return t})();var Mt=(t,l)=>l.value;function Pt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span"),m(2),a()),t&2){let i=u();c("icon",i.icons.faPen),s(2),C(i.group.name)}}function Vt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span",23),m(2,"New group"),a()),t&2){let i=u();c("icon",i.icons.faPlus)}}function Rt(t,l){t&1&&(r(0,"h4",2)(1,"span",23),m(2,"Edit group"),a()())}function Ft(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Settings"),a()),t&2){let i=u();c("icon",i.icons.faCog)}}function Ut(t,l){if(t&1&&(r(0,"option",21),m(1),a()),t&2){let i=l.$implicit;c("ngValue",i.value),s(),C(i.key)}}function kt(t,l){t&1&&(r(0,"span",23),m(1,"All users can see this group."),a())}function Ot(t,l){t&1&&(r(0,"span",23),m(1,"Users who are not members of this group cannot see it."),a())}function It(t,l){t&1&&(r(0,"span",23),m(1,"The group is not visible, its members cannot see it and cannot see each other."),a())}function Bt(t,l){if(t&1&&(r(0,"div",24)(1,"div",18)(2,"label",34),m(3,"Creation date"),a(),r(4,"div",35),m(5),v(6,"amDateFormat"),a()(),r(7,"div",36)(8,"label",37),m(9,"Modification date"),a(),r(10,"div",38),m(11),v(12,"amDateFormat"),a()()()),t&2){let i=u();s(5),C(D(6,2,i.group.createdAt)),s(6),C(D(12,4,i.group.modifiedAt))}}function Nt(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Permissions"),a()),t&2){let i=u();c("icon",i.icons.faShieldHalved)}}var we=(()=>{let l=class l{constructor(){this.group=null,this.parentGroup=null,this.groupChange=new I,this.locale=x(oe),this.layout=x(V),this.icons={GROUPS:H.GROUPS,faPen:me,faPlus:ce,faCog:qe,faShieldHalved:Ye},this.submitted=!1,this.originalOrderKeyValue=de,this.allVisibilities={Visible:z.VISIBLE,Private:z.PRIVATE,Isolated:z.ISOLATED},this.adminService=x(R)}ngOnInit(){this.groupForm=new ke({name:new j(this.group?.name||"",Fe.required),description:new j(this.group?.description||""),visibility:new j(this.group?.visibility||z.VISIBLE),applications:new j(this.group?.applications||[]),parent:new j(this.parentGroup)})}updateApplications(n){this.groupForm.controls.applications.setValue(n),this.groupForm.controls.applications.markAsDirty()}onSetParent(n){this.groupForm.controls.parent.setValue(n?{id:n.id,name:n.name}:null),this.groupForm.controls.parent.markAsDirty()}searchGroups(n){let o={search:n,onlyGroups:!0,excludePersonalGroups:!0,ignoreGroupIds:this.groupForm.value.parent?[this.groupForm.value.parent.id]:[]};return this.adminService.searchMembers(o,!0)}onSubmit(){if(this.submitted=!0,this.group?.id){let n=this.makeDto();this.adminService.updateGroup(this.group.id,n).subscribe({next:o=>{this.groupChange.emit(["update",o]),this.layout.sendNotification("success","Group updated",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}else{let n=this.makeDto(!0);this.adminService.createGroup(n).subscribe({next:o=>{this.groupChange.emit(["add",o]),this.layout.sendNotification("success","Group created",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}}makeDto(n=!1){let o;n?o=Object.fromEntries(Object.keys(this.groupForm.controls).map(e=>[e,this.groupForm.controls[e].value])):o=Object.fromEntries(Object.keys(this.groupForm.controls).filter(e=>this.groupForm.controls[e].dirty).map(e=>[e,this.groupForm.controls[e].value]));for(let e in o)switch(e){case"applications":o.permissions=o[e].join(et),delete o.applications;break;case"parent":o.parentId=o[e]?o[e].id:null,delete o.parent;break}return o}onError(n){this.layout.sendNotification("error","Group error",this.groupForm.value.name,n),this.submitted=!1}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-dialog"]],inputs:{group:"group",parentGroup:"parentGroup"},outputs:{groupChange:"groupChange"},decls:50,vars:24,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body","form-validation",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","name","l10nTranslate",""],["id","name","appAutofocus","","formControlName","name","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","formControlName","description","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"d-flex","flex-column","align-items-start","col-12","pb-3"],[1,"col-6","pe-4"],["for","visibility","l10nTranslate",""],["id","visibility","formControlName","visibility",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],[1,"d-none","d-sm-block","fst-italic","fs-xxs"],["l10nTranslate",""],[1,"d-flex","align-items-start","col-12","pb-3"],["for","parent","translate",""],["id","parent",3,"data","searchFunction","active","itemIcon","placeholder"],[3,"permissionsChange","permissions"],[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"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","modified","l10nTranslate",""],["id","modified"]],template:function(o,e){if(o&1&&(r(0,"div",0)(1,"h4",1),h(2,Pt,3,2)(3,Vt,3,1),a(),h(4,Rt,3,0,"h4",2),r(5,"button",3),_("click",function(){return e.layout.closeDialog()}),a()(),r(6,"div",4)(7,"tabset",5),d(8,"hr",6),r(9,"tab",7),_("selectTab",function(){return e.tabView=null}),w(10,Ft,3,1,"ng-template",8),r(11,"div",9)(12,"div",10)(13,"div",11)(14,"label",12),m(15,"Name"),a(),d(16,"input",13),a(),r(17,"div",14)(18,"label",15),m(19,"Description"),a(),d(20,"input",16),a()(),r(21,"div",17)(22,"div",18)(23,"label",19),m(24,"Visibility"),a(),r(25,"select",20),B(26,Ut,2,2,"option",21,Mt),v(28,"keyvalue"),a()(),r(29,"div",22),h(30,kt,2,0,"span",23)(31,Ot,2,0,"span",23)(32,It,2,0,"span",23),a()(),r(33,"div",24)(34,"div",18)(35,"label",25),m(36,"Parent group"),a(),r(37,"app-select",26),v(38,"translate"),_("data",function(f){return e.onSetParent(f)}),a()()(),h(39,Bt,13,6,"div",24),a()(),r(40,"tab",7),_("selectTab",function(){return e.tabView="permissions"}),w(41,Nt,3,1,"ng-template",8),r(42,"div",9)(43,"div",10)(44,"app-admin-permissions",27),_("permissionsChange",function(f){return e.updateApplications(f)}),a()()()()()(),r(45,"div",28)(46,"button",29),_("click",function(){return e.layout.closeDialog()}),m(47,"Cancel"),a(),r(48,"button",30),_("click",function(){return e.onSubmit()}),m(49," Confirm "),a()()),o&2){let p;s(2),g(e.group?2:3),s(2),g(e.group?4:-1),s(),k(Ae("btn-close btn-close-white ",e.group?"ms-2":"ms-auto"," ms-2")),s(),c("formGroup",e.groupForm),s(),c("justified",!0),s(9),U("is-invalid",e.groupForm.controls.name.invalid),c("autoSelect",!1),s(10),N(T(28,18,e.allVisibilities,e.originalOrderKeyValue)),s(4),g((p=e.groupForm.value.visibility)===e.allVisibilities.Visible?30:p===e.allVisibilities.Private?31:p===e.allVisibilities.Isolated?32:-1),s(7),c("searchFunction",e.searchGroups.bind(e))("active",e.groupForm.value.parent)("itemIcon",e.icons.GROUPS)("placeholder",T(38,21,"Select the parent group",e.locale.language)),s(2),g(e.group?39:-1),s(5),c("permissions",e.groupForm.value.applications),s(4),c("disabled",e.submitted||e.groupForm.invalid)}},dependencies:[P,M,Le,Ne,$e,Re,Be,L,Ue,Oe,Ie,rt,ft,vt,ct,ut,pt,te,re,_e],encapsulation:2});let t=l;return t})();var St=(()=>{let l=class l{constructor(){this.layout=x(V),this.submitted=!1,this.isManager=!1,this.USER_GROUP_ROLE=K,this.icons={faUserPen:Qe,faKey:le},this.adminService=x(R)}ngOnInit(){this.isManager=this.user.isGroupManager}onSubmit(){if(this.submitted=!0,this.user.isGroupManager===this.isManager){this.layout.closeDialog();return}let n=this.isManager?K.MANAGER:K.MEMBER;this.adminService.updateUserFromGroup(this.parentGroup.id,this.user.id,{role:n}).subscribe({next:()=>{this.user.setGroupRole(n),this.layout.sendNotification("success","Edit user",this.user.name),this.layout.closeDialog()},error:o=>{this.submitted=!1,this.layout.sendNotification("error","Edit user",this.user.name,o)}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-edit-user-dialog"]],inputs:{parentGroup:"parentGroup",user:"user"},decls:25,vars:5,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-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"],[1,"d-flex","align-items-center"],[1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],[1,"ms-1",3,"icon"],[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(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Edit user"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8)(12,"div",9)(13,"label",10)(14,"input",11),ee("ngModelChange",function(f){return Z(e.isManager,f)||(e.isManager=f),f}),a(),r(15,"span",4),m(16,"Set as group manager"),a(),d(17,"fa-icon",12),a()()()(),r(18,"small",4),m(19,"As a manager, the user will be able to manage group members but not group properties."),a()(),r(20,"div",13)(21,"button",14),_("click",function(){return e.layout.closeDialog()}),m(22,"Cancel"),a(),r(23,"button",15),_("click",function(){return e.onSubmit()}),m(24," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPen),s(2),C(e.user.name),s(10),X("ngModel",e.isManager),s(3),c("icon",e.icons.faKey),s(6),c("disabled",e.submitted))},dependencies:[P,M,ne,Ve,L,ie],encapsulation:2});let t=l;return t})();var $t=["MainContextMenu"],Lt=["TargetContextMenu"],Tt=(t,l)=>l.key,jt=(t,l)=>l.mid;function Kt(t,l){if(t&1){let i=A();r(0,"ul",26)(1,"li",27)(2,"a",28),_("click",function(){y(i);let o=u();return G(o.openDialog(!0))}),r(3,"span",14),d(4,"fa-icon",7),m(5),a()()(),r(6,"li",27)(7,"a",28),_("click",function(){y(i);let o=u();return G(o.addUserToGroupDialog())}),r(8,"span",14),d(9,"fa-icon",7),m(10,"Add members"),a()()()()}if(t&2){let i=u();s(2),U("disabled",!!i.currentGroup&&i.personalGroupsView),s(2),c("icon",i.icons.GROUPS),s(),$(" ",i.personalGroupsView?"Personal group":"Group"),s(2),U("disabled",!i.currentGroup),s(2),c("icon",i.icons.faUserPlus)}}function Ht(t,l){if(t&1&&d(0,"fa-icon",31),t&2){let i=u(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function Qt(t,l){if(t&1){let i=A();r(0,"th",30),_("click",function(){y(i);let o=u().$implicit,e=u();return G(e.sortBy(o.key))}),m(1),h(2,Ht,1,2,"fa-icon",31),a()}if(t&2){let i=u().$implicit,n=u();k(i.value.class),Ce("width",i.value.width,"%"),U("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),s(),$(" ",i.value.label," "),s(),g(n.sortTable.sortParam.column===i.key?2:-1)}}function qt(t,l){if(t&1&&h(0,Qt,3,10,"th",29),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function Wt(t,l){if(t&1&&d(0,"img",36),t&2){let i=u(4).$implicit;c("src",i.avatarUrl,J)}}function zt(t,l){if(t&1&&d(0,"fa-icon",7),t&2){let i=u(4).$implicit,n=u();k(i.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",n.icons.GROUPS)}}function Yt(t,l){if(t&1&&d(0,"fa-icon",39),t&2){let i=u(5);c("icon",i.icons.faKey)}}function Jt(t,l){if(t&1&&(r(0,"div",34),h(1,Wt,1,1,"img",36)(2,zt,1,3,"fa-icon",37),r(3,"div",35)(4,"span",38),m(5),h(6,Yt,1,1,"fa-icon",39),a(),r(7,"span",40),m(8),a()()()),t&2){let i=u(3).$implicit;s(),g(i.isUser?1:2),s(4),$(" ",i.name," "),s(),g(i.isUser&&i.isGroupManager?6:-1),s(2),C(i.description)}}function Xt(t,l){if(t&1&&(r(0,"span"),m(1),v(2,"joinCounts"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.counts))}}function Zt(t,l){if(t&1&&h(0,Xt,3,3,"span"),t&2){let i=u(3).$implicit;g(i.isGroup?0:-1)}}function ei(t,l){t&1&&(r(0,"span",14),m(1,"manager"),a())}function ti(t,l){if(t&1&&(r(0,"span",14),m(1),a()),t&2){let i=u(4).$implicit;s(),C(i.type)}}function ii(t,l){if(t&1&&h(0,ei,2,0,"span",14)(1,ti,2,1,"span",14),t&2){let i=u(3).$implicit;g(i.isUser&&i.isGroupManager?0:1)}}function ni(t,l){if(t&1&&(r(0,"div"),m(1),v(2,"amDateFormat"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.modifiedAt))}}function oi(t,l){if(t&1&&(r(0,"div",35)(1,"div"),m(2),v(3,"amDateFormat"),a(),h(4,ni,3,3,"div"),a()),t&2){let i=u(3).$implicit;s(2),C(D(3,2,i.createdAt)),s(2),g(i.modifiedAt?4:-1)}}function ri(t,l){if(t&1&&(r(0,"td"),h(1,Jt,9,4,"div",34)(2,Zt,1,1)(3,ii,2,1)(4,oi,5,4,"div",35),a()),t&2){let i,n=u().$implicit,o=u().$implicit;k(De("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),Ce("width",n.value.width,"%"),U("text-align-center",n.value.textCenter),s(),g((i=n.key)==="name"?1:i==="members"?2:i==="type"?3:i==="createdAndModified"?4:-1)}}function ai(t,l){if(t&1&&h(0,ri,5,9,"td",33),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function li(t,l){if(t&1){let i=A();r(0,"tr",32),_("click",function(){let o=y(i).$implicit,e=u();return G(e.onSelect(o))})("contextmenu",function(o){let e=y(i).$implicit,p=u();return G(p.onTargetContextMenu(o,e))})("appTap",function(){let o=y(i).$implicit,e=u();return G(e.browse(o))}),B(1,ai,1,1,null,null,Tt),v(3,"keyvalue"),a()}if(t&2){let i=l.$implicit,n=u();U("selected",i.mid===(n.selected==null?null:n.selected.mid)),s(),N(T(3,2,n.tableHeaders,n.originalOrderKeyValue))}}function si(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPlus),s(),$(" ",i.personalGroupsView?"Personal group":"Group")}}function mi(t,l){if(t&1){let i=A();w(0,si,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog(!0))})}}function pi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Add members"),a()),t&2){let i=u(2);s(),c("icon",i.icons.faUserPlus)}}function ci(t,l){if(t&1){let i=A();w(0,pi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.addUserToGroupDialog())})}}function ui(t,l){}function di(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Refresh"),a()),t&2){let i=u();s(),c("icon",i.icons.faArrowRotateRight)}}function _i(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPen),s(),$(" ",i.selected.isGroup?"Edit group":"Edit user")}}function fi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Delete group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faMinus)}}function hi(t,l){if(t&1){let i=A();w(0,fi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function gi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Remove from group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faUserMinus)}}function bi(t,l){if(t&1){let i=A();w(0,gi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function Ci(t,l){if(t&1){let i=A();w(0,_i,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog())}),h(1,hi,1,0,null,23)(2,bi,1,0,null,23)}if(t&2){let i=u();s(),g(i.selected.isGroup?1:2)}}var ao=(()=>{let l=class l{constructor(){this.locale=x(oe),this.originalOrderKeyValue=de,this.icons={GROUPS:H.GROUPS,faRotate:Ke,faPlus:ce,faMinus:ae,faPen:me,faArrowDown:Xe,faArrowUp:We,faKey:le,faUserPlus:se,faUserMinus:pe,faArrowRotateRight:Je,faToggleOn:ze,faToggleOff:He},this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},type:{label:"Type",width:10,textCenter:!0,class:"",show:!0,sortable:!0},members:{label:"Members",width:10,class:"",textCenter:!0,show:!0},createdAndModified:{label:"Created & Modified",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.personalGroupsView=!1,this.loading=!1,this.selected=null,this.members=[],this.router=x(Pe),this.activatedRoute=x(Me),this.layout=x(V),this.adminService=x(R),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],type:[{prop:"type",type:"string"}],createdAndModified:[{prop:"modifiedAt",type:"date"},{prop:"createdAt",type:"date"}]},this.sortTable=new mt(this.constructor.name,this.sortSettings),this.activatedRoute.data.subscribe(n=>{this.personalGroupsView=n.type===ue.PERSONAL,this.setEnv(n.routes)}),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select),this.layout.setBreadcrumbIcon(tt.GROUPS)}onPersonalGroupsView(n){this.personalGroupsView=n,this.router.navigate([S.BASE,n?S.PGROUPS:S.GROUPS]).catch(console.error)}refresh(){this.loadGroups(this.currentGroup?.name)}browse(n){n.isGroup&&this.router.navigate([n.name],{relativeTo:this.activatedRoute}).catch(console.error)}onSelect(n=null){this.selected=n}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}sortBy(n,o=!0,e){this.members=this.sortTable.sortBy(n,o,e||this.members)}addUserToGroupDialog(){this.layout.openDialog(xt,"md",{initialState:{parentGroup:this.currentGroup,currentMemberIds:this.members.filter(o=>o.isUser).map(o=>o.id)}}).content.hasChanges.pipe(be(o=>o),O(1)).subscribe(()=>this.refresh())}openDialog(n=!1,o=!1){n?this.personalGroupsView?this.layout.openDialog(Te,"md").content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="add"&&(b.setGroupRole(K.MANAGER),b.counts={users:1},this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(b)),this.onSelect(b))}):this.layout.openDialog(we,"md",{initialState:{parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;if(f==="add")if(!this.currentGroup&&!b?.parent||b.parent.id===this.currentGroup.id){let F=new ye(ge(he({},b),{type:xe.GROUP}));this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(new ye(ge(he({},b),{type:xe.GROUP})))),this.onSelect(F)}else this.router.navigate([`${S.BASE}/${S.GROUPS}`,b.parent?.id?b.parent.name:""],{queryParams:{select:b.name}}).catch(console.error)}):o?this.layout.openDialog(yt,"md",{initialState:{parentGroup:this.currentGroup,member:this.selected}}).content.wasDeleted.pipe(be(p=>p),O(1)).subscribe(()=>{this.currentGroup?this.selected.counts?.groups?this.loadGroups(this.currentGroup.name):(this.sortBy(this.sortTable.sortParam.column,!1,this.members.filter(p=>this.selected.mid!==p.mid)),this.onSelect()):this.loadGroups()}):this.selected.isGroup?this.personalGroupsView?this.layout.openDialog(Te,"md",{initialState:{originalGroup:this.selected}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="update"&&(this.selected=Object.assign(this.selected,{name:b.name,description:b.description,modifiedAt:b.modifiedAt}))}):this.adminService.getGroup(this.selected.id).subscribe({next:e=>{this.layout.openDialog(we,"md",{initialState:{group:e,parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(f=>{let[b,F]=f;b==="update"&&(!this.currentGroup&&!F?.parent||F.parent.id===this.currentGroup.id?this.selected=Object.assign(this.selected,F):this.router.navigate([`${S.BASE}/${S.GROUPS}`,F.parent?.id?F.parent.name:""],{queryParams:{select:F.name}}).catch(console.error))})},error:e=>this.layout.sendNotification("error","Edit group",this.selected.name,e)}):this.layout.openDialog(St,"md",{initialState:{user:this.selected,parentGroup:this.currentGroup}})}setEnv(n){let o;n.length?(o=n[n.length-1].path,this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}${ve(n)}`:`/${S.BASE}/${S.GROUPS}${ve(n)}`,firstLink:`/${S.BASE}/${S.GROUPS}`,splicing:1,translating:!0,sameLink:!1,mutateLevel:{0:{setTitle:this.personalGroupsView?Y.PGROUPS:Y.GROUPS,translateTitle:!0}}})):this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}/${Y.PGROUPS}`:`/${S.BASE}/${S.GROUPS}/${Y.GROUPS}`,splicing:2,translating:!0,sameLink:!0}),this.loadGroups(o)}loadGroups(n){this.loading=!0,this.onSelect(),this.adminService.browseGroup(n,this.personalGroupsView).subscribe({next:o=>{this.currentGroup=o.parentGroup,this.sortBy(this.sortTable.sortParam.column,!1,o.members),this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1),this.loading=!1},error:o=>{this.members=[],this.layout.sendNotification("error","Groups",o.error.message),this.onSelect(),this.loading=!1}})}focusOn(n){let o=this.members.find(e=>e.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-groups"]],viewQuery:function(o,e){if(o&1&&(Q(Se,5),Q(Ge,7),Q($t,7),Q(Lt,7)),o&2){let p;q(p=W())&&(e.scrollView=p.first),q(p=W())&&(e.inputFilter=p.first),q(p=W())&&(e.mainContextMenu=p.first),q(p=W())&&(e.targetContextMenu=p.first)}},decls:48,vars:42,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"],["dropdown","",1,"btn-group","btn-group-sm","me-1"],["dropdownToggle","","container","body","type","button",1,"btn","btn-sm","btn-secondary","dropdown-toggle",3,"tooltip"],[3,"icon"],["class","dropdown-menu","role","menu",4,"dropdownMenu"],["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,"selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem",""],["contextMenuItem","",3,"divider"],["contextMenuItem","",3,"execute"],["role","menu",1,"dropdown-menu"],["role","menuitem"],[1,"dropdown-item",3,"click"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"]],template:function(o,e){if(o&1){let p=A();r(0,"div",2)(1,"button",3),v(2,"translate"),_("click",function(){return y(p),G(e.refresh())}),d(3,"fa-icon",4),a(),r(4,"div",5)(5,"button",6),v(6,"translate"),d(7,"fa-icon",7),a(),w(8,Kt,11,7,"ul",8),a(),r(9,"button",9),v(10,"translate"),_("click",function(){return y(p),G(e.openDialog(!1,!0))}),d(11,"fa-icon",7),a(),r(12,"button",9),v(13,"translate"),_("click",function(){return y(p),G(e.openDialog())}),d(14,"fa-icon",7),a(),r(15,"div",10)(16,"button",11),_("ngModelChange",function(b){return y(p),G(e.onPersonalGroupsView(b))}),r(17,"div",12),d(18,"fa-icon",13),r(19,"span",14),m(20,"Personal groups"),a()()(),r(21,"div",15),d(22,"app-input-filter",16),a()()(),r(23,"table",17)(24,"thead")(25,"tr"),B(26,qt,1,1,null,null,Tt),v(28,"keyvalue"),a()()(),r(29,"app-virtual-scroll",18),v(30,"searchFilter"),_("contextmenu",function(b){return y(p),G(e.onContextMenu(b))}),r(31,"table",17)(32,"tbody",19),B(33,li,4,5,"tr",20,jt),a()()(),r(35,"div",21)(36,"span",22),m(37),v(38,"translate"),a()(),r(39,"context-menu",null,0),h(41,mi,1,0,null,23),h(42,ci,1,0,null,23),w(43,ui,0,0,"ng-template",24)(44,di,3,1,"ng-template",25),_("execute",function(){return y(p),G(e.refresh())}),a(),r(45,"context-menu",null,1),h(47,Ci,3,1),a()}o&2&&(s(),c("tooltip",T(2,21,"Refresh",e.locale.language)),s(2),c("icon",e.icons.faRotate)("animation",e.loading?"spin":null),s(2),c("tooltip",T(6,24,"New",e.locale.language)),s(2),c("icon",e.icons.faPlus),s(2),c("disabled",!e.selected)("tooltip",T(10,27,e.selected!=null&&e.selected.isUser?"Remove from group":"Delete group",e.locale.language)),s(2),c("icon",e.icons.faMinus),s(),c("disabled",!e.selected)("tooltip",T(13,30,e.selected!=null&&e.selected.isGroup?"Edit group":"Edit user",e.locale.language)),s(2),c("icon",e.icons.faPen),s(2),c("ngModel",e.personalGroupsView),s(2),c("icon",e.personalGroupsView?e.icons.faToggleOn:e.icons.faToggleOff),s(8),N(T(28,33,e.tableHeaders,e.originalOrderKeyValue)),s(3),c("bufferAmount",5)("items",T(30,36,e.members,e.inputFilter.search())),s(4),N(e.scrollView==null?null:e.scrollView.viewPortItems),s(4),Ee("",e.members.length," ",T(38,39,"groups",e.locale.language)),s(4),g(e.currentGroup&&!e.personalGroupsView||!e.currentGroup&&e.personalGroupsView?41:-1),s(),g(e.currentGroup?42:-1),s(),c("divider",!0),s(4),g(e.selected?47:-1))},dependencies:[ot,nt,it,P,M,Ge,Se,je,ht,bt,gt,at,ne,L,ie,lt,te,re,st,Ct,_e],encapsulation:2});let t=l;return t})();export{ao as AdminGroupsComponent};
@@ -1 +1 @@
1
- import{c as b,d as x,e as d,f as u,g as Y,h as s}from"./chunk-MYM43ENO.js";import{$a as q,Bb as U,Cb as j,Ia as k,Mb as V,Na as m,Nb as L,Ob as f,Pa as T,X as y,Z as p,nb as i,vb as O,wb as W,xb as B,ya as v,yb as I,za as R,zb as H}from"./chunk-5HNQLBSW.js";import{d as G}from"./chunk-Y5RLD72B.js";import{Yc as F,ea as E,ja as M,v as D}from"./chunk-IOIBQGHN.js";import{a as P,b as A,i as w}from"./chunk-KAVP6UXH.js";function N(a){return a?a.includes(v.MODIFY)&&a.includes(v.DELETE)&&a.includes(v.ADD):!1}function J(a,l=!1){let z=a.split("/");return z[0]===f.FILES&&z.length>3||z[0]===f.SHARES&&z.length>(l?2:1)||z.length>2}function S(a){let l=a.split("/").filter(Boolean);return l.length?(l[0]===f.FILES&&(l[1]===f.PERSONAL?(l=l.slice(2),l.unshift(f.PERSONAL)):l[0]=f.SPACES),l.join("/")):""}var t=class{constructor(l,z=!1){this.mainError=null,this.lastErrors=[],this.newly=0,this.inSync=!1,this.nbSyncTasks=0,z?(this.id=m("id",l),this.firstSync=m("firstSync",l),this.mainError=m("mainError",l),this.lastErrors=m("lastErrors",l),this.settings=l):Object.assign(this,l),this.setProperties(),this.setStatus(!1)}setStatus(l){l?(this.mimeUrl=s(d),this.inSync=!0):(this.nbSyncTasks=0,this.inSync=!1,this.newly=q(this.settings.lastSync||0,!0),this.settings.enabled?this.mainError?this.mimeUrl=s(Y):this.mimeUrl=s(this.mime):this.mimeUrl=s(u))}export(l=!1){return A(P({},l?{id:this.id}:{}),{name:this.settings.name,mode:this.settings.mode,enabled:this.settings.enabled,diffMode:this.settings.diffMode,conflictMode:this.settings.conflictMode,filters:this.settings.filters,scheduler:this.settings.scheduler})}setProperties(){this.isWriteable=N(this.settings?.permissions),this.newly=q(this.settings.lastSync||0,!0);let l=this.settings.remotePath.split("/")[0];switch(this.showedPath=this.settings.remotePath.split("/").slice(1).join("/"),this.iconClass=l===R.SHARES?"purple":"primary",l){case f.PERSONAL:this.icon=L.PERSONAL,this.mime=b;break;case f.SPACES:this.icon=L.SPACES,this.mime=b;break;case f.SHARES:this.icon=L.SHARES,this.mime=x;break}}};var C=class{constructor(l){this.isDir=!0,this.mime="directory",this.isAlreadySynced=!1,this.isWriteable=N(l.permissions),Object.assign(this,l),this.icon||(this.mimeUrl=s(this.enabled?this.inShare?x:b:u)),this.isSynchronizable=J(this.path),this.serverPath=S(this.path)}setAlreadySynced(){this.isAlreadySynced=!0,this.mimeUrl=s(d)}};var o=(function(a){return a.LIST="list",a.SYNC="sync",a.ADD="add",a.FLUSH="flush",a.SET="set",a.REMOVE="remove",a})(o||{}),Z=(function(a){return a.FILE="file",a.FOLDER="folder",a.EXPERT="expert",a.START="start",a.END="end",a.IN="in",a})(Z||{});var K={prefix:"fab",iconName:"windows",icon:[448,512,[],"f17a","M0 93.7l183.6-25.3 0 177.4-183.6 0 0-152.1zM0 418.3l183.6 25.3 0-175.2-183.6 0 0 149.9zm203.8 28l244.2 33.7 0-211.6-244.2 0 0 177.9zm0-380.6l0 180.1 244.2 0 0-213.8-244.2 33.7z"]};var X={prefix:"fab",iconName:"apple",icon:[384,512,[],"f179","M319.1 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7-55.8 .9-115.1 44.5-115.1 133.2 0 26.2 4.8 53.3 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zM262.5 104.5c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"]};var $={prefix:"fab",iconName:"linux",icon:[448,512,[],"f17c","M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"]};var h=class{constructor(l){this.paths=(m("paths",l)||[]).map(z=>new t(z)),Object.assign(this,l),this.setExpiration(),this.setIcon()}setExpiration(){let l=k()>=this.tokenExpiration;this.expiration={value:this.tokenExpiration*1e3,reached:l,approaching:l?!1:k()+90*86400>=this.tokenExpiration}}setIcon(){this.info.os==="darwin"?(this.icon=X,this.osName="macOS"):this.info.os.startsWith("win")?(this.icon=K,this.osName="Windows"):this.info.os.startsWith("linux")&&(this.icon=$,this.osName="Linux")}};var O1=(()=>{let l=class l{constructor(){this.router=M(G),this.http=M(F),this.layout=M(j),this.store=M(O),this.electron=M(U),this.resetWizard()}showOpenDialog(c){return this.electron.invoke(i.MISC.DIALOG_OPEN,c)}getFilePath(c){return this.electron.ipcRenderer.showFilePath(c)}getClients(){return this.http.get(p).pipe(D(c=>c.map(e=>new h(e))))}deleteClient(c){return this.http.delete(`${p}/${c}`)}updateSyncPath(c,e,r){return this.http.put(`${p}/${c}/${y.PATHS}/${e}`,r)}deleteSyncPath(c,e){return this.http.delete(`${p}/${c}/${y.PATHS}/${e}`)}addPath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.ADD,c)}updatePath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.SET,c)}flushPath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.FLUSH,c)}removePath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.REMOVE,c)}doSync(c,e,r=!1,n=!1){this.electron.invoke(i.SYNC.PATH_OPERATION,o.SYNC,{state:c,paths:e,reportOnly:r,async:n}).catch(console.error)}refreshPaths(){return w(this,null,function*(){try{let c=yield this.electron.invoke(i.SYNC.PATH_OPERATION,o.LIST,null);this.store.clientSyncPaths.set(c.map(e=>new t(e,!0)))}catch(c){console.error(c)}})}goToPath(c,e=!0,r=""){if(e)this.electron.openPath(`${c.settings.localPath}/${r?`/${r}`:""}`);else{let n=[...c.settings.remotePath.split("/"),...r?r.split("/"):[]],g;n.length>1&&(g=n.pop());let Q=n.shift();this.router.navigate([f.SPACES,...W[Q],...n],g?{queryParams:{select:g}}:{}).catch(console.error)}}setClientScheduler(c){this.electron.send(i.SYNC.SCHEDULER_STATE,"update",c)}getTransfers(c,e){return this.electron.invoke(i.SYNC.TRANSFER_LOGS,"get",c||null,e)}deleteTransfers(c){return this.electron.invoke(i.SYNC.TRANSFER_LOGS,"delete",c||null)}translateServerPath(c){let e=S(c).split("/");return e.length?(e[0]=e[0]===f.PERSONAL?this.layout.translateString(V.PERSONAL_FILES):this.layout.translateString(T(e[0])),e.join("/")):""}addFileToRemotePath(c){this.wizard.remotePath=new C({id:c.id,name:c.name,path:c.path,isDir:c.isDir,mime:c.mime,mimeUrl:c.mimeUrl,enabled:!0,isWriteable:!0,inShare:c.path.split("/")[0]===f.SHARES})}resetWizard(){this.wizard={localPath:null,remotePath:null,settings:{enabled:!0,name:"",mode:B.BOTH,conflictMode:H.RECENT,diffMode:I.FAST,scheduler:{unit:"minute",value:15}}}}};l.\u0275fac=function(e){return new(e||l)},l.\u0275prov=E({token:l,factory:l.\u0275fac,providedIn:"root"});let a=l;return a})();export{Z as a,K as b,X as c,$ as d,J as e,t as f,C as g,O1 as h};
1
+ import{c as b,d as x,e as d,f as u,g as Y,h as s}from"./chunk-MYM43ENO.js";import{$a as q,Bb as U,Cb as j,Ia as k,Mb as V,Na as m,Nb as L,Ob as f,Pa as T,X as y,Z as p,nb as i,vb as O,wb as W,xb as B,ya as v,yb as I,za as R,zb as H}from"./chunk-I2S3XPC5.js";import{d as G}from"./chunk-Y5RLD72B.js";import{Yc as F,ea as E,ja as M,v as D}from"./chunk-IOIBQGHN.js";import{a as P,b as A,i as w}from"./chunk-KAVP6UXH.js";function N(a){return a?a.includes(v.MODIFY)&&a.includes(v.DELETE)&&a.includes(v.ADD):!1}function J(a,l=!1){let z=a.split("/");return z[0]===f.FILES&&z.length>3||z[0]===f.SHARES&&z.length>(l?2:1)||z.length>2}function S(a){let l=a.split("/").filter(Boolean);return l.length?(l[0]===f.FILES&&(l[1]===f.PERSONAL?(l=l.slice(2),l.unshift(f.PERSONAL)):l[0]=f.SPACES),l.join("/")):""}var t=class{constructor(l,z=!1){this.mainError=null,this.lastErrors=[],this.newly=0,this.inSync=!1,this.nbSyncTasks=0,z?(this.id=m("id",l),this.firstSync=m("firstSync",l),this.mainError=m("mainError",l),this.lastErrors=m("lastErrors",l),this.settings=l):Object.assign(this,l),this.setProperties(),this.setStatus(!1)}setStatus(l){l?(this.mimeUrl=s(d),this.inSync=!0):(this.nbSyncTasks=0,this.inSync=!1,this.newly=q(this.settings.lastSync||0,!0),this.settings.enabled?this.mainError?this.mimeUrl=s(Y):this.mimeUrl=s(this.mime):this.mimeUrl=s(u))}export(l=!1){return A(P({},l?{id:this.id}:{}),{name:this.settings.name,mode:this.settings.mode,enabled:this.settings.enabled,diffMode:this.settings.diffMode,conflictMode:this.settings.conflictMode,filters:this.settings.filters,scheduler:this.settings.scheduler})}setProperties(){this.isWriteable=N(this.settings?.permissions),this.newly=q(this.settings.lastSync||0,!0);let l=this.settings.remotePath.split("/")[0];switch(this.showedPath=this.settings.remotePath.split("/").slice(1).join("/"),this.iconClass=l===R.SHARES?"purple":"primary",l){case f.PERSONAL:this.icon=L.PERSONAL,this.mime=b;break;case f.SPACES:this.icon=L.SPACES,this.mime=b;break;case f.SHARES:this.icon=L.SHARES,this.mime=x;break}}};var C=class{constructor(l){this.isDir=!0,this.mime="directory",this.isAlreadySynced=!1,this.isWriteable=N(l.permissions),Object.assign(this,l),this.icon||(this.mimeUrl=s(this.enabled?this.inShare?x:b:u)),this.isSynchronizable=J(this.path),this.serverPath=S(this.path)}setAlreadySynced(){this.isAlreadySynced=!0,this.mimeUrl=s(d)}};var o=(function(a){return a.LIST="list",a.SYNC="sync",a.ADD="add",a.FLUSH="flush",a.SET="set",a.REMOVE="remove",a})(o||{}),Z=(function(a){return a.FILE="file",a.FOLDER="folder",a.EXPERT="expert",a.START="start",a.END="end",a.IN="in",a})(Z||{});var K={prefix:"fab",iconName:"windows",icon:[448,512,[],"f17a","M0 93.7l183.6-25.3 0 177.4-183.6 0 0-152.1zM0 418.3l183.6 25.3 0-175.2-183.6 0 0 149.9zm203.8 28l244.2 33.7 0-211.6-244.2 0 0 177.9zm0-380.6l0 180.1 244.2 0 0-213.8-244.2 33.7z"]};var X={prefix:"fab",iconName:"apple",icon:[384,512,[],"f179","M319.1 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7-55.8 .9-115.1 44.5-115.1 133.2 0 26.2 4.8 53.3 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zM262.5 104.5c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"]};var $={prefix:"fab",iconName:"linux",icon:[448,512,[],"f17c","M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"]};var h=class{constructor(l){this.paths=(m("paths",l)||[]).map(z=>new t(z)),Object.assign(this,l),this.setExpiration(),this.setIcon()}setExpiration(){let l=k()>=this.tokenExpiration;this.expiration={value:this.tokenExpiration*1e3,reached:l,approaching:l?!1:k()+90*86400>=this.tokenExpiration}}setIcon(){this.info.os==="darwin"?(this.icon=X,this.osName="macOS"):this.info.os.startsWith("win")?(this.icon=K,this.osName="Windows"):this.info.os.startsWith("linux")&&(this.icon=$,this.osName="Linux")}};var O1=(()=>{let l=class l{constructor(){this.router=M(G),this.http=M(F),this.layout=M(j),this.store=M(O),this.electron=M(U),this.resetWizard()}showOpenDialog(c){return this.electron.invoke(i.MISC.DIALOG_OPEN,c)}getFilePath(c){return this.electron.ipcRenderer.showFilePath(c)}getClients(){return this.http.get(p).pipe(D(c=>c.map(e=>new h(e))))}deleteClient(c){return this.http.delete(`${p}/${c}`)}updateSyncPath(c,e,r){return this.http.put(`${p}/${c}/${y.PATHS}/${e}`,r)}deleteSyncPath(c,e){return this.http.delete(`${p}/${c}/${y.PATHS}/${e}`)}addPath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.ADD,c)}updatePath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.SET,c)}flushPath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.FLUSH,c)}removePath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.REMOVE,c)}doSync(c,e,r=!1,n=!1){this.electron.invoke(i.SYNC.PATH_OPERATION,o.SYNC,{state:c,paths:e,reportOnly:r,async:n}).catch(console.error)}refreshPaths(){return w(this,null,function*(){try{let c=yield this.electron.invoke(i.SYNC.PATH_OPERATION,o.LIST,null);this.store.clientSyncPaths.set(c.map(e=>new t(e,!0)))}catch(c){console.error(c)}})}goToPath(c,e=!0,r=""){if(e)this.electron.openPath(`${c.settings.localPath}/${r?`/${r}`:""}`);else{let n=[...c.settings.remotePath.split("/"),...r?r.split("/"):[]],g;n.length>1&&(g=n.pop());let Q=n.shift();this.router.navigate([f.SPACES,...W[Q],...n],g?{queryParams:{select:g}}:{}).catch(console.error)}}setClientScheduler(c){this.electron.send(i.SYNC.SCHEDULER_STATE,"update",c)}getTransfers(c,e){return this.electron.invoke(i.SYNC.TRANSFER_LOGS,"get",c||null,e)}deleteTransfers(c){return this.electron.invoke(i.SYNC.TRANSFER_LOGS,"delete",c||null)}translateServerPath(c){let e=S(c).split("/");return e.length?(e[0]=e[0]===f.PERSONAL?this.layout.translateString(V.PERSONAL_FILES):this.layout.translateString(T(e[0])),e.join("/")):""}addFileToRemotePath(c){this.wizard.remotePath=new C({id:c.id,name:c.name,path:c.path,isDir:c.isDir,mime:c.mime,mimeUrl:c.mimeUrl,enabled:!0,isWriteable:!0,inShare:c.path.split("/")[0]===f.SHARES})}resetWizard(){this.wizard={localPath:null,remotePath:null,settings:{enabled:!0,name:"",mode:B.BOTH,conflictMode:H.RECENT,diffMode:I.FAST,scheduler:{unit:"minute",value:15}}}}};l.\u0275fac=function(e){return new(e||l)},l.\u0275prov=E({token:l,factory:l.\u0275fac,providedIn:"root"});let a=l;return a})();export{Z as a,K as b,X as c,$ as d,J as e,t as f,C as g,O1 as h};
package/static/index.html CHANGED
@@ -15,5 +15,5 @@
15
15
  <style>:root{--bs-blue:#0576b9;--bs-indigo:#6610f2;--bs-purple:#9b59b6;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#ff6f00;--bs-yellow:#ffc107;--bs-green:#06854b;--bs-teal:#39CCCC;--bs-cyan:#17a2b8;--bs-black:#111;--bs-white:#ffffff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#1c68b0;--bs-secondary:#c3cee0;--bs-success:#06854b;--bs-info:#0dcaf0;--bs-warning:#ff6f00;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:28, 104, 176;--bs-secondary-rgb:195, 206, 224;--bs-success-rgb:6, 133, 75;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 111, 0;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:rgb(11.2, 41.6, 70.4);--bs-secondary-text-emphasis:rgb(78, 82.4, 89.6);--bs-success-text-emphasis:rgb(2.4, 53.2, 30);--bs-info-text-emphasis:rgb(5.2, 80.8, 96);--bs-warning-text-emphasis:rgb(102, 44.4, 0);--bs-danger-text-emphasis:rgb(88, 21.2, 27.6);--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:rgb(209.6, 224.8, 239.2);--bs-secondary-bg-subtle:rgb(243, 245.2, 248.8);--bs-success-bg-subtle:rgb(205.2, 230.6, 219);--bs-info-bg-subtle:rgb(206.6, 244.4, 252);--bs-warning-bg-subtle:rgb(255, 226.2, 204);--bs-danger-bg-subtle:rgb(248, 214.6, 217.8);--bs-light-bg-subtle:rgb(251.5, 252, 252.5);--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:rgb(164.2, 194.6, 223.4);--bs-secondary-border-subtle:rgb(231, 235.4, 242.6);--bs-success-border-subtle:rgb(155.4, 206.2, 183);--bs-info-border-subtle:rgb(158.2, 233.8, 249);--bs-warning-border-subtle:rgb(255, 197.4, 153);--bs-danger-border-subtle:rgb(241, 174.2, 180.6);--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:17, 17, 17;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:.9rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#333;--bs-body-color-rgb:51, 51, 51;--bs-body-bg:#e1e6ef;--bs-body-bg-rgb:225, 230, 239;--bs-emphasis-color:#111;--bs-emphasis-color-rgb:17, 17, 17;--bs-secondary-color:rgba(51, 51, 51, .75);--bs-secondary-color-rgb:51, 51, 51;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(51, 51, 51, .5);--bs-tertiary-color-rgb:51, 51, 51;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0576b9;--bs-link-color-rgb:5, 118, 185;--bs-link-decoration:none;--bs-link-hover-color:rgb(4.3289473684, 102.1631578947, 160.1710526316);--bs-link-hover-color-rgb:4, 102, 160;--bs-link-hover-decoration:none;--bs-code-color:#d63384;--bs-highlight-color:#333;--bs-highlight-bg:#37cb46;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#e1e6ef;--bs-border-color-translucent:rgba(17, 17, 17, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(17, 17, 17, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(17, 17, 17, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(17, 17, 17, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(17, 17, 17, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(28, 104, 176, .25);--bs-form-valid-color:#06854b;--bs-form-valid-border-color:#06854b;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(17,17,17,0)}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}:root{--bs-btn-close-filter: }:root{--bs-carousel-indicator-active-bg:#ffffff;--bs-carousel-caption-color:#ffffff;--bs-carousel-control-icon-filter: }html,body{background-color:#28353b;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:rgba(155,155,155,.5) transparent;font-size:1rem;height:100%}body ::-webkit-scrollbar{width:8px}body ::-webkit-scrollbar-track{background:transparent}body ::-webkit-scrollbar-thumb{background-color:#9b9b9b80;border-radius:20px;border:transparent}.app-title{content:"Sync-in"}.app-title:before{content:"Sync-in"}.app-loading{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:linear-gradient(to bottom right,#020024,#1c68b0 35%,#985ca0);color:#fff}.app-loading:after{content:"Sync-in"}:root{--ngx-contextmenu-font-family:var(--bs-body-font-family) !important;--ngx-contextmenu-border:.5px solid rgba(0, 0, 0, .18) !important;--ngx-contextmenu-item-separator-width:100% !important;--ngx-contextmenu-outline:none !important}:root{--ngx-contextmenu-focusable-border-bottom:1px dotted #70757e;--ngx-contextmenu-font-family:sans-serif;--ngx-contextmenu-background-color:white;--ngx-contextmenu-border-radius:4px;--ngx-contextmenu-border:1px solid rgba(0, 0, 0, .18);--ngx-contextmenu-box-shadow:0 6px 12px rgba(0, 0, 0, .18);--ngx-contextmenu-font-size:14px;--ngx-contextmenu-margin:2px 0 0;--ngx-contextmenu-min-width:160px;--ngx-contextmenu-outline:1px solid #70757e;--ngx-contextmenu-padding:5px 0;--ngx-contextmenu-text-color:#70757e;--ngx-contextmenu-text-disabled-color:#b5bec8;--ngx-contextmenu-max-height:100vh;--ngx-contextmenu-item-arrow-left:"\25c0";--ngx-contextmenu-item-arrow-right:"\25b6";--ngx-contextmenu-item-background-hover-color:#f8f8f8;--ngx-contextmenu-item-separator-color:#b5bec8;--ngx-contextmenu-item-separator-padding:10px;--ngx-contextmenu-item-separator-width:96%;--ngx-contextmenu-item-padding:6px 20px;--ngx-contextmenu-item-text-hover-color:#5a6473}</style><link rel="stylesheet" href="styles-Q4OZOSSK.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-Q4OZOSSK.css"></noscript></head>
16
16
  <body class="theme-light">
17
17
  <app-root><span class="app-loading"></span></app-root>
18
- <link rel="modulepreload" href="chunk-S6EVLDHA.js"><link rel="modulepreload" href="chunk-Y2I36A4K.js"><link rel="modulepreload" href="chunk-2XPHUNYN.js"><link rel="modulepreload" href="chunk-J6YSFHLZ.js"><link rel="modulepreload" href="chunk-EDJAISWO.js"><link rel="modulepreload" href="chunk-QNFNXDSX.js"><link rel="modulepreload" href="chunk-JXZCNFW7.js"><link rel="modulepreload" href="chunk-MRF3CNLZ.js"><link rel="modulepreload" href="chunk-EKEGRXCV.js"><link rel="modulepreload" href="chunk-MNNCSSHN.js"><script src="polyfills-IA5XWQYN.js" type="module"></script><script src="main-3PLRDZTO.js" type="module"></script></body>
18
+ <link rel="modulepreload" href="chunk-JWPXQOS3.js"><link rel="modulepreload" href="chunk-BU4ZICZR.js"><link rel="modulepreload" href="chunk-ZXXHFBGL.js"><link rel="modulepreload" href="chunk-J6YSFHLZ.js"><link rel="modulepreload" href="chunk-EDJAISWO.js"><link rel="modulepreload" href="chunk-S2VBGI6Q.js"><link rel="modulepreload" href="chunk-JXZCNFW7.js"><link rel="modulepreload" href="chunk-JY2I3HGL.js"><link rel="modulepreload" href="chunk-HCSWO7BO.js"><link rel="modulepreload" href="chunk-RK2ONYTL.js"><script src="polyfills-IA5XWQYN.js" type="module"></script><script src="main-56PZQ6TJ.js" type="module"></script></body>
19
19
  </html>