@@ -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 ;
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 ) {
4150 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 ) ;
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
@@ -320,6 +326,10 @@ function tableSortJs(testingTableSortJS = false, domDocumentWindow = document) {
320326 getTableData ( tableProperties ) ;
321327 updateTable ( tableProperties ) ;
322328 } ) ;
329+ let isOnloadSort = th . classList . contains ( "onload-sort" ) ;
330+ if ( isOnloadSort ) {
331+ th . click ( ) ;
332+ }
323333 }
324334}
325335
0 commit comments