mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-05 22:49:07 +00:00
88 lines
5.3 KiB
Plaintext
88 lines
5.3 KiB
Plaintext
<MudTreeView T="ITreeItem" Items="@this.treeItems" SelectionMode="SelectionMode.SingleSelection" Hover="@true" ExpandOnClick="@true" Class="ma-3">
|
|
<ItemTemplate Context="item">
|
|
@switch (item.Value)
|
|
{
|
|
case TreeDivider:
|
|
<li style="min-height: 1em;">
|
|
<MudDivider Style="margin-top: 1em; width: 90%; border-width: 3pt;"/>
|
|
</li>
|
|
break;
|
|
|
|
case TreeItemData treeItem:
|
|
@if (treeItem.Type is TreeItemType.CHAT)
|
|
{
|
|
<MudTreeViewItem T="ITreeItem" Icon="@treeItem.Icon" Value="@item.Value" Expanded="@item.Expanded" CanExpand="@treeItem.Expandable" Items="@treeItem.Children" OnClick="() => this.LoadChat(treeItem.Path, true)">
|
|
<BodyContent>
|
|
<div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%">
|
|
<MudText Style="justify-self: start;">
|
|
@if (string.IsNullOrWhiteSpace(treeItem.Text))
|
|
{
|
|
@("Empty chat")
|
|
}
|
|
else
|
|
{
|
|
@treeItem.ShortenedText
|
|
}
|
|
</MudText>
|
|
<div style="justify-self: end;">
|
|
|
|
<MudTooltip Text="Move to workspace" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT">
|
|
<MudIconButton Icon="@Icons.Material.Filled.MoveToInbox" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.MoveChat(treeItem.Path)"/>
|
|
</MudTooltip>
|
|
|
|
<MudTooltip Text="Rename" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Edit" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.RenameChat(treeItem.Path)"/>
|
|
</MudTooltip>
|
|
|
|
<MudTooltip Text="Delete" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Delete" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.DeleteChat(treeItem.Path)"/>
|
|
</MudTooltip>
|
|
</div>
|
|
</div>
|
|
</BodyContent>
|
|
</MudTreeViewItem>
|
|
}
|
|
else if (treeItem.Type is TreeItemType.WORKSPACE)
|
|
{
|
|
<MudTreeViewItem T="ITreeItem" Icon="@treeItem.Icon" Value="@item.Value" Expanded="@item.Expanded" CanExpand="@treeItem.Expandable" Items="@treeItem.Children">
|
|
<BodyContent>
|
|
<div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%">
|
|
<MudText Style="justify-self: start;">@treeItem.Text</MudText>
|
|
<div style="justify-self: end;">
|
|
<MudTooltip Text="Rename" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Edit" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.RenameWorkspace(treeItem.Path)"/>
|
|
</MudTooltip>
|
|
|
|
<MudTooltip Text="Delete" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Delete" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.DeleteWorkspace(treeItem.Path)"/>
|
|
</MudTooltip>
|
|
</div>
|
|
</div>
|
|
</BodyContent>
|
|
</MudTreeViewItem>
|
|
}
|
|
else
|
|
{
|
|
<MudTreeViewItem T="ITreeItem" Icon="@treeItem.Icon" Value="@item.Value" Expanded="@item.Expanded" CanExpand="@treeItem.Expandable" Items="@treeItem.Children">
|
|
<BodyContent>
|
|
<div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%">
|
|
<MudText Style="justify-self: start;">@treeItem.Text</MudText>
|
|
</div>
|
|
</BodyContent>
|
|
</MudTreeViewItem>
|
|
}
|
|
break;
|
|
|
|
case TreeButton treeButton:
|
|
<li>
|
|
<div class="mud-treeview-item-content" style="background-color: unset;">
|
|
<div class="mud-treeview-item-arrow"></div>
|
|
<MudButton StartIcon="@treeButton.Icon" Variant="Variant.Filled" OnClick="treeButton.Action">
|
|
@treeButton.Text
|
|
</MudButton>
|
|
</div>
|
|
</li>
|
|
break;
|
|
}
|
|
</ItemTemplate>
|
|
</MudTreeView> |