NuGet ยท nuget

Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi

Core Web UI integration contracts and tag helpers for Eltheon.

Install

Install-Kommandos

dotnet add package Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi --version 0.9.0.8
<PackageReference Include="Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi" Version="0.9.0.8" />
paket add Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi --version 0.9.0.8
Install-Package Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi -Version 0.9.0.8

README

Vorschau

Eltheon Core.WebUi

Core.WebUi is the neutral Web UI foundation for Eltheon Razor hosts. It provides reusable UI contracts, Bootstrap-style TagHelpers, permission UI bridges, navigation contracts, and optional Admin/User integration test pages.

The package is infrastructure. It must not reference the host or template project. Layouts, sidebars, header/footer markup, theme assets, and tag partial views stay host-owned.

Public Surface

Core.WebUi exposes these main areas:

  • v1.TagHelpers
  • v1.Security
  • v1.Navigation
  • EltheonCoreWebUiOptions
  • EltheonCoreWebUiMarker
  • AddEltheonCoreWebUi(...)
  • AddEltheonCoreWebUiApplicationPart()

TagHelpers

Neutral TagHelper classes live in Core.WebUi. Concrete Razor partials stay in the host/template.

Available Bootstrap-style TagHelpers:

  • BS:Container
  • BS:Row
  • BS:Column
  • BS:Card
  • BS:CardHeader
  • BS:CardBody
  • BS:CardFooter
  • BS:NavItem
  • BS:NavLink
  • BS:NavMenu
  • BS:NavMenuLink
  • BS:Button
  • BS:Badge
  • BS:Alert
  • BS:ButtonGroup
  • BS:Toolbar

Core.WebUi renders additional HTML attributes through a safe attribute renderer. Card header and footer content is passed to template-owned partials instead of being built through manual HTML string interpolation.

Permissions

Core.WebUi does not create a second permission system. It only provides bridge types:

  • IEltheonPermissionEvaluator
  • DenyAllPermissionEvaluator
  • PermissionAttribute
  • PermissionTagHelper
  • SecureContentTagHelper
  • PermissionRenderMode
  • CoreWebUiPermissionProvider

PermissionAttribute uses async authorization. PermissionTagHelper supports hide, disable, and readonly rendering modes. SecureContentTagHelper intentionally remains render-or-hide.

Permission TagHelpers are UI convenience only. Server-side authorization remains mandatory for protected pages, handlers, APIs, and actions.

Navigation contributions use EltheonNavigationEntry through IEltheonNavigationProvider. The host renders aggregated entries through IEltheonNavigationRegistry.

Supported entry types:

  • Group
  • Link
  • Menu
  • MenuLink
  • Divider

Navigation keys must be unique case-insensitively. Duplicate keys throw a clear InvalidOperationException.

Navigation filtering is not security. Every protected page or action must still enforce server-side authorization.

Test Pages

Core.WebUi contains optional Admin/User integration test pages:

  • /Admin/CoreWebUiTest
  • /User/CoreWebUiTest

They are controlled through EltheonCoreWebUiOptions:

  • EnableAdminTestPage
  • EnableUserTestPage
  • RegisterTestNavigation

Disabled test pages remove their route selectors through Razor Pages conventions and keep defensive PageModel checks.

Boundaries

Core.WebUi must not own:

  • concrete host layouts or sidebars
  • theme assets
  • host permission storage
  • database migrations
  • plugin lifecycle
  • SimpleSearch architecture
  • a replacement localization system

Feature packages may use Core.WebUi TagHelpers and contracts, but they must not reference the host/template project.