Skip to content

Commit 0e5ec50

Browse files
Refactor: CreateMissingTableHead and gettingTableBody into their own functions.
1 parent f6ca95f commit 0e5ec50

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

public/table-sort.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,32 @@ function tableSortJs(testingTableSortJS = false, domDocumentWindow = document) {
3535
}
3636
}
3737

38-
function makeTableSortable(sortableTable) {
38+
function createMissingTableHead(sortableTable) {
3939
let createTableHead;
40-
let tableBody;
41-
if (sortableTable.getElementsByTagName("thead").length === 0) {
4240
if (testingTableSortJS === true) {
4341
createTableHead = domDocumentWindow.createElement("thead");
4442
} else {
4543
createTableHead = document.createElement("thead");
4644
}
4745
createTableHead.appendChild(sortableTable.rows[0]);
4846
sortableTable.insertBefore(createTableHead, sortableTable.firstChild);
47+
}
48+
49+
function getTableBody(sortableTable) {
50+
if (sortableTable.getElementsByTagName("thead").length === 0) {
51+
createMissingTableHead(sortableTable)
4952
if (sortableTable.querySelectorAll("tbody").length > 1) {
50-
tableBody = sortableTable.querySelectorAll("tbody")[1];
53+
return sortableTable.querySelectorAll("tbody")[1];
5154
} else {
52-
tableBody = sortableTable.querySelector("tbody");
55+
return sortableTable.querySelector("tbody");
5356
}
5457
} else {
55-
tableBody = sortableTable.querySelector("tbody");
58+
return sortableTable.querySelector("tbody");
5659
}
60+
}
5761

62+
function makeTableSortable(sortableTable) {
63+
const tableBody = getTableBody(sortableTable);
5864
const tableHead = sortableTable.querySelector("thead");
5965
const tableHeadHeaders = tableHead.querySelectorAll("th");
6066

0 commit comments

Comments
 (0)