113 lines
2.9 KiB
C#
113 lines
2.9 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using MP.MONO.UI.Data;
|
|
|
|
namespace MP.MONO.UI.Components
|
|
{
|
|
public partial class ToggleModes
|
|
{
|
|
[Parameter]
|
|
public EventCallback<selectGlobalToggle> FilterChanged { get; set; }
|
|
|
|
[Parameter]
|
|
public selectGlobalToggle SelFilter { get; set; } = new selectGlobalToggle();
|
|
|
|
protected bool isActive
|
|
{
|
|
get => SelFilter.isActive;
|
|
set
|
|
{
|
|
if (SelFilter.isActive != value)
|
|
{
|
|
SelFilter.isActive = value;
|
|
reportChange();
|
|
}
|
|
}
|
|
}
|
|
|
|
protected string leftString
|
|
{
|
|
get => SelFilter.leftString;
|
|
set
|
|
{
|
|
if (SelFilter.leftString != value)
|
|
{
|
|
SelFilter.leftString = value;
|
|
reportChange();
|
|
}
|
|
}
|
|
}
|
|
protected string leftStringCSS
|
|
{
|
|
get => SelFilter.leftStringCSS;
|
|
set
|
|
{
|
|
if (SelFilter.leftStringCSS != value)
|
|
{
|
|
SelFilter.leftStringCSS = value;
|
|
reportChange();
|
|
}
|
|
}
|
|
}
|
|
protected string rightString
|
|
{
|
|
get => SelFilter.rightString;
|
|
set
|
|
{
|
|
if (SelFilter.rightString != value)
|
|
{
|
|
SelFilter.rightString = value;
|
|
reportChange();
|
|
}
|
|
}
|
|
}
|
|
protected string rightStringCSS
|
|
{
|
|
get => SelFilter.rightStringCSS;
|
|
set
|
|
{
|
|
if (SelFilter.rightStringCSS != value)
|
|
{
|
|
SelFilter.rightStringCSS = value;
|
|
reportChange();
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void toggle()
|
|
{
|
|
var currFilt = SelFilter;
|
|
currFilt.isActive = !currFilt.isActive;
|
|
SelFilter = currFilt;
|
|
if (isActive)
|
|
{
|
|
rightStringCSS = "fw-bold";
|
|
leftStringCSS = "text-secondary";
|
|
}
|
|
else
|
|
{
|
|
leftStringCSS = "fw-bold";
|
|
rightStringCSS = "text-secondary";
|
|
}
|
|
}
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
if (isActive)
|
|
{
|
|
rightStringCSS = "fw-bold";
|
|
leftStringCSS = "text-secondary";
|
|
}
|
|
else
|
|
{
|
|
leftStringCSS = "fw-bold";
|
|
rightStringCSS = "text-secondary";
|
|
}
|
|
await FilterChanged.InvokeAsync(SelFilter);
|
|
}
|
|
|
|
private void reportChange()
|
|
{
|
|
FilterChanged.InvokeAsync(SelFilter);
|
|
}
|
|
}
|
|
}
|