Files
ersatztv/ErsatzTV/ViewModels/DecoTreeItemViewModel.cs
T
Jason DoveandGitHub 2a9f23cce6 update layout for group editors (#2140)
* update block group editor

* update playlist group editor

* update template group editor

* update deco group editor

* update deco template group editor

* update deco editor

* update logs layout

* update changelog
2025-07-12 13:45:50 +00:00

57 lines
1.3 KiB
C#

using ErsatzTV.Application.Scheduling;
using ErsatzTV.Application.Tree;
using MudBlazor;
namespace ErsatzTV.ViewModels;
public class DecoTreeItemViewModel
{
public DecoTreeItemViewModel(DecoGroupViewModel decoGroup)
{
Text = decoGroup.Name;
EndText = string.Empty;
TreeItems = [];
DecoGroupId = decoGroup.Id;
Icon = Icons.Material.Filled.Folder;
}
public DecoTreeItemViewModel(TreeGroupViewModel decoGroup)
{
Text = decoGroup.Name;
TreeItems = decoGroup.Children.Map(d => new TreeItemData<DecoTreeItemViewModel>
{ Value = new DecoTreeItemViewModel(d) }).ToList();
DecoGroupId = decoGroup.Id;
Icon = Icons.Material.Filled.Folder;
}
public DecoTreeItemViewModel(DecoViewModel deco)
{
Text = deco.Name;
TreeItems = [];
CanExpand = false;
DecoId = deco.Id;
}
public DecoTreeItemViewModel(TreeItemViewModel deco)
{
Text = deco.Name;
TreeItems = [];
CanExpand = false;
DecoId = deco.Id;
}
public string Text { get; }
public string EndText { get; }
public string Icon { get; }
public bool CanExpand { get; }
public int? DecoId { get; }
public int? DecoGroupId { get; }
public List<TreeItemData<DecoTreeItemViewModel>> TreeItems { get; }
}