@@ -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