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

theme.keycloak.v2.admin.resources.assets.SessionsSection-8d567add.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{u as F,d as T,c as k,e as L,r as d,q as O,j as e,B as S,l as D,N as E,F as I,V as x,cX as q,g,A as r,G as N,Z as V,P as K}from"./index-831988f6.js";import{u as U}from"./ConfirmDialog-927d61dd.js";import{V as P}from"./ViewHeader-2b1ad3ef.js";import{f as M}from"./admin-ui-endpoint-cc06c193.js";import{K as G}from"./KeycloakTextInput-ead44014.js";import{M as $,a as H}from"./Modal-5d8a3df4.js";import{F as z}from"./Form-bd3cf98e.js";import{S as X}from"./SessionsTable-fafa2640.js";import{u as Z}from"./useToggle-039c9b34.js";import{S as _,b as C}from"./Select-9c61d949.js";import{F as J}from"./filter-icon-5bbef384.js";import"./Text-2a2c2dcc.js";import"./ToolbarContent-186be8fd.js";import"./getAuthorizationHeaders-f2376d1a.js";import"./PaginatingTableToolbar-c55a17f1.js";import"./plus-circle-icon-3c14c705.js";import"./EmptyStateBody-dd392e69.js";import"./EmptyStateSecondaryActions-3d9f7969.js";import"./TableToolbar-af5dff6f.js";import"./KeycloakDataTable-2267a354.js";import"./Td-bb613d18.js";import"./star-icon-f5649401.js";import"./check-fc57dbe1.js";import"./grip-vertical-icon-0333850c.js";import"./Checkbox-d44d2684.js";import"./useFormatDate-abfcb505.js";import"./ListItem-dbf5a2d8.js";const Q=({handleModalToggle:a,save:i})=>{const{t:s}=F("sessions"),{addAlert:o}=T(),{realm:n}=k(),{register:h,handleSubmit:l,formState:{errors:u}}=L(),[c,v]=d.useState(),[y,j]=d.useState(0),m=()=>{j(new Date().getTime())};O(()=>g.realms.findOne({realm:n}),t=>{v(t)},[y]);const b=(t,p)=>{const B=t.successRequests?.length||0,f=t.failedRequests?.length||0;B===0&&f===0?o(s("clients:noAdminUrlSet"),r.warning):f>0?(o(s("clients:"+p+"Success",{successNodes:t.successRequests}),r.success),o(s("clients:"+p+"Fail",{failedNodes:t.failedRequests}),r.danger)):o(s("clients:"+p+"Success",{successNodes:t.successRequests}),r.success)},w=async()=>{try{await g.realms.update({realm:n},{realm:n,notBefore:Date.now()/1e3}),o(s("notBeforeSuccess"),r.success)}catch(t){o(s("setToNowError",{error:t}),r.danger)}},R=async()=>{try{await g.realms.update({realm:n},{realm:n,notBefore:0}),o(s("notBeforeClearedSuccess"),r.success),m()}catch(t){o(s("notBeforeError",{error:t}),r.danger)}},A=async()=>{const t=await g.realms.pushRevocation({realm:n});b(t,"notBeforePush"),m()};return e.jsxs($,{variant:H.small,title:s("revocation"),isOpen:!0,onClose:a,actions:[e.jsx(S,{"data-testid":"set-to-now-button",variant:"tertiary",onClick:()=>{w(),a()},form:"revocation-modal-form",children:s("setToNow")},"set-to-now"),e.jsx(S,{"data-testid":"clear-not-before-button",variant:"tertiary",onClick:()=>{R(),a()},form:"revocation-modal-form",children:s("clear")},"clear"),e.jsx(S,{"data-testid":"modal-test-connection-button",variant:"secondary",onClick:()=>{A(),a()},form:"revocation-modal-form",children:s("push")},"push"),e.jsx(S,{id:"modal-cancel","data-testid":"cancel",variant:D.link,onClick:()=>{a()},children:s("common:cancel")},"cancel")],children:[e.jsx(E,{className:"kc-revocation-description-text",children:s("revocationDescription")}),e.jsx(z,{id:"revocation-modal-form",isHorizontal:!0,onSubmit:l(i),children:e.jsx(I,{className:"kc-revocation-modal-form-group",label:s("notBefore"),name:"notBefore",fieldId:"not-before",validated:u.email?x.error:x.default,children:e.jsx(G,{"data-testid":"not-before-input",autoFocus:!0,isReadOnly:!0,value:c?.notBefore===0?s("none"):new Date(c?.notBefore*1e3).toString(),type:"text",id:"not-before",...h("notBefore",{required:!0,pattern:q}),validated:u.email?x.error:x.default})})})]})};const W=({filterType:a,onChange:i})=>{const{t:s}=F("sessions"),[o,n]=Z();return e.jsxs(_,{"data-testid":"filter-session-type-select",isOpen:o,onToggle:n,toggleIcon:e.jsx(J,{}),onSelect:(h,l)=>{i(l),n()},selections:a,children:[e.jsx(C,{"data-testid":"all-sessions-option",value:"ALL",children:s("sessionsType.allSessions")}),e.jsx(C,{"data-testid":"regular-sso-option",value:"REGULAR",children:s("sessionsType.regularSSO")}),e.jsx(C,{"data-testid":"offline-option",value:"OFFLINE",children:s("sessionsType.offline")})]})};function Be(){const{t:a}=F("sessions"),[i,s]=d.useState(0),o=()=>s(i+1),{addError:n}=T(),{realm:h}=k(),[l,u]=d.useState(!1),[c,v]=d.useState("ALL"),[y,j]=d.useState(!1),m=()=>{u(!l)},b=async(t,p,B)=>{const f=await M("ui-ext/sessions",{first:`${t}`,max:`${p}`,type:c,search:B||""});return j(f.length===0),f},[w,R]=U({titleKey:"sessions:logoutAllSessions",messageKey:"sessions:logoutAllDescription",continueButtonLabel:"common:confirm",onConfirm:async()=>{try{await g.realms.logoutAll({realm:h}),o()}catch(t){n("sessions:logoutAllSessionsError",t)}}}),A=[e.jsx(N,{"data-testid":"revocation",component:"button",onClick:()=>m(),children:a("revocation")},"toggle-modal"),e.jsx(N,{"data-testid":"logout-all",component:"button",isDisabled:y,onClick:w,children:a("signOutAllActiveSessions")},"delete-role")];return e.jsxs(e.Fragment,{children:[e.jsx(R,{}),e.jsx(P,{dropdownItems:A,titleKey:"sessions:title",subKey:"sessions:sessionExplain",helpUrl:V.sessionsUrl}),e.jsxs(K,{variant:"light",className:"pf-u-p-0",children:[l&&e.jsx(Q,{handleModalToggle:m,save:()=>{m()}}),e.jsx(X,{loader:b,isSearching:c!=="ALL",isPaginated:!0,filter:e.jsx(W,{filterType:c,onChange:t=>{v(t),o()}})},i)]})]})}export{Be as default};
//# sourceMappingURL=SessionsSection-8d567add.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy