@@ -851,7 +851,7 @@ export function superForm<
851851
852852 async function Form_updateFromValidation ( form : SuperValidated < T , M , In > , successResult : boolean ) {
853853 if ( form . valid && successResult && Form_shouldReset ( form . valid , successResult ) ) {
854- Form_reset ( form . message ) ;
854+ Form_reset ( { message : form . message , posted : true } ) ;
855855 } else {
856856 rebind ( form , successResult , undefined , true ) ;
857857 }
@@ -867,12 +867,14 @@ export function superForm<
867867 }
868868 }
869869
870- function Form_reset ( message ?: M , data ?: Partial < T > , id ?: string ) {
870+ function Form_reset (
871+ opts : { message ?: M ; data ?: Partial < T > ; id ?: string ; posted ?: boolean } = { }
872+ ) {
871873 const resetData = clone ( initialForm ) ;
872- resetData . data = { ...resetData . data , ...data } ;
873- if ( id !== undefined ) resetData . id = id ;
874+ resetData . data = { ...resetData . data , ...opts . data } ;
875+ if ( opts . id !== undefined ) resetData . id = opts . id ;
874876
875- rebind ( resetData , true , message , false ) ;
877+ rebind ( resetData , true , opts . message , false , opts . posted ) ;
876878 }
877879
878880 const Form_updateFromActionResult : FormUpdate = async ( result ) => {
@@ -885,7 +887,7 @@ export function superForm<
885887 if ( result . type == 'redirect' ) {
886888 // All we need to do if redirected is to reset the form.
887889 // No events should be triggered because technically we're somewhere else.
888- if ( Form_shouldReset ( true , true ) ) Form_reset ( ) ;
890+ if ( Form_shouldReset ( true , true ) ) Form_reset ( { posted : true } ) ;
889891 return ;
890892 }
891893
@@ -1136,7 +1138,8 @@ export function superForm<
11361138 form : SuperValidated < T , M , In > ,
11371139 untaint : TaintedFields < T > | boolean ,
11381140 message ?: M ,
1139- keepFiles ?: boolean
1141+ keepFiles ?: boolean ,
1142+ posted ?: boolean
11401143 ) {
11411144 //console.log('🚀 ~ file: superForm.ts:721 ~ rebind ~ form:', form.data); //debug
11421145
@@ -1152,7 +1155,7 @@ export function superForm<
11521155 Message . set ( message ) ;
11531156 Errors . set ( form . errors ) ;
11541157 FormId . set ( form . id ) ;
1155- Posted . set ( form . posted ) ;
1158+ Posted . set ( posted ?? form . posted ) ;
11561159 // Constraints and shape will only be set when they exist.
11571160 if ( form . constraints ) Constraints . set ( form . constraints ) ;
11581161 if ( form . shape ) Shape . set ( form . shape ) ;
@@ -1391,11 +1394,11 @@ export function superForm<
13911394 posted : Posted ,
13921395
13931396 reset ( options ?: ResetOptions < T > ) {
1394- return Form_reset (
1395- options ?. keepMessage ? Data . message : undefined ,
1396- options ?. data ,
1397- options ?. id
1398- ) ;
1397+ return Form_reset ( {
1398+ message : options ?. keepMessage ? Data . message : undefined ,
1399+ data : options ?. data ,
1400+ id : options ?. id
1401+ } ) ;
13991402 } ,
14001403
14011404 isTainted : Tainted_isTainted ,
0 commit comments