mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Fix backup/restore dialog titles not updating (#23164)
* Fix backup/restore dialog titles not updating * Don't cast
This commit is contained in:
@@ -661,7 +661,7 @@ export abstract class Modal extends Disposable implements IThemable {
|
|||||||
/**
|
/**
|
||||||
* Set the title of the modal
|
* Set the title of the modal
|
||||||
*/
|
*/
|
||||||
protected set title(title: string) {
|
public set title(title: string) {
|
||||||
this._title = title;
|
this._title = title;
|
||||||
if (this._modalTitle) {
|
if (this._modalTitle) {
|
||||||
this._modalTitle.innerText = title;
|
this._modalTitle.innerText = title;
|
||||||
@@ -671,7 +671,7 @@ export abstract class Modal extends Disposable implements IThemable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected get title(): string {
|
public get title(): string {
|
||||||
return this._title;
|
return this._title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import { BackupDialog } from 'sql/workbench/contrib/backup/browser/backupDialog'
|
|||||||
import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog';
|
import { OptionsDialog } from 'sql/workbench/browser/modal/optionsDialog';
|
||||||
import { IBackupService, TaskExecutionMode } from 'sql/platform/backup/common/backupService';
|
import { IBackupService, TaskExecutionMode } from 'sql/platform/backup/common/backupService';
|
||||||
import { IBackupUiService } from 'sql/workbench/contrib/backup/common/backupUiService';
|
import { IBackupUiService } from 'sql/workbench/contrib/backup/common/backupUiService';
|
||||||
|
import { localize } from 'vs/nls';
|
||||||
|
|
||||||
export class BackupUiService implements IBackupUiService {
|
export class BackupUiService implements IBackupUiService {
|
||||||
public _serviceBrand: undefined;
|
public _serviceBrand: undefined;
|
||||||
@@ -62,11 +63,12 @@ export class BackupUiService implements IBackupUiService {
|
|||||||
this._connectionUri = ConnectionUtils.generateUri(connection);
|
this._connectionUri = ConnectionUtils.generateUri(connection);
|
||||||
this._currentProvider = connection.providerName;
|
this._currentProvider = connection.providerName;
|
||||||
let backupDialog = this._backupDialogs[this._currentProvider];
|
let backupDialog = this._backupDialogs[this._currentProvider];
|
||||||
|
const backupDialogTitle = localize('backupDialogTitle', 'Backup database - {0}:{1}', connection.serverName, connection.databaseName);
|
||||||
|
const backupOptions = this.getOptions(this._currentProvider);
|
||||||
if (!backupDialog) {
|
if (!backupDialog) {
|
||||||
let backupOptions = this.getOptions(this._currentProvider);
|
|
||||||
if (backupOptions) {
|
if (backupOptions) {
|
||||||
backupDialog = this._instantiationService.createInstance(
|
backupDialog = this._instantiationService.createInstance(
|
||||||
OptionsDialog, 'Backup database - ' + connection.serverName + ':' + connection.databaseName, 'BackupOptions', undefined);
|
OptionsDialog, backupDialogTitle, 'BackupOptions', undefined);
|
||||||
backupDialog.onOk(() => this.handleOptionDialogClosed());
|
backupDialog.onOk(() => this.handleOptionDialogClosed());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -74,9 +76,12 @@ export class BackupUiService implements IBackupUiService {
|
|||||||
}
|
}
|
||||||
backupDialog.render();
|
backupDialog.render();
|
||||||
this._backupDialogs[this._currentProvider] = backupDialog;
|
this._backupDialogs[this._currentProvider] = backupDialog;
|
||||||
|
} else if (backupOptions) {
|
||||||
|
// Update the title for non-MSSQL restores each time so they show the correct database name since those
|
||||||
|
// use just a basic OptionsDialog which doesn't get updated on every open
|
||||||
|
backupDialog.title = backupDialogTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
let backupOptions = this.getOptions(this._currentProvider);
|
|
||||||
let uri = this._connectionManagementService.getConnectionUri(connection)
|
let uri = this._connectionManagementService.getConnectionUri(connection)
|
||||||
+ ProviderConnectionInfo.idSeparator
|
+ ProviderConnectionInfo.idSeparator
|
||||||
+ ConnectionUtils.ConnectionUriBackupIdAttributeName
|
+ ConnectionUtils.ConnectionUriBackupIdAttributeName
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import { invalidProvider } from 'sql/base/common/errors';
|
|||||||
import { ILogService } from 'vs/platform/log/common/log';
|
import { ILogService } from 'vs/platform/log/common/log';
|
||||||
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
|
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
|
||||||
import { DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes';
|
import { DatabaseEngineEdition } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||||
|
import { localize } from 'vs/nls';
|
||||||
|
|
||||||
export class RestoreService implements IRestoreService {
|
export class RestoreService implements IRestoreService {
|
||||||
|
|
||||||
@@ -300,6 +301,7 @@ export class RestoreDialogController implements IRestoreDialogController {
|
|||||||
this._connectionService.connect(connection, this._ownerUri).then(connectionResult => {
|
this._connectionService.connect(connection, this._ownerUri).then(connectionResult => {
|
||||||
this._sessionId = undefined;
|
this._sessionId = undefined;
|
||||||
this._currentProvider = this.getCurrentProviderId();
|
this._currentProvider = this.getCurrentProviderId();
|
||||||
|
const dialogTitle = localize('restoreDialogTitle', 'Restore database - {0}:{1}', connection.serverName, connection.databaseName);
|
||||||
if (!this._restoreDialogs[this._currentProvider]) {
|
if (!this._restoreDialogs[this._currentProvider]) {
|
||||||
let newRestoreDialog: RestoreDialog | OptionsDialog;
|
let newRestoreDialog: RestoreDialog | OptionsDialog;
|
||||||
if (this._currentProvider === ConnectionConstants.mssqlProviderName) {
|
if (this._currentProvider === ConnectionConstants.mssqlProviderName) {
|
||||||
@@ -311,12 +313,16 @@ export class RestoreDialogController implements IRestoreDialogController {
|
|||||||
newRestoreDialog.onDatabaseListFocused(() => this.fetchDatabases(provider));
|
newRestoreDialog.onDatabaseListFocused(() => this.fetchDatabases(provider));
|
||||||
} else {
|
} else {
|
||||||
newRestoreDialog = this._instantiationService.createInstance(
|
newRestoreDialog = this._instantiationService.createInstance(
|
||||||
OptionsDialog, 'Restore database - ' + connection.serverName + ':' + connection.databaseName, 'RestoreOptions', undefined);
|
OptionsDialog, dialogTitle, 'RestoreOptions', undefined);
|
||||||
newRestoreDialog.onOk(() => this.handleOnRestore());
|
newRestoreDialog.onOk(() => this.handleOnRestore());
|
||||||
}
|
}
|
||||||
newRestoreDialog.onCloseEvent(() => this.handleOnClose());
|
newRestoreDialog.onCloseEvent(() => this.handleOnClose());
|
||||||
newRestoreDialog.render();
|
newRestoreDialog.render();
|
||||||
this._restoreDialogs[this._currentProvider] = newRestoreDialog;
|
this._restoreDialogs[this._currentProvider] = newRestoreDialog;
|
||||||
|
} else if (this._currentProvider !== ConnectionConstants.mssqlProviderName) {
|
||||||
|
// Update the title for non-MSSQL restores each time so they show the correct database name since those
|
||||||
|
// use just a basic OptionsDialog which doesn't get updated on every open
|
||||||
|
this._restoreDialogs[this._currentProvider].title = dialogTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._currentProvider === ConnectionConstants.mssqlProviderName) {
|
if (this._currentProvider === ConnectionConstants.mssqlProviderName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user