Pre-release
AdventureJS Docs Downloads Bundler Devlog Score: 0 Moves: 0
// createMessageWidget.js

(function () {
  /* global AdventureJS A */

  var p = AdventureJS.Display.prototype;

  /**
   * <strong>createMessageWidget()</strong> is a method for creating
   * message widgets.
   * @method AdventureJS.Display#createMessageWidget
   * @param {Object} properties HTML ID and CSS classes.
   * @returns {Element} Returns the HTML element of the compass.
   */
  p.createMessageWidget = function Display_createMessageWidget(
    widget,
    properties = {}
  ) {
    const {
      verbs = [],
      cssclasses = [],
      hide_labels = false,
      ...props
    } = properties;

    this.game.log(
      "L1735",
      "log",
      1,
      `[Display.js] createMessageWidget`,
      "Display"
    );

    widget.classList.add("ajs-message-widget");

    var inner = document.createElement("div");
    inner.classList.add("ajs-inner", "ajs-scroll-container");
    widget.appendChild(inner);

    var content = document.createElement("div");
    content.classList.add("ajs-scroll-content");
    inner.appendChild(content);

    widget.content = content;
    widget.print = function (msg) {
      this.content.innerHTML = msg;
    };
    widget.append = function (msg) {
      this.content.innerHTML = this.content.innerHTML + msg;
    };
    widget.clear = function () {
      this.content.innerHTML = "";
    };

    return widget;
  };
})();