import{L as f}from"./localeText-BZk4B_3P.js";import{q as N,a as r,c as d,b as s,t as _,F as C,h as x,d as g,r as y,E as D,m as E,y as G,n as $,f as I,i as P,_ as S,w as T,T as V,e as B,O as w,g as A,A as k}from"./index-DcxvUQLx.js";const L={class:"d-flex flex-column gap-2"},M={class:"mb-0"},O={key:0,class:"d-flex flex-column gap-2"},j=["onClick"],F={class:"mb-0"},U={class:"text-muted ms-auto"},q={key:1},z={class:"text-muted"},H={__name:"searchClientsGroup",props:["group","groupName","searchString","assignments"],emits:["count","assign"],setup(u,{emit:h}){const e=u,t=h,c=N(()=>{let l=e.group.filter(i=>!e.assignments.map(a=>a.Client.ClientID).includes(i.ClientID));if(e.searchString){let i=l.filter(a=>a.Name&&a.Name.includes(e.searchString)||a.Email&&a.Email.includes(e.searchString));return t("count",i.length),i}return t("count",l.length),l});return(l,i)=>(r(),d("div",L,[s("h6",M,[s("small",null,_(u.groupName),1)]),c.value.length>0?(r(),d("div",O,[(r(!0),d(C,null,x(c.value,a=>(r(),d("div",{class:"bg-body-secondary rounded-3 text-start p-2 d-flex p-1",role:"button",onClick:p=>t("assign",a.ClientID)},[s("small",F,_(a.Email),1),s("small",U,_(a.Name),1)],8,j))),256))])):(r(),d("div",q,[s("small",z,[g(f,{t:"No result"})])]))]))}},J={class:"p-3 bg-body-tertiary rounded-3 position-relative"},K={for:"SearchClient",class:"form-label"},Q={class:"text-muted"},R={class:"w-100 rounded-3 d-flex flex-column gap-2"},W={class:"mt-1"},X=["onClick"],Y={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},Z={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(u,{emit:h}){const e=u,t=y(""),c=y(""),l=N(()=>t.value?{[t.value]:e.clients[t.value]}:e.clients),i=D({});Object.keys(e.clients).forEach(p=>i[p]=e.clients[p].length);const a=h;return(p,m)=>(r(),d("div",J,[s("h6",null,[g(f,{t:"Assign to Clients"})]),s("label",K,[s("small",Q,[g(f,{t:"Enter Email or Name to Search"})])]),E(s("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":m[0]||(m[0]=v=>c.value=v),type:"email"},null,512),[[G,c.value]]),s("div",R,[s("div",null,[m[3]||(m[3]=s("small",{class:"text-muted"},"Groups",-1)),s("div",W,[s("button",{class:$([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:m[1]||(m[1]=v=>t.value="")},[g(f,{t:"All"})],2),(r(!0),d(C,null,x(u.clients,(v,n)=>(r(),d("button",{onClick:o=>t.value=n,class:$([{active:t.value===n},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[I(_(n)+" ",1),s("span",{class:$(["ms-1 badge",[i[n]>0?"bg-primary":"bg-secondary"]])},_(i[n]),3)],10,X))),256))])]),s("div",Y,[(r(!0),d(C,null,x(l.value,(v,n)=>(r(),P(H,{assignments:u.assignments,onAssign:m[2]||(m[2]=o=>a("assign",o)),onCount:o=>i[n]=o,searchString:c.value,group:v,groupName:n},null,8,["assignments","onCount","searchString","group","groupName"]))),256))])])]))}},ss={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},es={class:"mb-0"},ts={class:"d-flex flex-column"},ns={class:"text-muted"},ls=["onClick"],as={key:0,class:"text-center"},is={class:"text-muted"},os={__name:"assignedClients",props:["assignments"],emits:["unassign"],setup(u,{emit:h}){const e=h;return(t,c)=>(r(),d("div",ss,[s("h6",es,[g(f,{t:"Assigned Clients"})]),g(V,{name:"list",tag:"div",class:"position-relative"},{default:T(()=>[(r(!0),d(C,null,x(u.assignments,l=>(r(),d("div",{class:"bg-body-secondary rounded-3 text-start p-2 d-flex mb-2 assignment",key:l.AssignmentID},[s("div",ts,[s("small",null,_(l.Client.Email),1),s("small",ns,_(l.Client.Name?l.Client.Name+" | ":"")+_(l.Client.ClientGroup?l.Client.ClientGroup:"Local"),1)]),s("button",{onClick:i=>e("unassign",l.AssignmentID),"aria-label":"Delete Assignment",class:"btn bg-danger-subtle text-danger-emphasis ms-auto"},c[0]||(c[0]=[s("i",{class:"bi bi-trash-fill"},null,-1)]),8,ls)]))),128))]),_:1}),u.assignments.length===0?(r(),d("div",as,[s("small",is,[g(f,{t:"No client assigned to this peer yet"})])])):B("",!0)]))}},rs=S(os,[["__scopeId","data-v-c72df947"]]),cs={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ds={class:"container d-flex h-100 w-100"},us={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},ms={class:"card rounded-3 shadow flex-grow-1"},gs={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},ps={class:"mb-0"},_s={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},hs={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(u,{emit:h}){let e,t;const c=u,l=h,i=y([]),a=y([]);[e,t]=w(()=>A("/api/clients/allClients",{},n=>{a.value=n.data,console.log(a.value)})),await e,t();const p=async()=>{await A("/api/clients/assignedClients",{ConfigurationName:c.selectedPeer.configuration.Name,Peer:c.selectedPeer.id},n=>{i.value=n.data})};[e,t]=w(()=>p()),await e,t();const m=async n=>{await k("/api/clients/assignClient",{ConfigurationName:c.selectedPeer.configuration.Name,Peer:c.selectedPeer.id,ClientID:n},async o=>{o.status&&await p()})},v=async n=>{await k("/api/clients/unassignClient",{AssignmentID:n},async o=>{o.status&&await p()})};return(n,o)=>(r(),d("div",cs,[s("div",ds,[s("div",us,[s("div",ms,[s("div",gs,[s("h4",ps,[g(f,{t:"Assign Peer to Client"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=b=>l("close"))})]),s("div",_s,[g(rs,{onUnassign:o[1]||(o[1]=b=>v(b)),assignments:i.value},null,8,["assignments"]),g(Z,{assignments:i.value,onAssign:o[2]||(o[2]=b=>m(b)),clients:a.value},null,8,["assignments","clients"])])])])])]))}},bs=S(hs,[["__scopeId","data-v-db8c10f7"]]);export{bs as default};