1import{jsxs as m,Fragment as S,jsx as r}from"react/jsx-runtime";import{a as O,O as F,$ as j,R as k,_ as U,U as q,ci as x,cj as E,al as L,u as H,n as K,B as N,b as $,d as G,f as R,s as P,di as I,m as _,v as z,P as J,D as Q,p as W,A as X,g as T,L as Y,r as Z,dk as ee,q as re}from"./main-_ihRb8Qg.js";import{useState as C}from"react";import{u as ae}from"./ConfirmDialog-C_CyRe0B.js";import{D as te}from"./DynamicComponents-BaJRoKWf.js";import{F as ie}from"./FormAccess-nKSssynu.js";import{V as se}from"./ViewHeader-BKbUCfZV.js";import{u as oe,m as ne}from"./useLocaleSort-CDjIXEHs.js";import{u as pe}from"./useParams-CZh4xVl7.js";import"react-dom";import"./ClientSelect-B1O_K1Bm.js";import"./FileUpload-CsLjB0m6.js";import"./GroupPickerDialog-Re0MvBrh.js";import"./DataListItemRow-Dy_s8uJK.js";import"./KeySelect-CCez0SUD.js";import"./MultiLineInput-CsIbzFmn.js";import"./AddRoleMappingModal-CyI9hBlp.js";import"./translationFormatter-BuoX761Q.js";import"./filter-icon-BJy6kb4G.js";import"./index-DtAnyQJg.js";const de=({mapperTypes:n,mapperType:a,form:d,id:f,updateMapperType:u})=>{const{t:s}=O(),{control:M}=d,[g,l]=C(!1),t=["inherit","import","legacy","force"];return m(S,{children:[r(F,{name:"name",label:s("name"),labelIcon:s("addIdpMapperNameHelp"),readOnly:!!f,rules:{required:s("required")}}),r(j,{name:"config.syncMode",label:s("syncModeOverride"),labelIcon:s("syncModeOverrideHelp"),options:t.map(i=>({key:i.toUpperCase(),value:s(`syncModes.${i}`)})),controller:{defaultValue:t[0].toUpperCase()}}),r(k,{label:s("mapperType"),labelIcon:r(U,{helpText:a.helpText,fieldLabelId:"mapperType"}),fieldId:"identityProviderMapper",children:r(q,{name:"identityProviderMapper",defaultValue:n[0].id,control:M,render:({field:i})=>r(x,{toggleId:"identityProviderMapper","data-testid":"idp-mapper-select",isDisabled:!!f,onToggle:()=>l(!g),onSelect:e=>{const y=e;u(y),i.onChange(y.id),l(!1)},selections:a.name,variant:E.single,"aria-label":s("mapperType"),isOpen:g,children:n.map(e=>r(L,{selected:e===i.value,"datatest-id":e.id,value:e,children:e.name},e.name))})})})]})};function De(){const{adminClient:n}=H(),{t:a}=O(),d=K({shouldUnregister:!0}),{handleSubmit:f}=d,{addAlert:u,addError:s}=N(),M=$(),g=oe(),{realm:l}=G(),{id:t,providerId:i,alias:e}=pe(),[y,V]=C(),[v,h]=C(),A=async o=>{const b=Z(o),c={...b,config:{...b.config},identityProviderAlias:e};if(t)try{await n.identityProviders.updateMapper({id:t,alias:e},{...c,id:t}),u(a("mapperSaveSuccess"),P.success)}catch(p){s("mapperSaveError",p)}else try{const p=await n.identityProviders.createMapper({identityProviderMapper:c,alias:e});u(a("mapperCreateSuccess"),P.success),M(ee({realm:l,alias:e,providerId:i,id:p.id}))}catch(p){s("mapperCreateError",p)}},[D,w]=ae({titleKey:"deleteProviderMapper",messageKey:a("deleteMapperConfirm",{mapper:v?.name}),continueButtonLabel:"delete",continueButtonVariant:R.danger,onConfirm:async()=>{try{await n.identityProviders.delMapper({alias:e,id:t}),u(a("deleteMapperSuccess"),P.success),M(I({providerId:i,alias:e,tab:"mappers",realm:l}))}catch(o){s("deleteErrorIdentityProvider",o)}}});_(()=>Promise.all([t?n.identityProviders.findOneMapper({alias:e,id:t}):null,n.identityProviders.findMapperTypes({alias:e})]),([o,b])=>{const c=g(Object.values(b),ne("name"));o?(h(c.find(({id:p})=>p===o.identityProviderMapper)),B(o)):h(c[0]),V(c)},[t]);const B=o=>{re(o,d.setValue)};return!y||!v?r(z,{}):m(J,{variant:"light",children:[r(w,{}),r(se,{className:"kc-add-mapper-title",titleKey:t?a("editIdPMapper",{providerId:i[0].toUpperCase()+i.substring(1)}):a("addIdPMapper",{providerId:i[0].toUpperCase()+i.substring(1)}),dropdownItems:t?[r(Q,{onClick:D,children:a("delete")},"delete")]:void 0,divider:!0}),m(ie,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:f(A),className:"pf-v5-u-mt-lg",children:[m(W,{...d,children:[t&&r(F,{name:"id",label:a("id"),readOnly:!0,rules:{required:a("required")}}),v.properties&&m(S,{children:[r(de,{form:d,id:t,mapperTypes:y,updateMapperType:h,mapperType:v}),r(te,{properties:v.properties})]})]}),m(X,{children:[r(T,{"data-testid":"new-mapper-save-button",variant:"primary",type:"submit",children:a("save")}),r(T,{"data-testid":"new-mapper-cancel-button",variant:"link",component:o=>r(Y,{...o,to:I({realm:l,providerId:i,alias:e,tab:"mappers"})}),children:a("cancel")})]})]})]})}export{De as default}; 2//# sourceMappingURL=AddMapper-C5Onv77r.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.