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

theme.keycloak.v2.admin.resources.assets.UserForm-7ed7f114.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{au as P,c as M,r as x,q as V,g as I,j as e,B as S,L as re,dl as ie,u as y,a as T,F as u,C as F,h as b,b as ne,d as te,cX as oe,S as B,O as le,A as w}from"./index-0cda761d.js";import{F as de}from"./FormAccess-835af982.js";import{G as ce}from"./GroupPickerDialog-9d38b823.js";import{K as h}from"./KeycloakTextInput-ada01047.js";import{u as me}from"./useFormatDate-108df619.js";import{u as ue,F as pe}from"./useIsFeatureEnabled-7d978ee4.js";import{S as fe}from"./ScrollForm-e9e4a7be.js";import{u as he}from"./UserProfileContext-2c96f79e.js";import{i as xe,u as je}from"./user-section-12ab98ea.js";import{u as ge}from"./useToggle-3764a2a4.js";import{F as ve,A as ke}from"./Form-4087ddae.js";import{T as be}from"./Text-b9444fb8.js";import{S as $,b as N,a as Ie,C as ye,c as Ae}from"./Select-68736f55.js";const Se=({user:s})=>{const n=P(),{realm:o}=M(),[i,c]=x.useState();return V(()=>n.hasAccess("view-realm")?I.components.findOne({id:s.federationLink||s.origin}):I.userStorageProvider.name({id:s.federationLink||s.origin}),c,[]),i?e.jsx(S,{variant:"link",isDisabled:!n.hasAccess("view-realm"),component:p=>e.jsx(re,{...p,to:ie({id:i.id,providerId:i.providerId,realm:o})}),children:i.name}):null},Te=["username","firstName","lastName","email"],q=["admin","user"];function $e(s){return!!s.responseData.errors}function _e(s){return s.responseData.errors?.map(n=>n.errorMessage).join(`
`)||""}const Fe=({roles:s=["admin"]})=>{const{t:n}=y("realm-settings"),{config:o}=he();return e.jsx(fe,{sections:[{name:""},...o?.groups||[]].map(i=>({title:i.displayHeader||i.name||n("general"),panel:e.jsxs(ve,{children:[i.displayDescription&&e.jsx(be,{className:"pf-u-pb-lg",children:i.displayDescription}),o?.attributes?.map(c=>e.jsx(x.Fragment,{children:(c.group||"")===i.name&&(c.permissions?.view||q).some(p=>s.includes(p))&&e.jsx(Le,{attribute:c,roles:s})},c.name))]})}))})},Le=({attribute:s,roles:n})=>{const{t:o}=y("users"),{formState:{errors:i},register:c,control:p}=T(),[a,j]=ge(),v=r=>Object.hasOwn(r.validations||{},"options"),m=r=>r&&Te.includes(r),l=r=>Object.keys(r.required||{}).length!==0||(r.validations?.length?.min||0)>0,d=r=>`${m(r.name)?"":"attributes."}${r.name}`;return e.jsx(u,{label:(xe(s.displayName)?o(je(s.displayName)):s.displayName)||s.name,fieldId:s.name,isRequired:l(s),validated:i.username?"error":"default",helperTextInvalid:o("common:required"),children:v(s)?e.jsx(F,{name:d(s),defaultValue:"",control:p,render:({field:r})=>e.jsx($,{toggleId:s.name,onToggle:j,onSelect:(f,L)=>{r.onChange(L.toString()),j()},selections:r.value,variant:"single","aria-label":o("common:selectOne"),isOpen:a,isDisabled:!(s.permissions?.edit||q).some(f=>n.includes(f)),children:[e.jsx(N,{value:"",children:o("common:choose")},"empty"),...(s.validations?.options).options.map(f=>e.jsx(N,{selected:r.value===f,value:f,children:f},f))]})}):e.jsx(h,{id:s.name,isDisabled:!(s.permissions?.edit||q).some(r=>n.includes(r)),...c(d(s))})},s.name)},Ce=({name:s,label:n,help:o})=>{const{t:i}=y("users"),{control:c}=T(),[p,a]=x.useState(!1),[j,v]=x.useState([]);return V(()=>I.authenticationManagement.getRequiredActions(),m=>{const l=m.filter(d=>d.enabled);v(l)},[]),e.jsx(u,{label:i(n),labelIcon:e.jsx(b,{helpText:i(o),fieldLabelId:"resetActions"}),fieldId:"actions",children:e.jsx(F,{name:s,defaultValue:[],control:c,render:({field:m})=>e.jsx($,{maxHeight:375,toggleId:`${s}-actions`,variant:Ie.typeaheadMulti,chipGroupProps:{numChips:3},placeholderText:i("requiredActionPlaceholder"),menuAppendTo:"parent",onToggle:l=>a(l),isOpen:p,selections:m.value,onSelect:(l,d)=>m.onChange(m.value.find(r=>r===d)?m.value.filter(r=>r!==d):[...m.value,d]),onClear:l=>{l.stopPropagation(),m.onChange([])},typeAheadAriaLabel:i("resetActions"),children:j.map(({alias:l,name:d})=>e.jsx(N,{value:l,"data-testid":`${l}-option`,children:d},l))})})})},D=()=>{const{t:s}=y("users"),{control:n}=T();return e.jsx(u,{label:s("emailVerified"),fieldId:"kc-email-verified",helperTextInvalid:s("common:required"),labelIcon:e.jsx(b,{helpText:s("users-help:emailVerified"),fieldLabelId:"users:emailVerified"}),children:e.jsx(F,{name:"emailVerified",defaultValue:!1,control:n,render:({field:o})=>e.jsx(B,{"data-testid":"email-verified-switch",id:"kc-user-email-verified",onChange:i=>o.onChange(i),isChecked:o.value,label:s("common:yes"),labelOff:s("common:no")})})})},He=({user:s,realm:n,bruteForce:{isBruteForceProtected:o,isLocked:i}={isBruteForceProtected:!1,isLocked:!1},save:c,onGroupsUpdate:p})=>{const{t:a}=y("users"),{realm:j}=M(),v=me(),m=ue(),l=ne(),{addAlert:d,addError:r}=te(),{hasAccess:f}=P(),L=f("manage-users"),{handleSubmit:_,register:A,watch:H,control:K,reset:z,formState:{errors:k}}=T(),W=H("username"),[g,O]=x.useState([]),[R,C]=x.useState(!1),[U,X]=x.useState(i),J=async()=>{try{await I.attackDetection.del({id:s.id}),d(a("unlockSuccess"),w.success)}catch(t){r("users:unlockError",t)}},Q=t=>{O(g.filter(G=>G.name!==t)),p?.(g)},Y=async t=>{O([...g,...t]),p?.([...g,...t])},Z=async t=>{t.forEach(async se=>{try{await I.users.addToGroup({id:s.id,groupId:se.id}),d(a("users:addedGroupMembership"),w.success)}catch(ae){r("users:addedGroupMembershipError",ae)}})},ee=()=>{C(!R)},E=m(pe.DeclarativeUserProfile)&&n?.attributes?.userProfileEnabled==="true";return e.jsxs(de,{isHorizontal:!0,onSubmit:_(c),role:"query-users",fineGrainedAccess:s?.access?.manage,className:"pf-u-mt-lg",children:[R&&e.jsx(ce,{type:"selectMany",text:{title:"users:selectGroups",ok:"users:join"},canBrowse:L,onConfirm:t=>{s?.id?Z(t||[]):Y(t||[]),C(!1)},onClose:()=>C(!1),filterGroups:g}),E&&e.jsx(D,{}),s?.id&&e.jsxs(e.Fragment,{children:[e.jsx(u,{label:a("common:id"),fieldId:"kc-id",isRequired:!0,children:e.jsx(h,{id:s.id,"aria-label":a("userID"),value:s.id,type:"text",isReadOnly:!0})}),e.jsx(u,{label:a("createdAt"),fieldId:"kc-created-at",isRequired:!0,children:e.jsx(h,{value:v(new Date(s.createdTimestamp)),type:"text",id:"kc-created-at","aria-label":a("createdAt"),name:"createdTimestamp",isReadOnly:!0})})]}),e.jsx(Ce,{name:"requiredActions",label:"requiredUserActions",help:"users-help:requiredUserActions"}),(s?.federationLink||s?.origin)&&e.jsx(u,{label:a("federationLink"),labelIcon:e.jsx(b,{helpText:a("users-help:federationLink"),fieldLabelId:"users:federationLink"}),children:e.jsx(Se,{user:s})}),E?e.jsx(Fe,{}):e.jsxs(e.Fragment,{children:[!n?.registrationEmailAsUsername&&e.jsx(u,{label:a("username"),fieldId:"kc-username",isRequired:!0,validated:k.username?"error":"default",helperTextInvalid:a("common:required"),children:e.jsx(h,{id:"kc-username",isReadOnly:!!s?.id&&!n?.editUsernameAllowed&&n?.editUsernameAllowed!==void 0,...A("username")})}),e.jsx(u,{label:a("email"),fieldId:"kc-email",validated:k.email?"error":"default",helperTextInvalid:a("users:emailInvalid"),children:e.jsx(h,{type:"email",id:"kc-email","data-testid":"email-input",...A("email",{pattern:oe})})}),e.jsx(D,{}),e.jsx(u,{label:a("firstName"),fieldId:"kc-firstName",validated:k.firstName?"error":"default",helperTextInvalid:a("common:required"),children:e.jsx(h,{"data-testid":"firstName-input",id:"kc-firstName",...A("firstName")})}),e.jsx(u,{label:a("lastName"),fieldId:"kc-lastName",validated:k.lastName?"error":"default",children:e.jsx(h,{"data-testid":"lastName-input",id:"kc-lastname","aria-label":a("lastName"),...A("lastName")})})]}),o&&e.jsx(u,{label:a("temporaryLocked"),fieldId:"temporaryLocked",labelIcon:e.jsx(b,{helpText:a("users-help:temporaryLocked"),fieldLabelId:"users:temporaryLocked"}),children:e.jsx(B,{"data-testid":"user-locked-switch",id:"temporaryLocked",onChange:t=>{J(),X(t)},isChecked:U,isDisabled:!U,label:a("common:on"),labelOff:a("common:off")})}),!s?.id&&e.jsx(u,{label:a("common:groups"),fieldId:"kc-groups",validated:k.requiredActions?"error":"default",helperTextInvalid:a("common:required"),labelIcon:e.jsx(b,{helpText:a("users-help:groups"),fieldLabelId:"groups"}),children:e.jsx(F,{name:"groups",defaultValue:[],control:K,render:()=>e.jsxs(le,{children:[e.jsx(ye,{categoryName:" ",children:g.map(t=>e.jsx(Ae,{onClick:()=>Q(t.name),children:t.path},t.id))}),e.jsx(S,{id:"kc-join-groups-button",onClick:ee,variant:"secondary","data-testid":"join-groups-button",children:a("users:joinGroups")})]})})}),e.jsxs(ke,{children:[e.jsx(S,{"data-testid":s?.id?"save-user":"create-user",isDisabled:!s?.id&&!W&&!n?.registrationEmailAsUsername,variant:"primary",type:"submit",children:s?.id?a("common:save"):a("common:create")}),e.jsx(S,{"data-testid":"cancel-create-user",onClick:()=>s?.id?z(s):l(`/${j}/users`),variant:"link",children:s?.id?a("common:revert"):a("common:cancel")})]})]})};export{Se as F,Ce as R,He as U,$e as i,_e as u};
//# sourceMappingURL=UserForm-7ed7f114.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy