Merge from vscode 52dcb723a39ae75bee1bd56b3312d7fcdc87aeed (#6719)

This commit is contained in:
Anthony Dresser
2019-08-12 21:31:51 -07:00
committed by GitHub
parent 00250839fc
commit 7eba8c4c03
616 changed files with 9472 additions and 7087 deletions

View File

@@ -84,12 +84,12 @@ export abstract class PeekViewWidget extends ZoneWidget {
private _onDidClose = new Emitter<PeekViewWidget>();
protected _headElement: HTMLDivElement;
protected _primaryHeading: HTMLElement;
protected _secondaryHeading: HTMLElement;
protected _metaHeading: HTMLElement;
protected _actionbarWidget: ActionBar;
protected _bodyElement: HTMLDivElement;
protected _headElement?: HTMLDivElement;
protected _primaryHeading?: HTMLElement;
protected _secondaryHeading?: HTMLElement;
protected _metaHeading?: HTMLElement;
protected _actionbarWidget?: ActionBar;
protected _bodyElement?: HTMLDivElement;
constructor(editor: ICodeEditor, options: IPeekViewOptions = {}) {
super(editor, options);
@@ -139,8 +139,8 @@ export abstract class PeekViewWidget extends ZoneWidget {
protected _fillContainer(container: HTMLElement): void {
this.setCssClass('peekview-widget');
this._headElement = dom.$('.head');
this._bodyElement = dom.$('.body');
this._headElement = dom.$<HTMLDivElement>('.head');
this._bodyElement = dom.$<HTMLDivElement>('.body');
this._fillHead(this._headElement);
this._fillBody(this._bodyElement);
@@ -151,7 +151,7 @@ export abstract class PeekViewWidget extends ZoneWidget {
protected _fillHead(container: HTMLElement): void {
const titleElement = dom.$('.peekview-title');
dom.append(this._headElement, titleElement);
dom.append(this._headElement!, titleElement);
dom.addStandardDisposableListener(titleElement, 'click', event => this._onTitleClick(event));
this._fillTitleIcon(titleElement);
@@ -161,7 +161,7 @@ export abstract class PeekViewWidget extends ZoneWidget {
dom.append(titleElement, this._primaryHeading, this._secondaryHeading, this._metaHeading);
const actionsContainer = dom.$('.peekview-actions');
dom.append(this._headElement, actionsContainer);
dom.append(this._headElement!, actionsContainer);
const actionBarOptions = this._getActionBarOptions();
this._actionbarWidget = new ActionBar(actionsContainer, actionBarOptions);
@@ -185,20 +185,24 @@ export abstract class PeekViewWidget extends ZoneWidget {
}
public setTitle(primaryHeading: string, secondaryHeading?: string): void {
this._primaryHeading.innerHTML = strings.escape(primaryHeading);
this._primaryHeading.setAttribute('aria-label', primaryHeading);
if (secondaryHeading) {
this._secondaryHeading.innerHTML = strings.escape(secondaryHeading);
} else {
dom.clearNode(this._secondaryHeading);
if (this._primaryHeading && this._secondaryHeading) {
this._primaryHeading.innerHTML = strings.escape(primaryHeading);
this._primaryHeading.setAttribute('aria-label', primaryHeading);
if (secondaryHeading) {
this._secondaryHeading.innerHTML = strings.escape(secondaryHeading);
} else {
dom.clearNode(this._secondaryHeading);
}
}
}
public setMetaTitle(value: string): void {
if (value) {
this._metaHeading.innerHTML = strings.escape(value);
} else {
dom.clearNode(this._metaHeading);
if (this._metaHeading) {
if (value) {
this._metaHeading.innerHTML = strings.escape(value);
} else {
dom.clearNode(this._metaHeading);
}
}
}
@@ -220,11 +224,15 @@ export abstract class PeekViewWidget extends ZoneWidget {
}
protected _doLayoutHead(heightInPixel: number, widthInPixel: number): void {
this._headElement.style.height = `${heightInPixel}px`;
this._headElement.style.lineHeight = this._headElement.style.height;
if (this._headElement) {
this._headElement.style.height = `${heightInPixel}px`;
this._headElement.style.lineHeight = this._headElement.style.height;
}
}
protected _doLayoutBody(heightInPixel: number, widthInPixel: number): void {
this._bodyElement.style.height = `${heightInPixel}px`;
if (this._bodyElement) {
this._bodyElement.style.height = `${heightInPixel}px`;
}
}
}

View File

@@ -34,8 +34,8 @@ export abstract class ReferencesController implements editorCommon.IEditorContri
private readonly _disposables = new DisposableStore();
private readonly _editor: ICodeEditor;
private _widget: ReferenceWidget | null;
private _model: ReferencesModel | null;
private _widget?: ReferenceWidget;
private _model?: ReferencesModel;
private _requestIdPool = 0;
private _ignoreModelChangeEvent = false;
@@ -68,11 +68,11 @@ export abstract class ReferencesController implements editorCommon.IEditorContri
dispose(this._disposables);
if (this._widget) {
dispose(this._widget);
this._widget = null;
this._widget = undefined;
}
if (this._model) {
dispose(this._model);
this._model = null;
this._model = undefined;
}
}
@@ -107,7 +107,7 @@ export abstract class ReferencesController implements editorCommon.IEditorContri
modelPromise.cancel();
if (this._widget) {
this._storageService.store(storageKey, JSON.stringify(this._widget.layoutData), StorageScope.GLOBAL);
this._widget = null;
this._widget = undefined;
}
this.closeWidget();
}));
@@ -202,13 +202,13 @@ export abstract class ReferencesController implements editorCommon.IEditorContri
public closeWidget(): void {
if (this._widget) {
dispose(this._widget);
this._widget = null;
this._widget = undefined;
}
this._referenceSearchVisible.reset();
this._disposables.clear();
if (this._model) {
dispose(this._model);
this._model = null;
this._model = undefined;
}
this._editor.focus();
this._requestIdPool += 1; // Cancel pending requests

View File

@@ -89,7 +89,7 @@ export class FileReferences implements IDisposable {
private _children: OneReference[];
private _preview?: FilePreview;
private _resolved: boolean;
private _resolved?: boolean;
private _loadFailure: any;
constructor(private readonly _parent: ReferencesModel, private readonly _uri: URI) {

View File

@@ -158,8 +158,8 @@ class DecorationsManager implements IDisposable {
}
export class LayoutData {
ratio: number;
heightInLines: number;
ratio: number = 0.7;
heightInLines: number = 18;
static fromJSON(raw: string): LayoutData {
let ratio: number | undefined;
@@ -191,22 +191,21 @@ export const ctxReferenceWidgetSearchTreeFocused = new RawContextKey<boolean>('r
*/
export class ReferenceWidget extends PeekViewWidget {
private _model: ReferencesModel | undefined;
private _decorationsManager: DecorationsManager;
private _model?: ReferencesModel;
private _decorationsManager?: DecorationsManager;
private readonly _disposeOnNewModel = new DisposableStore();
private readonly _callOnDispose = new DisposableStore();
private _onDidSelectReference = new Emitter<SelectionEvent>();
private _tree: WorkbenchAsyncDataTree<ReferencesModel | FileReferences, TreeElement, FuzzyScore>;
private _treeContainer: HTMLElement;
// private _sash: VSash;
private _splitView: SplitView;
private _preview: ICodeEditor;
private _previewModelReference: IReference<ITextEditorModel>;
private _previewNotAvailableMessage: TextModel;
private _previewContainer: HTMLElement;
private _messageContainer: HTMLElement;
private _tree!: WorkbenchAsyncDataTree<ReferencesModel | FileReferences, TreeElement, FuzzyScore>;
private _treeContainer!: HTMLElement;
private _splitView!: SplitView;
private _preview!: ICodeEditor;
private _previewModelReference!: IReference<ITextEditorModel>;
private _previewNotAvailableMessage!: TextModel;
private _previewContainer!: HTMLElement;
private _messageContainer!: HTMLElement;
private _dim: dom.Dimension = { height: 0, width: 0 };
constructor(
@@ -470,7 +469,7 @@ export class ReferenceWidget extends PeekViewWidget {
}));
// make sure things are rendered
dom.addClass(this.container, 'results-loaded');
dom.addClass(this.container!, 'results-loaded');
dom.show(this._treeContainer);
dom.show(this._previewContainer);
this._splitView.layout(this._dim.width);