public async Task DialogShouldNotOverwriteParameters() { var comp = ctx.RenderComponent <MudDialogProvider>(); comp.Markup.Trim().Should().BeEmpty(); var service = ctx.Services.GetService <IDialogService>() as DialogService; service.Should().NotBe(null); IDialogReference dialogReference = null; var parameters = new DialogParameters(); parameters.Add("TestValue", "test"); parameters.Add("Color_Test", Color.Error); // !! comment me !! await comp.InvokeAsync(() => dialogReference = service?.Show <DialogWithParameters>(string.Empty, parameters)); dialogReference.Should().NotBe(null); Console.WriteLine("----------------------------------------"); Console.WriteLine(comp.Markup); var textField = comp.FindComponent <MudInput <string> >().Instance; textField.Text.Should().Be("test"); comp.Find("input").Change("new_test"); comp.Find("input").Blur(); textField.Text.Should().Be("new_test"); comp.FindAll("button")[0].Click(); Console.WriteLine("----------------------------------------"); Console.WriteLine(comp.Markup); (dialogReference.Dialog as DialogWithParameters).TestValue.Should().Be("new_test"); textField.Text.Should().Be("new_test"); }
public async Task SimpleTest() { var comp = Context.RenderComponent <MudDialogProvider>(); comp.Markup.Trim().Should().BeEmpty(); var service = Context.Services.GetService <IDialogService>() as DialogService; service.Should().NotBe(null); IDialogReference dialogReference = null; // open simple test dialog await comp.InvokeAsync(() => dialogReference = service?.Show <DialogOkCancel>()); dialogReference.Should().NotBe(null); Console.WriteLine(comp.Markup); comp.Find("div.mud-dialog-container").Should().NotBe(null); comp.Find("p.mud-typography").TrimmedText().Should().Be("Wabalabadubdub!"); // close by click outside the dialog comp.Find("div.mud-overlay").Click(); comp.Markup.Trim().Should().BeEmpty(); var result = await dialogReference.Result; result.Cancelled.Should().BeTrue(); // open simple test dialog await comp.InvokeAsync(() => dialogReference = service?.Show <DialogOkCancel>()); // close by click on cancel button comp.FindAll("button")[0].Click(); result = await dialogReference.Result; result.Cancelled.Should().BeTrue(); // open simple test dialog await comp.InvokeAsync(() => dialogReference = service?.Show <DialogOkCancel>()); // close by click on ok button comp.FindAll("button")[1].Click(); result = await dialogReference.Result; result.Cancelled.Should().BeFalse(); }
protected async Task AddSelectionToCollection() { var parameters = new DialogParameters { { "EntityType", _selectedItems.Count.ToString() }, { "EntityName", "selected items" } }; var options = new DialogOptions { CloseButton = true, MaxWidth = MaxWidth.ExtraSmall }; IDialogReference dialog = Dialog.Show <AddToCollectionDialog>("Add To Collection", parameters, options); DialogResult result = await dialog.Result; if (!result.Cancelled && result.Data is MediaCollectionViewModel collection) { var request = new AddItemsToCollection( collection.Id, _selectedItems.OfType <MovieCardViewModel>().Map(m => m.MovieId).ToList(), _selectedItems.OfType <TelevisionShowCardViewModel>().Map(s => s.TelevisionShowId).ToList()); Either <BaseError, Unit> addResult = await Mediator.Send(request); addResult.Match( Left: error => { Snackbar.Add($"Unexpected error adding items to collection: {error.Value}"); Logger.LogError("Unexpected error adding items to collection: {Error}", error.Value); }, Right: _ => { Snackbar.Add( $"Added {_selectedItems.Count} items to collection {collection.Name}", Severity.Success); ClearSelection(); }); } }
public async Task InlineDialogShouldHonorClassAndStyle() { var comp = Context.RenderComponent <MudDialogProvider>(); comp.Markup.Trim().Should().BeEmpty(); var service = Context.Services.GetService <IDialogService>() as DialogService; service.Should().NotBe(null); IDialogReference dialogReference = null; // open simple test dialog await comp.InvokeAsync(() => dialogReference = service?.Show <TestInlineDialog>()); comp.WaitForAssertion(() => dialogReference.Should().NotBe(null)); comp.Find("button").Click(); comp.WaitForAssertion(() => comp.Find("div.mud-dialog").ClassList.Should().Contain("test-class")); comp.Find("div.mud-dialog").Attributes["style"].Value.Should().Be("color: red;"); comp.Find("div.mud-dialog-content").Attributes["style"].Value.Should().Be("color: blue;"); comp.Find("div.mud-dialog-content").ClassList.Should().NotContain("test-class"); comp.Find("div.mud-dialog-content").ClassList.Should().Contain("content-class"); // check if tag is ok var dialogInstance = comp.FindComponent <MudDialog>().Instance; dialogInstance.Tag.Should().Be("test-tag"); }
private void AddInstance(IDialogReference dialog) { _dialogs.Add(dialog); StateHasChanged(); }