Merge branch 'selectable-items-interfaces' into lighting-interface-fix

This commit is contained in:
Andrew Welker
2025-04-18 12:29:36 -05:00

View File

@@ -4,19 +4,24 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{
/// <summary>
/// Describes a collection of items that can be selected
/// </summary>
/// <typeparam name="TKey">type for the keys in the collection. Probably a string or enum</typeparam>
public interface ISelectableItems<TKey>
public interface ISelectableItems<TKey, TValue> where TValue : ISelectableItem
{
event EventHandler ItemsUpdated;
event EventHandler CurrentItemChanged;
[JsonProperty("items")]
Dictionary<TKey, ISelectableItem> Items { get; set; }
Dictionary<TKey, TValue> Items { get; set; }
[JsonProperty("currentItem")]
TKey CurrentItem { get; set; }
}
/// <summary>
/// Describes a collection of items that can be selected
/// </summary>
/// <typeparam name="TKey">type for the keys in the collection. Probably a string or enum</typeparam>
public interface ISelectableItems<TKey> : ISelectableItems<TKey, ISelectableItem>
{
}
}