Merge VS Code 1.31.1 (#4283)

This commit is contained in:
Matt Irvine
2019-03-15 13:09:45 -07:00
committed by GitHub
parent 7d31575149
commit 86bac90001
1716 changed files with 53308 additions and 48375 deletions

View File

@@ -5,7 +5,7 @@
import 'vs/css!./panelview';
import { IDisposable, dispose, combinedDisposable, Disposable } from 'vs/base/common/lifecycle';
import { Event, Emitter, chain, filterEvent } from 'vs/base/common/event';
import { Event, Emitter } from 'vs/base/common/event';
import { domEvent } from 'vs/base/browser/event';
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { KeyCode } from 'vs/base/common/keyCodes';
@@ -77,7 +77,7 @@ export abstract class Panel implements IView {
set minimumBodySize(size: number) {
this._minimumBodySize = size;
this._onDidChange.fire();
this._onDidChange.fire(undefined);
}
get maximumBodySize(): number {
@@ -86,7 +86,7 @@ export abstract class Panel implements IView {
set maximumBodySize(size: number) {
this._maximumBodySize = size;
this._onDidChange.fire();
this._onDidChange.fire(undefined);
}
private get headerSize(): number {
@@ -109,6 +109,8 @@ export abstract class Panel implements IView {
return headerSize + maximumBodySize;
}
width: number;
constructor(options: IPanelOptions = {}) {
this._expanded = typeof options.expanded === 'undefined' ? true : !!options.expanded;
this.ariaHeaderLabel = options.ariaHeaderLabel || '';
@@ -122,14 +124,16 @@ export abstract class Panel implements IView {
return this._expanded;
}
setExpanded(expanded: boolean): void {
setExpanded(expanded: boolean): boolean {
if (this._expanded === !!expanded) {
return;
return false;
}
this._expanded = !!expanded;
this.updateHeader();
this._onDidChange.fire(expanded ? this.expandedSize : undefined);
return true;
}
get headerVisible(): boolean {
@@ -143,7 +147,7 @@ export abstract class Panel implements IView {
this._headerVisible = !!visible;
this.updateHeader();
this._onDidChange.fire();
this._onDidChange.fire(undefined);
}
render(): void {
@@ -160,7 +164,7 @@ export abstract class Panel implements IView {
this.updateHeader();
const onHeaderKeyDown = chain(domEvent(this.header, 'keydown'))
const onHeaderKeyDown = Event.chain(domEvent(this.header, 'keydown'))
.map(e => new StandardKeyboardEvent(e));
onHeaderKeyDown.filter(e => e.keyCode === KeyCode.Enter || e.keyCode === KeyCode.Space)
@@ -186,12 +190,12 @@ export abstract class Panel implements IView {
this.renderBody(body);
}
layout(size: number): void {
layout(height: number): void {
const headerSize = this.headerVisible ? Panel.HEADER_SIZE : 0;
if (this.isExpanded()) {
this.layoutBody(size - headerSize);
this.expandedSize = size;
this.layoutBody(height - headerSize, this.width);
this.expandedSize = height;
}
}
@@ -222,7 +226,7 @@ export abstract class Panel implements IView {
protected abstract renderHeader(container: HTMLElement): void;
protected abstract renderBody(container: HTMLElement): void;
protected abstract layoutBody(size: number): void;
protected abstract layoutBody(height: number, width: number): void;
dispose(): void {
this.disposables = dispose(this.disposables);
@@ -367,6 +371,7 @@ export class PanelView extends Disposable {
private dndContext: IDndContext = { draggable: null };
private el: HTMLElement;
private panelItems: IPanelItem[] = [];
private width: number;
private splitview: SplitView;
private animationTimer: number | null = null;
@@ -391,11 +396,12 @@ export class PanelView extends Disposable {
let shouldAnimate = false;
disposables.push(scheduleAtNextAnimationFrame(() => shouldAnimate = true));
filterEvent(panel.onDidChange, () => shouldAnimate)
Event.filter(panel.onDidChange, () => shouldAnimate)
(this.setupAnimation, this, disposables);
const panelItem = { panel, disposable: combinedDisposable(disposables) };
this.panelItems.splice(index, 0, panelItem);
panel.width = this.width;
this.splitview.addView(panel, size, index);
if (this.dnd) {
@@ -451,8 +457,14 @@ export class PanelView extends Disposable {
return this.splitview.getViewSize(index);
}
layout(size: number): void {
this.splitview.layout(size);
layout(height: number, width: number): void {
this.width = width;
for (const panelItem of this.panelItems) {
panelItem.panel.width = width;
}
this.splitview.layout(height);
}
private setupAnimation(): void {

View File

@@ -5,7 +5,7 @@
import 'vs/css!./splitview';
import { IDisposable, combinedDisposable, toDisposable, Disposable } from 'vs/base/common/lifecycle';
import { Event, mapEvent, Emitter } from 'vs/base/common/event';
import { Event, Emitter } from 'vs/base/common/event';
import * as types from 'vs/base/common/types';
import * as dom from 'vs/base/browser/dom';
import { clamp } from 'vs/base/common/numbers';
@@ -238,11 +238,11 @@ export class SplitView extends Disposable {
? (e: IBaseSashEvent) => ({ sash, start: e.startY, current: e.currentY, alt: e.altKey } as ISashEvent)
: (e: IBaseSashEvent) => ({ sash, start: e.startX, current: e.currentX, alt: e.altKey } as ISashEvent);
const onStart = mapEvent(sash.onDidStart, sashEventMapper);
const onStart = Event.map(sash.onDidStart, sashEventMapper);
const onStartDisposable = onStart(this.onSashStart, this);
const onChange = mapEvent(sash.onDidChange, sashEventMapper);
const onChange = Event.map(sash.onDidChange, sashEventMapper);
const onChangeDisposable = onChange(this.onSashChange, this);
const onEnd = mapEvent(sash.onDidEnd, () => firstIndex(this.sashItems, item => item.sash === sash));
const onEnd = Event.map(sash.onDidEnd, () => firstIndex(this.sashItems, item => item.sash === sash));
const onEndDisposable = onEnd(this.onSashEnd, this);
const onDidResetDisposable = sash.onDidReset(() => this._onDidSashReset.fire(firstIndex(this.sashItems, item => item.sash === sash)));