Files
DP44/docs/ai/Common/DTS.Common/Events/GroupTemplates/TemplateChannelList.md
2026-04-17 14:55:32 -04:00

3.1 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListOrderChangedEvent.cs
Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListSelectionChangedEvent.cs
Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListRequiredChangedEvent.cs
2026-04-17T16:36:14.988730+00:00 zai-org/GLM-5-FP8 1 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:

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