This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
---
source_files:
- Common/DTS.CommonCore/Enums/TSRAIRGo/NavigationButtonId.cs
generated_at: "2026-04-16T02:42:58.260456+00:00"
model: "Qwen/Qwen3-Coder-Next-FP8"
schema_version: 1
sha256: "1fad088aa5051ccc"
---
# TSRAIRGo
### 1. Purpose
This module defines a strongly-typed enumeration of navigation button identifiers used within the TSRAIRGo application context. It serves as a centralized, type-safe contract for referencing specific UI navigation actions—such as arming/disarming a system, triggering events, downloading data, or accessing help—across the codebase, ensuring consistency between UI components, routing logic, and business logic layers.
### 2. Public Interface
The module exposes a single public type:
- **`NavigationButtonId`** (`enum`)
A set of named constants representing distinct navigation button roles in the TSRAIRGo UI. Each member corresponds to a specific user-facing action:
- `TestId`: Reserved for internal testing purposes.
- `ArmDisarm`: Toggles system arming/disarming state.
- `Trigger`: Initiates an immediate action or event (e.g., manual trigger).
- `Download`: Initiates data download functionality.
- `ViewData`: Opens a view for inspecting current or historical data.
- `ExportData`: Exports data to an external format (e.g., CSV, JSON).
- `Help`: Opens help documentation or support resources.
- `Dashboard`: Navigates to the main dashboard view.
### 3. Invariants
- All values are compile-time constants; no runtime mutation is possible.
- The enum is strictly additive: new members may be added, but existing members must not be renamed or removed without coordinated updates across consumers.
- No implicit ordering or numeric semantics are assumed by the enum definition itself (though underlying `int` values default to 0, 1, 2, … in declaration order).
- `TestId` is intended solely for testing; its use in production code is discouraged but not enforced by the type system.
### 4. Dependencies
- **Depends on**: None (standalone `enum` with no external references).
- **Depended on by**: Likely consumed by UI frameworks (e.g., Blazor, WPF, or MAUI), navigation routers, command handlers, or analytics modules that map button clicks to actions. Specific consumers cannot be inferred from this file alone.
### 5. Gotchas
- The enum does not define any validation logic or metadata (e.g., labels, icons, or permissions); such data must be maintained separately (e.g., via attributes, switch statements, or configuration).
- `TestId` has no documented runtime behavior—its purpose is ambiguous without context from other modules.
- No `Flags` attribute is applied, so bitwise combinations are not semantically supported (though technically possible in C#).
- None identified from source alone.