@sync-in/server 1.8.0 → 1.8.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 (55) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/package.json +10 -9
  3. package/server/app.bootstrap.js +4 -2
  4. package/server/app.bootstrap.js.map +1 -1
  5. package/server/applications/files/files.controller.js +12 -4
  6. package/server/applications/files/files.controller.js.map +1 -1
  7. package/server/applications/files/files.controller.spec.js +18 -4
  8. package/server/applications/files/files.controller.spec.js.map +1 -1
  9. package/server/applications/files/services/files-manager.service.js.map +1 -1
  10. package/server/applications/files/services/files-methods.service.js +1 -6
  11. package/server/applications/files/services/files-methods.service.js.map +1 -1
  12. package/server/applications/files/utils/doc-textify/adapters/pdf.js +5 -16
  13. package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -1
  14. package/server/applications/users/services/users-manager.service.js +1 -2
  15. package/server/applications/users/services/users-manager.service.js.map +1 -1
  16. package/server/applications/users/users.gateway.js +6 -0
  17. package/server/applications/users/users.gateway.js.map +1 -1
  18. package/server/common/image.js +62 -58
  19. package/server/common/image.js.map +1 -1
  20. package/static/3rdpartylicenses.txt +0 -26
  21. package/static/chunk-2VMSXRCB.js +12 -0
  22. package/static/{chunk-X5XGK6T7.js → chunk-3OHSRRKH.js} +1 -1
  23. package/static/{chunk-H6NE33VX.js → chunk-3R4WKOHQ.js} +1 -1
  24. package/static/{chunk-WLMNXRBS.js → chunk-3R74L4UU.js} +1 -1
  25. package/static/{chunk-ZPF2DSQV.js → chunk-5UKZLU5H.js} +1 -1
  26. package/static/{chunk-KFJIQIGR.js → chunk-BQV4FRM6.js} +1 -1
  27. package/static/{chunk-MFLIJH6T.js → chunk-CETH7UYS.js} +1 -1
  28. package/static/{chunk-C36MW4ME.js → chunk-DIT6W7VM.js} +9 -9
  29. package/static/{chunk-YW57T2PF.js → chunk-IQSKQXC3.js} +1 -1
  30. package/static/{chunk-QZU2S5CV.js → chunk-ITUFI2BJ.js} +1 -1
  31. package/static/{chunk-PGZZP5W3.js → chunk-LCTZJ537.js} +1 -1
  32. package/static/{chunk-LVM4QB22.js → chunk-LK2UCQJ6.js} +1 -1
  33. package/static/{chunk-ZTCRGJ6Y.js → chunk-LP5TBXEN.js} +1 -1
  34. package/static/{chunk-BIKLW4YS.js → chunk-LVSNIS5P.js} +1 -1
  35. package/static/{chunk-VM4YX6Q7.js → chunk-MTVSJTIW.js} +1 -1
  36. package/static/{chunk-V3AT2BKP.js → chunk-O6FYXVHI.js} +1 -1
  37. package/static/{chunk-SHIVUDP3.js → chunk-PNR6M34W.js} +1 -1
  38. package/static/{chunk-M3XVNQZQ.js → chunk-QMRBZHE4.js} +1 -1
  39. package/static/{chunk-NO2LTNW3.js → chunk-QSJRY3TF.js} +1 -1
  40. package/static/{chunk-373XVRXW.js → chunk-QUUIRSYT.js} +1 -1
  41. package/static/{chunk-UEQCWMXD.js → chunk-RFH46UW3.js} +1 -1
  42. package/static/{chunk-AY2SZ3G6.js → chunk-RSXHRKM5.js} +1 -1
  43. package/static/{chunk-UJPPR4MX.js → chunk-RV3VZJPZ.js} +1 -1
  44. package/static/{chunk-JSWCNGXJ.js → chunk-S7HNXVRB.js} +1 -1
  45. package/static/{chunk-VKK5BSLX.js → chunk-SJR5R3Y4.js} +1 -1
  46. package/static/{chunk-UG5DMXYO.js → chunk-V3LHHZYN.js} +1 -1
  47. package/static/{chunk-HAS5ZOTR.js → chunk-VJTXJ43D.js} +1 -1
  48. package/static/{chunk-HNQRZALS.js → chunk-VQQKMY2C.js} +1 -1
  49. package/static/{chunk-MSUHTBB2.js → chunk-WSSU2HXE.js} +1 -1
  50. package/static/{chunk-GUGNR5TF.js → chunk-XDZGW64M.js} +2 -2
  51. package/static/{chunk-TPYBFZS5.js → chunk-XTRDKGKG.js} +1 -1
  52. package/static/{chunk-YEKR5OPO.js → chunk-YLWTEC3X.js} +1 -1
  53. package/static/index.html +1 -1
  54. package/static/{main-VOL6OMJ5.js → main-4H5BJY3J.js} +2 -2
  55. package/static/chunk-WJW7CT6G.js +0 -27
@@ -1 +1 @@
1
- import{B as q,C as Ie}from"./chunk-WJW7CT6G.js";import"./chunk-JSWCNGXJ.js";import{a as L}from"./chunk-AY2SZ3G6.js";import"./chunk-UEQCWMXD.js";import"./chunk-TPYBFZS5.js";import{a as De}from"./chunk-MSUHTBB2.js";import{d as ke}from"./chunk-HAS5ZOTR.js";import"./chunk-X5XGK6T7.js";import{a as z,b as Q,c as Me,d as Ee,e as Fe}from"./chunk-H6NE33VX.js";import{b as Ae,c as Be}from"./chunk-V3AT2BKP.js";import{b as Pe}from"./chunk-VKK5BSLX.js";import{m as Re}from"./chunk-3XVM35O2.js";import"./chunk-BIKLW4YS.js";import"./chunk-SHIVUDP3.js";import{b as Y}from"./chunk-UJPPR4MX.js";import"./chunk-HNQRZALS.js";import{Ib as ve,Jb as Te,Kb as Ve,Ma as U,Sa as Se,Za as we,mb as ye,r as ie,s as ne,va as Ce,wa as xe,xa as ge,yb as be}from"./chunk-GUGNR5TF.js";import{$a as K,$b as J,Ab as g,Cd as ee,Db as u,Dd as te,Ed as oe,Fb as a,Gf as pe,Ha as H,Ic as X,If as de,Jb as E,Jd as re,Kb as F,L as $,Lb as k,Na as r,Nb as V,Ob as P,Pb as O,Qb as f,Rb as v,Sb as N,Tb as j,Ud as ae,Ue as le,Uf as _e,Vf as me,Zb as G,_f as ue,dg as fe,eb as T,ec as S,gc as w,ia as M,jb as W,kb as y,lb as b,na as _,oa as m,ob as A,of as se,pb as R,pf as ce,qb as d,rb as s,sb as c,tb as h,xd as Z}from"./chunk-C36MW4ME.js";import{n as he}from"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{a as I}from"./chunk-N3U6637P.js";var B=class{constructor(l){this.syncs=[],this.newly=0,Object.assign(this,l),Pe(this),this.hTimeAgo=he(this.createdAt).fromNow(!0),this.newly=Se(this.createdAt)}fallBackMimeUrl(){this.mimeUrl=Re}};var Ne=["MainContextMenu"],Ue=["TargetContextMenu"],ze=()=>["shares"],$e=(t,l)=>l.id,He=(t,l)=>l.key;function Qe(t,l){if(t&1&&(s(0,"span",31),f(1),c()),t&2){let e=a().$implicit,i=a(2);V("font-size",i.galleryMode.textSize,"px"),r(),v(e.hTimeAgo)}}function Le(t,l){if(t&1){let e=g();s(0,"div",32),u("click",function(){_(e);let o=a().$implicit,n=a(2);return m(n.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),f(3),c()()}if(t&2){let e=a().$implicit,i=a(2);V("font-size",i.galleryMode.textSize,"px"),r(),d("icon",i.icons.SHARED),r(2),v(e.counts.shares)}}function qe(t,l){if(t&1){let e=g();s(0,"div",21),u("click",function(){let o=_(e).$implicit,n=a(2);return m(n.onSelect(o))})("contextmenu",function(o){let n=_(e).$implicit,p=a(2);return m(p.onTargetContextMenu(o,n))})("appTap",function(){_(e);let o=a(2);return m(o.openShareDialog())}),s(1,"div",22)(2,"img",23),u("error",function(){let o=_(e).$implicit;return m(o.fallBackMimeUrl())}),c(),s(3,"span",24),y(4,Qe,2,3,"span",25),c(),y(5,Le,4,4,"div",26),s(6,"span",27),h(7,"app-share-repository",28),c()(),s(8,"div",29)(9,"span",30),f(10),c()()()}if(t&2){let e=l.$implicit,i=l.$index,o=a(2);V("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),P("disabled",!e.enabled)("selected",e.id===(o.selected==null?null:o.selected.id)),r(),W("rowIndex",i),r(),d("src",e.mimeUrl,H)("height",o.galleryMode.image)("width",o.galleryMode.image),r(2),b(e.newly?4:-1),r(),b(e.counts.shares?5:-1),r(2),d("share",e)("galleryMode",o.galleryMode),r(2),V("font-size",o.galleryMode.textSize,"px"),r(),v(e.name)}}function Ke(t,l){if(t&1){let e=g();s(0,"div",12)(1,"app-virtual-scroll",18),S(2,"searchFilter"),u("contextmenu",function(o){_(e);let n=a();return m(n.onContextMenu(o))}),s(3,"div",19),A(4,qe,11,19,"div",20,$e),c()()()}if(t&2){let e=a();r(),d("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",w(2,5,e.shares,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),r(3),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function We(t,l){if(t&1&&h(0,"fa-icon",6),t&2){let e=a(4);d("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)}}function je(t,l){if(t&1){let e=g();s(0,"th",39),u("click",function(){_(e);let o=a().$implicit,n=a(2);return m(n.sortBy(o.key))}),f(1),y(2,We,1,1,"fa-icon",6),c()}if(t&2){let e=a().$implicit,i=a(2);O(e.value.class),V("width",e.value.width,"%"),P("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),r(),N(" ",e.value.label," "),r(),b(i.sortTable.sortParam.column===e.key?2:-1)}}function Ge(t,l){if(t&1&&y(0,je,3,10,"th",38),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function Je(t,l){if(t&1){let e=g();s(0,"div",42)(1,"img",44),u("error",function(){_(e);let o=a(3).$implicit;return m(o.fallBackMimeUrl())}),c(),s(2,"div",45)(3,"span",30),f(4),c(),s(5,"span",46),f(6),c()()()}if(t&2){let e=a(3).$implicit;r(),d("src",e.mimeUrl,H),r(3),v(e.name),r(2),v(e.description)}}function Xe(t,l){if(t&1&&h(0,"app-share-repository",43),t&2){let e=a(3).$implicit;d("share",e)}}function Ye(t,l){if(t&1&&(s(0,"span"),f(1),S(2,"joinCounts"),c()),t&2){let e=a(3).$implicit;r(),v(w(2,1,e.counts,J(4,ze)))}}function Ze(t,l){if(t&1){let e=g();s(0,"span",49),u("click",function(){_(e);let o=a(4).$implicit,n=a(2);return m(n.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),f(3),c()()}if(t&2){let e=a(4).$implicit,i=a(2);r(),d("icon",i.icons.SHARED),r(2),v(e.counts.shares)}}function et(t,l){if(t&1){let e=g();s(0,"span",50),u("click",function(){_(e);let o=a(4).$implicit,n=a(2);return m(n.goToComments(o))}),h(1,"fa-icon",6),c()}if(t&2){let e=a(6);r(),d("icon",e.icons.faCommentDots)}}function tt(t,l){if(t&1&&(y(0,Ze,4,2,"span",47),y(1,et,2,1,"span",48)),t&2){let e=a(3).$implicit;b(e.counts.shares?0:-1),r(),b(e.hasComments?1:-1)}}function it(t,l){if(t&1&&f(0),t&2){let e=a(3).$implicit;N(" ",e.hTimeAgo," ")}}function nt(t,l){if(t&1&&(s(0,"td"),y(1,Je,7,3,"div",42)(2,Xe,1,1,"app-share-repository",43)(3,Ye,3,5,"span")(4,tt,2,2)(5,it,1,1),c()),t&2){let e,i=a().$implicit,o=a().$implicit;O(G("",i.value.class," ",i.value.newly?"prop-newly-"+o[i.value.newly]:"")),V("width",i.value.width,"%"),P("text-align-center",i.value.textCenter),r(),b((e=i.key)==="name"?1:e==="from"?2:e==="members"?3:e==="infos"?4:e==="created"?5:-1)}}function ot(t,l){if(t&1&&y(0,nt,6,9,"td",41),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function rt(t,l){if(t&1){let e=g();s(0,"tr",40),u("click",function(){let o=_(e).$implicit,n=a(2);return m(n.onSelect(o))})("contextmenu",function(o){let n=_(e).$implicit,p=a(2);return m(p.onTargetContextMenu(o,n))})("appTap",function(){_(e);let o=a(2);return m(o.openShareDialog())}),A(1,ot,1,1,null,null,He),S(3,"keyvalue"),c()}if(t&2){let e=l.$implicit,i=a(2);P("disabled",!e.enabled)("selected",e.id===(i.selected==null?null:i.selected.id)),r(),R(w(3,4,i.tableHeaders,i.originalOrderKeyValue))}}function at(t,l){if(t&1){let e=g();s(0,"table",34)(1,"thead")(2,"tr"),A(3,Ge,1,1,null,null,He),S(5,"keyvalue"),c()()(),s(6,"app-virtual-scroll",35),S(7,"searchFilter"),u("contextmenu",function(o){_(e);let n=a();return m(n.onContextMenu(o))}),s(8,"table",34)(9,"tbody",36),A(10,rt,4,7,"tr",37,$e),c()()()}if(t&2){let e=a();r(3),R(w(5,2,e.tableHeaders,e.originalOrderKeyValue)),r(3),d("bufferAmount",5)("items",w(7,5,e.shares,e.inputFilter.search())),r(4),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function lt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"New share"),c()),t&2){let e=a();r(),d("icon",e.icons.faPlus)}}function st(t,l){}function ct(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Refresh"),c()),t&2){let e=a();r(),d("icon",e.icons.faArrowRotateRight)}}function pt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Go to"),c()),t&2){let e=a();r(),d("icon",e.icons.faMapMarkerAlt)}}function dt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Edit"),c()),t&2){let e=a();r(),d("icon",e.icons.faPen)}}function _t(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Edit children shares"),c()),t&2){let e=a(2);r(),d("icon",e.icons.SHARED)}}function mt(t,l){if(t&1){let e=g();T(0,_t,3,1,"ng-template",15),u("execute",function(){_(e);let o=a();return m(o.openChildShareDialog())})}}function ut(t,l){}function ht(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Informations"),c()),t&2){let e=a();r(),d("icon",e.icons.faCircleInfo)}}var Zt=(()=>{let l=class l{constructor(){this.locale=M(Z),this.layout=M(be),this.icons={SHARED:Te.SHARED_WITH_OTHERS,faArrowRotateRight:de,faArrowDown:_e,faArrowUp:le,faRotate:oe,faPlus:pe,faMinus:re,faPen:se,faEllipsisH:ae,faMapMarkerAlt:me,faCircleInfo:ue,faCommentDots:ce},this.originalOrderKeyValue=we,this.TAB_MENU=U,this.loading=!1,this.shares=[],this.selected=null,this.tableHeaders={name:{label:"Name",width:40,textCenter:!1,class:"",show:!0,sortable:!0},from:{label:"Shared from",width:20,textCenter:!1,class:"d-none d-md-table-cell",show:!0},members:{label:"Members",width:16,class:"d-none d-md-table-cell",textCenter:!1,show:!0},infos:{label:"Infos",width:14,textCenter:!0,class:"d-none d-md-table-cell",show:!0},created:{label:"Created",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",created:"Created"},this.activatedRoute=M(Y),this.store=M(ye),this.sharesService=M(Be),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],created:[{prop:"createdAt",type:"date"}]},this.sortTable=new Fe(this.constructor.name,this.sortSettings),this.loadShares(),this.activatedRoute.queryParams.subscribe(i=>this.focusOnSelect=i.select),this.layout.setBreadcrumbIcon(this.icons.SHARED),this.layout.setBreadcrumbNav({url:`/${Ve.SHARED}/${ve.SHARED_WITH_OTHER}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadShares(){this.loading=!0,this.onSelect(),this.sharesService.listShares().subscribe({next:i=>{this.sortBy(this.sortTable.sortParam.column,!1,i.map(o=>new B(o))),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:i=>{this.shares=[],this.loading=!1,this.layout.sendNotification("error","Shares",i.error.message)}})}sortBy(i,o=!0,n){this.shares=this.sortTable.sortBy(i,o,n||this.shares)}onSelect(i=null){this.selected=i,this.store.shareSelection.set(this.selected)}openShareDialog(i=!1){i?this.layout.openDialog(q,"lg").content.shareChange.pipe($(1)).subscribe(n=>{let[p,C]=n;p==="add"&&(this.focusOnSelect=C.name,this.loadShares())}):this.sharesService.getShare(this.selected.id).subscribe({next:o=>{this.layout.openDialog(q,"lg",{initialState:{share:o}}).content.shareChange.pipe($(1)).subscribe(p=>{let[C,x]=p;if(C==="update"){this.selected.name=x.name,this.selected.alias=x.alias,this.selected.description=x.description,this.selected.modifiedAt=x.modifiedAt,this.selected.enabled=x.enabled;let D={users:0,groups:0,links:x.links.length};for(let Oe of x.members)Oe.isUser?D.users++:D.groups++;this.selected.counts=I(I({},this.selected.counts),D)}else C==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.shares.filter(D=>D.id!==x.id)))})},error:o=>this.layout.sendNotification("error","Edit share",this.selected.name,o)})}openChildShareDialog(i){i&&this.onSelect(i),this.layout.openDialog(Ie,null,{initialState:{share:this.selected}}).content.sharesCountEvent.subscribe(n=>this.selected.counts.shares=n)}onContextMenu(i){i.preventDefault(),i.stopPropagation(),this.layout.openContextMenu(i,this.mainContextMenu)}onTargetContextMenu(i,o){i.preventDefault(),i.type==="contextmenu"&&i.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(i,this.targetContextMenu)}goTo(i){i=i||this.selected,this.sharesService.goTo(i).catch(console.error)}goToComments(i){this.sharesService.goTo(i).then(()=>this.layout.showRSideBarTab(U.COMMENTS,!0))}focusOn(i){let o=this.shares.find(n=>n.name===i);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=K({type:l,selectors:[["app-shared"]],viewQuery:function(o,n){if(o&1&&(E(Q,5),E(z,7),E(L,7),E(Ne,7),E(Ue,7)),o&2){let p;F(p=k())&&(n.scrollView=p.first),F(p=k())&&(n.inputFilter=p.first),F(p=k())&&(n.btnNavigationView=p.first),F(p=k())&&(n.mainContextMenu=p.first),F(p=k())&&(n.targetContextMenu=p.first)}},decls:38,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"d-none","d-sm-block","btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["contextMenuItem",""],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"disabled","selected","height","width"],[1,"card",3,"click","contextmenu","appTap"],[1,"card-body"],["alt","","draggable","true",3,"error","src","height","width"],[1,"label-top-right"],[1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"font-size"],[1,"label-bottom-left"],[3,"share","galleryMode"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],[1,"badge","rounded-pill","bg-warning"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"me-1",3,"icon"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[3,"share"],["alt","","draggable","false","height","30","width","30",3,"error","src"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-success","cursor-pointer"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"badge","rounded-pill","bg-success","cursor-pointer",3,"click"],["l10nTranslate",""]],template:function(o,n){if(o&1){let p=g();s(0,"div",2)(1,"button",3),S(2,"translate"),u("click",function(){return _(p),m(n.loadShares())}),h(3,"fa-icon",4),c(),s(4,"button",5),S(5,"translate"),u("click",function(){return _(p),m(n.openShareDialog(!0))}),h(6,"fa-icon",6),c(),s(7,"button",7),S(8,"translate"),u("click",function(){return _(p),m(n.openShareDialog())}),h(9,"fa-icon",6),c(),s(10,"button",7),S(11,"translate"),u("click",function(){return _(p),m(n.openChildShareDialog())}),h(12,"fa-icon",6),c(),s(13,"button",7),S(14,"translate"),u("click",function(){return _(p),m(n.goTo())}),h(15,"fa-icon",6),c(),s(16,"div",8)(17,"div",9),h(18,"app-input-filter",10),c(),s(19,"app-navigation-view",11),u("sortBy",function(x){return _(p),m(n.sortBy(x))})("switchView",function(x){return _(p),m(n.galleryMode=x)}),c()()(),y(20,Ke,6,8,"div",12)(21,at,12,8),s(22,"div",13)(23,"span",14),f(24),S(25,"translate"),c()(),s(26,"context-menu",null,0),T(28,lt,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.openShareDialog(!0))}),T(29,st,0,0,"ng-template",16)(30,ct,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.loadShares())}),c(),s(31,"context-menu",null,1),T(33,pt,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.goTo())}),T(34,dt,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.openShareDialog())}),y(35,mt,1,0,null,17),T(36,ut,0,0,"ng-template",16)(37,ht,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.layout.showRSideBarTab(n.TAB_MENU.SELECTION))}),c()}o&2&&(r(),d("tooltip",w(2,22,"Refresh",n.locale.language)),r(2),d("icon",n.icons.faArrowRotateRight)("animation",n.loading?"spin":null),r(),d("tooltip",w(5,25,"New share",n.locale.language)),r(2),d("icon",n.icons.faPlus),r(),d("disabled",!n.selected)("tooltip",w(8,28,"Edit share",n.locale.language)),r(2),d("icon",n.icons.faPen),r(),d("disabled",!(n.selected!=null&&n.selected.counts.shares))("tooltip",w(11,31,"Edit children shares",n.locale.language)),r(2),d("icon",n.icons.SHARED),r(),d("disabled",!n.selected)("tooltip",w(14,34,"Go to",n.locale.language)),r(2),d("icon",n.icons.faMapMarkerAlt),r(4),d("sortParams",n.sortTable.sortParam)("sortFields",n.btnSortFields),r(),b(n.galleryMode!=null&&n.galleryMode.enabled?20:21),r(4),j("",n.shares.length," ",w(25,37,"shares",n.locale.language)),r(5),d("divider",!0),r(6),b(n.selected!=null&&n.selected.counts.shares?35:-1),r(),d("divider",!0))},dependencies:[fe,te,L,z,ne,ie,Q,ke,ge,xe,Ce,Ae,Me,X,ee,Ee,De],encapsulation:2});let t=l;return t})();export{Zt as SharedComponent};
1
+ import{B as q,C as Ie}from"./chunk-2VMSXRCB.js";import"./chunk-S7HNXVRB.js";import{a as L}from"./chunk-RSXHRKM5.js";import"./chunk-RFH46UW3.js";import"./chunk-XTRDKGKG.js";import{a as De}from"./chunk-WSSU2HXE.js";import{d as ke}from"./chunk-VJTXJ43D.js";import"./chunk-3OHSRRKH.js";import{a as z,b as Q,c as Me,d as Ee,e as Fe}from"./chunk-3R4WKOHQ.js";import{b as Ae,c as Be}from"./chunk-O6FYXVHI.js";import{b as Pe}from"./chunk-SJR5R3Y4.js";import{m as Re}from"./chunk-3XVM35O2.js";import"./chunk-LVSNIS5P.js";import"./chunk-PNR6M34W.js";import{b as Y}from"./chunk-RV3VZJPZ.js";import"./chunk-VQQKMY2C.js";import{Ib as ve,Jb as Te,Kb as Ve,Ma as U,Sa as Se,Za as we,mb as ye,r as ie,s as ne,va as Ce,wa as xe,xa as ge,yb as be}from"./chunk-XDZGW64M.js";import{$a as K,$b as J,$f as ue,Ab as g,Db as u,Dd as ee,Ed as te,Fb as a,Fd as oe,Ha as H,Hf as pe,Jb as E,Jc as X,Jf as de,Kb as F,Kd as re,L as $,Lb as k,Na as r,Nb as V,Ob as P,Pb as O,Qb as f,Rb as v,Sb as N,Tb as j,Vd as ae,Ve as le,Vf as _e,Wf as me,Zb as G,eb as T,ec as S,eg as fe,gc as w,ia as M,jb as W,kb as y,lb as b,na as _,oa as m,ob as A,pb as R,pf as se,qb as d,qf as ce,rb as s,sb as c,tb as h,yd as Z}from"./chunk-DIT6W7VM.js";import{n as he}from"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{a as I}from"./chunk-N3U6637P.js";var B=class{constructor(l){this.syncs=[],this.newly=0,Object.assign(this,l),Pe(this),this.hTimeAgo=he(this.createdAt).fromNow(!0),this.newly=Se(this.createdAt)}fallBackMimeUrl(){this.mimeUrl=Re}};var Ne=["MainContextMenu"],Ue=["TargetContextMenu"],ze=()=>["shares"],$e=(t,l)=>l.id,He=(t,l)=>l.key;function Qe(t,l){if(t&1&&(s(0,"span",31),f(1),c()),t&2){let e=a().$implicit,i=a(2);V("font-size",i.galleryMode.textSize,"px"),r(),v(e.hTimeAgo)}}function Le(t,l){if(t&1){let e=g();s(0,"div",32),u("click",function(){_(e);let o=a().$implicit,n=a(2);return m(n.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),f(3),c()()}if(t&2){let e=a().$implicit,i=a(2);V("font-size",i.galleryMode.textSize,"px"),r(),d("icon",i.icons.SHARED),r(2),v(e.counts.shares)}}function qe(t,l){if(t&1){let e=g();s(0,"div",21),u("click",function(){let o=_(e).$implicit,n=a(2);return m(n.onSelect(o))})("contextmenu",function(o){let n=_(e).$implicit,p=a(2);return m(p.onTargetContextMenu(o,n))})("appTap",function(){_(e);let o=a(2);return m(o.openShareDialog())}),s(1,"div",22)(2,"img",23),u("error",function(){let o=_(e).$implicit;return m(o.fallBackMimeUrl())}),c(),s(3,"span",24),y(4,Qe,2,3,"span",25),c(),y(5,Le,4,4,"div",26),s(6,"span",27),h(7,"app-share-repository",28),c()(),s(8,"div",29)(9,"span",30),f(10),c()()()}if(t&2){let e=l.$implicit,i=l.$index,o=a(2);V("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),P("disabled",!e.enabled)("selected",e.id===(o.selected==null?null:o.selected.id)),r(),W("rowIndex",i),r(),d("src",e.mimeUrl,H)("height",o.galleryMode.image)("width",o.galleryMode.image),r(2),b(e.newly?4:-1),r(),b(e.counts.shares?5:-1),r(2),d("share",e)("galleryMode",o.galleryMode),r(2),V("font-size",o.galleryMode.textSize,"px"),r(),v(e.name)}}function Ke(t,l){if(t&1){let e=g();s(0,"div",12)(1,"app-virtual-scroll",18),S(2,"searchFilter"),u("contextmenu",function(o){_(e);let n=a();return m(n.onContextMenu(o))}),s(3,"div",19),A(4,qe,11,19,"div",20,$e),c()()()}if(t&2){let e=a();r(),d("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",w(2,5,e.shares,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),r(3),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function We(t,l){if(t&1&&h(0,"fa-icon",6),t&2){let e=a(4);d("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)}}function je(t,l){if(t&1){let e=g();s(0,"th",39),u("click",function(){_(e);let o=a().$implicit,n=a(2);return m(n.sortBy(o.key))}),f(1),y(2,We,1,1,"fa-icon",6),c()}if(t&2){let e=a().$implicit,i=a(2);O(e.value.class),V("width",e.value.width,"%"),P("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),r(),N(" ",e.value.label," "),r(),b(i.sortTable.sortParam.column===e.key?2:-1)}}function Ge(t,l){if(t&1&&y(0,je,3,10,"th",38),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function Je(t,l){if(t&1){let e=g();s(0,"div",42)(1,"img",44),u("error",function(){_(e);let o=a(3).$implicit;return m(o.fallBackMimeUrl())}),c(),s(2,"div",45)(3,"span",30),f(4),c(),s(5,"span",46),f(6),c()()()}if(t&2){let e=a(3).$implicit;r(),d("src",e.mimeUrl,H),r(3),v(e.name),r(2),v(e.description)}}function Xe(t,l){if(t&1&&h(0,"app-share-repository",43),t&2){let e=a(3).$implicit;d("share",e)}}function Ye(t,l){if(t&1&&(s(0,"span"),f(1),S(2,"joinCounts"),c()),t&2){let e=a(3).$implicit;r(),v(w(2,1,e.counts,J(4,ze)))}}function Ze(t,l){if(t&1){let e=g();s(0,"span",49),u("click",function(){_(e);let o=a(4).$implicit,n=a(2);return m(n.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),f(3),c()()}if(t&2){let e=a(4).$implicit,i=a(2);r(),d("icon",i.icons.SHARED),r(2),v(e.counts.shares)}}function et(t,l){if(t&1){let e=g();s(0,"span",50),u("click",function(){_(e);let o=a(4).$implicit,n=a(2);return m(n.goToComments(o))}),h(1,"fa-icon",6),c()}if(t&2){let e=a(6);r(),d("icon",e.icons.faCommentDots)}}function tt(t,l){if(t&1&&(y(0,Ze,4,2,"span",47),y(1,et,2,1,"span",48)),t&2){let e=a(3).$implicit;b(e.counts.shares?0:-1),r(),b(e.hasComments?1:-1)}}function it(t,l){if(t&1&&f(0),t&2){let e=a(3).$implicit;N(" ",e.hTimeAgo," ")}}function nt(t,l){if(t&1&&(s(0,"td"),y(1,Je,7,3,"div",42)(2,Xe,1,1,"app-share-repository",43)(3,Ye,3,5,"span")(4,tt,2,2)(5,it,1,1),c()),t&2){let e,i=a().$implicit,o=a().$implicit;O(G("",i.value.class," ",i.value.newly?"prop-newly-"+o[i.value.newly]:"")),V("width",i.value.width,"%"),P("text-align-center",i.value.textCenter),r(),b((e=i.key)==="name"?1:e==="from"?2:e==="members"?3:e==="infos"?4:e==="created"?5:-1)}}function ot(t,l){if(t&1&&y(0,nt,6,9,"td",41),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function rt(t,l){if(t&1){let e=g();s(0,"tr",40),u("click",function(){let o=_(e).$implicit,n=a(2);return m(n.onSelect(o))})("contextmenu",function(o){let n=_(e).$implicit,p=a(2);return m(p.onTargetContextMenu(o,n))})("appTap",function(){_(e);let o=a(2);return m(o.openShareDialog())}),A(1,ot,1,1,null,null,He),S(3,"keyvalue"),c()}if(t&2){let e=l.$implicit,i=a(2);P("disabled",!e.enabled)("selected",e.id===(i.selected==null?null:i.selected.id)),r(),R(w(3,4,i.tableHeaders,i.originalOrderKeyValue))}}function at(t,l){if(t&1){let e=g();s(0,"table",34)(1,"thead")(2,"tr"),A(3,Ge,1,1,null,null,He),S(5,"keyvalue"),c()()(),s(6,"app-virtual-scroll",35),S(7,"searchFilter"),u("contextmenu",function(o){_(e);let n=a();return m(n.onContextMenu(o))}),s(8,"table",34)(9,"tbody",36),A(10,rt,4,7,"tr",37,$e),c()()()}if(t&2){let e=a();r(3),R(w(5,2,e.tableHeaders,e.originalOrderKeyValue)),r(3),d("bufferAmount",5)("items",w(7,5,e.shares,e.inputFilter.search())),r(4),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function lt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"New share"),c()),t&2){let e=a();r(),d("icon",e.icons.faPlus)}}function st(t,l){}function ct(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Refresh"),c()),t&2){let e=a();r(),d("icon",e.icons.faArrowRotateRight)}}function pt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Go to"),c()),t&2){let e=a();r(),d("icon",e.icons.faMapMarkerAlt)}}function dt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Edit"),c()),t&2){let e=a();r(),d("icon",e.icons.faPen)}}function _t(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Edit children shares"),c()),t&2){let e=a(2);r(),d("icon",e.icons.SHARED)}}function mt(t,l){if(t&1){let e=g();T(0,_t,3,1,"ng-template",15),u("execute",function(){_(e);let o=a();return m(o.openChildShareDialog())})}}function ut(t,l){}function ht(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),f(2,"Informations"),c()),t&2){let e=a();r(),d("icon",e.icons.faCircleInfo)}}var Zt=(()=>{let l=class l{constructor(){this.locale=M(Z),this.layout=M(be),this.icons={SHARED:Te.SHARED_WITH_OTHERS,faArrowRotateRight:de,faArrowDown:_e,faArrowUp:le,faRotate:oe,faPlus:pe,faMinus:re,faPen:se,faEllipsisH:ae,faMapMarkerAlt:me,faCircleInfo:ue,faCommentDots:ce},this.originalOrderKeyValue=we,this.TAB_MENU=U,this.loading=!1,this.shares=[],this.selected=null,this.tableHeaders={name:{label:"Name",width:40,textCenter:!1,class:"",show:!0,sortable:!0},from:{label:"Shared from",width:20,textCenter:!1,class:"d-none d-md-table-cell",show:!0},members:{label:"Members",width:16,class:"d-none d-md-table-cell",textCenter:!1,show:!0},infos:{label:"Infos",width:14,textCenter:!0,class:"d-none d-md-table-cell",show:!0},created:{label:"Created",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",created:"Created"},this.activatedRoute=M(Y),this.store=M(ye),this.sharesService=M(Be),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],created:[{prop:"createdAt",type:"date"}]},this.sortTable=new Fe(this.constructor.name,this.sortSettings),this.loadShares(),this.activatedRoute.queryParams.subscribe(i=>this.focusOnSelect=i.select),this.layout.setBreadcrumbIcon(this.icons.SHARED),this.layout.setBreadcrumbNav({url:`/${Ve.SHARED}/${ve.SHARED_WITH_OTHER}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadShares(){this.loading=!0,this.onSelect(),this.sharesService.listShares().subscribe({next:i=>{this.sortBy(this.sortTable.sortParam.column,!1,i.map(o=>new B(o))),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:i=>{this.shares=[],this.loading=!1,this.layout.sendNotification("error","Shares",i.error.message)}})}sortBy(i,o=!0,n){this.shares=this.sortTable.sortBy(i,o,n||this.shares)}onSelect(i=null){this.selected=i,this.store.shareSelection.set(this.selected)}openShareDialog(i=!1){i?this.layout.openDialog(q,"lg").content.shareChange.pipe($(1)).subscribe(n=>{let[p,C]=n;p==="add"&&(this.focusOnSelect=C.name,this.loadShares())}):this.sharesService.getShare(this.selected.id).subscribe({next:o=>{this.layout.openDialog(q,"lg",{initialState:{share:o}}).content.shareChange.pipe($(1)).subscribe(p=>{let[C,x]=p;if(C==="update"){this.selected.name=x.name,this.selected.alias=x.alias,this.selected.description=x.description,this.selected.modifiedAt=x.modifiedAt,this.selected.enabled=x.enabled;let D={users:0,groups:0,links:x.links.length};for(let Oe of x.members)Oe.isUser?D.users++:D.groups++;this.selected.counts=I(I({},this.selected.counts),D)}else C==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.shares.filter(D=>D.id!==x.id)))})},error:o=>this.layout.sendNotification("error","Edit share",this.selected.name,o)})}openChildShareDialog(i){i&&this.onSelect(i),this.layout.openDialog(Ie,null,{initialState:{share:this.selected}}).content.sharesCountEvent.subscribe(n=>this.selected.counts.shares=n)}onContextMenu(i){i.preventDefault(),i.stopPropagation(),this.layout.openContextMenu(i,this.mainContextMenu)}onTargetContextMenu(i,o){i.preventDefault(),i.type==="contextmenu"&&i.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(i,this.targetContextMenu)}goTo(i){i=i||this.selected,this.sharesService.goTo(i).catch(console.error)}goToComments(i){this.sharesService.goTo(i).then(()=>this.layout.showRSideBarTab(U.COMMENTS,!0))}focusOn(i){let o=this.shares.find(n=>n.name===i);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=K({type:l,selectors:[["app-shared"]],viewQuery:function(o,n){if(o&1&&(E(Q,5),E(z,7),E(L,7),E(Ne,7),E(Ue,7)),o&2){let p;F(p=k())&&(n.scrollView=p.first),F(p=k())&&(n.inputFilter=p.first),F(p=k())&&(n.btnNavigationView=p.first),F(p=k())&&(n.mainContextMenu=p.first),F(p=k())&&(n.targetContextMenu=p.first)}},decls:38,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"d-none","d-sm-block","btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["contextMenuItem",""],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"disabled","selected","height","width"],[1,"card",3,"click","contextmenu","appTap"],[1,"card-body"],["alt","","draggable","true",3,"error","src","height","width"],[1,"label-top-right"],[1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"font-size"],[1,"label-bottom-left"],[3,"share","galleryMode"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],[1,"badge","rounded-pill","bg-warning"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"me-1",3,"icon"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[3,"share"],["alt","","draggable","false","height","30","width","30",3,"error","src"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-success","cursor-pointer"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"badge","rounded-pill","bg-success","cursor-pointer",3,"click"],["l10nTranslate",""]],template:function(o,n){if(o&1){let p=g();s(0,"div",2)(1,"button",3),S(2,"translate"),u("click",function(){return _(p),m(n.loadShares())}),h(3,"fa-icon",4),c(),s(4,"button",5),S(5,"translate"),u("click",function(){return _(p),m(n.openShareDialog(!0))}),h(6,"fa-icon",6),c(),s(7,"button",7),S(8,"translate"),u("click",function(){return _(p),m(n.openShareDialog())}),h(9,"fa-icon",6),c(),s(10,"button",7),S(11,"translate"),u("click",function(){return _(p),m(n.openChildShareDialog())}),h(12,"fa-icon",6),c(),s(13,"button",7),S(14,"translate"),u("click",function(){return _(p),m(n.goTo())}),h(15,"fa-icon",6),c(),s(16,"div",8)(17,"div",9),h(18,"app-input-filter",10),c(),s(19,"app-navigation-view",11),u("sortBy",function(x){return _(p),m(n.sortBy(x))})("switchView",function(x){return _(p),m(n.galleryMode=x)}),c()()(),y(20,Ke,6,8,"div",12)(21,at,12,8),s(22,"div",13)(23,"span",14),f(24),S(25,"translate"),c()(),s(26,"context-menu",null,0),T(28,lt,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.openShareDialog(!0))}),T(29,st,0,0,"ng-template",16)(30,ct,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.loadShares())}),c(),s(31,"context-menu",null,1),T(33,pt,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.goTo())}),T(34,dt,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.openShareDialog())}),y(35,mt,1,0,null,17),T(36,ut,0,0,"ng-template",16)(37,ht,3,1,"ng-template",15),u("execute",function(){return _(p),m(n.layout.showRSideBarTab(n.TAB_MENU.SELECTION))}),c()}o&2&&(r(),d("tooltip",w(2,22,"Refresh",n.locale.language)),r(2),d("icon",n.icons.faArrowRotateRight)("animation",n.loading?"spin":null),r(),d("tooltip",w(5,25,"New share",n.locale.language)),r(2),d("icon",n.icons.faPlus),r(),d("disabled",!n.selected)("tooltip",w(8,28,"Edit share",n.locale.language)),r(2),d("icon",n.icons.faPen),r(),d("disabled",!(n.selected!=null&&n.selected.counts.shares))("tooltip",w(11,31,"Edit children shares",n.locale.language)),r(2),d("icon",n.icons.SHARED),r(),d("disabled",!n.selected)("tooltip",w(14,34,"Go to",n.locale.language)),r(2),d("icon",n.icons.faMapMarkerAlt),r(4),d("sortParams",n.sortTable.sortParam)("sortFields",n.btnSortFields),r(),b(n.galleryMode!=null&&n.galleryMode.enabled?20:21),r(4),j("",n.shares.length," ",w(25,37,"shares",n.locale.language)),r(5),d("divider",!0),r(6),b(n.selected!=null&&n.selected.counts.shares?35:-1),r(),d("divider",!0))},dependencies:[fe,te,L,z,ne,ie,Q,ke,ge,xe,Ce,Ae,Me,X,ee,Ee,De],encapsulation:2});let t=l;return t})();export{Zt as SharedComponent};
@@ -1 +1 @@
1
- import{a as xe,b as Se,c as Te,d as Ee,h as we}from"./chunk-X5XGK6T7.js";import{a as De}from"./chunk-BIKLW4YS.js";import{l as _e,m as Ce,p as be}from"./chunk-HNQRZALS.js";import{G as D,I as ue,J as de,K as pe,M as ge,Tb as ve,y as me,yb as he,z as ce}from"./chunk-GUGNR5TF.js";import{$a as R,Ab as V,Bf as se,Cd as ee,Db as _,Dd as te,Ee as ne,Fb as d,Gf as re,Hc as B,Na as a,Ob as b,Pa as O,Pb as U,Qb as s,Qf as le,Rb as x,Sb as E,Tb as A,Yb as k,Zc as j,_c as q,ad as p,bf as oe,cd as H,dd as X,dg as fe,eb as y,ec as v,ed as $,fc as S,gc as M,gd as g,ia as T,kb as f,lb as h,ld as z,mb as F,md as W,na as P,nd as J,oa as L,ob as G,od as K,of as ae,pb as N,pd as Q,pe as ie,qb as c,rb as i,sb as n,tb as u,wd as Y,xd as Z}from"./chunk-C36MW4ME.js";import{a as I}from"./chunk-N3U6637P.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{a as xe,b as Se,c as Te,d as Ee,h as we}from"./chunk-3OHSRRKH.js";import{a as De}from"./chunk-LVSNIS5P.js";import{l as _e,m as Ce,p as be}from"./chunk-VQQKMY2C.js";import{G as D,I as ue,J as de,K as pe,M as ge,Tb as ve,y as me,yb as he,z as ce}from"./chunk-XDZGW64M.js";import{$a as R,$c as q,Ab as V,Cf as se,Db as _,Dd as ee,Ed as te,Fb as d,Fe as ne,Hf as re,Ic as B,Na as a,Ob as b,Pa as O,Pb as U,Qb as s,Rb as x,Rf as le,Sb as E,Tb as A,Yb as k,_c as j,bd as p,cf as oe,dd as H,eb as y,ec as v,ed as X,eg as fe,fc as S,fd as $,gc as M,hd as g,ia as T,kb as f,lb as h,mb as F,md as z,na as P,nd as W,oa as L,ob as G,od as J,pb as N,pd as K,pf as ae,qb as c,qd as Q,qe as ie,rb as i,sb as n,tb as u,xd as Y,yd as Z}from"./chunk-DIT6W7VM.js";import{a as I}from"./chunk-N3U6637P.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{e as N}from"./chunk-V3AT2BKP.js";import"./chunk-VKK5BSLX.js";import{k as F,l as I}from"./chunk-3XVM35O2.js";import"./chunk-BIKLW4YS.js";import"./chunk-SHIVUDP3.js";import{b as _,e as P}from"./chunk-UJPPR4MX.js";import"./chunk-HNQRZALS.js";import"./chunk-GUGNR5TF.js";import{$a as f,$d as U,Cd as T,Db as p,Dd as E,Ha as h,Na as i,Qb as g,Ub as v,Vb as k,Wb as y,_c as S,cd as L,dg as R,ec as b,fe as D,gc as w,hd as C,ia as l,qb as n,rb as t,sb as o,tb as a,vd as A,xd as M}from"./chunk-C36MW4ME.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import"./chunk-N3U6637P.js";var Q=(()=>{let r=class r{constructor(){this.locale=l(M),this.logoUrl=F,this.linkProtected=I,this.icons={faKey:U,faSignInAlt:D},this.password="",this.activatedRoute=l(_),this.linksService=l(N),this.activatedRoute.params.subscribe(c=>this.uuid=c.uuid)}validPassword(){this.password&&this.linksService.linkAuthentication(this.uuid,this.password).subscribe(()=>this.password="")}};r.\u0275fac=function(s){return new(s||r)},r.\u0275cmp=f({type:r,selectors:[["app-public-link-auth"]],decls:18,vars:10,consts:[[1,"link-page"],[1,"header"],["routerLink",""],["alt","","height","40",3,"src"],["alt","","height","96",1,"cursor-pointer",3,"click","src"],[1,"d-flex","mt-2","ms-auto","me-auto",2,"width","250px"],[1,"input-group"],[1,"input-group-text","bg-gray-light"],[3,"icon"],["autocomplete","off","type","password",1,"form-control","border-0",3,"ngModelChange","keyup.enter","ngModel","placeholder"],["type","button",1,"btn","btn-default","btn-custom","border-0",3,"click","disabled"],[1,"error-text","no-select"],[1,"hr"],["l10nTranslate","",1,"solve"]],template:function(s,e){s&1&&(t(0,"div",0)(1,"div",1)(2,"a",2),a(3,"img",3),o()(),t(4,"img",4),p("click",function(){return e.validPassword()}),o(),t(5,"div",5)(6,"div",6)(7,"span",7),a(8,"fa-icon",8),o(),t(9,"input",9),b(10,"translate"),y("ngModelChange",function(m){return k(e.password,m)||(e.password=m),m}),p("keyup.enter",function(){return e.validPassword()}),o(),t(11,"button",10),p("click",function(){return e.validPassword()}),a(12,"fa-icon",8),o()()(),t(13,"div",11),a(14,"span",12),t(15,"div")(16,"span",13),g(17,"This share is protected by a password"),o()()()()),s&2&&(i(3),n("src",e.logoUrl,h),i(),n("src",e.linkProtected,h),i(4),n("icon",e.icons.faKey),i(),v("ngModel",e.password),n("placeholder",w(10,7,"Password",e.locale.language)),i(2),n("disabled",!(e.password!=null&&e.password.length)),i(),n("icon",e.icons.faSignInAlt))},dependencies:[P,A,S,L,C,R,E,T],encapsulation:2});let d=r;return d})();export{Q as PublicLinkAuthComponent};
1
+ import{e as N}from"./chunk-O6FYXVHI.js";import"./chunk-SJR5R3Y4.js";import{k as F,l as I}from"./chunk-3XVM35O2.js";import"./chunk-LVSNIS5P.js";import"./chunk-PNR6M34W.js";import{b as _,e as P}from"./chunk-RV3VZJPZ.js";import"./chunk-VQQKMY2C.js";import"./chunk-XDZGW64M.js";import{$a as f,$c as S,Db as p,Dd as T,Ed as E,Ha as h,Na as i,Qb as g,Ub as v,Vb as k,Wb as y,ae as U,dd as L,ec as b,eg as R,gc as w,ge as D,ia as l,id as C,qb as n,rb as t,sb as o,tb as a,wd as A,yd as M}from"./chunk-DIT6W7VM.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import"./chunk-N3U6637P.js";var Q=(()=>{let r=class r{constructor(){this.locale=l(M),this.logoUrl=F,this.linkProtected=I,this.icons={faKey:U,faSignInAlt:D},this.password="",this.activatedRoute=l(_),this.linksService=l(N),this.activatedRoute.params.subscribe(c=>this.uuid=c.uuid)}validPassword(){this.password&&this.linksService.linkAuthentication(this.uuid,this.password).subscribe(()=>this.password="")}};r.\u0275fac=function(s){return new(s||r)},r.\u0275cmp=f({type:r,selectors:[["app-public-link-auth"]],decls:18,vars:10,consts:[[1,"link-page"],[1,"header"],["routerLink",""],["alt","","height","40",3,"src"],["alt","","height","96",1,"cursor-pointer",3,"click","src"],[1,"d-flex","mt-2","ms-auto","me-auto",2,"width","250px"],[1,"input-group"],[1,"input-group-text","bg-gray-light"],[3,"icon"],["autocomplete","off","type","password",1,"form-control","border-0",3,"ngModelChange","keyup.enter","ngModel","placeholder"],["type","button",1,"btn","btn-default","btn-custom","border-0",3,"click","disabled"],[1,"error-text","no-select"],[1,"hr"],["l10nTranslate","",1,"solve"]],template:function(s,e){s&1&&(t(0,"div",0)(1,"div",1)(2,"a",2),a(3,"img",3),o()(),t(4,"img",4),p("click",function(){return e.validPassword()}),o(),t(5,"div",5)(6,"div",6)(7,"span",7),a(8,"fa-icon",8),o(),t(9,"input",9),b(10,"translate"),y("ngModelChange",function(m){return k(e.password,m)||(e.password=m),m}),p("keyup.enter",function(){return e.validPassword()}),o(),t(11,"button",10),p("click",function(){return e.validPassword()}),a(12,"fa-icon",8),o()()(),t(13,"div",11),a(14,"span",12),t(15,"div")(16,"span",13),g(17,"This share is protected by a password"),o()()()()),s&2&&(i(3),n("src",e.logoUrl,h),i(),n("src",e.linkProtected,h),i(4),n("icon",e.icons.faKey),i(),v("ngModel",e.password),n("placeholder",w(10,7,"Password",e.locale.language)),i(2),n("disabled",!(e.password!=null&&e.password.length)),i(),n("icon",e.icons.faSignInAlt))},dependencies:[P,A,S,L,C,R,E,T],encapsulation:2});let d=r;return d})();export{Q as PublicLinkAuthComponent};
@@ -1 +1 @@
1
- import{e as oe}from"./chunk-VM4YX6Q7.js";import{b as ne}from"./chunk-SHIVUDP3.js";import{d as H}from"./chunk-UJPPR4MX.js";import{n as se,o as I}from"./chunk-HNQRZALS.js";import{B as A,C as W,E as v,Sa as te,Sb as d,Ya as ie,ka as E,kb as re,la as u,ma as K,na as f,oa as Q,pa as a,qa as X,ra as Y,sa as Z,ta as ee,z as R}from"./chunk-GUGNR5TF.js";import{$a as C,Ab as D,Cd as q,Db as k,Dd as z,Fb as g,G as w,Na as S,Pa as O,Qb as U,Rc as F,Sb as L,da as P,ec as $,fc as B,gc as j,ia as c,mb as N,na as x,oa as T,ob as b,pb as G,qb as y,rb as _,sb as l,v as o,xd as V}from"./chunk-C36MW4ME.js";import{n as J}from"./chunk-DM4NXKEP.js";var m=class{constructor(i){this.isAdmin=!1,this.newly=0,this.applications=[],this.currentAccessHover=!1,this.setGroups(i),this.setManagers(i),Object.assign(this,i),this.isAdmin=i.role===R.ADMINISTRATOR,this.userRoleText=ie(R[i.role]),this.avatarUrl=re(i.login),this.userIsActiveText=this.isActive?"active":"suspended",this.hTimeAgo=J(this.currentAccess).fromNow(!0),this.newly=te(this.currentAccess),this.permissions&&(this.applications=this.permissions.split(A))}setGroups(i){i?.groups&&(i.groups=i.groups.map(p=>new d(p)))}setManagers(i){i?.managers&&(i.managers=i.managers.map(p=>new d(p)))}};var h=class{constructor(i){Object.assign(this,i),this.permissions&&(this.applications=this.permissions.split(A))}};var Te=(()=>{let i=class i{constructor(){this.http=c(F),this.router=c(H),this.authService=c(ne)}listUsers(e=!1){return this.http.get(e?Q:K).pipe(o(t=>t.map(r=>new m(r))))}getUser(e,t=!1){return this.http.get(`${t?f:u}/${e}`).pipe(o(r=>t?new I(r):new m(r)))}createUser(e,t,r=!1){return this.http.post(r?f:u,e,{headers:t}).pipe(o(n=>r?new I(n):new m(n)))}updateUser(e,t,r,n=!1){return this.http.put(`${n?f:u}/${e}`,t,{headers:r}).pipe(o(M=>n?new I(M):new m(M)))}deleteUser(e,t,r){return this.http.request("delete",`${t.isGuest?f:u}/${e}`,{headers:r,body:t})}browseGroup(e,t=!1){return this.http.get(`${t?Y:X}${e?`/${e}`:""}`).pipe(o(r=>new se(r)))}getGroup(e){return this.http.get(`${a}/${e}`).pipe(o(t=>new h(t)))}createGroup(e){return this.http.post(a,e).pipe(o(t=>new h(t)))}updateGroup(e,t){return this.http.put(`${a}/${e}`,t).pipe(o(r=>new h(r)))}deleteGroup(e){return this.http.delete(`${a}/${e}`)}addUsersToGroup(e,t){return this.http.patch(`${a}/${e}/${E.USERS}`,t)}updateUserFromGroup(e,t,r){return this.http.patch(`${a}/${e}/${E.USERS}/${t}`,r)}removeUserFromGroup(e,t){return this.http.delete(`${a}/${e}/${E.USERS}/${t}`)}searchMembers(e,t=!1){return this.http.request("search",Z,{body:e}).pipe(o(r=>r.map(n=>(t&&delete n.description,new d(n)))),w(()=>[]))}impersonateUser(e,t){return this.http.post(`${ee}/${e}`,null,{headers:t})}initImpersonateUser(e){this.authService.initUserFromResponse(e,!0),this.router.navigate([v.BASE,v.ACCOUNT]).catch(console.error)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275prov=P({token:i,factory:i.\u0275fac,providedIn:"root"});let s=i;return s})();function ae(s,i){if(s&1){let p=D();_(0,"div",3)(1,"label",4)(2,"input",5),k("change",function(t){let r=x(p).$implicit,n=g();return T(n.updatePermissions(r,t))}),l(),U(3),$(4,"translate"),$(5,"capitalize"),l()()}if(s&2){let p=i.$implicit,e=g();S(2),y("checked",e.permissions.indexOf(p)>-1)("value",p),S(),L(" ",B(5,6,j(4,3,p,e.locale.language))," ")}}var Le=(()=>{let i=class i{constructor(){this.permissions=[],this.permissionsChange=new O,this.locale=c(V),this.allApplications=Object.values(W)}updatePermissions(e,t){t.target.checked?this.permissions.push(e):this.permissions.splice(this.permissions.indexOf(e),1),this.permissionsChange.emit(this.permissions)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=C({type:i,selectors:[["app-admin-permissions"]],inputs:{permissions:"permissions"},outputs:{permissionsChange:"permissionsChange"},decls:6,vars:0,consts:[[1,"d-flex","flex-column","col-12","pb-3"],["for","permissions","l10nTranslate",""],["id","permissions",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"change","checked","value"]],template:function(t,r){t&1&&(_(0,"div",0)(1,"label",1),U(2,"Permissions"),l(),_(3,"div",2),b(4,ae,6,8,"div",3,N),l()()),t&2&&(S(4),G(r.allApplications))},dependencies:[z,oe,q],encapsulation:2});let s=i;return s})();export{m as a,Te as b,Le as c};
1
+ import{e as oe}from"./chunk-MTVSJTIW.js";import{b as ne}from"./chunk-PNR6M34W.js";import{d as H}from"./chunk-RV3VZJPZ.js";import{n as se,o as I}from"./chunk-VQQKMY2C.js";import{B as A,C as W,E as v,Sa as te,Sb as d,Ya as ie,ka as E,kb as re,la as u,ma as K,na as f,oa as Q,pa as a,qa as X,ra as Y,sa as Z,ta as ee,z as R}from"./chunk-XDZGW64M.js";import{$a as C,Ab as D,Db as k,Dd as q,Ed as z,Fb as g,G as w,Na as S,Pa as O,Qb as U,Sb as L,Sc as F,da as P,ec as $,fc as B,gc as j,ia as c,mb as N,na as x,oa as T,ob as b,pb as G,qb as y,rb as _,sb as l,v as o,yd as V}from"./chunk-DIT6W7VM.js";import{n as J}from"./chunk-DM4NXKEP.js";var m=class{constructor(i){this.isAdmin=!1,this.newly=0,this.applications=[],this.currentAccessHover=!1,this.setGroups(i),this.setManagers(i),Object.assign(this,i),this.isAdmin=i.role===R.ADMINISTRATOR,this.userRoleText=ie(R[i.role]),this.avatarUrl=re(i.login),this.userIsActiveText=this.isActive?"active":"suspended",this.hTimeAgo=J(this.currentAccess).fromNow(!0),this.newly=te(this.currentAccess),this.permissions&&(this.applications=this.permissions.split(A))}setGroups(i){i?.groups&&(i.groups=i.groups.map(p=>new d(p)))}setManagers(i){i?.managers&&(i.managers=i.managers.map(p=>new d(p)))}};var h=class{constructor(i){Object.assign(this,i),this.permissions&&(this.applications=this.permissions.split(A))}};var Te=(()=>{let i=class i{constructor(){this.http=c(F),this.router=c(H),this.authService=c(ne)}listUsers(e=!1){return this.http.get(e?Q:K).pipe(o(t=>t.map(r=>new m(r))))}getUser(e,t=!1){return this.http.get(`${t?f:u}/${e}`).pipe(o(r=>t?new I(r):new m(r)))}createUser(e,t,r=!1){return this.http.post(r?f:u,e,{headers:t}).pipe(o(n=>r?new I(n):new m(n)))}updateUser(e,t,r,n=!1){return this.http.put(`${n?f:u}/${e}`,t,{headers:r}).pipe(o(M=>n?new I(M):new m(M)))}deleteUser(e,t,r){return this.http.request("delete",`${t.isGuest?f:u}/${e}`,{headers:r,body:t})}browseGroup(e,t=!1){return this.http.get(`${t?Y:X}${e?`/${e}`:""}`).pipe(o(r=>new se(r)))}getGroup(e){return this.http.get(`${a}/${e}`).pipe(o(t=>new h(t)))}createGroup(e){return this.http.post(a,e).pipe(o(t=>new h(t)))}updateGroup(e,t){return this.http.put(`${a}/${e}`,t).pipe(o(r=>new h(r)))}deleteGroup(e){return this.http.delete(`${a}/${e}`)}addUsersToGroup(e,t){return this.http.patch(`${a}/${e}/${E.USERS}`,t)}updateUserFromGroup(e,t,r){return this.http.patch(`${a}/${e}/${E.USERS}/${t}`,r)}removeUserFromGroup(e,t){return this.http.delete(`${a}/${e}/${E.USERS}/${t}`)}searchMembers(e,t=!1){return this.http.request("search",Z,{body:e}).pipe(o(r=>r.map(n=>(t&&delete n.description,new d(n)))),w(()=>[]))}impersonateUser(e,t){return this.http.post(`${ee}/${e}`,null,{headers:t})}initImpersonateUser(e){this.authService.initUserFromResponse(e,!0),this.router.navigate([v.BASE,v.ACCOUNT]).catch(console.error)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275prov=P({token:i,factory:i.\u0275fac,providedIn:"root"});let s=i;return s})();function ae(s,i){if(s&1){let p=D();_(0,"div",3)(1,"label",4)(2,"input",5),k("change",function(t){let r=x(p).$implicit,n=g();return T(n.updatePermissions(r,t))}),l(),U(3),$(4,"translate"),$(5,"capitalize"),l()()}if(s&2){let p=i.$implicit,e=g();S(2),y("checked",e.permissions.indexOf(p)>-1)("value",p),S(),L(" ",B(5,6,j(4,3,p,e.locale.language))," ")}}var Le=(()=>{let i=class i{constructor(){this.permissions=[],this.permissionsChange=new O,this.locale=c(V),this.allApplications=Object.values(W)}updatePermissions(e,t){t.target.checked?this.permissions.push(e):this.permissions.splice(this.permissions.indexOf(e),1),this.permissionsChange.emit(this.permissions)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=C({type:i,selectors:[["app-admin-permissions"]],inputs:{permissions:"permissions"},outputs:{permissionsChange:"permissionsChange"},decls:6,vars:0,consts:[[1,"d-flex","flex-column","col-12","pb-3"],["for","permissions","l10nTranslate",""],["id","permissions",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"change","checked","value"]],template:function(t,r){t&1&&(_(0,"div",0)(1,"label",1),U(2,"Permissions"),l(),_(3,"div",2),b(4,ae,6,8,"div",3,N),l()()),t&2&&(S(4),G(r.allApplications))},dependencies:[z,oe,q],encapsulation:2});let s=i;return s})();export{m as a,Te as b,Le as c};
@@ -1,4 +1,4 @@
1
- import{f as Ce}from"./chunk-X5XGK6T7.js";import{m as fe,p as _e}from"./chunk-HNQRZALS.js";import{I as me,Nb as ge,Sb as z,yb as he}from"./chunk-GUGNR5TF.js";import{$a as M,Ab as b,Db as h,Dd as ae,Fb as c,Fc as Y,Ga as E,Hd as le,J as L,Mb as D,N as R,Na as r,Ob as y,Pa as x,Pb as J,Qb as m,Rb as k,Re as pe,Ub as F,Vb as V,Wb as G,Xc as ee,Yb as K,Yc as te,_b as X,_c as ie,ac as Z,bb as U,bc as $,bf as de,ca as I,cd as ne,dg as P,eb as w,ec as A,gc as H,hd as oe,ia as O,ic as j,kb as f,lb as g,mb as q,na as C,oa as v,ob as B,of as ue,pb as Q,pe as ce,qb as d,rb as l,sb as a,tb as _,vd as se,wd as re,za as W,zb as T}from"./chunk-C36MW4ME.js";var be=(function(i){return i[i.USER=0]="USER",i[i.PERSONAL=1]="PERSONAL",i})(be||{}),ye=(function(i){return i[i.VISIBLE=0]="VISIBLE",i[i.PRIVATE=1]="PRIVATE",i[i.ISOLATED=2]="ISOLATED",i})(ye||{});function ke(i,n){if(i&1&&(l(0,"span"),m(1),a()),i&2){let s=c();r(),k(s.group.name)}}function Se(i,n){i&1&&(l(0,"span",3),m(1,"New personal group"),a())}function Me(i,n){if(i&1&&_(0,"fa-icon",4),i&2){let s=c();d("icon",s.icons.faSpinner)}}function we(i,n){i&1&&(l(0,"span",3),m(1,"Edit personal group"),a())}function Pe(i,n){i&1&&(l(0,"span",3),m(1,"Edit group"),a())}function Ee(i,n){if(i&1&&(l(0,"h4",5),f(1,we,2,0,"span",3)(2,Pe,2,0,"span",3),a()),i&2){let s=c();r(),g(s.isPersonalGroup?1:2)}}var st=(()=>{let n=class n{constructor(){this.groupChange=new x,this.layout=O(he),this.icons={GROUPS:me.GROUPS,faSpinner:de,faCog:pe,faUsers:ce,faPen:ue},this.isPersonalGroup=!0,this.submitted=!1,this.loading=!1,this.userService=O(_e),this.user=this.userService.user}ngOnInit(){this.originalGroup?.id?(this.isPersonalGroup=this.originalGroup.isPersonalGroup,this.group=new z({id:this.originalGroup.id,name:this.originalGroup.name,description:this.originalGroup.description,createdAt:this.originalGroup.createdAt,modifiedAt:this.originalGroup.modifiedAt,type:this.originalGroup.type})):this.group=new z({id:0,name:"",description:"",createdAt:null,modifiedAt:null,type:ge.PGROUP})}onCancel(){this.layout.closeDialog()}onSubmit(){if(this.loading=!0,this.submitted=!0,this.group.id===0)this.userService.createPersonalGroup(this.makeDto(!0)).subscribe({next:e=>{this.loading=!1,this.groupChange.emit(["add",e]),this.layout.sendNotification("success","Group created",e.name),this.layout.closeDialog()},error:e=>this.onError(e)});else{let e=this.makeDto();if(!Object.keys(e).length){this.loading=!1,this.submitted=!1;return}this.userService.updatePersonalGroup(this.originalGroup.id,this.makeDto()).subscribe({next:t=>{this.loading=!1,this.groupChange.emit(["update",t]),this.layout.sendNotification("success","Group updated",t.name),this.layout.closeDialog()},error:t=>this.onError(t)})}}makeDto(e=!1){return{name:e?this.group.name:this.group.name!==this.originalGroup.name?this.group.name:void 0,description:e?this.group.description:this.group.description!==this.originalGroup.description?this.group.description:void 0}}onError(e){this.layout.sendNotification("error","Group error",this.group.name,e),this.submitted=!1,this.loading=!1}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-user-group-dialog"]],inputs:{originalGroup:"originalGroup"},outputs:{groupChange:"groupChange"},decls:23,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["l10nTranslate",""],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","disabled","autoSelect","ngModel"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel","disabled"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(l(0,"div",0)(1,"h4",1),_(2,"fa-icon",2),f(3,ke,2,1,"span")(4,Se,2,0,"span",3),f(5,Me,1,1,"fa-icon",4),a(),f(6,Ee,3,1,"h4",5),l(7,"button",6),h("click",function(){return o.layout.closeDialog()}),a()(),l(8,"div",7)(9,"div",8)(10,"div",9)(11,"label",10),m(12,"Name"),a(),l(13,"input",11),G("ngModelChange",function(u){return V(o.group.name,u)||(o.group.name=u),u}),a()(),l(14,"div",12)(15,"label",13),m(16,"Description"),a(),l(17,"input",14),G("ngModelChange",function(u){return V(o.group.description,u)||(o.group.description=u),u}),a()()()(),l(18,"div",15)(19,"button",16),h("click",function(){return o.onCancel()}),m(20,"Cancel"),a(),l(21,"button",17),h("click",function(){return o.onSubmit()}),m(22," Confirm "),a()()),t&2&&(r(2),d("icon",o.icons.GROUPS),r(),g(o.group.id?3:4),r(2),g(o.loading?5:-1),r(),g(o.group.id?6:-1),r(),J(K("btn-close btn-close-white ",o.group.id?"ms-2":"ms-auto"," ms-2")),r(6),y("is-invalid",!o.group.name),d("disabled",!o.isPersonalGroup)("autoSelect",!1),F("ngModel",o.group.name),r(4),F("ngModel",o.group.description),d("disabled",!o.isPersonalGroup),r(4),d("disabled",!o.group.name||o.submitted))},dependencies:[re,ie,ne,se,oe,P,ae,fe],encapsulation:2});let i=n;return i})();var xe=(()=>{let n=class n{onClick(e){e.stopPropagation()}ngOnInit(){setTimeout(()=>{typeof document<"u"&&document.addEventListener("click",this.offClickHandler)},0)}ngOnDestroy(){typeof document<"u"&&document.removeEventListener("click",this.offClickHandler)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=U({type:n,selectors:[["","offClick",""]],hostBindings:function(t,o){t&1&&h("click",function(u){return o.onClick(u)})},inputs:{offClickHandler:[0,"offClick","offClickHandler"]}});let i=n;return i})();var S=class{constructor(n){typeof n=="string"&&(this.id=this.name=n,this.description=""),typeof n=="object"&&(this.id=n.id||n.name,this.name=n.name,this.description=n.description||"")}};var Te=i=>({active:i}),De=(i,n)=>({o:i,i:n});function Fe(i,n){if(i&1){let s=b();l(0,"input",6),h("keydown",function(t){C(s);let o=c();return v(o.inputEvent(t))})("keyup",function(t){C(s);let o=c();return v(o.inputEvent(t,!0))}),a()}if(i&2){let s=c();d("disabled",s.disabled)}}function Ve(i,n){i&1&&T(0)}function Ge(i,n){if(i&1&&(l(0,"span",12),w(1,Ve,1,0,"ng-container",13),a()),i&2){let s=c(2),e=D(6);y("ui-select-allow-clear",s.allowClear&&s.active),r(),d("ngTemplateOutlet",s.customTemplateSelect||e)("ngTemplateOutletContext",Z(4,Te,s.active))}}function Ae(i,n){if(i&1&&(l(0,"span",9),m(1),a()),i&2){let s=c(2);r(),k(s.placeholder)}}function He(i,n){if(i&1){let s=b();l(0,"button",14),h("click",function(t){C(s);let o=c(2);return v(o.removeClick(o.active,t))}),a()}}function je(i,n){if(i&1){let s=b();l(0,"div",4)(1,"span",7),h("click",function(t){C(s);let o=c();return v(o.matchClick(t))}),f(2,Ge,2,6,"span",8)(3,Ae,2,1,"span",9),f(4,He,1,0,"button",10),_(5,"i",11),a()()}if(i&2){let s=c();r(2),g(s.active?2:3),r(2),g(s.allowClear&&s.active?4:-1)}}function ze(i,n){i&1&&T(0)}function Ne(i,n){if(i&1){let s=b();l(0,"li",15)(1,"div",16),h("click",function(t){let o=C(s).$implicit,p=c(2);return v(p.selectMatch(o,t))})("mouseenter",function(){let t=C(s).$implicit,o=c(2);return v(o.selectActive(t))}),w(2,ze,1,0,"ng-container",13),a()()}if(i&2){let s=n.$implicit,e=c(2),t=D(8);r(),y("active",e.isActive(s)),r(),d("ngTemplateOutlet",e.customTemplateOptions||t)("ngTemplateOutletContext",$(4,De,s,e.inputValue))}}function Le(i,n){if(i&1&&(l(0,"ul",5),B(1,Ne,3,7,"li",15,q),a()),i&2){let s=c();r(),Q(s.options)}}function Re(i,n){if(i&1&&(l(0,"div",17)(1,"span",18),_(2,"fa-icon",19),a(),l(3,"span"),m(4),a(),l(5,"div",20),m(6),a()()),i&2){let s=n.active,e=c();r(2),d("icon",e.itemIcon)("fixedWidth",!1),r(2),k(s.name),r(2),k(s.description)}}function Ie(i,n){if(i&1&&(l(0,"a",21)(1,"div",17)(2,"span",18),_(3,"fa-icon",19),a(),_(4,"span",22),A(5,"highlight"),_(6,"span",23),A(7,"highlight"),a()()),i&2){let s=n.i,e=n.o,t=c();r(3),d("icon",t.itemIcon)("fixedWidth",!1),r(),d("innerHtml",t.sanitize(H(5,4,e.name,s)),E),r(2),d("innerHtml",t.sanitize(H(7,7,e.description,s)),E)}}var bt=(()=>{let n=class n{constructor(){this.element=O(W),this.itemIcon=le,this.allowClear=!0,this.placeholder="",this.idField="id",this.nameField="name",this.descriptionField="description",this.data=new x,this.selected=new x,this.removed=new x,this.typed=new x,this.opened=new x,this.options=[],this.itemObjects=[],this.inputMode=!1,this.inputValue="",this.onChange=Function.prototype,this.onTouched=Function.prototype,this.sanitizer=O(ee),this._items=[],this._optionsOpened=!1,this._disabled=!1,this._active=null,this.clickedOutside=this.clickedOutside.bind(this)}set items(e){if(!e.length){this._items=this.itemObjects=[],this.itemObjects=[];return}this._items=e.filter(t=>{if(typeof t=="string"||typeof t=="object"&&t&&t[this.nameField]&&t[this.idField])return t}),this.itemObjects=this._items.map(t=>typeof t=="string"?new S(t):new S({id:t[this.idField],name:t[this.nameField],description:t[this.descriptionField]}))}get optionsOpened(){return this._optionsOpened}set optionsOpened(e){this._optionsOpened=e,this.opened.emit(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled===!0&&this.hideOptions()}get active(){return this._active}set active(e){e?this._active=typeof e=="string"?e:new S({id:e[this.idField],name:e[this.nameField],description:e[this.descriptionField]}):this._active=null}sanitize(e){return this.sanitizer.bypassSecurityTrustHtml(e)}inputEvent(e,t=!1){if(e.keyCode===9)return;if(t&&(e.keyCode===37||e.keyCode===39||e.keyCode===38||e.keyCode===40||e.keyCode===13)){e.preventDefault();return}if(!t&&e.keyCode===8){let p=this.element.nativeElement.querySelector("div.ui-select-container > input");(!p.value||p.value.length<=0)&&(this.active&&this.remove(this.active),e.preventDefault())}if(!t&&e.keyCode===27){this.hideOptions(),e.preventDefault();return}if(!t&&e.keyCode===46&&(this.active&&this.remove(this.active),e.preventDefault()),!t&&e.keyCode===37&&this._items.length>0){this.behavior.first(),e.preventDefault();return}if(!t&&e.keyCode===39&&this._items.length>0){this.behavior.last(),e.preventDefault();return}if(!t&&e.keyCode===38){this.behavior.prev(),e.preventDefault();return}if(!t&&e.keyCode===40){this.behavior.next(),e.preventDefault();return}if(!t&&e.keyCode===13){(!this.active||this.active.id!==this.activeOption.id)&&(this.selectActiveMatch(),this.behavior.next()),e.preventDefault();return}let o=e.target||e.srcElement;o?(this.inputValue=o.value,this.doEvent("typed",this.inputValue||" ")):this.open()}ngOnInit(){this.subscription=this.typed.asObservable().pipe(L(200),R()).subscribe(e=>this.doSearch(e)),this.behavior=new N(this),this.doEvent("typed"," ")}ngOnDestroy(){this.subscription.unsubscribe()}remove(e){this._disabled!==!0&&(this.active=null,this.data.next(this.active),this.doEvent("removed",e),this.inputValue="",this.doEvent("typed"," "))}doEvent(e,t){this[e]&&t&&this[e].next(t),this.onTouched(),(e==="selected"||e==="removed")&&this.onChange(this.active)}clickedOutside(){this.inputMode=!1,this.optionsOpened=!1}writeValue(e){this.active=e,this.data.emit(this.active)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}matchClick(e){this._disabled!==!0&&(this.inputMode=!this.inputMode,this.inputMode===!0&&(this.focusToInput(),this.open()))}mainClick(e){if(this.inputMode===!0||this._disabled===!0)return;if(e.keyCode===46){e.preventDefault(),this.inputEvent(e);return}if(e.keyCode===8){e.preventDefault(),this.inputEvent(e,!0);return}if(e.keyCode===9||e.keyCode===13||e.keyCode===27||e.keyCode>=37&&e.keyCode<=40){e.preventDefault();return}this.inputMode=!0;let t=String.fromCharCode(96<=e.keyCode&&e.keyCode<=105?e.keyCode-48:e.keyCode).toLowerCase();this.focusToInput(t),this.open();let o=e.target||e.srcElement;o.value=t,this.inputEvent(e)}selectActive(e){this.activeOption=e}isActive(e){return this.activeOption.id===e.id}removeClick(e,t){t.stopPropagation(),this.remove(e)}focusToInput(e=""){setTimeout(()=>{let t=this.element.nativeElement.querySelector("div.ui-select-container > input");t&&(t.focus(),t.value=e)},0)}selectMatch(e,t=void 0){t&&(t.stopPropagation(),t.preventDefault()),!(this.options.length<=0)&&(this.active=e,this.data.next(this.active),this.doEvent("selected",e),this.hideOptions(),this.focusToInput(e.name),this.element.nativeElement.querySelector(".ui-select-container").focus())}doSearch(e){this.searchFunction(e).subscribe({next:t=>{this.items=t},error:t=>{console.error(t),this.items=[]},complete:()=>this.behavior.filter()})}open(){this.options=this.itemObjects,this.options.length>0&&this.behavior.first(),this.optionsOpened=!0}hideOptions(){this.inputMode=!1,this.optionsOpened=!1}selectActiveMatch(){this.selectMatch(this.activeOption)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-select"]],inputs:{searchFunction:"searchFunction",customTemplateOptions:"customTemplateOptions",customTemplateSelect:"customTemplateSelect",itemIcon:"itemIcon",allowClear:"allowClear",placeholder:"placeholder",idField:"idField",nameField:"nameField",descriptionField:"descriptionField",disabled:"disabled",active:"active"},outputs:{data:"data",selected:"selected",removed:"removed",typed:"typed",opened:"opened"},features:[X([{provide:te,useExisting:I(()=>n),multi:!0}])],decls:9,vars:5,consts:[["DefaultSelect",""],["DefaultOptions",""],[1,"ui-select-container","dropdown","open",3,"keyup","offClick"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"disabled"],[1,"ui-select-match","form-control","form-control-sm"],["role","menu",1,"ui-select-choices","dropdown-menu"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"keydown","keyup","disabled"],["tabindex","-1",1,"ui-select-toggle","no-select",2,"outline","0",3,"click"],[1,"ui-select-match-text","w-100",3,"ui-select-allow-clear"],[1,"ui-select-placeholder"],["aria-label","close","type","button",1,"btn-close"],[1,"dropdown-toggle"],[1,"ui-select-match-text","w-100"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-label","close","type","button",1,"btn-close",3,"click"],["role","menuitem"],[1,"ui-select-choices-row",3,"click","mouseenter"],[1,"d-flex","align-items-center"],[1,"ui-icon","circle-primary-icon","me-2"],[3,"icon","fixedWidth"],[1,"d-flex","ms-auto","me-4","fs-xxxs","text-muted"],["href","javascript:void(0)",1,"dropdown-item","cursor-pointer",2,"padding","3px 5px"],[3,"innerHtml"],[1,"d-flex","ms-auto","fs-xxxs","text-muted",3,"innerHtml"]],template:function(t,o){if(t&1){let p=b();l(0,"div",2),h("keyup",function(Oe){return C(p),v(o.mainClick(Oe))}),_(1,"div"),f(2,Fe,1,1,"input",3)(3,je,6,2,"div",4),f(4,Le,3,0,"ul",5),a(),w(5,Re,7,4,"ng-template",null,0,j)(7,Ie,8,10,"ng-template",null,1,j)}t&2&&(d("offClick",o.clickedOutside),r(),y("ui-disabled",o.disabled),r(),g(o.inputMode?2:3),r(2),g(o.optionsOpened&&o.options&&o.options.length>0?4:-1))},dependencies:[xe,P,Y,Ce],styles:[`.ui-select-container[_ngcontent-%COMP%]{background-color:transparent;border-radius:4px}.ui-select-container.open[_ngcontent-%COMP%] > .dropdown-menu[_ngcontent-%COMP%]{display:block}.ui-select-container.open[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{outline:none}.ui-select-container[_ngcontent-%COMP%] .ui-icon[_ngcontent-%COMP%]{min-width:26px;min-height:26px;font-size:.85rem}.ui-select-container[_ngcontent-%COMP%] .ui-disabled[_ngcontent-%COMP%]{background-color:#d4dbe8;border-radius:4px;position:absolute;width:100%;height:100%;z-index:5;opacity:.6;top:0;left:0;cursor:not-allowed}.ui-select-container[_ngcontent-%COMP%] .ui-select-search[_ngcontent-%COMP%]{line-height:26px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%]{padding-left:.3rem}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{text-align:start!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{position:absolute;top:45%;right:15px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{font-size:1.6em;line-height:.75}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%]{display:flex;align-items:center}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%] > .caret[_ngcontent-%COMP%]{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-placeholder[_ngcontent-%COMP%]{float:left;line-height:26px;color:#8c8c8c;width:100%}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]{cursor:pointer}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:inline-block!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%]{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{text-decoration:none;outline:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{pointer-events:none}
1
+ import{f as Ce}from"./chunk-3OHSRRKH.js";import{m as fe,p as _e}from"./chunk-VQQKMY2C.js";import{I as me,Nb as ge,Sb as z,yb as he}from"./chunk-XDZGW64M.js";import{$a as M,$c as ie,Ab as b,Db as h,Ed as ae,Fb as c,Ga as E,Gc as Y,Id as le,J as L,Mb as D,N as R,Na as r,Ob as y,Pa as x,Pb as J,Qb as m,Rb as k,Se as pe,Ub as F,Vb as V,Wb as G,Yb as K,Yc as ee,Zc as te,_b as X,ac as Z,bb as U,bc as $,ca as I,cf as de,dd as ne,eb as w,ec as A,eg as P,gc as H,ia as O,ic as j,id as oe,kb as f,lb as g,mb as q,na as C,oa as v,ob as B,pb as Q,pf as ue,qb as d,qe as ce,rb as l,sb as a,tb as _,wd as se,xd as re,za as W,zb as T}from"./chunk-DIT6W7VM.js";var be=(function(i){return i[i.USER=0]="USER",i[i.PERSONAL=1]="PERSONAL",i})(be||{}),ye=(function(i){return i[i.VISIBLE=0]="VISIBLE",i[i.PRIVATE=1]="PRIVATE",i[i.ISOLATED=2]="ISOLATED",i})(ye||{});function ke(i,n){if(i&1&&(l(0,"span"),m(1),a()),i&2){let s=c();r(),k(s.group.name)}}function Se(i,n){i&1&&(l(0,"span",3),m(1,"New personal group"),a())}function Me(i,n){if(i&1&&_(0,"fa-icon",4),i&2){let s=c();d("icon",s.icons.faSpinner)}}function we(i,n){i&1&&(l(0,"span",3),m(1,"Edit personal group"),a())}function Pe(i,n){i&1&&(l(0,"span",3),m(1,"Edit group"),a())}function Ee(i,n){if(i&1&&(l(0,"h4",5),f(1,we,2,0,"span",3)(2,Pe,2,0,"span",3),a()),i&2){let s=c();r(),g(s.isPersonalGroup?1:2)}}var st=(()=>{let n=class n{constructor(){this.groupChange=new x,this.layout=O(he),this.icons={GROUPS:me.GROUPS,faSpinner:de,faCog:pe,faUsers:ce,faPen:ue},this.isPersonalGroup=!0,this.submitted=!1,this.loading=!1,this.userService=O(_e),this.user=this.userService.user}ngOnInit(){this.originalGroup?.id?(this.isPersonalGroup=this.originalGroup.isPersonalGroup,this.group=new z({id:this.originalGroup.id,name:this.originalGroup.name,description:this.originalGroup.description,createdAt:this.originalGroup.createdAt,modifiedAt:this.originalGroup.modifiedAt,type:this.originalGroup.type})):this.group=new z({id:0,name:"",description:"",createdAt:null,modifiedAt:null,type:ge.PGROUP})}onCancel(){this.layout.closeDialog()}onSubmit(){if(this.loading=!0,this.submitted=!0,this.group.id===0)this.userService.createPersonalGroup(this.makeDto(!0)).subscribe({next:e=>{this.loading=!1,this.groupChange.emit(["add",e]),this.layout.sendNotification("success","Group created",e.name),this.layout.closeDialog()},error:e=>this.onError(e)});else{let e=this.makeDto();if(!Object.keys(e).length){this.loading=!1,this.submitted=!1;return}this.userService.updatePersonalGroup(this.originalGroup.id,this.makeDto()).subscribe({next:t=>{this.loading=!1,this.groupChange.emit(["update",t]),this.layout.sendNotification("success","Group updated",t.name),this.layout.closeDialog()},error:t=>this.onError(t)})}}makeDto(e=!1){return{name:e?this.group.name:this.group.name!==this.originalGroup.name?this.group.name:void 0,description:e?this.group.description:this.group.description!==this.originalGroup.description?this.group.description:void 0}}onError(e){this.layout.sendNotification("error","Group error",this.group.name,e),this.submitted=!1,this.loading=!1}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-user-group-dialog"]],inputs:{originalGroup:"originalGroup"},outputs:{groupChange:"groupChange"},decls:23,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["l10nTranslate",""],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","disabled","autoSelect","ngModel"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel","disabled"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(l(0,"div",0)(1,"h4",1),_(2,"fa-icon",2),f(3,ke,2,1,"span")(4,Se,2,0,"span",3),f(5,Me,1,1,"fa-icon",4),a(),f(6,Ee,3,1,"h4",5),l(7,"button",6),h("click",function(){return o.layout.closeDialog()}),a()(),l(8,"div",7)(9,"div",8)(10,"div",9)(11,"label",10),m(12,"Name"),a(),l(13,"input",11),G("ngModelChange",function(u){return V(o.group.name,u)||(o.group.name=u),u}),a()(),l(14,"div",12)(15,"label",13),m(16,"Description"),a(),l(17,"input",14),G("ngModelChange",function(u){return V(o.group.description,u)||(o.group.description=u),u}),a()()()(),l(18,"div",15)(19,"button",16),h("click",function(){return o.onCancel()}),m(20,"Cancel"),a(),l(21,"button",17),h("click",function(){return o.onSubmit()}),m(22," Confirm "),a()()),t&2&&(r(2),d("icon",o.icons.GROUPS),r(),g(o.group.id?3:4),r(2),g(o.loading?5:-1),r(),g(o.group.id?6:-1),r(),J(K("btn-close btn-close-white ",o.group.id?"ms-2":"ms-auto"," ms-2")),r(6),y("is-invalid",!o.group.name),d("disabled",!o.isPersonalGroup)("autoSelect",!1),F("ngModel",o.group.name),r(4),F("ngModel",o.group.description),d("disabled",!o.isPersonalGroup),r(4),d("disabled",!o.group.name||o.submitted))},dependencies:[re,ie,ne,se,oe,P,ae,fe],encapsulation:2});let i=n;return i})();var xe=(()=>{let n=class n{onClick(e){e.stopPropagation()}ngOnInit(){setTimeout(()=>{typeof document<"u"&&document.addEventListener("click",this.offClickHandler)},0)}ngOnDestroy(){typeof document<"u"&&document.removeEventListener("click",this.offClickHandler)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=U({type:n,selectors:[["","offClick",""]],hostBindings:function(t,o){t&1&&h("click",function(u){return o.onClick(u)})},inputs:{offClickHandler:[0,"offClick","offClickHandler"]}});let i=n;return i})();var S=class{constructor(n){typeof n=="string"&&(this.id=this.name=n,this.description=""),typeof n=="object"&&(this.id=n.id||n.name,this.name=n.name,this.description=n.description||"")}};var Te=i=>({active:i}),De=(i,n)=>({o:i,i:n});function Fe(i,n){if(i&1){let s=b();l(0,"input",6),h("keydown",function(t){C(s);let o=c();return v(o.inputEvent(t))})("keyup",function(t){C(s);let o=c();return v(o.inputEvent(t,!0))}),a()}if(i&2){let s=c();d("disabled",s.disabled)}}function Ve(i,n){i&1&&T(0)}function Ge(i,n){if(i&1&&(l(0,"span",12),w(1,Ve,1,0,"ng-container",13),a()),i&2){let s=c(2),e=D(6);y("ui-select-allow-clear",s.allowClear&&s.active),r(),d("ngTemplateOutlet",s.customTemplateSelect||e)("ngTemplateOutletContext",Z(4,Te,s.active))}}function Ae(i,n){if(i&1&&(l(0,"span",9),m(1),a()),i&2){let s=c(2);r(),k(s.placeholder)}}function He(i,n){if(i&1){let s=b();l(0,"button",14),h("click",function(t){C(s);let o=c(2);return v(o.removeClick(o.active,t))}),a()}}function je(i,n){if(i&1){let s=b();l(0,"div",4)(1,"span",7),h("click",function(t){C(s);let o=c();return v(o.matchClick(t))}),f(2,Ge,2,6,"span",8)(3,Ae,2,1,"span",9),f(4,He,1,0,"button",10),_(5,"i",11),a()()}if(i&2){let s=c();r(2),g(s.active?2:3),r(2),g(s.allowClear&&s.active?4:-1)}}function ze(i,n){i&1&&T(0)}function Ne(i,n){if(i&1){let s=b();l(0,"li",15)(1,"div",16),h("click",function(t){let o=C(s).$implicit,p=c(2);return v(p.selectMatch(o,t))})("mouseenter",function(){let t=C(s).$implicit,o=c(2);return v(o.selectActive(t))}),w(2,ze,1,0,"ng-container",13),a()()}if(i&2){let s=n.$implicit,e=c(2),t=D(8);r(),y("active",e.isActive(s)),r(),d("ngTemplateOutlet",e.customTemplateOptions||t)("ngTemplateOutletContext",$(4,De,s,e.inputValue))}}function Le(i,n){if(i&1&&(l(0,"ul",5),B(1,Ne,3,7,"li",15,q),a()),i&2){let s=c();r(),Q(s.options)}}function Re(i,n){if(i&1&&(l(0,"div",17)(1,"span",18),_(2,"fa-icon",19),a(),l(3,"span"),m(4),a(),l(5,"div",20),m(6),a()()),i&2){let s=n.active,e=c();r(2),d("icon",e.itemIcon)("fixedWidth",!1),r(2),k(s.name),r(2),k(s.description)}}function Ie(i,n){if(i&1&&(l(0,"a",21)(1,"div",17)(2,"span",18),_(3,"fa-icon",19),a(),_(4,"span",22),A(5,"highlight"),_(6,"span",23),A(7,"highlight"),a()()),i&2){let s=n.i,e=n.o,t=c();r(3),d("icon",t.itemIcon)("fixedWidth",!1),r(),d("innerHtml",t.sanitize(H(5,4,e.name,s)),E),r(2),d("innerHtml",t.sanitize(H(7,7,e.description,s)),E)}}var bt=(()=>{let n=class n{constructor(){this.element=O(W),this.itemIcon=le,this.allowClear=!0,this.placeholder="",this.idField="id",this.nameField="name",this.descriptionField="description",this.data=new x,this.selected=new x,this.removed=new x,this.typed=new x,this.opened=new x,this.options=[],this.itemObjects=[],this.inputMode=!1,this.inputValue="",this.onChange=Function.prototype,this.onTouched=Function.prototype,this.sanitizer=O(ee),this._items=[],this._optionsOpened=!1,this._disabled=!1,this._active=null,this.clickedOutside=this.clickedOutside.bind(this)}set items(e){if(!e.length){this._items=this.itemObjects=[],this.itemObjects=[];return}this._items=e.filter(t=>{if(typeof t=="string"||typeof t=="object"&&t&&t[this.nameField]&&t[this.idField])return t}),this.itemObjects=this._items.map(t=>typeof t=="string"?new S(t):new S({id:t[this.idField],name:t[this.nameField],description:t[this.descriptionField]}))}get optionsOpened(){return this._optionsOpened}set optionsOpened(e){this._optionsOpened=e,this.opened.emit(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled===!0&&this.hideOptions()}get active(){return this._active}set active(e){e?this._active=typeof e=="string"?e:new S({id:e[this.idField],name:e[this.nameField],description:e[this.descriptionField]}):this._active=null}sanitize(e){return this.sanitizer.bypassSecurityTrustHtml(e)}inputEvent(e,t=!1){if(e.keyCode===9)return;if(t&&(e.keyCode===37||e.keyCode===39||e.keyCode===38||e.keyCode===40||e.keyCode===13)){e.preventDefault();return}if(!t&&e.keyCode===8){let p=this.element.nativeElement.querySelector("div.ui-select-container > input");(!p.value||p.value.length<=0)&&(this.active&&this.remove(this.active),e.preventDefault())}if(!t&&e.keyCode===27){this.hideOptions(),e.preventDefault();return}if(!t&&e.keyCode===46&&(this.active&&this.remove(this.active),e.preventDefault()),!t&&e.keyCode===37&&this._items.length>0){this.behavior.first(),e.preventDefault();return}if(!t&&e.keyCode===39&&this._items.length>0){this.behavior.last(),e.preventDefault();return}if(!t&&e.keyCode===38){this.behavior.prev(),e.preventDefault();return}if(!t&&e.keyCode===40){this.behavior.next(),e.preventDefault();return}if(!t&&e.keyCode===13){(!this.active||this.active.id!==this.activeOption.id)&&(this.selectActiveMatch(),this.behavior.next()),e.preventDefault();return}let o=e.target||e.srcElement;o?(this.inputValue=o.value,this.doEvent("typed",this.inputValue||" ")):this.open()}ngOnInit(){this.subscription=this.typed.asObservable().pipe(L(200),R()).subscribe(e=>this.doSearch(e)),this.behavior=new N(this),this.doEvent("typed"," ")}ngOnDestroy(){this.subscription.unsubscribe()}remove(e){this._disabled!==!0&&(this.active=null,this.data.next(this.active),this.doEvent("removed",e),this.inputValue="",this.doEvent("typed"," "))}doEvent(e,t){this[e]&&t&&this[e].next(t),this.onTouched(),(e==="selected"||e==="removed")&&this.onChange(this.active)}clickedOutside(){this.inputMode=!1,this.optionsOpened=!1}writeValue(e){this.active=e,this.data.emit(this.active)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}matchClick(e){this._disabled!==!0&&(this.inputMode=!this.inputMode,this.inputMode===!0&&(this.focusToInput(),this.open()))}mainClick(e){if(this.inputMode===!0||this._disabled===!0)return;if(e.keyCode===46){e.preventDefault(),this.inputEvent(e);return}if(e.keyCode===8){e.preventDefault(),this.inputEvent(e,!0);return}if(e.keyCode===9||e.keyCode===13||e.keyCode===27||e.keyCode>=37&&e.keyCode<=40){e.preventDefault();return}this.inputMode=!0;let t=String.fromCharCode(96<=e.keyCode&&e.keyCode<=105?e.keyCode-48:e.keyCode).toLowerCase();this.focusToInput(t),this.open();let o=e.target||e.srcElement;o.value=t,this.inputEvent(e)}selectActive(e){this.activeOption=e}isActive(e){return this.activeOption.id===e.id}removeClick(e,t){t.stopPropagation(),this.remove(e)}focusToInput(e=""){setTimeout(()=>{let t=this.element.nativeElement.querySelector("div.ui-select-container > input");t&&(t.focus(),t.value=e)},0)}selectMatch(e,t=void 0){t&&(t.stopPropagation(),t.preventDefault()),!(this.options.length<=0)&&(this.active=e,this.data.next(this.active),this.doEvent("selected",e),this.hideOptions(),this.focusToInput(e.name),this.element.nativeElement.querySelector(".ui-select-container").focus())}doSearch(e){this.searchFunction(e).subscribe({next:t=>{this.items=t},error:t=>{console.error(t),this.items=[]},complete:()=>this.behavior.filter()})}open(){this.options=this.itemObjects,this.options.length>0&&this.behavior.first(),this.optionsOpened=!0}hideOptions(){this.inputMode=!1,this.optionsOpened=!1}selectActiveMatch(){this.selectMatch(this.activeOption)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-select"]],inputs:{searchFunction:"searchFunction",customTemplateOptions:"customTemplateOptions",customTemplateSelect:"customTemplateSelect",itemIcon:"itemIcon",allowClear:"allowClear",placeholder:"placeholder",idField:"idField",nameField:"nameField",descriptionField:"descriptionField",disabled:"disabled",active:"active"},outputs:{data:"data",selected:"selected",removed:"removed",typed:"typed",opened:"opened"},features:[X([{provide:te,useExisting:I(()=>n),multi:!0}])],decls:9,vars:5,consts:[["DefaultSelect",""],["DefaultOptions",""],[1,"ui-select-container","dropdown","open",3,"keyup","offClick"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"disabled"],[1,"ui-select-match","form-control","form-control-sm"],["role","menu",1,"ui-select-choices","dropdown-menu"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"keydown","keyup","disabled"],["tabindex","-1",1,"ui-select-toggle","no-select",2,"outline","0",3,"click"],[1,"ui-select-match-text","w-100",3,"ui-select-allow-clear"],[1,"ui-select-placeholder"],["aria-label","close","type","button",1,"btn-close"],[1,"dropdown-toggle"],[1,"ui-select-match-text","w-100"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-label","close","type","button",1,"btn-close",3,"click"],["role","menuitem"],[1,"ui-select-choices-row",3,"click","mouseenter"],[1,"d-flex","align-items-center"],[1,"ui-icon","circle-primary-icon","me-2"],[3,"icon","fixedWidth"],[1,"d-flex","ms-auto","me-4","fs-xxxs","text-muted"],["href","javascript:void(0)",1,"dropdown-item","cursor-pointer",2,"padding","3px 5px"],[3,"innerHtml"],[1,"d-flex","ms-auto","fs-xxxs","text-muted",3,"innerHtml"]],template:function(t,o){if(t&1){let p=b();l(0,"div",2),h("keyup",function(Oe){return C(p),v(o.mainClick(Oe))}),_(1,"div"),f(2,Fe,1,1,"input",3)(3,je,6,2,"div",4),f(4,Le,3,0,"ul",5),a(),w(5,Re,7,4,"ng-template",null,0,j)(7,Ie,8,10,"ng-template",null,1,j)}t&2&&(d("offClick",o.clickedOutside),r(),y("ui-disabled",o.disabled),r(),g(o.inputMode?2:3),r(2),g(o.optionsOpened&&o.options&&o.options.length>0?4:-1))},dependencies:[xe,P,Y,Ce],styles:[`.ui-select-container[_ngcontent-%COMP%]{background-color:transparent;border-radius:4px}.ui-select-container.open[_ngcontent-%COMP%] > .dropdown-menu[_ngcontent-%COMP%]{display:block}.ui-select-container.open[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{outline:none}.ui-select-container[_ngcontent-%COMP%] .ui-icon[_ngcontent-%COMP%]{min-width:26px;min-height:26px;font-size:.85rem}.ui-select-container[_ngcontent-%COMP%] .ui-disabled[_ngcontent-%COMP%]{background-color:#d4dbe8;border-radius:4px;position:absolute;width:100%;height:100%;z-index:5;opacity:.6;top:0;left:0;cursor:not-allowed}.ui-select-container[_ngcontent-%COMP%] .ui-select-search[_ngcontent-%COMP%]{line-height:26px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%]{padding-left:.3rem}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{text-align:start!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{position:absolute;top:45%;right:15px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{font-size:1.6em;line-height:.75}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%]{display:flex;align-items:center}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%] > .caret[_ngcontent-%COMP%]{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-placeholder[_ngcontent-%COMP%]{float:left;line-height:26px;color:#8c8c8c;width:100%}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]{cursor:pointer}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:inline-block!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%]{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{text-decoration:none;outline:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{pointer-events:none}
2
2
 
3
3
 
4
4
 
@@ -1 +1 @@
1
- import{$a as l,Na as n,Nb as s,ub as d,vb as h,wa as c,wb as g}from"./chunk-C36MW4ME.js";var M=(()=>{let r=class r{constructor(){this.passwordToCheck="",this.bar0="",this.bar1="",this.bar2="",this.bar3="",this.bar4="",this.colors=["#F00","#F90","#FF0","#7ACC00","#06854B"]}static measureStrength(e){let t=0,o=/[$-/:-?{-~!"^_`[\]]/g,p=/[a-z]+/.test(e),m=/[A-Z]+/.test(e),u=/[0-9]+/.test(e),b=o.test(e),f=[p,m,u,b],a=0;for(let C of f)a+=C===!0?1:0;return t+=2*e.length+(e.length>=10?1:0),t+=a*10,t=e.length<=6?Math.min(t,10):t,t=a===1?Math.min(t,10):t,t=a===2?Math.min(t,20):t,t=a===3?Math.min(t,40):t,t}ngOnChanges(e){let t=e.passwordToCheck.currentValue;if(this.setBarColors(5,"#DDD"),t){let o=this.getColor(r.measureStrength(t));this.setBarColors(o.idx,o.col)}}getColor(e){let t=Math.min(Math.floor((e-1)/10),4);return{idx:t+1,col:this.colors[t]}}setBarColors(e,t){for(let o=0;o<e;o++)this[`bar${o}`]=t}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=l({type:r,selectors:[["app-password-strength-bar"]],inputs:{passwordToCheck:"passwordToCheck"},features:[c],decls:8,vars:10,consts:[["strength",""],["id","strength"],["id","strengthBar"],[1,"point"]],template:function(t,o){t&1&&(d(0,"div",1,0)(2,"ul",2),g(3,"li",3)(4,"li",3)(5,"li",3)(6,"li",3)(7,"li",3),h()()),t&2&&(n(3),s("background-color",o.bar0),n(),s("background-color",o.bar1),n(),s("background-color",o.bar2),n(),s("background-color",o.bar3),n(),s("background-color",o.bar4))},styles:["ul#strengthBar[_ngcontent-%COMP%]{display:flex;list-style:none;padding:0;align-self:center;margin-bottom:-2px}.point[_ngcontent-%COMP%]:last-child{margin:0!important}.point[_ngcontent-%COMP%]{background:#ddd;border-radius:2px;height:6px;margin-right:1px;width:20px}"],changeDetection:0});let i=r;return i})();export{M as a};
1
+ import{$a as l,Na as n,Nb as s,ub as d,vb as h,wa as c,wb as g}from"./chunk-DIT6W7VM.js";var M=(()=>{let r=class r{constructor(){this.passwordToCheck="",this.bar0="",this.bar1="",this.bar2="",this.bar3="",this.bar4="",this.colors=["#F00","#F90","#FF0","#7ACC00","#06854B"]}static measureStrength(e){let t=0,o=/[$-/:-?{-~!"^_`[\]]/g,p=/[a-z]+/.test(e),m=/[A-Z]+/.test(e),u=/[0-9]+/.test(e),b=o.test(e),f=[p,m,u,b],a=0;for(let C of f)a+=C===!0?1:0;return t+=2*e.length+(e.length>=10?1:0),t+=a*10,t=e.length<=6?Math.min(t,10):t,t=a===1?Math.min(t,10):t,t=a===2?Math.min(t,20):t,t=a===3?Math.min(t,40):t,t}ngOnChanges(e){let t=e.passwordToCheck.currentValue;if(this.setBarColors(5,"#DDD"),t){let o=this.getColor(r.measureStrength(t));this.setBarColors(o.idx,o.col)}}getColor(e){let t=Math.min(Math.floor((e-1)/10),4);return{idx:t+1,col:this.colors[t]}}setBarColors(e,t){for(let o=0;o<e;o++)this[`bar${o}`]=t}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=l({type:r,selectors:[["app-password-strength-bar"]],inputs:{passwordToCheck:"passwordToCheck"},features:[c],decls:8,vars:10,consts:[["strength",""],["id","strength"],["id","strengthBar"],[1,"point"]],template:function(t,o){t&1&&(d(0,"div",1,0)(2,"ul",2),g(3,"li",3)(4,"li",3)(5,"li",3)(6,"li",3)(7,"li",3),h()()),t&2&&(n(3),s("background-color",o.bar0),n(),s("background-color",o.bar1),n(),s("background-color",o.bar2),n(),s("background-color",o.bar3),n(),s("background-color",o.bar4))},styles:["ul#strengthBar[_ngcontent-%COMP%]{display:flex;list-style:none;padding:0;align-self:center;margin-bottom:-2px}.point[_ngcontent-%COMP%]:last-child{margin:0!important}.point[_ngcontent-%COMP%]{background:#ddd;border-radius:2px;height:6px;margin-right:1px;width:20px}"],changeDetection:0});let i=r;return i})();export{M as a};
@@ -1 +1 @@
1
- import{Ia as U}from"./chunk-GUGNR5TF.js";import{Qe as o,Qf as E,Tf as p,cb as n}from"./chunk-C36MW4ME.js";var t={BASE:"admin",USERS:"users",GUESTS:"guests",GROUPS:"groups",PGROUPS:"personal_groups"},i={ADMIN:"Administration",USERS:"Users",GROUPS:"Groups",GUESTS:"Guests",PGROUPS:"Personal groups"},s={BASE:o,USERS:p,GROUPS:E},c={title:i.ADMIN,link:`${t.BASE}/${t.USERS}`,icon:s.BASE,matchLink:new RegExp(`^${t.BASE}`),level:12,checks:[{prop:"user",value:"isAdmin"}],submenus:[{title:i.USERS,icon:s.USERS,link:`${t.BASE}/${t.USERS}`,matchLink:RegExp(`^${t.BASE}/${t.USERS}$|^${t.BASE}/${t.GUESTS}$`)},{title:i.GROUPS,icon:s.GROUPS,link:`${t.BASE}/${t.GROUPS}`,matchLink:RegExp(`^${t.BASE}/${t.GROUPS}|^${t.BASE}/${t.PGROUPS}`)}]};var $=(()=>{let S=class S{transform(r){return r&&U(r)}};S.\u0275fac=function(a){return new(a||S)},S.\u0275pipe=n({name:"capitalize",type:S,pure:!0});let e=S;return e})();export{t as a,i as b,s as c,c as d,$ as e};
1
+ import{Ia as U}from"./chunk-XDZGW64M.js";import{Re as o,Rf as E,Uf as p,cb as n}from"./chunk-DIT6W7VM.js";var t={BASE:"admin",USERS:"users",GUESTS:"guests",GROUPS:"groups",PGROUPS:"personal_groups"},i={ADMIN:"Administration",USERS:"Users",GROUPS:"Groups",GUESTS:"Guests",PGROUPS:"Personal groups"},s={BASE:o,USERS:p,GROUPS:E},c={title:i.ADMIN,link:`${t.BASE}/${t.USERS}`,icon:s.BASE,matchLink:new RegExp(`^${t.BASE}`),level:12,checks:[{prop:"user",value:"isAdmin"}],submenus:[{title:i.USERS,icon:s.USERS,link:`${t.BASE}/${t.USERS}`,matchLink:RegExp(`^${t.BASE}/${t.USERS}$|^${t.BASE}/${t.GUESTS}$`)},{title:i.GROUPS,icon:s.GROUPS,link:`${t.BASE}/${t.GROUPS}`,matchLink:RegExp(`^${t.BASE}/${t.GROUPS}|^${t.BASE}/${t.PGROUPS}`)}]};var $=(()=>{let S=class S{transform(r){return r&&U(r)}};S.\u0275fac=function(a){return new(a||S)},S.\u0275pipe=n({name:"capitalize",type:S,pure:!0});let e=S;return e})();export{t as a,i as b,s as c,c as d,$ as e};
@@ -1 +1 @@
1
- import{a as bt,c as Et,d as T,e as te,g as It}from"./chunk-VKK5BSLX.js";import{a as yt}from"./chunk-BIKLW4YS.js";import{b as vt}from"./chunk-SHIVUDP3.js";import{d as Y}from"./chunk-UJPPR4MX.js";import{l as dt,p as _t,q as kt,r as Ct}from"./chunk-HNQRZALS.js";import{$a as ct,Da as he,Ha as de,Ib as fe,J as rt,Jb as R,Kb as H,Lb as ht,M as st,Nb as ut,Oa as at,Pb as ft,Rb as St,Sb as gt,W as J,Za as lt,nb as L,qb as pt,r as Ge,s as Ze,v as Ye,w as Xe,x as ze,yb as B}from"./chunk-GUGNR5TF.js";import{$a as W,Ab as G,Cd as Q,Db as w,Dd as We,Fb as d,G as oe,Hd as Qe,Ic as Te,L as ve,Lf as ot,Na as l,Nb as we,Ob as K,Pa as re,Pb as x,Qa as Ie,Qb as p,Rb as $,Rc as Z,Sb as D,Tb as xe,Ub as le,Vb as ce,Wb as pe,Yb as O,Zc as De,_c as Ne,ac as Le,ad as X,ae as Je,cd as Re,ce as et,da as P,dd as Pe,dg as ee,ec as C,ed as me,eg as ue,f as ke,fg as mt,ga as ye,gc as v,gd as f,gg as N,ha as j,hd as Fe,ia as S,id as Me,jd as $e,kb as _,lb as k,ld as Oe,lf as it,mb as Ae,md as Be,na as F,nd as He,oa as M,ob as se,od as Ue,p as V,pb as ae,pd as Ve,qa as be,qb as m,qd as Ke,rb as s,sb as a,t as Ce,tb as u,te as tt,tf as nt,v as b,vd as qe,wa as Ee,wd as je,xd as z}from"./chunk-C36MW4ME.js";import{a as y,b as A,d as _e}from"./chunk-N3U6637P.js";function Mt(o,r){if(o&1&&u(0,"fa-icon",2),o&2){let i=d();x(i.repository.class),we("min-width",i.galleryMode.dimensions/3,"px")("min-height",i.galleryMode.dimensions/3,"px")("font-size",i.galleryMode.faSize/1.8,"px"),m("icon",i.repository.icon)}}function $t(o,r){if(o&1&&u(0,"fa-icon",5),o&2){let i=d(2);x(i.repository.class),m("icon",i.repository.icon)}}function Ot(o,r){if(o&1&&(p(0),C(1,"translate")),o&2){let i=d(2);D(" ",v(1,1,i.repository.label,i.locale.language)," ")}}function Bt(o,r){if(o&1&&p(0),o&2){let i=d(2);D(" ",i.repository.label," ")}}function Ht(o,r){if(o&1&&(s(0,"div",1),_(1,$t,1,3,"fa-icon",3),s(2,"span",4),_(3,Ot,2,4)(4,Bt,1,1),a()()),o&2){let i=d();l(),k(i.showIcon?1:-1),l(2),k(i.repository.translate?3:4)}}var At=(()=>{let r=class r{constructor(){this.showIcon=!0,this.showFullPath=!1,this.locale=S(z),this.layout=S(B),this.unknownRepository={icon:Qe,label:"",class:"circle-primary-icon",translate:!1}}ngOnInit(){this.setRepository()}ngOnChanges(){this.setRepository()}setRepository(){this.share.parent?.id||this.share.parent?.id===0?this.repository={icon:R.SHARES,label:this.share.parent.name,class:"circle-purple-icon",translate:!1}:this.share.file?.ownerId?this.repository={icon:R.PERSONAL,label:fe.PERSONAL_FILES,class:"circle-primary-icon",translate:!0}:this.share.file?.space?.alias?this.repository={icon:R.SPACES,label:`${this.share.file.space.name}`,class:"circle-primary-icon",translate:!1}:this.share.externalPath?this.repository={icon:R.EXTERNAL,label:"External",class:"circle-primary-icon",translate:!0}:this.repository=y({},this.unknownRepository),this.showFullPath&&this.setFullPath()}setFullPath(){if(!this.repository.label)return;let e=this.share.file?.path?this.share.file.path.split("/").filter(n=>n&&n!=="."):[];this.share.parent?.id&&!this.share.file?.id&&this.share.file?.path.indexOf("/")===-1?e.shift():this.share.file?.space?.alias&&this.share.file.space?.root?.alias&&(e.length?e.unshift(this.share.file.space.root.name):e.push(this.share.file.space.root.name)),this.repository.label===fe.PERSONAL_FILES&&(this.repository.label=this.layout.translateString(this.repository.label)),e.length&&(this.repository.label=`${this.repository.label}/${e.join("/")}`)}};r.\u0275fac=function(n){return new(n||r)},r.\u0275cmp=W({type:r,selectors:[["app-share-repository"]],inputs:{share:"share",galleryMode:"galleryMode",showIcon:"showIcon",showFullPath:"showFullPath"},features:[Ee],decls:2,vars:1,consts:[[3,"icon","class","min-width","min-height","font-size"],[1,"d-flex","align-items-center","overflow-wrap-and-whitespace"],[3,"icon"],[1,"me-2",3,"icon","class"],["draggable","false",1,"no-pointer-events"],[1,"me-2",3,"icon"]],template:function(n,t){n&1&&_(0,Mt,1,9,"fa-icon",0)(1,Ht,5,2,"div",1),n&2&&k(t.galleryMode?0:1)},dependencies:[ee,Q],encapsulation:2});let o=r;return o})();var h={BASE:`${J}/shares`,LIST:"list",CHILDREN:"children",LINKS:"links",LINKS_LIST:"links/list",LINKS_UUID:"links/uuid"},wt=`${h.BASE}/${h.LIST}`,q=`${h.BASE}/${h.LINKS}`,xt=`${h.BASE}/${h.LINKS_LIST}`,Lt=`${h.BASE}/${h.LINKS_UUID}`;var Tt=(()=>{let r=class r{constructor(){this.http=S(Z),this.router=S(Y)}getShare(e){return this.http.get(`${h.BASE}/${e}`).pipe(b(n=>new T(n)))}createShare(e){return this.http.post(h.BASE,e).pipe(b(n=>new T(n)))}updateShare(e){return this.http.put(`${h.BASE}/${e.id}`,e).pipe(b(n=>new T(n)))}deleteShare(e){return this.http.delete(`${h.BASE}/${e}`)}listShares(){return this.http.get(wt)}getShareChild(e,n){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}/${n}`).pipe(b(t=>new T(t)))}updateShareChild(e,n,t){return this.http.put(`${h.BASE}/${e}/${h.CHILDREN}/${n}`,t).pipe(b(c=>new T(c)))}deleteShareChild(e,n){return this.http.delete(`${h.BASE}/${e}/${h.CHILDREN}/${n}`)}listChildShares(e){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}`)}initShareFromFile(e,n,t=!1,c=!1){let g,E=null,I=y({id:0,name:"",createdAt:new Date,modifiedAt:new Date,storageIndexing:!0,enabled:!0},t?{parent:{id:0,ownerId:0,alias:n.space.alias,name:n.space.name}}:{});if(n){c&&(E=n.root.id);let ge=null;(n?.root?.owner.login===e.login||!n?.space?.alias)&&(n.space=null,ge=e.id),g=new T(A(y({},I),{name:n.name,file:A(y({},n),{path:c?".":at(n.path,2),ownerId:ge})}))}else g=new T(I);return[g,E]}goTo(e){if(!e.id)return Ce(V(!1));if(e.externalPath&&!e.parent?.id)return this.router.navigate([H.SPACES_SHARES],{queryParams:{select:e.name}});if(e.parent?.id&&!e.file?.id&&e.file?.path.indexOf("/")===-1)return this.router.navigate([H.SPACES_SHARES],{queryParams:{select:e.parent.name}});{let[n,t]=Et(e);return this.router.navigate([n],{queryParams:{select:t}})}}};r.\u0275fac=function(n){return new(n||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var U={BASE:`${J}/link`,LINK:"link",VALIDATION:"validation",ACCESS:"access",AUTH:"auth"},Dt=`${U.BASE}/${U.VALIDATION}`,Se=`${U.BASE}/${U.ACCESS}`,Nt=`${U.BASE}/${U.AUTH}`;var Rt=new ye("WindowToken",typeof window<"u"&&window.document?{providedIn:"root",factory:()=>window}:{providedIn:"root",factory:()=>{}});var Pt=(()=>{class o{constructor(i,e,n){this.ngZone=i,this.document=e,this.window=n,this.copySubject=new ke,this.copyResponse$=this.copySubject.asObservable(),this.config={}}configure(i){this.config=i}copy(i){if(!this.isSupported||!i)return this.pushCopyResponse({isSuccess:!1,content:i});let e=this.copyFromContent(i);return e?this.pushCopyResponse({content:i,isSuccess:e}):this.pushCopyResponse({isSuccess:!1,content:i})}get isSupported(){return!!this.document.queryCommandSupported&&!!this.document.queryCommandSupported("copy")&&!!this.window}isTargetValid(i){if(i instanceof HTMLInputElement||i instanceof HTMLTextAreaElement){if(i.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');return!0}throw new Error("Target should be input or textarea")}copyFromInputElement(i,e=!0){try{this.selectTarget(i);let n=this.copyText();return this.clearSelection(e?i:void 0,this.window),n&&this.isCopySuccessInIE11()}catch{return!1}}isCopySuccessInIE11(){let i=this.window.clipboardData;return!(i&&i.getData&&!i.getData("Text"))}copyFromContent(i,e=this.document.body){if(this.tempTextArea&&!e.contains(this.tempTextArea)&&this.destroy(this.tempTextArea.parentElement||void 0),!this.tempTextArea){this.tempTextArea=this.createTempTextArea(this.document,this.window);try{e.appendChild(this.tempTextArea)}catch{throw new Error("Container should be a Dom element")}}this.tempTextArea.value=i;let n=this.copyFromInputElement(this.tempTextArea,!1);return this.config.cleanUpAfterCopy&&this.destroy(this.tempTextArea.parentElement||void 0),n}destroy(i=this.document.body){this.tempTextArea&&(i.removeChild(this.tempTextArea),this.tempTextArea=void 0)}selectTarget(i){return i.select(),i.setSelectionRange(0,i.value.length),i.value.length}copyText(){return this.document.execCommand("copy")}clearSelection(i,e){i&&i.focus(),e.getSelection()?.removeAllRanges()}createTempTextArea(i,e){let n=i.documentElement.getAttribute("dir")==="rtl",t;t=i.createElement("textarea"),t.style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[n?"right":"left"]="-9999px";let c=e.pageYOffset||i.documentElement.scrollTop;return t.style.top=c+"px",t.setAttribute("readonly",""),t}pushCopyResponse(i){this.copySubject.observers.length>0&&this.ngZone.run(()=>{this.copySubject.next(i)})}pushCopyReponse(i){this.pushCopyResponse(i)}}return o.\u0275fac=function(i){return new(i||o)(j(Ie),j(be),j(Rt,8))},o.\u0275prov=P({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var Ft=(()=>{let r=class r{constructor(){this.router=S(Y),this.http=S(Z),this.layout=S(B),this.authService=S(vt),this.clipboard=S(Pt)}shareLinksList(){return this.http.get(xt).pipe(b(e=>e.map(n=>new te(n))))}shareLink(e){return this.http.get(`${q}/${e}`).pipe(b(n=>new te(n)))}shareLinkChild(e,n){return this.http.get(`${q}/${e}/${h.CHILDREN}/${n}`).pipe(b(t=>new te(t)))}linkFromSpaceOrShare(e,n,t){return this.http.get(`${q}/${e}/${t}/${n}`)}linkValidation(e){return this.http.get(`${Dt}/${e}`).pipe(b(n=>n.ok?n.link:(n.error&&(n.error===ue.UNAUTHORIZED?this.router.navigate([`${N.LINK}/${e}/${N.AUTH}`]).catch(console.error):this.router.navigate([`${N.LINK}/${e}/${n.error}`]).catch(console.error)),!1)),oe(()=>(this.authService.logout(),V(!1))))}linkAccess(e,n){n.share?.isDir||n.space?.alias?this.http.get(`${Se}/${e}`).subscribe(t=>{this.authService.initUserFromResponse(t),n.space?this.router.navigate([H.SPACES],{queryParams:{select:n.space.name}}).catch(console.error):this.router.navigate([H.SPACES_SHARES],{queryParams:{select:n.share.name}}).catch(console.error)}):ct(`${Se}/${e}`)}linkAuthentication(e,n){return this.http.post(`${Nt}/${e}`,{password:n}).pipe(b(t=>(this.authService.initUserFromResponse(t),this.router.navigate([`${N.LINK}/${e}`]).catch(console.error),!0)),oe(t=>(t.error.message===ue.UNAUTHORIZED?this.layout.sendNotification("warning","Link","Bad password"):this.router.navigate([`${N.LINK}/${e}/${t.error.message}`]).catch(console.error),V(!1))))}copyLinkToClipboard(e){this.clipboard.copyFromContent(this.genLink(e))}genUUID(){return this.http.get(Lt).pipe(b(e=>e.uuid))}createLinkDialog(e){this.genUUID().subscribe(n=>{let t=this.layout.openDialog(ne,"md",{initialState:{link:{name:e.name,uuid:n,isActive:!0,nbAccess:0}}});this.subscribeToSubmitLinkModal(t,e)})}updateLinkFromSpaceOrShare(e,n,t,c){return this.http.put(`${q}/${e}/${t}/${n}`,c)}editLinkDialog(e,n,t){if(n.id===0||e?.linkSettings?.uuid){let c=this.layout.openDialog(ne,"md",{initialState:{link:e.linkSettings}});this.subscribeToSubmitLinkModal(c,n,e)}else this.linkFromSpaceOrShare(e.linkId,n.id,t).subscribe({next:c=>{let g=this.layout.openDialog(ne,"md",{initialState:{link:A(y({},c),{permissions:e.permissions})}});this.subscribeToSubmitLinkModal(g,n,e)},error:c=>this.layout.sendNotification("error","Link error",e.name||n.name,c)})}shareLinkGuestToMember(e,n,t){return new gt({id:e,linkId:n,name:t.name,description:t.email,createdAt:t.createdAt,permissions:t.permissions,type:ut.LINK,spaceRole:pt.IS_MEMBER,linkSettings:t},[L.SHARE_INSIDE,L.SHARE_OUTSIDE])}subscribeToSubmitLinkModal(e,n,t){e.content.submitEvent.pipe(ve(1)).subscribe(c=>{if(Object.keys(c).length){let g=Object.assign(e.content.link,c),E=this.shareLinkGuestToMember(g.userId||-(n.links.length+1),t?.linkId||-(n.links.length+1),g);E.linkId?n.links=[E,...n.links.filter(I=>I.linkId!==E.linkId)]:n.links=[E,...n.links]}e.content.layout.closeDialog()})}genLink(e){return`${document.location.origin}/#/${N.LINK}/${e}`}};r.\u0275fac=function(n){return new(n||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var Vt=o=>({dateInputFormat:"YYYY-MM-DD",containerClass:"theme-dark-blue",returnFocusToInput:!0,minDate:o,showWeekNumbers:!1}),Kt=(o,r)=>r.key;function qt(o,r){o&1&&(s(0,"span",4),p(1,"Edit link"),a())}function jt(o,r){o&1&&(s(0,"span",4),p(1,"New link"),a())}function Wt(o,r){o&1&&u(0,"div",54)}function Gt(o,r){if(o&1){let i=G();s(0,"button",53),C(1,"translate"),pe("ngModelChange",function(n){let t=F(i).$implicit,c=d(3);return ce(c.permissions[t.key],n)||(c.permissions[t.key]=n),M(n)}),w("ngModelChange",function(){F(i);let n=d(3);return M(n.onPermissionChange())}),u(2,"fa-icon",50),a(),_(3,Wt,1,0,"div",54)}if(o&2){let i=r.$implicit,e=r.$index,n=r.$count,t=d(3);le("ngModel",t.permissions[i.key]),m("tooltip",v(1,4,t.SPACES_PERMISSIONS_TEXT[i.key].text,t.locale.language)),l(2),m("icon",t.SPACES_PERMISSIONS_TEXT[i.key].icon),l(),k(e===n-1?3:-1)}}function Zt(o,r){if(o&1&&(se(0,Gt,4,7,null,null,Kt),C(2,"keyvalue")),o&2){let i=d(2);ae(v(2,0,i.permissions,i.originalOrderKeyValue))}}function Yt(o,r){if(o&1&&(s(0,"div",51),u(1,"app-share-repository",55),a()),o&2){let i=d(2);l(),m("share",i.share)("showIcon",!0)("showFullPath",!0)}}function Xt(o,r){if(o&1){let i=G();s(0,"div",44),u(1,"fa-icon",45),s(2,"div",46)(3,"span"),p(4),a(),s(5,"span",47),p(6),a()(),s(7,"div",48),_(8,Zt,3,3),s(9,"button",49),C(10,"translate"),w("click",function(){F(i);let n=d();return M(n.toggleRequireAuth())}),u(11,"fa-icon",50),a(),s(12,"button",49),C(13,"translate"),w("click",function(){F(i);let n=d();return M(n.copyToClipboard())}),u(14,"fa-icon",50),a()()(),_(15,Yt,2,3,"div",51),u(16,"hr",52)}if(o&2){let i=d();l(),m("icon",i.icons.links),l(3),$(i.linkForm.value.name||i.linkForm.value.shareName),l(2),$(i.linkForm.value.email),l(2),k(i.share&&i.permissions?8:-1),l(),x(O("btn btn-sm ",i.linkForm.value.requireAuth?"btn-success":"btn-warning")),m("tooltip",v(10,15,"Password",i.locale.language)),l(2),m("icon",i.linkForm.value.requireAuth?i.icons.faLock:i.icons.faLockOpen),l(),x(O("btn btn-sm ms-2 ",i.linkWasCopied?"btn-info":"btn-secondary")),m("tooltip",v(13,18,"Copy link",i.locale.language)),l(2),m("icon",i.linkWasCopied?i.icons.faClipboardCheck:i.icons.faClipboard),l(),k(i.share?15:-1)}}function zt(o,r){if(o&1&&(s(0,"span"),p(1),a()),o&2){let i=d();x(O("badge rounded-pill ",(i.share?i.share.link.nbAccess:i.link.nbAccess)>=i.linkForm.value.limitAccess?"bg-danger":"bg-success")),l(),xe(" ",i.share?i.share.link.nbAccess:i.link.nbAccess,"/",i.linkForm.value.limitAccess," ")}}function Qt(o,r){if(o&1&&(s(0,"span",20),p(1),a()),o&2){let i=d();l(),$(i.share?i.share.link.nbAccess:i.link.nbAccess)}}function Jt(o,r){if(o&1&&(s(0,"div",27)(1,"label",56),p(2,"Share name"),a(),u(3,"input",57),C(4,"translate"),a(),s(5,"div",27)(6,"label",58),p(7,"Share description"),a(),u(8,"input",59),C(9,"translate"),a()),o&2){let i=d();l(3),K("is-invalid",i.linkForm.controls.shareName.invalid),m("placeholder",v(4,4,"Share name",i.locale.language)),l(5),m("placeholder",v(9,7,"Share description",i.locale.language))}}function ei(o,r){if(o&1&&(s(0,"option",30),p(1),a()),o&2){let i=r.$implicit,e=d();m("ngValue",i),l(),$(e.i18nLanguageText[i])}}function ti(o,r){if(o&1&&(s(0,"div",37),u(1,"app-password-strength-bar",60),a()),o&2){let i=d();l(),m("passwordToCheck",i.password)}}function ii(o,r){if(o&1){let i=G();s(0,"button",61),w("click",function(){F(i);let n=d();return M(n.confirmDeletion=!0)}),p(1," Remove "),a()}if(o&2){let i=d();m("disabled",i.confirmDeletion)}}var ne=(()=>{let r=class r{constructor(){this.layout=S(B),this.parentSpaceId=null,this.isSharesRepo=!1,this.inSharesList=!1,this.submitEvent=new re,this.shareChange=new re,this.locale=S(z),this.confirmDeletion=!1,this.submitted=!1,this.SPACES_PERMISSIONS_TEXT=ht,this.originalOrderKeyValue=lt,this.icons={faEye:Je,faEyeSlash:ot,links:R.LINKS,faClipboard:tt,faClipboardCheck:et,faLock:nt,faLockOpen:it},this.languages=this.layout.getLanguages(),this.minDate=he(),this.defaultPassword=this.layout.translateString(rt),this.passwordMinLength=8,this.password="",this.linkIsExpired=!1,this.linkIsHovered=!1,this.linkWasCopied=!1,this.i18nLanguageText=st,this.userService=S(_t),this.sharesService=S(Tt),this.linksService=S(Ft),this.spacesService=S(It),this.minDate.setDate(this.minDate.getDate()+1)}ngOnInit(){this.link?this.initLink():this.file?this.initFile():this.initShareLink(),this.linkForm.value.requireAuth&&(this.password=this.defaultPassword),this.linkForm.value.expiresAt&&this.isLinkIsExpired(this.share?this.share.link.expiresAt:this.link.expiresAt),this.linkForm.controls.expiresAt.valueChanges.subscribe(e=>this.isLinkIsExpired(e))}onPermissionChange(){let e=St(this.permissions);this.linkForm.controls.permissions.setValue(e),e!==this.share.link.permissions?this.linkForm.controls.permissions.markAsDirty():this.linkForm.controls.permissions.markAsPristine()}toggleRequireAuth(){this.linkForm.controls.requireAuth.setValue(!this.linkForm.value.requireAuth),this.linkForm.controls.requireAuth.markAsDirty()}copyToClipboard(){this.linksService.copyLinkToClipboard(this.share?this.share.link.uuid:this.link.uuid),this.linkWasCopied=!0,this.layout.sendNotification("info","Link copied",this.linkForm.value.name||this.linkForm.value.shareName),setTimeout(()=>this.linkWasCopied=!1,3e3)}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){if(this.submitted=!0,this.confirmDeletion){(this.parentSpaceId?this.spacesService.deleteSpaceShare(this.parentSpaceId,this.share.id):this.sharesService.deleteShare(this.share.id)).subscribe({next:()=>{this.layout.sendNotification("success","Link deleted",this.share.link.name||this.share.name),this.shareChange.emit(["delete",this.share]),this.layout.closeDialog()},error:c=>{this.layout.sendNotification("error","Delete share",this.share.name,c),this.layout.closeDialog()}});return}if(this.file?.id){let n=this.share,{link:t}=n,c=_e(n,["link"]),g=A(y(y({},t),this.linkForm.value),{password:this.mustIncludePassword()?this.password:void 0});c.name=de("shareName",g),c.description=de("shareDescription",g);let E=this.linksService.shareLinkGuestToMember(-1,-1,g);this.sharesService.createShare(A(y({},c),{type:bt.LINK,links:[E]})).subscribe({next:I=>{this.shareChange.emit(["add",I]),this.layout.sendNotification("success","Link created",t.name||I.name),this.layout.closeDialog()},error:I=>{this.layout.sendNotification("error","Link error",this.share.name,I),this.layout.closeDialog()}});return}let e={};for(let t in this.linkForm.controls)this.linkForm.controls[t].dirty&&(e[t]=this.linkForm.controls[t].value);if(this.mustIncludePassword()&&(e.password=this.password),this.share?.id){Object.keys(e).length&&this.linksService.updateLinkFromSpaceOrShare(this.share.link.id,this.share.id,mt.SHARE,e).subscribe({next:t=>{this.share.name=this.linkForm.value.shareName,this.share.description=this.linkForm.value.shareDescription,this.share.link=Object.assign(this.share.link,t),this.share.updateTimes(),this.share.updatePermission(),this.shareChange.emit(["update",this.share]),this.layout.closeDialog()},error:t=>{this.layout.sendNotification("error","Link error",this.share.link.name||this.share.name,t),this.layout.closeDialog()}}),this.layout.closeDialog();return}this.submitEvent.emit(e)}initFile(){let e=this.sharesService.initShareFromFile(this.userService.user,this.file,this.isSharesRepo,this.inSharesList)[0];this.share=A(y({},e),{link:{id:-1,userId:-1,uuid:"",isActive:!0,requireAuth:!1,permissions:"",nbAccess:0,limitAccess:0}}),this.linksService.genUUID().subscribe(n=>this.share.link.uuid=n),this.initShareLink(),this.onPermissionChange()}initShareLink(){this.linkForm=new me({shareName:new f(this.share.name,X.required),shareDescription:new f(this.share.description||""),name:new f(this.share.link?.name||""),email:new f(this.share.link?.email||"",X.email),language:new f(this.share.link.language||null),limitAccess:new f(this.share.link.limitAccess||null),expiresAt:new f(this.share.link.expiresAt||null),requireAuth:new f(this.share.link.requireAuth||!1),permissions:new f(this.share.link.permissions),isActive:new f(this.share.link.isActive)}),this.permissions=ft(this.share.file.permissions,this.share.link.permissions,[L.SHARE_INSIDE,L.SHARE_OUTSIDE,...this.share.file.isDir?[]:[L.DELETE,L.ADD]])}initLink(){this.linkForm=new me({shareName:new f(""),shareDescription:new f(""),name:new f(this.link.name||""),email:new f(this.link.email||"",X.email),language:new f(this.link.language||null),limitAccess:new f(this.link.limitAccess||null),expiresAt:new f(this.link.expiresAt||null),requireAuth:new f(this.link.requireAuth||!1),permissions:new f(this.link.permissions),isActive:new f(this.link.isActive)}),this.link.id||(this.linkForm.controls.name.markAsDirty(),this.linkForm.controls.isActive.markAsDirty())}isLinkIsExpired(e){if(e==null){if(this.linkIsExpired=!1,e===null)return;this.linkForm.controls.expiresAt.setValue(null)}this.linkIsExpired=he()>=e}mustIncludePassword(){return!!this.password.length&&this.password!==this.defaultPassword}};r.\u0275fac=function(n){return new(n||r)},r.\u0275cmp=W({type:r,selectors:[["app-link-dialog"]],inputs:{share:"share",parentSpaceId:"parentSpaceId",link:"link",file:"file",isSharesRepo:"isSharesRepo",inSharesList:"inSharesList"},outputs:{submitEvent:"submitEvent",shareChange:"shareChange"},decls:73,vars:52,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"],["autocomplete","off",3,"formGroup"],[1,"d-flex"],[1,"d-flex","flex-column","flex-grow-1"],[1,"d-flex","align-items-center","cursor-pointer","py-2",3,"mouseover","mouseleave","focus","click"],["for","link","l10nTranslate",""],["id","link",1,"ms-auto"],[1,"d-flex","align-items-center","py-2"],["for","state","l10nTranslate","",1,"cursor-pointer","me-auto"],[1,"d-flex","align-items-center","form-check","form-switch","cursor-pointer"],["id","state","formControlName","isActive","type","checkbox","role","button",1,"form-check-input"],["for","access","l10nTranslate",""],["id","access",1,"ms-auto"],[3,"class"],[1,"badge","rounded-pill","bg-success"],[1,"d-flex","align-items-center"],["for","guestName","l10nTranslate",""],["id","guestName","formControlName","name","type","text",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],[1,"d-flex","align-items-center","justify-content-between","px-0"],["for","guestEmail","l10nTranslate",""],["id","guestEmail","autocomplete","off","formControlName","email","type","email",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],[1,"d-flex","align-items-center","justify-content-between"],["for","guestLanguage","l10nTranslate",""],["id","guestLanguage","formControlName","language",1,"form-control","form-select","form-select-sm","ms-auto","w-50"],[3,"ngValue"],["for","limitAccess","l10nTranslate",""],["id","limitAccess","formControlName","limitAccess","min","1","type","number",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],["for","expiration","l10nTranslate",""],["bsDatepicker","","id","expiration","formControlName","expiresAt","placement","left","type","text",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder","bsConfig"],[1,"d-flex","align-items-center","px-0"],["for","requireAuth","translate","",1,"cursor-pointer","me-auto"],[1,"d-flex","align-items-center","d-none","d-sm-flex","mx-auto"],["id","requireAuth","formControlName","requireAuth","type","checkbox","role","button",1,"form-check-input"],["placeholder","Set a password",2,"width","45%",3,"passwordChange","isRequired","disabled","passwordMinLength","password","showGenerator"],[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,"d-flex","flex-fill","align-items-center"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","flex-column","overflow-wrap-and-whitespace","me-2"],[1,"fs-xxxs"],[1,"d-flex","ms-auto"],["container","body","type","button",3,"click","tooltip"],["size","lg",3,"icon"],[1,"d-flex","align-items-center","d-none","d-sm-flex","py-2"],[1,"my-2"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-0","ms-2",3,"ngModelChange","ngModel","tooltip"],[1,"vr","mx-2"],["id","file",3,"share","showIcon","showFullPath"],["for","shareName","l10nTranslate",""],["id","shareName","formControlName","shareName","type","email",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],["for","shareDescription","l10nTranslate",""],["id","shareDescription","formControlName","shareDescription","type","email",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],[3,"passwordToCheck"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(n,t){n&1&&(s(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),s(3,"span"),p(4),a()(),s(5,"h4",3),_(6,qt,2,0,"span",4)(7,jt,2,0,"span",4),a(),s(8,"button",5),w("click",function(){return t.layout.closeDialog()}),a()(),s(9,"div",6),_(10,Xt,17,21),s(11,"form",7)(12,"div",8)(13,"div",9)(14,"div",10),w("mouseover",function(){return t.linkIsHovered=!0})("mouseleave",function(){return t.linkIsHovered=!1})("focus",function(){return t.linkIsHovered=!0})("click",function(){return t.copyToClipboard()}),s(15,"label",11),p(16,"Link"),a(),s(17,"span",12),p(18),a()(),s(19,"div",13)(20,"label",14),p(21,"Active"),a(),s(22,"div",15),u(23,"input",16),s(24,"span"),p(25),C(26,"translate"),a()()(),s(27,"div",13)(28,"label",17),p(29,"Current access count"),a(),s(30,"span",18),_(31,zt,2,5,"span",19)(32,Qt,2,1,"span",20),a()(),_(33,Jt,10,10),s(34,"div",21)(35,"label",22),p(36,"Guest name"),a(),u(37,"input",23),C(38,"translate"),a(),s(39,"div",24)(40,"label",25),p(41,"Guest email"),a(),u(42,"input",26),C(43,"translate"),a(),s(44,"div",27)(45,"label",28),p(46,"Guest language"),a(),s(47,"select",29),se(48,ei,2,2,"option",30,Ae),a()(),s(50,"div",27)(51,"label",31),p(52,"Limit access"),a(),u(53,"input",32),C(54,"translate"),a(),s(55,"div",27)(56,"label",33),p(57,"Expiration"),a(),u(58,"input",34),C(59,"translate"),a(),s(60,"div",35)(61,"label",36),p(62,"Password"),a(),_(63,ti,2,1,"div",37),s(64,"div",15),u(65,"input",38),a(),s(66,"app-input-password",39),pe("passwordChange",function(g){return ce(t.password,g)||(t.password=g),g}),a()()()()()(),s(67,"div",40),_(68,ii,2,1,"button",41),s(69,"button",42),w("click",function(){return t.onCancel()}),p(70,"Cancel"),a(),s(71,"button",43),w("click",function(){return t.onSubmit()}),p(72),a()()),n&2&&(l(2),m("icon",t.icons.links),l(2),$(t.linkForm.value.name||t.linkForm.value.shareName),l(2),k(t.share!=null&&t.share.id||t.link!=null&&t.link.id?6:7),l(4),k(t.share||t.link?10:-1),l(),m("formGroup",t.linkForm),l(6),K("text-primary",t.linkIsHovered),l(),D(" ",t.share?t.share.link.uuid:t.link.uuid," "),l(6),x(O("badge rounded-pill ms-3 ",t.linkForm.value.isActive?"bg-primary":"bg-danger")),l(),D(" ",v(26,35,t.linkForm.value.isActive?"yes":"no",t.locale.language)," "),l(6),k(t.linkForm.value.limitAccess?31:32),l(2),k(t.share?33:-1),l(4),m("placeholder",v(38,38,"Guest name",t.locale.language)),l(5),K("is-invalid",t.linkForm.controls.email.invalid),m("placeholder",v(43,41,"Guest email",t.locale.language)),l(6),ae(t.languages),l(5),m("placeholder",v(54,44,"Unlimited",t.locale.language)),l(5),K("text-danger",t.linkIsExpired),m("placeholder",v(59,47,"Never expires",t.locale.language))("bsConfig",Le(50,Vt,t.minDate)),l(5),k(t.linkForm.value.requireAuth&&t.password!==t.defaultPassword?63:-1),l(3),m("isRequired",t.linkForm.value.requireAuth)("disabled",!t.linkForm.value.requireAuth)("passwordMinLength",t.passwordMinLength),le("password",t.password),m("showGenerator",!0),l(2),k(t.share!=null&&t.share.id?68:-1),l(3),x(O("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),m("disabled",t.linkForm.invalid||t.linkForm.controls.requireAuth.value&&t.password.length<t.passwordMinLength||t.submitted),l(),D(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[ee,We,ze,Ye,Xe,Ct,kt,qe,Me,Ue,Ve,Ne,$e,De,He,Re,Pe,Ke,Fe,dt,Ze,Ge,je,Oe,Be,At,yt,Te,Q],encapsulation:2});let o=r;return o})();export{Pt as a,At as b,Tt as c,ne as d,Ft as e};
1
+ import{a as bt,c as Et,d as T,e as te,g as It}from"./chunk-SJR5R3Y4.js";import{a as yt}from"./chunk-LVSNIS5P.js";import{b as vt}from"./chunk-PNR6M34W.js";import{d as Y}from"./chunk-RV3VZJPZ.js";import{l as dt,p as _t,q as kt,r as Ct}from"./chunk-VQQKMY2C.js";import{$a as ct,Da as he,Ha as de,Ib as fe,J as rt,Jb as R,Kb as H,Lb as ht,M as st,Nb as ut,Oa as at,Pb as ft,Rb as St,Sb as gt,W as J,Za as lt,nb as L,qb as pt,r as Ge,s as Ze,v as Ye,w as Xe,x as ze,yb as B}from"./chunk-XDZGW64M.js";import{$a as W,$c as Ne,Ab as G,Db as w,Dd as Q,Ed as We,Fb as d,G as oe,Id as Qe,Jc as Te,L as ve,Mf as ot,Na as l,Nb as we,Ob as K,Pa as re,Pb as x,Qa as Ie,Qb as p,Rb as $,Sb as D,Sc as Z,Tb as xe,Ub as le,Vb as ce,Wb as pe,Yb as O,_c as De,ac as Le,bd as X,be as Je,da as P,dd as Re,de as et,ec as C,ed as Pe,eg as ee,f as ke,fd as me,fg as ue,ga as ye,gc as v,gg as mt,ha as j,hd as f,hg as N,ia as S,id as Fe,jd as Me,kb as _,kd as $e,lb as k,mb as Ae,md as Oe,mf as it,na as F,nd as Be,oa as M,ob as se,od as He,p as V,pb as ae,pd as Ue,qa as be,qb as m,qd as Ve,rb as s,rd as Ke,sb as a,t as Ce,tb as u,ue as tt,uf as nt,v as b,wa as Ee,wd as qe,xd as je,yd as z}from"./chunk-DIT6W7VM.js";import{a as y,b as A,d as _e}from"./chunk-N3U6637P.js";function Mt(o,r){if(o&1&&u(0,"fa-icon",2),o&2){let i=d();x(i.repository.class),we("min-width",i.galleryMode.dimensions/3,"px")("min-height",i.galleryMode.dimensions/3,"px")("font-size",i.galleryMode.faSize/1.8,"px"),m("icon",i.repository.icon)}}function $t(o,r){if(o&1&&u(0,"fa-icon",5),o&2){let i=d(2);x(i.repository.class),m("icon",i.repository.icon)}}function Ot(o,r){if(o&1&&(p(0),C(1,"translate")),o&2){let i=d(2);D(" ",v(1,1,i.repository.label,i.locale.language)," ")}}function Bt(o,r){if(o&1&&p(0),o&2){let i=d(2);D(" ",i.repository.label," ")}}function Ht(o,r){if(o&1&&(s(0,"div",1),_(1,$t,1,3,"fa-icon",3),s(2,"span",4),_(3,Ot,2,4)(4,Bt,1,1),a()()),o&2){let i=d();l(),k(i.showIcon?1:-1),l(2),k(i.repository.translate?3:4)}}var At=(()=>{let r=class r{constructor(){this.showIcon=!0,this.showFullPath=!1,this.locale=S(z),this.layout=S(B),this.unknownRepository={icon:Qe,label:"",class:"circle-primary-icon",translate:!1}}ngOnInit(){this.setRepository()}ngOnChanges(){this.setRepository()}setRepository(){this.share.parent?.id||this.share.parent?.id===0?this.repository={icon:R.SHARES,label:this.share.parent.name,class:"circle-purple-icon",translate:!1}:this.share.file?.ownerId?this.repository={icon:R.PERSONAL,label:fe.PERSONAL_FILES,class:"circle-primary-icon",translate:!0}:this.share.file?.space?.alias?this.repository={icon:R.SPACES,label:`${this.share.file.space.name}`,class:"circle-primary-icon",translate:!1}:this.share.externalPath?this.repository={icon:R.EXTERNAL,label:"External",class:"circle-primary-icon",translate:!0}:this.repository=y({},this.unknownRepository),this.showFullPath&&this.setFullPath()}setFullPath(){if(!this.repository.label)return;let e=this.share.file?.path?this.share.file.path.split("/").filter(n=>n&&n!=="."):[];this.share.parent?.id&&!this.share.file?.id&&this.share.file?.path.indexOf("/")===-1?e.shift():this.share.file?.space?.alias&&this.share.file.space?.root?.alias&&(e.length?e.unshift(this.share.file.space.root.name):e.push(this.share.file.space.root.name)),this.repository.label===fe.PERSONAL_FILES&&(this.repository.label=this.layout.translateString(this.repository.label)),e.length&&(this.repository.label=`${this.repository.label}/${e.join("/")}`)}};r.\u0275fac=function(n){return new(n||r)},r.\u0275cmp=W({type:r,selectors:[["app-share-repository"]],inputs:{share:"share",galleryMode:"galleryMode",showIcon:"showIcon",showFullPath:"showFullPath"},features:[Ee],decls:2,vars:1,consts:[[3,"icon","class","min-width","min-height","font-size"],[1,"d-flex","align-items-center","overflow-wrap-and-whitespace"],[3,"icon"],[1,"me-2",3,"icon","class"],["draggable","false",1,"no-pointer-events"],[1,"me-2",3,"icon"]],template:function(n,t){n&1&&_(0,Mt,1,9,"fa-icon",0)(1,Ht,5,2,"div",1),n&2&&k(t.galleryMode?0:1)},dependencies:[ee,Q],encapsulation:2});let o=r;return o})();var h={BASE:`${J}/shares`,LIST:"list",CHILDREN:"children",LINKS:"links",LINKS_LIST:"links/list",LINKS_UUID:"links/uuid"},wt=`${h.BASE}/${h.LIST}`,q=`${h.BASE}/${h.LINKS}`,xt=`${h.BASE}/${h.LINKS_LIST}`,Lt=`${h.BASE}/${h.LINKS_UUID}`;var Tt=(()=>{let r=class r{constructor(){this.http=S(Z),this.router=S(Y)}getShare(e){return this.http.get(`${h.BASE}/${e}`).pipe(b(n=>new T(n)))}createShare(e){return this.http.post(h.BASE,e).pipe(b(n=>new T(n)))}updateShare(e){return this.http.put(`${h.BASE}/${e.id}`,e).pipe(b(n=>new T(n)))}deleteShare(e){return this.http.delete(`${h.BASE}/${e}`)}listShares(){return this.http.get(wt)}getShareChild(e,n){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}/${n}`).pipe(b(t=>new T(t)))}updateShareChild(e,n,t){return this.http.put(`${h.BASE}/${e}/${h.CHILDREN}/${n}`,t).pipe(b(c=>new T(c)))}deleteShareChild(e,n){return this.http.delete(`${h.BASE}/${e}/${h.CHILDREN}/${n}`)}listChildShares(e){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}`)}initShareFromFile(e,n,t=!1,c=!1){let g,E=null,I=y({id:0,name:"",createdAt:new Date,modifiedAt:new Date,storageIndexing:!0,enabled:!0},t?{parent:{id:0,ownerId:0,alias:n.space.alias,name:n.space.name}}:{});if(n){c&&(E=n.root.id);let ge=null;(n?.root?.owner.login===e.login||!n?.space?.alias)&&(n.space=null,ge=e.id),g=new T(A(y({},I),{name:n.name,file:A(y({},n),{path:c?".":at(n.path,2),ownerId:ge})}))}else g=new T(I);return[g,E]}goTo(e){if(!e.id)return Ce(V(!1));if(e.externalPath&&!e.parent?.id)return this.router.navigate([H.SPACES_SHARES],{queryParams:{select:e.name}});if(e.parent?.id&&!e.file?.id&&e.file?.path.indexOf("/")===-1)return this.router.navigate([H.SPACES_SHARES],{queryParams:{select:e.parent.name}});{let[n,t]=Et(e);return this.router.navigate([n],{queryParams:{select:t}})}}};r.\u0275fac=function(n){return new(n||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var U={BASE:`${J}/link`,LINK:"link",VALIDATION:"validation",ACCESS:"access",AUTH:"auth"},Dt=`${U.BASE}/${U.VALIDATION}`,Se=`${U.BASE}/${U.ACCESS}`,Nt=`${U.BASE}/${U.AUTH}`;var Rt=new ye("WindowToken",typeof window<"u"&&window.document?{providedIn:"root",factory:()=>window}:{providedIn:"root",factory:()=>{}});var Pt=(()=>{class o{constructor(i,e,n){this.ngZone=i,this.document=e,this.window=n,this.copySubject=new ke,this.copyResponse$=this.copySubject.asObservable(),this.config={}}configure(i){this.config=i}copy(i){if(!this.isSupported||!i)return this.pushCopyResponse({isSuccess:!1,content:i});let e=this.copyFromContent(i);return e?this.pushCopyResponse({content:i,isSuccess:e}):this.pushCopyResponse({isSuccess:!1,content:i})}get isSupported(){return!!this.document.queryCommandSupported&&!!this.document.queryCommandSupported("copy")&&!!this.window}isTargetValid(i){if(i instanceof HTMLInputElement||i instanceof HTMLTextAreaElement){if(i.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');return!0}throw new Error("Target should be input or textarea")}copyFromInputElement(i,e=!0){try{this.selectTarget(i);let n=this.copyText();return this.clearSelection(e?i:void 0,this.window),n&&this.isCopySuccessInIE11()}catch{return!1}}isCopySuccessInIE11(){let i=this.window.clipboardData;return!(i&&i.getData&&!i.getData("Text"))}copyFromContent(i,e=this.document.body){if(this.tempTextArea&&!e.contains(this.tempTextArea)&&this.destroy(this.tempTextArea.parentElement||void 0),!this.tempTextArea){this.tempTextArea=this.createTempTextArea(this.document,this.window);try{e.appendChild(this.tempTextArea)}catch{throw new Error("Container should be a Dom element")}}this.tempTextArea.value=i;let n=this.copyFromInputElement(this.tempTextArea,!1);return this.config.cleanUpAfterCopy&&this.destroy(this.tempTextArea.parentElement||void 0),n}destroy(i=this.document.body){this.tempTextArea&&(i.removeChild(this.tempTextArea),this.tempTextArea=void 0)}selectTarget(i){return i.select(),i.setSelectionRange(0,i.value.length),i.value.length}copyText(){return this.document.execCommand("copy")}clearSelection(i,e){i&&i.focus(),e.getSelection()?.removeAllRanges()}createTempTextArea(i,e){let n=i.documentElement.getAttribute("dir")==="rtl",t;t=i.createElement("textarea"),t.style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[n?"right":"left"]="-9999px";let c=e.pageYOffset||i.documentElement.scrollTop;return t.style.top=c+"px",t.setAttribute("readonly",""),t}pushCopyResponse(i){this.copySubject.observers.length>0&&this.ngZone.run(()=>{this.copySubject.next(i)})}pushCopyReponse(i){this.pushCopyResponse(i)}}return o.\u0275fac=function(i){return new(i||o)(j(Ie),j(be),j(Rt,8))},o.\u0275prov=P({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var Ft=(()=>{let r=class r{constructor(){this.router=S(Y),this.http=S(Z),this.layout=S(B),this.authService=S(vt),this.clipboard=S(Pt)}shareLinksList(){return this.http.get(xt).pipe(b(e=>e.map(n=>new te(n))))}shareLink(e){return this.http.get(`${q}/${e}`).pipe(b(n=>new te(n)))}shareLinkChild(e,n){return this.http.get(`${q}/${e}/${h.CHILDREN}/${n}`).pipe(b(t=>new te(t)))}linkFromSpaceOrShare(e,n,t){return this.http.get(`${q}/${e}/${t}/${n}`)}linkValidation(e){return this.http.get(`${Dt}/${e}`).pipe(b(n=>n.ok?n.link:(n.error&&(n.error===ue.UNAUTHORIZED?this.router.navigate([`${N.LINK}/${e}/${N.AUTH}`]).catch(console.error):this.router.navigate([`${N.LINK}/${e}/${n.error}`]).catch(console.error)),!1)),oe(()=>(this.authService.logout(),V(!1))))}linkAccess(e,n){n.share?.isDir||n.space?.alias?this.http.get(`${Se}/${e}`).subscribe(t=>{this.authService.initUserFromResponse(t),n.space?this.router.navigate([H.SPACES],{queryParams:{select:n.space.name}}).catch(console.error):this.router.navigate([H.SPACES_SHARES],{queryParams:{select:n.share.name}}).catch(console.error)}):ct(`${Se}/${e}`)}linkAuthentication(e,n){return this.http.post(`${Nt}/${e}`,{password:n}).pipe(b(t=>(this.authService.initUserFromResponse(t),this.router.navigate([`${N.LINK}/${e}`]).catch(console.error),!0)),oe(t=>(t.error.message===ue.UNAUTHORIZED?this.layout.sendNotification("warning","Link","Bad password"):this.router.navigate([`${N.LINK}/${e}/${t.error.message}`]).catch(console.error),V(!1))))}copyLinkToClipboard(e){this.clipboard.copyFromContent(this.genLink(e))}genUUID(){return this.http.get(Lt).pipe(b(e=>e.uuid))}createLinkDialog(e){this.genUUID().subscribe(n=>{let t=this.layout.openDialog(ne,"md",{initialState:{link:{name:e.name,uuid:n,isActive:!0,nbAccess:0}}});this.subscribeToSubmitLinkModal(t,e)})}updateLinkFromSpaceOrShare(e,n,t,c){return this.http.put(`${q}/${e}/${t}/${n}`,c)}editLinkDialog(e,n,t){if(n.id===0||e?.linkSettings?.uuid){let c=this.layout.openDialog(ne,"md",{initialState:{link:e.linkSettings}});this.subscribeToSubmitLinkModal(c,n,e)}else this.linkFromSpaceOrShare(e.linkId,n.id,t).subscribe({next:c=>{let g=this.layout.openDialog(ne,"md",{initialState:{link:A(y({},c),{permissions:e.permissions})}});this.subscribeToSubmitLinkModal(g,n,e)},error:c=>this.layout.sendNotification("error","Link error",e.name||n.name,c)})}shareLinkGuestToMember(e,n,t){return new gt({id:e,linkId:n,name:t.name,description:t.email,createdAt:t.createdAt,permissions:t.permissions,type:ut.LINK,spaceRole:pt.IS_MEMBER,linkSettings:t},[L.SHARE_INSIDE,L.SHARE_OUTSIDE])}subscribeToSubmitLinkModal(e,n,t){e.content.submitEvent.pipe(ve(1)).subscribe(c=>{if(Object.keys(c).length){let g=Object.assign(e.content.link,c),E=this.shareLinkGuestToMember(g.userId||-(n.links.length+1),t?.linkId||-(n.links.length+1),g);E.linkId?n.links=[E,...n.links.filter(I=>I.linkId!==E.linkId)]:n.links=[E,...n.links]}e.content.layout.closeDialog()})}genLink(e){return`${document.location.origin}/#/${N.LINK}/${e}`}};r.\u0275fac=function(n){return new(n||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var Vt=o=>({dateInputFormat:"YYYY-MM-DD",containerClass:"theme-dark-blue",returnFocusToInput:!0,minDate:o,showWeekNumbers:!1}),Kt=(o,r)=>r.key;function qt(o,r){o&1&&(s(0,"span",4),p(1,"Edit link"),a())}function jt(o,r){o&1&&(s(0,"span",4),p(1,"New link"),a())}function Wt(o,r){o&1&&u(0,"div",54)}function Gt(o,r){if(o&1){let i=G();s(0,"button",53),C(1,"translate"),pe("ngModelChange",function(n){let t=F(i).$implicit,c=d(3);return ce(c.permissions[t.key],n)||(c.permissions[t.key]=n),M(n)}),w("ngModelChange",function(){F(i);let n=d(3);return M(n.onPermissionChange())}),u(2,"fa-icon",50),a(),_(3,Wt,1,0,"div",54)}if(o&2){let i=r.$implicit,e=r.$index,n=r.$count,t=d(3);le("ngModel",t.permissions[i.key]),m("tooltip",v(1,4,t.SPACES_PERMISSIONS_TEXT[i.key].text,t.locale.language)),l(2),m("icon",t.SPACES_PERMISSIONS_TEXT[i.key].icon),l(),k(e===n-1?3:-1)}}function Zt(o,r){if(o&1&&(se(0,Gt,4,7,null,null,Kt),C(2,"keyvalue")),o&2){let i=d(2);ae(v(2,0,i.permissions,i.originalOrderKeyValue))}}function Yt(o,r){if(o&1&&(s(0,"div",51),u(1,"app-share-repository",55),a()),o&2){let i=d(2);l(),m("share",i.share)("showIcon",!0)("showFullPath",!0)}}function Xt(o,r){if(o&1){let i=G();s(0,"div",44),u(1,"fa-icon",45),s(2,"div",46)(3,"span"),p(4),a(),s(5,"span",47),p(6),a()(),s(7,"div",48),_(8,Zt,3,3),s(9,"button",49),C(10,"translate"),w("click",function(){F(i);let n=d();return M(n.toggleRequireAuth())}),u(11,"fa-icon",50),a(),s(12,"button",49),C(13,"translate"),w("click",function(){F(i);let n=d();return M(n.copyToClipboard())}),u(14,"fa-icon",50),a()()(),_(15,Yt,2,3,"div",51),u(16,"hr",52)}if(o&2){let i=d();l(),m("icon",i.icons.links),l(3),$(i.linkForm.value.name||i.linkForm.value.shareName),l(2),$(i.linkForm.value.email),l(2),k(i.share&&i.permissions?8:-1),l(),x(O("btn btn-sm ",i.linkForm.value.requireAuth?"btn-success":"btn-warning")),m("tooltip",v(10,15,"Password",i.locale.language)),l(2),m("icon",i.linkForm.value.requireAuth?i.icons.faLock:i.icons.faLockOpen),l(),x(O("btn btn-sm ms-2 ",i.linkWasCopied?"btn-info":"btn-secondary")),m("tooltip",v(13,18,"Copy link",i.locale.language)),l(2),m("icon",i.linkWasCopied?i.icons.faClipboardCheck:i.icons.faClipboard),l(),k(i.share?15:-1)}}function zt(o,r){if(o&1&&(s(0,"span"),p(1),a()),o&2){let i=d();x(O("badge rounded-pill ",(i.share?i.share.link.nbAccess:i.link.nbAccess)>=i.linkForm.value.limitAccess?"bg-danger":"bg-success")),l(),xe(" ",i.share?i.share.link.nbAccess:i.link.nbAccess,"/",i.linkForm.value.limitAccess," ")}}function Qt(o,r){if(o&1&&(s(0,"span",20),p(1),a()),o&2){let i=d();l(),$(i.share?i.share.link.nbAccess:i.link.nbAccess)}}function Jt(o,r){if(o&1&&(s(0,"div",27)(1,"label",56),p(2,"Share name"),a(),u(3,"input",57),C(4,"translate"),a(),s(5,"div",27)(6,"label",58),p(7,"Share description"),a(),u(8,"input",59),C(9,"translate"),a()),o&2){let i=d();l(3),K("is-invalid",i.linkForm.controls.shareName.invalid),m("placeholder",v(4,4,"Share name",i.locale.language)),l(5),m("placeholder",v(9,7,"Share description",i.locale.language))}}function ei(o,r){if(o&1&&(s(0,"option",30),p(1),a()),o&2){let i=r.$implicit,e=d();m("ngValue",i),l(),$(e.i18nLanguageText[i])}}function ti(o,r){if(o&1&&(s(0,"div",37),u(1,"app-password-strength-bar",60),a()),o&2){let i=d();l(),m("passwordToCheck",i.password)}}function ii(o,r){if(o&1){let i=G();s(0,"button",61),w("click",function(){F(i);let n=d();return M(n.confirmDeletion=!0)}),p(1," Remove "),a()}if(o&2){let i=d();m("disabled",i.confirmDeletion)}}var ne=(()=>{let r=class r{constructor(){this.layout=S(B),this.parentSpaceId=null,this.isSharesRepo=!1,this.inSharesList=!1,this.submitEvent=new re,this.shareChange=new re,this.locale=S(z),this.confirmDeletion=!1,this.submitted=!1,this.SPACES_PERMISSIONS_TEXT=ht,this.originalOrderKeyValue=lt,this.icons={faEye:Je,faEyeSlash:ot,links:R.LINKS,faClipboard:tt,faClipboardCheck:et,faLock:nt,faLockOpen:it},this.languages=this.layout.getLanguages(),this.minDate=he(),this.defaultPassword=this.layout.translateString(rt),this.passwordMinLength=8,this.password="",this.linkIsExpired=!1,this.linkIsHovered=!1,this.linkWasCopied=!1,this.i18nLanguageText=st,this.userService=S(_t),this.sharesService=S(Tt),this.linksService=S(Ft),this.spacesService=S(It),this.minDate.setDate(this.minDate.getDate()+1)}ngOnInit(){this.link?this.initLink():this.file?this.initFile():this.initShareLink(),this.linkForm.value.requireAuth&&(this.password=this.defaultPassword),this.linkForm.value.expiresAt&&this.isLinkIsExpired(this.share?this.share.link.expiresAt:this.link.expiresAt),this.linkForm.controls.expiresAt.valueChanges.subscribe(e=>this.isLinkIsExpired(e))}onPermissionChange(){let e=St(this.permissions);this.linkForm.controls.permissions.setValue(e),e!==this.share.link.permissions?this.linkForm.controls.permissions.markAsDirty():this.linkForm.controls.permissions.markAsPristine()}toggleRequireAuth(){this.linkForm.controls.requireAuth.setValue(!this.linkForm.value.requireAuth),this.linkForm.controls.requireAuth.markAsDirty()}copyToClipboard(){this.linksService.copyLinkToClipboard(this.share?this.share.link.uuid:this.link.uuid),this.linkWasCopied=!0,this.layout.sendNotification("info","Link copied",this.linkForm.value.name||this.linkForm.value.shareName),setTimeout(()=>this.linkWasCopied=!1,3e3)}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){if(this.submitted=!0,this.confirmDeletion){(this.parentSpaceId?this.spacesService.deleteSpaceShare(this.parentSpaceId,this.share.id):this.sharesService.deleteShare(this.share.id)).subscribe({next:()=>{this.layout.sendNotification("success","Link deleted",this.share.link.name||this.share.name),this.shareChange.emit(["delete",this.share]),this.layout.closeDialog()},error:c=>{this.layout.sendNotification("error","Delete share",this.share.name,c),this.layout.closeDialog()}});return}if(this.file?.id){let n=this.share,{link:t}=n,c=_e(n,["link"]),g=A(y(y({},t),this.linkForm.value),{password:this.mustIncludePassword()?this.password:void 0});c.name=de("shareName",g),c.description=de("shareDescription",g);let E=this.linksService.shareLinkGuestToMember(-1,-1,g);this.sharesService.createShare(A(y({},c),{type:bt.LINK,links:[E]})).subscribe({next:I=>{this.shareChange.emit(["add",I]),this.layout.sendNotification("success","Link created",t.name||I.name),this.layout.closeDialog()},error:I=>{this.layout.sendNotification("error","Link error",this.share.name,I),this.layout.closeDialog()}});return}let e={};for(let t in this.linkForm.controls)this.linkForm.controls[t].dirty&&(e[t]=this.linkForm.controls[t].value);if(this.mustIncludePassword()&&(e.password=this.password),this.share?.id){Object.keys(e).length&&this.linksService.updateLinkFromSpaceOrShare(this.share.link.id,this.share.id,mt.SHARE,e).subscribe({next:t=>{this.share.name=this.linkForm.value.shareName,this.share.description=this.linkForm.value.shareDescription,this.share.link=Object.assign(this.share.link,t),this.share.updateTimes(),this.share.updatePermission(),this.shareChange.emit(["update",this.share]),this.layout.closeDialog()},error:t=>{this.layout.sendNotification("error","Link error",this.share.link.name||this.share.name,t),this.layout.closeDialog()}}),this.layout.closeDialog();return}this.submitEvent.emit(e)}initFile(){let e=this.sharesService.initShareFromFile(this.userService.user,this.file,this.isSharesRepo,this.inSharesList)[0];this.share=A(y({},e),{link:{id:-1,userId:-1,uuid:"",isActive:!0,requireAuth:!1,permissions:"",nbAccess:0,limitAccess:0}}),this.linksService.genUUID().subscribe(n=>this.share.link.uuid=n),this.initShareLink(),this.onPermissionChange()}initShareLink(){this.linkForm=new me({shareName:new f(this.share.name,X.required),shareDescription:new f(this.share.description||""),name:new f(this.share.link?.name||""),email:new f(this.share.link?.email||"",X.email),language:new f(this.share.link.language||null),limitAccess:new f(this.share.link.limitAccess||null),expiresAt:new f(this.share.link.expiresAt||null),requireAuth:new f(this.share.link.requireAuth||!1),permissions:new f(this.share.link.permissions),isActive:new f(this.share.link.isActive)}),this.permissions=ft(this.share.file.permissions,this.share.link.permissions,[L.SHARE_INSIDE,L.SHARE_OUTSIDE,...this.share.file.isDir?[]:[L.DELETE,L.ADD]])}initLink(){this.linkForm=new me({shareName:new f(""),shareDescription:new f(""),name:new f(this.link.name||""),email:new f(this.link.email||"",X.email),language:new f(this.link.language||null),limitAccess:new f(this.link.limitAccess||null),expiresAt:new f(this.link.expiresAt||null),requireAuth:new f(this.link.requireAuth||!1),permissions:new f(this.link.permissions),isActive:new f(this.link.isActive)}),this.link.id||(this.linkForm.controls.name.markAsDirty(),this.linkForm.controls.isActive.markAsDirty())}isLinkIsExpired(e){if(e==null){if(this.linkIsExpired=!1,e===null)return;this.linkForm.controls.expiresAt.setValue(null)}this.linkIsExpired=he()>=e}mustIncludePassword(){return!!this.password.length&&this.password!==this.defaultPassword}};r.\u0275fac=function(n){return new(n||r)},r.\u0275cmp=W({type:r,selectors:[["app-link-dialog"]],inputs:{share:"share",parentSpaceId:"parentSpaceId",link:"link",file:"file",isSharesRepo:"isSharesRepo",inSharesList:"inSharesList"},outputs:{submitEvent:"submitEvent",shareChange:"shareChange"},decls:73,vars:52,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"],["autocomplete","off",3,"formGroup"],[1,"d-flex"],[1,"d-flex","flex-column","flex-grow-1"],[1,"d-flex","align-items-center","cursor-pointer","py-2",3,"mouseover","mouseleave","focus","click"],["for","link","l10nTranslate",""],["id","link",1,"ms-auto"],[1,"d-flex","align-items-center","py-2"],["for","state","l10nTranslate","",1,"cursor-pointer","me-auto"],[1,"d-flex","align-items-center","form-check","form-switch","cursor-pointer"],["id","state","formControlName","isActive","type","checkbox","role","button",1,"form-check-input"],["for","access","l10nTranslate",""],["id","access",1,"ms-auto"],[3,"class"],[1,"badge","rounded-pill","bg-success"],[1,"d-flex","align-items-center"],["for","guestName","l10nTranslate",""],["id","guestName","formControlName","name","type","text",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],[1,"d-flex","align-items-center","justify-content-between","px-0"],["for","guestEmail","l10nTranslate",""],["id","guestEmail","autocomplete","off","formControlName","email","type","email",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],[1,"d-flex","align-items-center","justify-content-between"],["for","guestLanguage","l10nTranslate",""],["id","guestLanguage","formControlName","language",1,"form-control","form-select","form-select-sm","ms-auto","w-50"],[3,"ngValue"],["for","limitAccess","l10nTranslate",""],["id","limitAccess","formControlName","limitAccess","min","1","type","number",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],["for","expiration","l10nTranslate",""],["bsDatepicker","","id","expiration","formControlName","expiresAt","placement","left","type","text",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder","bsConfig"],[1,"d-flex","align-items-center","px-0"],["for","requireAuth","translate","",1,"cursor-pointer","me-auto"],[1,"d-flex","align-items-center","d-none","d-sm-flex","mx-auto"],["id","requireAuth","formControlName","requireAuth","type","checkbox","role","button",1,"form-check-input"],["placeholder","Set a password",2,"width","45%",3,"passwordChange","isRequired","disabled","passwordMinLength","password","showGenerator"],[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,"d-flex","flex-fill","align-items-center"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","flex-column","overflow-wrap-and-whitespace","me-2"],[1,"fs-xxxs"],[1,"d-flex","ms-auto"],["container","body","type","button",3,"click","tooltip"],["size","lg",3,"icon"],[1,"d-flex","align-items-center","d-none","d-sm-flex","py-2"],[1,"my-2"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-0","ms-2",3,"ngModelChange","ngModel","tooltip"],[1,"vr","mx-2"],["id","file",3,"share","showIcon","showFullPath"],["for","shareName","l10nTranslate",""],["id","shareName","formControlName","shareName","type","email",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],["for","shareDescription","l10nTranslate",""],["id","shareDescription","formControlName","shareDescription","type","email",1,"form-control","form-control-sm","ms-auto","w-50",3,"placeholder"],[3,"passwordToCheck"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(n,t){n&1&&(s(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),s(3,"span"),p(4),a()(),s(5,"h4",3),_(6,qt,2,0,"span",4)(7,jt,2,0,"span",4),a(),s(8,"button",5),w("click",function(){return t.layout.closeDialog()}),a()(),s(9,"div",6),_(10,Xt,17,21),s(11,"form",7)(12,"div",8)(13,"div",9)(14,"div",10),w("mouseover",function(){return t.linkIsHovered=!0})("mouseleave",function(){return t.linkIsHovered=!1})("focus",function(){return t.linkIsHovered=!0})("click",function(){return t.copyToClipboard()}),s(15,"label",11),p(16,"Link"),a(),s(17,"span",12),p(18),a()(),s(19,"div",13)(20,"label",14),p(21,"Active"),a(),s(22,"div",15),u(23,"input",16),s(24,"span"),p(25),C(26,"translate"),a()()(),s(27,"div",13)(28,"label",17),p(29,"Current access count"),a(),s(30,"span",18),_(31,zt,2,5,"span",19)(32,Qt,2,1,"span",20),a()(),_(33,Jt,10,10),s(34,"div",21)(35,"label",22),p(36,"Guest name"),a(),u(37,"input",23),C(38,"translate"),a(),s(39,"div",24)(40,"label",25),p(41,"Guest email"),a(),u(42,"input",26),C(43,"translate"),a(),s(44,"div",27)(45,"label",28),p(46,"Guest language"),a(),s(47,"select",29),se(48,ei,2,2,"option",30,Ae),a()(),s(50,"div",27)(51,"label",31),p(52,"Limit access"),a(),u(53,"input",32),C(54,"translate"),a(),s(55,"div",27)(56,"label",33),p(57,"Expiration"),a(),u(58,"input",34),C(59,"translate"),a(),s(60,"div",35)(61,"label",36),p(62,"Password"),a(),_(63,ti,2,1,"div",37),s(64,"div",15),u(65,"input",38),a(),s(66,"app-input-password",39),pe("passwordChange",function(g){return ce(t.password,g)||(t.password=g),g}),a()()()()()(),s(67,"div",40),_(68,ii,2,1,"button",41),s(69,"button",42),w("click",function(){return t.onCancel()}),p(70,"Cancel"),a(),s(71,"button",43),w("click",function(){return t.onSubmit()}),p(72),a()()),n&2&&(l(2),m("icon",t.icons.links),l(2),$(t.linkForm.value.name||t.linkForm.value.shareName),l(2),k(t.share!=null&&t.share.id||t.link!=null&&t.link.id?6:7),l(4),k(t.share||t.link?10:-1),l(),m("formGroup",t.linkForm),l(6),K("text-primary",t.linkIsHovered),l(),D(" ",t.share?t.share.link.uuid:t.link.uuid," "),l(6),x(O("badge rounded-pill ms-3 ",t.linkForm.value.isActive?"bg-primary":"bg-danger")),l(),D(" ",v(26,35,t.linkForm.value.isActive?"yes":"no",t.locale.language)," "),l(6),k(t.linkForm.value.limitAccess?31:32),l(2),k(t.share?33:-1),l(4),m("placeholder",v(38,38,"Guest name",t.locale.language)),l(5),K("is-invalid",t.linkForm.controls.email.invalid),m("placeholder",v(43,41,"Guest email",t.locale.language)),l(6),ae(t.languages),l(5),m("placeholder",v(54,44,"Unlimited",t.locale.language)),l(5),K("text-danger",t.linkIsExpired),m("placeholder",v(59,47,"Never expires",t.locale.language))("bsConfig",Le(50,Vt,t.minDate)),l(5),k(t.linkForm.value.requireAuth&&t.password!==t.defaultPassword?63:-1),l(3),m("isRequired",t.linkForm.value.requireAuth)("disabled",!t.linkForm.value.requireAuth)("passwordMinLength",t.passwordMinLength),le("password",t.password),m("showGenerator",!0),l(2),k(t.share!=null&&t.share.id?68:-1),l(3),x(O("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),m("disabled",t.linkForm.invalid||t.linkForm.controls.requireAuth.value&&t.password.length<t.passwordMinLength||t.submitted),l(),D(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[ee,We,ze,Ye,Xe,Ct,kt,qe,Me,Ue,Ve,Ne,$e,De,He,Re,Pe,Ke,Fe,dt,Ze,Ge,je,Oe,Be,At,yt,Te,Q],encapsulation:2});let o=r;return o})();export{Pt as a,At as b,Tt as c,ne as d,Ft as e};
@@ -1 +1 @@
1
- import{d as g}from"./chunk-UJPPR4MX.js";import{a as T,b as S,c as d,d as A,e as c,p as b}from"./chunk-HNQRZALS.js";import{$ as R,Ca as U,E as l,Xa as k,Y as N,eb as h,mb as C,ua as O,xb as H,yb as P}from"./chunk-GUGNR5TF.js";import{$ as _,G as a,O as f,Rc as I,Z as m,da as x,ia as i,p as o,q as u,v as n}from"./chunk-C36MW4ME.js";var F="Client token is expired";var E={BASE:"auth",LOGIN:"login"};var se=(()=>{let s=class s{constructor(){this.http=i(I),this.router=i(g),this.store=i(C),this.userService=i(b),this.layout=i(P),this.electron=i(H),this._refreshExpiration=parseInt(localStorage.getItem("refresh_expiration")||"0",10)||0,this._accessExpiration=parseInt(localStorage.getItem("access_expiration")||"0",10)||0}get refreshExpiration(){return this._refreshExpiration}set refreshExpiration(e){this._refreshExpiration=e!==0?e+60:e,localStorage.setItem("refresh_expiration",e.toString())}get accessExpiration(){return this._accessExpiration}set accessExpiration(e){this._accessExpiration=e!==0?e+60:e,localStorage.setItem("access_expiration",e.toString())}login(e,t){return this.http.post(T,{login:e,password:t}).pipe(n(r=>r.server.twoFaEnabled&&r.user.twoFaEnabled?(this.accessExpiration=r.token.access_2fa_expiration,this.refreshExpiration=this.accessExpiration,{success:!0,twoFaEnabled:!0,message:null}):(this.initUserFromResponse(r),{success:!0,message:null})),a(r=>(console.warn(r),o({success:!1,message:r.error.message||r.message}))))}loginElectron(){return this.electron.authenticate().pipe(m(e=>this.http.post(N,e).pipe(n(t=>(this.accessExpiration=t.token.access_expiration,this.refreshExpiration=t.token.refresh_expiration,this.userService.initUser(t.user),t?.client_token_update&&this.electron.send(h.SERVER.AUTHENTICATION_TOKEN_UPDATE,t.client_token_update),!0)),a(t=>(console.warn(t),t.error.message===F?this.electron.send(h.SERVER.AUTHENTICATION_TOKEN_EXPIRED):this.electron.send(h.SERVER.AUTHENTICATION_FAILED),o(!1))))))}logout(e=!0,t=!1){if((e||t)&&this.store.userImpersonate()){this.logoutImpersonateUser();return}this.userService.disconnectWebSocket(),this.clearCookies().pipe(f(()=>{this.accessExpiration=0,this.refreshExpiration=0,this.layout.clean(),this.store.clean(),e&&this.router.navigate([E.BASE,E.LOGIN]).catch(console.error),t&&this.layout.sendNotification("warning","Session has expired","Please sign in")})).subscribe()}logoutImpersonateUser(){this.http.post(O,null).subscribe({next:e=>{this.userService.disconnectWebSocket(),this.initUserFromResponse(e),this.router.navigate([l.BASE,l.ACCOUNT]).catch(console.error)},error:e=>{console.error(e),this.layout.sendNotification("error","Impersonate identity","logout",e)}})}initUserFromResponse(e,t=!1){e!==null&&(this.accessExpiration=e.token.access_expiration,this.refreshExpiration=e.token.refresh_expiration,this.userService.initUser(e.user,t),this.setServerConfig(e.server))}isLogged(){return!this.refreshTokenHasExpired()}refreshToken(){return this.http.post(d,null).pipe(n(e=>(this.accessExpiration=e.access_expiration,this.refreshExpiration=e.refresh_expiration,!0)),a(e=>(console.debug("token has expired"),this.electron.enabled?(console.debug("login with app"),this.loginElectron()):(this.logout(!0,!0),u(()=>e)))))}checkUserAuthAndLoad(e){return this.refreshTokenHasExpired()?this.electron.enabled?this.loginElectron():(this.returnUrl=e.length>1?e:null,this.logout(),o(!1)):this.store.user.getValue()?o(!0):this.http.get(R).pipe(_(t=>{this.userService.initUser(t.user),this.setServerConfig(t.server)}),n(()=>!0),a(t=>(t.status===401?this.logout():console.warn(t),o(!1))))}checkCSRF(e){return e.headers.has(c)?e.clone({headers:e.headers.set(c,k(c))}):e}loginWith2Fa(e){return this.http.post(A,e)}setServerConfig(e){e&&this.store.server.set(e)}refreshTokenHasExpired(){return this.refreshExpiration===0||U()>=this.refreshExpiration}clearCookies(){return this.http.post(S,null)}};s.\u0275fac=function(t){return new(t||s)},s.\u0275prov=x({token:s,factory:s.\u0275fac,providedIn:"root"});let p=s;return p})();export{E as a,se as b};
1
+ import{d as g}from"./chunk-RV3VZJPZ.js";import{a as T,b as S,c as d,d as A,e as c,p as b}from"./chunk-VQQKMY2C.js";import{$ as R,Ca as U,E as l,Xa as k,Y as N,eb as h,mb as C,ua as O,xb as H,yb as P}from"./chunk-XDZGW64M.js";import{$ as _,G as a,O as f,Sc as I,Z as m,da as x,ia as i,p as o,q as u,v as n}from"./chunk-DIT6W7VM.js";var F="Client token is expired";var E={BASE:"auth",LOGIN:"login"};var se=(()=>{let s=class s{constructor(){this.http=i(I),this.router=i(g),this.store=i(C),this.userService=i(b),this.layout=i(P),this.electron=i(H),this._refreshExpiration=parseInt(localStorage.getItem("refresh_expiration")||"0",10)||0,this._accessExpiration=parseInt(localStorage.getItem("access_expiration")||"0",10)||0}get refreshExpiration(){return this._refreshExpiration}set refreshExpiration(e){this._refreshExpiration=e!==0?e+60:e,localStorage.setItem("refresh_expiration",e.toString())}get accessExpiration(){return this._accessExpiration}set accessExpiration(e){this._accessExpiration=e!==0?e+60:e,localStorage.setItem("access_expiration",e.toString())}login(e,t){return this.http.post(T,{login:e,password:t}).pipe(n(r=>r.server.twoFaEnabled&&r.user.twoFaEnabled?(this.accessExpiration=r.token.access_2fa_expiration,this.refreshExpiration=this.accessExpiration,{success:!0,twoFaEnabled:!0,message:null}):(this.initUserFromResponse(r),{success:!0,message:null})),a(r=>(console.warn(r),o({success:!1,message:r.error.message||r.message}))))}loginElectron(){return this.electron.authenticate().pipe(m(e=>this.http.post(N,e).pipe(n(t=>(this.accessExpiration=t.token.access_expiration,this.refreshExpiration=t.token.refresh_expiration,this.userService.initUser(t.user),t?.client_token_update&&this.electron.send(h.SERVER.AUTHENTICATION_TOKEN_UPDATE,t.client_token_update),!0)),a(t=>(console.warn(t),t.error.message===F?this.electron.send(h.SERVER.AUTHENTICATION_TOKEN_EXPIRED):this.electron.send(h.SERVER.AUTHENTICATION_FAILED),o(!1))))))}logout(e=!0,t=!1){if((e||t)&&this.store.userImpersonate()){this.logoutImpersonateUser();return}this.userService.disconnectWebSocket(),this.clearCookies().pipe(f(()=>{this.accessExpiration=0,this.refreshExpiration=0,this.layout.clean(),this.store.clean(),e&&this.router.navigate([E.BASE,E.LOGIN]).catch(console.error),t&&this.layout.sendNotification("warning","Session has expired","Please sign in")})).subscribe()}logoutImpersonateUser(){this.http.post(O,null).subscribe({next:e=>{this.userService.disconnectWebSocket(),this.initUserFromResponse(e),this.router.navigate([l.BASE,l.ACCOUNT]).catch(console.error)},error:e=>{console.error(e),this.layout.sendNotification("error","Impersonate identity","logout",e)}})}initUserFromResponse(e,t=!1){e!==null&&(this.accessExpiration=e.token.access_expiration,this.refreshExpiration=e.token.refresh_expiration,this.userService.initUser(e.user,t),this.setServerConfig(e.server))}isLogged(){return!this.refreshTokenHasExpired()}refreshToken(){return this.http.post(d,null).pipe(n(e=>(this.accessExpiration=e.access_expiration,this.refreshExpiration=e.refresh_expiration,!0)),a(e=>(console.debug("token has expired"),this.electron.enabled?(console.debug("login with app"),this.loginElectron()):(this.logout(!0,!0),u(()=>e)))))}checkUserAuthAndLoad(e){return this.refreshTokenHasExpired()?this.electron.enabled?this.loginElectron():(this.returnUrl=e.length>1?e:null,this.logout(),o(!1)):this.store.user.getValue()?o(!0):this.http.get(R).pipe(_(t=>{this.userService.initUser(t.user),this.setServerConfig(t.server)}),n(()=>!0),a(t=>(t.status===401?this.logout():console.warn(t),o(!1))))}checkCSRF(e){return e.headers.has(c)?e.clone({headers:e.headers.set(c,k(c))}):e}loginWith2Fa(e){return this.http.post(A,e)}setServerConfig(e){e&&this.store.server.set(e)}refreshTokenHasExpired(){return this.refreshExpiration===0||U()>=this.refreshExpiration}clearCookies(){return this.http.post(S,null)}};s.\u0275fac=function(t){return new(t||s)},s.\u0275prov=x({token:s,factory:s.\u0275fac,providedIn:"root"});let p=s;return p})();export{E as a,se as b};