Files
DP44/docs/ai/Common/DTS.Common/Interface/Groups/GroupList.md

64 lines
2.8 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.Common/Interface/Groups/GroupList/IGroupListView.cs
- Common/DTS.Common/Interface/Groups/GroupList/TestSetupParentHelper.cs
- Common/DTS.Common/Interface/Groups/GroupList/IGroupListViewModel.cs
- Common/DTS.Common/Interface/Groups/GroupList/IGroup.cs
generated_at: "2026-04-17T16:35:07.817551+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "78713dab5b60904a"
---
# Documentation: DTS.Common.Interface.Groups.GroupList
## 1. Purpose
This module defines the core interfaces and a helper class for the Group List feature within the DTS system. It provides the contract for managing groups—including their creation, retrieval, deletion, filtering, sorting, and persistence—while abstracting the view and view model layers. The module serves as the primary interface boundary between group management logic and the presentation layer, enabling groups to be associated with hardware, channels, sensors, test setups, and tags.
---
## 2. Public Interface
### `IGroupListView`
**File:** `IGroupListView.cs`
**Namespace:** `DTS.Common.Interface.Groups.GroupTemplateList`
A marker interface extending `IBaseView` with no additional members.
```csharp
public interface IGroupListView : IBaseView { }
```
---
### `TestSetupParentHelper`
**File:** `TestSetupParentHelper.cs`
**Namespace:** `DTS.Common.Interface.Groups.GroupList`
A simple data carrier class used to associate test setup information with groups.
| Member | Type | Description |
|--------|------|-------------|
| `Id` | `int` | Public field for the test setup identifier. |
| `Name` | `string` | Property for the test setup name. |
| `Modified` | `bool` | Property indicating whether the test setup has been modified. |
| `ToString()` | `string` | Override that returns the `Name` property. |
---
### `IGroupListViewModel`
**File:** `IGroupListViewModel.cs`
**Namespace:** `DTS.Common.Interface.Groups.GroupList`
Defines the view model contract for group list management, extending `IBaseViewModel` and `IFilterableListView`.
| Member | Signature | Description |
|--------|-----------|-------------|
| `View` | `IGroupListView { get; set; }` | Property for the associated view instance. |
| `Groups` | `IGroup[] { get; set; }` | Property for the collection of groups. |
| `Unset` | `void Unset()` | Clears or resets the view model state. |
| `Sort` | `void Sort(object o, bool columnClick)` | Sorts the group list; parameters' specific meanings unclear from source. |
| `OnSetActive` | `void OnSetActive(object page, bool groupTile, object currentUser)` | Called when the view becomes active; parameter semantics unclear. |
| `MouseDoubleClick` | `void MouseDoubleClick(int index)` | Handles double-click interaction on a group at the specified index. |
| `Filter` | `void Filter(string term)` |