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

theme.keycloak.v2.admin.resources.assets.EditClientScope-9f8d9212.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{u as O,b as k,c as B,d as L,Y as N,r as j,q as U,l as q,g as r,A as l,a2 as z,j as t,K as G,G as H,P as S,a3 as C,a4 as Y,a5 as _,z as J}from"./index-831988f6.js";import{c as Q,C as b,A as W}from"./ClientScopeTypes-553b8611.js";import{u as X}from"./ConfirmDialog-927d61dd.js";import{R as Z}from"./AddRoleMappingModal-e0605cd7.js";import{R as $,u as ee}from"./RoutableTabs-8afbc312.js";import{V as te}from"./ViewHeader-2b1ad3ef.js";import{u as oe}from"./useParams-6d64d61e.js";import{M as se}from"./MapperList-002497a1.js";import{S as ae}from"./ScopeForm-df03a25d.js";import{a as f,b as g}from"./Tabs-f8972b46.js";import"./Select-9c61d949.js";import"./check-fc57dbe1.js";import"./star-icon-f5649401.js";import"./Modal-5d8a3df4.js";import"./useLocaleSort-6d6b4eec.js";import"./PaginatingTableToolbar-c55a17f1.js";import"./plus-circle-icon-3c14c705.js";import"./EmptyStateBody-dd392e69.js";import"./EmptyStateSecondaryActions-3d9f7969.js";import"./TableToolbar-af5dff6f.js";import"./ToolbarContent-186be8fd.js";import"./Form-bd3cf98e.js";import"./KeycloakDataTable-2267a354.js";import"./Td-bb613d18.js";import"./grip-vertical-icon-0333850c.js";import"./Checkbox-d44d2684.js";import"./resource-edcf6e4d.js";import"./admin-ui-endpoint-cc06c193.js";import"./getAuthorizationHeaders-f2376d1a.js";import"./filter-icon-5bbef384.js";import"./Text-2a2c2dcc.js";import"./DataListItemRow-e4e4ea8b.js";import"./data-list-7d55714c.js";import"./utils-49fe564a.js";import"./SwitchControl-070aaf60.js";import"./FormAccess-589a8032.js";import"./copy-icon-476b0d6d.js";import"./GridItem-2c75fd83.js";import"./KeycloakTextArea-3e2614e3.js";import"./KeycloakTextInput-ead44014.js";import"./useIsFeatureEnabled-d2f044ea.js";import"./plus-icon-1b237b1a.js";import"./MenuList-d75eeee8.js";function We(){const{t:s}=O("client-scopes"),h=k(),{realm:m}=B(),{id:n}=oe(),{addAlert:c,addError:p}=L(),{enabled:w}=N(),[a,T]=j.useState(),[x,M]=j.useState(0),y=()=>M(x+1);U(async()=>{const e=await r.clientScopes.findOne({id:n});if(!e)throw new Error(s("common:notFound"));return{...e,type:await v(e)}},e=>{T(e)},[x,n]);async function v(e){return(await r.clientScopes.listDefaultClientScopes()).find(u=>u.name===e.name)?b.default:(await r.clientScopes.listDefaultOptionalClientScopes()).find(u=>u.name===e.name)?b.optional:W.none}const d=e=>ee(_({realm:m,id:n,tab:e})),D=d("settings"),A=d("mappers"),E=d("scope"),R=async e=>{const o=J({...e,name:e.name?.trim().replace(/ /g,"_")});try{await r.clientScopes.update({id:n},o),await Q({...o,id:n},o.type),c(s("updateSuccess"),l.success)}catch(i){p("client-scopes:updateError",i)}},[I,K]=X({titleKey:s("deleteClientScope",{count:1,name:a?.name}),messageKey:"client-scopes:deleteConfirm",continueButtonLabel:"common:delete",continueButtonVariant:q.danger,onConfirm:async()=>{try{await r.clientScopes.del({id:n}),c(s("deletedSuccess"),l.success),h(z({realm:m}))}catch(e){p("client-scopes:deleteError",e)}}}),P=async e=>{try{const o=e.filter(i=>i.client===void 0).map(i=>i.role).flat();await r.clientScopes.addRealmScopeMappings({id:n},o),await Promise.all(e.filter(i=>i.client!==void 0).map(i=>r.clientScopes.addClientScopeMappings({id:n,client:i.client.id},[i.role]))),c(s("roleMappingUpdatedSuccess"),l.success)}catch(o){p("client-scopes:roleMappingUpdatedError",o)}},V=async e=>{if(Array.isArray(e))try{await r.clientScopes.addMultipleProtocolMappers({id:a.id},e),y(),c(s("common:mappingCreatedSuccess"),l.success)}catch(o){p("common:mappingCreatedError",o)}else{const o=e;h(C({realm:m,id:a.id,mapperId:o.id}))}},F=async e=>{try{await r.clientScopes.delProtocolMapper({id:a.id,mapperId:e.id}),c(s("common:mappingDeletedSuccess"),l.success),y()}catch(o){p("common:mappingDeletedError",o)}return!0};return a?t.jsxs(t.Fragment,{children:[t.jsx(K,{}),t.jsx(te,{titleKey:a.name,dropdownItems:[t.jsx(H,{onClick:I,children:s("common:delete")},"delete")],badges:[{text:a.protocol}],divider:!1}),t.jsx(S,{variant:"light",className:"pf-u-p-0",children:t.jsxs($,{isBox:!0,children:[t.jsx(f,{id:"settings","data-testid":"settings",title:t.jsx(g,{children:s("common:settings")}),...D,children:t.jsx(S,{variant:"light",children:t.jsx(ae,{save:R,clientScope:a})})}),t.jsx(f,{id:"mappers","data-testid":"mappers",title:t.jsx(g,{children:s("common:mappers")}),...A,children:t.jsx(se,{model:a,onAdd:V,onDelete:F,detailLink:e=>C({realm:m,id:a.id,mapperId:e})})}),t.jsxs(f,{id:"scope","data-testid":"scopeTab",title:t.jsx(g,{children:s("scope")}),...E,children:[w&&t.jsx(S,{children:t.jsx(Y,{variant:"info",isInline:!0,title:s("client-scopes-help:rolesScope"),component:"h2"})}),t.jsx(Z,{id:a.id,name:a.name,type:"clientScopes",save:P})]})]})})]}):t.jsx(G,{})}export{We as default};
//# sourceMappingURL=EditClientScope-9f8d9212.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy