Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
drawer.slice.ts 1.34 KiB
import { DrawerState } from '@/redux/drawer/drawer.types';
import { createSlice } from '@reduxjs/toolkit';
import {
  closeDrawerReducer,
  displayChemicalsListReducer,
  displayDrugsListReducer,
  displayEntityDetailsReducer,
  displayGroupedSearchResultsReducer,
  displayMirnaListReducer,
  openDrawerReducer,
  openSearchDrawerReducer,
  openSubmapsDrawerReducer,
} from './drawer.reducers';

const initialState: DrawerState = {
  isOpen: false,
  drawerName: 'none',
  searchDrawerState: {
    currentStep: 0,
    stepType: 'none',
    selectedValue: undefined,
  },
};

const drawerSlice = createSlice({
  name: 'drawer',
  initialState,
  reducers: {
    openDrawer: openDrawerReducer,
    openSearchDrawer: openSearchDrawerReducer,
    openSubmapsDrawer: openSubmapsDrawerReducer,
    closeDrawer: closeDrawerReducer,
    displayDrugsList: displayDrugsListReducer,
    displayChemicalsList: displayChemicalsListReducer,
    displayMirnaList: displayMirnaListReducer,
    displayGroupedSearchResults: displayGroupedSearchResultsReducer,
    displayEntityDetails: displayEntityDetailsReducer,
  },
});

export const {
  openDrawer,
  openSearchDrawer,
  openSubmapsDrawer,
  closeDrawer,
  displayDrugsList,
  displayChemicalsList,
  displayMirnaList,
  displayGroupedSearchResults,
  displayEntityDetails,
} = drawerSlice.actions;

export default drawerSlice.reducer;