Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
40cd3b8b
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,发现更多精彩内容 >>
提交
40cd3b8b
编写于
10月 06, 2020
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update search file, remove unused functions,
https://github.com/microsoft/vscode/issues/103454
上级
b89ace72
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
38 addition
and
63 deletion
+38
-63
.vscode/searches/es6.code-search
.vscode/searches/es6.code-search
+6
-10
src/vs/base/browser/dom.ts
src/vs/base/browser/dom.ts
+0
-9
src/vs/base/test/browser/dom.test.ts
src/vs/base/test/browser/dom.test.ts
+32
-44
未找到文件。
.vscode/searches/es6.code-search
浏览文件 @
40cd3b8b
...
...
@@ -2,24 +2,20 @@
# Flags: CaseSensitive WordMatch
# ContextLines: 2
7
results - 2 files
5
results - 2 files
src/vs/base/browser/dom.ts:
74 };
75
76: /** @deprecated ES6 - use classList*/
77 export function hasClass(node: HTMLElement | SVGElement, className: string): boolean { return _classList.hasClass(node, className); }
76 };
77
78: /** @deprecated ES6 - use classList*/
79 export function addClass(node: HTMLElement | SVGElement, className: string): void { return _classList.addClass(node, className); }
80: /** @deprecated ES6 - use classList*/
81 export function addClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.addClasses(node, ...classNames); }
82: /** @deprecated ES6 - use classList*/
83 export function removeClass
(node: HTMLElement | SVGElement, className: string): void { return _classList.removeClass(node, className
); }
83 export function removeClass
es(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.removeClasses(node, ...classNames
); }
84: /** @deprecated ES6 - use classList*/
85 export function removeClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.removeClasses(node, ...classNames); }
86: /** @deprecated ES6 - use classList*/
87 export function toggleClass(node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean): void { return _classList.toggleClass(node, className, shouldHaveIt); }
88
85 export function toggleClass(node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean): void { return _classList.toggleClass(node, className, shouldHaveIt); }
86
src/vs/base/common/strings.ts:
15
...
...
src/vs/base/browser/dom.ts
浏览文件 @
40cd3b8b
...
...
@@ -40,18 +40,13 @@ export function isInDOM(node: Node | null): boolean {
}
interface
IDomClassList
{
hasClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
):
boolean
;
addClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
):
void
;
addClasses
(
node
:
HTMLElement
|
SVGElement
,
...
classNames
:
string
[]):
void
;
removeClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
):
void
;
removeClasses
(
node
:
HTMLElement
|
SVGElement
,
...
classNames
:
string
[]):
void
;
toggleClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
,
shouldHaveIt
?:
boolean
):
void
;
}
const
_classList
:
IDomClassList
=
new
class
implements
IDomClassList
{
hasClass
(
node
:
HTMLElement
,
className
:
string
):
boolean
{
return
Boolean
(
className
)
&&
node
.
classList
&&
node
.
classList
.
contains
(
className
);
}
addClasses
(
node
:
HTMLElement
,
...
classNames
:
string
[]):
void
{
classNames
.
forEach
(
nameValue
=>
nameValue
.
split
(
'
'
).
forEach
(
name
=>
this
.
addClass
(
node
,
name
)));
...
...
@@ -80,15 +75,11 @@ const _classList: IDomClassList = new class implements IDomClassList {
}
};
/** @deprecated ES6 - use classList*/
export
function
hasClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
):
boolean
{
return
_classList
.
hasClass
(
node
,
className
);
}
/** @deprecated ES6 - use classList*/
export
function
addClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
):
void
{
return
_classList
.
addClass
(
node
,
className
);
}
/** @deprecated ES6 - use classList*/
export
function
addClasses
(
node
:
HTMLElement
|
SVGElement
,
...
classNames
:
string
[]):
void
{
return
_classList
.
addClasses
(
node
,
...
classNames
);
}
/** @deprecated ES6 - use classList*/
export
function
removeClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
):
void
{
return
_classList
.
removeClass
(
node
,
className
);
}
/** @deprecated ES6 - use classList*/
export
function
removeClasses
(
node
:
HTMLElement
|
SVGElement
,
...
classNames
:
string
[]):
void
{
return
_classList
.
removeClasses
(
node
,
...
classNames
);
}
/** @deprecated ES6 - use classList*/
export
function
toggleClass
(
node
:
HTMLElement
|
SVGElement
,
className
:
string
,
shouldHaveIt
?:
boolean
):
void
{
return
_classList
.
toggleClass
(
node
,
className
,
shouldHaveIt
);
}
...
...
src/vs/base/test/browser/dom.test.ts
浏览文件 @
40cd3b8b
...
...
@@ -13,12 +13,12 @@ suite('dom', () => {
let
element
=
document
.
createElement
(
'
div
'
);
element
.
className
=
'
foobar boo far
'
;
assert
(
dom
.
hasClass
(
element
,
'
foobar
'
));
assert
(
dom
.
hasClass
(
element
,
'
boo
'
));
assert
(
dom
.
hasClass
(
element
,
'
far
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
bar
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
foo
'
));
assert
(
!
dom
.
hasClass
(
element
,
''
));
assert
(
element
.
classList
.
contains
(
'
foobar
'
));
assert
(
element
.
classList
.
contains
(
'
boo
'
));
assert
(
element
.
classList
.
contains
(
'
far
'
));
assert
(
!
element
.
classList
.
contains
(
'
bar
'
));
assert
(
!
element
.
classList
.
contains
(
'
foo
'
));
assert
(
!
element
.
classList
.
contains
(
''
));
});
test
(
'
removeClass
'
,
()
=>
{
...
...
@@ -26,64 +26,52 @@ suite('dom', () => {
let
element
=
document
.
createElement
(
'
div
'
);
element
.
className
=
'
foobar boo far
'
;
dom
.
removeClass
(
element
,
'
boo
'
);
assert
(
dom
.
hasClass
(
element
,
'
far
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
boo
'
));
assert
(
dom
.
hasClass
(
element
,
'
foobar
'
));
element
.
classList
.
remove
(
'
boo
'
);
assert
(
element
.
classList
.
contains
(
'
far
'
));
assert
(
!
element
.
classList
.
contains
(
'
boo
'
));
assert
(
element
.
classList
.
contains
(
'
foobar
'
));
assert
.
equal
(
element
.
className
,
'
foobar far
'
);
element
=
document
.
createElement
(
'
div
'
);
element
.
className
=
'
foobar boo far
'
;
dom
.
removeClass
(
element
,
'
far
'
);
assert
(
!
dom
.
hasClass
(
element
,
'
far
'
));
assert
(
dom
.
hasClass
(
element
,
'
boo
'
));
assert
(
dom
.
hasClass
(
element
,
'
foobar
'
));
element
.
classList
.
remove
(
'
far
'
);
assert
(
!
element
.
classList
.
contains
(
'
far
'
));
assert
(
element
.
classList
.
contains
(
'
boo
'
));
assert
(
element
.
classList
.
contains
(
'
foobar
'
));
assert
.
equal
(
element
.
className
,
'
foobar boo
'
);
dom
.
removeClass
(
element
,
'
boo
'
);
assert
(
!
dom
.
hasClass
(
element
,
'
far
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
boo
'
));
assert
(
dom
.
hasClass
(
element
,
'
foobar
'
));
element
.
classList
.
remove
(
'
boo
'
);
assert
(
!
element
.
classList
.
contains
(
'
far
'
));
assert
(
!
element
.
classList
.
contains
(
'
boo
'
));
assert
(
element
.
classList
.
contains
(
'
foobar
'
));
assert
.
equal
(
element
.
className
,
'
foobar
'
);
dom
.
removeClass
(
element
,
'
foobar
'
);
assert
(
!
dom
.
hasClass
(
element
,
'
far
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
boo
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
foobar
'
));
element
.
classList
.
remove
(
'
foobar
'
);
assert
(
!
element
.
classList
.
contains
(
'
far
'
));
assert
(
!
element
.
classList
.
contains
(
'
boo
'
));
assert
(
!
element
.
classList
.
contains
(
'
foobar
'
));
assert
.
equal
(
element
.
className
,
''
);
});
test
(
'
removeClass should consider hyphens
'
,
function
()
{
let
element
=
document
.
createElement
(
'
div
'
);
dom
.
addClass
(
element
,
'
foo-bar
'
);
dom
.
addClass
(
element
,
'
bar
'
);
element
.
classList
.
add
(
'
foo-bar
'
);
element
.
classList
.
add
(
'
bar
'
);
assert
(
dom
.
hasClass
(
element
,
'
foo-bar
'
));
assert
(
dom
.
hasClass
(
element
,
'
bar
'
));
assert
(
element
.
classList
.
contains
(
'
foo-bar
'
));
assert
(
element
.
classList
.
contains
(
'
bar
'
));
dom
.
removeClass
(
element
,
'
bar
'
);
assert
(
dom
.
hasClass
(
element
,
'
foo-bar
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
bar
'
));
element
.
classList
.
remove
(
'
bar
'
);
assert
(
element
.
classList
.
contains
(
'
foo-bar
'
));
assert
(
!
element
.
classList
.
contains
(
'
bar
'
));
dom
.
removeClass
(
element
,
'
foo-bar
'
);
assert
(
!
dom
.
hasClass
(
element
,
'
foo-bar
'
));
assert
(
!
dom
.
hasClass
(
element
,
'
bar
'
));
element
.
classList
.
remove
(
'
foo-bar
'
);
assert
(
!
element
.
classList
.
contains
(
'
foo-bar
'
));
assert
(
!
element
.
classList
.
contains
(
'
bar
'
));
});
//test('[perf] hasClass * 100000', () => {
//
// for (let i = 0; i < 100000; i++) {
// let element = document.createElement('div');
// element.className = 'foobar boo far';
//
// assert(dom.hasClass(element, 'far'));
// assert(dom.hasClass(element, 'boo'));
// assert(dom.hasClass(element, 'foobar'));
// }
//});
suite
(
'
$
'
,
()
=>
{
test
(
'
should build simple nodes
'
,
()
=>
{
const
div
=
$
(
'
div
'
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录