Ejemplo n.º 1
0
        public void Should_Add_And_Remove_When_AlertTimout()
        {
            Services.AddHttpClientInterceptor();
            var alertComponent = RenderComponent <TestAlertError>();

            var alert = new JhiAlert
            {
                Msg     = "test",
                Type    = TypeAlert.Danger,
                Timeout = 100
            };

            alertComponent.Instance.AlertError.AddAlert(alert);

            alertComponent.WaitForAssertion(() =>
            {
                var alerts = alertComponent.Instance.AlertError.GetAlerts();
                (alerts.Count > 0).Should().BeTrue();
                alerts.First(a => a.Msg == $"test").Should().NotBeNull();
            });
            alertComponent.WaitForAssertion(() =>
            {
                var alerts = alertComponent.Instance.AlertError.GetAlerts();
                (alerts.Count == 0).Should().BeTrue();
            });
        }
 public async Task AddAlert(JhiAlert alert)
 {
     Alerts.Add(alert);
     if (alert.Timeout != 0)
     {
         RemoveAfter(alert, alert.Timeout);
     }
     await InvokeAsync(StateHasChanged);
 }
        private void AddErrorAlert(string errorMsg)
        {
            var alert = new JhiAlert
            {
                Type    = TypeAlert.Danger,
                Msg     = errorMsg,
                Timeout = 3000,
                Scoped  = true,
            };

            AddAlert(alert);
        }
        private void RemoveAfter(JhiAlert alert, double timeout)
        {
            var timer = new Timer {
                Interval = timeout
            };

            timer.Elapsed += (sender, args) =>
            {
                if (sender is Timer senderTimer)
                {
                    senderTimer.Stop();
                }

                RemoveAlert(alert);
            };
            timer.Start();
        }
        private Color GetColorAlert(JhiAlert alert)
        {
            switch (alert.Type)
            {
            case TypeAlert.Danger:
                return(Color.Danger);

            case TypeAlert.Info:
                return(Color.Info);

            case TypeAlert.Success:
                return(Color.Success);

            case TypeAlert.Warning:
                return(Color.Warning);

            default:
                return(Color.Danger);
            }
        }
 public async Task RemoveAlert(JhiAlert alert)
 {
     Alerts.Remove(alert);
     await InvokeAsync(StateHasChanged);
 }