From 0a10793840bb1046bf5475d2b7fcccbab8a7240e Mon Sep 17 00:00:00 2001 From: Alex Khomenko Date: Mon, 20 May 2024 07:34:00 +0200 Subject: [PATCH] Store: Enable adding extra middleware (#87984) * Store: Enable adding extra middleware * Fix type --- public/app/store/configureStore.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/public/app/store/configureStore.ts b/public/app/store/configureStore.ts index a8dfc096915..6d43a8bb000 100644 --- a/public/app/store/configureStore.ts +++ b/public/app/store/configureStore.ts @@ -1,5 +1,6 @@ import { configureStore as reduxConfigureStore, createListenerMiddleware } from '@reduxjs/toolkit'; import { setupListeners } from '@reduxjs/toolkit/query'; +import { Middleware } from 'redux'; import { browseDashboardsAPI } from 'app/features/browse-dashboards/api/browseDashboardsAPI'; import { publicDashboardApi } from 'app/features/dashboard/api/publicDashboardApi'; @@ -21,6 +22,11 @@ export function addRootReducer(reducers: any) { } const listenerMiddleware = createListenerMiddleware(); +const extraMiddleware: Middleware[] = []; + +export function addExtraMiddleware(middleware: Middleware) { + extraMiddleware.push(middleware); +} export function configureStore(initialState?: Partial) { const store = reduxConfigureStore({ @@ -32,7 +38,8 @@ export function configureStore(initialState?: Partial) { publicDashboardApi.middleware, browseDashboardsAPI.middleware, cloudMigrationAPI.middleware, - queryLibraryApi.middleware + queryLibraryApi.middleware, + ...extraMiddleware ), devTools: process.env.NODE_ENV !== 'production', preloadedState: {