Пример #1
0
        private void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null)
        {
            ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, messages));
            StatusChanged.InvokeAsync(status);

            ParentValidations?.NotifyValidationStatusChanged(this);
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
        private void RaiseStatusChanged(ValidationStatus status, IReadOnlyCollection <string> messages)
        {
            _StatusChanged?.Invoke(new ValidationsStatusChangedEventArgs(status, messages));

            StatusChanged.InvokeAsync(new ValidationsStatusChangedEventArgs(status, messages));
        }
Пример #6
0
 void RaiseStatusChanged(ListenerStatus status)
 {
     Status = status;
     StatusChanged?.InvokeAsync(this, EventArgs.Empty);
 }