init
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/GroupTemplates/CustomChannels/CustomChannelExportFileSetEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/CustomChannels/CustomChannelImportEvent.cs
|
||||
generated_at: "2026-04-17T16:37:50.415537+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0051299d71a30734"
|
||||
---
|
||||
|
||||
# Documentation: Custom Channel Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides event definitions for coordinating custom channel import and export operations within the group templates subsystem. It enables loosely-coupled communication between components regarding custom channel file handling, allowing the application to manage its busy state during exports and track import completion status. These events follow the Prism Event Aggregator pattern for pub/sub messaging.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CustomChannelExportFileSetEvent`
|
||||
**Signature:** `public class CustomChannelExportFileSetEvent : PubSubEvent<string>`
|
||||
|
||||
An event that signals the application should change its busy/available state. The payload is a `string` value, though the semantic meaning of the string content is not specified in the source.
|
||||
|
||||
---
|
||||
|
||||
### `CustomChannelImportEvent`
|
||||
**Signature:** `public class CustomChannelImportEvent : PubSubEvent<CustomChannelImportEventArgs>`
|
||||
|
||||
An event that communicates custom channel import status changes. Publishers emit `CustomChannelImportEventArgs` to inform subscribers of import progress.
|
||||
|
||||
---
|
||||
|
||||
### `CustomChannelImportEventArgs`
|
||||
**Signature:** `public class CustomChannelImportEventArgs`
|
||||
|
||||
A payload class carrying import status information.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Status` (nested enum) | `enum` | Contains value: `Done` |
|
||||
| `ImportStatus` | `Status` | Read-only property containing the import status |
|
||||
| `CustomChannelImportEventArgs(Status status)` | Constructor | Initializes the instance with a status value |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `CustomChannelImportEventArgs.ImportStatus` is immutable after construction (read-only property with no setter).
|
||||
- `CustomChannelImportEventArgs.Status` enum currently defines only the `Done` value; no other statuses are available.
|
||||
- Both event classes inherit from `PubSubEvent<T>` and are intended to be used with Prism's `IEventAggregator`.
|
||||
- The namespace `DTS.Common.Events.GroupTemplates.CustomChannels` groups these events under the custom channels feature area.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides the `PubSubEvent<T>` base class for event aggregation.
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Any component that publishes or subscribes to custom channel import/export events within the group templates subsystem. Specific consumers are not identifiable from these source files alone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Ambiguous string payload:** `CustomChannelExportFileSetEvent` uses a `string` payload, but the source does not define what the string represents (e.g., a file path, a message, an identifier). The XML comment mentions "mark itself busy or available," but how the string value maps to busy/available state is unclear from source alone.
|
||||
|
||||
- **Limited status enum:** `CustomChannelImportEventArgs.Status` only defines `Done`. There are no intermediate states (e.g., `Started`, `InProgress`) or error states (e.g., `Failed`, `Cancelled`).
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupDoubleClickEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupTemplateSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:52.470436+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "6fe92df199df2a2d"
|
||||
---
|
||||
|
||||
# Documentation: GroupTemplateList Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two event types for the GroupTemplateList feature within the DTS application. These events facilitate loosely-coupled communication between UI components using the Prism Event Aggregation pattern. They notify subscribers when user interactions occur with group templates—specifically when a template is selected or double-clicked.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupTemplateListGroupDoubleClickEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupTemplateListGroupDoubleClickEvent : PubSubEvent<string> { }
|
||||
```
|
||||
|
||||
**Behavior:**
|
||||
An event that publishes a `string` payload. Intended to be raised when a user double-clicks on a group template in a list view. Subscribers receive the template identifier as a string.
|
||||
|
||||
---
|
||||
|
||||
### `GroupTemplateListGroupTemplateSelectedEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupTemplateListGroupTemplateSelectedEvent : PubSubEvent<string[]> { }
|
||||
```
|
||||
|
||||
**Behavior:**
|
||||
An event that publishes a `string[]` (string array) payload. Intended to be raised when a template is selected in the group template list. Subscribers receive an array of strings, the contents of which are not documented in the source.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both event classes inherit from `PubSubEvent<T>` and add no additional members or overrides.
|
||||
- `GroupTemplateListGroupDoubleClickEvent` always carries a single `string` payload.
|
||||
- `GroupTemplateListGroupTemplateSelectedEvent` always carries a `string[]` payload.
|
||||
- Both classes are concrete, non-abstract, and non-sealed.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides the `PubSubEvent<T>` base class for implementing the pub/sub event pattern.
|
||||
|
||||
**What depends on this module:**
|
||||
- Cannot be determined from source alone. Consumers would typically be ViewModels or services that publish or subscribe to these events via Prism's `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
1. **Mismatched XML documentation:** The `<summary>` comment in `GroupTemplateListGroupDoubleClickEvent.cs` incorrectly states "The GroupTemplateListGroupTemplateSelectedEvent event" instead of referencing its own class name. This appears to be a copy-paste error.
|
||||
|
||||
2. **Inconsistent payload types:** The two events use different payload types (`string` vs `string[]`) despite both having the same remarks comment ("called when a template is selected"). The semantic meaning of the `string[]` payload in `GroupTemplateListGroupTemplateSelectedEvent` is unclear from the source—developers should investigate the publisher to understand what the array contains.
|
||||
|
||||
3. **Identical remarks:** Both events share the same remarks text, which is misleading since they represent different user
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListOrderChangedEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListSelectionChangedEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListRequiredChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:36:14.988730+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e9ebc9c1d84a9eda"
|
||||
---
|
||||
|
||||
# Documentation: Template Channel List Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three Prism event types for broadcasting changes related to template channel lists within the group templates subsystem. These events enable loosely-coupled communication between components when channel order changes, selection state changes, or required channel state changes occur. All events follow the Prism Event Aggregator pattern, extending `PubSubEvent<T>`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `TemplateChannelListOrderChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListOrderChangedEvent : PubSubEvent<IGroupTemplateChannel>`
|
||||
|
||||
An event that publishes `IGroupTemplateChannel` payloads when the order of channels in a template channel list has changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListSelectionChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListSelectionChangedEvent : PubSubEvent<IGroupTemplateChannel>`
|
||||
|
||||
An event that publishes `IGroupTemplateChannel` payloads when the selection state within a template channel list has changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListRequiredChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListRequiredChangedEvent : PubSubEvent<TemplateChannelListRequiredChangeEventArgs>`
|
||||
|
||||
An event that publishes `TemplateChannelListRequiredChangeEventArgs` payloads when the "required" state of template channels has changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListRequiredChangeEventArgs`
|
||||
**Signature:** `public class TemplateChannelListRequiredChangeEventArgs`
|
||||
|
||||
A payload class carrying information about required channel changes.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Consumer` | `object` | The consumer object associated with the change. |
|
||||
| `Channels` | `IGroupTemplateChannel[]` | Array of channels affected by the required change. |
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public TemplateChannelListRequiredChangeEventArgs(object o, IGroupTemplateChannel[] channels)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All three event classes inherit from `PubSubEvent<T>` from Prism, ensuring they work with the Prism Event Aggregator pattern.
|
||||
- `TemplateChannelListOrderChangedEvent` and `TemplateChannelListSelectionChangedEvent` both use `IGroupTemplateChannel` as their payload type.
|
||||
- `TemplateChannelListRequiredChangedEvent` uses `TemplateChannelListRequiredChangeEventArgs` as its payload type, which encapsulates both a consumer reference and an array of channels.
|
||||
- `TemplateChannelListRequiredChangeEventArgs.Channels` is an array (not a collection), set at construction time with no null validation in the constructor.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Interface.GroupTemplate` — provides the `IGroupTemplateChannel` interface used as payload type
|
||||
- `Prism.Events` — provides
|
||||
Reference in New Issue
Block a user