sussudio
Version:
An unofficial VS Code Internal API
45 lines (44 loc) • 2.27 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as dom from "../dom.mjs";
import { StandardKeyboardEvent } from "../keyboardEvent.mjs";
import { StandardMouseEvent } from "../mouseEvent.mjs";
import { Gesture } from "../touch.mjs";
import { Disposable } from "../../common/lifecycle.mjs";
export class Widget extends Disposable {
onclick(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.CLICK, (e) => listener(new StandardMouseEvent(e))));
}
onmousedown(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.MOUSE_DOWN, (e) => listener(new StandardMouseEvent(e))));
}
onmouseover(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.MOUSE_OVER, (e) => listener(new StandardMouseEvent(e))));
}
onmouseleave(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.MOUSE_LEAVE, (e) => listener(new StandardMouseEvent(e))));
}
onkeydown(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.KEY_DOWN, (e) => listener(new StandardKeyboardEvent(e))));
}
onkeyup(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.KEY_UP, (e) => listener(new StandardKeyboardEvent(e))));
}
oninput(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.INPUT, listener));
}
onblur(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.BLUR, listener));
}
onfocus(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.FOCUS, listener));
}
onchange(domNode, listener) {
this._register(dom.addDisposableListener(domNode, dom.EventType.CHANGE, listener));
}
ignoreGesture(domNode) {
return Gesture.ignoreTarget(domNode);
}
}