@@ -94,6 +94,34 @@ export function AuditLogDashboard() {
94
94
form . setFieldsValue ( getQueryParams ( ) ) ;
95
95
} , [ ] ) ;
96
96
97
+ const getAuditLogStatsMap = ( stats : AuditLogStat [ ] ) => {
98
+ const statsMap = { } ;
99
+ stats . forEach ( stat => {
100
+ // statsMap.push({})
101
+ } )
102
+ } ;
103
+
104
+ const getCleanedParams = ( newPage ?: number ) => {
105
+ const formValues = form . getFieldsValue ( ) ;
106
+
107
+ let cleanedParams = Object . fromEntries (
108
+ Object . entries ( {
109
+ ...formValues ,
110
+ fromTimestamp : formValues . dateRange ?. [ 0 ] ? formValues . dateRange [ 0 ] . toISOString ( ) : undefined ,
111
+ toTimestamp : formValues . dateRange ?. [ 1 ] ? formValues . dateRange [ 1 ] . toISOString ( ) : undefined ,
112
+ } ) . filter ( ( [ key , value ] ) => value !== undefined && value !== null && value !== "" && key !== 'dateRange' )
113
+ ) ;
114
+ if ( newPage ) {
115
+ cleanedParams = {
116
+ ...cleanedParams ,
117
+ pageSize : 100 , // Always fetch 500 from API
118
+ pageNum : newPage , // API page number
119
+ }
120
+ }
121
+
122
+ return cleanedParams ;
123
+ }
124
+
97
125
const handleQueryParams = ( queryParams : Record < string , string > ) => {
98
126
const params = new URLSearchParams ( ) ;
99
127
Object . keys ( queryParams ) . map ( ( key ) => {
@@ -106,30 +134,28 @@ export function AuditLogDashboard() {
106
134
} )
107
135
history . push ( { search : params . toString ( ) } )
108
136
}
137
+
138
+ const fetchStatistics = async ( ) => {
139
+ const cleanedParams = getCleanedParams ( ) ;
140
+
141
+ const stats = await getAuditLogStatistics ( cleanedParams ) ;
142
+ setStatistics ( stats ?. data || [ ] ) ;
143
+ }
109
144
110
145
// Fetch Logs with all form values if set
111
146
const fetchLogs = async ( newPage : number , resetData : boolean = false ) => {
112
- const formValues = form . getFieldsValue ( ) ;
113
-
114
- const cleanedParams = Object . fromEntries (
115
- Object . entries ( {
116
- ...formValues ,
117
- pageSize : 100 , // Always fetch 500 from API
118
- pageNum : newPage , // API page number
119
- fromTimestamp : formValues . dateRange ?. [ 0 ] ? formValues . dateRange [ 0 ] . toISOString ( ) : undefined ,
120
- toTimestamp : formValues . dateRange ?. [ 1 ] ? formValues . dateRange [ 1 ] . toISOString ( ) : undefined ,
121
- } ) . filter ( ( [ key , value ] ) => value !== undefined && value !== null && value !== "" && key !== 'dateRange' )
122
- ) ;
147
+ const cleanedParams = getCleanedParams ( newPage ) ;
123
148
124
149
handleQueryParams ( cleanedParams as any ) ;
125
150
126
151
setLoading ( true ) ;
127
152
try {
128
153
const data = await getAuditLogs ( cleanedParams ) ;
129
- const stats = await getAuditLogStatistics ( cleanedParams ) ;
154
+ // fetch statistics only when page is 1
155
+ if ( newPage === 1 ) {
156
+ fetchStatistics ( ) ;
157
+ }
130
158
131
- setStatistics ( stats ?. data || [ ] ) ;
132
-
133
159
if ( resetData ) {
134
160
setAllLogs ( data . data || [ ] ) ;
135
161
setPagination ( { pageSize : 25 , current : 1 } ) ; // Reset pagination
0 commit comments