Client-side navigation¶
MenuNavigation.js is the browser side of navigation. It lets menu links and consumer scripts move to another BOL application page by posting the target to the server.
| Field | Value |
|---|---|
| Operation ID | OP-17 |
| Trigger | Menu item or script call in the browser |
| Inputs | Target application and page |
| Outputs | Form post to the MenuItemClick handler |
| Primary components | MenuNavigation.js |
| Entry point | src/BolMiddleware/wwwroot/js/MenuNavigation.js |
Steps¶
- The script builds a form whose action selects the
MenuItemClickhandler, by concatenating the target values into a string. - It calls
ShowLoading()to show a progress indicator; the function is supplied by the consuming application**. - It submits the form, which runs Menu item click.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Menu link or script call]) --> S1[Build form from target values]
S1 --> S2[ShowLoading]
S2 --> S3[Submit form]
S3 --> EndOk([MenuItemClick handler])
Failure and edge-case behavior¶
- Values are concatenated into script strings without escaping, so a target containing quotes can inject script.
- If
ShowLoadingis not defined by the consumer the call raises a script error**.
Note: Statements marked with
**could not be confirmed; treat as unknown until verified.
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Configuration
- Operations and processes
- Business rules
- Security and authorization
- Service registration
- API reference
Sources¶
- src/BolMiddleware/wwwroot/js/MenuNavigation.js
- src/BolMiddleware/Pages/Shared/_BolCoreScriptsPartial.cshtml