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
Tags v1.39.1
No related merge requests found
Pipeline #129753 passed
...@@ -19,7 +19,7 @@ import Broker from '@graphpolaris/shared/lib/data-access/socket/broker'; ...@@ -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 { addInfo } from '@graphpolaris/shared/lib/data-access/store/configSlice';
import { GraphQueryResultFromBackendPayload, queryingBackend } from '@graphpolaris/shared/lib/data-access/store/graphQueryResultSlice'; import { GraphQueryResultFromBackendPayload, queryingBackend } from '@graphpolaris/shared/lib/data-access/store/graphQueryResultSlice';
import { allMLTypes, LinkPredictionInstance, setMLResult } from '@graphpolaris/shared/lib/data-access/store/mlSlice'; 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 { SchemaFromBackend } from '@graphpolaris/shared/lib/schema';
import { useEffect } from 'react'; import { useEffect } from 'react';
import { SaveStateI, TestDatabaseConnectionResponse, wsGetState, wsGetStates, wsUpdateState, wsSelectState, nilUUID } from './wsState'; import { SaveStateI, TestDatabaseConnectionResponse, wsGetState, wsGetStates, wsUpdateState, wsSelectState, nilUUID } from './wsState';
...@@ -96,6 +96,12 @@ export const EventBus = (props: { onRunQuery: Function; onAuthorized: Function } ...@@ -96,6 +96,12 @@ export const EventBus = (props: { onRunQuery: Function; onAuthorized: Function }
if (response && response.status === 'success') dispatch(testedSaveState(response.saveStateID)); if (response && response.status === 'success') dispatch(testedSaveState(response.saveStateID));
}, 'tested_connection'); }, 'tested_connection');
Broker.instance().subscribe((response: QueryBuilderText) => {
if (response && response.result) {
dispatch(setQueryText(response));
}
}, 'query_translation_result');
login(); login();
// Setup cleanup // Setup cleanup
...@@ -109,6 +115,7 @@ export const EventBus = (props: { onRunQuery: Function; onAuthorized: Function } ...@@ -109,6 +115,7 @@ export const EventBus = (props: { onRunQuery: Function; onAuthorized: Function }
Broker.instance().unSubscribeAll('delete_save_state'); Broker.instance().unSubscribeAll('delete_save_state');
Broker.instance().unSubscribeAll('tested_connection'); Broker.instance().unSubscribeAll('tested_connection');
Broker.instance().unSubscribeAll('save_state_selected'); Broker.instance().unSubscribeAll('save_state_selected');
Broker.instance().unSubscribeAll('query_translation_result');
// Broker.instance().unSubscribeAll('query_builder_state'); // Broker.instance().unSubscribeAll('query_builder_state');
allMLTypes.forEach((mlType) => { allMLTypes.forEach((mlType) => {
Broker.instance().unSubscribeAll(mlType); Broker.instance().unSubscribeAll(mlType);
......
import { QueryBuilder } from './../../querybuilder/panel/querybuilder';
import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import type { RootState } from './store'; import type { RootState } from './store';
import Graph, { MultiGraph } from 'graphology'; import Graph, { MultiGraph } from 'graphology';
...@@ -14,10 +15,16 @@ export type QueryBuilderSettings = { ...@@ -14,10 +15,16 @@ export type QueryBuilderSettings = {
autocompleteRelation: boolean; autocompleteRelation: boolean;
}; };
export type QueryBuilderText = {
queryId: string;
result: string;
};
export type QueryBuilderState = { export type QueryBuilderState = {
graph: QueryMultiGraph; graph: QueryMultiGraph;
ignoreReactivity: boolean; ignoreReactivity: boolean;
settings: QueryBuilderSettings; settings: QueryBuilderSettings;
queryTranslation: QueryBuilderText;
}; };
// Define the initial state using that type // Define the initial state using that type
...@@ -30,6 +37,10 @@ export const initialState: QueryBuilderState = { ...@@ -30,6 +37,10 @@ export const initialState: QueryBuilderState = {
layout: 'manual', layout: 'manual',
autocompleteRelation: true, autocompleteRelation: true,
}, },
queryTranslation: {
queryId: '',
result: '',
},
// schemaLayout: 'Graphology_noverlap', // schemaLayout: 'Graphology_noverlap',
}; };
...@@ -55,6 +66,9 @@ export const querybuilderSlice = createSlice({ ...@@ -55,6 +66,9 @@ export const querybuilderSlice = createSlice({
setQuerybuilderSettings: (state, action: PayloadAction<QueryBuilderSettings>) => { setQuerybuilderSettings: (state, action: PayloadAction<QueryBuilderSettings>) => {
state.settings = action.payload; state.settings = action.payload;
}, },
setQueryText: (state, action: PayloadAction<QueryBuilderText>) => {
state.queryTranslation = action.payload;
},
}, },
}); });
...@@ -112,4 +126,4 @@ export const selectQuerybuilderHash = (state: RootState): string => { ...@@ -112,4 +126,4 @@ export const selectQuerybuilderHash = (state: RootState): string => {
// state.schema.schemaLayout; // state.schema.schemaLayout;
export default querybuilderSlice.reducer; 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