Skip to content
Snippets Groups Projects
Commit 5cd3a91c authored by Leonardo Christino's avatar Leonardo Christino
Browse files

chore: save translated query in redux

parent 8315ce53
No related branches found
No related tags found
No related merge requests found
Pipeline #129753 passed
......@@ -19,7 +19,7 @@ import Broker from '@graphpolaris/shared/lib/data-access/socket/broker';
import { addInfo } from '@graphpolaris/shared/lib/data-access/store/configSlice';
import { GraphQueryResultFromBackendPayload, queryingBackend } from '@graphpolaris/shared/lib/data-access/store/graphQueryResultSlice';
import { allMLTypes, LinkPredictionInstance, setMLResult } from '@graphpolaris/shared/lib/data-access/store/mlSlice';
import { setQuerybuilderNodes } from '@graphpolaris/shared/lib/data-access/store/querybuilderSlice';
import { QueryBuilderText, setQueryText, setQuerybuilderNodes } from '@graphpolaris/shared/lib/data-access/store/querybuilderSlice';
import { SchemaFromBackend } from '@graphpolaris/shared/lib/schema';
import { useEffect } from 'react';
import { SaveStateI, TestDatabaseConnectionResponse, wsGetState, wsGetStates, wsUpdateState, wsSelectState, nilUUID } from './wsState';
......@@ -96,6 +96,12 @@ export const EventBus = (props: { onRunQuery: Function; onAuthorized: Function }
if (response && response.status === 'success') dispatch(testedSaveState(response.saveStateID));
}, 'tested_connection');
Broker.instance().subscribe((response: QueryBuilderText) => {
if (response && response.result) {
dispatch(setQueryText(response));
}
}, 'query_translation_result');
login();
// Setup cleanup
......@@ -109,6 +115,7 @@ export const EventBus = (props: { onRunQuery: Function; onAuthorized: Function }
Broker.instance().unSubscribeAll('delete_save_state');
Broker.instance().unSubscribeAll('tested_connection');
Broker.instance().unSubscribeAll('save_state_selected');
Broker.instance().unSubscribeAll('query_translation_result');
// Broker.instance().unSubscribeAll('query_builder_state');
allMLTypes.forEach((mlType) => {
Broker.instance().unSubscribeAll(mlType);
......
import { QueryBuilder } from './../../querybuilder/panel/querybuilder';
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import type { RootState } from './store';
import Graph, { MultiGraph } from 'graphology';
......@@ -14,10 +15,16 @@ export type QueryBuilderSettings = {
autocompleteRelation: boolean;
};
export type QueryBuilderText = {
queryId: string;
result: string;
};
export type QueryBuilderState = {
graph: QueryMultiGraph;
ignoreReactivity: boolean;
settings: QueryBuilderSettings;
queryTranslation: QueryBuilderText;
};
// Define the initial state using that type
......@@ -30,6 +37,10 @@ export const initialState: QueryBuilderState = {
layout: 'manual',
autocompleteRelation: true,
},
queryTranslation: {
queryId: '',
result: '',
},
// schemaLayout: 'Graphology_noverlap',
};
......@@ -55,6 +66,9 @@ export const querybuilderSlice = createSlice({
setQuerybuilderSettings: (state, action: PayloadAction<QueryBuilderSettings>) => {
state.settings = action.payload;
},
setQueryText: (state, action: PayloadAction<QueryBuilderText>) => {
state.queryTranslation = action.payload;
},
},
});
......@@ -112,4 +126,4 @@ export const selectQuerybuilderHash = (state: RootState): string => {
// state.schema.schemaLayout;
export default querybuilderSlice.reducer;
export const { setQuerybuilderGraph, clearQB, setQuerybuilderSettings, setQuerybuilderNodes } = querybuilderSlice.actions;
export const { setQuerybuilderGraph, clearQB, setQuerybuilderSettings, setQuerybuilderNodes, setQueryText } = querybuilderSlice.actions;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment