// updateCompasses.js
(function () {
/* global adventurejs A */
var p = adventurejs.Display.prototype;
/**
* Set exits in status bar and custom compass roses.
* @method adventurejs.Display#updateCompasses
* @param {String} exits
*/
p.updateCompasses = function Display_updateCompasses(exitlist) {
let exitnames = Object.keys(exitlist).join(" ");
this.compasses.forEach(function (element) {
let compass = element.querySelector(".ajs-compasspoints");
compass?.setAttribute("class", `ajs-compasspoints ${exitnames}`);
compass?.querySelectorAll(".ajs-compasspoint").forEach(function (point) {
let exit = exitlist[point.dataset.exit];
if (exitnames.includes(point.dataset.exit)) {
point.setAttribute("aria-disabled", false);
if (exit) {
if (exit.is.used) point.classList.add("ajs-used");
if (exit.is.closed) point.classList.add("ajs-closed");
if (exit.is.locked) point.classList.add("ajs-locked");
if (exit.is.locked) point.classList.add("ajs-sealed");
}
} else {
point.setAttribute("aria-disabled", true);
point.classList.remove("ajs-used");
point.classList.remove("ajs-closed");
point.classList.remove("ajs-locked");
point.classList.remove("ajs-sealed");
}
});
});
};
})();