Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
ecce88d7
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ecce88d7
编写于
3月 26, 2018
作者:
C
Christof Marti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
onDidSelectItem (#45589)
上级
1c0aa2e8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
26 deletion
+38
-26
src/vs/vscode.d.ts
src/vs/vscode.d.ts
+0
-1
src/vs/workbench/api/electron-browser/mainThreadQuickOpen.ts
src/vs/workbench/api/electron-browser/mainThreadQuickOpen.ts
+23
-23
src/vs/workbench/browser/parts/quickinput/quickInput.ts
src/vs/workbench/browser/parts/quickinput/quickInput.ts
+10
-1
src/vs/workbench/browser/parts/quickinput/quickInputCheckboxList.ts
...kbench/browser/parts/quickinput/quickInputCheckboxList.ts
+5
-1
未找到文件。
src/vs/vscode.d.ts
浏览文件 @
ecce88d7
...
...
@@ -1569,7 +1569,6 @@ declare module 'vscode' {
/**
* An optional function that is invoked whenever an item is selected.
* (Only honored when the picker does not allow multiple selections.)
*/
onDidSelectItem
?(
item
:
QuickPickItem
|
string
):
any
;
}
...
...
src/vs/workbench/api/electron-browser/mainThreadQuickOpen.ts
浏览文件 @
ecce88d7
...
...
@@ -54,29 +54,29 @@ export class MainThreadQuickOpen implements MainThreadQuickOpenShape {
};
});
return
asWinJsPromise
<
number
|
number
[]
>
(
token
=>
{
if
(
options
.
canSelectMany
)
{
return
this
.
_quickInputService
.
pick
(
this
.
_contents
,
options
,
token
)
.
then
(
items
=>
{
if
(
items
)
{
return
items
.
map
(
item
=>
item
.
handle
)
;
}
return
undefined
;
}
);
}
else
{
return
this
.
_quickOpenService
.
pick
(
this
.
_contents
,
options
,
token
)
.
then
(
item
=>
{
if
(
item
)
{
return
item
.
handle
;
}
return
undefined
;
})
;
}
}).
then
(
undefined
,
undefined
,
progress
=>
{
if
(
progress
)
{
this
.
_proxy
.
$onItemSelected
((
<
MyQuickPickItems
>
progress
).
handle
);
}
}
);
if
(
options
.
canSelectMany
)
{
return
asWinJsPromise
(
token
=>
this
.
_quickInputService
.
pick
(
this
.
_contents
,
options
,
token
)).
then
(
items
=>
{
if
(
items
)
{
return
items
.
map
(
item
=>
item
.
handle
);
}
return
undefined
;
},
undefined
,
progress
=>
{
if
(
progress
)
{
this
.
_proxy
.
$onItemSelected
((
<
MyQuickPickItems
>
progress
).
handle
);
}
});
}
else
{
return
asWinJsPromise
(
token
=>
this
.
_quickOpenService
.
pick
(
this
.
_contents
,
options
,
token
)).
then
(
item
=>
{
if
(
item
)
{
return
item
.
handle
;
}
return
undefined
;
}
,
undefined
,
progress
=>
{
if
(
progress
)
{
this
.
_proxy
.
$onItemSelected
((
<
MyQuickPickItems
>
progress
).
handle
);
}
}
);
}
}
$setItems
(
items
:
MyQuickPickItems
[]):
TPromise
<
any
>
{
...
...
src/vs/workbench/browser/parts/quickinput/quickInput.ts
浏览文件 @
ecce88d7
...
...
@@ -50,6 +50,7 @@ export class QuickInputService extends Component implements IQuickInputService {
private
ignoreFocusLost
=
false
;
private
resolve
:
(
value
?:
IPickOpenEntry
[]
|
Thenable
<
IPickOpenEntry
[]
>
)
=>
void
;
private
progress
:
(
value
:
IPickOpenEntry
)
=>
void
;
constructor
(
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
...
...
@@ -126,6 +127,11 @@ export class QuickInputService extends Component implements IQuickInputService {
this
.
inputBox
.
setFocus
();
},
0
);
}));
this
.
toUnbind
.
push
(
this
.
checkboxList
.
onFocusChange
(
e
=>
{
if
(
this
.
progress
&&
e
.
length
)
{
this
.
progress
(
e
[
0
]);
}
}));
this
.
toUnbind
.
push
(
dom
.
addDisposableListener
(
this
.
container
,
'
focusout
'
,
(
e
:
FocusEvent
)
=>
{
for
(
let
element
=
<
Element
>
e
.
relatedTarget
;
element
;
element
=
element
.
parentElement
)
{
...
...
@@ -187,7 +193,10 @@ export class QuickInputService extends Component implements IQuickInputService {
this
.
updateLayout
();
this
.
inputBox
.
setFocus
();
const
result
=
new
TPromise
<
T
[]
>
(
resolve
=>
this
.
resolve
=
resolve
);
const
result
=
new
TPromise
<
T
[]
>
((
resolve
,
reject
,
progress
)
=>
{
this
.
resolve
=
resolve
;
this
.
progress
=
progress
;
});
const
d
=
token
.
onCancellationRequested
(()
=>
this
.
close
());
result
.
then
(()
=>
d
.
dispose
(),
()
=>
d
.
dispose
());
...
...
src/vs/workbench/browser/parts/quickinput/quickInputCheckboxList.ts
浏览文件 @
ecce88d7
...
...
@@ -15,7 +15,7 @@ import { IPickOpenEntry } from 'vs/platform/quickOpen/common/quickOpen';
import
{
IMatch
}
from
'
vs/base/common/filters
'
;
import
{
matchesFuzzyOcticonAware
,
parseOcticons
}
from
'
vs/base/common/octicon
'
;
import
{
compareAnything
}
from
'
vs/base/common/comparers
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
Emitter
,
Event
,
mapEvent
}
from
'
vs/base/common/event
'
;
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
StandardKeyboardEvent
}
from
'
vs/base/browser/keyboardEvent
'
;
...
...
@@ -181,6 +181,10 @@ export class QuickInputCheckboxList {
}));
}
get
onFocusChange
()
{
return
mapEvent
(
this
.
list
.
onFocusChange
,
e
=>
e
.
elements
.
map
(
e
=>
e
.
item
));
}
getAllVisibleSelected
()
{
return
!
this
.
elements
.
some
(
element
=>
!
element
.
hidden
&&
!
element
.
selected
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录