bookshelf-doc/static/instances.js

43 lines
1.5 KiB
JavaScript
Raw Normal View History

2022-07-22 14:15:37 +00:00
import { DeclarationDataCenter } from "./declaration-data.js";
annotateInstances();
2022-07-23 13:40:08 +00:00
annotateInstancesFor()
2022-07-22 14:15:37 +00:00
async function annotateInstances() {
const dataCenter = await DeclarationDataCenter.init();
2022-07-23 13:40:08 +00:00
const instanceForLists = [...(document.querySelectorAll(".instances-list"))];
2022-07-22 14:15:37 +00:00
2022-07-23 13:40:08 +00:00
for (const instanceForList of instanceForLists) {
const className = instanceForList.id.slice("instances-list-".length);
2022-07-22 14:15:37 +00:00
const instances = dataCenter.instancesForClass(className);
var innerHTML = "";
for(var instance of instances) {
const instanceLink = dataCenter.declNameToLink(instance);
innerHTML += `<li><a href="${SITE_ROOT}${instanceLink}">${instance}</a></li>`
}
2022-07-23 13:40:08 +00:00
instanceForList.innerHTML = innerHTML;
}
}
async function annotateInstancesFor() {
const dataCenter = await DeclarationDataCenter.init();
const instanceForLists = [...(document.querySelectorAll(".instances-for-list"))];
for (const instanceForList of instanceForLists) {
const typeName = instanceForList.id.slice("instances-for-list-".length);
const instances = dataCenter.instancesForType(typeName);
2023-11-24 12:40:20 +00:00
if (instances.length == 0) {
instanceForList.remove();
} else {
var innerHTML = "";
for(var instance of instances) {
const instanceLink = dataCenter.declNameToLink(instance);
innerHTML += `<li><a href="${SITE_ROOT}${instanceLink}">${instance}</a></li>`;
}
const instanceEnum = instanceForList.querySelector(".instances-for-enum");
instanceEnum.innerHTML = innerHTML;
2022-07-23 13:40:08 +00:00
}
2022-07-22 14:15:37 +00:00
}
}