Fixed the refresh bug
This commit is contained in:
		
							parent
							
								
									0ba8dca0b4
								
							
						
					
					
						commit
						abcf08f98e
					
				| @ -135,7 +135,7 @@ export interface GridlerState { | ||||
|   _gridSelectionRows?: GridSelection['rows']; | ||||
|   _loadingList: CompactSelection; | ||||
|   _page_data: Record<number, Array<any>>; | ||||
|   _refresh: () => void; | ||||
|   _refresh: () => Promise<void>; | ||||
|   _scrollTimeout?: any | number; | ||||
|   _visibleArea: Rectangle; | ||||
|   _visiblePages: Rectangle; | ||||
| @ -219,12 +219,11 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat | ||||
|     _events: new EventTarget(), | ||||
|     _loadingList: CompactSelection.empty(), | ||||
|     _page_data: {}, | ||||
|     _refresh: () => { | ||||
|     _refresh: async () => { | ||||
|       const s = get(); | ||||
|       s.loadPage(0, 'all').then(() => { | ||||
|         s.refreshCells(); | ||||
|         s.reload?.(); | ||||
|       }); | ||||
|       await s.loadPage(0, 'all'); | ||||
|       await s.refreshCells(); | ||||
|       await s.reload?.(); | ||||
|     }, | ||||
|     _visibleArea: { height: 10000, width: 1000, x: 0, y: 0 }, | ||||
|     _visiblePages: { height: 0, width: 0, x: 0, y: 0 }, | ||||
| @ -717,9 +716,11 @@ const { Provider, useStore: useGridlerStore } = createSyncStore<GridlerStoreStat | ||||
|           isDivider: true, | ||||
|         }, | ||||
|         { | ||||
|           id: 'refesh', | ||||
|           label: `Refresh`, | ||||
|           onClickAsync: async () => { | ||||
|             await s._refresh?.(); | ||||
|           onClick: () => { | ||||
|             const s = get(); | ||||
|             s._refresh?.(); | ||||
|           }, | ||||
|         }, | ||||
|       ]; | ||||
|  | ||||
| @ -19,13 +19,12 @@ export interface GlidlerAPIAdaptorForGoLangv2Props<T = unknown> extends APIOptio | ||||
| } | ||||
| 
 | ||||
| function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForGoLangv2Props<T>) { | ||||
|   const [setStateFN, setState, getState, addError, mounted, loadPage] = useGridlerStore((s) => [ | ||||
|   const [setStateFN, setState, getState, addError, mounted] = useGridlerStore((s) => [ | ||||
|     s.setStateFN, | ||||
|     s.setState, | ||||
|     s.getState, | ||||
|     s.addError, | ||||
|     s.mounted, | ||||
|     s.loadPage, | ||||
|   ]); | ||||
| 
 | ||||
|   const useAPIQuery: (index: number) => Promise<any> = useCallback( | ||||
| @ -266,8 +265,10 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG | ||||
|     setState('useAPIQuery', useAPIQuery); | ||||
|     setState('askAPIRowNumber', askAPIRowNumber); | ||||
| 
 | ||||
|     const _refresh = getState('_refresh'); | ||||
| 
 | ||||
|     //Reset the loaded pages to new rules
 | ||||
|     loadPage(0, 'all').then(() => { | ||||
|     _refresh?.().then(() => { | ||||
|       const onChange = getState('onChange'); | ||||
|       const getGridSelectedRows = getState('getGridSelectedRows'); | ||||
|       if (onChange && typeof onChange === 'function') { | ||||
|  | ||||
| @ -24,11 +24,10 @@ export function GlidlerFormAdaptor(props: { | ||||
|   ) => void; | ||||
|   showDescriptionInMenu?: boolean; | ||||
| }) { | ||||
|   const [getState, mounted, setState, reload, _events] = useGridlerStore((s) => [ | ||||
|   const [getState, mounted, setState, _events] = useGridlerStore((s) => [ | ||||
|     s.getState, | ||||
|     s.mounted, | ||||
|     s.setState, | ||||
|     s.reload, | ||||
|     s._events, | ||||
|   ]); | ||||
| 
 | ||||
| @ -164,8 +163,9 @@ export function GlidlerFormAdaptor(props: { | ||||
|         c: 'orange', | ||||
|         label: 'Refresh', | ||||
|         leftSection: <IconRefresh color="orange" size={16} />, | ||||
|         onClick: () => { | ||||
|           reload?.(); | ||||
|         onClickAsync: async () => { | ||||
|           const _refresh = getState('_refresh'); | ||||
|           await _refresh?.(); | ||||
|         }, | ||||
|       }); | ||||
| 
 | ||||
|  | ||||
| @ -80,7 +80,7 @@ const MenuItemRenderer = ({ children, label, ...props }: MantineBetterMenuInstan | ||||
|               props.onClick?.(e); | ||||
|               if (props.onClickAsync) { | ||||
|                 setLoading(true); | ||||
|                 props.onClickAsync().finally(() => setLoading(false)); | ||||
|                 props.onClickAsync(e).finally(() => setLoading(false)); | ||||
|               } | ||||
|             }} | ||||
|             styles={{ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user