示例#1
0
        private void BuildToastSettings(ToastLevel level, string message)
        {
            switch (level)
            {
            case ToastLevel.NewFollower:
                BackgroundCssClass = "bg-info";
                IconCssClass       = "info";
                Heading            = "Info";
                break;

            case ToastLevel.NewSubscriber:
                BackgroundCssClass = "bg-success";
                IconCssClass       = "check";
                Heading            = "Success";
                break;

            case ToastLevel.NewTip:
                BackgroundCssClass = "bg-warning";
                IconCssClass       = "exclamation";
                Heading            = "Warning";
                break;

            case ToastLevel.NewCheer:
                BackgroundCssClass = "bg-danger";
                IconCssClass       = "times";
                Heading            = "Error";
                break;
            }

            Message = message;
        }
示例#2
0
    void BuildToastSettings(ToastLevel level, string message)
    {
        switch (level)
        {
        case ToastLevel.Info:
            BackgroundCssClass = $"bg-info";
            IconCssClass       = "info";
            Heading            = "Info";
            break;

        case ToastLevel.Success:
            BackgroundCssClass = $"bg-success";
            IconCssClass       = "check";
            Heading            = "Success";
            break;

        case ToastLevel.Warning:
            BackgroundCssClass = $"bg-warning";
            IconCssClass       = "exclamation";
            Heading            = "Warning";
            break;

        case ToastLevel.Error:
            BackgroundCssClass = "bg-danger";
            IconCssClass       = "times";
            Heading            = "Error";
            break;
        }

        Message = message;
    }
示例#3
0
 private async void ShowToast(string message, ToastLevel level)
 {
     BuildToastSettings(level, message);
     IsVisible = true;
     StateHasChanged();
     await InvokeAsync(StateHasChanged);
 }
示例#4
0
        private void BuildToastSettings(ToastLevel level, string message, string titulo)
        {
            switch (level)
            {
            case ToastLevel.Info:
                BackgroundCssClass = "info";
                IconCssClass       = "info";
                Heading            = titulo;
                break;

            case ToastLevel.Success:
                BackgroundCssClass = "success";
                IconCssClass       = "check";
                Heading            = titulo;
                break;

            case ToastLevel.Warning:
                BackgroundCssClass = "warning";
                IconCssClass       = "exclamation";
                Heading            = titulo;
                break;

            case ToastLevel.Error:
                BackgroundCssClass = "danger";
                IconCssClass       = "times";
                Heading            = titulo;
                break;
            }

            Message = message;
        }
示例#5
0
        private ToastSettings BuildToastSettings(ToastLevel level, string message, string heading)
        {
            var cssIcon  = "e-info toast-icons";
            var cssClass = "e-toast-info";

            switch (level)
            {
            case ToastLevel.Info:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Info" : heading, message, cssClass, cssIcon));

            case ToastLevel.Success:
                cssIcon  = "e-success toast-icons";
                cssClass = "e-toast-success";
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Success" : heading, message, cssClass, cssIcon));

            case ToastLevel.Warning:
                cssIcon  = "e-warning toast-icons";
                cssClass = "e-toast-warning";
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Warning" : heading, message, cssClass, cssIcon));

            case ToastLevel.Error:
                cssIcon  = "e-error toast-icons";
                cssClass = "e-toast-danger";
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Error" : heading, message, cssClass, cssIcon));
            }

            throw new InvalidOperationException();
        }
示例#6
0
        private void BuildToastSettings(ToastLevel level, string message)
        {
            switch (level)
            {
            default:     //ToastLevel.Info:
                BackgroundCssClass = "bg-info";
                IconCssClass       = "info";
                Heading            = "Info";
                break;

            case ToastLevel.Success:
                BackgroundCssClass = "bg-success";
                IconCssClass       = "check";
                Heading            = "Success";
                break;

            case ToastLevel.Warning:
                BackgroundCssClass = "bg-warning";
                IconCssClass       = "warning";
                Heading            = "Warning";
                break;

            case ToastLevel.Error:
                BackgroundCssClass = "bg-danger";
                IconCssClass       = "bug";
                Heading            = "Error";
                break;
            }

            Message = message;
        }
示例#7
0
 public void Show(string message, ToastLevel level)
 {
     if (level != ToastLevel.Error)
     {
         StartCountdown();
     }
     BuildToastSettings(level, message);
     IsVisible = true;
     StateHasChanged();
 }
        public void ShowToast(ToastLevel level)
        {
            var toast = ToastService.ShowToast(level);

            BackgroundCssClass = toast.Item1;
            IconCssClass       = toast.Item2;
            Heading            = toast.Item3;
            isWarning          = Heading == ToastLevel.Warning.ToString();
            IsVisible          = true;
            windowShow         = "show";
        }
示例#9
0
 /// <summary>
 /// Shows a toast using the supplied settings
 /// </summary>
 /// <param name="level">Toast level to display</param>
 /// <param name="message">Text to display on the toast</param>
 /// <param name="heading">The text to display as the toasts heading</param>
 public void ShowToast(ToastLevel level, string message, string heading = "")
 {
     if (message?.Contains("\r\n") == true)
     {
         message = message.Replace("\r\n", "@@NEWLINE@@");
         message = HttpUtility.HtmlEncode(message).Replace("@@NEWLINE@@", "<br/>");
         ShowToast(level, builder => builder.AddContent(0, new MarkupString(message)), heading);
     }
     else
     {
         ShowToast(level, builder => builder.AddContent(0, message), heading);
     }
 }
示例#10
0
        private ToastSettings BuildToastSettings(ToastLevel level, string message, string heading)
        {
            var toastSettings = level switch
            {
                ToastLevel.Info => new ToastSettings(string.IsNullOrEmpty(heading) ? "Info" : heading, message, "blazored-toast-info", this.InfoClass, this.InfoIconClass),
                ToastLevel.Success => new ToastSettings(string.IsNullOrEmpty(heading) ? "Success" : heading, message, "blazored-toast-success", this.SuccessClass, this.SuccessIconClass),
                ToastLevel.Warning => new ToastSettings(string.IsNullOrEmpty(heading) ? "Warning" : heading, message, "blazored-toast-warning", this.WarningClass, this.WarningIconClass),
                ToastLevel.Error => new ToastSettings(string.IsNullOrEmpty(heading) ? "Error" : heading, message, "blazored-toast-error", this.ErrorClass, this.ErrorIconClass),
                _ => throw new ArgumentException("Invalid Toast Level."),
            };

            return(toastSettings);
        }
        private void ShowToast(ToastLevel level, RenderFragment message, string heading)
        {
            InvokeAsync(() =>
            {
                var settings = BuildToastSettings(level, message, heading);
                var toast    = new ToastInstance
                {
                    Id            = Guid.NewGuid(),
                    TimeStamp     = DateTime.Now,
                    ToastSettings = settings,
                };

                ToastList.Add(toast);

                StateHasChanged();
            });
        }
        private ToastSettings BuildToastSettings(ToastLevel level, RenderFragment message, string heading)
        {
            switch (level)
            {
            case ToastLevel.Error:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Error" : heading, message, IconType, "blazored-toast-error", ErrorClass, ErrorIcon, ShowProgressBar, timeout: ErrorTimeout));

            case ToastLevel.Info:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Info" : heading, message, IconType, "blazored-toast-info", InfoClass, InfoIcon, ShowProgressBar, timeout: Timeout));

            case ToastLevel.Success:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Success" : heading, message, IconType, "blazored-toast-success", SuccessClass, SuccessIcon, ShowProgressBar, timeout: Timeout));

            case ToastLevel.Warning:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Warning" : heading, message, IconType, "blazored-toast-warning", WarningClass, WarningIcon, ShowProgressBar, timeout: WarningTimeout));
            }
            throw new ArgumentOutOfRangeException($"{nameof(level)}:{level}");
        }
示例#13
0
        private ToastSettings BuildToastSettings(ToastLevel level, string message, string heading)
        {
            switch (level)
            {
            case ToastLevel.Info:
                return(new ToastSettings(string.IsNullOrEmpty(heading) ? _localizer["INFO"] : heading, message, "blazored-toast-info", InfoClass, InfoIconClass));

            case ToastLevel.Success:
                return(new ToastSettings(string.IsNullOrEmpty(heading) ? _localizer["SUCCESS"] : heading, message, "blazored-toast-success", SuccessClass, SuccessIconClass));;

            case ToastLevel.Warning:
                return(new ToastSettings(string.IsNullOrEmpty(heading) ? _localizer["WARNING"] : heading, message, "blazored-toast-warning", WarningClass, WarningIconClass));;

            case ToastLevel.Error:
                return(new ToastSettings(string.IsNullOrEmpty(heading) ? _localizer["ERROR"] : heading, message, "blazored-toast-error", ErrorClass, ErrorIconClass));;
            }

            throw new InvalidOperationException();
        }
示例#14
0
        private ToastSettings BuildToastSettings(ToastLevel level, string message, string heading)
        {
            switch (level)
            {
            case ToastLevel.Info:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Info" : heading, message, "blazored-toast-info", InfoClass, InfoIconClass));

            case ToastLevel.Success:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Success" : heading, message, "blazored-toast-success", SuccessClass, SuccessIconClass));

            case ToastLevel.Warning:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Warning" : heading, message, "blazored-toast-warning", WarningClass, WarningIconClass));

            case ToastLevel.Error:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Error" : heading, message, "blazored-toast-error", ErrorClass, ErrorIconClass));
            }

            throw new InvalidOperationException();
        }
        private ToastSettings BuildToastSettings(ToastLevel level, string message, string heading)
        {
            switch (level)
            {
            case ToastLevel.Info:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Info" : heading, message, "toast-info", ""));

            case ToastLevel.Success:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Success" : heading, message, "toast-success", ""));

            case ToastLevel.Warning:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Warning" : heading, message, "toast-warning", ""));

            case ToastLevel.Error:
                return(new ToastSettings(string.IsNullOrWhiteSpace(heading) ? "Error" : heading, message, "toast-error", ""));
            }

            throw new InvalidOperationException();
        }
        private void ShowToast(ToastLevel level, string message, string heading)
        {
            var settings = BuildToastSettings(level, message, heading);
            var toast    = new ToastInstance
            {
                Id            = Guid.NewGuid(),
                TimeStamp     = DateTime.Now,
                ToastSettings = settings
            };

            ToastList.Add(toast);

            var timeout    = Timeout * 1000;
            var toastTimer = new Timer(timeout);

            toastTimer.Elapsed  += (sender, args) => { RemoveToast(toast.Id); };
            toastTimer.AutoReset = false;
            toastTimer.Start();

            StateHasChanged();
        }
        private void ShowToast(ToastLevel level, string message, string heading)
        {
            var settings = BuildToastSettings(level, message, heading);
            var toastId  = Guid.NewGuid();
            var toast    = new RenderFragment(b =>
            {
                b.OpenComponent <BlazoredToast>(0);
                b.AddAttribute(1, "ToastSettings", settings);
                b.AddAttribute(2, "ToastId", toastId);
                b.CloseComponent();
            });

            ToastList.Add(toastId, toast);

            var toastTimer = new Timer(5000);

            toastTimer.Elapsed  += (sender, args) => { RemoveToast(toastId); };
            toastTimer.AutoReset = false;
            toastTimer.Start();

            StateHasChanged();
        }
示例#18
0
        private void BuildToastSettings(ToastLevel level, string message)
        {
            switch (level)
            {
            case ToastLevel.Info:
                BackgroundCssClass = "bg-info";
                IconCssClass       = "info";
                Heading            = "Info";
                break;

            case ToastLevel.Success:
                BackgroundCssClass = "bg-success";
                IconCssClass       = "check";
                Heading            = "Success";
                break;

            case ToastLevel.Warning:
                BackgroundCssClass = "bg-warning";
                IconCssClass       = "exclamation";
                Heading            = "Warning";
                break;

            case ToastLevel.Error:
                BackgroundCssClass = "bg-danger";
                IconCssClass       = "times";
                Heading            = "Error";
                break;
            }

            //Toggles between two identical css classes and animations, causing the browser to rerun the
            //animation.
            VisibleCssClass = VisibleCssClass == null || VisibleCssClass == "toast-visible1"
                ? "toast-visible" : "toast-visible1";

            Message    = message;
            ShouldShow = true;
        }
示例#19
0
        private async Task ShowToast(ToastLevel level, string message, string heading)
        {
            await this.InvokeAsync(() =>
            {
                var settings = this.BuildToastSettings(level, message, heading);
                var toast    = new ToastInstance()
                {
                    ToastSettings = settings,
                };

                this.ToastList.Add(toast);

                var timeout         = this.Timeout * 1000;
                var toastTimer      = new Timer(timeout);
                toastTimer.Elapsed += (sender, args) =>
                {
                    this.RemoveToast(toast.Id).GetAwaiter().GetResult();
                };

                toastTimer.AutoReset = false;
                toastTimer.Start();
                this.StateHasChanged();
            });
        }
示例#20
0
 public void ShowToast(string message, ToastLevel level)
 {
     BuildToastSettings(level, message);
     IsVisible = true;
     InvokeAsync(StateHasChanged);
 }
        private void LogMessage(Severity severity, string message)
        {
            Console.WriteLine($"{severity}: {message}");

            var allowedToastLevels = new ToastLevel[] { };

            var toastLevel = _settings.OtherSettings.ToastLevel;
            switch (severity)
            {
                case Severity.Debug:
                    break;
                case Severity.Verbose:
                    allowedToastLevels = new[] { ToastLevel.Verbose };
                    break;
                case Severity.Info:
                    allowedToastLevels = new[] { ToastLevel.Info, ToastLevel.Verbose };
                    break;
                case Severity.Warn:
                case Severity.Error:
                    allowedToastLevels = new[]
                    {ToastLevel.Info, ToastLevel.Verbose, ToastLevel.WarningsErrorsAndConnected};
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(severity), severity, null);
            }
            if (allowedToastLevels.Contains(toastLevel))
                ShowToast(message);
        }
示例#22
0
 /// <summary>
 /// Shows a toast using the supplied settings
 /// </summary>
 /// <param name="level">Toast level to display</param>
 /// <param name="message">Text to display on the toast</param>
 /// <param name="heading">The text to display as the toasts heading</param>
 /// <param name="onClick">Action to be executed on click</param>
 public void ShowToast(ToastLevel level, string message, string heading = "", Action?onClick = null)
 {
     ShowToast(level, builder => builder.AddContent(0, message), heading, onClick);
 }
示例#23
0
 /// <summary>
 /// Shows a toast using the supplied settings
 /// </summary>
 /// <param name="level">Toast level to display</param>
 /// <param name="message">RenderFragment to display on the toast</param>
 /// <param name="heading">The text to display as the toasts heading</param>
 /// <param name="onClick">Action to be executed on click</param>
 public void ShowToast(ToastLevel level, RenderFragment message, string heading = "", Action?onClick = null)
 {
     OnShow?.Invoke(level, message, heading, onClick);
 }
示例#24
0
 private void ShowToast(string message, ToastLevel level)
 {
     BuildToastSettings(level, message);
     IsVisible = true;
     StateHasChanged();
 }
示例#25
0
 public void ShowToast(string message, ToastLevel level, string heading = null)
 {
     OnShow?.Invoke(message, level, heading);
     StartCountdown();
 }
示例#26
0
 public void ShowToast(string message, ToastLevel level)
 {
     Console.WriteLine($"Showing toast {message}");
     BuildToastSettings(level, message);
     IsVisible = true;
 }
 public (string, string, string) ShowToast(ToastLevel level)
 {
     BuildToastSettings(level);
     return(BackgroundCssClass, IconCssClass, Heading);
 }
 public void ShowToast(string message, ToastLevel level)
 {
     OnShow?.Invoke(message, level);
     StartCountdown();
 }
示例#29
0
 public string LevelToString(ToastLevel level)
 {
     ToastDictReverse.TryGetValue(level, out string res);
     return(res);
 }
示例#30
0
 /// <summary>
 /// 显示提示框
 /// </summary>
 /// <param name="level">消息等级</param>
 /// <param name="message">消息内容</param>
 /// <param name="heading">头部信息</param>
 public void ShowToast(ToastLevel level, string message, string heading = "")
 {
     OnShow?.Invoke(level, message, heading);
 }
 /// <summary>
 /// Shows a toast using the supplied settings
 /// </summary>
 /// <param name="level">Toast level to display</param>
 /// <param name="message">Text to display on the toast</param>
 /// <param name="heading">The text to display as the toasts heading</param>
 public void ShowToast(ToastLevel level, string message, string heading = "")
 {
     ShowToast(level, builder => builder.AddContent(0, message), heading);
 }