@@ -79,7 +79,7 @@ export const useReferenceInputController = <RecordType extends RaRecord = any>(
7979
8080 // fetch possible values
8181 const {
82- data : possibleValuesData = [ ] ,
82+ data : possibleValuesData ,
8383 total,
8484 pageInfo,
8585 isFetching : isFetchingPossibleValues ,
@@ -143,17 +143,30 @@ export const useReferenceInputController = <RecordType extends RaRecord = any>(
143143 } , [ currentReferenceRecord ] ) ;
144144
145145 // add current value to possible sources
146- let finalData : RecordType [ ] , finalTotal : number | undefined ;
147- if (
148- ! referenceRecord ||
149- possibleValuesData . find ( record => record . id === referenceRecord . id )
150- ) {
151- finalData = possibleValuesData ;
152- finalTotal = total ;
153- } else {
154- finalData = [ referenceRecord , ...possibleValuesData ] ;
155- finalTotal = total == null ? undefined : total + 1 ;
156- }
146+ const { finalData, finalTotal } = useMemo ( ( ) => {
147+ if ( isPaused && possibleValuesData == null ) {
148+ return {
149+ finalData : null ,
150+ finalTotal : null ,
151+ } ;
152+ }
153+ if (
154+ ! referenceRecord ||
155+ ( possibleValuesData ?? [ ] ) . find (
156+ record => record . id === referenceRecord . id
157+ )
158+ ) {
159+ return {
160+ finalData : possibleValuesData ,
161+ finalTotal : total ,
162+ } ;
163+ } else {
164+ return {
165+ finalData : [ referenceRecord , ...( possibleValuesData ?? [ ] ) ] ,
166+ finalTotal : total == null ? undefined : total + 1 ,
167+ } ;
168+ }
169+ } , [ isPaused , referenceRecord , possibleValuesData , total ] ) ;
157170
158171 const refetch = useCallback ( ( ) => {
159172 refetchGetList ( ) ;
0 commit comments