Skip to content

Commit f9bf9ea

Browse files
committed
disable covered queries button if there's no changes to fields
1 parent 8d08482 commit f9bf9ea

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
InfoSprinkle,
1313
Tooltip,
1414
} from '@mongodb-js/compass-components';
15-
import React, { useState, useCallback } from 'react';
15+
import React, { useState, useCallback, useEffect } from 'react';
1616
import type { Field } from '../../modules/create-index';
1717
import MDBCodeViewer from './mdb-code-viewer';
1818
import { areAllFieldsFilledIn } from '../../utils/create-index-modal-validation';
@@ -152,13 +152,16 @@ const IndexFlowSection = ({
152152
}: IndexFlowSectionProps) => {
153153
const [isCodeEquivalentToggleChecked, setIsCodeEquivalentToggleChecked] =
154154
useState(false);
155+
const [hasFieldChanges, setHasFieldChanges] = useState(false);
155156

156157
const hasUnsupportedQueryTypes = fields.some((field) => {
157158
return field.type === '2dsphere' || field.type === 'text';
158159
});
159160

160161
const isCoveredQueriesButtonDisabled =
161-
!areAllFieldsFilledIn(fields) || hasUnsupportedQueryTypes;
162+
!areAllFieldsFilledIn(fields) ||
163+
hasUnsupportedQueryTypes ||
164+
!hasFieldChanges;
162165

163166
const indexNameTypeMap = fields.reduce<Record<string, string>>(
164167
(accumulator, currentValue) => {
@@ -190,6 +193,11 @@ const IndexFlowSection = ({
190193
optimalQueries: generateOptimalQueries(coveredQueriesArr),
191194
showCoveredQueries: true,
192195
});
196+
setHasFieldChanges(false);
197+
}, [fields]);
198+
199+
useEffect(() => {
200+
setHasFieldChanges(true);
193201
}, [fields]);
194202

195203
const { coveredQueries, optimalQueries, showCoveredQueries } =

0 commit comments

Comments
 (0)