mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 02:21:50 +08:00

* update packages * fix type errors * upgrade redux toolkit as well * don't need eslint-disable command * remove comment * fix unit tests * call rtk query selector directly * remove unnecessary checks
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import { AnyAction, combineReducers, Reducer } from 'redux';
|
|
|
|
import { initialVariableEditorState, variableEditorReducer, VariableEditorState } from '../editor/reducer';
|
|
import { initialVariableInspectState, variableInspectReducer, VariableInspectState } from '../inspect/reducer';
|
|
import { initialOptionPickerState, optionsPickerReducer, OptionsPickerState } from '../pickers/OptionsPicker/reducer';
|
|
|
|
import { initialTransactionState, transactionReducer, TransactionState } from './transactionReducer';
|
|
import { initialVariablesState, VariablesState } from './types';
|
|
import { variablesReducer } from './variablesReducer';
|
|
|
|
export interface TemplatingState {
|
|
editor: VariableEditorState;
|
|
variables: VariablesState;
|
|
optionsPicker: OptionsPickerState;
|
|
transaction: TransactionState;
|
|
inspect: VariableInspectState;
|
|
}
|
|
|
|
let templatingReducers: Reducer<TemplatingState, AnyAction, Partial<TemplatingState>>;
|
|
|
|
export function getTemplatingReducers() {
|
|
if (!templatingReducers) {
|
|
templatingReducers = combineReducers({
|
|
editor: variableEditorReducer,
|
|
variables: variablesReducer,
|
|
optionsPicker: optionsPickerReducer,
|
|
transaction: transactionReducer,
|
|
inspect: variableInspectReducer,
|
|
});
|
|
}
|
|
|
|
return templatingReducers;
|
|
}
|
|
|
|
export function getInitialTemplatingState() {
|
|
return {
|
|
editor: initialVariableEditorState,
|
|
variables: initialVariablesState,
|
|
optionsPicker: initialOptionPickerState,
|
|
transaction: initialTransactionState,
|
|
inspect: initialVariableInspectState,
|
|
};
|
|
}
|