Completata search libera (senza debounce da sistemare)
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Timers;
|
||||
|
||||
namespace MP.Prog.Data
|
||||
{
|
||||
@@ -12,11 +13,17 @@ namespace MP.Prog.Data
|
||||
private SelectData _fileFilter = SelectData.Init(5, 15);
|
||||
private string _pageIcon;
|
||||
private string _pageName;
|
||||
private string _searchVal;
|
||||
private string _searchVal = "";
|
||||
private bool showSearch;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
protected Timer SearchTimer;
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Public Events
|
||||
|
||||
public event Action EA_FilterUpdated;
|
||||
@@ -41,11 +48,7 @@ namespace MP.Prog.Data
|
||||
if (_fileFilter != value)
|
||||
{
|
||||
_fileFilter = value;
|
||||
|
||||
if (EA_FilterUpdated != null)
|
||||
{
|
||||
EA_FilterUpdated?.Invoke();
|
||||
}
|
||||
ReportFilter();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,11 +87,8 @@ namespace MP.Prog.Data
|
||||
if (_searchVal != value)
|
||||
{
|
||||
_searchVal = value;
|
||||
|
||||
if (EA_SearchUpdated != null)
|
||||
{
|
||||
EA_SearchUpdated?.Invoke();
|
||||
}
|
||||
//TriggerSearch();
|
||||
ReportSearch();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -103,17 +103,11 @@ namespace MP.Prog.Data
|
||||
showSearch = value;
|
||||
if (showSearch)
|
||||
{
|
||||
if (EA_ShowSearch != null)
|
||||
{
|
||||
EA_ShowSearch?.Invoke();
|
||||
}
|
||||
ReportShowSearch();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (EA_HideSearch != null)
|
||||
{
|
||||
EA_HideSearch?.Invoke();
|
||||
}
|
||||
ReportHideSearch();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -123,6 +117,22 @@ namespace MP.Prog.Data
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private void ReportFilter()
|
||||
{
|
||||
if (EA_FilterUpdated != null)
|
||||
{
|
||||
EA_FilterUpdated?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
private void ReportHideSearch()
|
||||
{
|
||||
if (EA_HideSearch != null)
|
||||
{
|
||||
EA_HideSearch?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
private void ReportPageUpd()
|
||||
{
|
||||
if (EA_PageUpdated != null)
|
||||
@@ -139,6 +149,38 @@ namespace MP.Prog.Data
|
||||
}
|
||||
}
|
||||
|
||||
private void ReportShowSearch()
|
||||
{
|
||||
if (EA_ShowSearch != null)
|
||||
{
|
||||
EA_ShowSearch?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
private void SearchTimerElapsed_TickAsync(object sender, EventArgs e)
|
||||
{
|
||||
DisposeSearchTimer();
|
||||
ReportSearch();
|
||||
}
|
||||
|
||||
private void TriggerSearch()
|
||||
{
|
||||
DisposeSearchTimer();
|
||||
SearchTimer = new Timer(150);
|
||||
SearchTimer.Elapsed += SearchTimerElapsed_TickAsync;
|
||||
SearchTimer.Enabled = true;
|
||||
SearchTimer.Start();
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void DisposeSearchTimer()
|
||||
{
|
||||
SearchTimer.Dispose();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user