Files
hermes-skills/devops/omada-controller-administration/references/navigation-css-structure.md
T

55 lines
2.0 KiB
Markdown

# Omada Controller Navigation CSS Structure
## Top-Level Dropdown (Outside Iframe)
### System Type Selector
- Container: `.ant-dropdown-menu.ant-dropdown-menu-root`
- Items: `.ant-dropdown-menu-item`
- Selected: `.ant-dropdown-menu-item-selected`
- Options: "On Premise Systems", "Cloud Based Systems"
## Site Iframe Navigation Classes
### Menu Item Levels
| Level | CSS Class | Purpose |
|-------|----------|---------|
| Section title | `li.title` | "Management", "Monitoring", "Configuration", "Maintenance" |
| Level 1 (main) | `li.navigator-li.navigator-li-level1.navigator-li-effective` | Dashboard, Devices, Clients, etc. |
| Level 1 with submenu | `li.navigator-li.navigator-li-level1.has-sub-navi` | "Network Config", "Device Config" |
| Level 2 | `li.navigator-li.navigator-li-level2.has-sub-navi` | "General Settings", "Network Settings", etc. |
| Level 3 (leaf) | `li.navigator-li.navigator-li-level3.navigator-li-effective` | Individual config pages (WLAN, LAN, Internet...) |
### Finding Specific Menu Items
```javascript
// IIFE required to avoid re-declaration errors
(function(){
const fr = document.querySelector('iframe');
if (!fr || !fr.contentDocument) return 'no iframe';
const items = fr.contentDocument.querySelectorAll('li');
for (const item of items) {
if (item.textContent.trim() === 'WLAN') {
item.click();
return 'clicked WLAN';
}
}
return 'not found';
})()
```
### WLAN Tab Elements
Inside WLAN view, tabs are plain `StaticText` spans:
- `"SSID"` — SSID list view
- `"WLAN Optimization"` — optimization view
- `"Optimization History"` — history view
Click these via `browser_console` by matching `textContent.trim()` with `children.length <= 1`.
### Table Structure
SSID table uses standard `<table>` with:
- Column headers: `columnheader` cells ("SSID NAME", "SECURITY", "BAND", etc.)
- Data rows: `cell` elements with text content
### Dialog Elements
- Optimization Mode dialog appears as `PluginObject` with radio buttons labeled "Partial" and "Global"
- Confirm/Cancel are `link` elements inside the dialog