Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,19 @@ public void CurrentFiltersViewComponent_selects_expected_filters_to_display()
var categories = new List<Category>
{ new Category { CategoryName = "Word" }, new Category { CategoryName = "Excel" } };
const string searchString = "test";
const string sortBy = "sort";
const string sortDirection = "sortDirection";
const int itemsPerPage = 10;

var availableFilters = AdministratorsViewModelFilterOptions.GetAllAdministratorsFilterModels(categories);

var inputViewModel = new CentreAdministratorsViewModel(
1,
new SearchSortFilterPaginationResult<AdminUser>(
new PaginationResult<AdminUser>(new List<AdminUser>(), 1, 1, 10, 0),
new PaginationResult<AdminUser>(new List<AdminUser>(), 1, 1, itemsPerPage, 0),
searchString,
null,
null,
sortBy,
sortDirection,
"CategoryName|CategoryName|Word╡Role|IsCentreAdmin|true"
),
availableFilters,
Expand All @@ -68,6 +71,9 @@ public void CurrentFiltersViewComponent_selects_expected_filters_to_display()
var expectedFilterViewModel = new CurrentFiltersViewModel(
expectedAppliedFilters,
searchString,
sortBy,
sortDirection,
itemsPerPage,
new Dictionary<string, string>()
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ IBaseSearchablePageViewModel searchablePageViewModel
var model = new CurrentFiltersViewModel(
appliedFilters,
searchablePageViewModel.SearchString,
searchablePageViewModel.SortBy,
searchablePageViewModel.SortDirection,
searchablePageViewModel.ItemsPerPage,
searchablePageViewModel.RouteData
);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
namespace DigitalLearningSolutions.Web.ViewModels.Common.SearchablePage
{
using System;
using System.Collections.Generic;

public class CurrentFiltersViewModel
{
[Obsolete("This is currently only used in SearchSelfAssessmentOvervieviewViewModel.cs, " +
"but this version has been superseded by the version with sortBy etc. " +
"parameters to fix a bug with Clear Filters resetting Sort and Items per page")]
public CurrentFiltersViewModel(
IEnumerable<AppliedFilterViewModel> filters,
string? searchString,
Expand All @@ -15,10 +19,33 @@ Dictionary<string, string> routeData
RouteData = routeData;
}

public CurrentFiltersViewModel(
IEnumerable<AppliedFilterViewModel> appliedFilters,
string? searchString,
string? sortBy,
string? sortDirection,
int itemsPerPage,
Dictionary<string, string> routeData
)
{
AppliedFilters = appliedFilters;
SearchString = searchString;
SortBy = sortBy;
SortDirection = sortDirection;
ItemsPerPage = itemsPerPage;
RouteData = routeData;
}

public IEnumerable<AppliedFilterViewModel> AppliedFilters { get; set; }

public string? SearchString { get; set; }

public string? SortBy { get; set; }

public string? SortDirection { get; set; }

public int ItemsPerPage { get; set; }

public Dictionary<string, string> RouteData { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
<form method="get" asp-action="@ViewContext.RouteData.Values["action"].ToString()" asp-route-page="1">
<input type="hidden" name="clearFilters" value="true" />
<input type="hidden" name="searchString" value="@Model.SearchString" />
<input type="hidden" name="sortBy" value="@Model.SortBy" />
<input type="hidden" name="sortDirection" value="@Model.SortDirection" />
<input type="hidden" name="itemsPerPage" value="@Model.ItemsPerPage" />
@foreach (var (key, value) in Model.RouteData) {
<input type="hidden" name="@key" value="@value" />
}
Expand Down