-export const loadProcessPanel = (uuid: string) =>
- async (dispatch: Dispatch) => {
- dispatch(processPanelActions.RESET_PROCESS_PANEL());
- dispatch(processLogsPanelActions.RESET_PROCESS_LOGS_PANEL());
- dispatch<ProcessPanelAction>(processPanelActions.SET_PROCESS_PANEL_CONTAINER_REQUEST_UUID(uuid));
- await dispatch<any>(loadProcess(uuid));
- dispatch(initProcessPanelFilters);
- dispatch<any>(initProcessLogsPanel(uuid));
- dispatch<any>(loadSubprocessPanel());
- };
+export const loadProcessPanel = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState) => {
+ // Reset subprocess data explorer if navigating to new process
+ // Avoids resetting pagination when refreshing same process
+ if (getState().processPanel.containerRequestUuid !== uuid) {
+ dispatch(subprocessPanelActions.CLEAR());
+ }
+ dispatch(processPanelActions.RESET_PROCESS_PANEL());
+ dispatch(processLogsPanelActions.RESET_PROCESS_LOGS_PANEL());
+ dispatch<ProcessPanelAction>(processPanelActions.SET_PROCESS_PANEL_CONTAINER_REQUEST_UUID(uuid));
+ await dispatch<any>(loadProcess(uuid));
+ dispatch(initProcessPanelFilters);
+ dispatch<any>(initProcessLogsPanel(uuid));
+ dispatch<any>(loadSubprocessPanel());
+};