<script>
const elements = document.getElementsByClassName('external_demand_span');
if (elements.length == 0) {
const externalDemandShell = document.getElementById('external_demand_shell');
externalDemandShell.style.display = 'none';
} else {
const appendTo = document.getElementById('external_demand');
const cats = new Map();
for (let i = 0; i < elements.length; i++) {
const element = elements[i];
const clone = element.cloneNode(true);
console.log(clone.title);
if (!cats.has(clone.title)) {
cats.set(clone.title,new Array());
}
cats.get(clone.title).push(clone);
clone.style.display = 'inline';
clone.classList.remove('external_demand_span')
}
function handler(value, key, map) {
console.log(key);
console.log(value);
const p = document.createElement('p');
p.innerText = '来自' + key + '的条目:';
appendTo.appendChild(p);
const duplicates = new Map();
const liShell = new Map();
const ul = document.createElement('ul');
value.forEach((s) => {
const externalTarget = s.lastChild.title;
if (duplicates.has(externalTarget)) {
const duplicatedAlias = duplicates.get(externalTarget).lastChild.cloneNode(true);
if (!duplicates.get(externalTarget).lastChild.className == 'external_demand_duplicate') {
const duplicatedUl = document.createElement('ul');
const duplicateLi = document.createElement('li');
duplicateLi.appendChild(duplicatedAlias);
duplicateUl.appendChild(duplicateLi);
liShell.get(externalTarget).appendChild(duplicateUl);
}
} else {
const li = document.createElement('li');
duplicates.set(externalTarget, s);
liShell.set(externalTarget, li);
li.appendChild(s);
ul.appendChild(li);
}
})
appendTo.appendChild(ul);
}
cats.forEach(handler);
}
</script>