File tree Expand file tree Collapse file tree 2 files changed +17
-8
lines changed Expand file tree Collapse file tree 2 files changed +17
-8
lines changed Original file line number Diff line number Diff line change 11import { properties , useResource , useStore , useTitle } from '@tomic/react' ;
22import React , { useCallback , useState } from 'react' ;
3- import { useQueryString } from '../../../helpers/navigation' ;
3+ import { newURLParams , useQueryString } from '../../../helpers/navigation' ;
44import { useEffectOnce } from '../../../hooks/useEffectOnce' ;
55import { Button } from '../../Button' ;
66import { DialogActions , DialogContent , DialogTitle } from '../../Dialog' ;
@@ -28,14 +28,16 @@ export const NewFormFullPage = ({
2828 classSubject,
2929} : NewFormProps ) : JSX . Element => {
3030 const klass = useResource ( classSubject ) ;
31- const [ subject , setSubject ] = useQueryString ( ' newSubject' ) ;
32- const [ parentSubject ] = useQueryString ( ' parent' ) ;
31+ const [ subject , setSubject ] = useQueryString ( newURLParams . newSubject ) ;
32+ const [ parent ] = useQueryString ( newURLParams . parent ) ;
3333
3434 const { subjectErr, subjectValue, setSubjectValue, resource } = useNewForm (
3535 klass ,
36- subject ! ,
36+ subject
37+ ? subject
38+ : `${ parent } /${ Math . random ( ) . toString ( 36 ) . substring ( 2 , 9 ) } ` ,
3739 setSubject ,
38- parentSubject ,
40+ parent ,
3941 ) ;
4042
4143 return (
Original file line number Diff line number Diff line change @@ -66,6 +66,13 @@ export function useSearchQuery() {
6666 return useQueryString ( 'query' ) ;
6767}
6868
69+ /** Query parameters used by the `/new` route */
70+ export const newURLParams = {
71+ classSubject : 'classSubject' ,
72+ parent : 'parent' ,
73+ newSubject : 'newSubject' ,
74+ } ;
75+
6976/** Constructs a URL for the New Resource form */
7077export function newURL (
7178 classUrl : string ,
@@ -74,9 +81,9 @@ export function newURL(
7481) : string {
7582 const navTo = new URL ( location . origin ) ;
7683 navTo . pathname = paths . new ;
77- navTo . searchParams . append ( ' classSubject' , classUrl ) ;
78- parentURL && navTo . searchParams . append ( ' parent' , parentURL ) ;
79- subject && navTo . searchParams . append ( ' newSubject' , subject ) ;
84+ navTo . searchParams . append ( newURLParams . classSubject , classUrl ) ;
85+ parentURL && navTo . searchParams . append ( newURLParams . parent , parentURL ) ;
86+ subject && navTo . searchParams . append ( newURLParams . newSubject , subject ) ;
8087
8188 return paths . new + navTo . search ;
8289}
You can’t perform that action at this time.
0 commit comments