Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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();
                });
            }
        }
Exemplo n.º 4
0
        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");
        }
Exemplo n.º 5
0
 private void AddInstance(IDialogReference dialog)
 {
     _dialogs.Add(dialog);
     StateHasChanged();
 }