fix: ui: fix state bugs from brick 1 migration (#1889)
This commit is contained in:
		
							parent
							
								
									67cd6be424
								
							
						
					
					
						commit
						b6353804b8
					
				| @ -371,21 +371,24 @@ asHandle ev = do | |||||||
|               list' <- nestEventM' _asList $ handleListEvent (normaliseMovementKeys ev) |               list' <- nestEventM' _asList $ handleListEvent (normaliseMovementKeys ev) | ||||||
|               put' $ ui{aScreen=scr & asList .~ list' & asSelectedAccount .~ selacct } |               put' $ ui{aScreen=scr & asList .~ list' & asSelectedAccount .~ selacct } | ||||||
| 
 | 
 | ||||||
|             MouseDown{} -> put ui |             MouseDown{} -> return () | ||||||
|             MouseUp{}   -> put ui |             MouseUp{}   -> return () | ||||||
|             AppEvent _  -> put ui |             AppEvent _  -> return () | ||||||
| 
 | 
 | ||||||
|     _ -> dlogUiTraceM "asHandle 2" >> errorWrongScreenType "event handler" |     _ -> dlogUiTraceM "asHandle 2" >> errorWrongScreenType "event handler" | ||||||
| 
 | 
 | ||||||
|  | asEnterRegister :: Day -> AccountName -> UIState -> EventM Name UIState () | ||||||
| asEnterRegister d selacct ui = do | asEnterRegister d selacct ui = do | ||||||
|   rsCenterAndContinue $ |   dlogUiTraceM "asEnterRegister" | ||||||
|   -- flip rsHandle (VtyEvent (EvKey (KChar 'l') [MCtrl])) $ |   let | ||||||
|     screenEnter d regscr ui |  | ||||||
|       where |  | ||||||
|     regscr = rsSetAccount selacct isdepthclipped registerScreen |     regscr = rsSetAccount selacct isdepthclipped registerScreen | ||||||
|  |       where | ||||||
|         isdepthclipped = case getDepth ui of |         isdepthclipped = case getDepth ui of | ||||||
|                           Just d  -> accountNameLevel selacct >= d |                           Just d  -> accountNameLevel selacct >= d | ||||||
|                           Nothing -> False |                           Nothing -> False | ||||||
|  |   let ui' = screenEnter d regscr ui | ||||||
|  |   put' ui' | ||||||
|  |   rsCenterSelection ui' | ||||||
| 
 | 
 | ||||||
| asSetSelectedAccount a s@AccountsScreen{} = s & asSelectedAccount .~ a | asSetSelectedAccount a s@AccountsScreen{} = s & asSelectedAccount .~ a | ||||||
| asSetSelectedAccount _ s = s | asSetSelectedAccount _ s = s | ||||||
|  | |||||||
| @ -166,8 +166,8 @@ runBrickUi uopts@UIOpts{uoCliOpts=copts@CliOpts{inputopts_=_iopts,reportspec_=rs | |||||||
|         appStartEvent   = return () |         appStartEvent   = return () | ||||||
|       , appAttrMap      = const $ fromMaybe defaultTheme $ getTheme =<< uoTheme uopts' |       , appAttrMap      = const $ fromMaybe defaultTheme $ getTheme =<< uoTheme uopts' | ||||||
|       , appChooseCursor = showFirstCursor |       , appChooseCursor = showFirstCursor | ||||||
|       , appHandleEvent  = sHandle (aScreen ui) |       , appHandleEvent  = \ev -> do ui <- get; sHandle (aScreen ui) ev | ||||||
|       , appDraw         = sDraw   (aScreen ui) |       , appDraw         = \ui -> sDraw (aScreen ui) ui | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|   -- print (length (show ui)) >> exitSuccess  -- show any debug output to this point & quit |   -- print (length (show ui)) >> exitSuccess  -- show any debug output to this point & quit | ||||||
|  | |||||||
| @ -425,8 +425,7 @@ rsHandle ev = do | |||||||
| 
 | 
 | ||||||
| isBlankElement mel = ((rsItemDate . snd) <$> mel) == Just "" | isBlankElement mel = ((rsItemDate . snd) <$> mel) == Just "" | ||||||
| 
 | 
 | ||||||
| rsCenterAndContinue ui = do | rsCenterSelection :: UIState -> EventM Name UIState () | ||||||
|   scrollSelectionToMiddle $ rsList $ aScreen ui | rsCenterSelection = scrollSelectionToMiddle . rsList . aScreen | ||||||
|   put ui |  | ||||||
| 
 | 
 | ||||||
| rsListSize = V.length . V.takeWhile ((/="").rsItemDate) . listElements | rsListSize = V.length . V.takeWhile ((/="").rsItemDate) . listElements | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user