11import  React ,  {  useEffect ,  useMemo  }  from  'react' ; 
22import  {  useLocation ,  useNavigate ,  useSearchParams  }  from  'react-router-dom' ; 
33
4+ import  {  useQueryClient  }  from  '@tanstack/react-query' ; 
5+ 
46import  {  Flex  }  from  'src/app-components/Flex/Flex' ; 
57import  classes  from  'src/components/form/Form.module.css' ; 
68import  {  MessageBanner  }  from  'src/components/form/MessageBanner' ; 
@@ -14,6 +16,7 @@ import { FileScanResults } from 'src/features/attachments/types';
1416import  {  useExpandedWidthLayouts ,  useLayoutLookups  }  from  'src/features/form/layout/LayoutsContext' ; 
1517import  {  useUiConfigContext  }  from  'src/features/form/layout/UiConfigContext' ; 
1618import  {  usePageSettings  }  from  'src/features/form/layoutSettings/LayoutSettingsContext' ; 
19+ import  {  invalidateFormDataQueries  }  from  'src/features/formData/useFormDataQuery' ; 
1720import  {  useLaxInstanceId  }  from  'src/features/instance/InstanceContext' ; 
1821import  {  useLanguage  }  from  'src/features/language/useLanguage' ; 
1922import  {  useOnFormSubmitValidation  }  from  'src/features/validation/callbacks/onFormSubmitValidation' ; 
@@ -241,6 +244,7 @@ function HandleNavigationFocusComponent() {
241244  const  validate  =  useQueryKey ( SearchParams . Validate ) ?. toLocaleLowerCase ( )  ===  'true' ; 
242245  const  navigate  =  useNavigate ( ) ; 
243246  const  searchStringRef  =  useAsRef ( useLocation ( ) . search ) ; 
247+   const  queryClient  =  useQueryClient ( ) ; 
244248
245249  React . useEffect ( ( )  =>  { 
246250    ( async  ( )  =>  { 
@@ -250,10 +254,13 @@ function HandleNavigationFocusComponent() {
250254        location . delete ( SearchParams . ExitSubform ) ; 
251255        const  baseHash  =  window . location . hash . slice ( 1 ) . split ( '?' ) [ 0 ] ; 
252256        const  nextLocation  =  location . size  >  0  ? `${ baseHash } ${ location . toString ( ) }   : baseHash ; 
257+         if  ( exitSubform )  { 
258+           invalidateFormDataQueries ( queryClient ) ; 
259+         } 
253260        navigate ( nextLocation ,  {  replace : true  } ) ; 
254261      } 
255262    } ) ( ) ; 
256-   } ,  [ navigate ,  searchStringRef ,  exitSubform ,  validate ,  onFormSubmitValidation ] ) ; 
263+   } ,  [ navigate ,  searchStringRef ,  exitSubform ,  validate ,  onFormSubmitValidation ,   queryClient ] ) ; 
257264
258265  return  null ; 
259266} 
0 commit comments