diff --git a/src/EventLogExpert/Components/FilterPane.razor b/src/EventLogExpert/Components/FilterPane.razor index 2b4b2024..6f180259 100644 --- a/src/EventLogExpert/Components/FilterPane.razor +++ b/src/EventLogExpert/Components/FilterPane.razor @@ -1,5 +1,4 @@ @using EventLogExpert.Shared.Components - @inherits FluxorComponent @inject IState AvailableFilterState @@ -10,11 +9,17 @@
-
+ + @if (!_isDateFilterVisible) + { + + }
@@ -28,33 +33,21 @@
+
- @foreach (var item in FilterPaneState.Value.CurrentFilters) + @if (_isDateFilterVisible) { - - } -
- - @if (FilterPaneState.Value.FilteredDateRange == null && !_editingDateRange) - { -
- -
- } - else - { -
- After: + After: - Before: + Before: - @if (_editingDateRange) + @if (_canEditDate) { -
- } + } + + @foreach (var item in FilterPaneState.Value.CurrentFilters) + { + + } +
+
diff --git a/src/EventLogExpert/Components/FilterPane.razor.cs b/src/EventLogExpert/Components/FilterPane.razor.cs index 185624e9..8e221ded 100644 --- a/src/EventLogExpert/Components/FilterPane.razor.cs +++ b/src/EventLogExpert/Components/FilterPane.razor.cs @@ -8,51 +8,55 @@ namespace EventLogExpert.Components; public partial class FilterPane { - private FilterDateModel _model = new(); + private readonly FilterDateModel _model = new(); - private bool _editingDateRange = false; + private bool _canEditDate = true; + private bool _isDateFilterVisible; + private bool _isFilterListVisible; - private bool _expandMenu; + private string MenuState => _isFilterListVisible.ToString().ToLower(); - private string MenuState => _expandMenu.ToString().ToLower(); - - private void AddFilter() + private void AddDateFilter() { - Dispatcher.Dispatch(new FilterPaneAction.AddFilter()); - _expandMenu = true; + _isFilterListVisible = true; + _canEditDate = true; + + _model.Before = EventLogState.Value.Events.FirstOrDefault()?.TimeCreated + .AddMinutes(1).ConvertTimeZone(SettingsState.Value.TimeZone) ?? + DateTime.Now; + + _model.After = EventLogState.Value.Events.LastOrDefault()?.TimeCreated + .AddMinutes(-1).ConvertTimeZone(SettingsState.Value.TimeZone) ?? + DateTime.Now; + + _isDateFilterVisible = true; } - private void AddDateFilter() + private void AddFilter() { - _model.Before = EventLogState.Value.Events.FirstOrDefault()?.TimeCreated.AddMinutes(1).ConvertTimeZone(SettingsState.Value.TimeZone) ?? DateTime.Now; - _model.After = EventLogState.Value.Events.LastOrDefault()?.TimeCreated.AddMinutes(-1).ConvertTimeZone(SettingsState.Value.TimeZone) ?? DateTime.Now; - _editingDateRange = true; + Dispatcher.Dispatch(new FilterPaneAction.AddFilter()); + _isFilterListVisible = true; } private void ApplyDateFilter() { FilterDateModel model = new() { - After = _model.After.ToUniversalTime(), + After = _model.After.ToUniversalTime(), Before = _model.Before.ToUniversalTime() }; Dispatcher.Dispatch(new FilterPaneAction.SetFilterDateRange(model)); - _editingDateRange = false; + _canEditDate = false; } private void RemoveDateFilter() { Dispatcher.Dispatch(new FilterPaneAction.SetFilterDateRange(null)); - _editingDateRange = false; - } - - private void EditDateFilter() - { - _editingDateRange = true; + _isDateFilterVisible = false; } - public bool IsEditingDisabled => _editingDateRange == false; + private void EditDateFilter() => _canEditDate = true; - private void ToggleMenu() => _expandMenu = !_expandMenu; + private void ToggleMenu() => _isFilterListVisible = !_isFilterListVisible; }