The Wisej.NET Visual System
This example is the Adaptive Operations Console shell as five
Panels docked on the main Page (toolbar Top, status Bottom, navigation Left, details Right, workspace
Fill with a MinimumSize of 320 × 240), a built-in base theme (Bootstrap-4) selected for the running
application in Default.json, and a status-bar widthLabel that reports the browser width on first load
and on every resize. The stretch goal (four metric cards above a ticket grid) is included, with a working
details editor, because every later module grows this same console.
Run it
cd "LearnWisej-Samples/Theming and Responsive Layouts Course/Module 1/AdaptiveOps"
dotnet run -f net10.0 --urls http://localhost:5501
Then open http://localhost:5501 (or open AdaptiveOps.slnx in Visual Studio and press F5).
What to try
- Resize the browser from desktop to tablet to phone width:
widthLabelin the status bar follows (Width: 1024 px). The docked regions hold; below 220 + 320 + 340 px the details panel is pushed out. The desktop shell does not adapt yet, which is what later modules fix. - Select a row in the grid: the details editor on the right shows that ticket.
- Edit and Save: the grid and the metric cards follow, the status label reads
Saved T-1042. Clear the Title or Owner and Save: the server rejects it and the status label says why. - Refresh reloads the metric cards, the grid and the editor from the repository.
- Click a navigation button: the workspace heading changes.
Where things live
AdaptiveOps/
├─ MainPage.Designer.cs the five docked regions, metric cards, grid, details editor, status bar
├─ MainPage.cs ReportWidth() (constructor, Load, Resize), grid and editor code
├─ Models/Ticket.cs, TicketRepository.cs 12 seed tickets, metrics, Save() with server-side validation
├─ Default.json "theme": "Bootstrap-4" (the base theme for the running app)
├─ Web.config Wisej.DefaultTheme = Bootstrap-4 (Windows/IIS target)
└─ docs/
├─ VisualInventory.md controls, tokens, regions, breakpoints, each with its owning layer
└─ VisualLayers.md base theme choice and reason; which layer owns each visual decision
Region sizes follow the course-wide convention (navigation 220, details 340); the lab text says 240 / 360.
Change the two Size lines in MainPage.Designer.cs to use the values.