diff --git a/src/lib/data-access/store/querybuilderSlice.ts b/src/lib/data-access/store/querybuilderSlice.ts index fe13ee69127e3001d0cd624c56677a48dbf70e95..62fa8881e9f65e3560cadf3d868c967997e99fb4 100644 --- a/src/lib/data-access/store/querybuilderSlice.ts +++ b/src/lib/data-access/store/querybuilderSlice.ts @@ -59,6 +59,16 @@ export const initialState: QueryBuilderState = { // schemaLayout: 'Graphology_noverlap', } as QueryBuilderState; +// The initialState but only with keys relevant to sending to the backend +export const initialStateBackend: QueryBuilderState = { + activeQueryId: initialState.activeQueryId, + openQueryArray: [ + (({ graph, settings, attributesBeingShown, name }) => ({ graph, settings, attributesBeingShown, name }))( + initialState.openQueryArray[0], + ), + ], +} as QueryBuilderState; + export const querybuilderSlice = createSlice({ name: 'querybuilder', initialState, @@ -124,24 +134,9 @@ export const querybuilderSlice = createSlice({ } }, addNewQuery: (state: QueryBuilderState) => { - const newQuery: QueryBuilderObject = { - id: state.openQueryArray.length, - graph: defaultGraph(), - ignoreReactivity: false, - settings: { - limit: 500, - depth: { min: 1, max: 1 }, - layout: 'manual', - autocompleteRelation: true, - unionTypes: {}, - }, - queryTranslation: { - queryID: '', - result: '', - }, - attributesBeingShown: [], - name: `Query ${state.openQueryArray.length + 1}`, - }; + const newQuery: QueryBuilderObject = JSON.parse(JSON.stringify(initialState.openQueryArray[0])); + newQuery.id = undefined; + newQuery.name = `Query ${state.openQueryArray.length + 1}`; state.openQueryArray.push(newQuery); state.activeQueryId = state.openQueryArray.length - 1; }, diff --git a/src/lib/management/database/MockSaveStates.tsx b/src/lib/management/database/MockSaveStates.tsx index 50a5eec9d432d57a0a726231c8fbe4622a76bd75..8d230b8fca0b0f0c29f04f0168233096c807cbcc 100644 --- a/src/lib/management/database/MockSaveStates.tsx +++ b/src/lib/management/database/MockSaveStates.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { DatabaseType, nilUUID } from '../../data-access/broker'; -import { initialState as qbInitialState } from '../../data-access/store/querybuilderSlice'; +import { initialState as qbInitialState, initialStateBackend } from '../../data-access/store/querybuilderSlice'; import { SaveState } from 'ts-common'; export type SaveStateSampleI = SaveState & { @@ -27,15 +27,7 @@ export const sampleSaveStates: SaveStateSampleI[] = [ }, ], schemas: [], - queries: { - activeQueryId: qbInitialState.activeQueryId, - openQueryArray: qbInitialState.openQueryArray.map((query, i) => ({ - graph: query.graph, - settings: query.settings, - attributesBeingShown: [], - name: query.name, - })), - }, + queries: initialStateBackend, visualizations: { activeVisualizationIndex: -1, openVisualizationArray: [] }, userId: -1, createdAt: '', @@ -59,15 +51,7 @@ export const sampleSaveStates: SaveStateSampleI[] = [ }, ], schemas: [], - queries: { - activeQueryId: qbInitialState.activeQueryId, - openQueryArray: qbInitialState.openQueryArray.map((query, i) => ({ - graph: query.graph, - settings: query.settings, - attributesBeingShown: [], - name: query.name, - })), - }, + queries: initialStateBackend, visualizations: { activeVisualizationIndex: -1, openVisualizationArray: [] }, userId: -1, createdAt: '', @@ -91,15 +75,7 @@ export const sampleSaveStates: SaveStateSampleI[] = [ }, ], schemas: [], - queries: { - activeQueryId: qbInitialState.activeQueryId, - openQueryArray: qbInitialState.openQueryArray.map((query, i) => ({ - graph: query.graph, - settings: query.settings, - attributesBeingShown: [], - name: query.name, - })), - }, + queries: initialStateBackend, visualizations: { activeVisualizationIndex: -1, openVisualizationArray: [] }, userId: -1, createdAt: '', @@ -123,15 +99,7 @@ export const sampleSaveStates: SaveStateSampleI[] = [ }, ], schemas: [], - queries: { - activeQueryId: qbInitialState.activeQueryId, - openQueryArray: qbInitialState.openQueryArray.map((query, i) => ({ - graph: query.graph, - settings: query.settings, - attributesBeingShown: [], - name: query.name, - })), - }, + queries: initialStateBackend, visualizations: { activeVisualizationIndex: -1, openVisualizationArray: [] }, userId: -1, createdAt: '', @@ -155,15 +123,7 @@ export const sampleSaveStates: SaveStateSampleI[] = [ }, ], schemas: [], - queries: { - activeQueryId: qbInitialState.activeQueryId, - openQueryArray: qbInitialState.openQueryArray.map((query, i) => ({ - graph: query.graph, - settings: query.settings, - attributesBeingShown: [], - name: query.name, - })), - }, + queries: initialStateBackend, visualizations: { activeVisualizationIndex: -1, openVisualizationArray: [] }, userId: -1, createdAt: '',