Skip to content

Commit 3121ccc

Browse files
fix(site): Update the template form when a value is changed (coder#7873)
1 parent 6d3dc30 commit 3121ccc

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.tsx

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMutation } from "@tanstack/react-query"
1+
import { useMutation, useQueryClient } from "@tanstack/react-query"
22
import { updateTemplateMeta } from "api/api"
33
import { UpdateTemplateMeta } from "api/typesGenerated"
44
import { displaySuccess } from "components/GlobalSnackbar/utils"
@@ -7,14 +7,18 @@ import { Helmet } from "react-helmet-async"
77
import { useTranslation } from "react-i18next"
88
import { useNavigate, useParams } from "react-router-dom"
99
import { pageTitle } from "utils/page"
10-
import { useTemplateSettingsContext } from "../TemplateSettingsLayout"
10+
import {
11+
getTemplateQuery,
12+
useTemplateSettingsContext,
13+
} from "../TemplateSettingsLayout"
1114
import { TemplateSettingsPageView } from "./TemplateSettingsPageView"
1215

1316
export const TemplateSettingsPage: FC = () => {
1417
const { template: templateName } = useParams() as { template: string }
1518
const { t } = useTranslation("templateSettingsPage")
1619
const navigate = useNavigate()
1720
const { template } = useTemplateSettingsContext()
21+
const queryClient = useQueryClient()
1822
const {
1923
mutate: updateTemplate,
2024
isLoading: isSubmitting,
@@ -23,6 +27,9 @@ export const TemplateSettingsPage: FC = () => {
2327
(data: UpdateTemplateMeta) => updateTemplateMeta(template.id, data),
2428
{
2529
onSuccess: async () => {
30+
await queryClient.invalidateQueries({
31+
queryKey: getTemplateQuery(templateName),
32+
})
2633
displaySuccess("Template updated successfully")
2734
},
2835
},

site/src/pages/TemplateSettingsPage/TemplateSettingsLayout.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,13 @@ const fetchTemplateSettings = async (orgId: string, name: string) => {
3434
}
3535
}
3636

37+
export const getTemplateQuery = (name: string) => ["template", name, "settings"]
38+
3739
const useTemplate = (orgId: string, name: string) => {
3840
return useQuery({
39-
queryKey: ["template", name, "settings"],
41+
queryKey: getTemplateQuery(name),
4042
queryFn: () => fetchTemplateSettings(orgId, name),
43+
keepPreviousData: true,
4144
})
4245
}
4346

0 commit comments

Comments
 (0)