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:
udeeshagautam
2019-05-30 12:32:38 -07:00
committed by GitHub
parent f9b7bc26c0
commit c4e59027fc
2 changed files with 19 additions and 1 deletions

View File

@@ -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

View File

@@ -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;