fix: add ISelectableItems<TKey,TValue> interface

This commit is contained in:
Andrew Welker
2025-04-17 09:19:34 -05:00
parent d99095e8ce
commit c9c3a74f2f

View File

@@ -4,19 +4,24 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{ {
/// <summary> public interface ISelectableItems<TKey, TValue> where TValue : ISelectableItem
/// 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>
{ {
event EventHandler ItemsUpdated; event EventHandler ItemsUpdated;
event EventHandler CurrentItemChanged; event EventHandler CurrentItemChanged;
[JsonProperty("items")] [JsonProperty("items")]
Dictionary<TKey, ISelectableItem> Items { get; set; } Dictionary<TKey, TValue> Items { get; set; }
[JsonProperty("currentItem")] [JsonProperty("currentItem")]
TKey CurrentItem { get; set; } 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>
{
} }
} }