Class MenuNavigationGraph
The immutable result of walking every view reachable from a root, as produced by WalkFrom(string, IMenuNavigationLookup). Nodes is the walk's own record, one entry per resolved view, root first, in breadth-first order; ReachableMenuIds and NonMenuViewIds are derived projections of it kept for callers that only ever needed the menu/non-menu split, not the full per-node detail.
Inherited Members
Namespace: Serenity.Menu.Application.Navigation
Assembly: Serenity.Menu.Application.dll
Syntax
public sealed class MenuNavigationGraph
Constructors
MenuNavigationGraph(string, IReadOnlyList<MenuNavigationNode>, IReadOnlyList<string>)
Declaration
public MenuNavigationGraph(string rootViewId, IReadOnlyList<MenuNavigationNode> nodes, IReadOnlyList<string> unresolvedTargetIds)
Parameters
| Type | Name | Description |
|---|---|---|
| string | rootViewId | |
| IReadOnlyList<MenuNavigationNode> | nodes | |
| IReadOnlyList<string> | unresolvedTargetIds |
Properties
Nodes
Gets every view the walk resolved, root first, in breadth-first order.
Declaration
public IReadOnlyList<MenuNavigationNode> Nodes { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<MenuNavigationNode> | The resolved nodes as a read-only list. |
NonMenuViewIds
Gets every known non-menu view id encountered during the walk (composites, cascades, leaderboards, achievements views, and any other resolvable view kind). Derived from Nodes.
Declaration
public IReadOnlyList<string> NonMenuViewIds { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | The non-menu view ids as a read-only list. |
ReachableMenuIds
Gets every menu id reachable from the root, in breadth-first order with the root first (when the root itself resolves to a menu). Derived from Nodes.
Declaration
public IReadOnlyList<string> ReachableMenuIds { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | The reachable menu ids as a read-only list. |
RootViewId
Gets the root view id the walk started from.
Declaration
public string RootViewId { get; }
Property Value
| Type | Description |
|---|---|
| string | The root view id as a string. |
UnresolvedTargetIds
Gets every transition target encountered that resolved to nothing known.
Declaration
public IReadOnlyList<string> UnresolvedTargetIds { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | The unresolved target ids as a read-only list. |
Methods
Empty(string)
Builds an empty graph for a root that could not be walked at all (a null, empty, or whitespace root view id).
Declaration
public static MenuNavigationGraph Empty(string rootViewId)
Parameters
| Type | Name | Description |
|---|---|---|
| string | rootViewId | The root view id to record, unchanged, on the empty result. |
Returns
| Type | Description |
|---|---|
| MenuNavigationGraph | A graph with the given root id and every list empty. |