// SPDX-License-Identifier: AGPL-3.0
import { ProcessLogsPanel } from './process-logs-panel';
-import { RootState } from '~/store/store';
import { ProcessLogsPanelAction, processLogsPanelActions } from './process-logs-panel-actions';
const initialState: ProcessLogsPanel = {
export const processLogsPanelReducer = (state = initialState, action: ProcessLogsPanelAction): ProcessLogsPanel =>
processLogsPanelActions.match(action, {
+ RESET_PROCESS_LOGS_PANEL: () => initialState,
INIT_PROCESS_LOGS_PANEL: ({ filters, logs }) => ({
filters,
logs,
selectedFilter
}),
ADD_PROCESS_LOGS_PANEL_ITEM: ({ logType, log }) => {
- const logsOfType = [...state.logs[logType], log];
+ const currentLogs = state.logs[logType] || [];
+ const logsOfType = [...currentLogs, log];
const logs = { ...state.logs, [logType]: logsOfType };
return { ...state, logs };
},