import { Observable } from '@dsf/lib/observable'; import { BasicDialog } from './basic-dialog'; import { InputValidator } from './input-validator'; export class InputDialogModel { /** * @deprecated use `text$` instead */ value$: Observable = new Observable() get text$(): Observable { return this.value$ } validator: InputValidator | null = null getNumericValue(): number { return parseFloat(this.value$.value).valueOf() } constructor(validator: InputValidator | null = null) { this.validator = validator } } export class InputDialog extends BasicDialog { constructor(title: string, private readonly model: InputDialogModel) { super(title); } protected build(): void { this.add.edit().value(this.model.value$).validator(this.model.validator).focus() } }