Skip to content

Commit 2fddfa6

Browse files
committed
Code review fixes
1 parent c008afc commit 2fddfa6

File tree

11 files changed

+51
-80
lines changed

11 files changed

+51
-80
lines changed
Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Components.SortableHeaderCell;
2-
using Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Models;
1+
using Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Models;
32
using Microsoft.AspNetCore.Mvc.RazorPages;
43

54
namespace Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Base;
@@ -14,27 +13,4 @@ public void ApplySort(string sortColumn, SortDirection? sortDirection)
1413
SortColumn = sortColumn;
1514
SortDirection = sortDirection;
1615
}
17-
18-
public SortableHeaderCellViewModel CreateHeaderCellViewModel(string displayName, string key)
19-
{
20-
return new SortableHeaderCellViewModel
21-
{
22-
DisplayName = displayName,
23-
Key = key,
24-
IsActive = IsActiveSortColumn(key),
25-
SortDirection = GetSortDirection(key)
26-
};
27-
}
28-
29-
private SortDirection? GetSortDirection(string key)
30-
{
31-
if (IsActiveSortColumn(key))
32-
{
33-
return SortDirection ?? Models.SortDirection.Ascending;
34-
}
35-
36-
return null;
37-
}
38-
39-
private bool IsActiveSortColumn(string key) => SortColumn == key;
4016
}

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Components/SortableHeaderCell/Default.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
style="white-space: nowrap">
66
@Model.DisplayName
77

8-
@if (Model.IsActive && Model.SortDirection != null)
8+
@if (Model.IsActive() && Model.GetSortDirection() != null)
99
{
10-
<span data-feather="@(Model.SortDirection == SortDirection.Ascending ? "arrow-up" : "arrow-down")">
10+
<span data-feather="@(Model.GetSortDirection() == SortDirection.Ascending ? "arrow-up" : "arrow-down")">
1111
</span>
1212
}
1313
</a>

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Components/SortableHeaderCell/SortableHeaderCellViewComponent.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,15 @@ public SortableHeaderCellViewComponent(IHttpContextAccessor contextAccessor)
1212
_contextAccessor = contextAccessor;
1313
}
1414

15-
public IViewComponentResult Invoke(SortableHeaderCellViewModel sortableHeaderCellViewModel)
15+
public IViewComponentResult Invoke(string key, string displayName)
1616
{
1717
var context = _contextAccessor.HttpContext;
1818

19-
sortableHeaderCellViewModel.QueryString = context?.Request.QueryString.ToString();
20-
21-
return View(sortableHeaderCellViewModel);
19+
return View(new SortableHeaderCellViewModel
20+
{
21+
QueryString = context?.Request.QueryString.ToString(),
22+
Key = key,
23+
DisplayName = displayName
24+
});
2225
}
2326
}

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Components/SortableHeaderCell/SortableHeaderCellViewModel.cs

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Web;
3+
using Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Base;
34
using Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Models;
45

56
namespace Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Components.SortableHeaderCell;
@@ -8,17 +9,15 @@ public class SortableHeaderCellViewModel
89
{
910
public string DisplayName { get; set; }
1011
public string Key { get; set; }
11-
public SortDirection? SortDirection { get; set; }
12-
public bool IsActive { get; set; }
1312
public string QueryString { get; set; }
1413

1514
public SortDirection? GetNextSortDirection()
1615
{
17-
return SortDirection switch
16+
return GetSortDirection() switch
1817
{
19-
null => Models.SortDirection.Ascending,
20-
Models.SortDirection.Ascending => Models.SortDirection.Descending,
21-
Models.SortDirection.Descending => null,
18+
null => SortDirection.Ascending,
19+
SortDirection.Ascending => SortDirection.Descending,
20+
SortDirection.Descending => null,
2221
_ => throw new ArgumentOutOfRangeException()
2322
};
2423
}
@@ -35,11 +34,30 @@ public string GetSortColumn()
3534

3635
public string GetSortUrl()
3736
{
38-
var qs = HttpUtility.ParseQueryString(QueryString);
37+
var qs = HttpUtility
38+
.ParseQueryString(QueryString);
3939

40-
qs["sortColumn"] = GetSortColumn();
41-
qs["sortDirection"] = GetNextSortDirection().ToString();
40+
qs[nameof(AbstractSortablePageModel.SortColumn)] = GetSortColumn();
41+
qs[nameof(AbstractSortablePageModel.SortDirection)] = GetNextSortDirection().ToString();
4242

4343
return $"?{qs}";
4444
}
45+
46+
public bool IsActive()
47+
{
48+
var sortColumn = HttpUtility
49+
.ParseQueryString(QueryString)
50+
.Get(nameof(AbstractSortablePageModel.SortColumn));
51+
52+
return !string.IsNullOrEmpty(sortColumn) && sortColumn == Key;
53+
}
54+
55+
public SortDirection? GetSortDirection()
56+
{
57+
var sortDirection = HttpUtility
58+
.ParseQueryString(QueryString)
59+
.Get(nameof(AbstractSortablePageModel.SortDirection));
60+
61+
return Enum.TryParse(sortDirection, out SortDirection sort) ? sort : null;
62+
}
4563
}

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Deleted.cshtml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page "{handler?}"
2-
@using Geta.NotFoundHandler.Core.Redirects
2+
@using Geta.NotFoundHandler.Admin.Areas.GetaNotFoundHandlerAdmin.Pages.Components.SortableHeaderCell
3+
@using Geta.NotFoundHandler.Core.Providers.RegexRedirects
34
@using Microsoft.AspNetCore.Mvc.TagHelpers
45
@model Geta.NotFoundHandler.Admin.Pages.Geta.NotFoundHandler.Admin.DeletedModel
56

@@ -11,10 +12,7 @@
1112
<thead>
1213
<tr>
1314
<th>
14-
@await Component.InvokeAsync(
15-
"SortableHeaderCell",
16-
Model.CreateHeaderCellViewModel("URL", nameof(CustomRedirect.OldUrl))
17-
)
15+
<vc:sortable-header-cell key="@nameof(RegexRedirect.OldUrlRegex)" display-name="Old URL Regex"/>
1816
</th>
1917
<th class="col-1"></th>
2018
</tr>

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Deleted.cshtml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public DeletedModel(IRedirectsService redirectsService)
3232
[BindProperty(SupportsGet = true)]
3333
public Paging Paging { get; set; }
3434

35-
public void OnGet(string sortColumn, SortDirection sortDirection)
35+
public void OnGet(string sortColumn, SortDirection? sortDirection)
3636
{
3737
ApplySort(sortColumn, sortDirection);
3838

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Ignored.cshtml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@
1111
<thead>
1212
<tr>
1313
<th>
14-
@await Component.InvokeAsync(
15-
"SortableHeaderCell",
16-
Model.CreateHeaderCellViewModel("URL", nameof(CustomRedirect.OldUrl))
17-
)
14+
<vc:sortable-header-cell key="@nameof(CustomRedirect.OldUrl)" display-name="URL"/>
1815
</th>
1916
<th class="col-1"></th>
2017
</tr>

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Ignored.cshtml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public IgnoredModel(IRedirectsService redirectsService)
2929
[BindProperty(SupportsGet = true)]
3030
public Paging Paging { get; set; }
3131

32-
public void OnGet(string sortColumn, SortDirection sortDirection)
32+
public void OnGet(string sortColumn, SortDirection? sortDirection)
3333
{
3434
ApplySort(sortColumn, sortDirection);
3535

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Index.cshtml

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,28 +28,16 @@
2828
<thead>
2929
<tr>
3030
<th>
31-
@await Component.InvokeAsync(
32-
"SortableHeaderCell",
33-
Model.CreateHeaderCellViewModel("New URL", nameof(CustomRedirect.NewUrl))
34-
)
31+
<vc:sortable-header-cell key="@nameof(CustomRedirect.NewUrl)" display-name="New URL"/>
3532
</th>
3633
<th>
37-
@await Component.InvokeAsync(
38-
"SortableHeaderCell",
39-
Model.CreateHeaderCellViewModel("Old URL", nameof(CustomRedirect.OldUrl))
40-
)
34+
<vc:sortable-header-cell key="@nameof(CustomRedirect.OldUrl)" display-name="Old URL"/>
4135
</th>
4236
<th class="col-1 text-center">
43-
@await Component.InvokeAsync(
44-
"SortableHeaderCell",
45-
Model.CreateHeaderCellViewModel("Wildcard", nameof(CustomRedirect.WildCardSkipAppend))
46-
)
37+
<vc:sortable-header-cell key="@nameof(CustomRedirect.WildCardSkipAppend)" display-name="Wildcard"/>
4738
</th>
4839
<th class="col-1">
49-
@await Component.InvokeAsync(
50-
"SortableHeaderCell",
51-
Model.CreateHeaderCellViewModel("Redirect Type", nameof(CustomRedirect.RedirectType))
52-
)
40+
<vc:sortable-header-cell key="@nameof(CustomRedirect.RedirectType)" display-name="Redirect Type"/>
5341
</th>
5442
<th class="col-1"></th>
5543
</tr>

src/Geta.NotFoundHandler.Admin/Areas/GetaNotFoundHandlerAdmin/Pages/Regex.cshtml

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,13 @@
1111
<thead>
1212
<tr>
1313
<th class="col-1">
14-
@await Component.InvokeAsync(
15-
"SortableHeaderCell",
16-
Model.CreateHeaderCellViewModel("Order Number", nameof(RegexRedirect.OrderNumber))
17-
)
14+
<vc:sortable-header-cell key="@nameof(RegexRedirect.OrderNumber)" display-name="OrderNumber"/>
1815
</th>
1916
<th>
20-
@await Component.InvokeAsync(
21-
"SortableHeaderCell",
22-
Model.CreateHeaderCellViewModel("Old URL Regex", nameof(RegexRedirect.OldUrlRegex))
23-
)
17+
<vc:sortable-header-cell key="@nameof(RegexRedirect.OldUrlRegex)" display-name="Old URL Regex"/>
2418
</th>
2519
<th>
26-
@await Component.InvokeAsync(
27-
"SortableHeaderCell",
28-
Model.CreateHeaderCellViewModel("New URL Format", nameof(RegexRedirect.NewUrlFormat))
29-
)
20+
<vc:sortable-header-cell key="@nameof(RegexRedirect.NewUrlFormat)" display-name="New URL Format"/>
3021
</th>
3122
<th class="col-1"></th>
3223
<th class="col-1"></th>

0 commit comments

Comments
 (0)