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

theme.keycloak.v2.admin.resources.assets.ClientProfileForm-b93fb57e.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{u as J,b as Q,e as U,aw as Y,d as Z,r as m,W as _,q as ee,l as te,g as f,A as b,d3 as D,d0 as k,j as e,K as ie,o as re,G as se,P as ae,F as I,V as F,B as c,L as p,h as N,df as oe,dg as le,X as ne}from"./index-0cda761d.js";import{u as ce}from"./ConfirmDialog-100e6a40.js";import{F as de}from"./FormAccess-835af982.js";import{K as me}from"./KeycloakTextArea-9049d04c.js";import{K as ue}from"./KeycloakTextInput-ada01047.js";import{V as xe}from"./ViewHeader-ff389f8e.js";import{u as fe}from"./useParams-bc47a968.js";import"./realm-settings-section-4ed993c7.js";import{A as pe}from"./Form-4087ddae.js";import{F as he}from"./Flex-a3793595.js";import{F as w}from"./FlexItem-742749b8.js";import{T as S,a as L}from"./Text-b9444fb8.js";import{P as ge}from"./plus-circle-icon-fe78809e.js";import{e as Pe,D as je,a as Ce,c as be,d as ke}from"./DataListItemRow-7ca17a45.js";import{T as Te}from"./trash-icon-d675554b.js";import"./Modal-ea09312d.js";import"./copy-icon-b8d617db.js";import"./GridItem-1535d986.js";import"./ToolbarContent-fee3570e.js";import"./data-list-7d55714c.js";import"./grip-vertical-icon-ba7b06db.js";const ve={name:"",description:"",executors:[]};function Xe(){const{t}=J("realm-settings"),h=Q(),{handleSubmit:V,setValue:g,getValues:A,register:T,formState:{isDirty:v,errors:K},control:G}=U({defaultValues:ve,mode:"onChange"}),{fields:P,remove:R}=Y({name:"executors",control:G}),{addAlert:j,addError:C}=Z(),[d,B]=m.useState(),[s,H]=m.useState(!1),{realm:l,profileName:a}=fe(),q=_(),O=m.useMemo(()=>q.componentTypes?.["org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider"],[]),[u,M]=m.useState(),n=!!a,[y,z]=m.useState(0),W=()=>z(y+1);ee(()=>f.clientPolicies.listProfiles({includeGlobalProfiles:!0}),i=>{B({globalProfiles:i.globalProfiles,profiles:i.profiles?.filter(x=>x.name!==a)});const o=i.globalProfiles?.find(x=>x.name===a),r=i.profiles?.find(x=>x.name===a);H(o!==void 0),g("name",o?.name??r?.name??""),g("description",o?.description??r?.description??""),g("executors",o?.executors??r?.executors??[])},[y]);const X=async i=>{const o=i;try{await f.clientPolicies.createProfiles({...d,profiles:[...d?.profiles||[],o]}),j(t(n?"realm-settings:updateClientProfileSuccess":"realm-settings:createClientProfileSuccess"),b.success),h(D({realm:l,profileName:i.name}))}catch(r){C(n?"realm-settings:updateClientProfileError":"realm-settings:createClientProfileError",r)}},[E,$]=ce({titleKey:u?.name?t("deleteExecutorProfileConfirmTitle"):t("deleteClientProfileConfirmTitle"),messageKey:u?.name?t("deleteExecutorProfileConfirm",{executorName:u.name}):t("deleteClientProfileConfirm",{profileName:a}),continueButtonLabel:t("delete"),continueButtonVariant:te.danger,onConfirm:async()=>{if(u?.name){R(u.idx);try{await f.clientPolicies.createProfiles({...d,profiles:[...d.profiles||[],A()]}),j(t("deleteExecutorSuccess"),b.success),h(D({realm:l,profileName:a}))}catch(i){C(t("deleteExecutorError"),i)}}else try{await f.clientPolicies.createProfiles(d),j(t("deleteClientSuccess"),b.success),h(k({realm:l,tab:"profiles"}))}catch(i){C(t("deleteClientError"),i)}}});return d?e.jsxs(e.Fragment,{children:[e.jsx($,{}),e.jsx(xe,{titleKey:n?a:t("newClientProfile"),badges:[{id:"global-client-profile-badge",text:s?e.jsx(re,{color:"blue",children:t("global")}):""}],divider:!0,dropdownItems:n&&!s?[e.jsx(se,{value:"delete",onClick:E,"data-testid":"deleteClientProfileDropdown",children:t("deleteClientProfile")},"delete")]:void 0}),e.jsx(ae,{variant:"light",children:e.jsxs(de,{isHorizontal:!0,role:"view-realm",className:"pf-u-mt-lg",children:[e.jsx(I,{label:t("newClientProfileName"),fieldId:"kc-name",helperText:t("createClientProfileNameHelperText"),isRequired:!0,helperTextInvalid:t("common:required"),validated:K.name?F.error:F.default,children:e.jsx(ue,{id:"kc-name","data-testid":"client-profile-name",isReadOnly:s,...T("name",{required:!0})})}),e.jsx(I,{label:t("common:description"),fieldId:"kc-description",children:e.jsx(me,{id:"kc-description","data-testid":"client-profile-description",isReadOnly:s,...T("description")})}),e.jsxs(pe,{children:[!s&&e.jsx(c,{variant:"primary",onClick:()=>V(X)(),"data-testid":"saveCreateProfile",isDisabled:!v,children:t("common:save")}),n&&!s&&e.jsx(c,{id:"reloadProfile",variant:"link","data-testid":"reloadProfile",isDisabled:!v,onClick:W,children:t("realm-settings:reload")}),!n&&!s&&e.jsx(c,{id:"cancelCreateProfile",variant:"link",component:i=>e.jsx(p,{...i,to:k({realm:l,tab:"profiles"})}),"data-testid":"cancelCreateProfile",children:t("common:cancel")})]}),n&&e.jsxs(e.Fragment,{children:[e.jsxs(he,{children:[e.jsx(w,{children:e.jsxs(S,{className:"kc-executors",component:L.h1,children:[t("executors"),e.jsx(N,{helpText:t("realm-settings:executorsHelpText"),fieldLabelId:"realm-settings:executors"})]})}),!s&&e.jsx(w,{align:{default:"alignRight"},children:e.jsx(c,{id:"addExecutor",component:i=>e.jsx(p,{...i,to:oe({realm:l,profileName:a})}),variant:"link",className:"kc-addExecutor","data-testid":"addExecutor",icon:e.jsx(ge,{}),children:t("realm-settings:addExecutor")})})]}),P.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(Pe,{"aria-label":t("executors"),isCompact:!0,children:P.map((i,o)=>e.jsx(je,{"aria-labelledby":"executors-list-item",id:i.executor,children:e.jsx(Ce,{"data-testid":"executors-list-row",children:e.jsx(be,{dataListCells:[e.jsxs(ke,{"data-testid":"executor-type",children:[i.configuration?e.jsx(c,{component:r=>e.jsx(p,{...r,to:le({realm:l,profileName:a,executorName:i.executor})}),variant:"link","data-testid":"editExecutor",children:i.executor}):e.jsx("span",{className:"kc-unclickable-executor",children:i.executor}),O?.filter(r=>r.id===i.executor).map(r=>e.jsxs(m.Fragment,{children:[e.jsx(N,{helpText:r.helpText,fieldLabelId:"realm-settings:executorTypeTextHelpText"},r.id),!s&&e.jsx(c,{variant:"link",isInline:!0,icon:e.jsx(Te,{className:"kc-executor-trash-icon","data-testid":"deleteExecutor"},`executorType-trash-icon-${r.id}`),onClick:()=>{E(),M({idx:o,name:r.id})},"aria-label":t("common:remove")})]},r.id))]},"executor")]})})},i.executor))}),s&&e.jsx(c,{id:"backToClientPolicies",component:i=>e.jsx(p,{...i,to:k({realm:l,tab:"profiles"})}),variant:"primary",className:"kc-backToPolicies","data-testid":"backToClientPolicies",children:t("realm-settings:back")})]}),P.length===0&&e.jsxs(e.Fragment,{children:[e.jsx(ne,{}),e.jsx(S,{className:"kc-emptyExecutors",component:L.h2,children:t("realm-settings:emptyExecutors")})]})]})]})})]}):e.jsx(ie,{})}export{Xe as default};
//# sourceMappingURL=ClientProfileForm-b93fb57e.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy