@@ -307,6 +307,48 @@ async def get_sorted_data():
307307 screen .wait (0.5 )
308308 assert data == [{'name' : 'Alice' , 'age' : 18 }, {'name' : 'Bob' , 'age' : 21 }, {'name' : 'Carol' , 'age' : 42 }]
309309
310+ data .clear ()
311+ screen .click ('Get Sorted Data' )
312+ screen .wait (0.5 )
313+ assert data == [{'name' : 'Carol' , 'age' : 42 }, {'name' : 'Bob' , 'age' : 21 }, {'name' : 'Alice' , 'age' : 18 }]
314+
315+
316+ def test_get_client_data_offscreen (screen : Screen ):
317+ data : list = []
318+
319+ @ui .page ('/' )
320+ def page ():
321+ with ui .tabs ().classes ('w-full' ) as tabs :
322+ one = ui .tab ('One' )
323+ two = ui .tab ('Two' )
324+ with ui .tab_panels (tabs , value = one ).classes ('w-full' ):
325+ with ui .tab_panel (one ):
326+ async def get_data ():
327+ data [:] = await grid .get_client_data ()
328+ ui .button ('Get Data' , on_click = get_data )
329+
330+ async def get_sorted_data ():
331+ data [:] = await grid .get_client_data (method = 'filtered_sorted' )
332+ ui .button ('Get Sorted Data' , on_click = get_sorted_data )
333+ with ui .tab_panel (two ):
334+ grid = ui .aggrid ({
335+ 'columnDefs' : [
336+ {'field' : 'name' },
337+ {'field' : 'age' , 'sort' : 'desc' },
338+ ],
339+ 'rowData' : [
340+ {'name' : 'Alice' , 'age' : 18 },
341+ {'name' : 'Bob' , 'age' : 21 },
342+ {'name' : 'Carol' , 'age' : 42 },
343+ ],
344+ })
345+
346+ screen .open ('/' )
347+ screen .click ('Get Data' )
348+ screen .wait (0.5 )
349+ assert data == [{'name' : 'Alice' , 'age' : 18 }, {'name' : 'Bob' , 'age' : 21 }, {'name' : 'Carol' , 'age' : 42 }]
350+
351+ data .clear ()
310352 screen .click ('Get Sorted Data' )
311353 screen .wait (0.5 )
312354 assert data == [{'name' : 'Carol' , 'age' : 42 }, {'name' : 'Bob' , 'age' : 21 }, {'name' : 'Alice' , 'age' : 18 }]
0 commit comments