dashpages

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PagesConfig

type PagesConfig struct {
	EnableSettings bool
	EnableSearch   bool
	BasePath       string
	EnableAuth     bool
	DefaultAccess  string // "public", "protected", "partial"
	LoginPath      string // relative login path (e.g. "/auth/login")
}

PagesConfig holds configuration for the PagesManager.

type PagesManager

type PagesManager struct {
	// contains filtered or unexported fields
}

PagesManager registers and serves dashboard pages using forgeui's routing system. Page handlers return templ components and delegate rendering to the contributor system. Layout wrapping is handled automatically by forgeui.

func NewPagesManager

func NewPagesManager(
	fuiApp *forgeui.App,
	basePath string,
	registry *contributor.ContributorRegistry,
	collector *collector.DataCollector,
	history *collector.DataHistory,
	fragmentProxy *proxy.FragmentProxy,
	settingsAgg *settings.Aggregator,
	config PagesConfig,
) *PagesManager

NewPagesManager creates a new PagesManager.

func (*PagesManager) ContributorPage

func (pm *PagesManager) ContributorPage(ctx *router.PageContext) (templ.Component, error)

ContributorPage renders a page from a named contributor extension. The contributor name and file path are extracted from route parameters. When auth is enabled, it dynamically applies the access level from the contributor's NavItem.Access field.

func (*PagesManager) ExtensionsPage added in v1.2.0

func (pm *PagesManager) ExtensionsPage(ctx *router.PageContext) (templ.Component, error)

ExtensionsPage renders the extensions listing page by delegating to the core contributor.

func (*PagesManager) HealthPage

func (pm *PagesManager) HealthPage(ctx *router.PageContext) (templ.Component, error)

HealthPage renders the health status page by delegating to the core contributor.

func (*PagesManager) MetricsAllPage added in v1.2.0

func (pm *PagesManager) MetricsAllPage(ctx *router.PageContext) (templ.Component, error)

MetricsAllPage renders the full metrics list page.

func (*PagesManager) MetricsCollectorDetailPage added in v1.2.0

func (pm *PagesManager) MetricsCollectorDetailPage(ctx *router.PageContext) (templ.Component, error)

MetricsCollectorDetailPage renders a collector detail page.

func (*PagesManager) MetricsDetailPage added in v1.2.0

func (pm *PagesManager) MetricsDetailPage(ctx *router.PageContext) (templ.Component, error)

MetricsDetailPage renders an individual metric detail page.

func (*PagesManager) MetricsPage

func (pm *PagesManager) MetricsPage(ctx *router.PageContext) (templ.Component, error)

MetricsPage renders the metrics page by delegating to the core contributor.

func (*PagesManager) OverviewPage

func (pm *PagesManager) OverviewPage(ctx *router.PageContext) (templ.Component, error)

OverviewPage renders the dashboard overview by delegating to the core contributor.

func (*PagesManager) RegisterPages

func (pm *PagesManager) RegisterPages() error

RegisterPages registers all dashboard page routes with forgeui's router. Core dashboard pages inherit the default layout (typically "dashboard"). Settings pages use the "settings" layout (nested under dashboard).

func (*PagesManager) RemotePage

func (pm *PagesManager) RemotePage(ctx *router.PageContext) (templ.Component, error)

RemotePage fetches a page from a remote contributor via the fragment proxy and returns the raw HTML fragment. ForgeUI wraps it in the dashboard layout.

func (*PagesManager) RemoteWidget

func (pm *PagesManager) RemoteWidget(ctx *router.PageContext) (templ.Component, error)

RemoteWidget fetches a widget from a remote contributor via the fragment proxy.

func (*PagesManager) ServicesPage

func (pm *PagesManager) ServicesPage(ctx *router.PageContext) (templ.Component, error)

ServicesPage renders the services page by delegating to the core contributor.

func (*PagesManager) SetAuthEnabled added in v1.2.0

func (pm *PagesManager) SetAuthEnabled(enabled bool, defaultAccess, loginPath string)

SetAuthEnabled updates the auth configuration at runtime. This is used for late auth registration when an auth provider registers after the pages manager has already been constructed.

func (*PagesManager) SettingsFormPage added in v1.2.0

func (pm *PagesManager) SettingsFormPage(ctx *router.PageContext) (templ.Component, error)

SettingsFormPage renders a contributor's settings form.

func (*PagesManager) SettingsPage added in v1.2.0

func (pm *PagesManager) SettingsPage(ctx *router.PageContext) (templ.Component, error)

SettingsPage renders the settings index page listing all available settings.

func (*PagesManager) SettingsSubmitPage added in v1.2.0

func (pm *PagesManager) SettingsSubmitPage(ctx *router.PageContext) (templ.Component, error)

SettingsSubmitPage processes a settings form submission and re-renders the form.

func (*PagesManager) TraceDetailPage added in v1.2.0

func (pm *PagesManager) TraceDetailPage(ctx *router.PageContext) (templ.Component, error)

TraceDetailPage renders the detail view for a single trace.

func (*PagesManager) TracesPage added in v1.2.0

func (pm *PagesManager) TracesPage(ctx *router.PageContext) (templ.Component, error)

TracesPage renders the traces list page by delegating to the core contributor.

func (*PagesManager) WidgetFragment

func (pm *PagesManager) WidgetFragment(ctx *router.PageContext) (templ.Component, error)

WidgetFragment renders a single widget as an HTML fragment for HTMX auto-refresh.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL