Order dropdown content (#49)
All checks were successful
Game Ideas build for PR / build_test (pull_request) Successful in 56s
All checks were successful
Game Ideas build for PR / build_test (pull_request) Successful in 56s
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
<SelectSearch TItem="int" Placeholder="@ResourcesKey.ReleaseDate" GetLabel="@(p => p.ToString())"
|
<SelectSearch TItem="int" Placeholder="@ResourcesKey.ReleaseDate" GetLabel="@(p => p.ToString())"
|
||||||
@bind-Values=GameFilter.ReleaseYears @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.ReleaseYears" />
|
@bind-Values=GameFilter.ReleaseYears @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.ReleaseYears" />
|
||||||
|
|
||||||
<SelectSearch TItem="int" Placeholder="@ResourcesKey.StorageSize" GetLabel="@GetStorageSpaceLabel"
|
<SelectSearch TItem="int" Placeholder="@ResourcesKey.StorageSize" GetLabel="@GetStorageSpaceLabel" OrderBy="@(item => item.ToString())"
|
||||||
@bind-Values=GameFilter.StorageSpaceIds @bind-Values:after=HandleValueChanged Theme="Theme" Items="@(Categories?.StorageSpaces?.Select(stor => stor.Id).ToList())" />
|
@bind-Values=GameFilter.StorageSpaceIds @bind-Values:after=HandleValueChanged Theme="Theme" Items="@(Categories?.StorageSpaces?.Select(stor => stor.Id).ToList())" />
|
||||||
|
|
||||||
<span class="title">@ResourcesKey.LastAdd</span>
|
<span class="title">@ResourcesKey.LastAdd</span>
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ public class SelectParams<TItem, THeader>
|
|||||||
{
|
{
|
||||||
public List<TItem> Items { get; set; } = [];
|
public List<TItem> Items { get; set; } = [];
|
||||||
public Func<TItem, string> GetItemLabel { get; set; } = _ => string.Empty;
|
public Func<TItem, string> GetItemLabel { get; set; } = _ => string.Empty;
|
||||||
|
public Func<TItem, string>? GetItemOrder { get; set; }
|
||||||
public List<THeader> Headers { get; set; } = [];
|
public List<THeader> Headers { get; set; } = [];
|
||||||
public Func<THeader, string> GetHeaderLabel { get; set; } = _ => string.Empty;
|
public Func<THeader, string> GetHeaderLabel { get; set; } = _ => string.Empty;
|
||||||
|
public Func<THeader, string>? GetHeaderOrder { get; set; }
|
||||||
public Func<string, TItem>? AddItem { get; set; }
|
public Func<string, TItem>? AddItem { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
@if (Params.Headers != null)
|
@if (Params.Headers != null)
|
||||||
{
|
{
|
||||||
@foreach (var header in (HeaderValues ?? []).UnionBy(Params.Headers, Params.GetHeaderLabel))
|
@foreach (var header in (HeaderValues ?? []).UnionBy(Params.Headers, Params.GetHeaderLabel).OrderBy(Params.GetHeaderOrder ?? Params.GetHeaderLabel))
|
||||||
{
|
{
|
||||||
<SelectRow IsSelected=@(HeaderValues?.Contains(header))
|
<SelectRow IsSelected=@(HeaderValues?.Contains(header))
|
||||||
Label="@Params.GetHeaderLabel(header)" Theme=Theme
|
Label="@Params.GetHeaderLabel(header)" Theme=Theme
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
@if (Params.Items != null)
|
@if (Params.Items != null)
|
||||||
{
|
{
|
||||||
@foreach (var item in (Values ?? []).UnionBy(Params.Items, Params.GetItemLabel))
|
@foreach (var item in (Values ?? []).UnionBy(Params.Items, Params.GetItemLabel).OrderBy(Params.GetItemOrder ?? Params.GetItemLabel))
|
||||||
{
|
{
|
||||||
<SelectRow IsSelected=@(Values?.Contains(item))
|
<SelectRow IsSelected=@(Values?.Contains(item))
|
||||||
Label="@Params.GetItemLabel(item)" Theme=Theme
|
Label="@Params.GetItemLabel(item)" Theme=Theme
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ public partial class SelectSearch<TItem>
|
|||||||
[Parameter] public SelectTheme Theme { get; set; }
|
[Parameter] public SelectTheme Theme { get; set; }
|
||||||
[Parameter] public List<TItem> Items { get; set; } = [];
|
[Parameter] public List<TItem> Items { get; set; } = [];
|
||||||
[Parameter] public Func<TItem, string> GetLabel { get; set; } = _ => string.Empty;
|
[Parameter] public Func<TItem, string> GetLabel { get; set; } = _ => string.Empty;
|
||||||
|
[Parameter] public Func<TItem, string>? OrderBy { get; set; } = _ => string.Empty;
|
||||||
[Parameter] public List<TItem> Values { get; set; } = [];
|
[Parameter] public List<TItem> Values { get; set; } = [];
|
||||||
[Parameter] public EventCallback<List<TItem>> ValuesChanged { get; set; }
|
[Parameter] public EventCallback<List<TItem>> ValuesChanged { get; set; }
|
||||||
[Parameter] public string Placeholder { get; set; } = string.Empty;
|
[Parameter] public string Placeholder { get; set; } = string.Empty;
|
||||||
@@ -27,6 +28,7 @@ public partial class SelectSearch<TItem>
|
|||||||
{
|
{
|
||||||
Items = Items,
|
Items = Items,
|
||||||
GetItemLabel = GetLabel,
|
GetItemLabel = GetLabel,
|
||||||
|
GetItemOrder = OrderBy,
|
||||||
AddItem = AddItem
|
AddItem = AddItem
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user