1import{bV as ve,c4 as de,bK as ce,bY as _,bZ as pe,bU as Ce,b$ as _e,c0 as ke,b_ as he}from"./BNVQgS-x.js";import{_ as Te}from"./wiVVx_4J.js";import{_ as Ae}from"./Bh8FPgCz.js";import{_ as Oe}from"./IzyFUqF1.js";import{_ as ye}from"./BrTRus-Y.js";import{_ as Ie}from"./B45wJ5Fv.js";import{_ as Se}from"./DIE6U_TB.js";import{H as me}from"./LVrtB1Nx.js";import{b as we,d as Ee}from"./UtfRltbq.js";import{b as Ne}from"./DyTsNs2x.js";import{u as De}from"./Dt1gwKjp.js";import{d as ge,U as fe,aY as $e,w as ie,a as xe,c as k,e as F,aX as D,ay as N,N as a,f as X,u as ee,ap as ue,aC as H,as as W,ao as Ge,r as w,q as te,h as ae,a7 as Fe,aE as Be}from"./Ci_4P19p.js";import{u as B}from"./DrVwweLF.js";import"./DXHYCkzH.js";import"./CNIqHJw3.js";import"./CSsZ3abg.js";import"./DBYm27tw.js";import"./DtjnOei9.js";import"./DTZCjSHJ.js";import"./B8AGdO08.js";import"./Cxbc-oSt.js";import"./Dau6v5_l.js";import"./CcqrJxeg.js";import"./CpAEt9la.js";import"./Cmwwuw0V.js";import"./DANan46l.js";import"./B-qqCkZi.js";import"./DSDYo8xE.js";import"./C0tDUe6M.js";import"./DArZ6UY6.js";(function(){try{var C=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};C.SENTRY_RELEASE={id:"110822"};var r=new C.Error().stack;r&&(C._sentryDebugIds=C._sentryDebugIds||{},C._sentryDebugIds[r]="04983f62-96ae-4f10-a9ef-6e19174370c8",C._sentryDebugIdIdentifier="sentry-dbid-04983f62-96ae-4f10-a9ef-6e19174370c8")}catch{}})();const Pe={class:"flex items-center justify-between gap-4"},Le={class:"text-xs font-light"},Re={key:0,class:"flex items-center justify-start gap-2 text-xs"},Ve={class:"font-medium text-grey-blue"},je=ge({__name:"GroupMembersTab",props:{rootOrgId:{},groupId:{},canUpdateGroup:{type:Boolean},ensureGroupLoaded:{type:Function}},setup(C){const r=C,{t:l,locale:M}=fe(),L=De(),{currentGroup:U}=ve(L),R=$e("userTable"),T=w(!1),V=w([]),b=w({}),h=w([]),I=w([]),j=w(""),A=w(!1),O=w([]);let $=0;const Y=te(()=>[{key:"userName",label:l("hub.account.userDetails.field.name"),bodyClasses:"font-semibold text-trublue cursor-default",sortable:!0},{key:"userEmail",label:l("hub.account.userDetails.field.emailAddress"),bodyClasses:"font-semibold text-trublue cursor-default",sortable:!0},{key:"isPending",label:l("hub.account.userDetails.field.isPending"),sortable:!0,cell:({row:c})=>ae(Oe,{color:c.original.isPending?"warning":"success",variant:"solid"},()=>l("hub.account.userDetails.status."+(c.original.isPending?"pending":"active")))},{key:"actions",label:"",cell:({row:c})=>ae("div",{class:"flex justify-end"},[ae(ce,{name:"i-mdi-close-circle-outline",class:"size-5! cursor-pointer text-trublue",onClick:()=>P(c.original)})]),sortable:!1}]),K=te(()=>{const c=[],n=new Set;for(const m of h.value||[]){const i=b.value[m];i?.id&&(n.has(i.id)||(n.add(i.id),c.push(i)))}for(const m of V.value||[])m?.id&&(n.has(m.id)||(n.add(m.id),c.push(m)));return c});async function x(){T.value=!0;try{const c=await r.ensureGroupLoaded(),n=r.groupId,i={$filter:Ne({searchText:j.value}),$top:50};for(const s in i)i[s]===void 0&&delete i[s];const f=await _(`/api/v4/organisations/${r.rootOrgId}/users`,{query:i}),e=(String(U.value?.id||"")===n&&Array.isArray(U.value?.users)?U.value?.users:void 0)??c?.users??[],t=new Set((e||[]).map(s=>String(s.userId||"").trim()).filter(Boolean)),o=(f.items||[]).filter(s=>!s.userId).map(s=>String(s.emailAddress||"").trim()).filter(Boolean),u=o.length?await _(`/api/v4/organisations/${r.rootOrgId}/users/invites/permissions`,{method:"POST",body:o}):[],p=new Map;for(const s of u||[]){const S=String(s.emailAddress||"").trim().toLowerCase();S&&p.set(S,{name:s.name,groupIds:s.groupIds})}V.value=(f.items||[]).map(s=>{const S=String(s.emailAddress||"").trim(),E=s.userId?String(s.userId):S,v=S.toLowerCase(),y=v?p.get(v):void 0,se=!s.userId&&y?.name?String(y.name||"").trim():String(s.name||"").trim();return{...s,name:se,id:E,groupIds:!s.userId&&y?.groupIds?y.groupIds:s.groupIds}}).filter(s=>{if(!s.id||s.userId&&t.has(String(s.userId).trim()))return!1;if(!s.userId){const S=String(s.groupIds||"").split(",").map(E=>E.trim()).filter(Boolean);if(n&&S.includes(n))return!1}return!0});const d={...b.value};
1for(const s of V.value||[])s?.id&&(d[s.id]=s);b.value=d}finally{T.value=!1}}const G=we(x,250);function P(c){if(!r.canUpdateGroup)return;const n=Array.isArray(c)?c:[c],m=n.length,i=n[0],f=i?.userName&&i.userName!==" "?i.userName:i?.userEmail;pe().create(me,{props:{title:l("hub.account.groups.confirmation.removeUser",m),areYouSure:l("hub.account.groups.confirmation.removeUserAreYouSure",{name:f&&f!==" "?f:l("hub.account.thisUser"),group:U.value?.name,count:m}),warning:l("hub.account.groups.confirmation.removeUserWarning",{group:U.value?.name,count:m}),confirmText:l("removeConfirm"),useConfirmTextTranslation:!1,useAreYouSureTranslation:!1,useWarningTranslation:!1,useTitleTranslation:!1,onConfirm:()=>q(n)},destroyOnClose:!0}).open()}async function Z(){const c=++$;A.value=!0;try{const n=r.groupId,m=await r.ensureGroupLoaded();if(c!==$)return;const i=[];if(n){let u=0,p=0;do{const d=await _(`/api/v4/organisations/${r.rootOrgId}/users`,{query:{$top:1e3,$skip:u,$filter:"isPending eq true"}});if(c!==$)return;p=Number(d.count||0);const s=d.items||[];for(const S of s){const E=S.groupIds;String(E||"").split(",").map(y=>y.trim()).filter(Boolean).includes(n)&&i.push({id:`pending:${String(S.emailAddress||"").trim()}`,userId:void 0,userName:String(S.name||"").trim(),userEmail:String(S.emailAddress||"").trim(),isPending:!0})}if(u+=s.length,!s.length)break}while(u<p)}const e=(((String(U.value?.id||"")===n&&Array.isArray(U.value?.users)?U.value?.users:void 0)??m?.users??[])||[]).map(o=>({id:String(o.userId),userId:String(o.userId),userName:String(o.userName||"").trim(),userEmail:String(o.userEmail||"").trim(),isPending:!1}));if(c!==$)return;const t=new Map;for(const o of[...e,...i])o.id&&(t.has(o.id)||t.set(o.id,o));O.value=Array.from(t.values())}finally{c===$&&(A.value=!1)}}async function q(c){const n=c.filter(i=>!!i.userId).map(i=>String(i.userId)).filter(Boolean),m=c.filter(i=>!i.userId&&i.userEmail).map(i=>String(i.userEmail).trim()).filter(Boolean);try{n.length&&await Q(n,"remove"),m.length&&await Promise.all(m.map(i=>re(i))),n.length&&await L.fetchGroup(Number.parseInt(r.rootOrgId),r.groupId,!0),I.value=[],R.value?.resetSelectedRows([]),await Z(),B(l("hub.account.saveChanges"),"success")}catch{B(l("hub.account.saveChangesError"),"danger")}}async function re(c){const n=String(c||"").trim();if(!n)return;const i=(await _(`/api/v4/organisations/${r.rootOrgId}/users/invites/permissions`,{method:"POST",body:[n]})||[]).find(e=>String(e.emailAddress||"").trim().toLowerCase()===n.toLowerCase());if(!i)return;const g=String(i.groupIds||"").split(",").map(e=>e.trim()).filter(Boolean).filter(e=>String(e)!==String(r.groupId));await _(`/api/v4/organisations/${r.rootOrgId}/users/permissions`,{method:"POST",body:{...i,emailAddress:i.emailAddress,roleId:i.roleId,groupIds:g.join(","),viewAnalyticsPermissionsFlags:i.viewAnalyticsPermissionsFlags||{},name:String(i.name||"").trim()},query:{sendInvite:!1}})}async function J(c){if(!r.canUpdateGroup)return;const n=(c||[]).map(g=>String(g).trim()).filter(Boolean);if(!n.length)return;const m=g=>/.+@.+\..+/.test(g),i=n.filter(g=>!m(g)),f=n.filter(g=>m(g)).filter(Boolean);try{if(i.length&&await Q(i,"add"),f.length)for(const g of f)await z(g);i.length&&await L.fetchGroup(Number.parseInt(r.rootOrgId),r.groupId,!0),await Z(),B(l("hub.account.saveChanges"),"success"),h.value=[],j.value="",await x()}catch{B(l("hub.account.saveChangesError"),"danger")}}async function z(c){const n=String(c||"").trim(),m=r.groupId;if(!n||!m)return;const f=(await _(`/api/v4/organisations/${r.rootOrgId}/users/invites/permissions`,{method:"POST",body:[n]})||[]).find(t=>String(t.emailAddress||"").trim().toLowerCase()===n.toLowerCase());if(!f)return;const g=String(f.groupIds||"").split(",").map(t=>t.trim()).filter(Boolean),e=Array.from(new Set([...g,m]));await _(`/api/v4/organisations/${r.rootOrgId}/users/permissions`,{method:"POST",body:{...f,emailAddress:f.emailAddress,roleId:f.roleId,groupIds:e.join(","),viewAnalyticsPermissionsFlags:f.viewAnalyticsPermissionsFlags||{},name:String(f.name||"").trim()},query:{sendInvite:!1}})}async function Q(c,n){const m=[],i=U.value?.users?.map(f=>({userId:f.userId}))||[];n==="add"?m.push(...c.map(f=>({userId:f})),...i):m.push(...i.filter(f=>
1!c.includes(f.userId))),await _(`/api/v4/organisations/${r.rootOrgId}/groups/${r.groupId}`,{method:"PATCH",body:[{op:"replace",path:"/users",value:m}]})}return ie(()=>[r.rootOrgId,r.groupId],async()=>{await r.ensureGroupLoaded(),await Z()},{immediate:!0}),xe(async()=>{await x()}),(c,n)=>{const m=ye,i=de,f=Ie;return k(),F("div",null,[D("div",Pe,[N(m,{id:"new-group-members",modelValue:a(h),"onUpdate:modelValue":n[0]||(n[0]=g=>ee(h)?h.value=g:null),"search-term":a(j),"onUpdate:searchTerm":[n[1]||(n[1]=g=>ee(j)?j.value=g:null),a(G)],items:a(K),class:X({"w-3/4":!a(h).length,"w-full":a(h).length}),margin:"mb-0",loading:a(T),"leading-icon":"i-mdi-account-plus",placeholder:c.$t("hub.account.groupDetails.selectUsers"),"label-key":"name","value-key":"id","reset-search-term-on-select":!1,"reset-search-term-on-blur":!1,multiple:"","ignore-filter":""},{label:ue(({item:g})=>[g?(k(),F("div",{key:0,class:X(["flex-col justify-start gap-1 px-2 text-sm text-grey-blue",{"font-semibold":a(h).includes(g.id)}])},[D("div",null,H(g.name),1),D("div",Le,H(g.emailAddress),1)],2)):W("",!0)]),_:1},8,["modelValue","search-term","items","class","loading","placeholder","onUpdate:searchTerm"]),C.canUpdateGroup&&a(h).length?(k(),Ge(i,{key:0,id:"add-selected-users",class:X({"w-64":a(M).includes("en"),"w-2/3 xl:w-1/3":a(M).includes("fr")}),block:"",label:c.$t("hub.account.groupDetails.addSelectedUsers"),variant:"outline",icon:"i-mdi-account-plus",onClick:n[2]||(n[2]=g=>J(a(h)))},null,8,["class","label"])):W("",!0)]),C.canUpdateGroup&&a(I).length?(k(),F("div",Re,[D("div",Ve,H(a(I).length)+" "+H(c.$t("selected"))+": ",1),N(i,{variant:"ghost",label:c.$t("hub.account.groupDetails.removeUsersFromGroup"),onClick:n[3]||(n[3]=g=>P(a(I)))},null,8,["label"])])):W("",!0),N(f,{id:"groups-users",ref_key:"userTable",ref:R,"selected-rows":a(I),"onUpdate:selectedRows":n[4]||(n[4]=g=>ee(I)?I.value=g:null),data:a(O),columns:a(Y),loading:a(A),"hide-data-on-loading":!0,"data-key":"id","column-key":"key","column-label":"label","column-selection-mode":"multiple","include-pagination":"","rows-per-page":10,class:"my-2"},{empty:ue(()=>[...n[5]||(n[5]=[D("div",{class:"my-6 flex flex-col items-center justify-center text-center"},[D("img",{src:Se,alt:"Error",class:"mx-auto max-h-96"})],-1)])]),_:1},8,["selected-rows","data","columns","loading"])])}}}),qe=Object.assign(je,{__name:"AccountGroupMembersTab"}),Me={key:0,class:"flex items-center justify-between gap-4"},He={class:"text-xs font-light"},Ye={key:1,class:"flex items-center justify-start gap-2 text-xs"},ze={class:"font-medium text-grey-blue"},We=ge({__name:"SharedDashboardsTab",props:{rootOrgId:{},groupId:{},canUpdateGroup:{type:Boolean},ensureGroupLoaded:{type:Function}},setup(C){const r=C,{t:l,locale:M}=fe(),L=Ce(),U=w(!1),R=w([]),T=w([]),V=$e("sharedDashboardsTable"),b=w(null),h=w(null);let I=0;const j=w(!1),A=w([]),O=w({}),$=w([]),Y=w("");let K=0;const x=te(()=>[{key:"dashboardName",label:l("dashboard",1),bodyClasses:"font-semibold text-trublue cursor-default",sortable:!0},{key:"ownerName",label:l("generic.owner"),bodyClasses:"text-grey-blue cursor-default",sortable:!0},{key:"updatedDate",label:l("hub.account.groupDetails.field.lastUpdated"),bodyClasses:"text-grey-blue cursor-default",sortable:!0,cell:({row:e})=>{const t=String(e.original.updatedDate||"").trim(),o=t?Ee(t):null;return o&&o.isValid()?o.format("DD MMM YYYY"):l("reports.table.tableCells.noData")}},{key:"isDefaultForGroup",label:l("hub.account.groupDetails.field.defaultForThisGroupOptional"),sortable:!1,meta:{class:{th:"text-center align-middle",td:"text-center align-middle"}},cell:({row:e})=>{const t=b.value===e.original.id,o=!r.canUpdateGroup||!!h.value;return ae("input",{type:"radio",name:"group-default-dashboard",checked:t,disabled:o,class:"align-middle cursor-pointer disabled:cursor-not-allowed",onClick:u=>{if(t){u.preventDefault(),z(e.original);return}J(e.original)}})}},...r.canUpdateGroup?[{key:"actions",label:"",cell:({row:e})=>ae("div",{class:"flex justify-end"},[ae(ce,{name:"i-mdi-close-circle-outline",class:"size-5! cursor-pointer text-trublue",onClick:()=>re(e.original)})]),sortable:!1}]:[]]);function G(e,t){const o=String(e||"").trim();if(!o)return;const u=O.value[o];u&&(O.value[o]={...u,groups:t});const p=A.value.findIndex(d=>String(d.id)===o);if(p>=0){const d=A.value[p];if(!d)return;A.value.splice(p,1,{...d,groups:t})}}async function P(e,t){const o=Number.parseInt(String(r.rootOrgId||"").trim());if(o)try{await L.updateDashboard(e,o,t,"groups")}catch{}}function Z(e){const t=String(e||"").trim();return t?`groups/any(group: group/id eq ${t})`:""}async function q(){const e=++I;U.value=!0;try{const t=r.groupId,o=Z(t);if(!o){R.value=[];return}const u=1e3;let p=0,d=0;const s=[];let S=null;do{const E=await _(`/api/v4/organisations/${r.rootOrgId}/dashboards`,{query:{$top:u,$skip:p,$filter:o}});if(e!==I)return;d=Number(E.count||0);const v=E.items||[];for(const y of v){const se=y.translateName?l("dashboards.name."+y.name):y.name,le=y.ownerUserName||y.ownerUserEmail||"TruRating",ne=!!(y.groups||[]).find(Ue=>Ue.id===t)?.isDefault,be=String(y.id);ne&&!S&&(S=be),s.push({id:be,dashboardName:String(se||"").trim(),ownerName:String(le||"").trim(),updatedDate:String(y.updatedDate||"").trim(),groups:Array.isArray(y.groups)?y.groups:[],isDefaultForGroup:ne})}if(p+=v.length,!v.length)break}while(p<d);if(e!==I)return;R.value=s,b.value=S}catch{e===I&&(R.value=[],b.value=null)}finally{e===I&&(U.value=!1)}}function re(e){if(!r.canUpdateGroup)return;const t=Array.isArray(e)?e:[e];if(!t.length)return;pe().create(me,{props:{title:"generic.removeAccess",warning:"dashboards.modal.share.removeAccessWarning",confirmText:"removeConfirm",onConfirm:()=>Q(t)},destroyOnClose:!0}).open()}async function J(e){if(!r.canUpdateGroup)return;const t=r.groupId;if(!t||b.value===e.id)return;const o=b.value;b.value=e.id,h.value=e.id;try{const u=e.groups?.findIndex(d=>d.id===t);if(typeof u!="number"||u<0)throw new Error("Group not found");await _(`/api/v4/organisations/${r.rootOrgId}/dashboards/${e.id}`,{method:"PATCH",body:[{op:"replace",path:`/groups/${u}`,value:{...e.groups[u],isDefault:!0}}]});const p=(e.groups||[]).map((d,s)=>s===u?{...d,isDefault:!0}:d);G(e.id,p),await P(e.id,p),B(l("hub.account.saveChanges"),"success"),await q()}catch{b.value=o,B(l("hub.account.saveChangesError"),"danger")}finally{h.value===e.id&&(h.value=null)}}async function z(e){if(!r.canUpdateGroup)return;const t=r.groupId;if(!t||b.value!==e.id)return;const o=b.value;b.value=null,h.value=e.id;try{const u=e.groups?.findIndex(d=>d.id===t);if(typeof u!="number"||u<0)throw new Error("Group not found");await _(`/api/v4/organisations/${r.rootOrgId}/dashboards/${e.id}`,{method:"PATCH",body:[{op:"replace",path:`/groups/${u}`,value:{...e.groups[u],isDefault:!1}}]});const p=(e.groups||[]).map((d,s)=>s===u?{...d,isDefault:!1}:d);G(e.id,p),await P(e.id,p),B(l("hub.account.saveChanges"),"success"),await q()}catch{b.value=o,B(l("hub.account.saveChangesError"),"danger")}finally{h.value===e.id&&(h.value=null)}}async function Q(e){const t=r.groupId;if(!(!t||!e?.length))try{await Promise.all(e.map(async o=>{const u=o.groups?.findIndex(d=>d.id===t);if(typeof u!="number"||u<0)return;const p=(o.groups||[]).filter((d,s)=>s!==u);await _(`/api/v4/organisations/${r.rootOrgId}/dashboards/${o.id}`,{method:"PATCH",body:[{op:"remove",path:`/groups/${u}`}]}),G(o.id,p),await P(o.id,p)})),T.value=[],V.value?.resetSelectedRows([]),await q(),B(l("hub.account.saveChanges"),"success")}catch{B(l("hub.account.saveChangesError"),"danger")}}const c=te(()=>{const e=[],t=new Set,o=new Set((R.value||[]).map(u=>String(u.id)));for(const u of $.value||[]){const p=O.value[u];
1p?.id&&(t.has(p.id)||o.has(String(p.id))||(t.add(p.id),e.push(p)))}for(const u of A.value||[])u?.id&&(t.has(u.id)||o.has(String(u.id))||(t.add(u.id),e.push(u)));return e});function n(e){return String(e||"").replaceAll("'","''")}async function m(e){const t=++K,o=String(r.rootOrgId||"").trim(),u=r.groupId,p=String(e||"").trim();if(!o){A.value=[];return}j.value=!0;try{const d={$top:50,$skip:0,$orderby:"updatedDate desc"};if(p){const v=n(p);d.$filter=`contains(name, '${v}')`}const s=await _(`/api/v4/organisations/${o}/dashboards`,{query:d});if(t!==K)return;const S=s.items||[],E=[];for(const v of S){const y=Array.isArray(v.groups)?v.groups:[];if(u&&y.some(ne=>ne.id===u))continue;const se=v.translateName?l("dashboards.name."+v.name):v.name,le=v.ownerUserName||v.ownerUserEmail||"TruRating",oe={...v,id:String(v.id),name:String(se||"").trim(),ownerLabel:String(le||"").trim(),groups:y};E.push(oe),O.value[oe.id]=oe}A.value=E}catch{t===K&&(A.value=[])}finally{t===K&&(j.value=!1)}}const i=we(e=>{m(e)},250);xe(()=>{r.canUpdateGroup&&m("")});function f(e){return{id:String(e.id),name:String(e.name||"").trim(),description:String(e.description||"").trim(),ordinal:Number(e.ordinal||0),flags:String(e.flags||"").trim(),createdDate:String(e.createdDate||"").trim(),updatedDate:String(e.updatedDate||"").trim(),updatedByUserId:String(e.updatedByUserId||"").trim(),updatedByUserEmail:String(e.updatedByUserEmail||"").trim(),updatedByUserName:String(e.updatedByUserName||"").trim(),userCount:typeof e.userCount=="number"?e.userCount:void 0,isDefault:!1}}async function g(e){if(!r.canUpdateGroup)return;const t=r.groupId,o=String(r.rootOrgId||"").trim();if(!t||!o)return;const u=await r.ensureGroupLoaded();if(!u)return;const p=f(u),d=Array.from(new Set((e||[]).map(s=>String(s||"").trim()).filter(Boolean)));if(d.length)try{for(const s of d){const S=O.value[s],E=Array.isArray(S?.groups)?S.groups:[];if(E.some(y=>y.id===t))continue;const v=[...E,p];await _(`/api/v4/organisations/${o}/dashboards/${s}`,{method:"PATCH",body:[{op:"replace",path:"/groups",value:v}]}),G(s,v),await P(s,v)}$.value=[],Y.value="",A.value=[],await q()}catch{}}return ie(()=>[r.rootOrgId,r.groupId],async()=>{T.value=[],V.value?.resetSelectedRows([]),await q(),r.canUpdateGroup&&m(Y.value)},{immediate:!0}),(e,t)=>{const o=ye,u=de,p=Ie;return k(),F("div",null,[C.canUpdateGroup?(k(),F("div",Me,[N(o,{id:"new-shared-dashboards",modelValue:a($),"onUpdate:modelValue":t[0]||(t[0]=d=>ee($)?$.value=d:null),"search-term":a(Y),"onUpdate:searchTerm":[t[1]||(t[1]=d=>ee(Y)?Y.value=d:null),a(i)],items:a(c),class:X({"w-3/4":!a($).length,"w-full":a($).length}),margin:"mb-0",loading:a(j),placeholder:e.$t("hub.account.groupDetails.selectDashboards"),"label-key":"name","value-key":"id","reset-search-term-on-select":!1,"reset-search-term-on-blur":!1,multiple:"","ignore-filter":""},{label:ue(({item:d})=>[d?(k(),F("div",{key:0,class:X(["flex-col justify-start gap-1 px-2 text-sm text-grey-blue",{"font-semibold":a($).includes(d.id)}])},[D("div",null,H(d.name),1),D("div",He,H(d.ownerLabel),1)],2)):W("",!0)]),_:1},8,["modelValue","search-term","items","class","loading","placeholder","onUpdate:searchTerm"]),a($).length?(k(),Ge(u,{key:0,id:"add-selected-dashboards",class:X({"w-64":a(M).includes("en"),"w-2/3 xl:w-1/3":a(M).includes("fr")}),block:"",label:e.$t("hub.account.groupDetails.addSelectedDashboards"),variant:"outline",onClick:t[2]||(t[2]=d=>g(a($)))},null,8,["class","label"])):W("",!0)])):W("",!0),C.canUpdateGroup&&a(T).length?(k(),F("div",Ye,[D("div",ze,H(a(T).length)+" "+H(e.$t("selected"))+": ",1),N(u,{variant:"ghost",label:e.$t("generic.removeAccess"),onClick:t[3]||(t[3]=d=>re(a(T)))},null,8,["label"])])):W("",!0),N(p,{id:"groups-shared-dashboards",ref_key:"sharedDashboardsTable",ref:V,"selected-rows":a(T),"onUpdate:selectedRows":t[4]||(t[4]=d=>ee(T)?T.value=d:null),data:a(R),columns:a(x),loading:a(U),"hide-data-on-loading":!0,"data-key":"id","column-key":"key","column-label":"label","column-selection-mode":C.canUpdateGroup?"multiple":void 0,"include-pagination":"","rows-per-page":10,class:"my-2"},{empty:ue(()=>[...t[5]||(t[5]=[D("div",{class:"my-6 flex flex-col items-center justify-center text-center"},[D("img",{src:Se,alt:"Error",class:"mx-auto max-h-96"})],-1)])]),_:1},8,["selected-rows","data","columns","loading","column-selection-mode"])])}}}),Ke=Object.assign(We,{__name:"AccountGroupSharedDashboardsTab"}),Xe={class:"relative w-full overflow-auto mx-5 mt-5"},Ze={class:"space-y-6"}
1,Je={id:"group-details-title",class:"flex items-center justify-start space-x-2 text-lg text-purple"},Qe={class:"font-semibold"},et={id:"group-details",class:"text-xs"},tt={class:"ml-3.5 font-medium text-grey-blue"},rt={class:"my-1 w-4/5 font-light"},at={key:0,class:"flex items-center justify-end gap-2"},st={key:0},ot={key:1},Ft=ge({__name:"[groupId]",setup(C){const{t:r}=fe(),l=_e(),M=ke(),L=De();let U=null,R=null;function T(){const x=String(l.params.rootOrgId||"").trim(),G=String(l.params.groupId||"").trim();return`${x}:${G}`}async function V(){const x=String(l.params.rootOrgId||"").trim(),G=String(l.params.groupId||"").trim();if(!x||!G)return;L.setCurrentGroupId(G);const P=T();return(!U||R!==P)&&(R=P,U=L.fetchGroup(Number.parseInt(x),G)),await U}const{currentGroup:b}=ve(L),h=w("groupMembers"),I=w({name:b.value?.name,description:b.value?.description,ordinal:b.value?.ordinal||0}),j=te(()=>[{label:r("hub.account.groupDetails.field.users"),value:"groupMembers"},{label:r("hub.account.groupDetails.tabs.sharedDashboards"),value:"sharedDashboards"}]),A=te(()=>he({permissions:"Groups.Delete"})),O=te(()=>he({permissions:"Groups.Update"}));function $(){pe().create(me,{props:{title:"hub.account.groups.confirmation.delete",areYouSure:r("hub.account.groups.confirmation.deleteAreYouSure",{group:b.value?.name}),warning:r("hub.account.groups.confirmation.deleteWarning"),useAreYouSureTranslation:!1,useWarningTranslation:!1,onConfirm:K},destroyOnClose:!0}).open()}async function Y(){try{await _(`/api/v4/organisations/${l.params.rootOrgId}/groups/${l.params.groupId}`,{method:"PATCH",body:[{op:"replace",path:"/name",value:I.value.name},{op:"replace",path:"/description",value:I.value.description},{op:"replace",path:"/ordinal",value:I.value.ordinal}]}),B(r("hub.account.saveChanges"),"success"),L.fetchGroup(Number.parseInt(l.params.rootOrgId),l.params.groupId,!0),M.back()}catch{B(r("hub.account.saveChangesError"),"danger")}}async function K(){try{await _(`/api/v4/organisations/${l.params.rootOrgId}/groups/${l.params.groupId}`,{method:"DELETE"}),B(r("hub.account.notifications.groupDeleted"),"success"),L.fetchGroupsForOrganisation(Number.parseInt(l.params.rootOrgId),!0),M.back()}catch{B(r("hub.account.notifications.groupDeleteFailed"),"danger")}}return ie(b,()=>{I.value={name:b.value?.name,description:b.value?.description,ordinal:b.value?.ordinal||0}}),ie(()=>[l.params.rootOrgId,l.params.groupId],async()=>{await V()},{immediate:!0}),(x,G)=>{const P=ce,Z=Te,q=de,re=Ae;return k(),F("div",Xe,[D("div",Ze,[D("div",Je,[N(P,{name:"i-mdi-chevron-left",class:"size-6! cursor-pointer text-trublue",onClick:a(M).back},null,8,["onClick"]),D("div",Qe,H(x.$t("hub.account.groupDetails.title")),1)]),D("div",et,[(k(!0),F(Fe,null,Be(a(I),(J,z,Q)=>(k(),F("div",{key:Q},[D("div",{class:X(["flex items-center justify-between p-2",{"bg-blue-9":Q%2===0}])},[D("div",tt,H(x.$t("hub.account.groupDetails.field."+z))+": ",1),D("div",rt,[N(Z,{id:z,modelValue:a(I)[z],"onUpdate:modelValue":c=>a(I)[z]=c,disabled:!a(O),help:z==="ordinal"?x.$t("hub.account.groupDetails.hint.ordinal"):void 0},null,8,["id","modelValue","onUpdate:modelValue","disabled","help"])])],2)]))),128))]),a(O)?(k(),F("div",at,[N(q,{variant:"outline",label:x.$t("cancel"),onClick:G[0]||(G[0]=J=>a(M).back())},null,8,["label"]),N(q,{label:x.$t("save"),disabled:!a(O),onClick:Y},null,8,["label","disabled"])])):W("",!0),D("div",null,[N(re,{modelValue:a(h),"onUpdate:modelValue":G[1]||(G[1]=J=>ee(h)?h.value=J:null),items:a(j),variant:"link",content:!1,class:"pb-4",ui:{list:"px-0 gap-4",trigger:"font-bold text-grey-blue text-left hover:data-[state=inactive]:not-disabled:text-trublue min-w-fit px-0 mx-0 md:mx-0",indicator:"h-1 bg-trublue"}},null,8,["modelValue","items"]),a(h)==="groupMembers"?(k(),F("div",st,[N(qe,{"root-org-id":String(a(l).params.rootOrgId||""),"group-id":String(a(l).params.groupId||""),"can-update-group":a(O),"ensure-group-loaded":V},null,8,["root-org-id","group-id","can-update-group"])])):(k(),F("div",ot,[N(Ke,{"root-org-id":String(a(l).params.rootOrgId||""),"group-id":String(a(l).params.groupId||""),"can-update-group":a(O),"ensure-group-loaded":V},null,8,["root-org-id","group-id","can-update-group"])]))]),a(A)?(k(),F("div",{key:1,class:X(["flex items-center justify-start",{"absolute bottom-3 left-6 ":a(b)?.users&&a(b).users.length>=10}])}
1,[N(q,{label:x.$t("delete"),color:"error",icon:"i-mdi-trash-can-outline",onClick:$},null,8,["label"])],2)):W("",!0)])])}}});export{Ft as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.