private void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null) { ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, messages)); StatusChanged.InvokeAsync(status); ParentValidations?.NotifyValidationStatusChanged(this); }
/// <inheritdoc/> public void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null) { // raise events only if status or message is changed to prevent unnecessary re-renders if (Status != status || (Messages?.AreEqual(messages) == false)) { Status = status; Messages = messages; ValidationStatusChanged?.Invoke(this, new(status, messages) ); InvokeAsync(() => StatusChanged.InvokeAsync(status)); ParentValidations?.NotifyValidationStatusChanged(this); } }
protected void OnRadioChanged(MouseEventArgs e) { if (IsDisabled) { return; } if (RadioGroup != null) { _ = RadioGroup.TrySetValueAsync(Value, !SelectedValueChanged.HasDelegate); return; } var newStatus = Status == RadioStatus.Selected ? RadioStatus.UnSelected : RadioStatus.Selected; if (StatusChanging.HasDelegate) { var arg = new BChangeEventArgs <RadioStatus>(); arg.OldValue = Status; arg.NewValue = newStatus; StatusChanging.InvokeAsync(arg).Wait(); if (arg.DisallowChange) { return; } } if (newStatus == RadioStatus.Selected && !TypeHelper.Equal(SelectedValue, Value)) { SelectedValue = Value; } if (RadioGroup == null) { SetFieldValue(SelectedValue, true); if (FormItem != null) { FormItem.MarkAsRequireRender(); FormItem.Refresh(); } } if (StatusChanged.HasDelegate) { _ = StatusChanged.InvokeAsync(newStatus); } if (SelectedValueChanged.HasDelegate) { _ = SelectedValueChanged.InvokeAsync(SelectedValue); } }
protected override void OnAfterRender(bool firstRender) { base.OnAfterRender(firstRender); var oldStatus = Status; if (TypeHelper.Equal(SelectedValue, Value)) { Status = RadioStatus.Selected; } else { Status = RadioStatus.UnSelected; } if (oldStatus != Status) { if (StatusChanged.HasDelegate) { RequireRender = true; _ = StatusChanged.InvokeAsync(Status); } } }
private void RaiseStatusChanged(ValidationStatus status, IReadOnlyCollection <string> messages) { _StatusChanged?.Invoke(new ValidationsStatusChangedEventArgs(status, messages)); StatusChanged.InvokeAsync(new ValidationsStatusChangedEventArgs(status, messages)); }
void RaiseStatusChanged(ListenerStatus status) { Status = status; StatusChanged?.InvokeAsync(this, EventArgs.Empty); }