From 0d9db02f683e121cd509e4ebdbcb639e5ad06f33 Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Sat, 9 Mar 2024 11:51:13 +0000 Subject: [PATCH] fix(nc-gui): prefill issue if query param key is encoded --- packages/nc-gui/composables/useSharedFormViewStore.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/composables/useSharedFormViewStore.ts b/packages/nc-gui/composables/useSharedFormViewStore.ts index 2518baeeb7..dce85a3107 100644 --- a/packages/nc-gui/composables/useSharedFormViewStore.ts +++ b/packages/nc-gui/composables/useSharedFormViewStore.ts @@ -257,9 +257,10 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share function handlePreFillForm() { if (Object.keys(route.query).length && sharedViewMeta.value.preFillEnabled) { columns.value = columns.value?.map((c) => { + const queryParam = route.query?.[c.title as string] || route.query?.[encodeURIComponent(c.title as string)] if ( !c.title || - !route.query?.[c.title] || + !queryParam || isSystemColumn(c) || isVirtualCol(c) || // (isVirtualCol(c) && !isLinksOrLTAR(c)) || // Todo: Enable this after linksOrLTAR prefill supported @@ -267,7 +268,8 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share ) { return c } - const preFillValue = getPreFillValue(c, decodeURIComponent(route.query?.[c.title] as string).trim()) + + const preFillValue = getPreFillValue(c, decodeURIComponent(queryParam as string).trim()) if (preFillValue !== undefined) { // Prefill form state formState.value[c.title] = preFillValue