mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-13 17:22:15 -05:00
Backup to open correctly from insights dialog (#5737)
* recreate modal dialog button to ensure onDidClick works properly * fixing comment message * Adding PR comments
This commit is contained in:
@@ -412,6 +412,22 @@ export abstract class Modal extends Disposable implements IThemable {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* removes the footer button matching the provided label
|
||||
* @param label Label on the button
|
||||
*/
|
||||
protected removeFooterButton(label: string): void {
|
||||
let buttonIndex = this._footerButtons.findIndex(e => {
|
||||
return e && e.element && e.element.innerText === label;
|
||||
});
|
||||
if (buttonIndex > -1 && buttonIndex < this._footerButtons.length) {
|
||||
let button = this._footerButtons[buttonIndex];
|
||||
DOM.removeNode(button.element);
|
||||
button.dispose();
|
||||
this._footerButtons.splice(buttonIndex, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show an error in the error message element
|
||||
* @param message Text to show in the message
|
||||
|
||||
@@ -337,7 +337,9 @@ export class InsightsDialogView extends Modal {
|
||||
let task = tasks.includes(action);
|
||||
let commandAction = MenuRegistry.getCommand(action);
|
||||
let commandLabel = types.isString(commandAction.title) ? commandAction.title : commandAction.title.value;
|
||||
if (task && !this.findFooterButton(commandLabel)) {
|
||||
if (task) {
|
||||
// need to remove and add fresh because the onDidClick action from previous addition is not called
|
||||
this.removeFooterButton(commandLabel);
|
||||
let button = this.addFooterButton(commandLabel, () => {
|
||||
let element = this._topTable.getSelectedRows();
|
||||
let resource: ListResource;
|
||||
|
||||
Reference in New Issue
Block a user