MediaWiki:Common.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Keep the logo in the sidebar. Park search at the left of the header (right of the logo).
Card thumbs: show 88px for page load; on hover swap to the full GEMP/holotable image. */
(function () {
function ready(fn) {
if (document.readyState !== 'loading') {
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}
function originalFromThumb(src) {
var m = src.match(/\/images\/thumb\/([^/]+\/[^/]+\/[^/]+)\/\d+px-/);
if (m) {
return '/images/' + m[1];
}
return src;
}
function hiresFromFile(src) {
var m = src.match(/Premiere-(L|D)-([^/?#]+)\.(?:gif|png)/i);
if (!m) {
return null;
}
var side = m[1].toUpperCase() === 'L' ? 'Light' : 'Dark';
var base = m[2].replace(/\.gif$/i, '').replace(/\.png$/i, '');
return 'https://res.starwarsccg.org/cards/Premiere-' + side + '/hires/' + base + '.png';
}
ready(function () {
var search = document.getElementById('p-search');
var head = document.getElementById('mw-head');
if (search && head && search.parentNode !== head) {
head.insertBefore(search, head.firstChild);
}
var imgs = document.querySelectorAll('table.card-thumbs img');
for (var i = 0; i < imgs.length; i++) {
(function (img) {
var thumb = img.currentSrc || img.src;
var full = hiresFromFile(thumb) || originalFromThumb(thumb);
img.addEventListener('mouseenter', function () {
if (img.src !== full) {
img.setAttribute('data-thumb', thumb);
img.src = full;
img.classList.add('zoomed');
}
});
img.addEventListener('mouseleave', function () {
var t = img.getAttribute('data-thumb');
if (t) {
img.src = t;
}
img.classList.remove('zoomed');
});
})(imgs[i]);
}
});
})();