File tree 4 files changed +18
-0
lines changed
4 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -106,6 +106,8 @@ export class MenuBarController
106
106
this . automation [ key ] = value ;
107
107
}
108
108
} ) ;
109
+
110
+ this . subscribe ( MenuBarEvent . onChangeMode , this . updateMenuBarData ) ;
109
111
}
110
112
111
113
public updateFocusinEle = ( ele : HTMLElement | null ) => {
@@ -209,6 +211,9 @@ export class MenuBarController
209
211
210
212
public updateMenuBarMode = ( mode : keyof typeof MenuBarMode ) => {
211
213
this . layoutService . setMenuBarMode ( mode ) ;
214
+ } ;
215
+
216
+ public updateMenuBarData = ( mode : keyof typeof MenuBarMode ) => {
212
217
const { builtInMenuBarData } = this . builtinService . getModules ( ) ;
213
218
const menuBarData = this . getMenuBarDataByMode ( mode , builtInMenuBarData ) ;
214
219
this . menuBarService . setMenus ( menuBarData ) ;
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ export enum MenuBarEvent {
11
11
* Selected an activity bar
12
12
*/
13
13
onSelect = 'menuBar.onSelect' ,
14
+ onChangeMode = 'menuBar.onChangeMode' ,
14
15
}
15
16
16
17
export interface IMenuBarItem {
Original file line number Diff line number Diff line change 7
7
LayoutModel ,
8
8
MenuBarMode ,
9
9
} from 'mo/model/workbench/layout' ;
10
+ import { MenuBarEvent } from 'mo/model/workbench/menuBar' ;
10
11
11
12
export interface ILayoutService extends Component < ILayout > {
12
13
/**
@@ -155,6 +156,7 @@ export class LayoutService
155
156
const { mode : preMode } = menuBar ;
156
157
if ( preMode !== mode ) {
157
158
this . setState ( { menuBar : { ...menuBar , mode, hidden : false } } ) ;
159
+ this . emit ( MenuBarEvent . onChangeMode , mode ) ;
158
160
}
159
161
}
160
162
Original file line number Diff line number Diff line change @@ -316,6 +316,13 @@ PARTITIONED BY (ds string) lifecycle 1000;
316
316
) ;
317
317
} ;
318
318
319
+ const toggleMenuBarMode = ( ) => {
320
+ const currentMode = molecule . layout . getMenuBarMode ( ) ;
321
+ const newMode =
322
+ currentMode === 'horizontal' ? 'vertical' : 'horizontal' ;
323
+ molecule . layout . setMenuBarMode ( newMode ) ;
324
+ } ;
325
+
319
326
return (
320
327
< Scrollable isShowShadow >
321
328
< div >
@@ -361,6 +368,9 @@ PARTITIONED BY (ds string) lifecycle 1000;
361
368
< Button onClick = { addSettingsItem } >
362
369
Append Settings Item
363
370
</ Button >
371
+ < Button onClick = { toggleMenuBarMode } >
372
+ Toggle MenuBar mode
373
+ </ Button >
364
374
</ div >
365
375
< div style = { { margin : '50px 20px' } } >
366
376
< h2 > Exploer:</ h2 >
You can’t perform that action at this time.
0 commit comments