Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
07e9f2e6
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
07e9f2e6
编写于
2月 02, 2018
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#28634 Use ContextAwareMenuActionItem
上级
00a339eb
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
21 deletion
+22
-21
src/vs/platform/actions/browser/menuItemActionItem.ts
src/vs/platform/actions/browser/menuItemActionItem.ts
+14
-0
src/vs/workbench/browser/parts/views/treeView.ts
src/vs/workbench/browser/parts/views/treeView.ts
+5
-2
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
+3
-19
未找到文件。
src/vs/platform/actions/browser/menuItemActionItem.ts
浏览文件 @
07e9f2e6
...
...
@@ -237,3 +237,17 @@ export class MenuItemActionItem extends ActionItem {
super
.
dispose
();
}
}
// Need to subclass MenuItemActionItem in order to respect
// the action context coming from any action bar, without breaking
// existing users
export
class
ContextAwareMenuItemActionItem
extends
MenuItemActionItem
{
onClick
(
event
:
MouseEvent
):
void
{
event
.
preventDefault
();
event
.
stopPropagation
();
this
.
actionRunner
.
run
(
this
.
_commandAction
,
this
.
_context
)
.
done
(
undefined
,
err
=>
this
.
_messageService
.
show
(
Severity
.
Error
,
err
));
}
}
\ No newline at end of file
src/vs/workbench/browser/parts/views/treeView.ts
浏览文件 @
07e9f2e6
...
...
@@ -17,7 +17,7 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView
import
{
ClickBehavior
}
from
'
vs/base/parts/tree/browser/treeDefaults
'
;
import
{
IMenuService
,
MenuId
,
MenuItemAction
}
from
'
vs/platform/actions/common/actions
'
;
import
{
IThemeService
,
LIGHT
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
createActionItem
,
fillInActions
}
from
'
vs/platform/actions/browser/menuItemActionItem
'
;
import
{
fillInActions
,
ContextAwareMenuItemActionItem
}
from
'
vs/platform/actions/browser/menuItemActionItem
'
;
import
{
IProgressService
}
from
'
vs/platform/progress/common/progress
'
;
import
{
ITree
,
IDataSource
,
IRenderer
,
ContextMenuEvent
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
...
...
@@ -112,7 +112,10 @@ export class TreeView extends TreeViewsViewletPanel {
}
getActionItem
(
action
:
IAction
):
IActionItem
{
return
createActionItem
(
action
,
this
.
keybindingService
,
this
.
messageService
,
this
.
contextMenuService
);
if
(
!
(
action
instanceof
MenuItemAction
))
{
return
undefined
;
}
return
new
ContextAwareMenuItemActionItem
(
action
,
this
.
keybindingService
,
this
.
messageService
,
this
.
contextMenuService
);
}
private
setInput
():
TPromise
<
void
>
{
...
...
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
浏览文件 @
07e9f2e6
...
...
@@ -33,13 +33,12 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import
{
IMessageService
}
from
'
vs/platform/message/common/message
'
;
import
{
MenuItemAction
,
IMenuService
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
IAction
,
Action
,
IActionItem
,
ActionRunner
}
from
'
vs/base/common/actions
'
;
import
{
MenuItemActionItem
,
fillInActions
}
from
'
vs/platform/actions/browser/menuItemActionItem
'
;
import
{
fillInActions
,
ContextAwareMenuItemActionItem
}
from
'
vs/platform/actions/browser/menuItemActionItem
'
;
import
{
SCMMenus
}
from
'
./scmMenus
'
;
import
{
ActionBar
,
IActionItemProvider
,
Separator
,
ActionItem
}
from
'
vs/base/browser/ui/actionbar/actionbar
'
;
import
{
IThemeService
,
LIGHT
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
isSCMResource
}
from
'
./scmUtil
'
;
import
{
attachBadgeStyler
,
attachInputBoxStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
Severity
from
'
vs/base/common/severity
'
;
import
{
IExtensionService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IWorkspaceContextService
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
IStorageService
}
from
'
vs/platform/storage/common/storage
'
;
...
...
@@ -59,21 +58,6 @@ import { WorkbenchList } from 'vs/platform/list/browser/listService';
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
ThrottledDelayer
}
from
'
vs/base/common/async
'
;
// TODO@Joao
// Need to subclass MenuItemActionItem in order to respect
// the action context coming from any action bar, without breaking
// existing users
class
SCMMenuItemActionItem
extends
MenuItemActionItem
{
onClick
(
event
:
MouseEvent
):
void
{
event
.
preventDefault
();
event
.
stopPropagation
();
this
.
actionRunner
.
run
(
this
.
_commandAction
,
this
.
_context
)
.
done
(
undefined
,
err
=>
this
.
_messageService
.
show
(
Severity
.
Error
,
err
));
}
}
export
interface
ISpliceEvent
<
T
>
{
index
:
number
;
deleteCount
:
number
;
...
...
@@ -898,7 +882,7 @@ export class RepositoryPanel extends ViewletPanel {
return
undefined
;
}
return
new
SCM
MenuItemActionItem
(
action
,
this
.
keybindingService
,
this
.
messageService
,
this
.
contextMenuService
);
return
new
ContextAware
MenuItemActionItem
(
action
,
this
.
keybindingService
,
this
.
messageService
,
this
.
contextMenuService
);
}
getActionsContext
():
any
{
...
...
@@ -1169,7 +1153,7 @@ export class SCMViewlet extends PanelViewlet implements IViewModel {
return
undefined
;
}
return
new
SCM
MenuItemActionItem
(
action
,
this
.
keybindingService
,
this
.
messageService
,
this
.
contextMenuService
);
return
new
ContextAware
MenuItemActionItem
(
action
,
this
.
keybindingService
,
this
.
messageService
,
this
.
contextMenuService
);
}
layout
(
dimension
:
Dimension
):
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录