Skip to content

Commit 79a7a5e

Browse files
authored
fix: schema composition sync and resetting (#5586)
* Add back in schema resetting behavior for new script, which got accidentally removed here 34920a7#diff-dc45f9353f4973afb51830453f2b9afd104ab1b0057ab80ba84b9f4cf2b09f7d. * make sync default be true
1 parent e5f8ee0 commit 79a7a5e

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

src/dataExplorer/components/FluxQueryBuilder.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,13 @@ export enum OverlayType {
3737
}
3838

3939
const FluxQueryBuilder: FC = () => {
40-
const {query, vertical, setVertical} = useContext(PersistanceContext)
40+
const {
41+
query,
42+
setQuery,
43+
vertical,
44+
setVertical,
45+
clearSchemaSelection,
46+
} = useContext(PersistanceContext)
4147
const [overlayType, setOverlayType] = useState<OverlayType | null>(null)
4248

4349
return (
@@ -47,6 +53,10 @@ const FluxQueryBuilder: FC = () => {
4753
<SaveAsScript
4854
type={overlayType}
4955
onClose={() => setOverlayType(null)}
56+
onClear={() => {
57+
clearSchemaSelection()
58+
setQuery('')
59+
}}
5060
/>
5161
</Overlay>
5262
<FlexBox

src/dataExplorer/components/SaveAsScript.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ import {getOrg} from 'src/organizations/selectors'
2727
import OpenScript from 'src/dataExplorer/components/OpenScript'
2828

2929
interface Props {
30+
onClear: () => void
3031
onClose: () => void
3132
type: OverlayType | null
3233
}
3334

34-
const SaveAsScript: FC<Props> = ({onClose, type}) => {
35+
const SaveAsScript: FC<Props> = ({onClose, onClear, type}) => {
3536
const dispatch = useDispatch()
3637
const history = useHistory()
3738
const {query, resource, setResource, save} = useContext(PersistanceContext)
@@ -63,6 +64,7 @@ const SaveAsScript: FC<Props> = ({onClose, type}) => {
6364
cancel()
6465
setStatus(RemoteDataState.NotStarted)
6566
setResult(null)
67+
onClear()
6668

6769
history.replace(`/orgs/${org.id}/data-explorer/from/script`)
6870
if (type !== OverlayType.OPEN) {

src/dataExplorer/components/resources/TemplatePage.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@ import {RemoteDataState} from 'src/types'
55

66
import {getOrg} from 'src/organizations/selectors'
77

8-
import {DEFAULT_SCHEMA} from 'src/dataExplorer/context/persistance'
98
import {RESOURCES} from 'src/dataExplorer/components/resources'
109
import {
1110
PersistanceContext,
1211
PersistanceProvider,
1312
} from 'src/dataExplorer/context/persistance'
1413

1514
const Template: FC = () => {
16-
const {setQuery, setResource, setSelection} = useContext(PersistanceContext)
15+
const {setQuery, setResource, clearSchemaSelection} = useContext(
16+
PersistanceContext
17+
)
1718
const params = useParams()[0].split('/')
1819
const org = useSelector(getOrg)
1920
const history = useHistory()
@@ -34,7 +35,7 @@ const Template: FC = () => {
3435
}
3536

3637
setLoading(RemoteDataState.Loading)
37-
setSelection(JSON.parse(JSON.stringify(DEFAULT_SCHEMA)))
38+
clearSchemaSelection()
3839
setQuery('')
3940
setResource(null)
4041

src/dataExplorer/context/persistance.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ interface ContextType {
3535
setQuery: (val: string) => void
3636
setResource: (val: ResourceConnectedQuery<any>) => void
3737
setSelection: (val: RecursivePartial<SchemaSelection>) => void
38+
clearSchemaSelection: () => void
3839

3940
save: () => Promise<ResourceConnectedQuery<any>>
4041
}
@@ -45,7 +46,7 @@ export const DEFAULT_SCHEMA: SchemaSelection = {
4546
fields: [] as string[],
4647
tagValues: [] as TagKeyValuePair[],
4748
composition: {
48-
synced: false,
49+
synced: true,
4950
diverged: false,
5051
},
5152
}
@@ -56,15 +57,15 @@ const DEFAULT_CONTEXT = {
5657
range: DEFAULT_TIME_RANGE,
5758
query: '',
5859
resource: null,
59-
selection: DEFAULT_SCHEMA,
60+
selection: JSON.parse(JSON.stringify(DEFAULT_SCHEMA)),
6061

6162
setHorizontal: (_: number[]) => {},
6263
setVertical: (_: number[]) => {},
6364
setRange: (_: TimeRange) => {},
6465
setQuery: (_: string) => {},
6566
setResource: (_: any) => {},
6667
setSelection: (_: RecursivePartial<SchemaSelection>) => {},
67-
68+
clearSchemaSelection: () => {},
6869
save: () => Promise.resolve(null),
6970
}
7071

@@ -101,6 +102,10 @@ export const PersistanceProvider: FC = ({children}) => {
101102
JSON.parse(JSON.stringify(DEFAULT_CONTEXT.selection))
102103
)
103104

105+
const clearSchemaSelection = () => {
106+
setSelection(JSON.parse(JSON.stringify(DEFAULT_SCHEMA)))
107+
}
108+
104109
const setSchemaSelection = useCallback(
105110
schema => {
106111
if (selection.composition?.diverged && schema.composition.synced) {
@@ -148,6 +153,7 @@ export const PersistanceProvider: FC = ({children}) => {
148153
setQuery,
149154
setResource,
150155
setSelection: setSchemaSelection,
156+
clearSchemaSelection,
151157

152158
save,
153159
}}

0 commit comments

Comments
 (0)