Merge from vscode 8e0f348413f4f616c23a88ae30030efa85811973 (#6381)

* Merge from vscode 8e0f348413f4f616c23a88ae30030efa85811973

* disable strict null check
This commit is contained in:
Anthony Dresser
2019-07-15 22:35:46 -07:00
committed by GitHub
parent f720ec642f
commit 0b7e7ddbf9
2406 changed files with 59140 additions and 35464 deletions

View File

@@ -12,7 +12,7 @@ import { Emitter, Event } from 'vs/base/common/event';
import { KeyCode } from 'vs/base/common/keyCodes';
import * as objects from 'vs/base/common/objects';
import { BaseActionViewItem } from 'vs/base/browser/ui/actionbar/actionbar';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { DisposableStore } from 'vs/base/common/lifecycle';
export interface ICheckboxOpts extends ICheckboxStyles {
readonly actionClassName?: string;
@@ -31,19 +31,19 @@ const defaultOpts = {
export class CheckboxActionViewItem extends BaseActionViewItem {
private checkbox: Checkbox;
private disposables: IDisposable[] = [];
private readonly disposables = new DisposableStore();
render(container: HTMLElement): void {
this.element = container;
this.disposables = dispose(this.disposables);
this.disposables.clear();
this.checkbox = new Checkbox({
actionClassName: this._action.class,
isChecked: this._action.checked,
title: this._action.label
});
this.disposables.push(this.checkbox);
this.checkbox.onChange(() => this._action.checked = this.checkbox.checked, this, this.disposables);
this.disposables.add(this.checkbox);
this.disposables.add(this.checkbox.onChange(() => this._action.checked = this.checkbox.checked, this));
this.element.appendChild(this.checkbox.domNode);
}
@@ -64,19 +64,18 @@ export class CheckboxActionViewItem extends BaseActionViewItem {
}
dipsose(): void {
this.disposables = dispose(this.disposables);
this.disposables.dispose();
super.dispose();
}
}
export class Checkbox extends Widget {
private readonly _onChange = this._register(new Emitter<boolean>());
get onChange(): Event<boolean /* via keyboard */> { return this._onChange.event; }
readonly onChange: Event<boolean /* via keyboard */> = this._onChange.event;
private readonly _onKeyDown = this._register(new Emitter<IKeyboardEvent>());
get onKeyDown(): Event<IKeyboardEvent> { return this._onKeyDown.event; }
readonly onKeyDown: Event<IKeyboardEvent> = this._onKeyDown.event;
private readonly _opts: ICheckboxOpts;
readonly domNode: HTMLElement;