SharpRSS/WebSharpRSS/Models/TreeItemData.cs

37 lines
1.3 KiB
C#
Raw Normal View History

2023-05-23 15:04:02 +02:00
using CodeHollow.FeedReader;
using MudBlazor;
using SharpRss.Models;
using SharpRss.Services;
2023-05-23 15:04:02 +02:00
using ToolQit;
namespace WebSharpRSS.Models
{
2023-05-15 20:42:42 +02:00
public class TreeItemData
{
2023-05-23 15:04:02 +02:00
public TreeItemData(GroupModel groupModel)
{
2023-05-23 15:04:02 +02:00
GroupModel = groupModel;
Title = groupModel.Name;
Icon = groupModel.Icon == string.Empty ? Icons.Material.Filled.RssFeed : groupModel.Icon;
HasChild = groupModel.FeedCount > 0;
}
2023-05-23 15:04:02 +02:00
public TreeItemData(FeedModel feedModel)
{
FeedModel = feedModel;
2023-05-23 15:04:02 +02:00
Title = feedModel.Title;
FaviconUrl = string.Format(Caretaker.Settings["Paths"].GetString("FaviconResolveUrl"), feedModel.Url.Remove(feedModel.Url.IndexOf("http", StringComparison.Ordinal), feedModel.Url.IndexOf("://", StringComparison.Ordinal) + 3));
2023-05-23 15:04:02 +02:00
}
public readonly GroupModel? GroupModel;
public readonly FeedModel? FeedModel;
2023-05-23 15:04:02 +02:00
public HashSet<TreeItemData>? Children { get; set; }
public string Title { get; set; } = string.Empty;
public bool IsSelected { get; set; }
public string? Icon { get; set; }
public string? FaviconUrl { get; set; }
2023-05-20 00:35:43 +02:00
public bool HasChild { get; set; }
2023-05-23 15:04:02 +02:00
public bool Loading { get; set; }
public bool IsExpanded { get; set; }
}
}