提交 65582ba3 编写于 作者: S Sandeep Somavarapu

Fix #114326

上级 0442b734
...@@ -590,28 +590,33 @@ export class ViewPaneContainer extends Component implements IViewPaneContainer { ...@@ -590,28 +590,33 @@ export class ViewPaneContainer extends Component implements IViewPaneContainer {
} }
getSecondaryActions2(): IAction[] { getSecondaryActions2(): IAction[] {
const viewPaneActions = this.isViewMergedWithContainer() ? this.paneItems[0].pane.getSecondaryActions() : [];
let menuActions = this.menuActions.getSecondaryActions(); let menuActions = this.menuActions.getSecondaryActions();
const isViewsSubMenuAction = (action: IAction) => action instanceof SubmenuItemAction && action.item.submenu === ViewsSubMenu;
const index = menuActions.findIndex(a => isViewsSubMenuAction(a)); const viewsSubmenuActionIndex = menuActions.findIndex(action => action instanceof SubmenuItemAction && action.item.submenu === ViewsSubMenu);
const viewPaneContainerActions = this.isViewMergedWithContainer() ? this.paneItems[0].pane.getSecondaryActions() : []; if (viewsSubmenuActionIndex !== -1) {
if (index !== -1) { const viewsSubmenuAction = <SubmenuItemAction>menuActions[viewsSubmenuActionIndex];
if (index !== 0) { if (viewsSubmenuAction.actions.some(({ enabled }) => enabled)) {
menuActions = [menuActions[index], ...menuActions.slice(0, index), ...menuActions.slice(index + 1)]; if (menuActions.length === 1 && viewPaneActions.length === 0) {
} menuActions = viewsSubmenuAction.actions.slice();
if (menuActions.length === 1 && viewPaneContainerActions.length === 0) { } else if (viewsSubmenuActionIndex !== 0) {
menuActions = (<SubmenuItemAction>menuActions[0]).actions.slice(); menuActions = [viewsSubmenuAction, ...menuActions.slice(0, viewsSubmenuActionIndex), ...menuActions.slice(viewsSubmenuActionIndex + 1)];
}
} else {
// Remove views submenu if none of the actions are enabled
menuActions.splice(viewsSubmenuActionIndex, 1);
} }
} }
if (menuActions.length && viewPaneContainerActions.length) { if (menuActions.length && viewPaneActions.length) {
return [ return [
...menuActions, ...menuActions,
new Separator(), new Separator(),
...viewPaneContainerActions ...viewPaneActions
]; ];
} }
return menuActions.length ? menuActions : viewPaneContainerActions; return menuActions.length ? menuActions : viewPaneActions;
} }
getSecondaryActions(): IAction[] { getSecondaryActions(): IAction[] {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册