mirror of
https://github.com/lantean-code/qbtmud.git
synced 2025-10-22 20:42:24 +00:00
93 lines
4.8 KiB
Plaintext
93 lines
4.8 KiB
Plaintext
<ContextMenu @ref="ContextMenu" Dense="true">
|
|
<MudMenuItem Icon="@Icons.Material.Filled.DriveFileRenameOutline" OnClick="RenameFileContextMenu">Rename</MudMenuItem>
|
|
</ContextMenu>
|
|
|
|
<div style="overflow-x: auto; white-space: nowrap; width: 100%;">
|
|
<MudToolBar Gutters="false" Dense="true">
|
|
<MudIconButton Icon="@Icons.Material.Filled.DriveFileRenameOutline" OnClick="RenameFileToolbar" title="Rename" />
|
|
<MudDivider Vertical="true" />
|
|
<MudIconButton Icon="@Icons.Material.Outlined.ViewColumn" Color="Color.Inherit" OnClick="ColumnOptions" title="Choose Columns" />
|
|
<MudDivider Vertical="true" />
|
|
<MudMenu Icon="@Icons.Material.Outlined.FileDownloadOff" Label="Do Not Download" AnchorOrigin="Origin.BottomLeft" TransformOrigin="Origin.TopLeft" title="Do Not Download">
|
|
<MudMenuItem OnClick="DoNotDownloadLessThan100PercentAvailability">Less Than 100% Availability</MudMenuItem>
|
|
<MudMenuItem OnClick="DoNotDownloadLessThan80PercentAvailability">Less than 80% Availability</MudMenuItem>
|
|
<MudMenuItem OnClick="DoNotDownloadCurrentlyFilteredFiles">Currently Filtered Files</MudMenuItem>
|
|
</MudMenu>
|
|
<MudMenu Icon="@Icons.Material.Outlined.FileDownload" Label="Normal Priority" AnchorOrigin="Origin.BottomLeft" TransformOrigin="Origin.TopLeft" title="Download">
|
|
<MudMenuItem OnClick="NormalPriorityLessThan100PercentAvailability">Less Than 100% Availability</MudMenuItem>
|
|
<MudMenuItem OnClick="NormalPriorityLessThan80PercentAvailability">Less than 80% Availability</MudMenuItem>
|
|
<MudMenuItem OnClick="NormalPriorityCurrentlyFilteredFiles">Currently Filtered Files</MudMenuItem>
|
|
</MudMenu>
|
|
<MudIconButton Icon="@Icons.Material.Outlined.FilterList" OnClick="ShowFilterDialog" title="Filter" />
|
|
<MudIconButton Icon="@Icons.Material.Outlined.FilterListOff" OnClick="RemoveFilter" title="Remove Filter" />
|
|
<MudSpacer />
|
|
<MudTextField T="string" Value="SearchText" ValueChanged="SearchTextChanged" Immediate="true" DebounceInterval="500" Placeholder="Filter file list" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium" Class="mt-0"></MudTextField>
|
|
</MudToolBar>
|
|
</div>
|
|
|
|
<DynamicTable
|
|
@ref="Table"
|
|
T="ContentItem"
|
|
ColumnDefinitions="Columns"
|
|
Items="Files"
|
|
MultiSelection="false"
|
|
SelectOnRowClick="true"
|
|
PreSorted="true"
|
|
SelectedItemChanged="SelectedItemChanged"
|
|
SortColumnChanged="SortColumnChanged"
|
|
SortDirectionChanged="SortDirectionChanged"
|
|
OnTableDataContextMenu="TableDataContextMenu"
|
|
OnTableDataLongPress="TableDataLongPress"
|
|
Class="file-list"
|
|
/>
|
|
|
|
@code {
|
|
private RenderFragment<RowContext<ContentItem>> NameColumn
|
|
{
|
|
get
|
|
{
|
|
return context => __builder =>
|
|
{
|
|
<div style="@($"margin-left: {(context.Data.Level * 14) + (context.Data.Level >= 1 ? 16 : 0)}px")">
|
|
@if (context.Data.IsFolder)
|
|
{
|
|
<MudIconButton Class="folder-button" Edge="Edge.Start" ButtonType="ButtonType.Button" Icon="@(ExpandedNodes.Contains(context.Data.Name) ? Icons.Material.Filled.KeyboardArrowDown : Icons.Material.Filled.KeyboardArrowRight)" OnClick="@(c => ToggleNode(context.Data))"></MudIconButton>
|
|
<MudIcon Icon="@Icons.Material.Filled.Folder" Class="pt-0" Style="margin-right: 4px; position: relative; top: 7px; margin-left: -15px" />
|
|
}
|
|
@context.Data.DisplayName
|
|
</div>;
|
|
};
|
|
}
|
|
}
|
|
|
|
private RenderFragment<RowContext<ContentItem>> PriorityColumn
|
|
{
|
|
get
|
|
{
|
|
return context => __builder =>
|
|
{
|
|
<MudSelect T="Priority" Dense="true" Value="@context.Data.Priority" ValueChanged="@(priority => PriorityValueChanged(context.Data, priority))" Class="mt-0">
|
|
<MudSelectItem T="Priority" Value="Priority.DoNotDownload">Do not download</MudSelectItem>
|
|
<MudSelectItem T="Priority" Value="Priority.Normal">Normal</MudSelectItem>
|
|
<MudSelectItem T="Priority" Value="Priority.High">High</MudSelectItem>
|
|
<MudSelectItem T="Priority" Value="Priority.Maximum">Maximum</MudSelectItem>
|
|
</MudSelect>
|
|
};
|
|
}
|
|
}
|
|
|
|
private static RenderFragment<RowContext<ContentItem>> ProgressBarColumn
|
|
{
|
|
get
|
|
{
|
|
return context => __builder =>
|
|
{
|
|
var value = (float?)context.GetValue();
|
|
var color = value < 1 ? Color.Success : Color.Info;
|
|
<MudProgressLinear title="Progress" Color="@color" Value="@((value ?? 0) * 100)" Class="progress-expand" Size="Size.Large">
|
|
@DisplayHelpers.Percentage(value)
|
|
</MudProgressLinear>;
|
|
};
|
|
}
|
|
}
|
|
} |