File tree Expand file tree Collapse file tree 3 files changed +56
-0
lines changed
packages/kit/test/apps/basics
src/routes/remote/form/hidden Expand file tree Collapse file tree 3 files changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ <script >
2+ import { get_hidden , set_hidden } from ' ./form.remote' ;
3+ const hidden = get_hidden ();
4+ </script >
5+
6+ <!-- TODO use await here once async lands -->
7+ {#await hidden then h }
8+ <p >await hidden().string: {h .string }</p >
9+ <p >await hidden().number: {h .number }</p >
10+ <p >await hidden().boolean: {h .boolean }</p >
11+ {/await }
12+
13+ <form {...set _hidden}>
14+ <input {...set _hidden.fields .string .as (' hidden' , ' b' )} />
15+ <input {...set _hidden.fields .number .as (' hidden number' , 1)} />
16+ <input {...set _hidden.fields .boolean .as (' hidden boolean' , true )} />
17+ <button >set hidden</button >
18+ </form >
Original file line number Diff line number Diff line change 1+ import { form , query } from '$app/server' ;
2+ import * as v from 'valibot' ;
3+
4+ let hidden = {
5+ string : 'a' ,
6+ number : 0 ,
7+ boolean : false
8+ } ;
9+
10+ export const get_hidden = query ( ( ) => {
11+ return hidden ;
12+ } ) ;
13+
14+ export const set_hidden = form (
15+ v . object ( {
16+ string : v . string ( ) ,
17+ number : v . number ( ) ,
18+ boolean : v . boolean ( )
19+ } ) ,
20+ async ( data ) => {
21+ hidden = data ;
22+ get_hidden ( ) . refresh ( ) ;
23+ }
24+ ) ;
Original file line number Diff line number Diff line change @@ -1693,6 +1693,20 @@ test.describe('remote functions', () => {
16931693 await expect ( page . locator ( '#result' ) ) . toHaveText ( 'hello' ) ;
16941694 } ) ;
16951695
1696+ test ( 'form hidden inputs of different types work' , async ( { page, javaScriptEnabled } ) => {
1697+ await page . goto ( '/remote/form/hidden' ) ;
1698+
1699+ await page . locator ( 'button' ) . click ( ) ;
1700+
1701+ if ( javaScriptEnabled ) {
1702+ await expect ( page . getByText ( 'await hidden().string:' ) ) . toHaveText ( 'await hidden().string: b' ) ;
1703+ await expect ( page . getByText ( 'await hidden().number:' ) ) . toHaveText ( 'await hidden().number: 1' ) ;
1704+ await expect ( page . getByText ( 'await hidden().boolean:' ) ) . toHaveText (
1705+ 'await hidden().boolean: true'
1706+ ) ;
1707+ }
1708+ } ) ;
1709+
16961710 test ( 'form updates inputs live' , async ( { page, javaScriptEnabled } ) => {
16971711 await page . goto ( '/remote/form' ) ;
16981712
You can’t perform that action at this time.
0 commit comments