@@ -5,8 +5,13 @@ import {settingsManager} from '../../../services/settings';
55import { TracingLevelNumber } from '../../../types/api/query' ;
66import type { QueryAction , QueryRequestParams , QuerySettings } from '../../../types/store/query' ;
77import type { StreamDataChunk } from '../../../types/store/streaming' ;
8- import { QUERIES_HISTORY_KEY } from '../../../utils/constants' ;
8+ import {
9+ QUERIES_HISTORY_KEY ,
10+ QUERY_EDITOR_CURRENT_QUERY_KEY ,
11+ QUERY_EDITOR_DIRTY_KEY ,
12+ } from '../../../utils/constants' ;
913import { isQueryErrorResponse } from '../../../utils/query' ;
14+ import { loadFromSessionStorage , saveToSessionStorage } from '../../../utils/sessionStorage' ;
1015import { isNumeric } from '../../../utils/utils' ;
1116import type { RootState } from '../../defaultStore' ;
1217import { api } from '../api' ;
@@ -29,9 +34,14 @@ const queriesHistoryInitial = settingsManager.readUserSettingsValue(
2934
3035const sliceLimit = queriesHistoryInitial . length - MAXIMUM_QUERIES_IN_HISTORY ;
3136
37+ const rawQuery = loadFromSessionStorage ( QUERY_EDITOR_CURRENT_QUERY_KEY ) ;
38+ const input = rawQuery ? String ( rawQuery ) : '' ;
39+
40+ const isDirty = Boolean ( loadFromSessionStorage ( QUERY_EDITOR_DIRTY_KEY ) ) ;
41+
3242const initialState : QueryState = {
33- input : '' ,
34- isDirty : false ,
43+ input,
44+ isDirty,
3545 history : {
3646 queries : queriesHistoryInitial
3747 . slice ( sliceLimit < 0 ? 0 : sliceLimit )
@@ -50,9 +60,11 @@ const slice = createSlice({
5060 reducers : {
5161 changeUserInput : ( state , action : PayloadAction < { input : string } > ) => {
5262 state . input = action . payload . input ;
63+ saveToSessionStorage ( QUERY_EDITOR_CURRENT_QUERY_KEY , action . payload . input ) ;
5364 } ,
5465 setIsDirty : ( state , action : PayloadAction < boolean > ) => {
5566 state . isDirty = action . payload ;
67+ saveToSessionStorage ( QUERY_EDITOR_DIRTY_KEY , action . payload ) ;
5668 } ,
5769 setQueryResult : ( state , action : PayloadAction < QueryResult | undefined > ) => {
5870 state . result = action . payload ;
0 commit comments