73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
|
|
---
|
||
|
|
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
|