<script>
// Get target elements.
const elements = document.getElementsByClassName('collapsed-navbox-list-base');
const lists = document.getElementsByClassName('collapsed-navbox-list');
const extracters = document.getElementsByClassName('collapsed-navbox-list-extracter');
// Will not be processed when 'Collapsed navbox list' does not present on the page.
if (elements.length !== 0) {
function extract(element, index, array) {
// Use computed style to reading common css.
let styles = getComputedStyle(element);
// Move the details into 'collapsed-navbox-list-base'.
if (styles.display !== 'hidden' && styles.display !== 'none' ) {
const list = lists[index];
const extracter = extracters[index];
const cloned = extracter.cloneNode(true);
list.appendChild(cloned);
extracter.remove();
// Parent node of 'collapsed-navbox-list-base' should be 'unprocessed-collapsed-navbox-list'.
element.parentNode.removeAttribute('class');
} else {
// Remove the 'collapsed-navbox-list-base' because the details will display on extacter.
element.remove();
}
}
Array.from(elements).forEach(extract);
}
</script>