xref: /plugin/combo/resources/snippet/js/page-explorer-tree.js (revision 85e82846b0a214bc35e62864fa49d9cad0723d0e)
1// Because we may redirect a canonical, the URL cannot be used to discover the id
2window.addEventListener("load", function () {
3    let currentId = JSINFO["id"];
4    let currentIdParts = currentId.split(":").filter(el => el.length != 0);
5    document.querySelectorAll(".page-explorer-tree-combo").forEach(element => {
6        let baseId = element.dataset.wikiId;
7        let baseParts = baseId.split(":").filter(el => el.length != 0);
8        let processedIdArray = [];
9        for (const [index, currentPart] of currentIdParts.entries()) {
10            processedIdArray.push(currentPart);
11            if (index < baseParts.length) {
12                if (currentPart === baseParts[index]) {
13                    continue;
14                }
15            }
16            let processedId = processedIdArray.join(":")
17            if (index < currentIdParts.length - 1) {
18                let button = element.querySelector(`button[data-wiki-id='${processedId}']`);
19                button.click();
20            } else {
21                let link = element.querySelector(`a[data-wiki-id='${processedId}']`);
22                link.classList.add("active");
23            }
24        }
25    });
26});
27