Class CascadeMenuBuilder
Turns a tree of ICascadeMenuNode definitions into live CascadeMenuPages driving a CascadeMenuModel, resolving content/outcomes through an ICascadeMenuContext. Nodes call Push(ICascadeMenuNode) to descend and Resolve(object) to finish. Engine-agnostic and unit-testable.
Inherited Members
Namespace: Serenity.Menu.Application.Cascade
Assembly: Serenity.Menu.Application.dll
Syntax
public sealed class CascadeMenuBuilder
Constructors
CascadeMenuBuilder(ICascadeMenuContext, CascadeMenuModel)
Declaration
public CascadeMenuBuilder(ICascadeMenuContext context, CascadeMenuModel model)
Parameters
| Type | Name | Description |
|---|---|---|
| ICascadeMenuContext | context | |
| CascadeMenuModel | model |
Properties
Context
Declaration
public ICascadeMenuContext Context { get; }
Property Value
| Type | Description |
|---|---|
| ICascadeMenuContext |
Model
Declaration
public CascadeMenuModel Model { get; }
Property Value
| Type | Description |
|---|---|
| CascadeMenuModel |
Methods
Build(ICascadeMenuNode)
Builds a node into a page (without opening/pushing it).
Declaration
public CascadeMenuPage Build(ICascadeMenuNode node)
Parameters
| Type | Name | Description |
|---|---|---|
| ICascadeMenuNode | node |
Returns
| Type | Description |
|---|---|
| CascadeMenuPage |
Open(ICascadeMenuNode)
Opens a node as the base menu of the model.
Declaration
public void Open(ICascadeMenuNode root)
Parameters
| Type | Name | Description |
|---|---|---|
| ICascadeMenuNode | root |
Push(ICascadeMenuNode)
Pushes a node as a sub-menu (descend the cascade).
Declaration
public void Push(ICascadeMenuNode node)
Parameters
| Type | Name | Description |
|---|---|---|
| ICascadeMenuNode | node |