UNPKG

@looker/embed-components

Version:
47 lines 1.36 kB
import { createSlice } from '@reduxjs/toolkit'; import { createSliceHooks } from '@looker/redux'; import { saga } from './sagas'; export var defaultThemesState = { initialized: false, defaultTheme: {}, selectedTheme: {}, themes: [], working: false }; export var THEMES_SLICE_NAME = 'themes'; export var themesSlice = createSlice({ name: THEMES_SLICE_NAME, initialState: defaultThemesState, reducers: { initAction() {}, initSuccessAction(state) { state.initialized = true; }, loadThemeDataAction(state) { state.working = true; }, loadThemeDataSuccessAction(state, action) { state.themes = action.payload.themes; state.defaultTheme = action.payload.defaultTheme; state.selectedTheme = action.payload.selectedTheme; state.working = false; }, selectThemeAction(state, _action) { state.working = true; }, selectThemeSuccessAction(state, action) { state.selectedTheme = action.payload.selectedTheme; state.working = false; }, setFailureAction(state, action) { state.error = action.payload.error; state.working = false; } } }); export var themeActions = themesSlice.actions; export var { useActions: useThemeActions, useStoreState: useThemesStoreState } = createSliceHooks(themesSlice, saga); //# sourceMappingURL=slice.js.map