emby-toolbox/EmbyToolbox/ViewModels/JsonTreeNodeViewModel.cs
Emby Toolbox 6264b487fe Initial commit: Emby Toolbox (conversion scroll fix, bulk Del for tracks).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 21:33:47 +05:00

51 lines
1.2 KiB
C#

using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace EmbyToolbox.ViewModels;
public sealed class JsonTreeNodeViewModel : INotifyPropertyChanged
{
private bool _isExpanded;
public JsonTreeNodeViewModel(string name, string value, string subtreeJson, JsonTreeNodeViewModel? parent = null)
{
Name = name;
Value = value;
SubtreeJson = subtreeJson;
Parent = parent;
}
public string Name { get; }
public string Value { get; }
public string SubtreeJson { get; }
public JsonTreeNodeViewModel? Parent { get; }
public ObservableCollection<JsonTreeNodeViewModel> Children { get; } = new();
public bool IsExpanded
{
get => _isExpanded;
set
{
if (_isExpanded == value)
{
return;
}
_isExpanded = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler? PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string? propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}