Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
59269434
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,发现更多精彩内容 >>
提交
59269434
编写于
7月 10, 2018
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
list: disposeElement
上级
044d192d
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
88 addition
and
9 deletion
+88
-9
src/vs/base/browser/ui/list/list.ts
src/vs/base/browser/ui/list/list.ts
+1
-1
src/vs/base/browser/ui/list/listPaging.ts
src/vs/base/browser/ui/list/listPaging.ts
+4
-0
src/vs/base/browser/ui/list/listWidget.ts
src/vs/base/browser/ui/list/listWidget.ts
+12
-0
src/vs/base/browser/ui/selectBox/selectBoxCustom.ts
src/vs/base/browser/ui/selectBox/selectBoxCustom.ts
+4
-0
src/vs/base/browser/ui/tree/tree.ts
src/vs/base/browser/ui/tree/tree.ts
+6
-6
src/vs/base/browser/ui/tree/treeModel.ts
src/vs/base/browser/ui/tree/treeModel.ts
+2
-2
src/vs/base/test/browser/ui/list/listView.test.ts
src/vs/base/test/browser/ui/list/listView.test.ts
+1
-0
src/vs/editor/contrib/suggest/suggestWidget.ts
src/vs/editor/contrib/suggest/suggestWidget.ts
+3
-0
src/vs/workbench/browser/parts/notifications/notificationsViewer.ts
...kbench/browser/parts/notifications/notificationsViewer.ts
+4
-0
src/vs/workbench/browser/parts/quickinput/quickInputList.ts
src/vs/workbench/browser/parts/quickinput/quickInputList.ts
+4
-0
src/vs/workbench/parts/debug/browser/breakpointsView.ts
src/vs/workbench/parts/debug/browser/breakpointsView.ts
+16
-0
src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
...bench/parts/extensions/electron-browser/extensionsList.ts
+4
-0
src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts
...ts/extensions/electron-browser/runtimeExtensionsEditor.ts
+2
-0
src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts
...nch/parts/files/electron-browser/views/openEditorsView.ts
+8
-0
src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts
.../workbench/parts/preferences/browser/keybindingsEditor.ts
+5
-0
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
+12
-0
未找到文件。
src/vs/base/browser/ui/list/list.ts
浏览文件 @
59269434
...
...
@@ -14,7 +14,7 @@ export interface IRenderer<TElement, TTemplateData> {
templateId
:
string
;
renderTemplate
(
container
:
HTMLElement
):
TTemplateData
;
renderElement
(
element
:
TElement
,
index
:
number
,
templateData
:
TTemplateData
):
void
;
disposeElement
?
(
element
:
TElement
,
index
:
number
,
templateData
:
TTemplateData
):
void
;
disposeElement
(
element
:
TElement
,
index
:
number
,
templateData
:
TTemplateData
):
void
;
disposeTemplate
(
templateData
:
TTemplateData
):
void
;
}
...
...
src/vs/base/browser/ui/list/listPaging.ts
浏览文件 @
59269434
...
...
@@ -50,6 +50,10 @@ class PagedRenderer<TElement, TTemplateData> implements IRenderer<number, ITempl
promise
.
done
(
entry
=>
this
.
renderer
.
renderElement
(
entry
,
index
,
data
.
data
));
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
data
:
ITemplateData
<
TTemplateData
>
):
void
{
data
.
disposable
.
dispose
();
data
.
disposable
=
null
;
...
...
src/vs/base/browser/ui/list/listWidget.ts
浏览文件 @
59269434
...
...
@@ -68,6 +68,10 @@ class TraitRenderer<T> implements IRenderer<T, ITraitTemplateData>
this
.
trait
.
renderIndex
(
index
,
templateData
);
}
disposeElement
():
void
{
// noop
}
splice
(
start
:
number
,
deleteCount
:
number
,
insertCount
:
number
):
void
{
const
rendered
:
IRenderedContainer
[]
=
[];
...
...
@@ -807,6 +811,14 @@ class PipelineRenderer<T> implements IRenderer<T, any> {
}
}
disposeElement
(
element
:
T
,
index
:
number
,
templateData
:
any
[]):
void
{
let
i
=
0
;
for
(
const
renderer
of
this
.
renderers
)
{
renderer
.
disposeElement
(
element
,
index
,
templateData
[
i
++
]);
}
}
disposeTemplate
(
templateData
:
any
[]):
void
{
let
i
=
0
;
...
...
src/vs/base/browser/ui/selectBox/selectBoxCustom.ts
浏览文件 @
59269434
...
...
@@ -67,6 +67,10 @@ class SelectListRenderer implements IRenderer<ISelectOptionItem, ISelectListTemp
}
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
ISelectListTemplateData
):
void
{
templateData
.
disposables
=
dispose
(
templateData
.
disposables
);
}
...
...
src/vs/base/browser/ui/tree/tree.ts
浏览文件 @
59269434
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
'
vs/css!./tree
'
;
import
{
IDisposable
,
dispose
,
Disposable
,
toDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
IListOptions
,
List
,
IIdentityProvider
,
IMultipleSelectionController
}
from
'
vs/base/browser/ui/list/listWidget
'
;
import
{
TreeModel
,
ITreeNode
,
ITreeElement
,
getNodeLocation
}
from
'
vs/base/browser/ui/tree/treeModel
'
;
import
{
IIterator
,
empty
}
from
'
vs/base/common/iterator
'
;
...
...
@@ -60,7 +60,6 @@ class TreeDelegate<T> implements IDelegate<ITreeNode<T>> {
interface
ITreeListTemplateData
<
T
>
{
twistie
:
HTMLElement
;
elementDisposable
:
IDisposable
;
templateData
:
T
;
}
...
...
@@ -92,14 +91,11 @@ class TreeRenderer<T, TTemplateData> implements IRenderer<ITreeNode<T>, ITreeLis
const
contents
=
append
(
el
,
$
(
'
.tl-contents
'
));
const
templateData
=
this
.
renderer
.
renderTemplate
(
contents
);
return
{
twistie
,
elementDisposable
:
Disposable
.
None
,
templateData
};
return
{
twistie
,
templateData
};
}
renderElement
(
node
:
ITreeNode
<
T
>
,
index
:
number
,
templateData
:
ITreeListTemplateData
<
TTemplateData
>
):
void
{
templateData
.
elementDisposable
.
dispose
();
this
.
renderedNodes
.
set
(
node
,
templateData
);
templateData
.
elementDisposable
=
toDisposable
(()
=>
this
.
renderedNodes
.
delete
(
node
));
templateData
.
twistie
.
style
.
width
=
`
${
10
+
node
.
depth
*
10
}
px`
;
renderTwistie
(
node
,
templateData
.
twistie
);
...
...
@@ -107,6 +103,10 @@ class TreeRenderer<T, TTemplateData> implements IRenderer<ITreeNode<T>, ITreeLis
this
.
renderer
.
renderElement
(
node
.
element
,
index
,
templateData
.
templateData
);
}
disposeElement
(
node
:
ITreeNode
<
T
>
):
void
{
this
.
renderedNodes
.
delete
(
node
);
}
disposeTemplate
(
templateData
:
ITreeListTemplateData
<
TTemplateData
>
):
void
{
this
.
renderer
.
disposeTemplate
(
templateData
.
templateData
);
}
...
...
src/vs/base/browser/ui/tree/treeModel.ts
浏览文件 @
59269434
...
...
@@ -165,6 +165,8 @@ export class TreeModel<T> {
node
.
collapsed
=
collapsed
;
if
(
visible
)
{
this
.
_onDidChangeCollapseState
.
fire
(
node
);
let
visibleCountDiff
:
number
;
if
(
collapsed
)
{
...
...
@@ -185,8 +187,6 @@ export class TreeModel<T> {
mutableNode
.
visibleCount
+=
visibleCountDiff
;
mutableNode
=
mutableNode
.
parent
;
}
this
.
_onDidChangeCollapseState
.
fire
(
node
);
}
return
true
;
...
...
src/vs/base/test/browser/ui/list/listView.test.ts
浏览文件 @
59269434
...
...
@@ -25,6 +25,7 @@ suite('ListView', function () {
templateId
:
'
template
'
,
renderTemplate
()
{
templatesCount
++
;
},
renderElement
()
{
},
disposeElement
()
{
},
disposeTemplate
()
{
templatesCount
--
;
}
};
...
...
src/vs/editor/contrib/suggest/suggestWidget.ts
浏览文件 @
59269434
...
...
@@ -173,7 +173,10 @@ class Renderer implements IRenderer<ICompletionItem, ISuggestionTemplateData> {
data
.
readMore
.
onmousedown
=
null
;
data
.
readMore
.
onclick
=
null
;
}
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
ISuggestionTemplateData
):
void
{
...
...
src/vs/workbench/browser/parts/notifications/notificationsViewer.ts
浏览文件 @
59269434
...
...
@@ -278,6 +278,10 @@ export class NotificationRenderer implements IRenderer<INotificationViewItem, IN
data
.
renderer
.
setInput
(
notification
);
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
INotificationTemplateData
):
void
{
templateData
.
toDispose
=
dispose
(
templateData
.
toDispose
);
}
...
...
src/vs/workbench/browser/parts/quickinput/quickInputList.ts
浏览文件 @
59269434
...
...
@@ -127,6 +127,10 @@ class ListElementRenderer implements IRenderer<ListElement, IListElementTemplate
data
.
detail
.
set
(
element
.
item
.
detail
,
detailHighlights
);
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
data
:
IListElementTemplateData
):
void
{
data
.
toDisposeElement
=
dispose
(
data
.
toDisposeElement
);
data
.
toDisposeTemplate
=
dispose
(
data
.
toDisposeTemplate
);
...
...
src/vs/workbench/parts/debug/browser/breakpointsView.ts
浏览文件 @
59269434
...
...
@@ -338,6 +338,10 @@ class BreakpointsRenderer implements IRenderer<IBreakpoint, IBreakpointTemplateD
}
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
IBreakpointTemplateData
):
void
{
dispose
(
templateData
.
toDispose
);
}
...
...
@@ -383,6 +387,10 @@ class ExceptionBreakpointsRenderer implements IRenderer<IExceptionBreakpoint, IB
data
.
checkbox
.
checked
=
exceptionBreakpoint
.
enabled
;
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
IBaseBreakpointTemplateData
):
void
{
dispose
(
templateData
.
toDispose
);
}
...
...
@@ -440,6 +448,10 @@ class FunctionBreakpointsRenderer implements IRenderer<FunctionBreakpoint, IBase
}
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
IBaseBreakpointWithIconTemplateData
):
void
{
dispose
(
templateData
.
toDispose
);
}
...
...
@@ -511,6 +523,10 @@ class FunctionBreakpointInputRenderer implements IRenderer<IFunctionBreakpoint,
data
.
inputBox
.
select
();
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
IInputTemplateData
):
void
{
dispose
(
templateData
.
toDispose
);
}
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
浏览文件 @
59269434
...
...
@@ -194,6 +194,10 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
});
}
disposeElement
():
void
{
// noop
}
private
updateRecommendationStatus
(
extension
:
IExtension
,
data
:
ITemplateData
)
{
const
extRecommendations
=
this
.
extensionTipsService
.
getAllRecommendationsWithReason
();
let
ariaLabel
=
extension
.
displayName
+
'
.
'
;
...
...
src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts
浏览文件 @
59269434
...
...
@@ -369,6 +369,8 @@ export class RuntimeExtensionsEditor extends BaseEditor {
}
},
disposeElement
:
()
=>
null
,
disposeTemplate
:
(
data
:
IRuntimeExtensionTemplateData
):
void
=>
{
data
.
disposables
=
dispose
(
data
.
disposables
);
}
...
...
src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts
浏览文件 @
59269434
...
...
@@ -594,6 +594,10 @@ class EditorGroupRenderer implements IRenderer<IEditorGroup, IEditorGroupTemplat
templateData
.
actionBar
.
context
=
{
groupId
:
editorGroup
.
id
};
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
IEditorGroupTemplateData
):
void
{
templateData
.
actionBar
.
dispose
();
dispose
(
templateData
.
toDispose
);
...
...
@@ -690,6 +694,10 @@ class OpenEditorRenderer implements IRenderer<OpenEditor, IOpenEditorTemplateDat
});
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
IOpenEditorTemplateData
):
void
{
templateData
.
actionBar
.
dispose
();
templateData
.
root
.
dispose
();
...
...
src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts
浏览文件 @
59269434
...
...
@@ -667,6 +667,9 @@ class KeybindingHeaderRenderer implements IRenderer<IListEntry, any> {
renderElement
(
entry
:
IListEntry
,
index
:
number
,
template
:
any
):
void
{
}
disposeElement
():
void
{
}
disposeTemplate
(
template
:
any
):
void
{
}
}
...
...
@@ -704,6 +707,8 @@ class KeybindingItemRenderer implements IRenderer<IKeybindingItemEntry, Keybindi
template
.
when
.
render
(
keybindingEntry
);
}
disposeElement
():
void
{
}
disposeTemplate
(
template
:
KeybindingItemTemplate
):
void
{
template
.
actions
.
dispose
();
}
...
...
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
浏览文件 @
59269434
...
...
@@ -190,6 +190,10 @@ class ProviderRenderer implements IRenderer<ISCMRepository, RepositoryTemplateDa
templateData
.
disposable
=
combinedDisposable
(
disposables
);
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
templateData
:
RepositoryTemplateData
):
void
{
templateData
.
disposable
.
dispose
();
templateData
.
templateDisposable
.
dispose
();
...
...
@@ -437,6 +441,10 @@ class ResourceGroupRenderer implements IRenderer<ISCMResourceGroup, ResourceGrou
template
.
elementDisposable
=
combinedDisposable
(
disposables
);
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
template
:
ResourceGroupTemplate
):
void
{
template
.
dispose
();
}
...
...
@@ -557,6 +565,10 @@ class ResourceRenderer implements IRenderer<ISCMResource, ResourceTemplate> {
template
.
elementDisposable
=
combinedDisposable
(
disposables
);
}
disposeElement
():
void
{
// noop
}
disposeTemplate
(
template
:
ResourceTemplate
):
void
{
template
.
elementDisposable
.
dispose
();
template
.
dispose
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录