aligned new file creation to the java ide.

Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
Akos Kitta
2020-08-01 14:07:39 +02:00
parent f503ef0fcf
commit 1f7e06f990
5 changed files with 135 additions and 8 deletions

View File

@@ -0,0 +1,39 @@
import { inject } from 'inversify';
import { MaybePromise } from '@theia/core/lib/common/types';
import { LabelProvider } from '@theia/core/lib/browser/label-provider';
import { DialogError, DialogMode } from '@theia/core/lib/browser/dialogs';
import { WorkspaceInputDialog as TheiaWorkspaceInputDialog, WorkspaceInputDialogProps } from '@theia/workspace/lib/browser/workspace-input-dialog';
export class WorkspaceInputDialog extends TheiaWorkspaceInputDialog {
protected wasTouched = false;
constructor(
@inject(WorkspaceInputDialogProps) protected readonly props: WorkspaceInputDialogProps,
@inject(LabelProvider) protected readonly labelProvider: LabelProvider,
) {
super(props, labelProvider);
this.appendCloseButton('Cancel');
}
protected appendParentPath(): void {
// NOOP
}
isValid(value: string, mode: DialogMode): MaybePromise<DialogError> {
if (value !== '') {
this.wasTouched = true;
}
return super.isValid(value, mode);
}
protected setErrorMessage(error: DialogError): void {
if (this.acceptButton) {
this.acceptButton.disabled = !DialogError.getResult(error);
}
if (this.wasTouched) {
this.errorMessageNode.innerText = DialogError.getMessage(error);
}
}
}