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

theme.keycloak.v2.admin.resources.assets.ResourcesPolicySelect-1eb10709.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{u as A,a as _,r as u,q as M,j as d,C as V,g as x}from"./index-f33eb656.js";import{S as E,a as v,b as T}from"./Select-802cd710.js";const q={resources:{searchFunction:"listResources",fetchFunction:"getAssociatedResources"},policies:{searchFunction:"listPolicies",fetchFunction:"getAssociatedPolicies"}},I=({name:t,clientId:h,permissionId:g,variant:f=v.typeaheadMulti,preSelected:o,isRequired:F=!1})=>{const{t:m}=A("clients"),{control:y,formState:{errors:C}}=_(),[b,j]=u.useState([]),[i,r]=u.useState(""),[O,P]=u.useState(!1),p=q[t],R=e=>({id:"_id"in e?e._id:"id"in e?e.id:void 0,name:e.name});M(async()=>{const e=Object.assign({id:h,first:0,max:10,permission:"false"},i===""?null:{name:i});return(await Promise.all([x.clients[p.searchFunction](e),g?x.clients[p.fetchFunction]({id:h,permissionId:g}):Promise.resolve([])])).flat().filter(n=>typeof n!="string").map(R).filter(({id:n},a,s)=>a===s.findIndex(({id:c})=>n===c))},j,[i]);const S=()=>b.map(e=>d.jsx(T,{value:e.id,children:e.name},e.id));return d.jsx(V,{name:t,defaultValue:o?[o]:[],control:y,rules:{validate:e=>!F||e.length>0},render:({field:e})=>d.jsx(E,{toggleId:t,variant:f,onToggle:P,onFilter:(n,a)=>(r(a),S()),onClear:()=>{e.onChange([]),r("")},selections:e.value,onSelect:(n,a)=>{const s=a.toString();if(f===v.typeaheadMulti){const c=e.value?.find(l=>l===s)?e.value.filter(l=>l!==s):[...e.value,s];e.onChange(c)}else e.onChange([s]);r("")},isOpen:O,"aria-labelledby":m(t),isDisabled:!!o,validated:C[t]?"error":"default",typeAheadAriaLabel:m(t),children:S()})})};export{I as R};
//# sourceMappingURL=ResourcesPolicySelect-1eb10709.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy