Difference between revisions of "User:Fbstj/gadget/history-test.js"
Jump to navigation
Jump to search
m (moved to MediaWiki:Group-keeper.js) |
m (try adding notice to the tops of templates) |
||
Line 19: | Line 19: | ||
document.querySelectorAll('.patrollink').forEach(enable_link) |
document.querySelectorAll('.patrollink').forEach(enable_link) |
||
− | // move notices above |
+ | // move notices above infobox |
while (true) { |
while (true) { |
||
+ | // don't do things on edit page |
||
const edit_box = document.querySelector('.editButtons') |
const edit_box = document.querySelector('.editButtons') |
||
if (!!edit_box) break |
if (!!edit_box) break |
||
if (location.search != '') break |
if (location.search != '') break |
||
+ | // find {{notice}} after {{infobox}} |
||
var el = document.querySelector('.infobox+.notice') |
var el = document.querySelector('.infobox+.notice') |
||
if (!el) { // check first child of #mw-content-text is a notice |
if (!el) { // check first child of #mw-content-text is a notice |
||
Line 31: | Line 33: | ||
} |
} |
||
if (!el) break |
if (!el) break |
||
− | const |
+ | const infobox = document.querySelector('.infobox.side') |
+ | if (!infobox) { |
||
⚫ | |||
+ | // move above the title on non-infobox pages |
||
+ | const ind = document.querySelector('.mw-indicators') |
||
⚫ | |||
+ | } else { |
||
+ | const row = infobox.insertRow(0) |
||
+ | const cell = row.insertCell() |
||
+ | cell.setAttribute('colspan','2') |
||
+ | cell.appendChild(el) |
||
+ | } |
||
} |
} |
||
Revision as of 13:56, 30 October 2018
/* Add edit link to templates */ $(function () { function add_editsection_link(box) { if (!box.id) return; // FIXME: what does this do? const id = box.id.replace(/\.(\d+)/, '%$1') // generate an edit link const el = make_editsection_link('/edit/Template:'+ id) // get the title element const title = box.querySelector('.title') title.appendChild(el) } document.querySelectorAll('.infobox,.navbar').forEach(add_editsection_link) function enable_link(el) { el.style['pointer-events'] = 'auto' } document.querySelectorAll('.patrollink').forEach(enable_link) // move notices above infobox while (true) { // don't do things on edit page const edit_box = document.querySelector('.editButtons') if (!!edit_box) break if (location.search != '') break // find {{notice}} after {{infobox}} var el = document.querySelector('.infobox+.notice') if (!el) { // check first child of #mw-content-text is a notice const txt = document.querySelector('#mw-content-text') if (txt.firstElementChild.classList.contains('notice')) el = txt.firstElementChild } if (!el) break const infobox = document.querySelector('.infobox.side') if (!infobox) { // move above the title on non-infobox pages const ind = document.querySelector('.mw-indicators') ind.parentElement.insertBefore(el, ind) } else { const row = infobox.insertRow(0) const cell = row.insertCell() cell.setAttribute('colspan','2') cell.appendChild(el) } } })