diff --git a/frontend/src/AppRoutes/index.tsx b/frontend/src/AppRoutes/index.tsx
index a5641c35da..ec7db3f0aa 100644
--- a/frontend/src/AppRoutes/index.tsx
+++ b/frontend/src/AppRoutes/index.tsx
@@ -5,6 +5,7 @@ import AppLayout from 'container/AppLayout';
import { useThemeConfig } from 'hooks/useDarkMode';
import { NotificationProvider } from 'hooks/useNotifications';
import history from 'lib/history';
+import { QueryBuilderProvider } from 'providers/QueryBuilder';
import React, { Suspense } from 'react';
import { Route, Router, Switch } from 'react-router-dom';
@@ -17,26 +18,28 @@ function App(): JSX.Element {
return (
-
-
-
- }>
-
- {routes.map(({ path, component, exact }) => (
-
- ))}
+
+
+
+
+ }>
+
+ {routes.map(({ path, component, exact }) => (
+
+ ))}
-
-
-
-
-
-
+
+
+
+
+
+
+
);
diff --git a/frontend/src/container/NewWidget/LeftContainer/QuerySection/QueryBuilder/queryBuilder/query.tsx b/frontend/src/container/NewWidget/LeftContainer/QuerySection/QueryBuilder/queryBuilder/query.tsx
index 8f171baa3c..7b9681f89e 100644
--- a/frontend/src/container/NewWidget/LeftContainer/QuerySection/QueryBuilder/queryBuilder/query.tsx
+++ b/frontend/src/container/NewWidget/LeftContainer/QuerySection/QueryBuilder/queryBuilder/query.tsx
@@ -68,6 +68,8 @@ function MetricsBuilder({
});
}, [metricName]);
+ // TODO: rewrite to Form component from antd
+
return (
void;
+ handleSetQueryBuilderData: () => void;
+};
+
+export const QueryBuilderContext = createContext({
+ queryBuilderData: [
+ {
+ queryData: '',
+ queryFormulas: '',
+ },
+ ],
+ resetQueryBuilderData: () => {},
+ handleSetQueryBuilderData: () => {},
+});
+
+const initialQueryBuilderData: unknown[] = [
+ {
+ queryData: '',
+ queryFormulas: '',
+ },
+];
+
+export function QueryBuilderProvider({
+ children,
+}: PropsWithChildren): JSX.Element {
+ // ** TODO: get queryId from url for getting data for query builder
+ // ** TODO: type the params which will be used for request of the data for query builder
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const params = useParams();
+
+ // ** TODO: create state for queryBuilder
+ // ** TODO: create state for queryFormulas
+
+ // ** TODO: Find out the types of the queryBuilder state
+ // ** TODO: Check exist version of the functionality
+ const [queryBuilderData, setQueryBuilderData] = useState([
+ {
+ queryData: '',
+ queryFormulas: '',
+ },
+ ]);
+
+ const resetQueryBuilderData = useCallback((): void => {
+ setQueryBuilderData(initialQueryBuilderData);
+ }, []);
+
+ const handleSetQueryBuilderData = useCallback((): void => {}, []);
+ // ** TODO: Discuss with Palash how the state of the queryBuilder and queryFormulas
+ // ** TODO: should be filled from url
+
+ // ** TODO: create set function for state
+
+ // ** TODO: put these values and setter to the context value
+
+ const contextValues: QueryBuilderContextType = useMemo(
+ () => ({
+ queryBuilderData,
+ resetQueryBuilderData,
+ handleSetQueryBuilderData,
+ }),
+ [queryBuilderData, resetQueryBuilderData, handleSetQueryBuilderData],
+ );
+
+ return (
+
+ {children}
+
+ );
+}