mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-23 01:25:38 -05:00
add strict compile for restore (#12067)
This commit is contained in:
@@ -36,14 +36,14 @@ export interface IOptionsDialogOptions extends IModalOptions {
|
||||
}
|
||||
|
||||
export class OptionsDialog extends Modal {
|
||||
private _body: HTMLElement;
|
||||
private _optionGroupsContainer: HTMLElement;
|
||||
private _body?: HTMLElement;
|
||||
private _optionGroupsContainer?: HTMLElement;
|
||||
private _categoryTitles: HTMLElement[] = [];
|
||||
private _dividerBuilder: HTMLElement;
|
||||
private _optionTitle: HTMLElement;
|
||||
private _optionDescription: HTMLElement;
|
||||
private _dividerBuilder?: HTMLElement;
|
||||
private _optionTitle?: HTMLElement;
|
||||
private _optionDescription?: HTMLElement;
|
||||
private _optionElements: { [optionName: string]: OptionsDialogHelper.IOptionElement } = {};
|
||||
private _optionValues: { [optionName: string]: string };
|
||||
private _optionValues: { [optionName: string]: string } = {};
|
||||
|
||||
private _onOk = new Emitter<void>();
|
||||
public onOk: Event<void> = this._onOk.event;
|
||||
@@ -54,7 +54,7 @@ export class OptionsDialog extends Modal {
|
||||
constructor(
|
||||
title: string,
|
||||
name: string,
|
||||
options: IOptionsDialogOptions,
|
||||
options: IOptionsDialogOptions | undefined,
|
||||
@ILayoutService layoutService: ILayoutService,
|
||||
@IThemeService themeService: IThemeService,
|
||||
@IContextViewService private _contextViewService: IContextViewService,
|
||||
@@ -99,25 +99,25 @@ export class OptionsDialog extends Modal {
|
||||
// Update theming that is specific to options dialog flyout body
|
||||
private updateTheme(theme: IColorTheme): void {
|
||||
const borderColor = theme.getColor(contrastBorder);
|
||||
const border = borderColor ? borderColor.toString() : null;
|
||||
const border = borderColor ? borderColor.toString() : '';
|
||||
const backgroundColor = theme.getColor(SIDE_BAR_BACKGROUND);
|
||||
if (this._dividerBuilder) {
|
||||
this._dividerBuilder.style.borderTopWidth = border ? '1px' : null;
|
||||
this._dividerBuilder.style.borderTopStyle = border ? 'solid' : null;
|
||||
this._dividerBuilder.style.borderTopWidth = border ? '1px' : '';
|
||||
this._dividerBuilder.style.borderTopStyle = border ? 'solid' : '';
|
||||
this._dividerBuilder.style.borderTopColor = border;
|
||||
}
|
||||
this._categoryTitles.forEach(titleElement => {
|
||||
titleElement.style.borderWidth = border ? '1px 0px' : null;
|
||||
titleElement.style.borderStyle = border ? 'solid none' : null;
|
||||
titleElement.style.borderWidth = border ? '1px 0px' : '';
|
||||
titleElement.style.borderStyle = border ? 'solid none' : '';
|
||||
titleElement.style.borderColor = border;
|
||||
titleElement.style.backgroundColor = backgroundColor ? backgroundColor.toString() : null;
|
||||
titleElement.style.backgroundColor = backgroundColor ? backgroundColor.toString() : '';
|
||||
});
|
||||
}
|
||||
|
||||
private onOptionLinkClicked(optionName: string): void {
|
||||
let option = this._optionElements[optionName].option;
|
||||
this._optionTitle.innerText = option.displayName;
|
||||
this._optionDescription.innerText = option.description;
|
||||
this._optionTitle!.innerText = option.displayName;
|
||||
this._optionDescription!.innerText = option.description;
|
||||
}
|
||||
|
||||
private fillInOptions(container: HTMLElement, options: azdata.ServiceOption[]): void {
|
||||
@@ -193,18 +193,18 @@ export class OptionsDialog extends Modal {
|
||||
|
||||
public open(options: azdata.ServiceOption[], optionValues: { [name: string]: any }) {
|
||||
this._optionValues = optionValues;
|
||||
let firstOption: string;
|
||||
let firstOption: string | undefined;
|
||||
let categoryMap = OptionsDialogHelper.groupOptionsByCategory(options);
|
||||
clearNode(this._optionGroupsContainer);
|
||||
clearNode(this._optionGroupsContainer!);
|
||||
for (let category in categoryMap) {
|
||||
const title = append(this._optionGroupsContainer, $('h2.option-category-title'));
|
||||
const title = append(this._optionGroupsContainer!, $('h2.option-category-title'));
|
||||
title.innerText = category;
|
||||
this._categoryTitles.push(title);
|
||||
|
||||
let serviceOptions: azdata.ServiceOption[] = categoryMap[category];
|
||||
let bodyContainer = $('table.optionsDialog-table');
|
||||
this.fillInOptions(bodyContainer, serviceOptions);
|
||||
append(this._optionGroupsContainer, bodyContainer);
|
||||
append(this._optionGroupsContainer!, bodyContainer);
|
||||
|
||||
if (!firstOption) {
|
||||
firstOption = serviceOptions[0].name;
|
||||
@@ -212,7 +212,7 @@ export class OptionsDialog extends Modal {
|
||||
}
|
||||
this.updateTheme(this._themeService.getColorTheme());
|
||||
this.show();
|
||||
let firstOptionWidget = this._optionElements[firstOption].optionWidget;
|
||||
let firstOptionWidget = this._optionElements[firstOption!].optionWidget;
|
||||
this.registerStyling();
|
||||
setTimeout(() => firstOptionWidget.focus(), 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user