From 413e0dd553283f262a9d253f065fd9e2a4c6cc0d Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Mon, 9 Jun 2014 11:09:08 +0100 Subject: [PATCH] Refactored non-placeholder value init. --- resources/report/js/script.js | 96 ++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 41 deletions(-) diff --git a/resources/report/js/script.js b/resources/report/js/script.js index 93b4c6e3..0a87fde7 100644 --- a/resources/report/js/script.js +++ b/resources/report/js/script.js @@ -623,6 +623,60 @@ function setupEventHandlers() { document.body.addEventListener('mouseover', toggleHoverText, false); } +function initUI() { + /* Fill in languages, games, settings values. */ + + /* Fill in game row template's game type options. */ + var select = document.getElementById('gameRow').content.querySelector('select'); + for (var j = 0; j < loot.gameTypes.length; ++j) { + var option = document.createElement('option'); + option.value = loot.gameTypes[j]; + option.textContent = loot.gameTypes[j]; + select.appendChild(option); + } + + /* Now fill game lists/table. */ + var gameSelect = document.getElementById('defaultGameSelect'); + var gameMenu = document.getElementById('gameMenu').firstElementChild; + var gameTableBody = document.getElementById('gameTable').getElementsByTagName('tbody')[0]; + /* Add "auto" value for default game. */ + var option = document.createElement('option'); + option.value = 'auto'; + option.textContent = 'Autodetect'; + gameSelect.appendChild(option); + /* Add row for creating new rows. */ + setupTable(gameTableBody); + for (var i = 0; i < loot.settings.games.length; ++i) { + var option = document.createElement('option'); + option.value = loot.settings.games[i].folder; + option.textContent = loot.settings.games[i].name; + gameSelect.appendChild(option); + + var li = document.createElement('li'); + li.setAttribute('data-action', 'change-game'); + li.setAttribute('data-target', loot.settings.games[i].folder); + li.textContent = loot.settings.games[i].name; + gameMenu.appendChild(li); + + addTableRow(gameTableBody, loot.settings.games[i]); + } + + /* Now fill in language options. */ + var settingsLangSelect = document.getElementById('languageSelect'); + var messageLangSelect = document.getElementById('messageRow').content.querySelector('.language'); + for (var i = 0; i < loot.languages.length; ++i) { + var option = document.createElement('option'); + option.value = loot.languages[i]; + option.textContent = loot.languages[i]; + settingsLangSelect.appendChild(option); + messageLangSelect.appendChild(option.cloneNode(true)); + } + + /* Now fill in settings values. */ + gameSelect.value = loot.settings.game; + settingsLangSelect.value = loot.settings.language; + debugVerbositySelect.value = loot.settings.debugVerbosity; +} function processURLParams() { /* Get the data path from the URL and load it. */ /*var pos = document.URL.indexOf("?data=");*/ @@ -775,48 +829,8 @@ function processURLParams() { } } - /* Fill in game row template's game type options. */ - var select = document.getElementById('gameRow').content.querySelector('select'); - for (var j = 0; j < loot.gameTypes.length; ++j) { - var option = document.createElement('option'); - option.value = loot.gameTypes[j]; - option.textContent = loot.gameTypes[j]; - select.appendChild(option); - } - - /* Now fill game lists/table. */ - var gameSelect = document.getElementById('defaultGameSelect'); - var gameMenu = document.getElementById('gameMenu').firstElementChild; - var gameTableBody = document.getElementById('gameTable').getElementsByTagName('tbody')[0]; - /* Add row for creating new rows. */ - setupTable(gameTableBody); - for (var i = 0; i < loot.settings.games.length; ++i) { - var option = document.createElement('option'); - option.value = loot.settings.games[i].folder; - option.textContent = loot.settings.games[i].name; - gameSelect.appendChild(option); - - var li = document.createElement('li'); - li.setAttribute('data-action', 'change-game'); - li.setAttribute('data-target', loot.settings.games[i].folder); - li.textContent = loot.settings.games[i].name; - gameMenu.appendChild(li); - - addTableRow(gameTableBody, loot.settings.games[i]); - } - - /* Now fill in language options. */ - var settingsLangSelect = document.getElementById('languageSelect'); - var messageLangSelect = document.getElementById('messageRow').content.querySelector('.language'); - for (var i = 0; i < loot.languages.length; ++i) { - var option = document.createElement('option'); - option.value = loot.languages[i]; - option.textContent = loot.languages[i]; - settingsLangSelect.appendChild(option); - messageLangSelect.appendChild(option.cloneNode(true)); - } - /* Now initialise the rest of the report. */ + initUI(); setupEventHandlers(); if (isStorageSupported()) { loadSettings();