Files
ersatztv/ErsatzTV/ViewModels/TemplateTreeItemViewModel.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

55 lines
1.4 KiB
C#

using ErsatzTV.Application.Scheduling;
using ErsatzTV.Application.Tree;
using MudBlazor;
namespace ErsatzTV.ViewModels;
public class TemplateTreeItemViewModel
{
public TemplateTreeItemViewModel(TemplateGroupViewModel templateGroup)
{
Text = templateGroup.Name;
TreeItems = [];
CanExpand = templateGroup.TemplateCount > 0;
TemplateGroupId = templateGroup.Id;
Icon = Icons.Material.Filled.Folder;
}
public TemplateTreeItemViewModel(TreeGroupViewModel templateGroup)
{
Text = templateGroup.Name;
TreeItems = templateGroup.Children.Map(t => new TreeItemData<TemplateTreeItemViewModel>
{ Value = new TemplateTreeItemViewModel(t) }).ToList();
TemplateGroupId = templateGroup.Id;
Icon = Icons.Material.Filled.Folder;
}
public TemplateTreeItemViewModel(TemplateViewModel template)
{
Text = template.Name;
TreeItems = [];
CanExpand = false;
TemplateId = template.Id;
}
public TemplateTreeItemViewModel(TreeItemViewModel template)
{
Text = template.Name;
TreeItems = [];
CanExpand = false;
TemplateId = template.Id;
}
public string Text { get; }
public string Icon { get; }
public bool CanExpand { get; }
public int? TemplateId { get; }
public int? TemplateGroupId { get; }
public List<TreeItemData<TemplateTreeItemViewModel>> TreeItems { get; }
}