diff --git a/src/gui/html/js/dom.js b/src/gui/html/js/dom.js
index b468c3df..b08e048c 100644
--- a/src/gui/html/js/dom.js
+++ b/src/gui/html/js/dom.js
@@ -6,31 +6,31 @@
} else {
// Browser globals
root.loot = root.loot || {};
- root.loot.dom = factory();
+ root.loot.DOM = factory();
}
}(this, () => {
- return {
- getElementInTableRowTemplate(rowTemplateId, elementClass) {
+ return class {
+ static getElementInTableRowTemplate(rowTemplateId, elementClass) {
const select = document.querySelector('link[rel="import"][href$="editable-table.html"]');
if (select) {
return select.import.querySelector(`#${rowTemplateId}`).content.querySelector(`.${elementClass}`);
}
return document.querySelector(`#${rowTemplateId}`).content.querySelector(`.${elementClass}`);
- },
+ }
- show(elementId, showElement = true) {
+ static show(elementId, showElement = true) {
document.getElementById(elementId).hidden = !showElement;
- },
+ }
- enable(elementId, enableElement = true) {
+ static enable(elementId, enableElement = true) {
if (enableElement) {
document.getElementById(elementId).removeAttribute('disabled');
} else {
document.getElementById(elementId).setAttribute('disabled', '');
}
- },
+ }
- updateSelectedGame(gameFolder) {
+ static updateSelectedGame(gameFolder) {
document.getElementById('gameMenu').value = gameFolder;
/* Also disable deletion of the game's row in the settings dialog. */
@@ -43,9 +43,9 @@
folderElements[0].value === gameFolder);
}
}
- },
+ }
- updateEnabledGames(installedGames) {
+ static updateEnabledGames(installedGames) {
const gameMenuItems = document.getElementById('gameMenu').children;
for (let i = 0; i < gameMenuItems.length; ++i) {
if (installedGames.indexOf(gameMenuItems[i].getAttribute('value')) === -1) {
@@ -54,17 +54,17 @@
gameMenuItems[i].removeAttribute('disabled');
}
}
- },
+ }
- createGameItem(game) {
+ static createGameItem(game) {
const menuItem = document.createElement('paper-item');
menuItem.setAttribute('value', game.folder);
menuItem.textContent = game.name;
return menuItem;
- },
+ }
- setGameMenuItems(games) {
+ static setGameMenuItems(games) {
const gameMenu = document.getElementById('gameMenu');
/* First make sure game listing elements don't have any existing entries. */
@@ -75,9 +75,9 @@
games.forEach((game) => {
gameMenu.appendChild(this.createGameItem(game));
});
- },
+ }
- updateSettingsDialog(settings) {
+ static updateSettingsDialog(settings) {
const gameSelect = document.getElementById('defaultGameSelect');
const gameTable = document.getElementById('gameTable');
@@ -99,6 +99,6 @@
document.getElementById('languageSelect').value = settings.language;
document.getElementById('enableDebugLogging').checked = settings.enableDebugLogging;
document.getElementById('updateMasterlist').checked = settings.updateMasterlist;
- },
+ }
};
}));
diff --git a/src/gui/html/js/events.js b/src/gui/html/js/events.js
index 24cf6662..0f184b03 100644
--- a/src/gui/html/js/events.js
+++ b/src/gui/html/js/events.js
@@ -327,7 +327,7 @@ function onCloseSettingsDialog(evt) {
}
if (!evt.detail.confirmed) {
/* Re-apply the existing settings to the settings dialog elements. */
- loot.dom.updateSettingsDialog(loot.settings);
+ loot.DOM.updateSettingsDialog(loot.settings);
return;
}
@@ -345,13 +345,13 @@ function onCloseSettingsDialog(evt) {
/* Send the settings back to the C++ side. */
loot.query('closeSettings', settings).then(JSON.parse).then((installedGames) => {
loot.installedGames = installedGames;
- loot.dom.updateEnabledGames(installedGames);
+ loot.DOM.updateEnabledGames(installedGames);
}).catch(handlePromiseError).then(() => {
loot.settings = settings;
- loot.dom.updateSettingsDialog(loot.settings);
- loot.dom.setGameMenuItems(loot.settings.games);
- loot.dom.updateEnabledGames(loot.installedGames);
- loot.dom.updateSelectedGame(loot.game.folder);
+ loot.DOM.updateSettingsDialog(loot.settings);
+ loot.DOM.setGameMenuItems(loot.settings.games);
+ loot.DOM.updateEnabledGames(loot.installedGames);
+ loot.DOM.updateSelectedGame(loot.game.folder);
}).catch(handlePromiseError);
}
function onShowSettingsDialog() {
diff --git a/src/gui/html/js/game.js b/src/gui/html/js/game.js
index 809106af..92490c8c 100644
--- a/src/gui/html/js/game.js
+++ b/src/gui/html/js/game.js
@@ -339,7 +339,7 @@
document.getElementById('masterlistDate').textContent = evt.detail.date;
}
static onFolderChange(evt) {
- loot.dom.updateSelectedGame(evt.detail.folder);
+ loot.DOM.updateSelectedGame(evt.detail.folder);
/* Enable/disable the redate plugins option. */
let gameSettings = undefined;
if (loot.settings && loot.settings.games) {
diff --git a/src/gui/html/js/initialise.js b/src/gui/html/js/initialise.js
index 598bfd8e..0fff85d6 100644
--- a/src/gui/html/js/initialise.js
+++ b/src/gui/html/js/initialise.js
@@ -30,7 +30,7 @@
// Browser globals
root.loot = root.loot || {};
root.loot.initialise = factory(root.loot.Dialog,
- root.loot.dom,
+ root.loot.DOM,
root.loot.Filters,
root.loot.Game,
root.loot.translateStaticText,
@@ -219,9 +219,9 @@
return query('getSettings').then(JSON.parse).then((result) => {
appData.settings = result;
dom.updateSettingsDialog(appData.settings);
- loot.dom.setGameMenuItems(appData.settings.games);
- loot.dom.updateEnabledGames(appData.installedGames);
- loot.dom.updateSelectedGame(appData.game.folder);
+ loot.DOM.setGameMenuItems(appData.settings.games);
+ loot.DOM.updateEnabledGames(appData.installedGames);
+ loot.DOM.updateSelectedGame(appData.game.folder);
});
}
@@ -268,9 +268,9 @@
translateStaticText(loot.l10n);
/* Also need to update the settings UI. */
dom.updateSettingsDialog(loot.settings);
- loot.dom.setGameMenuItems(loot.settings.games);
- loot.dom.updateEnabledGames(loot.installedGames);
- loot.dom.updateSelectedGame(loot.game.folder);
+ loot.DOM.setGameMenuItems(loot.settings.games);
+ loot.DOM.updateEnabledGames(loot.installedGames);
+ loot.DOM.updateSelectedGame(loot.game.folder);
}).then(() => {
return displayInitErrors();
}).then((result) => {
diff --git a/src/gui/html/js/state.js b/src/gui/html/js/state.js
index 50878541..2cab1d34 100644
--- a/src/gui/html/js/state.js
+++ b/src/gui/html/js/state.js
@@ -6,7 +6,7 @@
} else {
// Browser globals
root.loot = root.loot || {};
- root.loot.State = factory(root.loot.dom);
+ root.loot.State = factory(root.loot.DOM);
root.loot.state = new root.loot.State();
}
}(this, (dom) => {
@@ -50,14 +50,14 @@
/* Hide the masterlist update buttons, and display the accept and
cancel sort buttons. */
- loot.dom.show('updateMasterlistButton', false);
- loot.dom.show('sortButton', false);
- loot.dom.show('applySortButton');
- loot.dom.show('cancelSortButton');
+ loot.DOM.show('updateMasterlistButton', false);
+ loot.DOM.show('sortButton', false);
+ loot.DOM.show('applySortButton');
+ loot.DOM.show('cancelSortButton');
/* Disable changing game. */
- loot.dom.enable('gameMenu', false);
- loot.dom.enable('refreshContentButton', false);
+ loot.DOM.enable('gameMenu', false);
+ loot.DOM.enable('refreshContentButton', false);
this.currentState = State.SORTING_STATE;
}
@@ -72,14 +72,14 @@
/* Show the masterlist update buttons, and hide the accept and
cancel sort buttons. */
- loot.dom.show('updateMasterlistButton');
- loot.dom.show('sortButton');
- loot.dom.show('applySortButton', false);
- loot.dom.show('cancelSortButton', false);
+ loot.DOM.show('updateMasterlistButton');
+ loot.DOM.show('sortButton');
+ loot.DOM.show('applySortButton', false);
+ loot.DOM.show('cancelSortButton', false);
/* Enable changing game. */
- loot.dom.enable('gameMenu');
- loot.dom.enable('refreshContentButton');
+ loot.DOM.enable('gameMenu');
+ loot.DOM.enable('refreshContentButton');
this.currentState = State.DEFAULT_STATE;
}
@@ -93,13 +93,13 @@
}
/* Disable the toolbar elements. */
- loot.dom.enable('wipeUserlistButton', false);
- loot.dom.enable('copyContentButton', false);
- loot.dom.enable('refreshContentButton', false);
- loot.dom.enable('settingsButton', false);
- loot.dom.enable('gameMenu', false);
- loot.dom.enable('updateMasterlistButton', false);
- loot.dom.enable('sortButton', false);
+ loot.DOM.enable('wipeUserlistButton', false);
+ loot.DOM.enable('copyContentButton', false);
+ loot.DOM.enable('refreshContentButton', false);
+ loot.DOM.enable('settingsButton', false);
+ loot.DOM.enable('gameMenu', false);
+ loot.DOM.enable('updateMasterlistButton', false);
+ loot.DOM.enable('sortButton', false);
this.currentState = State.EDITING_STATE;
}
@@ -113,13 +113,13 @@
}
/* Re-enable toolbar elements. */
- loot.dom.enable('wipeUserlistButton');
- loot.dom.enable('copyContentButton');
- loot.dom.enable('refreshContentButton');
- loot.dom.enable('settingsButton');
- loot.dom.enable('gameMenu');
- loot.dom.enable('updateMasterlistButton');
- loot.dom.enable('sortButton');
+ loot.DOM.enable('wipeUserlistButton');
+ loot.DOM.enable('copyContentButton');
+ loot.DOM.enable('refreshContentButton');
+ loot.DOM.enable('settingsButton');
+ loot.DOM.enable('gameMenu');
+ loot.DOM.enable('updateMasterlistButton');
+ loot.DOM.enable('sortButton');
this.currentState = State.DEFAULT_STATE;
}
diff --git a/src/tests/gui/html/js/test_state.js b/src/tests/gui/html/js/test_state.js
index 25dca55c..8870b707 100644
--- a/src/tests/gui/html/js/test_state.js
+++ b/src/tests/gui/html/js/test_state.js
@@ -1,7 +1,7 @@
'use strict';
/* Mock the DOM interactions */
-loot.dom = {
+loot.DOM = {
elementShownStates: new Map(),
elementEnabledStates: new Map(),
@@ -15,16 +15,16 @@ loot.dom = {
};
function getShown(elementId) {
- return loot.dom.elementShownStates.get(elementId);
+ return loot.DOM.elementShownStates.get(elementId);
}
function getEnabled(elementId) {
- return loot.dom.elementEnabledStates.get(elementId);
+ return loot.DOM.elementEnabledStates.get(elementId);
}
beforeEach(() => {
- loot.dom.elementShownStates.clear();
- loot.dom.elementEnabledStates.clear();
+ loot.DOM.elementShownStates.clear();
+ loot.DOM.elementEnabledStates.clear();
});
describe('State', () => {