Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
0abbd7e4
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,发现更多精彩内容 >>
提交
0abbd7e4
编写于
6月 14, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Settings editor - implement scroll on right based on left
上级
efef7903
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
413 addition
and
412 deletion
+413
-412
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
...vs/workbench/parts/preferences/browser/settingsEditor2.ts
+13
-85
src/vs/workbench/parts/preferences/browser/settingsLayout.ts
src/vs/workbench/parts/preferences/browser/settingsLayout.ts
+174
-174
src/vs/workbench/parts/preferences/browser/settingsTree.ts
src/vs/workbench/parts/preferences/browser/settingsTree.ts
+189
-137
src/vs/workbench/parts/preferences/browser/tocTree.ts
src/vs/workbench/parts/preferences/browser/tocTree.ts
+37
-16
未找到文件。
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
浏览文件 @
0abbd7e4
...
...
@@ -11,7 +11,6 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import
{
Color
}
from
'
vs/base/common/color
'
;
import
{
getErrorMessage
,
isPromiseCanceledError
}
from
'
vs/base/common/errors
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
escapeRegExpCharacters
}
from
'
vs/base/common/strings
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
ITree
,
ITreeConfiguration
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
DefaultTreestyler
}
from
'
vs/base/parts/tree/browser/treeDefaults
'
;
...
...
@@ -31,10 +30,10 @@ import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
import
{
EditorOptions
,
IEditor
}
from
'
vs/workbench/common/editor
'
;
import
{
SearchWidget
,
SettingsTarget
,
SettingsTargetsWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
tocData
}
from
'
vs/workbench/parts/preferences/browser/settingsLayout
'
;
import
{
ISettingsEditorViewState
,
SearchResultIdx
,
SearchResultModel
,
SettingsAccessibilityProvider
,
SettingsDataSource
,
SettingsRenderer
,
SettingsTreeController
,
SettingsTree
Filter
,
TreeElement
,
isTOCLeaf
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
import
{
TOCDataSource
,
TOCRenderer
}
from
'
vs/workbench/parts/preferences/browser/tocTree
'
;
import
{
ISettingsEditorViewState
,
SearchResultIdx
,
SearchResultModel
,
SettingsAccessibilityProvider
,
SettingsDataSource
,
SettingsRenderer
,
SettingsTreeController
,
SettingsTree
Element
,
SettingsTreeFilter
,
SettingsTreeModel
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
import
{
getTOCElement
,
TOCDataSource
,
TOCRenderer
}
from
'
vs/workbench/parts/preferences/browser/tocTree
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
IPreferencesSearchService
,
ISearchProvider
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISetting
,
ISetting
sEditorModel
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISettingsEditorModel
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
import
{
DefaultSettingsEditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
...
...
@@ -56,10 +55,10 @@ export class SettingsEditor2 extends BaseEditor {
private
settingsTreeContainer
:
HTMLElement
;
private
settingsTree
:
WorkbenchTree
;
private
treeDataSource
:
SettingsDataSource
;
private
settingsTreeModel
:
SettingsTreeModel
;
private
tocTreeContainer
:
HTMLElement
;
private
tocTree
:
WorkbenchTree
;
private
resolvedTocData
:
IResolvedTOCEntry
;
private
delayedFilterLogging
:
Delayer
<
void
>
;
private
localSearchDelayer
:
Delayer
<
void
>
;
...
...
@@ -69,7 +68,7 @@ export class SettingsEditor2 extends BaseEditor {
private
settingUpdateDelayer
:
Delayer
<
void
>
;
private
pendingSettingUpdate
:
{
key
:
string
,
value
:
any
};
private
selectedElement
:
TreeElement
;
private
selectedElement
:
Settings
TreeElement
;
private
viewState
:
ISettingsEditorViewState
;
private
searchResultModel
:
SearchResultModel
;
...
...
@@ -240,7 +239,8 @@ export class SettingsEditor2 extends BaseEditor {
});
this
.
_register
(
this
.
tocTree
.
onDidChangeSelection
(
e
=>
{
this
.
settingsTree
.
reveal
(
e
.
selection
[
0
],
.
1
);
const
element
=
this
.
settingsTreeModel
.
getElementById
(
e
.
selection
[
0
]
&&
e
.
selection
[
0
].
id
);
this
.
settingsTree
.
reveal
(
element
,
0
);
}));
}
...
...
@@ -445,12 +445,12 @@ export class SettingsEditor2 extends BaseEditor {
this
.
defaultSettingsEditorModel
=
model
;
// if (!this.settingsTree.getInput()) {
this
.
resolvedTocData
=
resolveSettingsTree
(
tocData
,
this
.
defaultSettingsEditorModel
);
this
.
tocTree
.
setInput
(
this
.
resolvedTocData
);
this
.
settingsTree
.
setInput
(
this
.
resolvedTocData
);
this
.
tocTree
.
setInput
(
getTOCElement
(
tocData
));
this
.
expandAll
(
this
.
settingsTree
);
this
.
expandAll
(
this
.
tocTree
);
this
.
settingsTreeModel
=
this
.
instantiationService
.
createInstance
(
SettingsTreeModel
,
this
.
viewState
,
tocData
,
this
.
defaultSettingsEditorModel
.
settingsGroups
.
slice
(
1
));
this
.
settingsTree
.
setInput
(
this
.
settingsTreeModel
.
root
);
this
.
expandAll
(
this
.
settingsTree
);
this
.
expandAll
(
this
.
tocTree
);
// }
});
}
...
...
@@ -505,7 +505,7 @@ export class SettingsEditor2 extends BaseEditor {
}
this
.
searchResultModel
=
null
;
this
.
settingsTree
.
setInput
(
this
.
resolvedTocData
);
this
.
settingsTree
.
setInput
(
this
.
settingsTreeModel
.
root
);
this
.
expandAll
(
this
.
settingsTree
);
this
.
expandAll
(
this
.
tocTree
);
...
...
@@ -634,75 +634,3 @@ export class SettingsEditor2 extends BaseEditor {
this
.
tocTree
.
layout
(
listHeight
,
200
);
}
}
export
interface
ITOCEntry
<
T
>
{
id
:
string
;
label
:
string
;
}
export
interface
ITOCGroupEntry
<
T
>
extends
ITOCEntry
<
T
>
{
children
?:
ITOCEntry
<
T
>
[];
}
export
interface
ITOCLeafEntry
<
T
>
extends
ITOCEntry
<
T
>
{
settings
?:
T
[];
}
export
type
IRawTOCEntry
=
ITOCGroupEntry
<
string
>
|
ITOCLeafEntry
<
string
>
;
export
type
IResolvedTOCEntry
=
ITOCGroupEntry
<
ISetting
>
|
ITOCLeafEntry
<
ISetting
>
;
function
resolveSettingsTree
(
tocData
:
IRawTOCEntry
,
defaultSettings
:
DefaultSettingsEditorModel
):
IResolvedTOCEntry
{
return
_resolveSettingsTree
(
tocData
,
getAllSettings
(
defaultSettings
));
}
function
_resolveSettingsTree
(
tocData
:
IRawTOCEntry
,
allSettings
:
Set
<
ISetting
>
):
IResolvedTOCEntry
{
if
(
isTOCLeaf
(
tocData
))
{
return
<
IResolvedTOCEntry
>
{
id
:
tocData
.
id
,
label
:
tocData
.
label
,
settings
:
arrays
.
flatten
(
tocData
.
settings
.
map
(
pattern
=>
getMatchingSettings
(
allSettings
,
pattern
)))
};
}
else
{
return
<
IResolvedTOCEntry
>
{
id
:
tocData
.
id
,
label
:
tocData
.
label
,
children
:
tocData
.
children
.
map
(
child
=>
_resolveSettingsTree
(
child
,
allSettings
))
};
}
}
function
getMatchingSettings
(
allSettings
:
Set
<
ISetting
>
,
pattern
:
string
):
ISetting
[]
{
const
result
:
ISetting
[]
=
[];
allSettings
.
forEach
(
s
=>
{
if
(
settingMatches
(
s
,
pattern
))
{
result
.
push
(
s
);
allSettings
.
delete
(
s
);
}
});
return
result
.
sort
((
a
,
b
)
=>
a
.
key
.
localeCompare
(
b
.
key
));
}
function
settingMatches
(
s
:
ISetting
,
pattern
:
string
):
boolean
{
pattern
=
escapeRegExpCharacters
(
pattern
)
.
replace
(
/
\\\*
/g
,
'
.*
'
);
const
regexp
=
new
RegExp
(
`^
${
pattern
}
`
,
'
i
'
);
return
regexp
.
test
(
s
.
key
);
}
function
getAllSettings
(
defaultSettings
:
DefaultSettingsEditorModel
)
{
const
result
:
Set
<
ISetting
>
=
new
Set
();
for
(
let
group
of
defaultSettings
.
settingsGroups
.
slice
(
1
))
{
for
(
let
section
of
group
.
sections
)
{
for
(
let
s
of
section
.
settings
)
{
result
.
add
(
s
);
}
}
}
return
result
;
}
src/vs/workbench/parts/preferences/browser/settingsLayout.ts
浏览文件 @
0abbd7e4
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
I
RawTOCEntry
}
from
'
vs/workbench/parts/preferences/browser/settingsEditor2
'
;
import
{
I
TOCEntry
}
from
'
vs/workbench/parts/preferences/browser/tocTree
'
;
export
const
tocData
:
I
RawTOCEntry
=
{
id
:
'
root
'
,
label
:
'
root
'
,
children
:
[
export
const
tocData
:
I
TOCEntry
=
{
id
:
'
root
'
,
label
:
'
root
'
,
children
:
[
{
id
:
'
editor
'
,
label
:
'
Text Editor
'
,
children
:
[
{
id
:
'
editor.
cursor
'
,
label
:
'
Cursor
'
,
settings
:
[
'
editor.cursor*
'
]
},
{
id
:
'
editor.
find
'
,
label
:
'
Find
'
,
settings
:
[
'
editor.find.*
'
]
},
{
id
:
'
editor.
font
'
,
label
:
'
Font
'
,
settings
:
[
'
editor.font*
'
]
},
{
id
:
'
editor.
format
'
,
label
:
'
Format
'
,
settings
:
[
'
editor.format*
'
]
},
{
id
:
'
editor.
diff
'
,
label
:
'
Diff Editor
'
,
settings
:
[
'
diffEditor.*
'
]
},
{
id
:
'
editor.
minimap
'
,
label
:
'
Minimap
'
,
settings
:
[
'
editor.minimap.*
'
]
},
{
id
:
'
editor.
suggestions
'
,
label
:
'
Suggestions
'
,
settings
:
[
'
editor.*suggestion*
'
]
},
{
id
:
'
editor.
files
'
,
label
:
'
Files
'
,
settings
:
[
'
files.*
'
]
},
{
id
:
'
editor.
editor
'
,
label
:
'
Editor
'
,
settings
:
[
'
editor.*
'
]
}
]
},
{
id
:
'
workbench
'
,
label
:
'
Workbench
'
,
children
:
[
{
id
:
'
workbench.
appearance
'
,
label
:
'
Appearance
'
,
settings
:
[
'
workbench.activityBar.*
'
,
'
workbench.*color*
'
,
'
workbench.fontAliasing
'
,
'
workbench.iconTheme
'
,
'
workbench.sidebar.location
'
,
'
workbench.*.visible
'
,
'
workbench.tips.enabled
'
,
'
workbench.tree.*
'
,
'
workbench.view.*
'
]
},
{
id
:
'
workbench.
editor
'
,
label
:
'
Editor Management
'
,
settings
:
[
'
workbench.editor.*
'
]
},
{
id
:
'
workbench.
zenmode
'
,
label
:
'
Zen Mode
'
,
settings
:
[
'
zenmode.*
'
]
},
{
id
:
'
workbench.
workbench
'
,
label
:
'
Workbench
'
,
settings
:
[
'
workbench.*
'
]
}
]
},
{
id
:
'
window
'
,
label
:
'
Window
'
,
children
:
[
{
id
:
'
window.
newWindow
'
,
label
:
'
New Window
'
,
settings
:
[
'
window.*newwindow*
'
]
},
{
id
:
'
window.
window
'
,
label
:
'
Window
'
,
settings
:
[
'
window.*
'
]
}
]
},
{
id
:
'
features
'
,
label
:
'
Features
'
,
children
:
[
{
id
:
'
features.
explorer
'
,
label
:
'
File Explorer
'
,
settings
:
[
'
explorer.*
'
,
'
outline.*
'
]
},
{
id
:
'
features.
search
'
,
label
:
'
Search
'
,
settings
:
[
'
search.*
'
]
}
,
{
id
:
'
features.
debug
'
,
label
:
'
Debug
'
,
settings
:
[
'
debug.*
'
,
'
launch
'
]
},
{
id
:
'
features.
scm
'
,
label
:
'
Source Control Management
'
,
settings
:
[
'
scm.*
'
]
},
{
id
:
'
features.
extensions
'
,
label
:
'
Extension Viewlet
'
,
settings
:
[
'
extensions.*
'
]
},
{
id
:
'
features.
terminal
'
,
label
:
'
Terminal
'
,
settings
:
[
'
terminal.*
'
]
},
{
id
:
'
features.
problems
'
,
label
:
'
Problems
'
,
settings
:
[
'
problems.*
'
]
}
]
},
{
id
:
'
application
'
,
label
:
'
Application
'
,
children
:
[
{
id
:
'
application.
http
'
,
label
:
'
Proxy
'
,
settings
:
[
'
http.*
'
]
},
{
id
:
'
application.
keyboard
'
,
label
:
'
Keyboard
'
,
settings
:
[
'
keyboard.*
'
]
},
{
id
:
'
application.
update
'
,
label
:
'
Update
'
,
settings
:
[
'
update.*
'
]
},
{
id
:
'
application.
telemetry
'
,
label
:
'
Telemetry
'
,
settings
:
[
'
telemetry.*
'
]
}
]
},
{
id
:
'
extensions
'
,
label
:
'
Extensions
'
,
settings
:
[
'
*
'
]
}
]
id
:
'
editor
'
,
label
:
'
Text Editor
'
,
children
:
[
{
id
:
'
editor/
cursor
'
,
label
:
'
Cursor
'
,
settings
:
[
'
editor.cursor*
'
]
},
{
id
:
'
editor/
find
'
,
label
:
'
Find
'
,
settings
:
[
'
editor.find.*
'
]
},
{
id
:
'
editor/
font
'
,
label
:
'
Font
'
,
settings
:
[
'
editor.font*
'
]
},
{
id
:
'
editor/
format
'
,
label
:
'
Format
'
,
settings
:
[
'
editor.format*
'
]
},
{
id
:
'
editor/
diff
'
,
label
:
'
Diff Editor
'
,
settings
:
[
'
diffEditor.*
'
]
},
{
id
:
'
editor/
minimap
'
,
label
:
'
Minimap
'
,
settings
:
[
'
editor.minimap.*
'
]
},
{
id
:
'
editor/
suggestions
'
,
label
:
'
Suggestions
'
,
settings
:
[
'
editor.*suggestion*
'
]
},
{
id
:
'
editor/
files
'
,
label
:
'
Files
'
,
settings
:
[
'
files.*
'
]
},
{
id
:
'
editor/
editor
'
,
label
:
'
Editor
'
,
settings
:
[
'
editor.*
'
]
}
]
},
{
id
:
'
workbench
'
,
label
:
'
Workbench
'
,
children
:
[
{
id
:
'
workbench/
appearance
'
,
label
:
'
Appearance
'
,
settings
:
[
'
workbench.activityBar.*
'
,
'
workbench.*color*
'
,
'
workbench.fontAliasing
'
,
'
workbench.iconTheme
'
,
'
workbench.sidebar.location
'
,
'
workbench.*.visible
'
,
'
workbench.tips.enabled
'
,
'
workbench.tree.*
'
,
'
workbench.view.*
'
]
},
{
id
:
'
workbench/
editor
'
,
label
:
'
Editor Management
'
,
settings
:
[
'
workbench.editor.*
'
]
},
{
id
:
'
workbench/
zenmode
'
,
label
:
'
Zen Mode
'
,
settings
:
[
'
zenmode.*
'
]
},
{
id
:
'
workbench/
workbench
'
,
label
:
'
Workbench
'
,
settings
:
[
'
workbench.*
'
]
}
]
},
{
id
:
'
window
'
,
label
:
'
Window
'
,
children
:
[
{
id
:
'
window/
newWindow
'
,
label
:
'
New Window
'
,
settings
:
[
'
window.*newwindow*
'
]
},
{
id
:
'
window/
window
'
,
label
:
'
Window
'
,
settings
:
[
'
window.*
'
]
}
]
},
{
id
:
'
features
'
,
label
:
'
Features
'
,
children
:
[
{
id
:
'
features/
explorer
'
,
label
:
'
File Explorer
'
,
settings
:
[
'
explorer.*
'
,
'
outline.*
'
]
},
{
id
:
'
features/
search
'
,
label
:
'
Search
'
,
settings
:
[
'
search.*
'
]
}
,
{
id
:
'
features/
debug
'
,
label
:
'
Debug
'
,
settings
:
[
'
debug.*
'
,
'
launch
'
]
},
{
id
:
'
features/
scm
'
,
label
:
'
Source Control Management
'
,
settings
:
[
'
scm.*
'
]
},
{
id
:
'
features/
extensions
'
,
label
:
'
Extension Viewlet
'
,
settings
:
[
'
extensions.*
'
]
},
{
id
:
'
features/
terminal
'
,
label
:
'
Terminal
'
,
settings
:
[
'
terminal.*
'
]
},
{
id
:
'
features/
problems
'
,
label
:
'
Problems
'
,
settings
:
[
'
problems.*
'
]
}
]
},
{
id
:
'
application
'
,
label
:
'
Application
'
,
children
:
[
{
id
:
'
application/
http
'
,
label
:
'
Proxy
'
,
settings
:
[
'
http.*
'
]
},
{
id
:
'
application/
keyboard
'
,
label
:
'
Keyboard
'
,
settings
:
[
'
keyboard.*
'
]
},
{
id
:
'
application/
update
'
,
label
:
'
Update
'
,
settings
:
[
'
update.*
'
]
},
{
id
:
'
application/
telemetry
'
,
label
:
'
Telemetry
'
,
settings
:
[
'
telemetry.*
'
]
}
]
},
{
id
:
'
extensions
'
,
label
:
'
Extensions
'
,
settings
:
[
'
*
'
]
}
]
};
src/vs/workbench/parts/preferences/browser/settingsTree.ts
浏览文件 @
0abbd7e4
此差异已折叠。
点击以展开。
src/vs/workbench/parts/preferences/browser/tocTree.ts
浏览文件 @
0abbd7e4
...
...
@@ -6,32 +6,53 @@
import
*
as
DOM
from
'
vs/base/browser/dom
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
IDataSource
,
IRenderer
,
ITree
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
IResolvedTOCEntry
,
ITOCGroupEntry
}
from
'
vs/workbench/parts/preferences/browser/settingsEditor2
'
;
import
{
ISetting
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
isTOCLeaf
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
const
$
=
DOM
.
$
;
// export interface ITOCRoot {
// id: string;
// children: ITOCEntry[];
// }
export
interface
ITOCEntry
{
id
:
string
;
label
:
string
;
children
?:
ITOCEntry
[];
settings
?:
(
string
|
ISetting
)[];
}
export
class
TOCElement
{
id
:
string
;
label
:
string
;
parent
?:
TOCElement
;
children
?:
TOCElement
[];
}
export
function
getTOCElement
(
tocRoot
:
ITOCEntry
,
parent
?:
TOCElement
):
TOCElement
{
const
element
=
new
TOCElement
();
element
.
id
=
tocRoot
.
id
;
element
.
label
=
tocRoot
.
label
;
element
.
parent
=
parent
;
if
(
tocRoot
.
children
)
{
element
.
children
=
tocRoot
.
children
.
map
(
child
=>
getTOCElement
(
child
,
element
));
}
return
element
;
}
export
class
TOCDataSource
implements
IDataSource
{
getId
(
tree
:
ITree
,
element
:
IResolvedTOCEntry
):
string
{
getId
(
tree
:
ITree
,
element
:
TOCElement
):
string
{
return
element
.
id
;
}
hasChildren
(
tree
:
ITree
,
element
:
IResolvedTOCEntry
):
boolean
{
return
!
isTOCLeaf
(
element
)
&&
element
.
children
.
length
&&
typeof
element
.
children
[
0
]
!==
'
string
'
;
hasChildren
(
tree
:
ITree
,
element
:
TOCElement
):
boolean
{
return
!
!
(
element
.
children
&&
element
.
children
.
length
)
;
}
getChildren
(
tree
:
ITree
,
element
:
ITOCGroupEntry
<
ISetting
>
):
TPromise
<
IResolvedTOCEntry
[],
any
>
{
return
TPromise
.
as
(
<
IResolvedTOCEntry
[]
>
element
.
children
);
getChildren
(
tree
:
ITree
,
element
:
TOCElement
):
TPromise
<
TOCElement
[],
any
>
{
return
TPromise
.
as
(
<
TOCElement
[]
>
element
.
children
);
}
getParent
(
tree
:
ITree
,
element
:
IResolvedTOCEntry
):
TPromise
<
any
,
any
>
{
return
TPromise
.
wrap
(
null
);
// ??
getParent
(
tree
:
ITree
,
element
:
TOCElement
):
TPromise
<
any
,
any
>
{
return
TPromise
.
wrap
(
element
.
parent
);
}
}
...
...
@@ -42,11 +63,11 @@ interface ITOCEntryTemplate {
}
export
class
TOCRenderer
implements
IRenderer
{
getHeight
(
tree
:
ITree
,
element
:
IResolvedTOCEntry
):
number
{
getHeight
(
tree
:
ITree
,
element
:
TOCElement
):
number
{
return
22
;
}
getTemplateId
(
tree
:
ITree
,
element
:
IResolvedTOCEntry
):
string
{
getTemplateId
(
tree
:
ITree
,
element
:
TOCElement
):
string
{
return
TOC_ENTRY_TEMPLATE_ID
;
}
...
...
@@ -56,7 +77,7 @@ export class TOCRenderer implements IRenderer {
};
}
renderElement
(
tree
:
ITree
,
element
:
IResolvedTOCEntry
,
templateId
:
string
,
template
:
ITOCEntryTemplate
):
void
{
renderElement
(
tree
:
ITree
,
element
:
TOCElement
,
templateId
:
string
,
template
:
ITOCEntryTemplate
):
void
{
template
.
element
.
textContent
=
element
.
label
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录