public RemoteValueChangeByChoiceForm( string title, Func <T, Task <T> > saveChange, RemoteValueChangeByChoiceFormView <T> view, params Validate <T>[] validators) : this(() => title, saveChange, view, validators) { }
public RemoteValueChangeByChoiceForm( Func <string> titleProv, Func <T, Task <T> > saveChange, RemoteValueChangeByChoiceFormView <T> view, params Validate <T>[] validators) { _titleProv = titleProv; _view = view; _localValue = LocalValueFieldBuilder.Build(default(T), view.Choosen, validators); var remoteActionModel = RemoteActionBuilder.Build(view.Confirm, () => saveChange(_localValue.Value), x => { SavedValue = x; Ended?.Invoke(this, CompletedOrCanceled.Completed); }); var isFormValid = new AggregatedErrorsValue <bool>(false, self => !self.Errors.Any(), x => { x.Observes(_localValue); }); remoteActionModel.BindEnableAndInitialize(isFormValid); }