SAIF.Presentation.Web.Controls.V2.Menu overview¶
Documentation context: Consumed as a packaged NuGet dependency by downstream front-end applications. Documented via:
SAIF.BOF.Presentation.Web.Infragistics103.nuspec(repository root)
SAIF.Presentation.Web.Controls.V2.Menu is a pure ASP.NET WebForms presentation-tier control library that renders application navigation chrome — a collapsible left-side "Applications"/Favorites panel (SAIFMenu) and a top toolbar of category links and CRUD/print/help action icons (SAIFMenuTop) — on top of navigation and authorization data supplied entirely by external libraries.
Purpose¶
- Renders navigation chrome (side panel and top toolbar) for ASP.NET WebForms pages, exposing eventing (
MenuNavigate,ToolbarClick,DefaultOnSubmit,OnContextChanged) so the hosting application performs actual navigation and business actions. - Consumed by ASP.NET WebForms pages that derive from
ViewPageBase(SAIF.Presentation.Web.MVC)*, dropped onto pages viaToolboxDatamarkup or master pages.
Responsibilities¶
- Render a left-side navigation panel (
SAIFMenu): favorites link list, collapsible application/category accordion (viaAjaxControlToolkit.Accordion), and an optional "context value" text box (e.g., a claim-number field). - Render a top toolbar (
SAIFMenuTop): category-scoped navigation links plus a row of action icon buttons (Insert/Save/Delete/Edit/Cancel/Submit/Print/Preview/Email/Download/Calculate/Help/Set-Clear-Preferences), with per-button visibility/enabled state exposed via the nestedclsMenuButtonvalue object. - Provide a shared building-block control (
SAIFImageButton) that adds a "busy indicator" CSS class and client-side script for disabling other form controls while a postback is pending. - Raise host-page-facing eventing (
MenuNavigate,ToolbarClick,DefaultOnSubmit,OnContextChanged) so navigation/redirection and business actions are performed by the consuming application rather than by this library. - Cache and reuse a session-scoped
NavigationContext(keyed by the current Windows-authenticated user) so both controls can share the same navigation data on a page. - Persist lightweight UI state: per-button model state in
ViewState, and the "Show Applications" expand/collapse preference viaSAIF.Presentation.clsPreferences(per-user,PrefScope.AppLevel, key"SHOWAPPS", group"BOMENU").
Key components¶
SAIFMenu: left/side navigation panel — favorites list, collapsible application/category accordion, and context-value text box.SAIFMenuTop: top toolbar combining category-scoped navigation links with a row of CRUD/print/help/preference action icons.SAIFMenuTop.clsMenuButton: nested value object describing one toolbar button's visibility/enabled/tooltip/image state, persisted inViewState.SAIFImageButton: sharedImageButtonsubclass providing a "busy indicator" UX behavior with a companion client script, used by every toolbar icon and independently reusable.
Related documentation¶
- Index
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Control catalog
- Configuration
- Security and authorization
- API reference
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Presentation.Web.Controls.V2.Menu\SAIF.Presentation.Web.Controls.V2.Menu.vbprojSAIF.Presentation.Web.Controls.V2.Menu\SAIFMenu.vbSAIF.Presentation.Web.Controls.V2.Menu\SAIFMenuTop.vbSAIF.Presentation.Web.Controls.V2.Menu\SAIFImageButton.vbSAIF.BOF.Presentation.Web.Infragistics103.nuspec