Skip to content

Commit 84ab60c

Browse files
feat(schemaBrowser): add diable logic to "Flux Sync" toggle (#5537)
1 parent 9be6153 commit 84ab60c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/dataExplorer/components/SchemaBrowserHeading.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,20 @@ import SelectorTitle from 'src/dataExplorer/components/SelectorTitle'
1212

1313
// Context
1414
import {FluxQueryBuilderContext} from 'src/dataExplorer/context/fluxQueryBuilder'
15+
import {PersistanceContext} from 'src/dataExplorer/context/persistance'
1516

1617
const FLUX_SYNC_TOOLTIP = `Flux Sync autopopulates the script editor to help you \
1718
start a query. You can turn this feature on and off, but typing within this \
1819
section will disable synchronization.`
1920

21+
const FLUX_SYNC_DISABLE_TEXT = `Schema Sync is no longer available because the \
22+
code block has been edited.`
23+
2024
const SchemaBrowserHeading: FC = () => {
2125
const {fluxSync, toggleFluxSync} = useContext(FluxQueryBuilderContext)
26+
const {selection} = useContext(PersistanceContext)
27+
28+
const disableToggle: boolean = selection.composition?.diverged
2229

2330
const handleFluxSyncToggle = () => {
2431
toggleFluxSync(!fluxSync)
@@ -37,6 +44,8 @@ const SchemaBrowserHeading: FC = () => {
3744
active={fluxSync}
3845
onChange={handleFluxSyncToggle}
3946
testID="flux-sync--toggle"
47+
disabled={disableToggle}
48+
tooltipText={disableToggle ? FLUX_SYNC_DISABLE_TEXT : ''}
4049
/>
4150
<InputLabel className="flux-sync--label">
4251
<SelectorTitle

0 commit comments

Comments
 (0)