MediaWiki:Mobile.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 53: | Line 53: | ||
} | } | ||
// Enhanced table sorting for mobile | // Enhanced table sorting for mobile | ||
// Debug version - table sorting for mobile | |||
mw.hook('wikipage.content').add(function($content) { | mw.hook('wikipage.content').add(function($content) { | ||
console.log('Hook fired, skin:', mw.config.get('skin')); | |||
if (mw.config.get('skin') === 'minerva') { | if (mw.config.get('skin') === 'minerva') { | ||
console.log('Minerva skin detected'); | |||
var $tables = $content.find('.wikitable, table.sortable'); | var $tables = $content.find('.wikitable, table.sortable'); | ||
console.log('Found tables:', $tables.length); | |||
if ($tables.length > 0) { | if ($tables.length > 0) { | ||
console.log('Loading tablesorter...'); | |||
mw.loader.using('jquery.tablesorter').done(function() { | mw.loader.using('jquery.tablesorter').done(function() { | ||
$tables.each(function() { | console.log('Tablesorter loaded successfully'); | ||
$tables.each(function(index) { | |||
var $table = $(this); | var $table = $(this); | ||
console.log('Processing table', index, $table); | |||
if (!$table.hasClass('sortable')) { | if (!$table.hasClass('sortable')) { | ||
$table.addClass('sortable'); | $table.addClass('sortable'); | ||
console.log('Added sortable class to table', index); | |||
} | } | ||
try { | |||
$table.tablesorter(); | |||
console.log('Tablesorter applied to table', index); | |||
} catch (e) { | |||
console.error('Error applying tablesorter to table', index, e); | |||
} | |||
} | |||
}); | }); | ||
}).fail(function() { | |||
console.error('Failed to load tablesorter module'); | |||
}); | }); | ||
} else { | |||
console.log('No tables found to sort'); | |||
} | } | ||
} else { | |||
console.log('Not Minerva skin, current skin:', mw.config.get('skin')); | |||
} | } | ||
}); | |||
}); | }); | ||
Revision as of 20:27, 26 August 2025
/* All JavaScript here will be loaded for users of the mobile site */
$( function(){
if (window.matchMedia("(max-width: 768px)").matches) {
if( mw.config.get("skin") !== "minerva" ){
const currWikiUrl = new URL(window.location.href);
currWikiUrl.searchParams.set('mobileaction', 'toggle_view_mobile');
window.location.replace(currWikiUrl);
}
$("#footer-places-desktop-toggle").remove();
} else {
if( mw.config.get("skin") !== "vector" ){
const currWikiUrl = new URL(window.location.href);
currWikiUrl.searchParams.set('mobileaction', 'toggle_view_desktop');
window.location.replace(currWikiUrl);
}
}
var countPoem2 = $(".Poem2-Ekatra");
if( countPoem2.length > 0 ){
var Poem2lenghtArray = [];
for (var k = 0; k <= countPoem2.length; k++) {
Poem2lenghtArray.push(k);
}
Poem2lenghtArray.forEach(function(j) {
var poemElement = $(".Poem2-Ekatra").eq(j);
if( poemElement.length ){
var poemText = poemElement.html();
var poemArray = poemText.split("\n");
poemElement.text("");
// First measure
poemArray.forEach( function(i) {
poemElement.append( '<p style="text-indent: 2em;">' + i + '</p>' );
});
// Second measure
poemElement.children('p').each(function () {
$(this).css('text-indent', '2em');
});
}
});
}
// Enhanced table sorting for mobile
// Debug version - table sorting for mobile
mw.hook('wikipage.content').add(function($content) {
console.log('Hook fired, skin:', mw.config.get('skin'));
if (mw.config.get('skin') === 'minerva') {
console.log('Minerva skin detected');
var $tables = $content.find('.wikitable, table.sortable');
console.log('Found tables:', $tables.length);
if ($tables.length > 0) {
console.log('Loading tablesorter...');
mw.loader.using('jquery.tablesorter').done(function() {
console.log('Tablesorter loaded successfully');
$tables.each(function(index) {
var $table = $(this);
console.log('Processing table', index, $table);
if (!$table.hasClass('sortable')) {
$table.addClass('sortable');
console.log('Added sortable class to table', index);
}
try {
$table.tablesorter();
console.log('Tablesorter applied to table', index);
} catch (e) {
console.error('Error applying tablesorter to table', index, e);
}
});
}).fail(function() {
console.error('Failed to load tablesorter module');
});
} else {
console.log('No tables found to sort');
}
} else {
console.log('Not Minerva skin, current skin:', mw.config.get('skin'));
}
});
});