Skip to content

Commit 716de6e

Browse files
committed
maintain covered queries in btwn tabs
1 parent 65f545c commit 716de6e

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

packages/compass-indexes/src/components/create-index-form/create-index-form.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useMemo } from 'react';
1+
import React, { useMemo, useState } from 'react';
22
import {
33
css,
44
spacing,
@@ -78,6 +78,16 @@ function CreateIndexForm({
7878

7979
const track = useTelemetry();
8080

81+
const [coveredQueriesObj, setCoveredQueriesObj] = useState<{
82+
coveredQueries: JSX.Element;
83+
optimalQueries: string | JSX.Element;
84+
showCoveredQueries: boolean;
85+
}>({
86+
coveredQueries: <></>,
87+
optimalQueries: '',
88+
showCoveredQueries: false,
89+
});
90+
8191
const schemaFields = useAutocompleteFields(namespace);
8292
const schemaFieldNames = useMemo(() => {
8393
return schemaFields
@@ -155,6 +165,8 @@ function CreateIndexForm({
155165
onRemoveFieldClick={onRemoveFieldClick}
156166
/>
157167
}
168+
coveredQueriesObj={coveredQueriesObj}
169+
setCoveredQueriesObj={setCoveredQueriesObj}
158170
/>
159171
) : (
160172
// Control UI

packages/compass-indexes/src/components/create-index-form/index-flow-section.tsx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,16 @@ export type IndexFlowSectionProps = {
107107
collectionName: string;
108108
onErrorEncountered: (error: string) => void;
109109
onErrorCleared: () => void;
110+
coveredQueriesObj: {
111+
coveredQueries: JSX.Element;
112+
optimalQueries: string | JSX.Element;
113+
showCoveredQueries: boolean;
114+
};
115+
setCoveredQueriesObj: (coveredQueriesObj: {
116+
coveredQueries: JSX.Element;
117+
optimalQueries: string | JSX.Element;
118+
showCoveredQueries: boolean;
119+
}) => void;
110120
};
111121

112122
const generateCoveredQueries = (
@@ -194,6 +204,8 @@ const IndexFlowSection = ({
194204
collectionName,
195205
onErrorEncountered,
196206
onErrorCleared,
207+
coveredQueriesObj,
208+
setCoveredQueriesObj,
197209
}: IndexFlowSectionProps) => {
198210
const darkMode = useDarkMode();
199211
const [isCodeEquivalentToggleChecked, setIsCodeEquivalentToggleChecked] =
@@ -220,16 +232,6 @@ const IndexFlowSection = ({
220232
{}
221233
);
222234

223-
const [coveredQueriesObj, setCoveredQueriesObj] = useState<{
224-
coveredQueries: JSX.Element;
225-
optimalQueries: string | JSX.Element;
226-
showCoveredQueries: boolean;
227-
}>({
228-
coveredQueries: <></>,
229-
optimalQueries: '',
230-
showCoveredQueries: false,
231-
});
232-
233235
const onCoveredQueriesButtonClick = useCallback(() => {
234236
const coveredQueriesArr = fields.map((field, index) => {
235237
return { [field.name]: index + 1 };
@@ -250,7 +252,7 @@ const IndexFlowSection = ({
250252
}
251253

252254
setHasFieldChanges(false);
253-
}, [fields, onErrorEncountered, track]);
255+
}, [fields, onErrorEncountered, setCoveredQueriesObj, track]);
254256

255257
useEffect(() => {
256258
setHasFieldChanges(true);

0 commit comments

Comments
 (0)