BlazorModals 1.0.0.1
dotnet add package BlazorModals --version 1.0.0.1
NuGet\Install-Package BlazorModals -Version 1.0.0.1
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="BlazorModals" Version="1.0.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BlazorModals" Version="1.0.0.1" />
<PackageReference Include="BlazorModals" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BlazorModals --version 1.0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: BlazorModals, 1.0.0.1"
#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.
#:package BlazorModals@1.0.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BlazorModals&version=1.0.0.1
#tool nuget:?package=BlazorModals&version=1.0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Package install
Install-Package BlazorModals -Version 1.0.0.1
Provide the service for injection:
builder.Services.AddScoped<IModalService, ModalService>();
_Imports.razor
@using BlazorModals.Models
@using BlazorModals.Views.Components
Wrap your layout with the Modal Launcher component
@inherits LayoutComponentBase
<ModalLauncher>
...
</ModalLauncher>
Basic Modal Usage:
<button @onclick="()=>modal.ShowModal()"
class="btn btn-primary" >Show Modal</button>
<Modal @ref="@modal" OnClose="Modal1Closed">
<MyModalContent />
</Modal>
@code {
private Modal modal;
private void Modal1Closed(ModalCloseState modalCloseState)
=> Console.WriteLine($"ModalCloseState : {modalCloseState}");
}
Template Modal Usage:
<ul class="list-group">
@foreach (var someModel in someData)
{
<li @key=someModel.Id class="d-flex flex-row list-group-item">
<div class="col-2"> @someModel.Name</div>
<button @onclick="()=>OpenModal(someModel)"
class="btn btn-primary btn-sm">edit</button>
</li>
}
</ul>
<TemplateModal @ref="@modal"
TContent="SomeDataModel"
OnClose="ModalClosed"
Background="#0000ff77"
BlurPixels="3" >
<SomeModelEditForm SomeData="@context" />
</TemplateModal>
@code {
private TemplateModal<SomeDataModel> modal;
private SomeDataModel currentModel;
private IEnumerable<SomeDataModel> someData;
protected override void OnInitialized()
=> someData = LoadData();
private void OpenModal(SomeDataModel data)
{
currentModel = data;
var temp = new SomeDataModel();
CopyModel(data, temp);
modal.ShowModal(temp);
}
private void ModalClosed(ModalResult<SomeDataModel> modalResult)
{
if(modalResult.CloseState == ModalCloseState.Ok)
{
CopyModel(modalResult.Value, currentModel);
StateHasChanged();
}
}
private void CopyModel(SomeDataModel source, SomeDataModel dest)
{
// use a clone method or copy the properties.
}
}
The Buttons
<ModalCloseButton>Close</ModalCloseButton>
<ModalOkButton>Save changes</ModalOkButton>
They capture styling:
<ModalCloseButton type="button" class="btn btn-secondary" aria-label="Close">Close</ModalCloseButton>
<ModalOkButton type="button" class="btn btn-primary">Save changes</ModalOkButton>
Modal Parameters
Paramater | Type | Default | |
---|---|---|---|
Background | string | #00000077 | The colour of the background. For example "#0000ff77" for tanslucent blue |
BlurPixels | int | 5 | The quantity of blur pixels |
AllowBackgroundClick | bool | true | When true clicking on the background closes the modal. |
<Modal @ref="@modal"
Background="#0088ff77"
BlurPixels="3"
AllowBackgroundClick="false">
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net5.0
- Microsoft.AspNetCore.Components.Web (>= 5.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.