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

theme.keycloak.v2.admin.resources.assets.EventsSection-ebd0adf0.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{bp as Ee,bq as Ae,bj as Ne,br as Re,j as e,c as G,L as re,x as ye,ab as Oe,bs as De,a5 as Pe,aO as _e,i as Le,b4 as we,u as M,W as Ke,r as h,e as xe,aq as Ue,g as ee,D as ve,E as fe,F as p,C as g,B as F,q as Ve,bt as Ge,Z as Me,P as Be,bu as ne,p as He}from"./index-0cda761d.js";import{K as v}from"./KeycloakTextInput-ada01047.js";import{L as je}from"./PaginatingTableToolbar-11bdf18a.js";import{R as We,u as $e}from"./RoutableTabs-56121a9c.js";import{T as ze,m as Ze,n as qe,K as Te}from"./KeycloakDataTable-a1a2bfca.js";import{V as Je}from"./ViewHeader-ff389f8e.js";import{u as ge,F as be}from"./useFormatDate-108df619.js";import{Y as Xe,N as ke,Z as Ye}from"./Td-d9b96677.js";import{C as Qe,L as es}from"./CodeEditor-781232a0.js";import{M as ss,a as ts}from"./Modal-ea09312d.js";import{F as Ce}from"./Flex-a3793595.js";import{F as U}from"./FlexItem-742749b8.js";import{F as Se,A as Fe}from"./Form-4087ddae.js";import{S as se,a as te,C as P,c as b,b as ae}from"./Select-68736f55.js";import{D as V}from"./DatePicker-66178c4a.js";import{T as as}from"./Trans-4d909f1b.js";import{W as rs}from"./warning-triangle-icon-21eb5784.js";import{a as oe,b as le}from"./Tabs-76c5b0e3.js";import{D as ns,a as ie,b as ce,c as de}from"./DescriptionListTerm-b3172289.js";import"./plus-circle-icon-fe78809e.js";import"./EmptyStateBody-f9d2c033.js";import"./EmptyStateSecondaryActions-e8364506.js";import"./TableToolbar-470a2060.js";import"./ToolbarContent-fee3570e.js";import"./Text-b9444fb8.js";import"./star-icon-2ee5dfa7.js";import"./check-fc57dbe1.js";import"./grip-vertical-icon-ba7b06db.js";import"./Checkbox-3affa1d3.js";import"./copy-icon-b8d617db.js";import"./plus-icon-4f91635d.js";import"./MenuList-7fad6760.js";function Ie(s,n){if(s==null)return{};var l=Ee(Ae(s),function(i){return[i]});return n=Ne(n),Re(s,l,function(i,f){return n(i,f[0])})}const ue=38,os=({text:s,children:n})=>{const l=s||"",i=l.length>ue,f=l.substring(0,ue);return i?e.jsx(ye,{content:s,children:n(f+"…")}):n(l)},ls=s=>s.operationType==="DELETE"?!1:s.resourceType==="USER"||s.resourceType==="GROUP_MEMBERSHIP"||s.resourceType==="GROUP"||s.resourceType==="CLIENT"||s.resourceType?.startsWith("AUTHORIZATION_RESOURCE")||s.resourceType==="CLIENT_SCOPE"||s.resourceType==="AUTH_FLOW"||s.resourcePath?.startsWith("roles-by-id"),is=new RegExp(/([0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})/),cs=(s,n)=>{const l=is.exec(n.resourcePath);if(!l)return console.warn("event didn't contain a valid link",n),"";const i=l[1];return n.resourceType==="CLIENT"||n.resourceType?.startsWith("AUTHORIZATION_RESOURCE")?Oe({realm:s,clientId:i,tab:n.resourceType==="CLIENT"?"settings":"authorization"}):n.resourceType==="GROUP"?De({realm:s,id:i}):n.resourceType==="CLIENT_SCOPE"?Pe({realm:s,id:i,tab:"settings"}):n.resourceType==="USER"||n.resourceType==="GROUP_MEMBERSHIP"?_e({realm:s,id:i,tab:"settings"}):n.resourceType==="AUTH_FLOW"?Le({realm:s,id:i,usedBy:"-"}):n.resourcePath?.startsWith("roles-by-id")?we({realm:s,id:i,tab:"details"}):""},ds=({event:s})=>{const{realm:n}=G();return e.jsx(os,{text:s.resourcePath,children:l=>ls(s)?e.jsx(re,{to:cs(n,s),children:l}):e.jsx("span",{children:l})})},us=s=>e.jsx(ds,{event:s});const me={resourceTypes:[],operationTypes:[],resourcePath:"",dateFrom:"",dateTo:"",authClient:"",authUser:"",authRealm:"",authIpAddress:""},pe=({titleKey:s,onClose:n,children:l})=>{const{t:i}=M("events");return e.jsx(ss,{variant:ts.medium,title:i(s),isOpen:!0,onClose:n,children:l})},ms=()=>{const{t:s}=M("events"),{realm:n}=G(),l=Ke(),i=ge(),f=l.enums?.resourceType,B=l.enums?.operationType,[I,H]=h.useState(0),[W,L]=h.useState(!1),[$,k]=h.useState(!1),[z,Z]=h.useState(!1),[_,E]=h.useState({}),[y,A]=h.useState(),[x,w]=h.useState(),q={resourceTypes:s("resourceTypes"),operationTypes:s("operationTypes"),resourcePath:s("resourcePath"),dateFrom:s("dateFrom"),dateTo:s("dateTo"),authClient:s("client"),authUser:s("userId"),authRealm:s("realm"),authIpAddress:s("ipAddress")},{getValues:C,register:j,reset:N,formState:{isDirty:K},control:S}=xe({mode:"onChange",defaultValues:me});function J(t,r){return ee.realms.findAdminEvents({..._,realm:n,first:t,max:r})}function X(){L(!1),a()}function T(){N(),a()}function Y(t){const r={...C()};delete r[t],N({...me,...r}),a()}function Q(t,r){const d=C(),c=d[t],O=Array.isArray(c)?c.filter(D=>D!==r):c;N({...d,[t]:O}),a()}function a(){const t=Ie(C(),r=>r!==""||Array.isArray(r)&&r.length>0);E(t),H(I+1)}function o(){a()}const u=()=>e.jsxs(Ce,{direction:{default:"column"},spaceItems:{default:"spaceItemsNone"},children:[e.jsxs(U,{children:[e.jsx(ve,{id:"admin-events-search-select","data-testid":"AdminEventsSearchSelector",className:"pf-u-ml-md",toggle:e.jsx(fe,{"data-testid":"adminEventsSearchSelectorToggle",onToggle:t=>L(t),className:"keycloak__events_search_selector_dropdown__toggle",children:s("searchForAdminEvent")}),isOpen:W,children:e.jsxs(Se,{isHorizontal:!0,className:"keycloak__events_search__form","data-testid":"searchForm",children:[e.jsx(p,{label:s("resourceTypes"),fieldId:"kc-resourceTypes",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"resourceTypes",control:S,render:({field:t})=>e.jsx(se,{className:"keycloak__events_search__type_select",name:"resourceTypes","data-testid":"resource-types-searchField",chipGroupProps:{numChips:1,expandedText:s("common:hide"),collapsedText:s("common:showRemaining")},variant:te.typeaheadMulti,typeAheadAriaLabel:"Select",onToggle:r=>k(r),selections:t.value,onSelect:(r,d)=>{const c=d.toString(),O=t.value.includes(c)?t.value.filter(D=>D!==c):[...t.value,c];t.onChange(O)},onClear:r=>{r.stopPropagation(),t.onChange([])},isOpen:$,"aria-labelledby":"resourceTypes",chipGroupComponent:e.jsx(P,{children:t.value.map(r=>e.jsx(b,{onClick:d=>{d.stopPropagation(),t.onChange(t.value.filter(c=>c!==r))},children:r},r))}),children:f?.map(r=>e.jsx(ae,{value:r},r))})})}),e.jsx(p,{label:s("operationTypes"),fieldId:"kc-operationTypes",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"operationTypes",control:S,render:({field:t})=>e.jsx(se,{className:"keycloak__events_search__type_select",name:"operationTypes","data-testid":"operation-types-searchField",chipGroupProps:{numChips:1,expandedText:s("common:hide"),collapsedText:s("common:showRemaining")},variant:te.typeaheadMulti,typeAheadAriaLabel:"Select",onToggle:r=>Z(r),selections:t.value,onSelect:(r,d)=>{const c=d.toString(),O=t.value.includes(c)?t.value.filter(D=>D!==c):[...t.value,c];t.onChange(O)},onClear:r=>{r.stopPropagation(),t.onChange([])},isOpen:z,"aria-labelledby":"operationTypes",chipGroupComponent:e.jsx(P,{children:t.value.map(r=>e.jsx(b,{onClick:d=>{d.stopPropagation(),t.onChange(t.value.filter(c=>c!==r))},children:r},r))}),children:B?.map(r=>e.jsx(ae,{value:r},r))})})}),e.jsx(p,{label:s("resourcePath"),fieldId:"kc-resourcePath",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-resourcePath","data-testid":"resourcePath-searchField",...j("resourcePath")})}),e.jsx(p,{label:s("realm"),fieldId:"kc-realm",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-realm","data-testid":"realm-searchField",...j("authRealm")})}),e.jsx(p,{label:s("client"),fieldId:"kc-client",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-client","data-testid":"client-searchField",...j("authClient")})}),e.jsx(p,{label:s("user"),fieldId:"kc-user",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-user","data-testid":"user-searchField",...j("authUser")})}),e.jsx(p,{label:s("ipAddress"),fieldId:"kc-ipAddress",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-ipAddress","data-testid":"ipAddress-searchField",...j("authIpAddress")})}),e.jsx(p,{label:s("dateFrom"),fieldId:"kc-dateFrom",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"dateFrom",control:S,render:({field:t})=>e.jsx(V,{className:"pf-u-w-100",value:t.value,onChange:(r,d)=>t.onChange(d),inputProps:{id:"kc-dateFrom"}})})}),e.jsx(p,{label:s("dateTo"),fieldId:"kc-dateTo",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"dateTo",control:S,render:({field:t})=>e.jsx(V,{className:"pf-u-w-100",value:t.value,onChange:(r,d)=>t.onChange(d),inputProps:{id:"kc-dateTo"}})})}),e.jsxs(Fe,{children:[e.jsx(F,{variant:"primary",onClick:X,"data-testid":"search-events-btn",isDisabled:!K,children:s("searchAdminEventsBtn")}),e.jsx(F,{variant:"secondary",onClick:T,isDisabled:!K,children:s("resetBtn")})]})]})}),e.jsx(F,{className:"pf-u-ml-md",onClick:o,"data-testid":"refresh-btn",children:s("refresh")})]}),e.jsx(U,{children:Object.entries(_).length>0&&e.jsx("div",{className:"keycloak__searchChips pf-u-ml-md",children:Object.entries(_).map(t=>{const[r,d]=t;return e.jsx(P,{className:"pf-u-mt-md pf-u-mr-md",categoryName:q[r],isClosable:!0,onClick:()=>Y(r),children:typeof d=="string"?e.jsx(b,{isReadOnly:!0,children:d}):d.map(c=>e.jsx(b,{onClick:()=>Q(r,c),children:c},c))},r)})})})]}),m=[[s("realm"),y?.authDetails?.realmId],[s("client"),y?.authDetails?.clientId],[s("user"),y?.authDetails?.userId],[s("ipAddress"),y?.authDetails?.ipAddress]],R=h.useMemo(()=>x?.representation?Ue(JSON.parse(x.representation)):"",[x?.representation]);return e.jsxs(e.Fragment,{children:[y&&e.jsx(pe,{titleKey:"auth",onClose:()=>A(void 0),children:e.jsxs(ze,{"aria-label":"authData","data-testid":"auth-dialog",variant:Xe.compact,cells:[s("attribute"),s("value")],rows:m,children:[e.jsx(Ze,{}),e.jsx(qe,{})]})}),x&&e.jsx(pe,{titleKey:"representation","data-testid":"representation-dialog",onClose:()=>w(void 0),children:e.jsx(Qe,{isLineNumbersVisible:!0,isReadOnly:!0,code:R,language:es.json,height:"8rem"})}),e.jsx(Te,{loader:J,isPaginated:!0,ariaLabelKey:"events:adminEvents",toolbarItem:u(),actions:[{title:s("auth"),onRowClick:t=>A(t)},{title:s("representation"),onRowClick:t=>w(t)}],columns:[{name:"time",displayKey:"events:time",cellRenderer:t=>i(new Date(t.time),be)},{name:"resourcePath",displayKey:"events:resourcePath",cellRenderer:us},{name:"resourceType",displayKey:"events:resourceType"},{name:"operationType",displayKey:"events:operationType",transforms:[ke(10)]},{name:"",displayKey:"events:user",cellRenderer:t=>t.authDetails?.userId||""}],emptyState:e.jsx(je,{message:s("emptyEvents"),instructions:s("emptyEventsInstructions")}),isSearching:Object.keys(_).length>0},I)]})},he={client:"",dateFrom:"",dateTo:"",user:"",type:[],authIpAddress:""},ps=s=>s.error?e.jsx(ye,{content:s.error,children:e.jsxs("span",{children:[e.jsx(rs,{color:"orange"})," ",s.type]})}):e.jsxs("span",{children:[e.jsx(He,{color:"green"})," ",s.type]}),hs=s=>e.jsxs(ns,{isHorizontal:!0,className:"keycloak_eventsection_details",children:[s.details&&Object.entries(s.details).map(([n,l])=>e.jsxs(ie,{children:[e.jsx(ce,{children:n}),e.jsx(de,{children:l})]},n)),s.error&&e.jsxs(ie,{children:[e.jsx(ce,{children:"error"}),e.jsx(de,{children:s.error})]},"error")]}),ys=s=>{const{t:n}=M("events"),{realm:l}=G();return e.jsxs(e.Fragment,{children:[s.userId&&e.jsx(re,{to:_e({realm:l,id:s.userId,tab:"settings"}),children:s.userId},`link-${s.time}-${s.type}`),!s.userId&&n("noUserDetails")]})};function Zs(){const{t:s}=M("events"),{realm:n}=G(),l=ge(),[i,f]=h.useState(0),[B,I]=h.useState(!1),[H,W]=h.useState(!1),[L,$]=h.useState(),[k,z]=h.useState({}),Z={client:s("client"),dateFrom:s("dateFrom"),dateTo:s("dateTo"),user:s("userId"),type:s("eventType"),authIpAddress:s("ipAddress")},{getValues:_,register:E,reset:y,formState:{isDirty:A},control:x,handleSubmit:w}=xe({mode:"onChange",defaultValues:he});Ve(()=>ee.realms.getConfigEvents({realm:n}),a=>$(a),[]);function q(a,o){return ee.realms.findEvents({...k,realm:n,first:a,max:o})}const C=a=>$e(ne({realm:n,tab:a})),j=C("user-events"),N=C("admin-events");function K(){I(!1),T()}function S(){y(),T()}function J(a){const o={..._()};delete o[a],y({...he,...o}),T()}function X(a,o){const u=_(),m=u[a],R=Array.isArray(m)?m.filter(t=>t!==o):m;y({...u,[a]:R}),T()}function T(){const a=Ie(_(),o=>o!==""||Array.isArray(o)&&o.length>0);z(a),f(i+1)}function Y(){T()}const Q=()=>e.jsxs(Ce,{direction:{default:"column"},spaceItems:{default:"spaceItemsNone"},children:[e.jsxs(U,{children:[e.jsx(ve,{id:"user-events-search-select","data-testid":"UserEventsSearchSelector",className:"pf-u-ml-md",toggle:e.jsx(fe,{"data-testid":"userEventsSearchSelectorToggle",onToggle:a=>I(a),className:"keycloak__events_search_selector_dropdown__toggle",children:s("searchForUserEvent")}),isOpen:B,children:e.jsxs(Se,{"data-testid":"searchForm",className:"keycloak__events_search__form",onSubmit:w(K),isHorizontal:!0,children:[e.jsx(p,{label:s("userId"),fieldId:"kc-userId",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-userId","data-testid":"userId-searchField",...E("user")})}),e.jsx(p,{label:s("eventType"),fieldId:"kc-eventType",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"type",control:x,render:({field:a})=>e.jsx(se,{className:"keycloak__events_search__type_select",name:"eventType","data-testid":"event-type-searchField",chipGroupProps:{numChips:1,expandedText:s("common:hide"),collapsedText:s("common:showRemaining")},variant:te.typeaheadMulti,typeAheadAriaLabel:"Select",onToggle:o=>W(o),selections:a.value,onSelect:(o,u)=>{const m=u.toString(),R=a.value.includes(m)?a.value.filter(t=>t!==m):[...a.value,m];a.onChange(R)},onClear:o=>{o.stopPropagation(),a.onChange([])},isOpen:H,"aria-labelledby":"eventType",chipGroupComponent:e.jsx(P,{children:a.value.map(o=>e.jsx(b,{onClick:u=>{u.stopPropagation(),a.onChange(a.value.filter(m=>m!==o))},children:s(`realm-settings:eventTypes.${o}.name`)},o))}),children:L?.enabledEventTypes?.map(o=>e.jsx(ae,{value:o,children:s(`realm-settings:eventTypes.${o}.name`)},o))})})}),e.jsx(p,{label:s("client"),fieldId:"kc-client",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-client","data-testid":"client-searchField",...E("client")})}),e.jsx(p,{label:s("dateFrom"),fieldId:"kc-dateFrom",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"dateFrom",control:x,render:({field:a})=>e.jsx(V,{className:"pf-u-w-100",value:a.value,onChange:(o,u)=>a.onChange(u),inputProps:{id:"kc-dateFrom"}})})}),e.jsx(p,{label:s("dateTo"),fieldId:"kc-dateTo",className:"keycloak__events_search__form_label",children:e.jsx(g,{name:"dateTo",control:x,render:({field:a})=>e.jsx(V,{className:"pf-u-w-100",value:a.value,onChange:(o,u)=>a.onChange(u),inputProps:{id:"kc-dateTo"}})})}),e.jsx(p,{label:s("ipAddress"),fieldId:"kc-ipAddress",className:"keycloak__events_search__form_label",children:e.jsx(v,{id:"kc-ipAddress","data-testid":"ipAddress-searchField",...E("authIpAddress")})}),e.jsxs(Fe,{children:[e.jsx(F,{"data-testid":"search-events-btn",variant:"primary",type:"submit",isDisabled:!A,children:s("searchUserEventsBtn")}),e.jsx(F,{variant:"secondary",onClick:S,isDisabled:!A,children:s("resetBtn")})]})]})}),e.jsx(F,{className:"pf-u-ml-md",onClick:Y,"data-testid":"refresh-btn",children:s("refresh")})]}),e.jsx(U,{children:Object.entries(k).length>0&&e.jsx("div",{className:"keycloak__searchChips pf-u-ml-md",children:Object.entries(k).map(a=>{const[o,u]=a;return e.jsx(P,{className:"pf-u-mt-md pf-u-mr-md",categoryName:Z[o],isClosable:!0,onClick:()=>J(o),children:typeof u=="string"?e.jsx(b,{isReadOnly:!0,children:u}):u.map(m=>e.jsx(b,{onClick:()=>X(o,m),children:s(`realm-settings:eventTypes.${m}.name`)},m))},o)})})})]});return e.jsxs(e.Fragment,{children:[e.jsx(Je,{titleKey:"events:title",subKey:e.jsxs(as,{i18nKey:"events:eventExplain",children:["If you want to configure user events, Admin events or Event listeners, please enter",e.jsx(re,{to:Ge({realm:n,tab:"events"}),children:s("eventConfig")}),"page realm settings to configure."]}),helpUrl:Me.eventsUrl,divider:!1}),e.jsx(Be,{variant:"light",className:"pf-u-p-0",children:e.jsxs(We,{isBox:!0,defaultLocation:ne({realm:n,tab:"user-events"}),children:[e.jsx(oe,{title:e.jsx(le,{children:s("userEvents")}),...j,children:e.jsx("div",{className:"keycloak__events_table",children:e.jsx(Te,{loader:q,detailColumns:[{name:"details",enabled:a=>a.details!==void 0,cellRenderer:hs}],isPaginated:!0,ariaLabelKey:"events:title",toolbarItem:Q(),columns:[{name:"time",displayKey:"events:time",cellFormatters:[Ye],cellRenderer:a=>l(new Date(a.time),be)},{name:"userId",displayKey:"events:user",cellRenderer:ys},{name:"type",displayKey:"events:eventType",cellRenderer:ps},{name:"ipAddress",displayKey:"events:ipAddress",transforms:[ke(10)]},{name:"clientId",displayKey:"events:client"}],emptyState:e.jsx(je,{message:s("emptyEvents"),instructions:s("emptyEventsInstructions")}),isSearching:Object.keys(k).length>0},i)})}),e.jsx(oe,{title:e.jsx(le,{children:s("adminEvents")}),"data-testid":"admin-events-tab",...N,children:e.jsx(ms,{})})]})})]})}export{Zs as default};
//# sourceMappingURL=EventsSection-ebd0adf0.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy