init
This commit is contained in:
@@ -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