More actions
m added ratio correction for tooltip width |
No edit summary |
||
| (18 intermediate revisions by 5 users not shown) | |||
| Line 10: | Line 10: | ||
var collapseCaption = 'hide'; | var collapseCaption = 'hide'; | ||
var expandCaption = 'show'; | var expandCaption = 'show'; | ||
function collapseTable( tableIndex ) { | function collapseTable( tableIndex ) { | ||
var Button = document.getElementById( 'collapseButton' + tableIndex ); | var Button = document.getElementById( 'collapseButton' + tableIndex ); | ||
| Line 33: | Line 33: | ||
} | } | ||
} | } | ||
function createCollapseButtons() { | function createCollapseButtons() { | ||
var tableIndex = 0; | var tableIndex = 0; | ||
| Line 76: | Line 77: | ||
} | } | ||
} | } | ||
addOnloadHook( createCollapseButtons ); | |||
//addOnloadHook( createCollapseButtons ); | |||
$( createCollapseButtons ); //RayEdit1.33 | |||
/** Test if an element has a certain class ************************************** | /** Test if an element has a certain class ************************************** | ||
* | * | ||
| Line 156: | Line 159: | ||
if(frameObj.offsetWidth < frameObj.offsetHeight) | if(frameObj.offsetWidth < frameObj.offsetHeight) | ||
{ | { | ||
frameObj.style.width = (_ratioWidth / (_ratioWidth + _ratioHeight)) * (frameObj.offsetWidth + frameObj.offsetHeight); | frameObj.style.width = (_ratioWidth / (_ratioWidth + _ratioHeight)) * (frameObj.offsetWidth + frameObj.offsetHeight) + 'px'; | ||
} | } | ||
var maxTooltipWidth = windowSize.width > 800 ? (0.6 * windowSize.width) : (0.8 * windowSize.width); | var maxTooltipWidth = windowSize.width > 800 ? (0.6 * windowSize.width) : (0.8 * windowSize.width); | ||
if(frameObj.offsetWidth > maxTooltipWidth) | if((frameObj.offsetWidth + 20) > maxTooltipWidth) | ||
{ | { | ||
frameObj.style.width = maxTooltipWidth + 'px'; | frameObj.style.width = maxTooltipWidth + 'px'; | ||
frameObj.style.left = ((x - parentPos.x) + _posCorrectionX) + 'px'; | frameObj.style.left = ((x - parentPos.x) + _posCorrectionX) + 'px'; | ||
} | } | ||
if((frameObj.offsetWidth + parentPos.x + 70) < windowSize.width) { | |||
frameObj.style.left = ((x - parentPos.x) + _posCorrectionX) + 'px'; | |||
}else { | |||
frameObj.style.left = ((x - parentPos.x) - frameObj.offsetWidth - _posCorrectionX) + 'px'; | |||
} | } | ||
frameObj.style.top = ((y - parentPos.y) + _posCorrectionY) + 'px'; | frameObj.style.top = ((y - parentPos.y) + _posCorrectionY) + 'px'; | ||
} | } | ||
| Line 221: | Line 224: | ||
} | } | ||
} | } | ||
addOnloadHook(checkElementByClassComp); | //addOnloadHook(checkElementByClassComp); | ||
addOnloadHook(createTooltipTrigger); | $( checkElementByClassComp ); //RayEdit1.33 | ||
//addOnloadHook(createTooltipTrigger); | |||
$( createTooltipTrigger ); //RayEdit1.33 | |||
/** Eve University New Fitting Template ******************* | |||
* | |||
* Description: Allows showing and hiding of EFT, recommended skills, and notes section | |||
* Allows viewing of fit and module info in game | |||
* Adds titles to modules for viewing when hovering over picture | |||
* | |||
* Maintainers: Miranda McLaughlin | |||
**********************************************************/ | |||
try{ | |||
(function($) { | |||
$(function() { | |||
$(function() { | |||
//$('.shipFitting .button.eve').on('click', showFitInGame); | |||
$('.shipFitting .button.eft').on('click', toggleEFT); | |||
$('.shipFitting .button.skills').on('click', toggleSkills); | |||
$('.shipFitting .button.notes').on('click', toggleNotes); | |||
//$('.shipFitting .module').not('.open, .inactive').on('click', showItemInfoInGame); | |||
//$('.shipFitting .subMod').not('.open, .inactive').on('click', showItemInfoInGame); | |||
//$('.shipFitting .shipInfo').on('click', showItemInfoInGame); | |||
$('.shipFitting .module:not(.open, .inactive)').each(addTitle); | |||
$('.shipFitting .subMod:not(.open, .inactive)').each(addTitle); | |||
}); | |||
//function showFitInGame() { | |||
//var dna = $(this).attr("data-shipdna"); | |||
//CCPEVE.showFitting(dna); | |||
//} | |||
function toggleEFT() { | |||
$(this).toggleClass('active'); | |||
$(this).parents('.shipFitting').find('.moreInfo.eftData').toggleClass('show'); | |||
$(this).parents('.shipFitting').toggleClass('showEFT'); | |||
} | |||
function toggleSkills() { | |||
$(this).toggleClass('active'); | |||
$(this).parents('.shipFitting').find('.moreInfo.skills').toggleClass('show'); | |||
$(this).parents('.shipFitting').toggleClass('showSkills'); | |||
} | |||
function toggleNotes() { | |||
$(this).toggleClass('active'); | |||
$(this).parents('.shipFitting').find('.moreInfo.notes').toggleClass('show'); | |||
$(this).parents('.shipFitting').toggleClass('showNotes'); | |||
} | |||
//function showItemInfoInGame() { | |||
//var typeID = $(this).attr('data-typeid'); | |||
//CCPEVE.showInfo(typeID); | |||
//} | |||
function addTitle(index, element) { | |||
var name = $(element).attr('data-name'); | |||
$(element).find('img').attr('title', name); | |||
} | |||
}); | |||
})(jQuery); | |||
}catch(e){console.log("Joel screwed up! Contact Miranda McLaughlin.", e);} | |||
/** EVE-University - Fitting Template ******************* | |||
* | |||
* Description: Opens Fleet-Up in a new window | |||
* | |||
* Maintainers: Pehuen | |||
**********************************************************/ | |||
try{ | |||
(function($) { | |||
$(function() { | |||
$(function() { | |||
$('.shipFitting .button.fleetup').on('click', showFleetUp); | |||
}); | |||
function showFleetUp() { | |||
var fleetup = $(this).attr("data-fleetup"); | |||
var fleetup_url = fleetup; | |||
window.open(fleetup_url, fleetup); | |||
return false; | |||
} | |||
}); | |||
})(jQuery); | |||
}catch(e){console.log("Pehuen screwed up! Post on the forums.", e);} | |||
mw.loader.using(['mediawiki.util'], function () { | |||
$(function () { | |||
console.log("✅ Citizen Search Trigger Loaded"); | |||
const fakeSearchBox = document.getElementById('skin-citizen-search-trigger'); | |||
const realSearchToggle = document.getElementById('citizen-search-details'); | |||
if (!fakeSearchBox) { | |||
console.log("⚠️ Fake search box not found."); | |||
return; | |||
} | |||
fakeSearchBox.addEventListener('click', function () { | |||
console.log("🔍 Search trigger clicked"); | |||
if (realSearchToggle) { | |||
realSearchToggle.open = true; | |||
setTimeout(() => { | |||
const input = document.getElementById('searchInput'); | |||
if (input) input.focus(); | |||
}, 100); | |||
} else { | |||
console.log("❌ Real search toggle not found, falling back to / key"); | |||
const event = new KeyboardEvent('keydown', { | |||
key: '/', | |||
keyCode: 191, | |||
code: 'Slash', | |||
which: 191, | |||
bubbles: true, | |||
cancelable: true | |||
}); | |||
document.dispatchEvent(event); | |||
} | |||
}); | |||
}); | |||
}); | |||
mw.loader.using(['jquery', 'mediawiki.api'], function () { | |||
$(function () { | |||
$('.main-banner[data-files]').each(function () { | |||
var $box = $(this); | |||
var list = String($box.attr('data-files')) | |||
.split(/\s*\|\s*|\s*,\s*/) | |||
.filter(Boolean); | |||
if (!list.length) return; | |||
var pick = list[Math.floor(Math.random() * list.length)]; | |||
// Use MediaWiki API to resolve actual file path | |||
new mw.Api().get({ | |||
action: 'query', | |||
titles: 'File:' + pick, | |||
prop: 'imageinfo', | |||
iiprop: 'url', | |||
format: 'json' | |||
}).done(function (data) { | |||
var pages = data.query.pages; | |||
for (var pageId in pages) { | |||
if (pages.hasOwnProperty(pageId) && pages[pageId].imageinfo) { | |||
var url = pages[pageId].imageinfo[0].url; | |||
var $img = $('<img>', { | |||
src: url, | |||
width: 2450, | |||
height: 450, | |||
alt: '' | |||
}); | |||
$box.empty().append($img); | |||
} | |||
} | |||
}); | |||
}); | |||
}); | |||
}); | |||