提交 40cd3b8b 编写于 作者: J Johannes Rieken

update search file, remove unused functions, https://github.com/microsoft/vscode/issues/103454

上级 b89ace72
......@@ -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 removeClasses(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
......
......@@ -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); }
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册