Skip to content

Commit c36441c

Browse files
committed
de-nest
1 parent 9aa4351 commit c36441c

File tree

1 file changed

+38
-37
lines changed

1 file changed

+38
-37
lines changed

webroot/js/sort.js

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,44 +5,45 @@
55
}
66
table.querySelectorAll("th").forEach(function (th) {
77
th.addEventListener("click", function (e) {
8-
if (th.innerHTML !== "Actions") {
9-
if (e.target.classList.contains("filter")) {
10-
updateQueryStringParameter(
11-
window.location.href,
12-
"filter",
13-
e.target.parentElement.id,
14-
);
15-
updateFilterInput();
16-
} else {
17-
var column = th.cellIndex;
18-
var tbody = table.querySelector("tbody");
19-
var rows = Array.from(tbody.querySelectorAll(":scope > tr:nth-child(n+2)"));
20-
var order = th.classList.toggle("asc") ? 1 : -1;
21-
rows.sort(function (a, b) {
22-
return (
23-
order *
24-
a.cells[column].textContent
25-
.trim()
26-
.localeCompare(b.cells[column].textContent.trim(), undefined, {
27-
numeric: true,
28-
})
29-
);
30-
});
31-
rows.forEach(function (row) {
32-
tbody.appendChild(row);
33-
});
34-
table.querySelectorAll("th").forEach(function (header) {
35-
header.innerHTML = header.innerHTML.replace(/ | /, "");
36-
});
37-
var orderSymbol = order === 1 ? "▲" : "▼";
38-
th.innerHTML = th.innerHTML + " " + orderSymbol;
39-
updateQueryStringParameter(window.location.href, "sort", th.id);
40-
updateQueryStringParameter(
41-
window.location.href,
42-
"order",
43-
order === 1 ? "asc" : "desc",
8+
if (th.innerHTML === "Actions") {
9+
return;
10+
}
11+
if (e.target.classList.contains("filter")) {
12+
updateQueryStringParameter(
13+
window.location.href,
14+
"filter",
15+
e.target.parentElement.id,
16+
);
17+
updateFilterInput();
18+
} else {
19+
var column = th.cellIndex;
20+
var tbody = table.querySelector("tbody");
21+
var rows = Array.from(tbody.querySelectorAll(":scope > tr:nth-child(n+2)"));
22+
var order = th.classList.toggle("asc") ? 1 : -1;
23+
rows.sort(function (a, b) {
24+
return (
25+
order *
26+
a.cells[column].textContent
27+
.trim()
28+
.localeCompare(b.cells[column].textContent.trim(), undefined, {
29+
numeric: true,
30+
})
4431
);
45-
}
32+
});
33+
rows.forEach(function (row) {
34+
tbody.appendChild(row);
35+
});
36+
table.querySelectorAll("th").forEach(function (header) {
37+
header.innerHTML = header.innerHTML.replace(/ | /, "");
38+
});
39+
var orderSymbol = order === 1 ? "▲" : "▼";
40+
th.innerHTML = th.innerHTML + " " + orderSymbol;
41+
updateQueryStringParameter(window.location.href, "sort", th.id);
42+
updateQueryStringParameter(
43+
window.location.href,
44+
"order",
45+
order === 1 ? "asc" : "desc",
46+
);
4647
}
4748
});
4849
});

0 commit comments

Comments
 (0)