@sync-in/server 1.9.1 → 1.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -8
- package/package.json +12 -12
- package/server/applications/files/interfaces/only-office-config.interface.js.map +1 -1
- package/server/applications/files/services/files-manager.service.js +2 -2
- package/server/applications/files/services/files-manager.service.js.map +1 -1
- package/server/applications/files/services/files-methods.service.spec.js +2 -4
- package/server/applications/files/services/files-methods.service.spec.js.map +1 -1
- package/server/applications/files/services/files-recents.service.js +4 -0
- package/server/applications/files/services/files-recents.service.js.map +1 -1
- package/server/applications/files/services/files-scheduler.service.js +23 -4
- package/server/applications/files/services/files-scheduler.service.js.map +1 -1
- package/server/applications/files/services/files-tasks-manager.service.js +1 -1
- package/server/applications/files/services/files-tasks-manager.service.js.map +1 -1
- package/server/applications/files/utils/send-file.js +18 -9
- package/server/applications/files/utils/send-file.js.map +1 -1
- package/server/applications/files/utils/url-file.js +6 -6
- package/server/applications/files/utils/url-file.js.map +1 -1
- package/server/applications/links/services/links-manager.service.js +1 -1
- package/server/applications/links/services/links-manager.service.js.map +1 -1
- package/server/applications/shares/interfaces/share-props.interface.js.map +1 -1
- package/server/applications/shares/services/shares-manager.service.js +6 -4
- package/server/applications/shares/services/shares-manager.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-manager.service.js +15 -12
- package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-scheduler.service.js +9 -1
- package/server/applications/spaces/services/spaces-scheduler.service.js.map +1 -1
- package/server/applications/users/services/admin-users-manager.service.js +4 -0
- package/server/applications/users/services/admin-users-manager.service.js.map +1 -1
- package/server/applications/users/users.controller.js +4 -1
- package/server/applications/users/users.controller.js.map +1 -1
- package/static/assets/pdfjs/build/pdf.mjs +35 -20
- package/static/assets/pdfjs/build/pdf.mjs.map +1 -1
- package/static/assets/pdfjs/build/pdf.sandbox.mjs +2 -2
- package/static/assets/pdfjs/build/pdf.worker.mjs +1488 -52
- package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -1
- package/static/assets/pdfjs/version +1 -1
- package/static/assets/pdfjs/web/locale/be/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/bg/viewer.ftl +4 -0
- package/static/assets/pdfjs/web/locale/bs/viewer.ftl +0 -15
- package/static/assets/pdfjs/web/locale/ca/viewer.ftl +0 -4
- package/static/assets/pdfjs/web/locale/cs/viewer.ftl +4 -14
- package/static/assets/pdfjs/web/locale/cy/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/da/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/de/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/el/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/eo/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/eu/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/fi/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/fr/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/fur/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/gn/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/he/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/hu/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +0 -15
- package/static/assets/pdfjs/web/locale/ia/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/id/viewer.ftl +0 -15
- package/static/assets/pdfjs/web/locale/is/viewer.ftl +0 -15
- package/static/assets/pdfjs/web/locale/it/viewer.ftl +2 -14
- package/static/assets/pdfjs/web/locale/ja/viewer.ftl +7 -2
- package/static/assets/pdfjs/web/locale/ka/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/kab/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/kk/viewer.ftl +3 -12
- package/static/assets/pdfjs/web/locale/ko/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/nl/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +4 -12
- package/static/assets/pdfjs/web/locale/pl/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/rm/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/ro/viewer.ftl +2 -14
- package/static/assets/pdfjs/web/locale/ru/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/sc/viewer.ftl +0 -1
- package/static/assets/pdfjs/web/locale/sk/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/sl/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/sq/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/tg/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/th/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/tr/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/vi/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +2 -12
- package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +0 -12
- package/static/assets/pdfjs/web/viewer.css +53 -41
- package/static/assets/pdfjs/web/viewer.html +493 -132
- package/static/assets/pdfjs/web/viewer.mjs +225 -150
- package/static/assets/pdfjs/web/viewer.mjs.map +1 -1
- package/static/{chunk-LYZGJZNP.js → chunk-25PWAXTJ.js} +1 -1
- package/static/{chunk-YMAN4LIU.js → chunk-2CAAJBRO.js} +1 -1
- package/static/{chunk-GRLHFXGB.js → chunk-2F42MZQ5.js} +1 -1
- package/static/{chunk-6B3GGAV3.js → chunk-2U5VKTML.js} +1 -1
- package/static/{chunk-HKRGIRKB.js → chunk-3AR5VNJE.js} +1 -1
- package/static/chunk-3WS72A6C.js +1 -0
- package/static/chunk-4GBA6EJ4.js +1 -0
- package/static/{chunk-FNOTGWRW.js → chunk-4ZKAVMB4.js} +1 -1
- package/static/{chunk-XQGPSNQB.js → chunk-5ATJIR5S.js} +1 -1
- package/static/{chunk-HMOB6XC5.js → chunk-5GIWZKNS.js} +1 -1
- package/static/{chunk-ZCOWBVOT.js → chunk-5HYSNQR4.js} +1 -1
- package/static/{chunk-BHZEPHRI.js → chunk-5KVI243T.js} +1 -1
- package/static/{chunk-Q556XB3S.js → chunk-5NFH4E2B.js} +1 -1
- package/static/{chunk-XCLK7NJL.js → chunk-7H5O4BLV.js} +1 -1
- package/static/{chunk-RDNTK4YH.js → chunk-7HL5Z6PF.js} +1 -1
- package/static/{chunk-V6FA5QY4.js → chunk-7QYALK5T.js} +1 -1
- package/static/{chunk-GNZPP2VO.js → chunk-ANH4VNOS.js} +1 -1
- package/static/{chunk-EIYRBM4J.js → chunk-AYYJZMBE.js} +1 -1
- package/static/chunk-B2A4HNDC.js +1 -0
- package/static/{chunk-NOPACN4F.js → chunk-B4TDS6AQ.js} +1 -1
- package/static/chunk-BJARRIS6.js +562 -0
- package/static/{chunk-PXRT4L57.js → chunk-BVKDW5XO.js} +1 -1
- package/static/{chunk-7CKHC72R.js → chunk-BX3QZ7IL.js} +1 -1
- package/static/{chunk-MIA5YBOI.js → chunk-C5T7RZSD.js} +1 -1
- package/static/{chunk-ACUF7IKP.js → chunk-CHMDM2ZW.js} +1 -1
- package/static/{chunk-U4RW6XG5.js → chunk-CUC7R6C2.js} +1 -1
- package/static/{chunk-XOF4UW3S.js → chunk-D6QWQHWE.js} +1 -1
- package/static/{chunk-6NEBGCAZ.js → chunk-DK2LAJEL.js} +1 -1
- package/static/{chunk-C3AAEQKW.js → chunk-DQAQUSVW.js} +1 -1
- package/static/{chunk-NN4ONTOT.js → chunk-DU4Q4RWJ.js} +1 -1
- package/static/{chunk-M4XL3JN5.js → chunk-E5C4QRNQ.js} +2 -2
- package/static/{chunk-BU4ZICZR.js → chunk-EPDWJEPD.js} +1 -1
- package/static/{chunk-I2S3XPC5.js → chunk-FCR5AEHR.js} +2 -2
- package/static/{chunk-4PZPHJ7L.js → chunk-FEQUP26G.js} +1 -1
- package/static/{chunk-ZXXHFBGL.js → chunk-FSGT46LM.js} +1 -1
- package/static/{chunk-QMHUIHSR.js → chunk-GENTF6JM.js} +1 -1
- package/static/{chunk-DQ3GEMPM.js → chunk-GLPKRULI.js} +1 -1
- package/static/{chunk-AZ5TF5Y3.js → chunk-GRV44RYI.js} +1 -1
- package/static/{chunk-JY2I3HGL.js → chunk-GYYJ4FWN.js} +1 -1
- package/static/{chunk-ERDZ7IVF.js → chunk-HB5DC7RJ.js} +1 -1
- package/static/{chunk-DJDRX53V.js → chunk-HLKZCMKV.js} +1 -1
- package/static/{chunk-HNMGPG72.js → chunk-IBC7CFBQ.js} +1 -1
- package/static/{chunk-5E3TYOL3.js → chunk-IIKL33TV.js} +1 -1
- package/static/{chunk-TGLJFALR.js → chunk-JYHTSSKW.js} +1 -1
- package/static/{chunk-VQJYCYWI.js → chunk-KAAFVHYE.js} +1 -1
- package/static/{chunk-VK7XMFVE.js → chunk-KWKZN53T.js} +1 -1
- package/static/{chunk-KDEEERWZ.js → chunk-LBXOAKBD.js} +1 -1
- package/static/{chunk-Y5RLD72B.js → chunk-LFAQLJZK.js} +1 -1
- package/static/chunk-MGMDT4VN.js +1 -0
- package/static/chunk-MWUUM2NK.js +13 -0
- package/static/{chunk-JMYAD7E2.js → chunk-NHMYAVJK.js} +1 -1
- package/static/{chunk-HHWXIK2M.js → chunk-NQCKX2AD.js} +1 -1
- package/static/{chunk-HCSWO7BO.js → chunk-O233BXWK.js} +1 -1
- package/static/{chunk-2TB2INBF.js → chunk-ODAQRAPO.js} +1 -1
- package/static/{chunk-RK2ONYTL.js → chunk-OVUMPMVM.js} +1 -1
- package/static/chunk-Q6B4OVER.js +5 -0
- package/static/{chunk-3YDYZLF7.js → chunk-QKMN3S4M.js} +1 -1
- package/static/{chunk-23UUFZSR.js → chunk-QUUQOBTF.js} +1 -1
- package/static/chunk-QV5LQKTS.js +1 -0
- package/static/{chunk-NKGKBQBX.js → chunk-S4UTSOPV.js} +1 -1
- package/static/{chunk-5S6KPQRA.js → chunk-SF6Q6VRC.js} +1 -1
- package/static/{chunk-BODMMLVB.js → chunk-TOCCCZP2.js} +1 -1
- package/static/{chunk-3WLBVJ2S.js → chunk-UO7ATVQG.js} +1 -1
- package/static/{chunk-AADK5D2H.js → chunk-X5UDV4ZB.js} +1 -1
- package/static/{chunk-S2VBGI6Q.js → chunk-XIQXRSZ2.js} +1 -1
- package/static/chunk-YYTDPI5S.js +1 -0
- package/static/{chunk-EL6QL4TP.js → chunk-Z2KBIZ5D.js} +1 -1
- package/static/{chunk-K657XPXA.js → chunk-ZCOEP4O2.js} +1 -1
- package/static/index.html +2 -2
- package/static/main-ODUA232E.js +11 -0
- package/static/{styles-Q4OZOSSK.css → styles-S5HVK4H5.css} +1 -1
- package/static/chunk-5XUIPWOH.js +0 -1
- package/static/chunk-EDJAISWO.js +0 -13
- package/static/chunk-H6WOTGQ5.js +0 -1
- package/static/chunk-HC7F57NA.js +0 -1
- package/static/chunk-IOIBQGHN.js +0 -562
- package/static/chunk-J6YSFHLZ.js +0 -1
- package/static/chunk-JWPXQOS3.js +0 -5
- package/static/chunk-QVFPHTOH.js +0 -1
- package/static/chunk-YCTCESL4.js +0 -1
- package/static/main-56PZQ6TJ.js +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as R,c as ft}from"./chunk-3WLBVJ2S.js";import{a as ue,b as z,c as Ct,d as Te,e as vt}from"./chunk-HCSWO7BO.js";import{a as ht,b as gt,c as bt}from"./chunk-RK2ONYTL.js";import{a as S,b as Y,c as tt,e as _t}from"./chunk-3YDYZLF7.js";import{a as lt,c as dt}from"./chunk-6B3GGAV3.js";import{a as _e}from"./chunk-QMHUIHSR.js";import{a as st}from"./chunk-V6FA5QY4.js";import{a as pt,b as ct,c as ut}from"./chunk-XCLK7NJL.js";import{a as Se}from"./chunk-MIA5YBOI.js";import{a as Ge,b as mt}from"./chunk-5E3TYOL3.js";import"./chunk-NKGKBQBX.js";import{m as rt,n as xe,s as ye}from"./chunk-FNOTGWRW.js";import{a as at}from"./chunk-ZCOWBVOT.js";import"./chunk-PXRT4L57.js";import{A as Ze,B as K,C as et,Cb as V,J as H,cb as ve,gb as de,s as je,va as it,wa as nt,xa as ot}from"./chunk-I2S3XPC5.js";import{b as Me,d as Pe}from"./chunk-Y5RLD72B.js";import{Bb as A,Cd as ne,Dd as Le,E as be,Eb as _,Ed as oe,Gb as u,He as Qe,Hf as pe,Ia as J,Jd as re,Kb as Q,Kd as M,Kf as ze,L as O,Lb as q,Ld as Ke,Mb as W,Mf as Ye,Oa as s,Pc as te,Qa as I,Qb as Ce,Qd as ae,Qe as se,Rb as U,Rf as ce,Sb as k,Tb as m,Tf as Je,Ub as C,Vb as $,Vd as He,Wb as Ee,Xb as X,Yb as Z,Zb as ee,ab as E,af as qe,cc as Ae,dc as De,df as We,dg as Xe,ed as Ve,fb as w,fd as Re,hd as Fe,he as le,ja as x,jd as L,kc as v,kd as Ue,lb as h,lc as D,ld as ke,mb as g,mc as T,nd as j,oa as y,od as ie,og as P,pa as G,pb as B,qb as N,rb as c,sb as r,sd as Oe,tb as a,td as Ie,ub as d,ud as Be,vd as Ne,wd as $e,zf as me}from"./chunk-IOIBQGHN.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{a as he,b as ge}from"./chunk-KAVP6UXH.js";var xt=(()=>{let l=class l{constructor(){this.currentMemberIds=[],this.hasChanges=new I,this.layout=x(V),this.newMembers=[],this.submitted=!1,this.icons={faUserPlus:se},this.adminService=x(R)}searchMembers(n){let o={search:n,onlyUsers:!0,usersRole:this.parentGroup.type===ue.USER?Ze.USER:void 0,ignoreUserIds:[...this.currentMemberIds,...this.newMembers.map(e=>e.id)]};return this.adminService.searchMembers(o)}onSubmit(){this.submitted=!0,this.adminService.addUsersToGroup(this.parentGroup.id,this.newMembers.map(n=>n.id)).subscribe({next:()=>{this.hasChanges.emit(!0),this.layout.sendNotification("success","Add members",this.newMembers.map(n=>n.name).join("<br>"),null,{enableHtml:!0}),this.layout.closeDialog()},error:n=>{this.submitted=!1,this.layout.sendNotification("error","Add members",this.newMembers.map(o=>o.name).join("<br>"),n,{enableHtml:!0})}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-add-users-dialog"]],inputs:{parentGroup:"parentGroup",currentMemberIds:"currentMemberIds"},outputs:{hasChanges:"hasChanges"},decls:16,vars:7,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Add members"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"app-user-search",7),ee("membersChange",function(f){return Z(e.newMembers,f)||(e.newMembers=f),f}),a()(),r(11,"div",8)(12,"button",9),_("click",function(){return e.layout.closeDialog()}),m(13,"Cancel"),a(),r(14,"button",10),_("click",function(){return e.onSubmit()}),m(15," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPlus),s(2),C(e.parentGroup.name),s(6),X("members",e.newMembers),c("withPermissions",!1)("customPlaceholder","Type to search for users to add")("searchFunction",e.searchMembers.bind(e)),s(4),c("disabled",e.submitted||!e.newMembers.length))},dependencies:[P,M,dt],encapsulation:2});let t=l;return t})();function wt(t,l){if(t&1&&d(0,"img",9),t&2){let i=u();c("src",i.member.avatarUrl,J)}}function Et(t,l){if(t&1&&d(0,"fa-icon",15),t&2){let i=u();k(i.member.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",i.icons.GROUPS)}}function At(t,l){if(t&1&&(r(0,"div",7)(1,"span",16),m(2,"from the group"),a(),r(3,"span",11),m(4),v(5,"capitalize"),a()()),t&2){let i=u();s(4),C(D(5,1,i.parentGroup.name))}}function Dt(t,l){t&1&&(r(0,"small",4),m(1,"Only the group will be deleted, the members will no longer be part of it."),a())}var yt=(()=>{let l=class l{constructor(){this.wasDeleted=new I,this.submitted=!1,this.icons={GROUPS:H.GROUPS,faMinus:ae,faUserMinus:pe},this.layout=x(V),this.adminService=x(R)}onSubmit(){this.submitted=!0;let n=this.member.isUser?"Remove from group":"Delete group";(this.member.isUser?this.adminService.removeUserFromGroup(this.parentGroup.id,this.member.id):this.adminService.deleteGroup(this.member.id)).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success",n,this.member.name),this.onClose()},error:e=>{this.submitted=!1,this.layout.sendNotification("error",n,this.member.name,e)}})}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-delete-dialog"]],inputs:{parentGroup:"parentGroup",member:"member"},outputs:{wasDeleted:"wasDeleted"},decls:26,vars:10,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center"],[1,"d-flex","align-items-center","avatar","me-2"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],[1,"fw-bold","me-1"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"],[3,"icon"],["l10nTranslate","",1,"mx-1"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7),a()(),r(8,"button",5),_("click",function(){return e.onClose()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8),h(12,wt,1,1,"img",9)(13,Et,1,3,"fa-icon",10),a(),r(14,"span",11),m(15),v(16,"capitalize"),a(),r(17,"span",4),m(18,"will be removed"),a(),h(19,At,6,3,"div",7),a(),h(20,Dt,2,0,"small",4),a(),r(21,"div",12)(22,"button",13),_("click",function(){return e.onClose()}),m(23,"Cancel"),a(),r(24,"button",14),_("click",function(){return e.onSubmit()}),m(25," Remove "),a()()),o&2&&(s(2),c("icon",e.member.isUser?e.icons.faUserMinus:e.icons.faMinus),s(2),C(e.member.name),s(3),C(e.member.isUser?"Remove from group":"Delete group"),s(5),g(e.member.isUser?12:13),s(3),C(D(16,8,e.member.name)),s(4),g(e.member.isUser?19:-1),s(),g(e.member.isGroup?20:-1),s(4),c("disabled",e.submitted))},dependencies:[P,M,_t],encapsulation:2});let t=l;return t})();var Mt=(t,l)=>l.value;function Pt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span"),m(2),a()),t&2){let i=u();c("icon",i.icons.faPen),s(2),C(i.group.name)}}function Vt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span",23),m(2,"New group"),a()),t&2){let i=u();c("icon",i.icons.faPlus)}}function Rt(t,l){t&1&&(r(0,"h4",2)(1,"span",23),m(2,"Edit group"),a()())}function Ft(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Settings"),a()),t&2){let i=u();c("icon",i.icons.faCog)}}function Ut(t,l){if(t&1&&(r(0,"option",21),m(1),a()),t&2){let i=l.$implicit;c("ngValue",i.value),s(),C(i.key)}}function kt(t,l){t&1&&(r(0,"span",23),m(1,"All users can see this group."),a())}function Ot(t,l){t&1&&(r(0,"span",23),m(1,"Users who are not members of this group cannot see it."),a())}function It(t,l){t&1&&(r(0,"span",23),m(1,"The group is not visible, its members cannot see it and cannot see each other."),a())}function Bt(t,l){if(t&1&&(r(0,"div",24)(1,"div",18)(2,"label",34),m(3,"Creation date"),a(),r(4,"div",35),m(5),v(6,"amDateFormat"),a()(),r(7,"div",36)(8,"label",37),m(9,"Modification date"),a(),r(10,"div",38),m(11),v(12,"amDateFormat"),a()()()),t&2){let i=u();s(5),C(D(6,2,i.group.createdAt)),s(6),C(D(12,4,i.group.modifiedAt))}}function Nt(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Permissions"),a()),t&2){let i=u();c("icon",i.icons.faShieldHalved)}}var we=(()=>{let l=class l{constructor(){this.group=null,this.parentGroup=null,this.groupChange=new I,this.locale=x(oe),this.layout=x(V),this.icons={GROUPS:H.GROUPS,faPen:me,faPlus:ce,faCog:qe,faShieldHalved:Ye},this.submitted=!1,this.originalOrderKeyValue=de,this.allVisibilities={Visible:z.VISIBLE,Private:z.PRIVATE,Isolated:z.ISOLATED},this.adminService=x(R)}ngOnInit(){this.groupForm=new ke({name:new j(this.group?.name||"",Fe.required),description:new j(this.group?.description||""),visibility:new j(this.group?.visibility||z.VISIBLE),applications:new j(this.group?.applications||[]),parent:new j(this.parentGroup)})}updateApplications(n){this.groupForm.controls.applications.setValue(n),this.groupForm.controls.applications.markAsDirty()}onSetParent(n){this.groupForm.controls.parent.setValue(n?{id:n.id,name:n.name}:null),this.groupForm.controls.parent.markAsDirty()}searchGroups(n){let o={search:n,onlyGroups:!0,excludePersonalGroups:!0,ignoreGroupIds:this.groupForm.value.parent?[this.groupForm.value.parent.id]:[]};return this.adminService.searchMembers(o,!0)}onSubmit(){if(this.submitted=!0,this.group?.id){let n=this.makeDto();this.adminService.updateGroup(this.group.id,n).subscribe({next:o=>{this.groupChange.emit(["update",o]),this.layout.sendNotification("success","Group updated",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}else{let n=this.makeDto(!0);this.adminService.createGroup(n).subscribe({next:o=>{this.groupChange.emit(["add",o]),this.layout.sendNotification("success","Group created",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}}makeDto(n=!1){let o;n?o=Object.fromEntries(Object.keys(this.groupForm.controls).map(e=>[e,this.groupForm.controls[e].value])):o=Object.fromEntries(Object.keys(this.groupForm.controls).filter(e=>this.groupForm.controls[e].dirty).map(e=>[e,this.groupForm.controls[e].value]));for(let e in o)switch(e){case"applications":o.permissions=o[e].join(et),delete o.applications;break;case"parent":o.parentId=o[e]?o[e].id:null,delete o.parent;break}return o}onError(n){this.layout.sendNotification("error","Group error",this.groupForm.value.name,n),this.submitted=!1}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-dialog"]],inputs:{group:"group",parentGroup:"parentGroup"},outputs:{groupChange:"groupChange"},decls:50,vars:24,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body","form-validation",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","formControlName","name","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","formControlName","description","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"d-flex","flex-column","align-items-start","col-12","pb-3"],[1,"col-6","pe-4"],["for","visibility","l10nTranslate",""],["id","visibility","formControlName","visibility",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],[1,"d-none","d-sm-block","fst-italic","fs-xxs"],["l10nTranslate",""],[1,"d-flex","align-items-start","col-12","pb-3"],["for","parent","translate",""],["id","parent",3,"data","searchFunction","active","itemIcon","placeholder"],[3,"permissionsChange","permissions"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","modified","l10nTranslate",""],["id","modified"]],template:function(o,e){if(o&1&&(r(0,"div",0)(1,"h4",1),h(2,Pt,3,2)(3,Vt,3,1),a(),h(4,Rt,3,0,"h4",2),r(5,"button",3),_("click",function(){return e.layout.closeDialog()}),a()(),r(6,"div",4)(7,"tabset",5),d(8,"hr",6),r(9,"tab",7),_("selectTab",function(){return e.tabView=null}),w(10,Ft,3,1,"ng-template",8),r(11,"div",9)(12,"div",10)(13,"div",11)(14,"label",12),m(15,"Name"),a(),d(16,"input",13),a(),r(17,"div",14)(18,"label",15),m(19,"Description"),a(),d(20,"input",16),a()(),r(21,"div",17)(22,"div",18)(23,"label",19),m(24,"Visibility"),a(),r(25,"select",20),B(26,Ut,2,2,"option",21,Mt),v(28,"keyvalue"),a()(),r(29,"div",22),h(30,kt,2,0,"span",23)(31,Ot,2,0,"span",23)(32,It,2,0,"span",23),a()(),r(33,"div",24)(34,"div",18)(35,"label",25),m(36,"Parent group"),a(),r(37,"app-select",26),v(38,"translate"),_("data",function(f){return e.onSetParent(f)}),a()()(),h(39,Bt,13,6,"div",24),a()(),r(40,"tab",7),_("selectTab",function(){return e.tabView="permissions"}),w(41,Nt,3,1,"ng-template",8),r(42,"div",9)(43,"div",10)(44,"app-admin-permissions",27),_("permissionsChange",function(f){return e.updateApplications(f)}),a()()()()()(),r(45,"div",28)(46,"button",29),_("click",function(){return e.layout.closeDialog()}),m(47,"Cancel"),a(),r(48,"button",30),_("click",function(){return e.onSubmit()}),m(49," Confirm "),a()()),o&2){let p;s(2),g(e.group?2:3),s(2),g(e.group?4:-1),s(),k(Ae("btn-close btn-close-white ",e.group?"ms-2":"ms-auto"," ms-2")),s(),c("formGroup",e.groupForm),s(),c("justified",!0),s(9),U("is-invalid",e.groupForm.controls.name.invalid),c("autoSelect",!1),s(10),N(T(28,18,e.allVisibilities,e.originalOrderKeyValue)),s(4),g((p=e.groupForm.value.visibility)===e.allVisibilities.Visible?30:p===e.allVisibilities.Private?31:p===e.allVisibilities.Isolated?32:-1),s(7),c("searchFunction",e.searchGroups.bind(e))("active",e.groupForm.value.parent)("itemIcon",e.icons.GROUPS)("placeholder",T(38,21,"Select the parent group",e.locale.language)),s(2),g(e.group?39:-1),s(5),c("permissions",e.groupForm.value.applications),s(4),c("disabled",e.submitted||e.groupForm.invalid)}},dependencies:[P,M,Le,Ne,$e,Re,Be,L,Ue,Oe,Ie,rt,ft,vt,ct,ut,pt,te,re,_e],encapsulation:2});let t=l;return t})();var St=(()=>{let l=class l{constructor(){this.layout=x(V),this.submitted=!1,this.isManager=!1,this.USER_GROUP_ROLE=K,this.icons={faUserPen:Qe,faKey:le},this.adminService=x(R)}ngOnInit(){this.isManager=this.user.isGroupManager}onSubmit(){if(this.submitted=!0,this.user.isGroupManager===this.isManager){this.layout.closeDialog();return}let n=this.isManager?K.MANAGER:K.MEMBER;this.adminService.updateUserFromGroup(this.parentGroup.id,this.user.id,{role:n}).subscribe({next:()=>{this.user.setGroupRole(n),this.layout.sendNotification("success","Edit user",this.user.name),this.layout.closeDialog()},error:o=>{this.submitted=!1,this.layout.sendNotification("error","Edit user",this.user.name,o)}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-edit-user-dialog"]],inputs:{parentGroup:"parentGroup",user:"user"},decls:25,vars:5,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center"],[1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],[1,"ms-1",3,"icon"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Edit user"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8)(12,"div",9)(13,"label",10)(14,"input",11),ee("ngModelChange",function(f){return Z(e.isManager,f)||(e.isManager=f),f}),a(),r(15,"span",4),m(16,"Set as group manager"),a(),d(17,"fa-icon",12),a()()()(),r(18,"small",4),m(19,"As a manager, the user will be able to manage group members but not group properties."),a()(),r(20,"div",13)(21,"button",14),_("click",function(){return e.layout.closeDialog()}),m(22,"Cancel"),a(),r(23,"button",15),_("click",function(){return e.onSubmit()}),m(24," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPen),s(2),C(e.user.name),s(10),X("ngModel",e.isManager),s(3),c("icon",e.icons.faKey),s(6),c("disabled",e.submitted))},dependencies:[P,M,ne,Ve,L,ie],encapsulation:2});let t=l;return t})();var $t=["MainContextMenu"],Lt=["TargetContextMenu"],Tt=(t,l)=>l.key,jt=(t,l)=>l.mid;function Kt(t,l){if(t&1){let i=A();r(0,"ul",26)(1,"li",27)(2,"a",28),_("click",function(){y(i);let o=u();return G(o.openDialog(!0))}),r(3,"span",14),d(4,"fa-icon",7),m(5),a()()(),r(6,"li",27)(7,"a",28),_("click",function(){y(i);let o=u();return G(o.addUserToGroupDialog())}),r(8,"span",14),d(9,"fa-icon",7),m(10,"Add members"),a()()()()}if(t&2){let i=u();s(2),U("disabled",!!i.currentGroup&&i.personalGroupsView),s(2),c("icon",i.icons.GROUPS),s(),$(" ",i.personalGroupsView?"Personal group":"Group"),s(2),U("disabled",!i.currentGroup),s(2),c("icon",i.icons.faUserPlus)}}function Ht(t,l){if(t&1&&d(0,"fa-icon",31),t&2){let i=u(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function Qt(t,l){if(t&1){let i=A();r(0,"th",30),_("click",function(){y(i);let o=u().$implicit,e=u();return G(e.sortBy(o.key))}),m(1),h(2,Ht,1,2,"fa-icon",31),a()}if(t&2){let i=u().$implicit,n=u();k(i.value.class),Ce("width",i.value.width,"%"),U("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),s(),$(" ",i.value.label," "),s(),g(n.sortTable.sortParam.column===i.key?2:-1)}}function qt(t,l){if(t&1&&h(0,Qt,3,10,"th",29),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function Wt(t,l){if(t&1&&d(0,"img",36),t&2){let i=u(4).$implicit;c("src",i.avatarUrl,J)}}function zt(t,l){if(t&1&&d(0,"fa-icon",7),t&2){let i=u(4).$implicit,n=u();k(i.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",n.icons.GROUPS)}}function Yt(t,l){if(t&1&&d(0,"fa-icon",39),t&2){let i=u(5);c("icon",i.icons.faKey)}}function Jt(t,l){if(t&1&&(r(0,"div",34),h(1,Wt,1,1,"img",36)(2,zt,1,3,"fa-icon",37),r(3,"div",35)(4,"span",38),m(5),h(6,Yt,1,1,"fa-icon",39),a(),r(7,"span",40),m(8),a()()()),t&2){let i=u(3).$implicit;s(),g(i.isUser?1:2),s(4),$(" ",i.name," "),s(),g(i.isUser&&i.isGroupManager?6:-1),s(2),C(i.description)}}function Xt(t,l){if(t&1&&(r(0,"span"),m(1),v(2,"joinCounts"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.counts))}}function Zt(t,l){if(t&1&&h(0,Xt,3,3,"span"),t&2){let i=u(3).$implicit;g(i.isGroup?0:-1)}}function ei(t,l){t&1&&(r(0,"span",14),m(1,"manager"),a())}function ti(t,l){if(t&1&&(r(0,"span",14),m(1),a()),t&2){let i=u(4).$implicit;s(),C(i.type)}}function ii(t,l){if(t&1&&h(0,ei,2,0,"span",14)(1,ti,2,1,"span",14),t&2){let i=u(3).$implicit;g(i.isUser&&i.isGroupManager?0:1)}}function ni(t,l){if(t&1&&(r(0,"div"),m(1),v(2,"amDateFormat"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.modifiedAt))}}function oi(t,l){if(t&1&&(r(0,"div",35)(1,"div"),m(2),v(3,"amDateFormat"),a(),h(4,ni,3,3,"div"),a()),t&2){let i=u(3).$implicit;s(2),C(D(3,2,i.createdAt)),s(2),g(i.modifiedAt?4:-1)}}function ri(t,l){if(t&1&&(r(0,"td"),h(1,Jt,9,4,"div",34)(2,Zt,1,1)(3,ii,2,1)(4,oi,5,4,"div",35),a()),t&2){let i,n=u().$implicit,o=u().$implicit;k(De("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),Ce("width",n.value.width,"%"),U("text-align-center",n.value.textCenter),s(),g((i=n.key)==="name"?1:i==="members"?2:i==="type"?3:i==="createdAndModified"?4:-1)}}function ai(t,l){if(t&1&&h(0,ri,5,9,"td",33),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function li(t,l){if(t&1){let i=A();r(0,"tr",32),_("click",function(){let o=y(i).$implicit,e=u();return G(e.onSelect(o))})("contextmenu",function(o){let e=y(i).$implicit,p=u();return G(p.onTargetContextMenu(o,e))})("appTap",function(){let o=y(i).$implicit,e=u();return G(e.browse(o))}),B(1,ai,1,1,null,null,Tt),v(3,"keyvalue"),a()}if(t&2){let i=l.$implicit,n=u();U("selected",i.mid===(n.selected==null?null:n.selected.mid)),s(),N(T(3,2,n.tableHeaders,n.originalOrderKeyValue))}}function si(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPlus),s(),$(" ",i.personalGroupsView?"Personal group":"Group")}}function mi(t,l){if(t&1){let i=A();w(0,si,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog(!0))})}}function pi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Add members"),a()),t&2){let i=u(2);s(),c("icon",i.icons.faUserPlus)}}function ci(t,l){if(t&1){let i=A();w(0,pi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.addUserToGroupDialog())})}}function ui(t,l){}function di(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Refresh"),a()),t&2){let i=u();s(),c("icon",i.icons.faArrowRotateRight)}}function _i(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPen),s(),$(" ",i.selected.isGroup?"Edit group":"Edit user")}}function fi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Delete group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faMinus)}}function hi(t,l){if(t&1){let i=A();w(0,fi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function gi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Remove from group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faUserMinus)}}function bi(t,l){if(t&1){let i=A();w(0,gi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function Ci(t,l){if(t&1){let i=A();w(0,_i,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog())}),h(1,hi,1,0,null,23)(2,bi,1,0,null,23)}if(t&2){let i=u();s(),g(i.selected.isGroup?1:2)}}var ao=(()=>{let l=class l{constructor(){this.locale=x(oe),this.originalOrderKeyValue=de,this.icons={GROUPS:H.GROUPS,faRotate:Ke,faPlus:ce,faMinus:ae,faPen:me,faArrowDown:Xe,faArrowUp:We,faKey:le,faUserPlus:se,faUserMinus:pe,faArrowRotateRight:Je,faToggleOn:ze,faToggleOff:He},this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},type:{label:"Type",width:10,textCenter:!0,class:"",show:!0,sortable:!0},members:{label:"Members",width:10,class:"",textCenter:!0,show:!0},createdAndModified:{label:"Created & Modified",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.personalGroupsView=!1,this.loading=!1,this.selected=null,this.members=[],this.router=x(Pe),this.activatedRoute=x(Me),this.layout=x(V),this.adminService=x(R),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],type:[{prop:"type",type:"string"}],createdAndModified:[{prop:"modifiedAt",type:"date"},{prop:"createdAt",type:"date"}]},this.sortTable=new mt(this.constructor.name,this.sortSettings),this.activatedRoute.data.subscribe(n=>{this.personalGroupsView=n.type===ue.PERSONAL,this.setEnv(n.routes)}),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select),this.layout.setBreadcrumbIcon(tt.GROUPS)}onPersonalGroupsView(n){this.personalGroupsView=n,this.router.navigate([S.BASE,n?S.PGROUPS:S.GROUPS]).catch(console.error)}refresh(){this.loadGroups(this.currentGroup?.name)}browse(n){n.isGroup&&this.router.navigate([n.name],{relativeTo:this.activatedRoute}).catch(console.error)}onSelect(n=null){this.selected=n}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}sortBy(n,o=!0,e){this.members=this.sortTable.sortBy(n,o,e||this.members)}addUserToGroupDialog(){this.layout.openDialog(xt,"md",{initialState:{parentGroup:this.currentGroup,currentMemberIds:this.members.filter(o=>o.isUser).map(o=>o.id)}}).content.hasChanges.pipe(be(o=>o),O(1)).subscribe(()=>this.refresh())}openDialog(n=!1,o=!1){n?this.personalGroupsView?this.layout.openDialog(Te,"md").content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="add"&&(b.setGroupRole(K.MANAGER),b.counts={users:1},this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(b)),this.onSelect(b))}):this.layout.openDialog(we,"md",{initialState:{parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;if(f==="add")if(!this.currentGroup&&!b?.parent||b.parent.id===this.currentGroup.id){let F=new ye(ge(he({},b),{type:xe.GROUP}));this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(new ye(ge(he({},b),{type:xe.GROUP})))),this.onSelect(F)}else this.router.navigate([`${S.BASE}/${S.GROUPS}`,b.parent?.id?b.parent.name:""],{queryParams:{select:b.name}}).catch(console.error)}):o?this.layout.openDialog(yt,"md",{initialState:{parentGroup:this.currentGroup,member:this.selected}}).content.wasDeleted.pipe(be(p=>p),O(1)).subscribe(()=>{this.currentGroup?this.selected.counts?.groups?this.loadGroups(this.currentGroup.name):(this.sortBy(this.sortTable.sortParam.column,!1,this.members.filter(p=>this.selected.mid!==p.mid)),this.onSelect()):this.loadGroups()}):this.selected.isGroup?this.personalGroupsView?this.layout.openDialog(Te,"md",{initialState:{originalGroup:this.selected}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="update"&&(this.selected=Object.assign(this.selected,{name:b.name,description:b.description,modifiedAt:b.modifiedAt}))}):this.adminService.getGroup(this.selected.id).subscribe({next:e=>{this.layout.openDialog(we,"md",{initialState:{group:e,parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(f=>{let[b,F]=f;b==="update"&&(!this.currentGroup&&!F?.parent||F.parent.id===this.currentGroup.id?this.selected=Object.assign(this.selected,F):this.router.navigate([`${S.BASE}/${S.GROUPS}`,F.parent?.id?F.parent.name:""],{queryParams:{select:F.name}}).catch(console.error))})},error:e=>this.layout.sendNotification("error","Edit group",this.selected.name,e)}):this.layout.openDialog(St,"md",{initialState:{user:this.selected,parentGroup:this.currentGroup}})}setEnv(n){let o;n.length?(o=n[n.length-1].path,this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}${ve(n)}`:`/${S.BASE}/${S.GROUPS}${ve(n)}`,firstLink:`/${S.BASE}/${S.GROUPS}`,splicing:1,translating:!0,sameLink:!1,mutateLevel:{0:{setTitle:this.personalGroupsView?Y.PGROUPS:Y.GROUPS,translateTitle:!0}}})):this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}/${Y.PGROUPS}`:`/${S.BASE}/${S.GROUPS}/${Y.GROUPS}`,splicing:2,translating:!0,sameLink:!0}),this.loadGroups(o)}loadGroups(n){this.loading=!0,this.onSelect(),this.adminService.browseGroup(n,this.personalGroupsView).subscribe({next:o=>{this.currentGroup=o.parentGroup,this.sortBy(this.sortTable.sortParam.column,!1,o.members),this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1),this.loading=!1},error:o=>{this.members=[],this.layout.sendNotification("error","Groups",o.error.message),this.onSelect(),this.loading=!1}})}focusOn(n){let o=this.members.find(e=>e.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-groups"]],viewQuery:function(o,e){if(o&1&&(Q(Se,5),Q(Ge,7),Q($t,7),Q(Lt,7)),o&2){let p;q(p=W())&&(e.scrollView=p.first),q(p=W())&&(e.inputFilter=p.first),q(p=W())&&(e.mainContextMenu=p.first),q(p=W())&&(e.targetContextMenu=p.first)}},decls:48,vars:42,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["dropdown","",1,"btn-group","btn-group-sm","me-1"],["dropdownToggle","","container","body","type","button",1,"btn","btn-sm","btn-secondary","dropdown-toggle",3,"tooltip"],[3,"icon"],["class","dropdown-menu","role","menu",4,"dropdownMenu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem",""],["contextMenuItem","",3,"divider"],["contextMenuItem","",3,"execute"],["role","menu",1,"dropdown-menu"],["role","menuitem"],[1,"dropdown-item",3,"click"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"]],template:function(o,e){if(o&1){let p=A();r(0,"div",2)(1,"button",3),v(2,"translate"),_("click",function(){return y(p),G(e.refresh())}),d(3,"fa-icon",4),a(),r(4,"div",5)(5,"button",6),v(6,"translate"),d(7,"fa-icon",7),a(),w(8,Kt,11,7,"ul",8),a(),r(9,"button",9),v(10,"translate"),_("click",function(){return y(p),G(e.openDialog(!1,!0))}),d(11,"fa-icon",7),a(),r(12,"button",9),v(13,"translate"),_("click",function(){return y(p),G(e.openDialog())}),d(14,"fa-icon",7),a(),r(15,"div",10)(16,"button",11),_("ngModelChange",function(b){return y(p),G(e.onPersonalGroupsView(b))}),r(17,"div",12),d(18,"fa-icon",13),r(19,"span",14),m(20,"Personal groups"),a()()(),r(21,"div",15),d(22,"app-input-filter",16),a()()(),r(23,"table",17)(24,"thead")(25,"tr"),B(26,qt,1,1,null,null,Tt),v(28,"keyvalue"),a()()(),r(29,"app-virtual-scroll",18),v(30,"searchFilter"),_("contextmenu",function(b){return y(p),G(e.onContextMenu(b))}),r(31,"table",17)(32,"tbody",19),B(33,li,4,5,"tr",20,jt),a()()(),r(35,"div",21)(36,"span",22),m(37),v(38,"translate"),a()(),r(39,"context-menu",null,0),h(41,mi,1,0,null,23),h(42,ci,1,0,null,23),w(43,ui,0,0,"ng-template",24)(44,di,3,1,"ng-template",25),_("execute",function(){return y(p),G(e.refresh())}),a(),r(45,"context-menu",null,1),h(47,Ci,3,1),a()}o&2&&(s(),c("tooltip",T(2,21,"Refresh",e.locale.language)),s(2),c("icon",e.icons.faRotate)("animation",e.loading?"spin":null),s(2),c("tooltip",T(6,24,"New",e.locale.language)),s(2),c("icon",e.icons.faPlus),s(2),c("disabled",!e.selected)("tooltip",T(10,27,e.selected!=null&&e.selected.isUser?"Remove from group":"Delete group",e.locale.language)),s(2),c("icon",e.icons.faMinus),s(),c("disabled",!e.selected)("tooltip",T(13,30,e.selected!=null&&e.selected.isGroup?"Edit group":"Edit user",e.locale.language)),s(2),c("icon",e.icons.faPen),s(2),c("ngModel",e.personalGroupsView),s(2),c("icon",e.personalGroupsView?e.icons.faToggleOn:e.icons.faToggleOff),s(8),N(T(28,33,e.tableHeaders,e.originalOrderKeyValue)),s(3),c("bufferAmount",5)("items",T(30,36,e.members,e.inputFilter.search())),s(4),N(e.scrollView==null?null:e.scrollView.viewPortItems),s(4),Ee("",e.members.length," ",T(38,39,"groups",e.locale.language)),s(4),g(e.currentGroup&&!e.personalGroupsView||!e.currentGroup&&e.personalGroupsView?41:-1),s(),g(e.currentGroup?42:-1),s(),c("divider",!0),s(4),g(e.selected?47:-1))},dependencies:[ot,nt,it,P,M,Ge,Se,je,ht,bt,gt,at,ne,L,ie,lt,te,re,st,Ct,_e],encapsulation:2});let t=l;return t})();export{ao as AdminGroupsComponent};
|
|
1
|
+
import{b as R,c as ft}from"./chunk-UO7ATVQG.js";import{a as ue,b as z,c as Ct,d as Te,e as vt}from"./chunk-O233BXWK.js";import{a as ht,b as gt,c as bt}from"./chunk-OVUMPMVM.js";import{a as S,b as Y,c as tt,e as _t}from"./chunk-QKMN3S4M.js";import{a as lt,c as dt}from"./chunk-2U5VKTML.js";import{a as _e}from"./chunk-GENTF6JM.js";import{a as st}from"./chunk-7QYALK5T.js";import{a as pt,b as ct,c as ut}from"./chunk-7H5O4BLV.js";import{a as Se}from"./chunk-C5T7RZSD.js";import{a as Ge,b as mt}from"./chunk-IIKL33TV.js";import"./chunk-S4UTSOPV.js";import{m as rt,n as xe,s as ye}from"./chunk-4ZKAVMB4.js";import{a as at}from"./chunk-5HYSNQR4.js";import"./chunk-BVKDW5XO.js";import{A as Ze,B as K,C as et,Cb as V,J as H,cb as ve,gb as de,s as je,va as it,wa as nt,xa as ot}from"./chunk-FCR5AEHR.js";import{b as Me,d as Pe}from"./chunk-LFAQLJZK.js";import{Bb as A,Cd as ne,Dd as Le,E as be,Eb as _,Ed as oe,Gb as u,He as Qe,Hf as pe,Ia as J,Jd as re,Kb as Q,Kd as M,Kf as ze,L as O,Lb as q,Ld as Ke,Mb as W,Mf as Ye,Oa as s,Pc as te,Qa as I,Qb as Ce,Qd as ae,Qe as se,Rb as U,Rf as ce,Sb as k,Tb as m,Tf as Je,Ub as C,Vb as $,Vd as He,Wb as Ee,Xb as X,Yb as Z,Zb as ee,ab as E,af as qe,cc as Ae,dc as De,df as We,dg as Xe,ed as Ve,fb as w,fd as Re,hd as Fe,he as le,ja as x,jd as L,kc as v,kd as Ue,lb as h,lc as D,ld as ke,mb as g,mc as T,nd as j,oa as y,od as ie,og as P,pa as G,pb as B,qb as N,rb as c,sb as r,sd as Oe,tb as a,td as Ie,ub as d,ud as Be,vd as Ne,wd as $e,zf as me}from"./chunk-BJARRIS6.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{a as he,b as ge}from"./chunk-KAVP6UXH.js";var xt=(()=>{let l=class l{constructor(){this.currentMemberIds=[],this.hasChanges=new I,this.layout=x(V),this.newMembers=[],this.submitted=!1,this.icons={faUserPlus:se},this.adminService=x(R)}searchMembers(n){let o={search:n,onlyUsers:!0,usersRole:this.parentGroup.type===ue.USER?Ze.USER:void 0,ignoreUserIds:[...this.currentMemberIds,...this.newMembers.map(e=>e.id)]};return this.adminService.searchMembers(o)}onSubmit(){this.submitted=!0,this.adminService.addUsersToGroup(this.parentGroup.id,this.newMembers.map(n=>n.id)).subscribe({next:()=>{this.hasChanges.emit(!0),this.layout.sendNotification("success","Add members",this.newMembers.map(n=>n.name).join("<br>"),null,{enableHtml:!0}),this.layout.closeDialog()},error:n=>{this.submitted=!1,this.layout.sendNotification("error","Add members",this.newMembers.map(o=>o.name).join("<br>"),n,{enableHtml:!0})}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-add-users-dialog"]],inputs:{parentGroup:"parentGroup",currentMemberIds:"currentMemberIds"},outputs:{hasChanges:"hasChanges"},decls:16,vars:7,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Add members"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"app-user-search",7),ee("membersChange",function(f){return Z(e.newMembers,f)||(e.newMembers=f),f}),a()(),r(11,"div",8)(12,"button",9),_("click",function(){return e.layout.closeDialog()}),m(13,"Cancel"),a(),r(14,"button",10),_("click",function(){return e.onSubmit()}),m(15," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPlus),s(2),C(e.parentGroup.name),s(6),X("members",e.newMembers),c("withPermissions",!1)("customPlaceholder","Type to search for users to add")("searchFunction",e.searchMembers.bind(e)),s(4),c("disabled",e.submitted||!e.newMembers.length))},dependencies:[P,M,dt],encapsulation:2});let t=l;return t})();function wt(t,l){if(t&1&&d(0,"img",9),t&2){let i=u();c("src",i.member.avatarUrl,J)}}function Et(t,l){if(t&1&&d(0,"fa-icon",15),t&2){let i=u();k(i.member.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",i.icons.GROUPS)}}function At(t,l){if(t&1&&(r(0,"div",7)(1,"span",16),m(2,"from the group"),a(),r(3,"span",11),m(4),v(5,"capitalize"),a()()),t&2){let i=u();s(4),C(D(5,1,i.parentGroup.name))}}function Dt(t,l){t&1&&(r(0,"small",4),m(1,"Only the group will be deleted, the members will no longer be part of it."),a())}var yt=(()=>{let l=class l{constructor(){this.wasDeleted=new I,this.submitted=!1,this.icons={GROUPS:H.GROUPS,faMinus:ae,faUserMinus:pe},this.layout=x(V),this.adminService=x(R)}onSubmit(){this.submitted=!0;let n=this.member.isUser?"Remove from group":"Delete group";(this.member.isUser?this.adminService.removeUserFromGroup(this.parentGroup.id,this.member.id):this.adminService.deleteGroup(this.member.id)).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success",n,this.member.name),this.onClose()},error:e=>{this.submitted=!1,this.layout.sendNotification("error",n,this.member.name,e)}})}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-delete-dialog"]],inputs:{parentGroup:"parentGroup",member:"member"},outputs:{wasDeleted:"wasDeleted"},decls:26,vars:10,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center"],[1,"d-flex","align-items-center","avatar","me-2"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],[1,"fw-bold","me-1"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"],[3,"icon"],["l10nTranslate","",1,"mx-1"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7),a()(),r(8,"button",5),_("click",function(){return e.onClose()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8),h(12,wt,1,1,"img",9)(13,Et,1,3,"fa-icon",10),a(),r(14,"span",11),m(15),v(16,"capitalize"),a(),r(17,"span",4),m(18,"will be removed"),a(),h(19,At,6,3,"div",7),a(),h(20,Dt,2,0,"small",4),a(),r(21,"div",12)(22,"button",13),_("click",function(){return e.onClose()}),m(23,"Cancel"),a(),r(24,"button",14),_("click",function(){return e.onSubmit()}),m(25," Remove "),a()()),o&2&&(s(2),c("icon",e.member.isUser?e.icons.faUserMinus:e.icons.faMinus),s(2),C(e.member.name),s(3),C(e.member.isUser?"Remove from group":"Delete group"),s(5),g(e.member.isUser?12:13),s(3),C(D(16,8,e.member.name)),s(4),g(e.member.isUser?19:-1),s(),g(e.member.isGroup?20:-1),s(4),c("disabled",e.submitted))},dependencies:[P,M,_t],encapsulation:2});let t=l;return t})();var Mt=(t,l)=>l.value;function Pt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span"),m(2),a()),t&2){let i=u();c("icon",i.icons.faPen),s(2),C(i.group.name)}}function Vt(t,l){if(t&1&&(d(0,"fa-icon",31),r(1,"span",23),m(2,"New group"),a()),t&2){let i=u();c("icon",i.icons.faPlus)}}function Rt(t,l){t&1&&(r(0,"h4",2)(1,"span",23),m(2,"Edit group"),a()())}function Ft(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Settings"),a()),t&2){let i=u();c("icon",i.icons.faCog)}}function Ut(t,l){if(t&1&&(r(0,"option",21),m(1),a()),t&2){let i=l.$implicit;c("ngValue",i.value),s(),C(i.key)}}function kt(t,l){t&1&&(r(0,"span",23),m(1,"All users can see this group."),a())}function Ot(t,l){t&1&&(r(0,"span",23),m(1,"Users who are not members of this group cannot see it."),a())}function It(t,l){t&1&&(r(0,"span",23),m(1,"The group is not visible, its members cannot see it and cannot see each other."),a())}function Bt(t,l){if(t&1&&(r(0,"div",24)(1,"div",18)(2,"label",34),m(3,"Creation date"),a(),r(4,"div",35),m(5),v(6,"amDateFormat"),a()(),r(7,"div",36)(8,"label",37),m(9,"Modification date"),a(),r(10,"div",38),m(11),v(12,"amDateFormat"),a()()()),t&2){let i=u();s(5),C(D(6,2,i.group.createdAt)),s(6),C(D(12,4,i.group.modifiedAt))}}function Nt(t,l){if(t&1&&(d(0,"fa-icon",32),r(1,"span",33),m(2,"Permissions"),a()),t&2){let i=u();c("icon",i.icons.faShieldHalved)}}var we=(()=>{let l=class l{constructor(){this.group=null,this.parentGroup=null,this.groupChange=new I,this.locale=x(oe),this.layout=x(V),this.icons={GROUPS:H.GROUPS,faPen:me,faPlus:ce,faCog:qe,faShieldHalved:Ye},this.submitted=!1,this.originalOrderKeyValue=de,this.allVisibilities={Visible:z.VISIBLE,Private:z.PRIVATE,Isolated:z.ISOLATED},this.adminService=x(R)}ngOnInit(){this.groupForm=new ke({name:new j(this.group?.name||"",Fe.required),description:new j(this.group?.description||""),visibility:new j(this.group?.visibility||z.VISIBLE),applications:new j(this.group?.applications||[]),parent:new j(this.parentGroup)})}updateApplications(n){this.groupForm.controls.applications.setValue(n),this.groupForm.controls.applications.markAsDirty()}onSetParent(n){this.groupForm.controls.parent.setValue(n?{id:n.id,name:n.name}:null),this.groupForm.controls.parent.markAsDirty()}searchGroups(n){let o={search:n,onlyGroups:!0,excludePersonalGroups:!0,ignoreGroupIds:this.groupForm.value.parent?[this.groupForm.value.parent.id]:[]};return this.adminService.searchMembers(o,!0)}onSubmit(){if(this.submitted=!0,this.group?.id){let n=this.makeDto();this.adminService.updateGroup(this.group.id,n).subscribe({next:o=>{this.groupChange.emit(["update",o]),this.layout.sendNotification("success","Group updated",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}else{let n=this.makeDto(!0);this.adminService.createGroup(n).subscribe({next:o=>{this.groupChange.emit(["add",o]),this.layout.sendNotification("success","Group created",this.groupForm.value.name),this.layout.closeDialog()},error:o=>this.onError(o)})}}makeDto(n=!1){let o;n?o=Object.fromEntries(Object.keys(this.groupForm.controls).map(e=>[e,this.groupForm.controls[e].value])):o=Object.fromEntries(Object.keys(this.groupForm.controls).filter(e=>this.groupForm.controls[e].dirty).map(e=>[e,this.groupForm.controls[e].value]));for(let e in o)switch(e){case"applications":o.permissions=o[e].join(et),delete o.applications;break;case"parent":o.parentId=o[e]?o[e].id:null,delete o.parent;break}return o}onError(n){this.layout.sendNotification("error","Group error",this.groupForm.value.name,n),this.submitted=!1}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-dialog"]],inputs:{group:"group",parentGroup:"parentGroup"},outputs:{groupChange:"groupChange"},decls:50,vars:24,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body","form-validation",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","formControlName","name","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","formControlName","description","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"d-flex","flex-column","align-items-start","col-12","pb-3"],[1,"col-6","pe-4"],["for","visibility","l10nTranslate",""],["id","visibility","formControlName","visibility",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],[1,"d-none","d-sm-block","fst-italic","fs-xxs"],["l10nTranslate",""],[1,"d-flex","align-items-start","col-12","pb-3"],["for","parent","translate",""],["id","parent",3,"data","searchFunction","active","itemIcon","placeholder"],[3,"permissionsChange","permissions"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","modified","l10nTranslate",""],["id","modified"]],template:function(o,e){if(o&1&&(r(0,"div",0)(1,"h4",1),h(2,Pt,3,2)(3,Vt,3,1),a(),h(4,Rt,3,0,"h4",2),r(5,"button",3),_("click",function(){return e.layout.closeDialog()}),a()(),r(6,"div",4)(7,"tabset",5),d(8,"hr",6),r(9,"tab",7),_("selectTab",function(){return e.tabView=null}),w(10,Ft,3,1,"ng-template",8),r(11,"div",9)(12,"div",10)(13,"div",11)(14,"label",12),m(15,"Name"),a(),d(16,"input",13),a(),r(17,"div",14)(18,"label",15),m(19,"Description"),a(),d(20,"input",16),a()(),r(21,"div",17)(22,"div",18)(23,"label",19),m(24,"Visibility"),a(),r(25,"select",20),B(26,Ut,2,2,"option",21,Mt),v(28,"keyvalue"),a()(),r(29,"div",22),h(30,kt,2,0,"span",23)(31,Ot,2,0,"span",23)(32,It,2,0,"span",23),a()(),r(33,"div",24)(34,"div",18)(35,"label",25),m(36,"Parent group"),a(),r(37,"app-select",26),v(38,"translate"),_("data",function(f){return e.onSetParent(f)}),a()()(),h(39,Bt,13,6,"div",24),a()(),r(40,"tab",7),_("selectTab",function(){return e.tabView="permissions"}),w(41,Nt,3,1,"ng-template",8),r(42,"div",9)(43,"div",10)(44,"app-admin-permissions",27),_("permissionsChange",function(f){return e.updateApplications(f)}),a()()()()()(),r(45,"div",28)(46,"button",29),_("click",function(){return e.layout.closeDialog()}),m(47,"Cancel"),a(),r(48,"button",30),_("click",function(){return e.onSubmit()}),m(49," Confirm "),a()()),o&2){let p;s(2),g(e.group?2:3),s(2),g(e.group?4:-1),s(),k(Ae("btn-close btn-close-white ",e.group?"ms-2":"ms-auto"," ms-2")),s(),c("formGroup",e.groupForm),s(),c("justified",!0),s(9),U("is-invalid",e.groupForm.controls.name.invalid),c("autoSelect",!1),s(10),N(T(28,18,e.allVisibilities,e.originalOrderKeyValue)),s(4),g((p=e.groupForm.value.visibility)===e.allVisibilities.Visible?30:p===e.allVisibilities.Private?31:p===e.allVisibilities.Isolated?32:-1),s(7),c("searchFunction",e.searchGroups.bind(e))("active",e.groupForm.value.parent)("itemIcon",e.icons.GROUPS)("placeholder",T(38,21,"Select the parent group",e.locale.language)),s(2),g(e.group?39:-1),s(5),c("permissions",e.groupForm.value.applications),s(4),c("disabled",e.submitted||e.groupForm.invalid)}},dependencies:[P,M,Le,Ne,$e,Re,Be,L,Ue,Oe,Ie,rt,ft,vt,ct,ut,pt,te,re,_e],encapsulation:2});let t=l;return t})();var St=(()=>{let l=class l{constructor(){this.layout=x(V),this.submitted=!1,this.isManager=!1,this.USER_GROUP_ROLE=K,this.icons={faUserPen:Qe,faKey:le},this.adminService=x(R)}ngOnInit(){this.isManager=this.user.isGroupManager}onSubmit(){if(this.submitted=!0,this.user.isGroupManager===this.isManager){this.layout.closeDialog();return}let n=this.isManager?K.MANAGER:K.MEMBER;this.adminService.updateUserFromGroup(this.parentGroup.id,this.user.id,{role:n}).subscribe({next:()=>{this.user.setGroupRole(n),this.layout.sendNotification("success","Edit user",this.user.name),this.layout.closeDialog()},error:o=>{this.submitted=!1,this.layout.sendNotification("error","Edit user",this.user.name,o)}})}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-group-edit-user-dialog"]],inputs:{parentGroup:"parentGroup",user:"user"},decls:25,vars:5,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center"],[1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],[1,"form-check-label"],["type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],[1,"ms-1",3,"icon"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(o,e){o&1&&(r(0,"div",0)(1,"h4",1),d(2,"fa-icon",2),r(3,"span"),m(4),a()(),r(5,"h4",3)(6,"span",4),m(7,"Edit user"),a()(),r(8,"button",5),_("click",function(){return e.layout.closeDialog()}),a()(),r(9,"div",6)(10,"div",7)(11,"div",8)(12,"div",9)(13,"label",10)(14,"input",11),ee("ngModelChange",function(f){return Z(e.isManager,f)||(e.isManager=f),f}),a(),r(15,"span",4),m(16,"Set as group manager"),a(),d(17,"fa-icon",12),a()()()(),r(18,"small",4),m(19,"As a manager, the user will be able to manage group members but not group properties."),a()(),r(20,"div",13)(21,"button",14),_("click",function(){return e.layout.closeDialog()}),m(22,"Cancel"),a(),r(23,"button",15),_("click",function(){return e.onSubmit()}),m(24," Confirm "),a()()),o&2&&(s(2),c("icon",e.icons.faUserPen),s(2),C(e.user.name),s(10),X("ngModel",e.isManager),s(3),c("icon",e.icons.faKey),s(6),c("disabled",e.submitted))},dependencies:[P,M,ne,Ve,L,ie],encapsulation:2});let t=l;return t})();var $t=["MainContextMenu"],Lt=["TargetContextMenu"],Tt=(t,l)=>l.key,jt=(t,l)=>l.mid;function Kt(t,l){if(t&1){let i=A();r(0,"ul",26)(1,"li",27)(2,"a",28),_("click",function(){y(i);let o=u();return G(o.openDialog(!0))}),r(3,"span",14),d(4,"fa-icon",7),m(5),a()()(),r(6,"li",27)(7,"a",28),_("click",function(){y(i);let o=u();return G(o.addUserToGroupDialog())}),r(8,"span",14),d(9,"fa-icon",7),m(10,"Add members"),a()()()()}if(t&2){let i=u();s(2),U("disabled",!!i.currentGroup&&i.personalGroupsView),s(2),c("icon",i.icons.GROUPS),s(),$(" ",i.personalGroupsView?"Personal group":"Group"),s(2),U("disabled",!i.currentGroup),s(2),c("icon",i.icons.faUserPlus)}}function Ht(t,l){if(t&1&&d(0,"fa-icon",31),t&2){let i=u(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function Qt(t,l){if(t&1){let i=A();r(0,"th",30),_("click",function(){y(i);let o=u().$implicit,e=u();return G(e.sortBy(o.key))}),m(1),h(2,Ht,1,2,"fa-icon",31),a()}if(t&2){let i=u().$implicit,n=u();k(i.value.class),Ce("width",i.value.width,"%"),U("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),s(),$(" ",i.value.label," "),s(),g(n.sortTable.sortParam.column===i.key?2:-1)}}function qt(t,l){if(t&1&&h(0,Qt,3,10,"th",29),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function Wt(t,l){if(t&1&&d(0,"img",36),t&2){let i=u(4).$implicit;c("src",i.avatarUrl,J)}}function zt(t,l){if(t&1&&d(0,"fa-icon",7),t&2){let i=u(4).$implicit,n=u();k(i.isPersonalGroup?"circle-purple-icon":"circle-primary-icon"),c("icon",n.icons.GROUPS)}}function Yt(t,l){if(t&1&&d(0,"fa-icon",39),t&2){let i=u(5);c("icon",i.icons.faKey)}}function Jt(t,l){if(t&1&&(r(0,"div",34),h(1,Wt,1,1,"img",36)(2,zt,1,3,"fa-icon",37),r(3,"div",35)(4,"span",38),m(5),h(6,Yt,1,1,"fa-icon",39),a(),r(7,"span",40),m(8),a()()()),t&2){let i=u(3).$implicit;s(),g(i.isUser?1:2),s(4),$(" ",i.name," "),s(),g(i.isUser&&i.isGroupManager?6:-1),s(2),C(i.description)}}function Xt(t,l){if(t&1&&(r(0,"span"),m(1),v(2,"joinCounts"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.counts))}}function Zt(t,l){if(t&1&&h(0,Xt,3,3,"span"),t&2){let i=u(3).$implicit;g(i.isGroup?0:-1)}}function ei(t,l){t&1&&(r(0,"span",14),m(1,"manager"),a())}function ti(t,l){if(t&1&&(r(0,"span",14),m(1),a()),t&2){let i=u(4).$implicit;s(),C(i.type)}}function ii(t,l){if(t&1&&h(0,ei,2,0,"span",14)(1,ti,2,1,"span",14),t&2){let i=u(3).$implicit;g(i.isUser&&i.isGroupManager?0:1)}}function ni(t,l){if(t&1&&(r(0,"div"),m(1),v(2,"amDateFormat"),a()),t&2){let i=u(4).$implicit;s(),C(D(2,1,i.modifiedAt))}}function oi(t,l){if(t&1&&(r(0,"div",35)(1,"div"),m(2),v(3,"amDateFormat"),a(),h(4,ni,3,3,"div"),a()),t&2){let i=u(3).$implicit;s(2),C(D(3,2,i.createdAt)),s(2),g(i.modifiedAt?4:-1)}}function ri(t,l){if(t&1&&(r(0,"td"),h(1,Jt,9,4,"div",34)(2,Zt,1,1)(3,ii,2,1)(4,oi,5,4,"div",35),a()),t&2){let i,n=u().$implicit,o=u().$implicit;k(De("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),Ce("width",n.value.width,"%"),U("text-align-center",n.value.textCenter),s(),g((i=n.key)==="name"?1:i==="members"?2:i==="type"?3:i==="createdAndModified"?4:-1)}}function ai(t,l){if(t&1&&h(0,ri,5,9,"td",33),t&2){let i=l.$implicit;g(i.value.show?0:-1)}}function li(t,l){if(t&1){let i=A();r(0,"tr",32),_("click",function(){let o=y(i).$implicit,e=u();return G(e.onSelect(o))})("contextmenu",function(o){let e=y(i).$implicit,p=u();return G(p.onTargetContextMenu(o,e))})("appTap",function(){let o=y(i).$implicit,e=u();return G(e.browse(o))}),B(1,ai,1,1,null,null,Tt),v(3,"keyvalue"),a()}if(t&2){let i=l.$implicit,n=u();U("selected",i.mid===(n.selected==null?null:n.selected.mid)),s(),N(T(3,2,n.tableHeaders,n.originalOrderKeyValue))}}function si(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPlus),s(),$(" ",i.personalGroupsView?"Personal group":"Group")}}function mi(t,l){if(t&1){let i=A();w(0,si,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog(!0))})}}function pi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Add members"),a()),t&2){let i=u(2);s(),c("icon",i.icons.faUserPlus)}}function ci(t,l){if(t&1){let i=A();w(0,pi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.addUserToGroupDialog())})}}function ui(t,l){}function di(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Refresh"),a()),t&2){let i=u();s(),c("icon",i.icons.faArrowRotateRight)}}function _i(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2),a()),t&2){let i=u(2);s(),c("icon",i.icons.faPen),s(),$(" ",i.selected.isGroup?"Edit group":"Edit user")}}function fi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Delete group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faMinus)}}function hi(t,l){if(t&1){let i=A();w(0,fi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function gi(t,l){if(t&1&&(r(0,"span",14),d(1,"fa-icon",7),m(2,"Remove from group"),a()),t&2){let i=u(3);s(),c("icon",i.icons.faUserMinus)}}function bi(t,l){if(t&1){let i=A();w(0,gi,3,1,"ng-template",25),_("execute",function(){y(i);let o=u(2);return G(o.openDialog(!1,!0))})}}function Ci(t,l){if(t&1){let i=A();w(0,_i,3,2,"ng-template",25),_("execute",function(){y(i);let o=u();return G(o.openDialog())}),h(1,hi,1,0,null,23)(2,bi,1,0,null,23)}if(t&2){let i=u();s(),g(i.selected.isGroup?1:2)}}var ao=(()=>{let l=class l{constructor(){this.locale=x(oe),this.originalOrderKeyValue=de,this.icons={GROUPS:H.GROUPS,faRotate:Ke,faPlus:ce,faMinus:ae,faPen:me,faArrowDown:Xe,faArrowUp:We,faKey:le,faUserPlus:se,faUserMinus:pe,faArrowRotateRight:Je,faToggleOn:ze,faToggleOff:He},this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},type:{label:"Type",width:10,textCenter:!0,class:"",show:!0,sortable:!0},members:{label:"Members",width:10,class:"",textCenter:!0,show:!0},createdAndModified:{label:"Created & Modified",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.personalGroupsView=!1,this.loading=!1,this.selected=null,this.members=[],this.router=x(Pe),this.activatedRoute=x(Me),this.layout=x(V),this.adminService=x(R),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],type:[{prop:"type",type:"string"}],createdAndModified:[{prop:"modifiedAt",type:"date"},{prop:"createdAt",type:"date"}]},this.sortTable=new mt(this.constructor.name,this.sortSettings),this.activatedRoute.data.subscribe(n=>{this.personalGroupsView=n.type===ue.PERSONAL,this.setEnv(n.routes)}),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select),this.layout.setBreadcrumbIcon(tt.GROUPS)}onPersonalGroupsView(n){this.personalGroupsView=n,this.router.navigate([S.BASE,n?S.PGROUPS:S.GROUPS]).catch(console.error)}refresh(){this.loadGroups(this.currentGroup?.name)}browse(n){n.isGroup&&this.router.navigate([n.name],{relativeTo:this.activatedRoute}).catch(console.error)}onSelect(n=null){this.selected=n}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}sortBy(n,o=!0,e){this.members=this.sortTable.sortBy(n,o,e||this.members)}addUserToGroupDialog(){this.layout.openDialog(xt,"md",{initialState:{parentGroup:this.currentGroup,currentMemberIds:this.members.filter(o=>o.isUser).map(o=>o.id)}}).content.hasChanges.pipe(be(o=>o),O(1)).subscribe(()=>this.refresh())}openDialog(n=!1,o=!1){n?this.personalGroupsView?this.layout.openDialog(Te,"md").content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="add"&&(b.setGroupRole(K.MANAGER),b.counts={users:1},this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(b)),this.onSelect(b))}):this.layout.openDialog(we,"md",{initialState:{parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;if(f==="add")if(!this.currentGroup&&!b?.parent||b.parent.id===this.currentGroup.id){let F=new ye(ge(he({},b),{type:xe.GROUP}));this.sortBy(this.sortTable.sortParam.column,!1,this.members.concat(new ye(ge(he({},b),{type:xe.GROUP})))),this.onSelect(F)}else this.router.navigate([`${S.BASE}/${S.GROUPS}`,b.parent?.id?b.parent.name:""],{queryParams:{select:b.name}}).catch(console.error)}):o?this.layout.openDialog(yt,"md",{initialState:{parentGroup:this.currentGroup,member:this.selected}}).content.wasDeleted.pipe(be(p=>p),O(1)).subscribe(()=>{this.currentGroup?this.selected.counts?.groups?this.loadGroups(this.currentGroup.name):(this.sortBy(this.sortTable.sortParam.column,!1,this.members.filter(p=>this.selected.mid!==p.mid)),this.onSelect()):this.loadGroups()}):this.selected.isGroup?this.personalGroupsView?this.layout.openDialog(Te,"md",{initialState:{originalGroup:this.selected}}).content.groupChange.pipe(O(1)).subscribe(p=>{let[f,b]=p;f==="update"&&(this.selected=Object.assign(this.selected,{name:b.name,description:b.description,modifiedAt:b.modifiedAt}))}):this.adminService.getGroup(this.selected.id).subscribe({next:e=>{this.layout.openDialog(we,"md",{initialState:{group:e,parentGroup:this.currentGroup}}).content.groupChange.pipe(O(1)).subscribe(f=>{let[b,F]=f;b==="update"&&(!this.currentGroup&&!F?.parent||F.parent.id===this.currentGroup.id?this.selected=Object.assign(this.selected,F):this.router.navigate([`${S.BASE}/${S.GROUPS}`,F.parent?.id?F.parent.name:""],{queryParams:{select:F.name}}).catch(console.error))})},error:e=>this.layout.sendNotification("error","Edit group",this.selected.name,e)}):this.layout.openDialog(St,"md",{initialState:{user:this.selected,parentGroup:this.currentGroup}})}setEnv(n){let o;n.length?(o=n[n.length-1].path,this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}${ve(n)}`:`/${S.BASE}/${S.GROUPS}${ve(n)}`,firstLink:`/${S.BASE}/${S.GROUPS}`,splicing:1,translating:!0,sameLink:!1,mutateLevel:{0:{setTitle:this.personalGroupsView?Y.PGROUPS:Y.GROUPS,translateTitle:!0}}})):this.layout.setBreadcrumbNav({url:this.personalGroupsView?`/${S.BASE}/${S.PGROUPS}/${Y.PGROUPS}`:`/${S.BASE}/${S.GROUPS}/${Y.GROUPS}`,splicing:2,translating:!0,sameLink:!0}),this.loadGroups(o)}loadGroups(n){this.loading=!0,this.onSelect(),this.adminService.browseGroup(n,this.personalGroupsView).subscribe({next:o=>{this.currentGroup=o.parentGroup,this.sortBy(this.sortTable.sortParam.column,!1,o.members),this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1),this.loading=!1},error:o=>{this.members=[],this.layout.sendNotification("error","Groups",o.error.message),this.onSelect(),this.loading=!1}})}focusOn(n){let o=this.members.find(e=>e.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=E({type:l,selectors:[["app-admin-groups"]],viewQuery:function(o,e){if(o&1&&(Q(Se,5),Q(Ge,7),Q($t,7),Q(Lt,7)),o&2){let p;q(p=W())&&(e.scrollView=p.first),q(p=W())&&(e.inputFilter=p.first),q(p=W())&&(e.mainContextMenu=p.first),q(p=W())&&(e.targetContextMenu=p.first)}},decls:48,vars:42,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["dropdown","",1,"btn-group","btn-group-sm","me-1"],["dropdownToggle","","container","body","type","button",1,"btn","btn-sm","btn-secondary","dropdown-toggle",3,"tooltip"],[3,"icon"],["class","dropdown-menu","role","menu",4,"dropdownMenu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem",""],["contextMenuItem","",3,"divider"],["contextMenuItem","",3,"execute"],["role","menu",1,"dropdown-menu"],["role","menuitem"],[1,"dropdown-item",3,"click"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["alt","",1,"avatar-img",3,"src"],[3,"icon","class"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"]],template:function(o,e){if(o&1){let p=A();r(0,"div",2)(1,"button",3),v(2,"translate"),_("click",function(){return y(p),G(e.refresh())}),d(3,"fa-icon",4),a(),r(4,"div",5)(5,"button",6),v(6,"translate"),d(7,"fa-icon",7),a(),w(8,Kt,11,7,"ul",8),a(),r(9,"button",9),v(10,"translate"),_("click",function(){return y(p),G(e.openDialog(!1,!0))}),d(11,"fa-icon",7),a(),r(12,"button",9),v(13,"translate"),_("click",function(){return y(p),G(e.openDialog())}),d(14,"fa-icon",7),a(),r(15,"div",10)(16,"button",11),_("ngModelChange",function(b){return y(p),G(e.onPersonalGroupsView(b))}),r(17,"div",12),d(18,"fa-icon",13),r(19,"span",14),m(20,"Personal groups"),a()()(),r(21,"div",15),d(22,"app-input-filter",16),a()()(),r(23,"table",17)(24,"thead")(25,"tr"),B(26,qt,1,1,null,null,Tt),v(28,"keyvalue"),a()()(),r(29,"app-virtual-scroll",18),v(30,"searchFilter"),_("contextmenu",function(b){return y(p),G(e.onContextMenu(b))}),r(31,"table",17)(32,"tbody",19),B(33,li,4,5,"tr",20,jt),a()()(),r(35,"div",21)(36,"span",22),m(37),v(38,"translate"),a()(),r(39,"context-menu",null,0),h(41,mi,1,0,null,23),h(42,ci,1,0,null,23),w(43,ui,0,0,"ng-template",24)(44,di,3,1,"ng-template",25),_("execute",function(){return y(p),G(e.refresh())}),a(),r(45,"context-menu",null,1),h(47,Ci,3,1),a()}o&2&&(s(),c("tooltip",T(2,21,"Refresh",e.locale.language)),s(2),c("icon",e.icons.faRotate)("animation",e.loading?"spin":null),s(2),c("tooltip",T(6,24,"New",e.locale.language)),s(2),c("icon",e.icons.faPlus),s(2),c("disabled",!e.selected)("tooltip",T(10,27,e.selected!=null&&e.selected.isUser?"Remove from group":"Delete group",e.locale.language)),s(2),c("icon",e.icons.faMinus),s(),c("disabled",!e.selected)("tooltip",T(13,30,e.selected!=null&&e.selected.isGroup?"Edit group":"Edit user",e.locale.language)),s(2),c("icon",e.icons.faPen),s(2),c("ngModel",e.personalGroupsView),s(2),c("icon",e.personalGroupsView?e.icons.faToggleOn:e.icons.faToggleOff),s(8),N(T(28,33,e.tableHeaders,e.originalOrderKeyValue)),s(3),c("bufferAmount",5)("items",T(30,36,e.members,e.inputFilter.search())),s(4),N(e.scrollView==null?null:e.scrollView.viewPortItems),s(4),Ee("",e.members.length," ",T(38,39,"groups",e.locale.language)),s(4),g(e.currentGroup&&!e.personalGroupsView||!e.currentGroup&&e.personalGroupsView?41:-1),s(),g(e.currentGroup?42:-1),s(),c("divider",!0),s(4),g(e.selected?47:-1))},dependencies:[ot,nt,it,P,M,Ge,Se,je,ht,bt,gt,at,ne,L,ie,lt,te,re,st,Ct,_e],encapsulation:2});let t=l;return t})();export{ao as AdminGroupsComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as Y,d as Te,h as ee,m as ue}from"./chunk-MYM43ENO.js";import{a as Ht}from"./chunk-LYZGJZNP.js";import{b as Ut}from"./chunk-NKGKBQBX.js";import{l as Pt,n as Rt,o as Nt,p as $t,q as U,r as Ot,s as H,w as Mt}from"./chunk-FNOTGWRW.js";import{a as Ft,b as Bt}from"./chunk-ZCOWBVOT.js";import{b as Q}from"./chunk-PXRT4L57.js";import{$a as de,Ba as he,Ca as Et,Cb as Z,Db as u,Gb as wt,Hb as xt,Ib as Tt,Ja as Ie,K as Ct,Mb as xe,N as At,Na as N,Nb as B,Ob as I,Pb as Dt,W as ce,Wa as bt,gb as yt,ib as vt,s as lt,t as pt,tb as It,w as ct,x as mt,y as ht,ya as k}from"./chunk-I2S3XPC5.js";import{d as se}from"./chunk-Y5RLD72B.js";import{Bb as oe,Cd as ot,Dd as st,De as St,Eb as D,Ed as le,Ef as _t,G as _e,Gb as d,Jd as pe,Kd as at,L as Oe,Oa as l,Od as dt,Pc as qe,Qa as ke,Qb as je,Ra as Ue,Rb as J,Sb as P,Tb as c,Ub as q,Vb as O,Wb as Ke,Wf as kt,Xb as Ee,Yb as be,Yc as W,Zb as ye,ab as re,cc as G,ea as R,ed as Ge,f as Ne,fd as We,gc as Ve,ha as Me,hd as ae,ia as ne,ie as ut,ja as S,jd as Ze,kc as b,kd as Ye,lb as A,ld as ve,le as ft,mb as E,mc as y,nb as He,nd as _,oa as K,od as Xe,og as me,p as z,pa as V,pb as Ce,pd as ze,pg as we,qb as Ae,qd as Je,qg as Lt,ra as Fe,rb as m,rg as F,sb as s,sd as Qe,t as $e,tb as a,td as et,ub as g,ud as tt,v as f,vd as it,wd as nt,wf as gt,xa as Be,xd as rt}from"./chunk-IOIBQGHN.js";import{n as M}from"./chunk-DM4NXKEP.js";import{a as v,b as L,d as Re}from"./chunk-KAVP6UXH.js";var X={BASE:`${ce}/link`,LINK:"link",VALIDATION:"validation",ACCESS:"access",AUTH:"auth"},jt=`${X.BASE}/${X.VALIDATION}`,Le=`${X.BASE}/${X.ACCESS}`,Kt=`${X.BASE}/${X.AUTH}`;var h={BASE:`${ce}/shares`,LIST:"list",CHILDREN:"children",LINKS:"links",LINKS_LIST:"links/list",LINKS_UUID:"links/uuid"},Vt=`${h.BASE}/${h.LIST}`,te=`${h.BASE}/${h.LINKS}`,qt=`${h.BASE}/${h.LINKS_LIST}`,Gt=`${h.BASE}/${h.LINKS_UUID}`;var Wt=new Me("WindowToken",typeof window<"u"&&window.document?{providedIn:"root",factory:()=>window}:{providedIn:"root",factory:()=>{}});var Zt=(()=>{class o{constructor(i,e,t){this.ngZone=i,this.document=e,this.window=t,this.copySubject=new Ne,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 t=this.copyText();return this.clearSelection(e?i:void 0,this.window),t&&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 t=this.copyFromInputElement(this.tempTextArea,!1);return this.config.cleanUpAfterCopy&&this.destroy(this.tempTextArea.parentElement||void 0),t}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 t=i.documentElement.getAttribute("dir")==="rtl",n;n=i.createElement("textarea"),n.style.fontSize="12pt",n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";let p=e.pageYOffset||i.documentElement.scrollTop;return n.style.top=p+"px",n.setAttribute("readonly",""),n}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)(ne(Ue),ne(Fe),ne(Wt,8))},o.\u0275prov=R({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var De=(function(o){return o[o.COMMON=0]="COMMON",o[o.LINK=1]="LINK",o})(De||{}),Yt=Object.values(k).filter(o=>o!==k.SHARE_INSIDE).sort().join(":");function ti(o,r){if(o&1&&g(0,"fa-icon",2),o&2){let i=d();P(i.repository.class),je("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 ii(o,r){if(o&1&&g(0,"fa-icon",5),o&2){let i=d(2);P(i.repository.class),m("icon",i.repository.icon)}}function ni(o,r){if(o&1&&(c(0),b(1,"translate")),o&2){let i=d(2);O(" ",y(1,1,i.repository.label,i.locale.language)," ")}}function ri(o,r){if(o&1&&c(0),o&2){let i=d(2);O(" ",i.repository.label," ")}}function oi(o,r){if(o&1&&(s(0,"div",1),A(1,ii,1,3,"fa-icon",3),s(2,"span",4),A(3,ni,2,4)(4,ri,1,1),a()()),o&2){let i=d();l(),E(i.showIcon?1:-1),l(2),E(i.repository.translate?3:4)}}var Xt=(()=>{let r=class r{constructor(){this.showIcon=!0,this.showFullPath=!1,this.locale=S(le),this.layout=S(Z),this.unknownRepository={icon:dt,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:B.SHARES,label:this.share.parent.name,class:"circle-purple-icon",translate:!1}:this.share.file?.ownerId?this.repository={icon:B.PERSONAL,label:xe.PERSONAL_FILES,class:"circle-primary-icon",translate:!0}:this.share.file?.space?.alias?this.repository={icon:B.SPACES,label:`${this.share.file.space.name}`,class:"circle-primary-icon",translate:!1}:this.share.externalPath?this.repository={icon:B.EXTERNAL,label:"External",class:"circle-primary-icon",translate:!0}:this.repository=v({},this.unknownRepository),this.showFullPath&&this.setFullPath()}setFullPath(){if(!this.repository.label)return;let e=this.share.file?.path?this.share.file.path.split("/").filter(t=>t&&t!=="."):[];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===xe.PERSONAL_FILES&&(this.repository.label=this.layout.translateString(this.repository.label)),e.length&&(this.repository.label=`${this.repository.label}/${e.join("/")}`)}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=re({type:r,selectors:[["app-share-repository"]],inputs:{share:"share",galleryMode:"galleryMode",showIcon:"showIcon",showFullPath:"showFullPath"},features:[Be],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(t,n){t&1&&A(0,ti,1,9,"fa-icon",0)(1,oi,5,2,"div",1),t&2&&E(n.galleryMode?0:1)},dependencies:[me,pe],encapsulation:2});let o=r;return o})();function Se(o){o.file?.id?(o.file.isDir&&(o.file.mime=o.parent?.alias?Te:Y),o.mimeUrl=ee(o.file.mime)):o.mimeUrl=ee(o.parent?.alias?Te:Y)}function zt(o){let r,i=o.file.path?o.file.path.split("/").filter(t=>t&&t!=="."):[];if(o.parent?.id){if(!i.length)return[I.SPACES_SHARES,o.parent.alias];r=`${I.SPACES_SHARES}/${o.parent.alias}`}else o.file.space?.alias?o.file.inTrash?r=`${I.SPACES_TRASH}/${o.file.space.alias}`:(r=`${I.SPACES_FILES}/${o.file.space.alias}`,o.file.space?.root?.alias&&(i.length?r=`${r}/${o.file.space.root.alias}`:i.push(o.file.space.root.name))):o.file?.ownerId?r=`${o.file.inTrash?I.PERSONAL_TRASH:I.PERSONAL_FILES}`:console.warn("unable to find the right file path",o);let e=i.pop();return r&&i.length&&(r=`${r}/${i.join("/")}`),[r,e]}var w=class{constructor(r){this.members=[],this.links=[],this.hPerms={},this.setMembers(N("members",r),r.externalPath||r.file?.isDir?[k.SHARE_INSIDE]:[]),Object.assign(this,r),Se(this),this.checkFile(),this.setPermissions()}fallBackMimeUrl(){this.mimeUrl=ue}setMembers(r,i){if(r)for(let e of r)e.linkId?this.links.push(new H(e,[...i,k.SHARE_OUTSIDE])):this.members.push(new H(e,i))}checkFile(){this.file&&(!this.file.path&&this.file.space.root?.name&&(this.file.path=this.file.space.root.name,this.file.name=this.file.space.root.name),this.file.permissions&&(this.file.permissions=this.file.permissions.split(":").filter(r=>r===k.SHARE_INSIDE||r===k.ADD&&this.file.id&&!this.file.isDir?!1:!(r===k.DELETE&&this.file.id&&!this.file.isDir)).join(":")))}setPermissions(){typeof this.file?.permissions=="string"?this.hPerms=U(this.file.permissions):this.externalPath&&(this.hPerms=U(Yt))}};var Jt=(()=>{let r=class r{constructor(){this.http=S(W),this.router=S(se)}getShare(e){return this.http.get(`${h.BASE}/${e}`).pipe(f(t=>new w(t)))}createShare(e){return this.http.post(h.BASE,e).pipe(f(t=>new w(t)))}updateShare(e){return this.http.put(`${h.BASE}/${e.id}`,e).pipe(f(t=>new w(t)))}deleteShare(e){return this.http.delete(`${h.BASE}/${e}`)}listShares(){return this.http.get(Vt)}getShareChild(e,t){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}/${t}`).pipe(f(n=>new w(n)))}updateShareChild(e,t,n){return this.http.put(`${h.BASE}/${e}/${h.CHILDREN}/${t}`,n).pipe(f(p=>new w(p)))}deleteShareChild(e,t){return this.http.delete(`${h.BASE}/${e}/${h.CHILDREN}/${t}`)}listChildShares(e){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}`)}initShareFromFile(e,t,n=!1,p=!1){let C,x=null,T=v({id:0,name:"",createdAt:new Date,modifiedAt:new Date,storageIndexing:!0,enabled:!0},n?{parent:{id:0,ownerId:0,alias:t.space.alias,name:t.space.name}}:{});if(t){p&&(x=t.root.id);let Pe=null;(t?.root?.owner.login===e.login||!t?.space?.alias)&&(t.space=null,Pe=e.id),C=new w(L(v({},T),{name:t.name,file:L(v({},t),{path:p?".":bt(t.path,2),ownerId:Pe})}))}else C=new w(T);return[C,x]}goTo(e){if(!e.id)return $e(z(!1));if(e.externalPath&&!e.parent?.id)return this.router.navigate([I.SPACES_SHARES],{queryParams:{select:e.name}});if(e.parent?.id&&!e.file?.id&&e.file?.path.indexOf("/")===-1)return this.router.navigate([I.SPACES_SHARES],{queryParams:{select:e.parent.name}});{let[t,n]=zt(e);return this.router.navigate([t],{queryParams:{select:n}})}}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=R({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var $=class{constructor(r){this.hTimeExpirationAgo=0,this.hPerms={},this.newly=0,Object.assign(this,r),Se(this),this.updatePermission(),this.updateTimes()}fallBackMimeUrl(){this.mimeUrl=ue}updatePermission(){this.hPerms=U(this.link.permissions)}updateTimes(){if(this.hTimeAccessAgo=M(this.link.currentAccess).fromNow(!0),this.newly=de(this.link.currentAccess),this.link.expiresAt){this.link.expiresAt=new Date(M(this.link.expiresAt).local().format("YYYY-MM-DD"));let r=Math.max(0,M(this.link.expiresAt).diff(M(),"hours"));r===0?this.hTimeExpirationAgo=0:r<=24?this.hTimeExpirationAgo=1:this.hTimeExpirationAgo=Math.round(r/24)+1}else this.hTimeExpirationAgo=0}};var j=class{constructor(r){this.roots=[],this.managers=[],this.members=[],this.links=[],this.hPerms={},this.newly=0,this.hPerms=U(r.permissions),this.setMembers(N("members",r)),this.setRoots(N("roots",r)),Object.assign(this,r),this.hTimeAgo=M(this.modifiedAt).fromNow(!0),this.newly=de(this.modifiedAt),this.sort()}addRoot(r,i=!1){r.hPerms=Nt(r.permissions,[k.SHARE_INSIDE]),r.owner?.login&&(r.owner.avatarUrl=It(r.owner.login)),r.file.mimeUrl=ee(r.file?.mime?r.file.mime:Y),i?this.roots.unshift(r):this.roots.push(r),r.isDir=r.file.mime===Y||!!r.externalPath}havePermission(r){return this.permissions.indexOf(r)>-1}setMembers(r){if(r)for(let i of r){let e=new H(i);e.isLink?this.links.push(e):e.spaceRole===he.IS_MANAGER?this.managers.push(e):this.members.push(e)}}setRoots(r){if(r)for(let i of r)this.addRoot(i)}sort(){Q(this.roots,"createdAt",!1),Q(this.managers,"createdAt",!1),Q(this.members,"createdAt",!1),Q(this.links,"createdAt",!1)}};var Qt=(()=>{let r=class r{constructor(){this.http=S(W)}listSpaces(){return this.http.get(wt).pipe(f(e=>e.map(t=>new j(t))))}getSpace(e){return this.http.get(`${u.BASE}/${e}`).pipe(f(t=>new j(t)))}getUserSpaceRoots(e){return this.http.get(`${u.BASE}/${e}/${u.ROOTS}`)}createUserSpaceRoots(e,t){return this.http.post(`${u.BASE}/${e}/${u.ROOTS}`,t)}updateUserSpaceRoots(e,t){return this.http.put(`${u.BASE}/${e}/${u.ROOTS}`,t)}updateSpace(e){return this.http.put(`${u.BASE}/${e.id}`,e).pipe(f(t=>t?new j(t):null))}createSpace(e){return this.http.post(u.BASE,e).pipe(f(t=>(t.permissions=Et,new j(t))))}deleteSpace(e,t){return this.http.request("delete",`${u.BASE}/${e}`,{body:t})}searchSpaces(e){return this.http.request("search",u.BASE,{body:e})}listSpaceShares(e){return this.http.get(`${u.BASE}/${e}/${u.SHARES}`)}getSpaceShare(e,t){return this.http.get(`${u.BASE}/${e}/${u.SHARES}/${t}`).pipe(f(n=>new w(n)))}updateSpaceShare(e,t){return this.http.put(`${u.BASE}/${e}/${u.SHARES}/${t.id}`,t).pipe(f(n=>new w(n)))}deleteSpaceShare(e,t){return this.http.delete(`${u.BASE}/${e}/${u.SHARES}/${t}`)}getSpaceShareLink(e,t){return this.http.get(`${u.BASE}/${e}/${u.LINKS}/${t}`).pipe(f(n=>new $(n)))}listTrashBins(){return this.http.get(xt)}checkSpaceRootPath(e){return this.http.post(Tt,{path:e})}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=R({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var ai=o=>({dateInputFormat:"YYYY-MM-DD",containerClass:"theme-dark-blue",returnFocusToInput:!0,minDate:o,showWeekNumbers:!1}),li=(o,r)=>r.key;function pi(o,r){o&1&&(s(0,"span",4),c(1,"Edit link"),a())}function ci(o,r){o&1&&(s(0,"span",4),c(1,"New link"),a())}function mi(o,r){o&1&&g(0,"div",54)}function hi(o,r){if(o&1){let i=oe();s(0,"button",53),b(1,"translate"),ye("ngModelChange",function(t){let n=K(i).$implicit,p=d(3);return be(p.permissions[n.key],t)||(p.permissions[n.key]=t),V(t)}),D("ngModelChange",function(){K(i);let t=d(3);return V(t.onPermissionChange())}),g(2,"fa-icon",50),a(),A(3,mi,1,0,"div",54)}if(o&2){let i=r.$implicit,e=r.$index,t=r.$count,n=d(3);Ee("ngModel",n.permissions[i.key]),m("tooltip",y(1,4,n.SPACES_PERMISSIONS_TEXT[i.key].text,n.locale.language)),l(2),m("icon",n.SPACES_PERMISSIONS_TEXT[i.key].icon),l(),E(e===t-1?3:-1)}}function di(o,r){if(o&1&&(Ce(0,hi,4,7,null,null,li),b(2,"keyvalue")),o&2){let i=d(2);Ae(y(2,0,i.permissions,i.originalOrderKeyValue))}}function ui(o,r){if(o&1&&(s(0,"div",51),g(1,"app-share-repository",55),a()),o&2){let i=d(2);l(),m("share",i.share)("showIcon",!0)("showFullPath",!0)}}function fi(o,r){if(o&1){let i=oe();s(0,"div",44),g(1,"fa-icon",45),s(2,"div",46)(3,"span"),c(4),a(),s(5,"span",47),c(6),a()(),s(7,"div",48),A(8,di,3,3),s(9,"button",49),b(10,"translate"),D("click",function(){K(i);let t=d();return V(t.toggleRequireAuth())}),g(11,"fa-icon",50),a(),s(12,"button",49),b(13,"translate"),D("click",function(){K(i);let t=d();return V(t.copyToClipboard())}),g(14,"fa-icon",50),a()()(),A(15,ui,2,3,"div",51),g(16,"hr",52)}if(o&2){let i=d();l(),m("icon",i.icons.links),l(3),q(i.linkForm.value.name||i.linkForm.value.shareName),l(2),q(i.linkForm.value.email),l(2),E(i.share&&i.permissions?8:-1),l(),P(G("btn btn-sm ",i.linkForm.value.requireAuth?"btn-success":"btn-warning")),m("tooltip",y(10,15,"Password",i.locale.language)),l(2),m("icon",i.linkForm.value.requireAuth?i.icons.faLock:i.icons.faLockOpen),l(),P(G("btn btn-sm ms-2 ",i.linkWasCopied?"btn-info":"btn-secondary")),m("tooltip",y(13,18,"Copy link",i.locale.language)),l(2),m("icon",i.linkWasCopied?i.icons.faClipboardCheck:i.icons.faClipboard),l(),E(i.share?15:-1)}}function Si(o,r){if(o&1&&(s(0,"span"),c(1),a()),o&2){let i=d();P(G("badge rounded-pill ",(i.share?i.share.link.nbAccess:i.link.nbAccess)>=i.linkForm.value.limitAccess?"bg-danger":"bg-success")),l(),Ke(" ",i.share?i.share.link.nbAccess:i.link.nbAccess,"/",i.linkForm.value.limitAccess," ")}}function gi(o,r){if(o&1&&(s(0,"span",20),c(1),a()),o&2){let i=d();l(),q(i.share?i.share.link.nbAccess:i.link.nbAccess)}}function _i(o,r){if(o&1&&(s(0,"div",27)(1,"label",56),c(2,"Share name"),a(),g(3,"input",57),b(4,"translate"),a(),s(5,"div",27)(6,"label",58),c(7,"Share description"),a(),g(8,"input",59),b(9,"translate"),a()),o&2){let i=d();l(3),J("is-invalid",i.linkForm.controls.shareName.invalid),m("placeholder",y(4,4,"Share name",i.locale.language)),l(5),m("placeholder",y(9,7,"Share description",i.locale.language))}}function ki(o,r){if(o&1&&(s(0,"option",30),c(1),a()),o&2){let i=r.$implicit,e=d();m("ngValue",i),l(),q(e.i18nLanguageText[i])}}function Ci(o,r){if(o&1&&(s(0,"div",37),g(1,"app-password-strength-bar",60),a()),o&2){let i=d();l(),m("passwordToCheck",i.password)}}function Ai(o,r){if(o&1){let i=oe();s(0,"button",61),D("click",function(){K(i);let t=d();return V(t.confirmDeletion=!0)}),c(1," Remove "),a()}if(o&2){let i=d();m("disabled",i.confirmDeletion)}}var ge=(()=>{let r=class r{constructor(){this.layout=S(Z),this.parentSpaceId=null,this.isSharesRepo=!1,this.inSharesList=!1,this.submitEvent=new ke,this.shareChange=new ke,this.locale=S(le),this.confirmDeletion=!1,this.submitted=!1,this.SPACES_PERMISSIONS_TEXT=Dt,this.originalOrderKeyValue=yt,this.icons={faEye:ut,faEyeSlash:kt,links:B.LINKS,faClipboard:St,faClipboardCheck:ft,faLock:_t,faLockOpen:gt},this.languages=this.layout.getLanguages(),this.minDate=Ie(),this.defaultPassword=this.layout.translateString(Ct),this.passwordMinLength=8,this.password="",this.linkIsExpired=!1,this.linkIsHovered=!1,this.linkWasCopied=!1,this.i18nLanguageText=At,this.userService=S(Mt),this.sharesService=S(Jt),this.linksService=S(ei),this.spacesService=S(Qt),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=Ot(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:p=>{this.layout.sendNotification("error","Delete share",this.share.name,p),this.layout.closeDialog()}});return}if(this.file?.id){let t=this.share,{link:n}=t,p=Re(t,["link"]),C=L(v(v({},n),this.linkForm.value),{password:this.mustIncludePassword()?this.password:void 0});p.name=N("shareName",C),p.description=N("shareDescription",C);let x=this.linksService.shareLinkGuestToMember(-1,-1,C);this.sharesService.createShare(L(v({},p),{type:De.LINK,links:[x]})).subscribe({next:T=>{this.shareChange.emit(["add",T]),this.layout.sendNotification("success","Link created",n.name||T.name),this.layout.closeDialog()},error:T=>{this.layout.sendNotification("error","Link error",this.share.name,T),this.layout.closeDialog()}});return}let e={};for(let n in this.linkForm.controls)this.linkForm.controls[n].dirty&&(e[n]=this.linkForm.controls[n].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,Lt.SHARE,e).subscribe({next:n=>{this.share.name=this.linkForm.value.shareName,this.share.description=this.linkForm.value.shareDescription,this.share.link=Object.assign(this.share.link,n),this.share.updateTimes(),this.share.updatePermission(),this.shareChange.emit(["update",this.share]),this.layout.closeDialog()},error:n=>{this.layout.sendNotification("error","Link error",this.share.link.name||this.share.name,n),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=L(v({},e),{link:{id:-1,userId:-1,uuid:"",isActive:!0,requireAuth:!1,permissions:"",nbAccess:0,limitAccess:0}}),this.linksService.genUUID().subscribe(t=>this.share.link.uuid=t),this.initShareLink(),this.onPermissionChange()}initShareLink(){this.linkForm=new ve({shareName:new _(this.share.name,ae.required),shareDescription:new _(this.share.description||""),name:new _(this.share.link?.name||""),email:new _(this.share.link?.email||"",ae.email),language:new _(this.share.link.language||null),limitAccess:new _(this.share.link.limitAccess||null),expiresAt:new _(this.share.link.expiresAt||null),requireAuth:new _(this.share.link.requireAuth||!1),permissions:new _(this.share.link.permissions),isActive:new _(this.share.link.isActive)}),this.permissions=$t(this.share.file.permissions,this.share.link.permissions,[k.SHARE_INSIDE,k.SHARE_OUTSIDE,...this.share.file.isDir?[]:[k.DELETE,k.ADD]])}initLink(){this.linkForm=new ve({shareName:new _(""),shareDescription:new _(""),name:new _(this.link.name||""),email:new _(this.link.email||"",ae.email),language:new _(this.link.language||null),limitAccess:new _(this.link.limitAccess||null),expiresAt:new _(this.link.expiresAt||null),requireAuth:new _(this.link.requireAuth||!1),permissions:new _(this.link.permissions),isActive:new _(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=Ie()>=e}mustIncludePassword(){return!!this.password.length&&this.password!==this.defaultPassword}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=re({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(t,n){t&1&&(s(0,"div",0)(1,"h4",1),g(2,"fa-icon",2),s(3,"span"),c(4),a()(),s(5,"h4",3),A(6,pi,2,0,"span",4)(7,ci,2,0,"span",4),a(),s(8,"button",5),D("click",function(){return n.layout.closeDialog()}),a()(),s(9,"div",6),A(10,fi,17,21),s(11,"form",7)(12,"div",8)(13,"div",9)(14,"div",10),D("mouseover",function(){return n.linkIsHovered=!0})("mouseleave",function(){return n.linkIsHovered=!1})("focus",function(){return n.linkIsHovered=!0})("click",function(){return n.copyToClipboard()}),s(15,"label",11),c(16,"Link"),a(),s(17,"span",12),c(18),a()(),s(19,"div",13)(20,"label",14),c(21,"Active"),a(),s(22,"div",15),g(23,"input",16),s(24,"span"),c(25),b(26,"translate"),a()()(),s(27,"div",13)(28,"label",17),c(29,"Current access count"),a(),s(30,"span",18),A(31,Si,2,5,"span",19)(32,gi,2,1,"span",20),a()(),A(33,_i,10,10),s(34,"div",21)(35,"label",22),c(36,"Guest name"),a(),g(37,"input",23),b(38,"translate"),a(),s(39,"div",24)(40,"label",25),c(41,"Guest email"),a(),g(42,"input",26),b(43,"translate"),a(),s(44,"div",27)(45,"label",28),c(46,"Guest language"),a(),s(47,"select",29),Ce(48,ki,2,2,"option",30,He),a()(),s(50,"div",27)(51,"label",31),c(52,"Limit access"),a(),g(53,"input",32),b(54,"translate"),a(),s(55,"div",27)(56,"label",33),c(57,"Expiration"),a(),g(58,"input",34),b(59,"translate"),a(),s(60,"div",35)(61,"label",36),c(62,"Password"),a(),A(63,Ci,2,1,"div",37),s(64,"div",15),g(65,"input",38),a(),s(66,"app-input-password",39),ye("passwordChange",function(C){return be(n.password,C)||(n.password=C),C}),a()()()()()(),s(67,"div",40),A(68,Ai,2,1,"button",41),s(69,"button",42),D("click",function(){return n.onCancel()}),c(70,"Cancel"),a(),s(71,"button",43),D("click",function(){return n.onSubmit()}),c(72),a()()),t&2&&(l(2),m("icon",n.icons.links),l(2),q(n.linkForm.value.name||n.linkForm.value.shareName),l(2),E(n.share!=null&&n.share.id||n.link!=null&&n.link.id?6:7),l(4),E(n.share||n.link?10:-1),l(),m("formGroup",n.linkForm),l(6),J("text-primary",n.linkIsHovered),l(),O(" ",n.share?n.share.link.uuid:n.link.uuid," "),l(6),P(G("badge rounded-pill ms-3 ",n.linkForm.value.isActive?"bg-primary":"bg-danger")),l(),O(" ",y(26,35,n.linkForm.value.isActive?"yes":"no",n.locale.language)," "),l(6),E(n.linkForm.value.limitAccess?31:32),l(2),E(n.share?33:-1),l(4),m("placeholder",y(38,38,"Guest name",n.locale.language)),l(5),J("is-invalid",n.linkForm.controls.email.invalid),m("placeholder",y(43,41,"Guest email",n.locale.language)),l(6),Ae(n.languages),l(5),m("placeholder",y(54,44,"Unlimited",n.locale.language)),l(5),J("text-danger",n.linkIsExpired),m("placeholder",y(59,47,"Never expires",n.locale.language))("bsConfig",Ve(50,ai,n.minDate)),l(5),E(n.linkForm.value.requireAuth&&n.password!==n.defaultPassword?63:-1),l(3),m("isRequired",n.linkForm.value.requireAuth)("disabled",!n.linkForm.value.requireAuth)("passwordMinLength",n.passwordMinLength),Ee("password",n.password),m("showGenerator",!0),l(2),E(n.share!=null&&n.share.id?68:-1),l(3),P(G("btn btn-sm ",n.confirmDeletion?"btn-danger":"btn-primary")),m("disabled",n.linkForm.invalid||n.linkForm.controls.requireAuth.value&&n.password.length<n.passwordMinLength||n.submitted),l(),O(" ",n.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[me,at,ht,ct,mt,Bt,Ft,ot,ze,it,nt,We,Je,Ge,tt,Ze,Ye,rt,Xe,Pt,pt,lt,st,Qe,et,Xt,Ht,qe,pe],encapsulation:2});let o=r;return o})();var ei=(()=>{let r=class r{constructor(){this.router=S(se),this.http=S(W),this.layout=S(Z),this.authService=S(Ut),this.clipboard=S(Zt)}shareLinksList(){return this.http.get(qt).pipe(f(e=>e.map(t=>new $(t))))}shareLink(e){return this.http.get(`${te}/${e}`).pipe(f(t=>new $(t)))}shareLinkChild(e,t){return this.http.get(`${te}/${e}/${h.CHILDREN}/${t}`).pipe(f(n=>new $(n)))}linkFromSpaceOrShare(e,t,n){return this.http.get(`${te}/${e}/${n}/${t}`)}linkValidation(e){return this.http.get(`${jt}/${e}`).pipe(f(t=>t.ok?t.link:(t.error&&(t.error===we.UNAUTHORIZED?this.router.navigate([`${F.LINK}/${e}/${F.AUTH}`]).catch(console.error):this.router.navigate([`${F.LINK}/${e}/${t.error}`]).catch(console.error)),!1)),_e(()=>(this.authService.logout(),z(!1))))}linkAccess(e,t){t.share?.isDir||t.space?.alias?this.http.get(`${Le}/${e}`).subscribe(n=>{this.authService.initUserFromResponse(n),t.space?this.router.navigate([I.SPACES,t.space.alias]).catch(console.error):this.router.navigate([I.SPACES_SHARES,t.share.alias]).catch(console.error)}):vt(`${Le}/${e}`)}linkAuthentication(e,t){return this.http.post(`${Kt}/${e}`,{password:t}).pipe(f(n=>(this.authService.initUserFromResponse(n),this.router.navigate([`${F.LINK}/${e}`]).catch(console.error),!0)),_e(n=>(n.error.message===we.UNAUTHORIZED?this.layout.sendNotification("warning","Link","Bad password"):this.router.navigate([`${F.LINK}/${e}/${n.error.message}`]).catch(console.error),z(!1))))}copyLinkToClipboard(e){this.clipboard.copyFromContent(this.genLink(e))}genUUID(){return this.http.get(Gt).pipe(f(e=>e.uuid))}createLinkDialog(e){this.genUUID().subscribe(t=>{let n=this.layout.openDialog(ge,"md",{initialState:{link:{name:e.name,uuid:t,isActive:!0,nbAccess:0}}});this.subscribeToSubmitLinkModal(n,e)})}updateLinkFromSpaceOrShare(e,t,n,p){return this.http.put(`${te}/${e}/${n}/${t}`,p)}editLinkDialog(e,t,n){if(t.id===0||e?.linkSettings?.uuid){let p=this.layout.openDialog(ge,"md",{initialState:{link:e.linkSettings}});this.subscribeToSubmitLinkModal(p,t,e)}else this.linkFromSpaceOrShare(e.linkId,t.id,n).subscribe({next:p=>{let C=this.layout.openDialog(ge,"md",{initialState:{link:L(v({},p),{permissions:e.permissions})}});this.subscribeToSubmitLinkModal(C,t,e)},error:p=>this.layout.sendNotification("error","Link error",e.name||t.name,p)})}shareLinkGuestToMember(e,t,n){return new H({id:e,linkId:t,name:n.name,description:n.email,createdAt:n.createdAt,permissions:n.permissions,type:Rt.LINK,spaceRole:he.IS_MEMBER,linkSettings:n},[k.SHARE_INSIDE,k.SHARE_OUTSIDE])}subscribeToSubmitLinkModal(e,t,n){e.content.submitEvent.pipe(Oe(1)).subscribe(p=>{if(Object.keys(p).length){let C=Object.assign(e.content.link,p),x=this.shareLinkGuestToMember(C.userId||-(t.links.length+1),n?.linkId||-(t.links.length+1),C);x.linkId?t.links=[x,...t.links.filter(T=>T.linkId!==x.linkId)]:t.links=[x,...t.links]}e.content.layout.closeDialog()})}genLink(e){return`${document.location.origin}/#/${F.LINK}/${e}`}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=R({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();export{Zt as a,De as b,Xt as c,Se as d,w as e,Jt as f,j as g,Qt as h,ge as i,ei as j};
|
|
1
|
+
import{c as Y,d as Te,h as ee,m as ue}from"./chunk-MYM43ENO.js";import{a as Ht}from"./chunk-25PWAXTJ.js";import{b as Ut}from"./chunk-S4UTSOPV.js";import{l as Pt,n as Rt,o as Nt,p as $t,q as U,r as Ot,s as H,w as Mt}from"./chunk-4ZKAVMB4.js";import{a as Ft,b as Bt}from"./chunk-5HYSNQR4.js";import{b as Q}from"./chunk-BVKDW5XO.js";import{$a as de,Ba as he,Ca as Et,Cb as Z,Db as u,Gb as wt,Hb as xt,Ib as Tt,Ja as Ie,K as Ct,Mb as xe,N as At,Na as N,Nb as B,Ob as I,Pb as Dt,W as ce,Wa as bt,gb as yt,ib as vt,s as lt,t as pt,tb as It,w as ct,x as mt,y as ht,ya as k}from"./chunk-FCR5AEHR.js";import{d as se}from"./chunk-LFAQLJZK.js";import{Bb as oe,Cd as ot,Dd as st,De as St,Eb as D,Ed as le,Ef as _t,G as _e,Gb as d,Jd as pe,Kd as at,L as Oe,Oa as l,Od as dt,Pc as qe,Qa as ke,Qb as je,Ra as Ue,Rb as J,Sb as P,Tb as c,Ub as q,Vb as O,Wb as Ke,Wf as kt,Xb as Ee,Yb as be,Yc as W,Zb as ye,ab as re,cc as G,ea as R,ed as Ge,f as Ne,fd as We,gc as Ve,ha as Me,hd as ae,ia as ne,ie as ut,ja as S,jd as Ze,kc as b,kd as Ye,lb as A,ld as ve,le as ft,mb as E,mc as y,nb as He,nd as _,oa as K,od as Xe,og as me,p as z,pa as V,pb as Ce,pd as ze,pg as we,qb as Ae,qd as Je,qg as Lt,ra as Fe,rb as m,rg as F,sb as s,sd as Qe,t as $e,tb as a,td as et,ub as g,ud as tt,v as f,vd as it,wd as nt,wf as gt,xa as Be,xd as rt}from"./chunk-BJARRIS6.js";import{n as M}from"./chunk-DM4NXKEP.js";import{a as v,b as L,d as Re}from"./chunk-KAVP6UXH.js";var X={BASE:`${ce}/link`,LINK:"link",VALIDATION:"validation",ACCESS:"access",AUTH:"auth"},jt=`${X.BASE}/${X.VALIDATION}`,Le=`${X.BASE}/${X.ACCESS}`,Kt=`${X.BASE}/${X.AUTH}`;var h={BASE:`${ce}/shares`,LIST:"list",CHILDREN:"children",LINKS:"links",LINKS_LIST:"links/list",LINKS_UUID:"links/uuid"},Vt=`${h.BASE}/${h.LIST}`,te=`${h.BASE}/${h.LINKS}`,qt=`${h.BASE}/${h.LINKS_LIST}`,Gt=`${h.BASE}/${h.LINKS_UUID}`;var Wt=new Me("WindowToken",typeof window<"u"&&window.document?{providedIn:"root",factory:()=>window}:{providedIn:"root",factory:()=>{}});var Zt=(()=>{class o{constructor(i,e,t){this.ngZone=i,this.document=e,this.window=t,this.copySubject=new Ne,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 t=this.copyText();return this.clearSelection(e?i:void 0,this.window),t&&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 t=this.copyFromInputElement(this.tempTextArea,!1);return this.config.cleanUpAfterCopy&&this.destroy(this.tempTextArea.parentElement||void 0),t}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 t=i.documentElement.getAttribute("dir")==="rtl",n;n=i.createElement("textarea"),n.style.fontSize="12pt",n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";let p=e.pageYOffset||i.documentElement.scrollTop;return n.style.top=p+"px",n.setAttribute("readonly",""),n}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)(ne(Ue),ne(Fe),ne(Wt,8))},o.\u0275prov=R({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var De=(function(o){return o[o.COMMON=0]="COMMON",o[o.LINK=1]="LINK",o})(De||{}),Yt=Object.values(k).filter(o=>o!==k.SHARE_INSIDE).sort().join(":");function ti(o,r){if(o&1&&g(0,"fa-icon",2),o&2){let i=d();P(i.repository.class),je("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 ii(o,r){if(o&1&&g(0,"fa-icon",5),o&2){let i=d(2);P(i.repository.class),m("icon",i.repository.icon)}}function ni(o,r){if(o&1&&(c(0),b(1,"translate")),o&2){let i=d(2);O(" ",y(1,1,i.repository.label,i.locale.language)," ")}}function ri(o,r){if(o&1&&c(0),o&2){let i=d(2);O(" ",i.repository.label," ")}}function oi(o,r){if(o&1&&(s(0,"div",1),A(1,ii,1,3,"fa-icon",3),s(2,"span",4),A(3,ni,2,4)(4,ri,1,1),a()()),o&2){let i=d();l(),E(i.showIcon?1:-1),l(2),E(i.repository.translate?3:4)}}var Xt=(()=>{let r=class r{constructor(){this.showIcon=!0,this.showFullPath=!1,this.locale=S(le),this.layout=S(Z),this.unknownRepository={icon:dt,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:B.SHARES,label:this.share.parent.name,class:"circle-purple-icon",translate:!1}:this.share.file?.ownerId?this.repository={icon:B.PERSONAL,label:xe.PERSONAL_FILES,class:"circle-primary-icon",translate:!0}:this.share.file?.space?.alias?this.repository={icon:B.SPACES,label:`${this.share.file.space.name}`,class:"circle-primary-icon",translate:!1}:this.share.externalPath?this.repository={icon:B.EXTERNAL,label:"External",class:"circle-primary-icon",translate:!0}:this.repository=v({},this.unknownRepository),this.showFullPath&&this.setFullPath()}setFullPath(){if(!this.repository.label)return;let e=this.share.file?.path?this.share.file.path.split("/").filter(t=>t&&t!=="."):[];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===xe.PERSONAL_FILES&&(this.repository.label=this.layout.translateString(this.repository.label)),e.length&&(this.repository.label=`${this.repository.label}/${e.join("/")}`)}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=re({type:r,selectors:[["app-share-repository"]],inputs:{share:"share",galleryMode:"galleryMode",showIcon:"showIcon",showFullPath:"showFullPath"},features:[Be],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(t,n){t&1&&A(0,ti,1,9,"fa-icon",0)(1,oi,5,2,"div",1),t&2&&E(n.galleryMode?0:1)},dependencies:[me,pe],encapsulation:2});let o=r;return o})();function Se(o){o.file?.id?(o.file.isDir&&(o.file.mime=o.parent?.alias?Te:Y),o.mimeUrl=ee(o.file.mime)):o.mimeUrl=ee(o.parent?.alias?Te:Y)}function zt(o){let r,i=o.file.path?o.file.path.split("/").filter(t=>t&&t!=="."):[];if(o.parent?.id){if(!i.length)return[I.SPACES_SHARES,o.parent.alias];r=`${I.SPACES_SHARES}/${o.parent.alias}`}else o.file.space?.alias?o.file.inTrash?r=`${I.SPACES_TRASH}/${o.file.space.alias}`:(r=`${I.SPACES_FILES}/${o.file.space.alias}`,o.file.space?.root?.alias&&(i.length?r=`${r}/${o.file.space.root.alias}`:i.push(o.file.space.root.name))):o.file?.ownerId?r=`${o.file.inTrash?I.PERSONAL_TRASH:I.PERSONAL_FILES}`:console.warn("unable to find the right file path",o);let e=i.pop();return r&&i.length&&(r=`${r}/${i.join("/")}`),[r,e]}var w=class{constructor(r){this.members=[],this.links=[],this.hPerms={},this.setMembers(N("members",r),r.externalPath||r.file?.isDir?[k.SHARE_INSIDE]:[]),Object.assign(this,r),Se(this),this.checkFile(),this.setPermissions()}fallBackMimeUrl(){this.mimeUrl=ue}setMembers(r,i){if(r)for(let e of r)e.linkId?this.links.push(new H(e,[...i,k.SHARE_OUTSIDE])):this.members.push(new H(e,i))}checkFile(){this.file&&(!this.file.path&&this.file.space.root?.name&&(this.file.path=this.file.space.root.name,this.file.name=this.file.space.root.name),this.file.permissions&&(this.file.permissions=this.file.permissions.split(":").filter(r=>r===k.SHARE_INSIDE||r===k.ADD&&this.file.id&&!this.file.isDir?!1:!(r===k.DELETE&&this.file.id&&!this.file.isDir)).join(":")))}setPermissions(){typeof this.file?.permissions=="string"?this.hPerms=U(this.file.permissions):this.externalPath&&(this.hPerms=U(Yt))}};var Jt=(()=>{let r=class r{constructor(){this.http=S(W),this.router=S(se)}getShare(e){return this.http.get(`${h.BASE}/${e}`).pipe(f(t=>new w(t)))}createShare(e){return this.http.post(h.BASE,e).pipe(f(t=>new w(t)))}updateShare(e){return this.http.put(`${h.BASE}/${e.id}`,e).pipe(f(t=>new w(t)))}deleteShare(e){return this.http.delete(`${h.BASE}/${e}`)}listShares(){return this.http.get(Vt)}getShareChild(e,t){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}/${t}`).pipe(f(n=>new w(n)))}updateShareChild(e,t,n){return this.http.put(`${h.BASE}/${e}/${h.CHILDREN}/${t}`,n).pipe(f(p=>new w(p)))}deleteShareChild(e,t){return this.http.delete(`${h.BASE}/${e}/${h.CHILDREN}/${t}`)}listChildShares(e){return this.http.get(`${h.BASE}/${e}/${h.CHILDREN}`)}initShareFromFile(e,t,n=!1,p=!1){let C,x=null,T=v({id:0,name:"",createdAt:new Date,modifiedAt:new Date,storageIndexing:!0,enabled:!0},n?{parent:{id:0,ownerId:0,alias:t.space.alias,name:t.space.name}}:{});if(t){p&&(x=t.root.id);let Pe=null;(t?.root?.owner.login===e.login||!t?.space?.alias)&&(t.space=null,Pe=e.id),C=new w(L(v({},T),{name:t.name,file:L(v({},t),{path:p?".":bt(t.path,2),ownerId:Pe})}))}else C=new w(T);return[C,x]}goTo(e){if(!e.id)return $e(z(!1));if(e.externalPath&&!e.parent?.id)return this.router.navigate([I.SPACES_SHARES],{queryParams:{select:e.name}});if(e.parent?.id&&!e.file?.id&&e.file?.path.indexOf("/")===-1)return this.router.navigate([I.SPACES_SHARES],{queryParams:{select:e.parent.name}});{let[t,n]=zt(e);return this.router.navigate([t],{queryParams:{select:n}})}}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=R({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var $=class{constructor(r){this.hTimeExpirationAgo=0,this.hPerms={},this.newly=0,Object.assign(this,r),Se(this),this.updatePermission(),this.updateTimes()}fallBackMimeUrl(){this.mimeUrl=ue}updatePermission(){this.hPerms=U(this.link.permissions)}updateTimes(){if(this.hTimeAccessAgo=M(this.link.currentAccess).fromNow(!0),this.newly=de(this.link.currentAccess),this.link.expiresAt){this.link.expiresAt=new Date(M(this.link.expiresAt).local().format("YYYY-MM-DD"));let r=Math.max(0,M(this.link.expiresAt).diff(M(),"hours"));r===0?this.hTimeExpirationAgo=0:r<=24?this.hTimeExpirationAgo=1:this.hTimeExpirationAgo=Math.round(r/24)+1}else this.hTimeExpirationAgo=0}};var j=class{constructor(r){this.roots=[],this.managers=[],this.members=[],this.links=[],this.hPerms={},this.newly=0,this.hPerms=U(r.permissions),this.setMembers(N("members",r)),this.setRoots(N("roots",r)),Object.assign(this,r),this.hTimeAgo=M(this.modifiedAt).fromNow(!0),this.newly=de(this.modifiedAt),this.sort()}addRoot(r,i=!1){r.hPerms=Nt(r.permissions,[k.SHARE_INSIDE]),r.owner?.login&&(r.owner.avatarUrl=It(r.owner.login)),r.file.mimeUrl=ee(r.file?.mime?r.file.mime:Y),i?this.roots.unshift(r):this.roots.push(r),r.isDir=r.file.mime===Y||!!r.externalPath}havePermission(r){return this.permissions.indexOf(r)>-1}setMembers(r){if(r)for(let i of r){let e=new H(i);e.isLink?this.links.push(e):e.spaceRole===he.IS_MANAGER?this.managers.push(e):this.members.push(e)}}setRoots(r){if(r)for(let i of r)this.addRoot(i)}sort(){Q(this.roots,"createdAt",!1),Q(this.managers,"createdAt",!1),Q(this.members,"createdAt",!1),Q(this.links,"createdAt",!1)}};var Qt=(()=>{let r=class r{constructor(){this.http=S(W)}listSpaces(){return this.http.get(wt).pipe(f(e=>e.map(t=>new j(t))))}getSpace(e){return this.http.get(`${u.BASE}/${e}`).pipe(f(t=>new j(t)))}getUserSpaceRoots(e){return this.http.get(`${u.BASE}/${e}/${u.ROOTS}`)}createUserSpaceRoots(e,t){return this.http.post(`${u.BASE}/${e}/${u.ROOTS}`,t)}updateUserSpaceRoots(e,t){return this.http.put(`${u.BASE}/${e}/${u.ROOTS}`,t)}updateSpace(e){return this.http.put(`${u.BASE}/${e.id}`,e).pipe(f(t=>t?new j(t):null))}createSpace(e){return this.http.post(u.BASE,e).pipe(f(t=>(t.permissions=Et,new j(t))))}deleteSpace(e,t){return this.http.request("delete",`${u.BASE}/${e}`,{body:t})}searchSpaces(e){return this.http.request("search",u.BASE,{body:e})}listSpaceShares(e){return this.http.get(`${u.BASE}/${e}/${u.SHARES}`)}getSpaceShare(e,t){return this.http.get(`${u.BASE}/${e}/${u.SHARES}/${t}`).pipe(f(n=>new w(n)))}updateSpaceShare(e,t){return this.http.put(`${u.BASE}/${e}/${u.SHARES}/${t.id}`,t).pipe(f(n=>new w(n)))}deleteSpaceShare(e,t){return this.http.delete(`${u.BASE}/${e}/${u.SHARES}/${t}`)}getSpaceShareLink(e,t){return this.http.get(`${u.BASE}/${e}/${u.LINKS}/${t}`).pipe(f(n=>new $(n)))}listTrashBins(){return this.http.get(xt)}checkSpaceRootPath(e){return this.http.post(Tt,{path:e})}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=R({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();var ai=o=>({dateInputFormat:"YYYY-MM-DD",containerClass:"theme-dark-blue",returnFocusToInput:!0,minDate:o,showWeekNumbers:!1}),li=(o,r)=>r.key;function pi(o,r){o&1&&(s(0,"span",4),c(1,"Edit link"),a())}function ci(o,r){o&1&&(s(0,"span",4),c(1,"New link"),a())}function mi(o,r){o&1&&g(0,"div",54)}function hi(o,r){if(o&1){let i=oe();s(0,"button",53),b(1,"translate"),ye("ngModelChange",function(t){let n=K(i).$implicit,p=d(3);return be(p.permissions[n.key],t)||(p.permissions[n.key]=t),V(t)}),D("ngModelChange",function(){K(i);let t=d(3);return V(t.onPermissionChange())}),g(2,"fa-icon",50),a(),A(3,mi,1,0,"div",54)}if(o&2){let i=r.$implicit,e=r.$index,t=r.$count,n=d(3);Ee("ngModel",n.permissions[i.key]),m("tooltip",y(1,4,n.SPACES_PERMISSIONS_TEXT[i.key].text,n.locale.language)),l(2),m("icon",n.SPACES_PERMISSIONS_TEXT[i.key].icon),l(),E(e===t-1?3:-1)}}function di(o,r){if(o&1&&(Ce(0,hi,4,7,null,null,li),b(2,"keyvalue")),o&2){let i=d(2);Ae(y(2,0,i.permissions,i.originalOrderKeyValue))}}function ui(o,r){if(o&1&&(s(0,"div",51),g(1,"app-share-repository",55),a()),o&2){let i=d(2);l(),m("share",i.share)("showIcon",!0)("showFullPath",!0)}}function fi(o,r){if(o&1){let i=oe();s(0,"div",44),g(1,"fa-icon",45),s(2,"div",46)(3,"span"),c(4),a(),s(5,"span",47),c(6),a()(),s(7,"div",48),A(8,di,3,3),s(9,"button",49),b(10,"translate"),D("click",function(){K(i);let t=d();return V(t.toggleRequireAuth())}),g(11,"fa-icon",50),a(),s(12,"button",49),b(13,"translate"),D("click",function(){K(i);let t=d();return V(t.copyToClipboard())}),g(14,"fa-icon",50),a()()(),A(15,ui,2,3,"div",51),g(16,"hr",52)}if(o&2){let i=d();l(),m("icon",i.icons.links),l(3),q(i.linkForm.value.name||i.linkForm.value.shareName),l(2),q(i.linkForm.value.email),l(2),E(i.share&&i.permissions?8:-1),l(),P(G("btn btn-sm ",i.linkForm.value.requireAuth?"btn-success":"btn-warning")),m("tooltip",y(10,15,"Password",i.locale.language)),l(2),m("icon",i.linkForm.value.requireAuth?i.icons.faLock:i.icons.faLockOpen),l(),P(G("btn btn-sm ms-2 ",i.linkWasCopied?"btn-info":"btn-secondary")),m("tooltip",y(13,18,"Copy link",i.locale.language)),l(2),m("icon",i.linkWasCopied?i.icons.faClipboardCheck:i.icons.faClipboard),l(),E(i.share?15:-1)}}function Si(o,r){if(o&1&&(s(0,"span"),c(1),a()),o&2){let i=d();P(G("badge rounded-pill ",(i.share?i.share.link.nbAccess:i.link.nbAccess)>=i.linkForm.value.limitAccess?"bg-danger":"bg-success")),l(),Ke(" ",i.share?i.share.link.nbAccess:i.link.nbAccess,"/",i.linkForm.value.limitAccess," ")}}function gi(o,r){if(o&1&&(s(0,"span",20),c(1),a()),o&2){let i=d();l(),q(i.share?i.share.link.nbAccess:i.link.nbAccess)}}function _i(o,r){if(o&1&&(s(0,"div",27)(1,"label",56),c(2,"Share name"),a(),g(3,"input",57),b(4,"translate"),a(),s(5,"div",27)(6,"label",58),c(7,"Share description"),a(),g(8,"input",59),b(9,"translate"),a()),o&2){let i=d();l(3),J("is-invalid",i.linkForm.controls.shareName.invalid),m("placeholder",y(4,4,"Share name",i.locale.language)),l(5),m("placeholder",y(9,7,"Share description",i.locale.language))}}function ki(o,r){if(o&1&&(s(0,"option",30),c(1),a()),o&2){let i=r.$implicit,e=d();m("ngValue",i),l(),q(e.i18nLanguageText[i])}}function Ci(o,r){if(o&1&&(s(0,"div",37),g(1,"app-password-strength-bar",60),a()),o&2){let i=d();l(),m("passwordToCheck",i.password)}}function Ai(o,r){if(o&1){let i=oe();s(0,"button",61),D("click",function(){K(i);let t=d();return V(t.confirmDeletion=!0)}),c(1," Remove "),a()}if(o&2){let i=d();m("disabled",i.confirmDeletion)}}var ge=(()=>{let r=class r{constructor(){this.layout=S(Z),this.parentSpaceId=null,this.isSharesRepo=!1,this.inSharesList=!1,this.submitEvent=new ke,this.shareChange=new ke,this.locale=S(le),this.confirmDeletion=!1,this.submitted=!1,this.SPACES_PERMISSIONS_TEXT=Dt,this.originalOrderKeyValue=yt,this.icons={faEye:ut,faEyeSlash:kt,links:B.LINKS,faClipboard:St,faClipboardCheck:ft,faLock:_t,faLockOpen:gt},this.languages=this.layout.getLanguages(),this.minDate=Ie(),this.defaultPassword=this.layout.translateString(Ct),this.passwordMinLength=8,this.password="",this.linkIsExpired=!1,this.linkIsHovered=!1,this.linkWasCopied=!1,this.i18nLanguageText=At,this.userService=S(Mt),this.sharesService=S(Jt),this.linksService=S(ei),this.spacesService=S(Qt),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=Ot(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:p=>{this.layout.sendNotification("error","Delete share",this.share.name,p),this.layout.closeDialog()}});return}if(this.file?.id){let t=this.share,{link:n}=t,p=Re(t,["link"]),C=L(v(v({},n),this.linkForm.value),{password:this.mustIncludePassword()?this.password:void 0});p.name=N("shareName",C),p.description=N("shareDescription",C);let x=this.linksService.shareLinkGuestToMember(-1,-1,C);this.sharesService.createShare(L(v({},p),{type:De.LINK,links:[x]})).subscribe({next:T=>{this.shareChange.emit(["add",T]),this.layout.sendNotification("success","Link created",n.name||T.name),this.layout.closeDialog()},error:T=>{this.layout.sendNotification("error","Link error",this.share.name,T),this.layout.closeDialog()}});return}let e={};for(let n in this.linkForm.controls)this.linkForm.controls[n].dirty&&(e[n]=this.linkForm.controls[n].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,Lt.SHARE,e).subscribe({next:n=>{this.share.name=this.linkForm.value.shareName,this.share.description=this.linkForm.value.shareDescription,this.share.link=Object.assign(this.share.link,n),this.share.updateTimes(),this.share.updatePermission(),this.shareChange.emit(["update",this.share]),this.layout.closeDialog()},error:n=>{this.layout.sendNotification("error","Link error",this.share.link.name||this.share.name,n),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=L(v({},e),{link:{id:-1,userId:-1,uuid:"",isActive:!0,requireAuth:!1,permissions:"",nbAccess:0,limitAccess:0}}),this.linksService.genUUID().subscribe(t=>this.share.link.uuid=t),this.initShareLink(),this.onPermissionChange()}initShareLink(){this.linkForm=new ve({shareName:new _(this.share.name,ae.required),shareDescription:new _(this.share.description||""),name:new _(this.share.link?.name||""),email:new _(this.share.link?.email||"",ae.email),language:new _(this.share.link.language||null),limitAccess:new _(this.share.link.limitAccess||null),expiresAt:new _(this.share.link.expiresAt||null),requireAuth:new _(this.share.link.requireAuth||!1),permissions:new _(this.share.link.permissions),isActive:new _(this.share.link.isActive)}),this.permissions=$t(this.share.file.permissions,this.share.link.permissions,[k.SHARE_INSIDE,k.SHARE_OUTSIDE,...this.share.file.isDir?[]:[k.DELETE,k.ADD]])}initLink(){this.linkForm=new ve({shareName:new _(""),shareDescription:new _(""),name:new _(this.link.name||""),email:new _(this.link.email||"",ae.email),language:new _(this.link.language||null),limitAccess:new _(this.link.limitAccess||null),expiresAt:new _(this.link.expiresAt||null),requireAuth:new _(this.link.requireAuth||!1),permissions:new _(this.link.permissions),isActive:new _(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=Ie()>=e}mustIncludePassword(){return!!this.password.length&&this.password!==this.defaultPassword}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=re({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(t,n){t&1&&(s(0,"div",0)(1,"h4",1),g(2,"fa-icon",2),s(3,"span"),c(4),a()(),s(5,"h4",3),A(6,pi,2,0,"span",4)(7,ci,2,0,"span",4),a(),s(8,"button",5),D("click",function(){return n.layout.closeDialog()}),a()(),s(9,"div",6),A(10,fi,17,21),s(11,"form",7)(12,"div",8)(13,"div",9)(14,"div",10),D("mouseover",function(){return n.linkIsHovered=!0})("mouseleave",function(){return n.linkIsHovered=!1})("focus",function(){return n.linkIsHovered=!0})("click",function(){return n.copyToClipboard()}),s(15,"label",11),c(16,"Link"),a(),s(17,"span",12),c(18),a()(),s(19,"div",13)(20,"label",14),c(21,"Active"),a(),s(22,"div",15),g(23,"input",16),s(24,"span"),c(25),b(26,"translate"),a()()(),s(27,"div",13)(28,"label",17),c(29,"Current access count"),a(),s(30,"span",18),A(31,Si,2,5,"span",19)(32,gi,2,1,"span",20),a()(),A(33,_i,10,10),s(34,"div",21)(35,"label",22),c(36,"Guest name"),a(),g(37,"input",23),b(38,"translate"),a(),s(39,"div",24)(40,"label",25),c(41,"Guest email"),a(),g(42,"input",26),b(43,"translate"),a(),s(44,"div",27)(45,"label",28),c(46,"Guest language"),a(),s(47,"select",29),Ce(48,ki,2,2,"option",30,He),a()(),s(50,"div",27)(51,"label",31),c(52,"Limit access"),a(),g(53,"input",32),b(54,"translate"),a(),s(55,"div",27)(56,"label",33),c(57,"Expiration"),a(),g(58,"input",34),b(59,"translate"),a(),s(60,"div",35)(61,"label",36),c(62,"Password"),a(),A(63,Ci,2,1,"div",37),s(64,"div",15),g(65,"input",38),a(),s(66,"app-input-password",39),ye("passwordChange",function(C){return be(n.password,C)||(n.password=C),C}),a()()()()()(),s(67,"div",40),A(68,Ai,2,1,"button",41),s(69,"button",42),D("click",function(){return n.onCancel()}),c(70,"Cancel"),a(),s(71,"button",43),D("click",function(){return n.onSubmit()}),c(72),a()()),t&2&&(l(2),m("icon",n.icons.links),l(2),q(n.linkForm.value.name||n.linkForm.value.shareName),l(2),E(n.share!=null&&n.share.id||n.link!=null&&n.link.id?6:7),l(4),E(n.share||n.link?10:-1),l(),m("formGroup",n.linkForm),l(6),J("text-primary",n.linkIsHovered),l(),O(" ",n.share?n.share.link.uuid:n.link.uuid," "),l(6),P(G("badge rounded-pill ms-3 ",n.linkForm.value.isActive?"bg-primary":"bg-danger")),l(),O(" ",y(26,35,n.linkForm.value.isActive?"yes":"no",n.locale.language)," "),l(6),E(n.linkForm.value.limitAccess?31:32),l(2),E(n.share?33:-1),l(4),m("placeholder",y(38,38,"Guest name",n.locale.language)),l(5),J("is-invalid",n.linkForm.controls.email.invalid),m("placeholder",y(43,41,"Guest email",n.locale.language)),l(6),Ae(n.languages),l(5),m("placeholder",y(54,44,"Unlimited",n.locale.language)),l(5),J("text-danger",n.linkIsExpired),m("placeholder",y(59,47,"Never expires",n.locale.language))("bsConfig",Ve(50,ai,n.minDate)),l(5),E(n.linkForm.value.requireAuth&&n.password!==n.defaultPassword?63:-1),l(3),m("isRequired",n.linkForm.value.requireAuth)("disabled",!n.linkForm.value.requireAuth)("passwordMinLength",n.passwordMinLength),Ee("password",n.password),m("showGenerator",!0),l(2),E(n.share!=null&&n.share.id?68:-1),l(3),P(G("btn btn-sm ",n.confirmDeletion?"btn-danger":"btn-primary")),m("disabled",n.linkForm.invalid||n.linkForm.controls.requireAuth.value&&n.password.length<n.passwordMinLength||n.submitted),l(),O(" ",n.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[me,at,ht,ct,mt,Bt,Ft,ot,ze,it,nt,We,Je,Ge,tt,Ze,Ye,rt,Xe,Pt,pt,lt,st,Qe,et,Xt,Ht,qe,pe],encapsulation:2});let o=r;return o})();var ei=(()=>{let r=class r{constructor(){this.router=S(se),this.http=S(W),this.layout=S(Z),this.authService=S(Ut),this.clipboard=S(Zt)}shareLinksList(){return this.http.get(qt).pipe(f(e=>e.map(t=>new $(t))))}shareLink(e){return this.http.get(`${te}/${e}`).pipe(f(t=>new $(t)))}shareLinkChild(e,t){return this.http.get(`${te}/${e}/${h.CHILDREN}/${t}`).pipe(f(n=>new $(n)))}linkFromSpaceOrShare(e,t,n){return this.http.get(`${te}/${e}/${n}/${t}`)}linkValidation(e){return this.http.get(`${jt}/${e}`).pipe(f(t=>t.ok?t.link:(t.error&&(t.error===we.UNAUTHORIZED?this.router.navigate([`${F.LINK}/${e}/${F.AUTH}`]).catch(console.error):this.router.navigate([`${F.LINK}/${e}/${t.error}`]).catch(console.error)),!1)),_e(()=>(this.authService.logout(),z(!1))))}linkAccess(e,t){t.share?.isDir||t.space?.alias?this.http.get(`${Le}/${e}`).subscribe(n=>{this.authService.initUserFromResponse(n),t.space?this.router.navigate([I.SPACES,t.space.alias]).catch(console.error):this.router.navigate([I.SPACES_SHARES,t.share.alias]).catch(console.error)}):vt(`${Le}/${e}`)}linkAuthentication(e,t){return this.http.post(`${Kt}/${e}`,{password:t}).pipe(f(n=>(this.authService.initUserFromResponse(n),this.router.navigate([`${F.LINK}/${e}`]).catch(console.error),!0)),_e(n=>(n.error.message===we.UNAUTHORIZED?this.layout.sendNotification("warning","Link","Bad password"):this.router.navigate([`${F.LINK}/${e}/${n.error.message}`]).catch(console.error),z(!1))))}copyLinkToClipboard(e){this.clipboard.copyFromContent(this.genLink(e))}genUUID(){return this.http.get(Gt).pipe(f(e=>e.uuid))}createLinkDialog(e){this.genUUID().subscribe(t=>{let n=this.layout.openDialog(ge,"md",{initialState:{link:{name:e.name,uuid:t,isActive:!0,nbAccess:0}}});this.subscribeToSubmitLinkModal(n,e)})}updateLinkFromSpaceOrShare(e,t,n,p){return this.http.put(`${te}/${e}/${n}/${t}`,p)}editLinkDialog(e,t,n){if(t.id===0||e?.linkSettings?.uuid){let p=this.layout.openDialog(ge,"md",{initialState:{link:e.linkSettings}});this.subscribeToSubmitLinkModal(p,t,e)}else this.linkFromSpaceOrShare(e.linkId,t.id,n).subscribe({next:p=>{let C=this.layout.openDialog(ge,"md",{initialState:{link:L(v({},p),{permissions:e.permissions})}});this.subscribeToSubmitLinkModal(C,t,e)},error:p=>this.layout.sendNotification("error","Link error",e.name||t.name,p)})}shareLinkGuestToMember(e,t,n){return new H({id:e,linkId:t,name:n.name,description:n.email,createdAt:n.createdAt,permissions:n.permissions,type:Rt.LINK,spaceRole:he.IS_MEMBER,linkSettings:n},[k.SHARE_INSIDE,k.SHARE_OUTSIDE])}subscribeToSubmitLinkModal(e,t,n){e.content.submitEvent.pipe(Oe(1)).subscribe(p=>{if(Object.keys(p).length){let C=Object.assign(e.content.link,p),x=this.shareLinkGuestToMember(C.userId||-(t.links.length+1),n?.linkId||-(t.links.length+1),C);x.linkId?t.links=[x,...t.links.filter(T=>T.linkId!==x.linkId)]:t.links=[x,...t.links]}e.content.layout.closeDialog()})}genLink(e){return`${document.location.origin}/#/${F.LINK}/${e}`}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=R({token:r,factory:r.\u0275fac,providedIn:"root"});let o=r;return o})();export{Zt as a,De as b,Xt as c,Se as d,w as e,Jt as f,j as g,Qt as h,ge as i,ei as j};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Aa as _,Ac as p,Eb as l,Jb as R,Lb as y,Mb as A,Rb as v,Wa as k,Xa as a,bb as B,cb as h,da as d,dd as g,ec as f,fa as C,kb as c,xa as D}from"./chunk-
|
|
1
|
+
import{Aa as _,Ac as p,Eb as l,Jb as R,Lb as y,Mb as A,Rb as v,Wa as k,Xa as a,bb as B,cb as h,da as d,dd as g,ec as f,fa as C,kb as c,xa as D}from"./chunk-BJARRIS6.js";var O={provide:g,useExisting:d(()=>H),multi:!0},H=(()=>{let i=class i{constructor(){this.btnCheckboxTrue=!0,this.btnCheckboxFalse=!1,this.state=!1,this.isDisabled=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype}onClick(){this.isDisabled||(this.toggle(!this.state),this.onChange(this.value))}ngOnInit(){this.toggle(this.trueValue===this.value)}get trueValue(){return typeof this.btnCheckboxTrue<"u"?this.btnCheckboxTrue:!0}get falseValue(){return typeof this.btnCheckboxFalse<"u"?this.btnCheckboxFalse:!1}toggle(e){this.state=e,this.value=this.state?this.trueValue:this.falseValue}writeValue(e){this.state=this.trueValue===e,this.value=e?this.trueValue:this.falseValue}setDisabledState(e){this.isDisabled=e}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}};i.\u0275fac=function(n){return new(n||i)},i.\u0275dir=h({type:i,selectors:[["","btnCheckbox",""]],hostVars:3,hostBindings:function(n,t){n&1&&l("click",function(){return t.onClick()}),n&2&&(c("aria-pressed",t.state),v("active",t.state))},inputs:{btnCheckboxTrue:"btnCheckboxTrue",btnCheckboxFalse:"btnCheckboxFalse"},features:[f([O])]});let r=i;return r})(),T={provide:g,useExisting:d(()=>F),multi:!0},F=(()=>{let i=class i{get value(){return this.group?this.group.value:this._value}set value(e){if(this.group){this.group.value=e;return}this._value=e,this._onChange(e)}get disabled(){return this._disabled}set disabled(e){this.setDisabledState(e)}get controlOrGroupDisabled(){return this.disabled||this.group&&this.group.disabled?!0:void 0}get hasDisabledClass(){return this.controlOrGroupDisabled&&!this.isActive}get isActive(){return this.btnRadio===this.value}get tabindex(){if(!this.controlOrGroupDisabled)return this.isActive||this.group==null?0:-1}get hasFocus(){return this._hasFocus}constructor(e,n,t,s){this.el=e,this.cdr=n,this.renderer=t,this.group=s,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.uncheckable=!1,this.role="radio",this._disabled=!1,this._hasFocus=!1}toggleIfAllowed(){this.canToggle()&&(this.uncheckable&&this.btnRadio===this.value?this.value=void 0:this.value=this.btnRadio)}onSpacePressed(e){this.toggleIfAllowed(),e.preventDefault()}focus(){this.el.nativeElement.focus()}onFocus(){this._hasFocus=!0}onBlur(){this._hasFocus=!1,this.onTouched()}canToggle(){return!this.controlOrGroupDisabled&&(this.uncheckable||this.btnRadio!==this.value)}ngOnChanges(e){"uncheckable"in e&&(this.uncheckable=this.uncheckable!==!1&&typeof this.uncheckable<"u")}_onChange(e){if(this.group){this.group.value=e;return}this.onTouched(),this.onChange(e)}writeValue(e){this.value=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){if(this._disabled=e,e){this.renderer.setAttribute(this.el.nativeElement,"disabled","disabled");return}this.renderer.removeAttribute(this.el.nativeElement,"disabled")}};i.\u0275fac=function(n){return new(n||i)(a(_),a(p),a(k),a(d(()=>w),8))},i.\u0275dir=h({type:i,selectors:[["","btnRadio",""]],hostVars:8,hostBindings:function(n,t){n&1&&l("click",function(){return t.toggleIfAllowed()})("keydown.space",function(o){return t.onSpacePressed(o)})("focus",function(){return t.onFocus()})("blur",function(){return t.onBlur()}),n&2&&(c("aria-disabled",t.controlOrGroupDisabled)("aria-checked",t.isActive)("role",t.role)("tabindex",t.tabindex),v("disabled",t.hasDisabledClass)("active",t.isActive))},inputs:{btnRadio:"btnRadio",uncheckable:"uncheckable",value:"value",disabled:"disabled"},features:[f([T]),D]});let r=i;return r})(),I={provide:g,useExisting:d(()=>w),multi:!0},w=(()=>{let i=class i{constructor(e){this.cdr=e,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.role="radiogroup",this._disabled=!1}get value(){return this._value}set value(e){this._value=e,this.onChange(e)}get disabled(){return this._disabled}get tabindex(){return this._disabled?null:0}writeValue(e){this._value=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.radioButtons&&(this._disabled=e,this.radioButtons.forEach(n=>{n.setDisabledState(e)}),this.cdr.markForCheck())}onFocus(){if(this._disabled)return;let e=this.getActiveOrFocusedRadio();if(e){e.focus();return}if(this.radioButtons){let n=this.radioButtons.find(t=>!t.disabled);n&&n.focus()}}onBlur(){this.onTouched&&this.onTouched()}selectNext(e){this.selectInDirection("next"),e.preventDefault()}selectPrevious(e){this.selectInDirection("previous"),e.preventDefault()}selectInDirection(e){if(this._disabled)return;function n(s,o){let b=(s+(e==="next"?1:-1))%o.length;return b<0&&(b=o.length-1),b}let t=this.getActiveOrFocusedRadio();if(t&&this.radioButtons){let s=this.radioButtons.toArray(),o=s.indexOf(t);for(let u=n(o,s);u!==o;u=n(u,s))if(s[u].canToggle()){s[u].toggleIfAllowed(),s[u].focus();break}}}getActiveOrFocusedRadio(){if(this.radioButtons)return this.radioButtons.find(e=>e.isActive)||this.radioButtons.find(e=>e.hasFocus)}};i.\u0275fac=function(n){return new(n||i)(a(p))},i.\u0275dir=h({type:i,selectors:[["","btnRadioGroup",""]],contentQueries:function(n,t,s){if(n&1&&R(s,F,4),n&2){let o;y(o=A())&&(t.radioButtons=o)}},hostVars:2,hostBindings:function(n,t){n&1&&l("focus",function(){return t.onFocus()})("blur",function(){return t.onBlur()})("keydown.ArrowRight",function(o){return t.selectNext(o)})("keydown.ArrowDown",function(o){return t.selectNext(o)})("keydown.ArrowLeft",function(o){return t.selectPrevious(o)})("keydown.ArrowUp",function(o){return t.selectPrevious(o)}),n&2&&c("role",t.role)("tabindex",t.tabindex)},features:[f([I])]});let r=i;return r})(),U=(()=>{let i=class i{static forRoot(){return{ngModule:i,providers:[]}}};i.\u0275fac=function(n){return new(n||i)},i.\u0275mod=B({type:i}),i.\u0275inj=C({});let r=i;return r})();export{H as a,U as b};
|