From 944c5bca907e67a7e10b06003e4a39f24a9f93ed Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Wed, 15 Jun 2016 09:30:07 +0200 Subject: [PATCH] actionbar cleanup --- .../base/browser/ui/actionbar/actionbar.css | 43 ------------------- src/vs/base/browser/ui/actionbar/actionbar.ts | 21 +++++---- 2 files changed, 12 insertions(+), 52 deletions(-) diff --git a/src/vs/base/browser/ui/actionbar/actionbar.css b/src/vs/base/browser/ui/actionbar/actionbar.css index 6a549db43b8..2cfe0ecafe7 100644 --- a/src/vs/base/browser/ui/actionbar/actionbar.css +++ b/src/vs/base/browser/ui/actionbar/actionbar.css @@ -129,49 +129,6 @@ background-color: #C33; } -/* Actions widget */ - -.monaco-actions-widget { - position: relative; -} - -.monaco-actions-widget .more { - position: absolute; - top: 0; - right: 1em; - font-weight: bold; - cursor: pointer; - display: none; -} - -.monaco-actions-widget .more.active { - -ms-transform: translate(0, -3px); - -webkit-transform: translate(0, -3px); - -moz-transform: translate(0, -3px); - -o-transform: translate(0, -3px); - transform: translate(0, -3px); -} - -.monaco-actions-widget .primary { - display: none; -} - -.monaco-actions-widget.hasPrimary .primary { - display: inherit; -} - -.monaco-actions-widget.hasSecondary .more { - display: inherit; -} - -.monaco-actions-widget .secondary.monaco-action-bar { - display: none; -} - -.monaco-actions-widget.more .secondary.monaco-action-bar { - display: inherit; -} - /* Action Items */ .monaco-action-bar .action-item.select-container { overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */ diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts index 831a81a23d0..8c73c19bfde 100644 --- a/src/vs/base/browser/ui/actionbar/actionbar.ts +++ b/src/vs/base/browser/ui/actionbar/actionbar.ts @@ -49,7 +49,6 @@ export class BaseActionItem extends EventEmitter implements IActionItem { if (action instanceof Action) { let l = (action).addBulkListener2((events: EmitterEvent[]) => { - if (!this.builder) { // we have not been rendered yet, so there // is no point in updating the UI @@ -57,7 +56,6 @@ export class BaseActionItem extends EventEmitter implements IActionItem { } events.forEach((event: EmitterEvent) => { - switch (event.getType()) { case Action.ENABLED: this._updateEnabled(); @@ -113,20 +111,24 @@ export class BaseActionItem extends EventEmitter implements IActionItem { this.builder = $(container); this.gesture = new Gesture(container); - this.builder.on(DOM.EventType.CLICK, (event: Event) => { this.onClick(event); }); - this.builder.on(EventType.Tap, e => { this.onClick(e); }); + this.builder.on(DOM.EventType.CLICK, (event: Event) => this.onClick(event)); + this.builder.on(EventType.Tap, e => this.onClick(e)); if (platform.isMacintosh) { - this.builder.on(DOM.EventType.CONTEXT_MENU, (event: Event) => { this.onClick(event); }); // https://github.com/Microsoft/vscode/issues/1011 + this.builder.on(DOM.EventType.CONTEXT_MENU, (event: Event) => this.onClick(event)); // https://github.com/Microsoft/vscode/issues/1011 } - this.builder.on('mousedown', (e: MouseEvent) => { + this.builder.on(DOM.EventType.MOUSE_DOWN, (e: MouseEvent) => { + DOM.EventHelper.stop(e); + if (e.button === 0 && this._action.enabled) { this.builder.addClass('active'); } }); - this.builder.on(['mouseup', 'mouseout'], (e: MouseEvent) => { + this.builder.on([DOM.EventType.MOUSE_UP, DOM.EventType.MOUSE_OUT], (e: MouseEvent) => { + DOM.EventHelper.stop(e); + if (e.button === 0 && this._action.enabled) { this.builder.removeClass('active'); } @@ -135,6 +137,7 @@ export class BaseActionItem extends EventEmitter implements IActionItem { public onClick(event: Event): void { DOM.EventHelper.stop(event, true); + let context: any; if (types.isUndefinedOrNull(this._context)) { context = event; @@ -270,7 +273,7 @@ export class ActionItem extends BaseActionItem { title = this.getAction().label; if (this.options.keybinding) { - title = nls.localize({ key: 'titleLabel', comment: ['action title', 'action keybinding']}, "{0} ({1})", title, this.options.keybinding); + title = nls.localize({ key: 'titleLabel', comment: ['action title', 'action keybinding'] }, "{0} ({1})", title, this.options.keybinding); } } @@ -512,7 +515,7 @@ export class ActionBar extends EventEmitter implements IActionRunner { public setAriaLabel(label: string): void { if (label) { this.actionsList.setAttribute('aria-label', label); - } else{ + } else { this.actionsList.removeAttribute('aria-label'); } } -- GitLab