@@ -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 ( ) as Toolbox ) ;
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 ;
185191 case Constants . STATE . TOOLBOX :
192+ const toolbox = workspace . getToolbox ( ) as Toolbox ;
186193 if ( toolbox ) {
187194 if ( ! toolbox . getSelectedItem ( ) ) {
188195 const firstItem =
@@ -214,8 +221,6 @@ export class ArrowNavigation {
214221 this . navigation . canCurrentlyNavigate ( workspace ) ,
215222 callback : ( workspace , e , shortcut ) => {
216223 keyboardNavigationController . setIsActive ( true ) ;
217- const flyout = workspace . getFlyout ( ) ;
218- const toolbox = workspace . getToolbox ( ) as Toolbox ;
219224 let isHandled = false ;
220225 switch ( this . navigation . getState ( workspace ) ) {
221226 case Constants . STATE . WORKSPACE :
@@ -234,19 +239,20 @@ export class ArrowNavigation {
234239 return isHandled ;
235240 case Constants . STATE . FLYOUT :
236241 isHandled = this . fieldShortcutHandler ( workspace , shortcut ) ;
237- if ( ! isHandled && flyout ) {
242+ if ( ! isHandled && workspace . targetWorkspace ) {
238243 if (
239244 ! this . navigation . defaultFlyoutCursorIfNeeded (
240- workspace ,
245+ workspace . targetWorkspace ,
241246 'last' ,
242247 )
243248 ) {
244- flyout . getWorkspace ( ) ? .getCursor ( ) ?. prev ( ) ;
249+ workspace . getCursor ( ) ?. prev ( ) ;
245250 }
246251 isHandled = true ;
247252 }
248253 return isHandled ;
249254 case Constants . STATE . TOOLBOX :
255+ const toolbox = workspace . getToolbox ( ) as Toolbox ;
250256 if ( toolbox ) {
251257 // @ts -expect-error private method
252258 isHandled = toolbox . selectPrevious ( ) ;
0 commit comments