提交 ecad75fd 编写于 作者: M Matt Bierner

Use disposableStore in feedback

上级 69f08cbf
......@@ -5,7 +5,7 @@
import 'vs/css!./media/feedback';
import * as nls from 'vs/nls';
import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
import { IDisposable, Disposable, DisposableStore } from 'vs/base/common/lifecycle';
import { Dropdown } from 'vs/base/browser/ui/dropdown/dropdown';
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
import product from 'vs/platform/product/node/product';
......@@ -103,7 +103,7 @@ export class FeedbackDropdown extends Dropdown {
}
protected renderContents(container: HTMLElement): IDisposable {
const disposables: IDisposable[] = [];
const disposables = new DisposableStore();
dom.addClass(container, 'monaco-menu-container');
......@@ -120,7 +120,7 @@ export class FeedbackDropdown extends Dropdown {
closeBtn.setAttribute('role', 'button');
closeBtn.title = nls.localize('close', "Close");
disposables.push(dom.addDisposableListener(closeBtn, dom.EventType.MOUSE_OVER, () => {
disposables.add(dom.addDisposableListener(closeBtn, dom.EventType.MOUSE_OVER, () => {
const theme = this.themeService.getTheme();
let darkenFactor: number | undefined;
switch (theme.type) {
......@@ -143,7 +143,7 @@ export class FeedbackDropdown extends Dropdown {
}
}));
disposables.push(dom.addDisposableListener(closeBtn, dom.EventType.MOUSE_OUT, () => {
disposables.add(dom.addDisposableListener(closeBtn, dom.EventType.MOUSE_OUT, () => {
closeBtn.style.backgroundColor = null;
}));
......@@ -212,7 +212,7 @@ export class FeedbackDropdown extends Dropdown {
submitBugLink.textContent = nls.localize("submit a bug", "Submit a bug");
submitBugLink.tabIndex = 0;
disposables.push(dom.addDisposableListener(submitBugLink, 'click', e => {
disposables.add(dom.addDisposableListener(submitBugLink, 'click', e => {
dom.EventHelper.stop(e);
const actionId = 'workbench.action.openIssueReporter';
this.commandService.executeCommand(actionId);
......@@ -237,7 +237,7 @@ export class FeedbackDropdown extends Dropdown {
requestFeatureLink.textContent = nls.localize("request a missing feature", "Request a missing feature");
requestFeatureLink.tabIndex = 0;
disposables.push(dom.addDisposableListener(requestFeatureLink, 'click', e => this.hide()));
disposables.add(dom.addDisposableListener(requestFeatureLink, 'click', e => this.hide()));
}
// Remaining Characters
......@@ -256,7 +256,7 @@ export class FeedbackDropdown extends Dropdown {
this.feedbackDescriptionInput.setAttribute('aria-label', nls.localize("feedbackTextInput", "Tell us your feedback"));
this.feedbackDescriptionInput.focus();
disposables.push(dom.addDisposableListener(this.feedbackDescriptionInput, 'keyup', () => this.updateCharCountText()));
disposables.add(dom.addDisposableListener(this.feedbackDescriptionInput, 'keyup', () => this.updateCharCountText()));
// Feedback Input Form Buttons Container
const buttonsContainer = dom.append(this.feedbackForm, dom.$('div.form-buttons'));
......@@ -279,11 +279,11 @@ export class FeedbackDropdown extends Dropdown {
this.sendButton.label = nls.localize('tweet', "Tweet");
dom.addClass(this.sendButton.element, 'send');
this.sendButton.element.title = nls.localize('tweetFeedback', "Tweet Feedback");
disposables.push(attachButtonStyler(this.sendButton, this.themeService));
disposables.add(attachButtonStyler(this.sendButton, this.themeService));
this.sendButton.onDidClick(() => this.onSubmit());
disposables.push(attachStylerCallback(this.themeService, { widgetShadow, editorWidgetBackground, inputBackground, inputForeground, inputBorder, editorBackground, contrastBorder }, colors => {
disposables.add(attachStylerCallback(this.themeService, { widgetShadow, editorWidgetBackground, inputBackground, inputForeground, inputBorder, editorBackground, contrastBorder }, colors => {
if (this.feedbackForm) {
this.feedbackForm.style.backgroundColor = colors.editorWidgetBackground ? colors.editorWidgetBackground.toString() : null;
this.feedbackForm.style.boxShadow = colors.widgetShadow ? `0 0 8px ${colors.widgetShadow}` : null;
......@@ -305,7 +305,7 @@ export class FeedbackDropdown extends Dropdown {
this.smileyInput = null;
this.frownyInput = null;
dispose(disposables);
disposables.dispose();
}
};
}
......@@ -362,10 +362,10 @@ export class FeedbackDropdown extends Dropdown {
}
}
private invoke(element: HTMLElement, disposables: IDisposable[], callback: () => void): HTMLElement {
disposables.push(dom.addDisposableListener(element, 'click', callback));
private invoke(element: HTMLElement, disposables: DisposableStore, callback: () => void): HTMLElement {
disposables.add(dom.addDisposableListener(element, 'click', callback));
disposables.push(dom.addDisposableListener(element, 'keypress', e => {
disposables.add(dom.addDisposableListener(element, 'keypress', e => {
if (e instanceof KeyboardEvent) {
const keyboardEvent = <KeyboardEvent>e;
if (keyboardEvent.keyCode === 13 || keyboardEvent.keyCode === 32) { // Enter or Spacebar
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册