mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-17 15:03:07 +00:00
58789: Ability to clear request cache from index
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import {
|
||||
RequestActionTypes, RequestAction, RequestConfigureAction,
|
||||
RequestExecuteAction, RequestCompleteAction, ResetResponseTimestampsAction
|
||||
RequestExecuteAction, RequestCompleteAction, ResetResponseTimestampsAction, RequestRemoveAction
|
||||
} from './request.actions';
|
||||
import { RestRequest } from './request.models';
|
||||
import { RestResponse } from '../cache/response.models';
|
||||
@@ -38,6 +38,10 @@ export function requestReducer(state = initialState, action: RequestAction): Req
|
||||
return resetResponseTimestamps(state, action as ResetResponseTimestampsAction);
|
||||
}
|
||||
|
||||
case RequestActionTypes.REMOVE: {
|
||||
return removeRequest(state, action as RequestRemoveAction);
|
||||
}
|
||||
|
||||
default: {
|
||||
return state;
|
||||
}
|
||||
@@ -95,3 +99,13 @@ function resetResponseTimestamps(state: RequestState, action: ResetResponseTimes
|
||||
});
|
||||
return newState;
|
||||
}
|
||||
|
||||
function removeRequest(state: RequestState, action: RequestRemoveAction): RequestState {
|
||||
const newState = Object.create(null);
|
||||
for (const value in state) {
|
||||
if (value !== action.uuid) {
|
||||
newState[value] = state[value];
|
||||
}
|
||||
}
|
||||
return newState;
|
||||
}
|
||||
|
Reference in New Issue
Block a user