@@ -59,7 +59,9 @@ export class ArrowNavigation {
5959 shortcut : ShortcutRegistry . KeyboardShortcut ,
6060 ) : boolean => {
6161 const toolbox = workspace . getToolbox ( ) as Toolbox ;
62- const flyout = workspace . getFlyout ( ) ;
62+ const flyout = workspace . isFlyout
63+ ? workspace . targetWorkspace ?. getFlyout ( )
64+ : workspace . getFlyout ( ) ;
6365 let isHandled = false ;
6466 switch ( this . navigation . getState ( workspace ) ) {
6567 case Constants . STATE . WORKSPACE :
@@ -91,7 +93,9 @@ export class ArrowNavigation {
9193 e : Event ,
9294 shortcut : ShortcutRegistry . KeyboardShortcut ,
9395 ) : boolean => {
94- const toolbox = workspace . getToolbox ( ) as Toolbox ;
96+ const toolbox = workspace . isFlyout
97+ ? workspace . targetWorkspace ?. getToolbox ( )
98+ : workspace . getToolbox ( ) ;
9599 let isHandled = false ;
96100 switch ( this . navigation . getState ( workspace ) ) {
97101 case Constants . STATE . WORKSPACE :
@@ -156,8 +160,6 @@ export class ArrowNavigation {
156160 this . navigation . canCurrentlyNavigate ( workspace ) ,
157161 callback : ( workspace , e , shortcut ) => {
158162 keyboardNavigationController . setIsActive ( true ) ;
159- const toolbox = workspace . getToolbox ( ) as Toolbox ;
160- const flyout = workspace . getFlyout ( ) ;
161163 let isHandled = false ;
162164 switch ( this . navigation . getState ( workspace ) ) {
163165 case Constants . STATE . WORKSPACE :
@@ -175,14 +177,19 @@ export class ArrowNavigation {
175177 return isHandled ;
176178 case Constants . STATE . FLYOUT :
177179 isHandled = this . fieldShortcutHandler ( workspace , shortcut ) ;
178- if ( ! isHandled && flyout ) {
179- if ( ! this . navigation . defaultFlyoutCursorIfNeeded ( workspace ) ) {
180- flyout . getWorkspace ( ) ?. getCursor ( ) ?. next ( ) ;
180+ if ( ! isHandled && workspace . targetWorkspace ) {
181+ if (
182+ ! this . navigation . defaultFlyoutCursorIfNeeded (
183+ workspace . targetWorkspace ,
184+ )
185+ ) {
186+ workspace . getCursor ( ) ?. next ( ) ;
181187 }
182188 isHandled = true ;
183189 }
184190 return isHandled ;
185- case Constants . STATE . TOOLBOX :
191+ case Constants . STATE . TOOLBOX : {
192+ const toolbox = workspace . getToolbox ( ) as Toolbox ;
186193 if ( toolbox ) {
187194 if ( ! toolbox . getSelectedItem ( ) ) {
188195 const firstItem =
@@ -201,6 +208,7 @@ export class ArrowNavigation {
201208 }
202209 }
203210 return isHandled ;
211+ }
204212 default :
205213 return false ;
206214 }
@@ -214,8 +222,6 @@ export class ArrowNavigation {
214222 this . navigation . canCurrentlyNavigate ( workspace ) ,
215223 callback : ( workspace , e , shortcut ) => {
216224 keyboardNavigationController . setIsActive ( true ) ;
217- const flyout = workspace . getFlyout ( ) ;
218- const toolbox = workspace . getToolbox ( ) as Toolbox ;
219225 let isHandled = false ;
220226 switch ( this . navigation . getState ( workspace ) ) {
221227 case Constants . STATE . WORKSPACE :
@@ -234,19 +240,20 @@ export class ArrowNavigation {
234240 return isHandled ;
235241 case Constants . STATE . FLYOUT :
236242 isHandled = this . fieldShortcutHandler ( workspace , shortcut ) ;
237- if ( ! isHandled && flyout ) {
243+ if ( ! isHandled && workspace . targetWorkspace ) {
238244 if (
239245 ! this . navigation . defaultFlyoutCursorIfNeeded (
240- workspace ,
246+ workspace . targetWorkspace ,
241247 'last' ,
242248 )
243249 ) {
244- flyout . getWorkspace ( ) ? .getCursor ( ) ?. prev ( ) ;
250+ workspace . getCursor ( ) ?. prev ( ) ;
245251 }
246252 isHandled = true ;
247253 }
248254 return isHandled ;
249- case Constants . STATE . TOOLBOX :
255+ case Constants . STATE . TOOLBOX : {
256+ const toolbox = workspace . getToolbox ( ) as Toolbox ;
250257 if ( toolbox ) {
251258 // @ts -expect-error private method
252259 isHandled = toolbox . selectPrevious ( ) ;
@@ -256,6 +263,7 @@ export class ArrowNavigation {
256263 }
257264 }
258265 return isHandled ;
266+ }
259267 default :
260268 return false ;
261269 }
0 commit comments