dbMango/Rms.Risk.Mango.Pivot.UI
Alexander Shabarshov 2a7a24c9e7 Initial contribution
2025-11-03 14:43:26 +00:00
..
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00
2025-11-03 14:43:26 +00:00

Rms.Risk.Mango.Pivot.UI

Overview

This package provides a collection of Blazor UI components designed for Pivot functionality and general form support. It aims to deliver a rich user interface experience for data pivoting and interactive forms, primarily for use within the Rms.Risk.Mango ecosystem.

As indicated by its package tags (pivot forge ui blazor razor shared form components), this library is focused on:

  • Pivot table and data visualization UI.
  • UI elements for "Forge" platform.
  • General Blazor and Razor shared components.
  • Components to facilitate form building.

Features

  • Pivot UI Components: Specialized Blazor components for creating and interacting with pivot tables and related data visualizations.
  • Form Support Components: A comprehensive set of reusable Blazor components to build forms, including inputs, validation helpers, and more.
  • Shared UI Elements: Common UI elements and utilities to ensure a consistent look and feel.
  • Static Assets: Includes necessary static assets (CSS/JS) in its wwwroot folder, accessible via _content/Rms.Risk.Mango.Pivot.UI/.

Installation

To use Rms.Risk.Mango.Pivot.UI in your Blazor project, install the NuGet package.

Using the .NET CLI:

dotnet add package Rms.Risk.Mango.Pivot.UI

Or via the NuGet Package Manager Console in Visual Studio:

Install-Package Rms.Risk.Mango.Pivot.UI

Usage

After installing the package, you will typically need to:

  1. Import Namespaces: Add the relevant @using statements to your _Imports.razor file or directly in your .razor components where the UI elements are used. For example:

    @using Rms.Risk.Mango.Pivot.UI.Components // Example, actual namespaces may vary
    @using Rms.Risk.Mango.Pivot.UI.Forms     // Example, actual namespaces may vary
    
  2. Register Services (if applicable): If the library exposes services that need to be registered (e.g., for Blazored.Modal), add them to your Program.cs (for .NET 6+ Blazor apps) or Startup.cs (for older versions).

    // In Program.cs
    // builder.Services.AddBlazoredModal(); // Example for a dependency
    // Potentially other services from this library
    
  3. Include CSS/JS: If the library has global CSS or JS files necessary for its components, you might need to link them in your main layout file (_Layout.cshtml or MainLayout.razor) or index.html. Static assets from this RCL are served from _content/Rms.Risk.Mango.Pivot.UI/. For example:

    <link href="_content/Rms.Risk.Mango.Pivot.UI/styles.css" rel="stylesheet" />
    

    (Note: The specific file names like styles.css are illustrative.)

Dependencies

This package utilizes the following external NuGet packages:

  • BlazorDateRangePicker: For date range selection UI.
  • Blazored.Modal: For modal dialog functionality.
  • ChartJs.Blazor.Fork: For rendering charts using Chart.js.

Bundled Libraries

The following project dependencies are included directly within this NuGet package (due to PrivateAssets="All" setting) and do not need to be installed separately by the consuming project:

  • Rms.Risk.Mango.Language.csproj
  • Rms.Risk.Mango.Pivot.Core.csproj

This packaging strategy ensures that the specific versions of these core and language libraries used during the development of Rms.Risk.Mango.Pivot.UI are the ones used at runtime, simplifying dependency management for consumers.

Building the Package

This project is configured to automatically generate a NuGet package (.nupkg) and a symbols package (.snupkg) upon building the project in Release configuration.

Key MSBuild properties for packaging:

<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<DebugType>portable</DebugType>

The project also includes custom MSBuild targets (IncludeProjectReferencesWithPrivateAssetsAttributeInPackage and IncludeReferenceAssemblies) to manage how project references and reference assemblies are included in the package. This ensures that dependencies marked with PrivateAssets="All" are bundled, and a ref assembly is correctly packaged to control the public API surface.

Contributing

Please refer to the contribution guidelines of the Rms.Risk.Mango project if you wish to contribute. Drop a email to mailto:forge@list.db.com.