All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.GroupPickerDialog-9d38b823.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{_ as T,r as n,k as D,by as W,j as s,x as X,u as V,q as Y,g as w,B as E,bD as Z,bE as O,cO as ee}from"./index-0cda761d.js";import{P as se,L as B}from"./PaginatingTableToolbar-11bdf18a.js";import{f as te}from"./admin-ui-endpoint-f934fa67.js";import{e as ae,D as ie,a as ne,c as le,d as ce}from"./DataListItemRow-7ca17a45.js";import{s as v}from"./data-list-7d55714c.js";import{M as oe,a as F}from"./Modal-ea09312d.js";const U=e=>{var{children:c,className:r,visibility:d,id:p,"aria-label":b,"aria-labelledby":u,isPlainButtonAction:i}=e,m=T(e,["children","className","visibility","id","aria-label","aria-labelledby","isPlainButtonAction"]);return n.createElement("div",Object.assign({className:D(v.dataListItemAction,W(d,v),r)},m),i?n.createElement("div",{className:D(v.dataListAction)},c):c)};U.displayName="DataListAction";const q=e=>{var{className:c="",onChange:r=(o,f)=>{},isValid:d=!0,isDisabled:p=!1,isChecked:b=!1,checked:u=!1,defaultChecked:i,otherControls:m=!1}=e,k=T(e,["className","onChange","isValid","isDisabled","isChecked","checked","defaultChecked","otherControls"]);const l=n.createElement("div",{className:D(v.dataListCheck)},n.createElement("input",Object.assign({},k,{type:"checkbox",onChange:o=>r(o.currentTarget.checked,o),"aria-invalid":!d,disabled:p},[!0,!1].includes(i)&&{defaultChecked:i},![!0,!1].includes(i)&&{checked:b||u})));return n.createElement(n.Fragment,null,!m&&n.createElement("div",{className:D(v.dataListItemControl,c)},l),m&&l)};q.displayName="DataListCheck";const re=({group:{path:e},onMouseEnter:c,...r})=>{const[d,p]=n.useState(""),b=i=>{p(e),c?.(i)},u=s.jsx("span",{onMouseEnter:b,...r,children:e});return d!==""?s.jsx(X,{content:d,isVisible:!0,children:u}):u};const fe=({id:e,type:c,filterGroups:r,text:d,canBrowse:p=!0,onClose:b,onConfirm:u})=>{const{t:i}=V(),[m,k]=n.useState([]),[l,o]=n.useState([]),[f,I]=n.useState([]),[P,J]=n.useState(""),[_,z]=n.useState([]),[x,C]=n.useState(),[h,$]=n.useState(!1),[S,y]=n.useState(10),[j,g]=n.useState(0),[H,K]=n.useState(0),M=()=>l[l.length-1];Y(async()=>{let t,a,G,L=0;if(!x)a=await te("ui-ext/groups",Object.assign({first:`${j}`,max:`${S+1}`},h?null:{search:P}));else if(!l.map(({id:N})=>N).includes(x)){if(t=await w.groups.findOne({id:x}),!t)throw new Error(i("common:notFound"));a=t.subGroups}return h&&(L=(await w.groups.count({search:P,top:!0})).count),e&&(G=await w.users.listGroups({id:e})),{group:t,groups:a,existingUserGroups:G,count:L}},async({group:t,groups:a,existingUserGroups:G,count:L})=>{z(G||[]),t&&o([...l,t]),a&&(a.forEach(N=>{N.checked=!!m.find(Q=>Q.id===N.id)}),I(a)),K(L)},[x,P,j,S]);const A=t=>[..._.map(a=>a.id),...(r||[]).map(a=>a.id)].some(a=>a===t?.id);return s.jsx(oe,{variant:h?F.medium:F.small,title:i(d.title,{group1:r?.[0]?.name,group2:l.length?M().name:i("root")}),isOpen:!0,onClose:b,actions:[s.jsx(E,{"data-testid":`${d.ok}-button`,variant:"primary",form:"group-form",onClick:()=>{u(c==="selectMany"?m:l.length?[M()]:void 0)},isDisabled:c==="selectMany"&&m.length===0,children:i(d.ok)},"confirm")],children:s.jsxs(se,{count:(h?H:f.length)-(x||h?j:0),first:j,max:S,onNextClick:g,onPreviousClick:g,onPerPageSelect:(t,a)=>{g(t),y(a)},inputGroupName:"common:search",inputGroupOnEnter:t=>{J(t),$(t!==""),g(0),y(10),o([]),C(void 0)},inputGroupPlaceholder:i("users:searchForGroups"),children:[s.jsxs(Z,{children:[l.length>0&&s.jsx(O,{children:s.jsx(E,{variant:"link",onClick:()=>{C(void 0),o([]),g(0),y(10)},children:i("groups")})},"home"),l.map((t,a)=>s.jsxs(O,{children:[l.length-1!==a&&s.jsx(E,{variant:"link",onClick:()=>{C(t.id),o([...l].slice(0,a)),g(0),y(10)},children:t.name}),l.length-1===a&&t.name]},a))]}),s.jsx(ae,{"aria-label":i("groups"),isCompact:!0,children:f.slice(x?j:0,S+(x?j:0)).map(t=>s.jsxs(s.Fragment,{children:[s.jsx(R,{group:t,isRowDisabled:A,onSelect:C,type:c,isSearching:h,setIsSearching:$,selectedRows:m,setSelectedRows:k,canBrowse:p},t.id),h&&t.subGroups?.length!==0&&t.subGroups.map(a=>s.jsx(R,{group:a,isRowDisabled:A,onSelect:C,type:c,isSearching:h,setIsSearching:$,selectedRows:m,setSelectedRows:k,canBrowse:p},a.id))]}))}),f.length===0&&!h&&s.jsx(B,{hasIcon:!1,message:i("groups:moveGroupEmpty"),instructions:i("groups:moveGroupEmptyInstructions")}),f.length===0&&h&&s.jsx(B,{message:i("common:noSearchResults"),instructions:i("common:noSearchResultsInstructions")})]})})},R=({group:e,type:c,isRowDisabled:r,isSearching:d,setIsSearching:p,onSelect:b,selectedRows:u,setSelectedRows:i,canBrowse:m})=>{const{t:k}=V(),l=o=>o.subGroups?.length!==0;return s.jsx(ie,{className:`join-group-dialog-row-${r(e)?"disabled":""}`,"aria-labelledby":e.name,id:e.id,onClick:o=>{r(e)||(c==="selectOne"?b(e.id):l(e)&&o.target.type!=="checkbox"&&(b(e.id),p(!1)))},children:s.jsxs(ne,{className:`join-group-dialog-row-${r(e)?"m-disabled":""}`,"data-testid":e.name,children:[c==="selectMany"&&s.jsx(q,{className:"kc-join-group-modal-check","data-testid":`${e.name}-check`,"aria-label":e.name,checked:e.checked,isDisabled:r(e),onChange:o=>{e.checked=o;let f=[];e.checked?f=[...u,e]:f=u.filter(I=>I.id!==e.id),i(f)},"aria-labelledby":`select-${e.name}`}),s.jsx(le,{dataListCells:[s.jsx(ce,{className:"keycloak-groups-group-path",children:d?s.jsx(re,{id:`select-${e.name}`,group:e}):s.jsx("span",{id:`select-${e.name}`,children:e.name})},`name-${e.id}`)]}),s.jsx(U,{id:"actions","aria-labelledby":`select-${e.name}`,"aria-label":k("groupName"),isPlainButtonAction:!0,children:(l(e)&&m||c==="selectOne")&&s.jsx(E,{isDisabled:!0,variant:"link","aria-label":k("common:select"),children:s.jsx(ee,{})})})]})},e.id)};export{fe as G,re as a};
//# sourceMappingURL=GroupPickerDialog-9d38b823.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy