[refactor] Moved 'getElementById' to its own TS file.

This commit is contained in:
Steven Evans 2018-07-05 13:23:12 -04:00
parent 8c25684fe1
commit 488f947a5b
4 changed files with 20 additions and 26 deletions

@ -5,12 +5,12 @@ import {iTutorialSteps, iTutorialNextStep,
iTutorialIsRunning, currITutorialStep} from "./InteractiveTutorial";
import {Player} from "./Player";
import {dialogBoxCreate} from "../utils/DialogBox";
import {clearEventListeners,
getElementById} from "../utils/HelperFunctions";
import {clearEventListeners} from "../utils/HelperFunctions";
import {Reviver, Generic_toJSON,
Generic_fromJSON} from "../utils/JSONReviver";
import {createElement} from "../utils/uiHelpers/createElement";
import {formatNumber} from "../utils/StringHelperFunctions";
import {getElementById} from "../utils/uiHelpers/getElementById";
/**
* Overwrites the inner text of the specified HTML element if it is different from what currently exists.

@ -74,21 +74,6 @@ function removeChildrenFromElement(el) {
}
}
/**
* Returns a reference to the first object with the specified value of the ID or NAME attribute, throwing an error if it is unable to find it.
* @param {string} elementId The HTML ID to retrieve the element by.
* @returns {HTMLElement} The single element.
* @throws {Error} When the 'idString' cannot be found.
*/
function getElementById(elementId) {
var el = document.getElementById(elementId);
if (el == null) {
throw new Error("Unable to find element with id '" + elementId + "'");
}
return el;
}
//Creates both the header and panel element of an accordion and sets the click handler
function createAccordionElement(params) {
var li = document.createElement("li"),
@ -167,5 +152,4 @@ export {sizeOfObject,
createAccordionElement,
appendLineBreaks,
removeChildrenFromElement,
clearSelector,
getElementById};
clearSelector};

@ -1,4 +1,5 @@
import { createElement } from "./createElement";
import { getElementById } from "./getElementById";
/**
* Creates the necessary DOM elements to present an in-game popup to the player.
@ -20,13 +21,8 @@ export function createPopup(id: string, elems: HTMLElement[]) {
content.appendChild(elem);
}
container.appendChild(content);
const gameContainer: HTMLElement | null = document.getElementById("entire-game-container");
if (gameContainer === null) {
throw new Error("Unable to find the game container. Something is *seriously* wrong...");
}
gameContainer.appendChild(container);
getElementById("entire-game-container")
.appendChild(container);
return container;
}

@ -0,0 +1,14 @@
/**
* Returns a reference to the first object with the specified value of the ID or NAME attribute,
* throwing an error if it is unable to find it.
* @param elementId The HTML ID to retrieve the element by.
* @throws {Error} When the 'elementId' cannot be found.
*/
export function getElementById(elementId: string) {
const el: HTMLElement | null = document.getElementById(elementId);
if (el === null) {
throw new Error(`Unable to find element with id '${elementId}'`);
}
return el;
}