u
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
using static FrontOffice.Main.Pages.Profile.Components.OrganizationChartLevel;
|
||||
|
||||
namespace FrontOffice.Main.Pages.Profile.Components;
|
||||
public partial class OrganizationChart
|
||||
{
|
||||
private UserNode? _currentUser;
|
||||
private bool _isExpanded;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await LoadCurrentUser();
|
||||
}
|
||||
|
||||
private async Task LoadCurrentUser()
|
||||
{
|
||||
// Mock data - replace with actual API call
|
||||
_currentUser = new UserNode
|
||||
{
|
||||
Id = 1,
|
||||
FirstName = "علی",
|
||||
LastName = "رضایی",
|
||||
Avatar = "images/avatar1.jpg",
|
||||
PersonalPurchase = 2500000,
|
||||
TeamPurchase = 15000000,
|
||||
Children = new List<UserNode>
|
||||
{
|
||||
new UserNode
|
||||
{
|
||||
Id = 2,
|
||||
FirstName = "مریم",
|
||||
LastName = "احمدی",
|
||||
Avatar = "images/avatar2.jpg",
|
||||
PersonalPurchase = 1800000,
|
||||
TeamPurchase = 8500000,
|
||||
Children = new List<UserNode>
|
||||
{
|
||||
new UserNode
|
||||
{
|
||||
Id = 5,
|
||||
FirstName = "سارا",
|
||||
LastName = "کریمی",
|
||||
PersonalPurchase = 1200000,
|
||||
TeamPurchase = 3200000,
|
||||
Children = new List<UserNode>
|
||||
{
|
||||
new UserNode
|
||||
{
|
||||
Id = 8,
|
||||
FirstName = "نازنین",
|
||||
LastName = "رضایی",
|
||||
PersonalPurchase = 950000,
|
||||
TeamPurchase = 2100000
|
||||
},
|
||||
new UserNode
|
||||
{
|
||||
Id = 8,
|
||||
FirstName = "فرزاد",
|
||||
LastName = "رضایی",
|
||||
PersonalPurchase = 950000,
|
||||
TeamPurchase = 2100000
|
||||
}
|
||||
}
|
||||
},
|
||||
new UserNode
|
||||
{
|
||||
Id = 6,
|
||||
FirstName = "امیر",
|
||||
LastName = "حسینی",
|
||||
PersonalPurchase = 950000,
|
||||
TeamPurchase = 1800000
|
||||
}
|
||||
}
|
||||
},
|
||||
new UserNode
|
||||
{
|
||||
Id = 3,
|
||||
FirstName = "حسن",
|
||||
LastName = "کریمی",
|
||||
Avatar = "images/avatar3.jpg",
|
||||
PersonalPurchase = 2200000,
|
||||
TeamPurchase = 9200000,
|
||||
Children = new List<UserNode>
|
||||
{
|
||||
new UserNode
|
||||
{
|
||||
Id = 7,
|
||||
FirstName = "فاطمه",
|
||||
LastName = "رضایی",
|
||||
PersonalPurchase = 1350000,
|
||||
TeamPurchase = 4100000
|
||||
},
|
||||
new UserNode
|
||||
{
|
||||
Id = 7,
|
||||
FirstName = "آرش",
|
||||
LastName = "رضایی",
|
||||
PersonalPurchase = 1350000,
|
||||
TeamPurchase = 4100000
|
||||
}
|
||||
}
|
||||
},
|
||||
new UserNode
|
||||
{
|
||||
Id = 4,
|
||||
FirstName = "زهرا",
|
||||
LastName = "محمدی",
|
||||
Avatar = "images/avatar4.jpg",
|
||||
PersonalPurchase = 1950000,
|
||||
TeamPurchase = 7800000
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void ToggleExpand()
|
||||
{
|
||||
_isExpanded = !_isExpanded;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
public void ToggleNodeExpand(long userId)
|
||||
{
|
||||
var node = FindNode(_currentUser, userId);
|
||||
if (node != null)
|
||||
{
|
||||
node.IsExpanded = !node.IsExpanded;
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private UserNode? FindNode(UserNode? node, long userId)
|
||||
{
|
||||
if (node == null) return null;
|
||||
if (node.Id == userId) return node;
|
||||
|
||||
if (node.Children != null)
|
||||
{
|
||||
foreach (var child in node.Children)
|
||||
{
|
||||
var found = FindNode(child, userId);
|
||||
if (found != null) return found;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user