Ejemplo n.º 1
0
        private void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null)
        {
            ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, messages));
            StatusChanged.InvokeAsync(status);

            ParentValidations?.NotifyValidationStatusChanged(this);
        }
Ejemplo n.º 2
0
 /// <inheritdoc/>
 public void Dispose()
 {
     if (ParentValidations != null)
     {
         // To avoid leaking memory, it's important to detach any event handlers in Dispose()
         ParentValidations.ClearingAll -= OnClearingAll;
         ParentValidations.NotifyValidationRemoved(this);
     }
 }
Ejemplo n.º 3
0
        /// <inheritdoc/>
        protected override Task OnInitializedAsync()
        {
            if (ParentValidations is not null)
            {
                ParentValidations.ClearingAll += OnClearingAll;

                ParentValidations.NotifyValidationInitialized(this);
            }

            return(base.OnInitializedAsync());
        }
Ejemplo n.º 4
0
        /// <inheritdoc/>
        public void Dispose()
        {
            if (ParentValidations is not null)
            {
                // To avoid leaking memory, it's important to detach any event handlers in Dispose()
                ParentValidations.ClearingAll -= OnClearingAll;
                ParentValidations.NotifyValidationRemoved(this);
            }

            cancellationTokenSource?.Dispose();
            cancellationTokenSource = null;
        }
Ejemplo n.º 5
0
        protected override void OnInitialized()
        {
            if (ParentValidations != null)
            {
                ParentValidations.ValidatingAll += OnValidatingAll;
                ParentValidations.ClearingAll   += OnClearingAll;

                ParentValidations.NotifyValidationInitialized(this);
            }

            base.OnInitialized();
        }
Ejemplo n.º 6
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);
            }
        }
Ejemplo n.º 7
0
        private void NotifyValidationStatusChanged(ValidationStatus status, string message = null)
        {
            ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, message));

            ParentValidations?.NotifyValidationStatusChanged();
        }