MediaWiki:Gadget-ReferencePopups.js
Not: Yayımladıktan sonra değişiklikleri görmeniz için tarayıcınızın önbelleğini temizlemeniz gerekebilir.
- Firefox / Safari: Shift tuşuna basılıyken Yeniden Yükle'ye tıklayın ya da Ctrl-F5 ya da Ctrl-R tıklayın (Mac için ⌘-R)
- Google Chrome: Ctrl-Shift-R'ye basın. (Mac için ⌘-Shift-R)
- Edge: Ctrl basılıyken Yenile'ye tıklayın ya da Ctrl-F5'e basın.
const types = JSON.parse(mw.message('cite-tool-definition.json').plain())
.map(type => type.name);
function inferNewType(referenceId) {
const parent = document.getElementById(referenceId);
if (!parent) {
return;
}
const cite = parent.querySelector('cite[class]');
if (cite && types.includes(cite.className)) {
return cite.className;
}
}
for (const type of types) {
const msg = mw.messages.get(`visualeditor-cite-tool-name-${type}`);
mw.messages.set(`cite-reference-previews-${type}`, msg);
}
async function updateTypes() {
await mw.loader.using('ext.cite.referencePreviews');
const {gateway} = require('ext.cite.referencePreviews');
const {fetchPreviewForTitle} = gateway;
gateway.fetchPreviewForTitle = async (title, ...args) => {
const model = await fetchPreviewForTitle(title, ...args);
const id = title.getFragment().replace(/ /g, '_');
const type = inferNewType(id);
if (type) {
model.referenceType = type;
}
return model;
}
}
if (!('ontouchstart' in document.documentElement)) {
updateTypes();
}