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

theme.keycloak.v2.admin.resources.assets.EditClientScope-ba066baa.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-f33eb656.js";import{c as Q,C as b,A as W}from"./ClientScopeTypes-517b1596.js";import{u as X}from"./ConfirmDialog-cc2aa7b4.js";import{R as Z}from"./AddRoleMappingModal-d36df11e.js";import{R as $,u as ee}from"./RoutableTabs-8ba6475e.js";import{V as te}from"./ViewHeader-5aaa6ccc.js";import{u as oe}from"./useParams-74754a7c.js";import{M as se}from"./MapperList-205d87fc.js";import{S as ae}from"./ScopeForm-1a884a11.js";import{a as f,b as g}from"./Tabs-5aebe4ec.js";import"./Select-802cd710.js";import"./check-fc57dbe1.js";import"./star-icon-d7615f00.js";import"./Modal-e76dd76f.js";import"./useLocaleSort-22b9cad8.js";import"./PaginatingTableToolbar-2e41cd99.js";import"./plus-circle-icon-2ea0b4ed.js";import"./EmptyStateBody-de699127.js";import"./EmptyStateSecondaryActions-7a33984f.js";import"./TableToolbar-8e38cfad.js";import"./ToolbarContent-f1a19b22.js";import"./Form-6c170f69.js";import"./KeycloakDataTable-82a4b6c2.js";import"./Td-137060bd.js";import"./grip-vertical-icon-90ec69d5.js";import"./Checkbox-8826c1eb.js";import"./resource-db8462e3.js";import"./admin-ui-endpoint-9ec5dfbd.js";import"./getAuthorizationHeaders-f2376d1a.js";import"./filter-icon-16b4a4ff.js";import"./Text-83f5a4d7.js";import"./DataListItemRow-c0c554d3.js";import"./data-list-7d55714c.js";import"./utils-49fe564a.js";import"./SwitchControl-a1cad449.js";import"./FormAccess-29b78a4e.js";import"./copy-icon-c00ff2e0.js";import"./GridItem-8422f423.js";import"./KeycloakTextArea-b4f2aa51.js";import"./KeycloakTextInput-e2751b88.js";import"./useIsFeatureEnabled-4167e6f3.js";import"./plus-icon-6a98b80b.js";import"./MenuList-b32c7668.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-ba066baa.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy