| 123456789101112131415161718192021222324252627282930313233 |
- import { Action, ActionTypes } from './actions';
- import { Plugin, PluginsState } from 'app/types';
- import { LayoutModes } from '../../../core/components/LayoutSelector/LayoutSelector';
- import { PluginDashboard } from '../../../types/plugins';
- export const initialState: PluginsState = {
- plugins: [] as Plugin[],
- searchQuery: '',
- layoutMode: LayoutModes.Grid,
- hasFetched: false,
- dashboards: [] as PluginDashboard[],
- };
- export const pluginsReducer = (state = initialState, action: Action): PluginsState => {
- switch (action.type) {
- case ActionTypes.LoadPlugins:
- return { ...state, hasFetched: true, plugins: action.payload };
- case ActionTypes.SetPluginsSearchQuery:
- return { ...state, searchQuery: action.payload };
- case ActionTypes.SetLayoutMode:
- return { ...state, layoutMode: action.payload };
- case ActionTypes.LoadPluginDashboards:
- return { ...state, dashboards: action.payload };
- }
- return state;
- };
- export default {
- plugins: pluginsReducer,
- };
|