PSC.Blazor.Components.Modals 8.0.3

dotnet add package PSC.Blazor.Components.Modals --version 8.0.3                
NuGet\Install-Package PSC.Blazor.Components.Modals -Version 8.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PSC.Blazor.Components.Modals" Version="8.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PSC.Blazor.Components.Modals --version 8.0.3                
#r "nuget: PSC.Blazor.Components.Modals, 8.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PSC.Blazor.Components.Modals as a Cake Addin
#addin nuget:?package=PSC.Blazor.Components.Modals&version=8.0.3

// Install PSC.Blazor.Components.Modals as a Cake Tool
#tool nuget:?package=PSC.Blazor.Components.Modals&version=8.0.3                

Modals for Blazor

This component helps you to create modal windows and modal popup in your Blazor application.

Install

In your index.html you have to add the style in the head of the page and the script at the bottom like

<link href="_content/PSC.Blazor.Components.Modals/themes/default.css" rel="stylesheet" />
<script src="_content/PSC.Blazor.Components.Modals/js/pscmodals.js"></script>

In .NET6 or above in the Program.cs you have to add those lines

builder.Services.AddSingleton<ModalsService>();
builder.Services.AddScoped<IModalService, ModalService>();

The ModalsService manages the list of windows across the application and ModalService is the component for a single window to inject in your page.

Then, in your MainLayout.razor you have to place the container for the modals adding

<ModalContainer />

So, the component it is ready to use. In the Razor page when you want to use this controller, you have to inject the IModalService adding

@inject IModalService ModalService

In your _Imports.razor it could be required to add the following lines:

@using PSC.Blazor.Components.Modals
@using PSC.Blazor.Components.Modals.Enums
@using PSC.Blazor.Components.Modals.Interfaces
@using PSC.Blazor.Components.Modals.Models

Use embedded modal

In the component the embedded modal allow you to show a message and wait for the interaction from the user. You can create a simple box with a message and an Ok button with the following code:

await ModalService.ShowDialogAsync(new DialogOptions
    {
        MainText = "You have a new message",
        SubText = "Check your inbox for more information",
        CancelText = "",
        IconElements = SVGIcons.Message,
        StatusColor = "#1e293b"
    });

IconElement is a SVG image and for that you can use my other component PSC.Blazor.Components.Icons.

If you want to display a message box with 2 buttons (for example Ok and Cancel), the code is the following

var result = await ModalService.ShowDialogAsync(new DialogOptions
    {
        MainText = "Are you sure?",
        SubText = "Please note this can not be undone",
        IconElements = SVGIcons.Question_mark,
        StatusColor = "#ff0000"
    });

If you want to display your own Razor component in the modal, you can use the following code:

private ModalOptions modalOptions = new ModalOptions { Size = ModalSize.Large, Draggable = true };

var component = new RenderComponent<YourRazorComponent>();
var result = await ModalService.ShowAsync("This is a Title", component, modalOptions);

Options

Name Description Default
ShowHeader Display the header of the modal window True
Scrollable If necessary, display the scrollbars True
CloseOnClickOutside If the user clicks outside the modal window, the modal will close False
BlurBackground When the modal is displayed, the background is blur True
Backdrop Show if the modal dialog has to hide the background. True
CloseOnEsc Allow to close the modal window pressing the ESC key
Draggable The modal is draggable False
VerticalPosition Define the vertical position of the window
Size Size of the modal window
Fullscreen Allow the modal window to be full screen Never
StatusColor The color of the status of the window #ffffff

PureSourceCode.com

PureSourceCode.com is my personal blog where I publish posts about technologies and in particular source code and projects in .NET.

In the last few months, I created a lot of components for Blazor WebAssembly and Blazor Server.

My name is Enrico Rossini and you can contact me via:

Blazor Components

Component name Forum NuGet Website Description
AnchorLink Forum NuGet badge An anchor link is a web link that allows users to leapfrog to a specific point on a website page. It saves them the need to scroll and skim read and makes navigation easier. This component is for Blazor WebAssembly and Blazor Server
Autocomplete for Blazor Forum NuGet badge Simple and flexible autocomplete type-ahead functionality for Blazor WebAssembly and Blazor Server
Browser Detect for Blazor Forum NuGet badge Demo Browser detect for Blazor WebAssembly and Blazor Server
ChartJs for Blazor Forum NuGet badge Demo Add beautiful graphs based on ChartJs in your Blazor application
Clippy for Blazor Forum NuGet badge Demo Do you miss Clippy? Here the implementation for Blazor
CodeSnipper for Blazor Forum NuGet badge Add code snippet in your Blazor pages for 196 programming languages with 243 styles
Copy To Clipboard Forum NuGet badge Add a button to copy text in the clipboard
DataTable for Blazor Forum NuGet badge Demo DataTable component for Blazor WebAssembly and Blazor Server
Google Tag Manager Forum NuGet badge Demo Adds Google Tag Manager to the application and manages communication with GTM JavaScript (data layer).
Icons and flags for Blazor Forum NuGet badge Library with a lot of SVG icons and SVG flags to use in your Razor pages
ImageSelect for Blazor Forum NuGet badge This is a Blazor component to display a dropdown list with images based on ms-Dropdown by Marghoob Suleman. This component is built with NET7 for Blazor WebAssembly and Blazor Server
Markdown editor for Blazor Forum NuGet badge Demo This is a Markdown Editor for use in Blazor. It contains a live preview as well as an embeded help guide for users.
Modal dialog for Blazor Forum NuGet badge Simple Modal Dialog for Blazor WebAssembly
Modal windows for Blazor Forum NuGet badge Modal Windows for Blazor WebAssembly
Quill for Blazor Forum NuGet badge Quill Component is a custom reusable control that allows us to easily consume Quill and place multiple instances of it on a single page in our Blazor application
ScrollTabs NuGet badge Tabs with nice scroll (no scrollbar) and responsive
Segment for Blazor Forum NuGet badge This is a Segment component for Blazor Web Assembly and Blazor Server
Tabs for Blazor Forum NuGet badge This is a Tabs component for Blazor Web Assembly and Blazor Server
Timeline for Blazor Forum NuGet badge This is a new responsive timeline for Blazor Web Assembly and Blazor Server
Toast for Blazor Forum NuGet badge Toast notification for Blazor applications
Tours for Blazor Forum NuGet badge Guide your users in your Blazor applications
TreeView for Blazor Forum NuGet badge This component is a native Blazor TreeView component for Blazor WebAssembly and Blazor Server. The component is built with .NET7.
WorldMap for Blazor Forum NuGet badge Demo Show world maps with your data

C# libraries for .NET6

Component name Forum NuGet Description
PSC.Evaluator Forum NuGet badge PSC.Evaluator is a mathematical expressions evaluator library written in C#. Allows to evaluate mathematical, boolean, string and datetime expressions.
PSC.Extensions Forum NuGet badge A lot of functions for .NET5 in a NuGet package that you can download for free. We collected in this package functions for everyday work to help you with claim, strings, enums, date and time, expressions...

More examples and documentation

Blazor

Blazor & NET8

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.3 101 6/8/2024
8.0.2 112 4/18/2024
8.0.1 92 4/18/2024
8.0.0 92 4/18/2024
6.0.5 631 4/13/2022
6.0.4 313 12/3/2021
6.0.3 829 12/3/2021
6.0.2 754 12/3/2021
6.0.1 873 12/1/2021