557
edits
No edit summary |
No edit summary |
||
| Line 52: | Line 52: | ||
}); | }); | ||
} | } | ||
// | // Compatible table sorting for mobile - no mw.user dependencies | ||
function initMobileSorting() { | |||
console.log('Initializing mobile sorting...'); | |||
console.log(' | console.log('Current skin:', mw.config.get('skin')); | ||
if (mw.config.get('skin') === 'minerva') { | if (mw.config.get('skin') === 'minerva') { | ||
console.log('Minerva | console.log('Minerva detected, looking for tables...'); | ||
var | var tables = document.querySelectorAll('.wikitable, table.sortable'); | ||
console.log('Found tables:', | console.log('Found tables:', tables.length); | ||
if ( | if (tables.length > 0) { | ||
// Try to load jQuery tablesorter | |||
if (typeof mw !== 'undefined' && mw.loader) { | |||
mw.loader.using('jquery.tablesorter').then(function() { | |||
console.log('Tablesorter module loaded'); | |||
if (!$table.hasClass('sortable')) { | $(tables).each(function(index, table) { | ||
var $table = $(table); | |||
console.log('Processing table', index); | |||
if (!$table.hasClass('sortable')) { | |||
$table.addClass('sortable'); | |||
} | |||
try { | |||
$table.tablesorter(); | |||
} | console.log('Tablesorter applied to table', index); | ||
} catch (e) { | |||
console.error('Error applying tablesorter:', e); | |||
} | |||
}); | |||
}).catch(function(e) { | |||
console.error('Failed to load tablesorter:', e); | |||
}); | }); | ||
} | } | ||
} | } | ||
} | } | ||
} | |||
// Try multiple initialization methods | |||
$(document).ready(function() { | |||
initMobileSorting(); | |||
}); | |||
// Also try when content loads | |||
mw.hook('wikipage.content').add(function() { | |||
initMobileSorting(); | |||
}); | }); | ||
}); | }); | ||