@@ -35,26 +35,32 @@ function tableSortJs(testingTableSortJS = false, domDocumentWindow = document) {
35
35
}
36
36
}
37
37
38
- function makeTableSortable ( sortableTable ) {
38
+ function createMissingTableHead ( sortableTable ) {
39
39
let createTableHead ;
40
- let tableBody ;
40
+ if ( testingTableSortJS === true ) {
41
+ createTableHead = domDocumentWindow . createElement ( "thead" ) ;
42
+ } else {
43
+ createTableHead = document . createElement ( "thead" ) ;
44
+ }
45
+ createTableHead . appendChild ( sortableTable . rows [ 0 ] ) ;
46
+ sortableTable . insertBefore ( createTableHead , sortableTable . firstChild ) ;
47
+ }
48
+
49
+ function getTableBody ( sortableTable ) {
41
50
if ( sortableTable . getElementsByTagName ( "thead" ) . length === 0 ) {
42
- if ( testingTableSortJS === true ) {
43
- createTableHead = domDocumentWindow . createElement ( "thead" ) ;
44
- } else {
45
- createTableHead = document . createElement ( "thead" ) ;
46
- }
47
- createTableHead . appendChild ( sortableTable . rows [ 0 ] ) ;
48
- sortableTable . insertBefore ( createTableHead , sortableTable . firstChild ) ;
51
+ createMissingTableHead ( sortableTable ) ;
49
52
if ( sortableTable . querySelectorAll ( "tbody" ) . length > 1 ) {
50
- tableBody = sortableTable . querySelectorAll ( "tbody" ) [ 1 ] ;
53
+ return sortableTable . querySelectorAll ( "tbody" ) [ 1 ] ;
51
54
} else {
52
- tableBody = sortableTable . querySelector ( "tbody" ) ;
55
+ return sortableTable . querySelector ( "tbody" ) ;
53
56
}
54
57
} else {
55
- tableBody = sortableTable . querySelector ( "tbody" ) ;
58
+ return sortableTable . querySelector ( "tbody" ) ;
56
59
}
60
+ }
57
61
62
+ function makeTableSortable ( sortableTable ) {
63
+ const tableBody = getTableBody ( sortableTable ) ;
58
64
const tableHead = sortableTable . querySelector ( "thead" ) ;
59
65
const tableHeadHeaders = tableHead . querySelectorAll ( "th" ) ;
60
66
@@ -320,6 +326,10 @@ function tableSortJs(testingTableSortJS = false, domDocumentWindow = document) {
320
326
getTableData ( tableProperties ) ;
321
327
updateTable ( tableProperties ) ;
322
328
} ) ;
329
+ let isOnloadSort = th . classList . contains ( "onload-sort" ) ;
330
+ if ( isOnloadSort ) {
331
+ th . click ( ) ;
332
+ }
323
333
}
324
334
}
325
335
0 commit comments