// createRoomDock.js
(function () {
/* global adventurejs A */
var p = adventurejs.Display.prototype;
/**
* <strong>createRoomDock()</strong> is a method for creating
* custom room docks. It takes a generic object containing an id,
* and an optional list of css classes to be
* applied to the element. Room docks will be created at runtime,
* and can be styled with any custom CSS.
* To create a new room dock:
*
* <pre class="display"><code class="language-javascript">MyGame.createRoomDock({
* "id":"MyRoomDock",
* "cssclasses":["custom"],
* });
* </code></pre>
*
* For more information, see
* <a href="/doc/GUI_VerbDocks.html">GUI Verb Dock</a>.
* @method adventurejs.Display#createVerbDock
* @param {Object} properties HTML ID, CSS classes, and verbs.
* @returns {Element} Returns the HTML element of the verb dock.
*/
p.createRoomDock = function Display_createRoomDock(properties) {
console.warn("createRoomDock", properties);
let author_element;
let dock;
if (properties.id) {
author_element = document.querySelector("#" + properties.id);
}
dock = author_element ? author_element : document.createElement("div");
if (properties.id) {
dock.setAttribute("id", properties.id);
}
dock.classList.add("game_roomdock_container", "ajs-dock-wrapper");
if (properties.cssclasses) {
for (var item in properties.cssclasses) {
dock.classList.add(properties.cssclasses[item]);
}
}
this.roomdocks.push(dock);
if (!author_element) {
this.displayEl.appendChild(dock);
}
return dock;
};
})();