public void OptionNames() { var s = new ToastOptions(); var names = s.GetOptionNames(); Assert.AreEqual(propertyNames.Count, names.Count); }
public void Add(ToastType type, string message, string title, Action <ToastOptions> configure) { if (message.IsEmpty()) { return; } message = message.Trimmed(); title = title.Trimmed(); var options = new ToastOptions(type, Configuration); configure?.Invoke(options); var toast = new Toast(title, message, options); ToastLock.EnterWriteLock(); try { if (Configuration.PreventDuplicates && ToastAlreadyPresent(toast)) { return; } toast.OnClose += Remove; Toasts.Add(toast); } finally { ToastLock.ExitWriteLock(); } OnToastsUpdated?.Invoke(); }
public ToastPageViewModel() { PageTitle = "Hello, World!"; var moonOptions = new ToastOptions { ToastAction = async() => { PageTitle = "Hello, Mercury!"; await Task.Delay(1500); PageTitle = "Hello, World!"; }, OnBeforeDisplayingToast = toastView => { toastView.Opacity = 0; return(toastView.FadeTo(1, 500, Easing.Linear)); }, OnBeforeHidingToast = toastView => toastView.FadeTo(0, 500, Easing.Linear), Duration = 10000 }; MoonCommand = new AsyncCommand <string>(title => ToastControl.DisplayToast(title, moonOptions, m_moonLayout)); VenusCommand = new AsyncCommand <string>(title => ToastControl.DisplayToast(title, VenusOptions(), VenusLayout())); MarsCommand = new AsyncCommand <string>(title => ToastControl.DisplayToast(title)); PlutoCommand = new AsyncCommand <string>(title => ToastControl.DisplayToast(title, m_plutoOptions, m_plutoLayout)); }
internal Toast(string title, string message, ToastOptions options) { Title = title; Message = message; State = new State(options); Timer = new Timer(TimerElapsed, null, Timeout.Infinite, Timeout.Infinite); }
private void OnToast(ref SeString message, ref ToastOptions options, ref bool isHandled) { try { if (isHandled) { return; } if (Config.Hide) { if (Config.ShowInCombat && Service.Condition[ConditionFlag.InCombat]) { return; } } else { var messageStr = message.ToString(); if (Config.Exceptions.All(x => !messageStr.Contains(x))) { return; } } isHandled = true; } catch (Exception ex) { SimpleLog.Error(ex); } }
private IntPtr HandleNormalToastDetour(IntPtr manager, IntPtr text, int layer, byte isTop, byte isFast, int logMessageId) { if (text == IntPtr.Zero) { return(IntPtr.Zero); } // call events var isHandled = false; var str = this.ParseString(text); var options = new ToastOptions { Position = (ToastPosition)isTop, Speed = (ToastSpeed)isFast, }; this.Toast?.Invoke(ref str, ref options, ref isHandled); // do nothing if handled if (isHandled) { return(IntPtr.Zero); } var terminated = Terminate(str.Encode()); unsafe { fixed(byte *message = terminated) { return(this.showNormalToastHook.Original(manager, (IntPtr)message, layer, (byte)options.Position, (byte)options.Speed, logMessageId)); } } }
public void ConstructOptions() { #if __ANDROID__ var to = new ToastOptions(Platform.Activity); #else var to = new ToastOptions(); #endif Assert.NotNull(to); }
public ToastService(IServiceProvider serviceProvider, ToastOptions options) { options.ThrowIfNull(); _serviceProvider = serviceProvider; _activeToasts = new List <ToastState>(); _modelComponentMapping = options.Mapping; ToastPosition = options.Position; }
public Toast(string title, string message, ToastOptions options) { Title = title; Message = message; Options = options; AnimationId = $"toaster-{Guid.NewGuid()}"; State = ToastState.Init; Timer = new TransitionTimer(TimerElapsed); }
public void SingularMaxHeightCustom() { var propertyIndex = 3; var expectedValue = 75; var src = new ToastOptions { SingularMaxHeight = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void HeightCustom() { var propertyIndex = 1; var expectedValue = 50; var src = new ToastOptions { Height = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
private ToastOptions ConfigureOptions(ToastOptions options) { options.MaximumOpacity = _maximumOpacity; options.EscapeHtml = _escapeHtml; options.RequireInteraction = _requireInteraction; options.ShowProgressBar = _showProgressBar; options.ShowCloseIcon = _showCloseIcon; options.ShowTransitionDuration = _showTransitionDuration; options.VisibleStateDuration = _visibleStateDuration; options.HideTransitionDuration = _hideTransitionDuration; return(options); }
public void IconWidthCustom() { var propertyIndex = 5; var expectedValue = 20; var src = new ToastOptions { IconWidth = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void FontSizeCustom() { var propertyIndex = 4; var expectedValue = 50.75; var src = new ToastOptions { FontSize = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, CreatePercentageValue(expectedValue)); }
public void WarnColorCustom() { var propertyIndex = 15; var expectedValue = CreateColor(); var src = new ToastOptions { WarnColor = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void HideCustom() { var propertyIndex = 0; var expectedValue = true; var src = new ToastOptions { Hide = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void SuccessBackgroundColorCustom() { var propertyIndex = 12; var expectedValue = CreateColor(); var src = new ToastOptions { SuccessBackgroundColor = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void TextPaddingCustom() { var propertyIndex = 7; var expectedValue = 10; var src = new ToastOptions { TextPadding = expectedValue }; var so = PopulateOptions(src); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public static IServiceCollection AddBlazoredToast(this IServiceCollection services, Action <ToastOptions> toastOptionsAction) { if (toastOptionsAction == null) { throw new ArgumentNullException(nameof(toastOptionsAction)); } var toastOptions = new ToastOptions(); toastOptionsAction(toastOptions); return(AddBlazoredToast(services, toastOptions)); }
public void EmptyContructor() { var src = new ToastOptions { }; var so = PopulateOptions(src); Assert.AreEqual(0, so.Count); so = PopulateOptions(src, true); Assert.AreEqual(16, so.Count); }
public void HeightDefault() { var propertyIndex = 1; var expectedValue = ToastOptions.Defaults.Height; var src = new ToastOptions { }; var so = PopulateOptions(src); AssertEmptyProperty(so, propertyIndex); so = PopulateOptions(src, true); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void WarnBackgroundColorDefault() { var propertyIndex = 14; var expectedValue = ToastOptions.Defaults.WarnBackgroundColor; var src = new ToastOptions { }; var so = PopulateOptions(src); AssertEmptyProperty(so, propertyIndex); so = PopulateOptions(src, true); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void FontSizeDefault() { var propertyIndex = 4; var expectedValue = ToastOptions.Defaults.FontSize; var src = new ToastOptions { }; var so = PopulateOptions(src); AssertEmptyProperty(so, propertyIndex); so = PopulateOptions(src, true); AssertPopulatedProperty(so, propertyIndex, CreatePercentageValue(expectedValue)); }
public void SeparatorColorDefault() { var propertyIndex = 6; var expectedValue = ToastOptions.Defaults.SeparatorColor; var src = new ToastOptions { }; var so = PopulateOptions(src); AssertEmptyProperty(so, propertyIndex); so = PopulateOptions(src, true); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void TextPaddingDefault() { var propertyIndex = 7; var expectedValue = ToastOptions.Defaults.TextPadding; var src = new ToastOptions { }; var so = PopulateOptions(src); AssertEmptyProperty(so, propertyIndex); so = PopulateOptions(src, true); AssertPopulatedProperty(so, propertyIndex, expectedValue); }
public void NotificationManagerInit() { Assert.Throws <InvalidOperationException>(() => NotificationManager.Instance); #if __ANDROID__ var to = new ToastOptions(Platform.Activity); #else var to = new ToastOptions(); #endif NotificationManager.Init(to); Assert.NotNull(NotificationManager.Instance); Assert.NotNull(NotificationManager.History); Assert.NotNull(NotificationManager.GetNotificationEventSource()); }
public static Task DisplayToastAsync(this Page page, ToastOptions toastOptions) { var snackBar = new SnackBar(); var arguments = toastOptions ?? new ToastOptions(); var options = new SnackBarOptions { MessageOptions = arguments.MessageOptions, Duration = arguments.Duration, BackgroundColor = arguments.BackgroundColor, IsRtl = arguments.IsRtl }; snackBar.Show(page, options); return(options.Result.Task); }
public static async Task ShowErrorSnackBarAsync(this Page page, string message, SnackbarDuration duration = SnackbarDuration.Short) { var messageOptions = new MessageOptions { Foreground = Color.White, Message = message }; var options = new ToastOptions { MessageOptions = messageOptions, Duration = duration == SnackbarDuration.Long ? TimeSpan.FromMilliseconds(5000) : TimeSpan.FromMilliseconds(2500), BackgroundColor = Color.FromHex("e22f2f"), IsRtl = false, }; await page.DisplayToastAsync(options); }
private void ShowNormal(byte[] bytes, ToastOptions options = null) { options ??= new ToastOptions(); var manager = this.dalamud.Framework.Gui.GetUIModule(); // terminate the string var terminated = Terminate(bytes); unsafe { fixed(byte *ptr = terminated) { this.HandleNormalToastDetour(manager, (IntPtr)ptr, 5, (byte)options.Position, (byte)options.Speed, 0); } } }
async void DisplayToastAnchoredClicked(object?sender, EventArgs args) { var messageOptions = new MessageOptions { Message = "Anchored toast", Foreground = Color.Black }; var options = new ToastOptions { MessageOptions = messageOptions, Duration = TimeSpan.FromMilliseconds(5000), BackgroundColor = Color.LightBlue }; await Anchor1.DisplayToastAsync(options); }