Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5b1500ab
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,发现更多精彩内容 >>
提交
5b1500ab
编写于
2月 21, 2019
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tree view state contains scrollTop
fixes #67719
上级
3d327ce8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
13 deletion
+16
-13
src/vs/base/browser/ui/tree/asyncDataTree.ts
src/vs/base/browser/ui/tree/asyncDataTree.ts
+16
-13
未找到文件。
src/vs/base/browser/ui/tree/asyncDataTree.ts
浏览文件 @
5b1500ab
...
...
@@ -230,7 +230,7 @@ function asObjectTreeOptions<TInput, T, TFilterData>(options?: IAsyncDataTreeOpt
function
asTreeElement
<
TInput
,
T
>
(
node
:
IAsyncDataTreeNode
<
TInput
,
T
>
,
viewStateContext
?:
IAsyncDataTreeViewStateContext
<
TInput
,
T
>
):
ITreeElement
<
IAsyncDataTreeNode
<
TInput
,
T
>>
{
let
collapsed
:
boolean
|
undefined
;
if
(
viewStateContext
&&
node
.
id
)
{
if
(
viewStateContext
&&
viewStateContext
.
viewState
.
expanded
&&
node
.
id
)
{
collapsed
=
viewStateContext
.
viewState
.
expanded
.
indexOf
(
node
.
id
)
===
-
1
;
}
...
...
@@ -251,9 +251,10 @@ export interface IAsyncDataTreeOptions<T, TFilterData = void> extends IAsyncData
}
export
interface
IAsyncDataTreeViewState
{
readonly
focus
:
string
[];
readonly
selection
:
string
[];
readonly
expanded
:
string
[];
readonly
focus
?:
string
[];
readonly
selection
?:
string
[];
readonly
expanded
?:
string
[];
readonly
scrollTop
?:
number
;
}
interface
IAsyncDataTreeViewStateContext
<
TInput
,
T
>
{
...
...
@@ -403,6 +404,10 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
this
.
tree
.
setFocus
(
viewStateContext
.
focus
);
this
.
tree
.
setSelection
(
viewStateContext
.
selection
);
}
if
(
viewState
&&
typeof
viewState
.
scrollTop
===
'
number
'
)
{
this
.
scrollTop
=
viewState
.
scrollTop
;
}
}
async
updateChildren
(
element
:
TInput
|
T
=
this
.
root
.
element
,
recursive
=
true
,
viewStateContext
?:
IAsyncDataTreeViewStateContext
<
TInput
,
T
>
):
Promise
<
void
>
{
...
...
@@ -648,7 +653,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
return
true
;
}
if
(
!
viewStateContext
||
!
child
.
id
)
{
if
(
!
viewStateContext
||
!
viewStateContext
.
viewState
.
expanded
||
!
child
.
id
)
{
return
false
;
}
...
...
@@ -780,14 +785,12 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
slow
:
false
};
if
(
viewStateContext
)
{
if
(
viewStateContext
.
viewState
.
focus
.
indexOf
(
id
)
>
-
1
)
{
viewStateContext
.
focus
.
push
(
childAsyncDataTreeNode
);
}
if
(
viewStateContext
&&
viewStateContext
.
viewState
.
focus
&&
viewStateContext
.
viewState
.
focus
.
indexOf
(
id
)
>
-
1
)
{
viewStateContext
.
focus
.
push
(
childAsyncDataTreeNode
);
}
if
(
viewStateContext
.
viewState
.
selection
.
indexOf
(
id
)
>
-
1
)
{
viewStateContext
.
selection
.
push
(
childAsyncDataTreeNode
);
}
if
(
viewStateContext
&&
viewStateContext
.
viewState
.
selection
&&
viewStateContext
.
viewState
.
selection
.
indexOf
(
id
)
>
-
1
)
{
viewStateContext
.
selection
.
push
(
childAsyncDataTreeNode
);
}
return
childAsyncDataTreeNode
;
...
...
@@ -860,7 +863,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
queue
.
push
(...
node
.
children
);
}
return
{
focus
,
selection
,
expanded
};
return
{
focus
,
selection
,
expanded
,
scrollTop
:
this
.
scrollTop
};
}
dispose
():
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录