diff --git a/src/HacknetNode.js b/src/HacknetNode.js index 872275228..3b5651888 100644 --- a/src/HacknetNode.js +++ b/src/HacknetNode.js @@ -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. diff --git a/utils/HelperFunctions.js b/utils/HelperFunctions.js index b80b18271..a83d94249 100644 --- a/utils/HelperFunctions.js +++ b/utils/HelperFunctions.js @@ -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}; diff --git a/utils/uiHelpers/createPopup.ts b/utils/uiHelpers/createPopup.ts index 2e954f811..527b12fb1 100644 --- a/utils/uiHelpers/createPopup.ts +++ b/utils/uiHelpers/createPopup.ts @@ -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; } diff --git a/utils/uiHelpers/getElementById.ts b/utils/uiHelpers/getElementById.ts new file mode 100644 index 000000000..6ecfc5afb --- /dev/null +++ b/utils/uiHelpers/getElementById.ts @@ -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; +}