Rework select component #14
@@ -1,5 +1,5 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.Popup;
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Slider;
|
||||
using GameIdeas.Shared.Dto;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectSearch
|
||||
@using GameIdeas.Shared.Dto
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using GameIdeas.Shared.Dto;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Search
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectSearch
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SliderRange
|
||||
@using GameIdeas.BlazorApp.Shared.Models
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.SliderRange;
|
||||
using GameIdeas.BlazorApp.Shared.Models;
|
||||
using GameIdeas.Shared.Dto;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@using GameIdeas.BlazorApp.Pages.Games
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Account
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Models
|
||||
@using GameIdeas.Resources
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.Account;
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList;
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Models;
|
||||
using GameIdeas.Resources;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Helpers
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Helpers
|
||||
|
||||
<div class="select-element @SelectHelper.GetClassFromTheme(Theme)"
|
||||
@onclick=HandleElementClicked>
|
||||
@@ -1,7 +1,7 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectList.Components;
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.Select.Components;
|
||||
|
||||
public partial class SelectRow
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectList.Helpers;
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.Select.Helpers;
|
||||
|
||||
public static class SelectHelper
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
|
||||
public class SelectParams<TItem, THeader>
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
|
||||
public enum SelectTheme
|
||||
{
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
|
||||
public enum SelectType
|
||||
{
|
||||
Single,
|
||||
Multiple
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
@using GameIdeas.BlazorApp.Shared.Components.BackdropFilter
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Components
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Helpers
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Components
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Helpers
|
||||
|
||||
@typeparam TItem
|
||||
@typeparam THeader
|
||||
@@ -1,7 +1,7 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectList;
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.Select;
|
||||
|
||||
public partial class Select<TItem, THeader>
|
||||
{
|
||||
@@ -13,14 +13,21 @@ public partial class Select<TItem, THeader>
|
||||
[Parameter] public SelectParams<TItem, THeader> Params { get; set; } = new();
|
||||
[Parameter] public SelectTheme Theme { get; set; }
|
||||
[Parameter] public SelectType Type { get; set; } = SelectType.Single;
|
||||
[Parameter] public bool DisableClicked { get; set; } = false;
|
||||
|
||||
private bool IsContentOpen = false;
|
||||
|
||||
public void Close() =>
|
||||
IsContentOpen = false;
|
||||
|
||||
private void HandleButtonClicked() =>
|
||||
IsContentOpen = !IsContentOpen;
|
||||
public void Open() =>
|
||||
IsContentOpen = true;
|
||||
|
||||
private void HandleButtonClicked()
|
||||
{
|
||||
if (!DisableClicked)
|
||||
IsContentOpen = !IsContentOpen;
|
||||
}
|
||||
|
||||
private void HandleContentClosed() =>
|
||||
IsContentOpen = false;
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
|
||||
public enum SelectType
|
||||
{
|
||||
Single,
|
||||
Multiple
|
||||
}
|
||||
@@ -1,19 +1,17 @@
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Search
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Helpers
|
||||
@using GameIdeas.BlazorApp.Shared.Components.SelectList.Models
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Helpers
|
||||
@using GameIdeas.BlazorApp.Shared.Components.Select.Models
|
||||
|
||||
@typeparam TItem
|
||||
|
||||
<Select TItem="TItem" THeader="string" Theme="Theme" Type="SelectType.Multiple"
|
||||
<Select @ref=Select TItem="TItem" THeader="string" Theme="Theme" Type="SelectType.Multiple" DisableClicked=true
|
||||
Params="SelectParams" Values=Values ValuesChanged="HandleValuesChanged">
|
||||
|
||||
<div class="@SelectHelper.GetClassFromTheme(Theme)">
|
||||
<SearchInput @ref=SearchInput
|
||||
Icon="SearchInputIcon.Dropdown"
|
||||
Placeholder="@Placeholder"
|
||||
TextChanged="HandleTextChanged"
|
||||
ClearClicked="HandleClearClicked" />
|
||||
<SearchInput @ref=SearchInput Icon="SearchInputIcon.Dropdown" Placeholder="@Placeholder"
|
||||
TextChanged="HandleClearClicked" ClearClicked="HandleClearClicked"
|
||||
FocusIn="HandleFocusIn" SearchClicked="HandleFocusIn" />
|
||||
</div>
|
||||
|
||||
</Select>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using GameIdeas.BlazorApp.Shared.Components.Search;
|
||||
using GameIdeas.BlazorApp.Shared.Components.SelectList.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select.Models;
|
||||
using GameIdeas.BlazorApp.Shared.Components.Select;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace GameIdeas.BlazorApp.Shared.Components.SelectSearch;
|
||||
@@ -15,6 +16,7 @@ public partial class SelectSearch<TItem>
|
||||
|
||||
private SelectParams<TItem, string> SelectParams = new();
|
||||
private SearchInput? SearchInput;
|
||||
private Select<TItem, string>? Select;
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
SelectParams = new()
|
||||
@@ -36,8 +38,9 @@ public partial class SelectSearch<TItem>
|
||||
{
|
||||
Values = [];
|
||||
}
|
||||
private void HandleTextChanged()
|
||||
|
||||
private void HandleFocusIn()
|
||||
{
|
||||
Values = [];
|
||||
Select?.Open();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user