Simplify button logic and enable button updates for custom dialogs (#1283)

This commit is contained in:
Matt Irvine
2018-04-27 16:29:18 -07:00
committed by GitHub
parent 886717d330
commit 24e8c20511
11 changed files with 119 additions and 72 deletions

View File

@@ -15,11 +15,21 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
const defaultOptions: IModalOptions = { hasBackButton: true, isWide: false };
export class CustomDialogService {
private _dialogModals = new Map<Dialog, DialogModal>();
constructor( @IInstantiationService private _instantiationService: IInstantiationService) { }
public showDialog(dialog: Dialog, options?: IModalOptions): void {
let optionsDialog = this._instantiationService.createInstance(DialogModal, dialog, 'CustomDialog', options || defaultOptions);
optionsDialog.render();
optionsDialog.open();
let dialogModal = this._instantiationService.createInstance(DialogModal, dialog, 'CustomDialog', options || defaultOptions);
this._dialogModals.set(dialog, dialogModal);
dialogModal.render();
dialogModal.open();
}
public closeDialog(dialog: Dialog): void {
let dialogModal = this._dialogModals.get(dialog);
if (dialogModal) {
dialogModal.cancel();
}
}
}