Clean up and stuff

This commit is contained in:
Stephan Porada
2020-04-08 11:37:34 +02:00
parent d5d0ffe7ea
commit f69a401db6
4 changed files with 147 additions and 103 deletions

View File

@ -227,6 +227,7 @@
var downloadResultsJSONElement; // button for downloading results as JSON
var expertModeSwitchElement; // Expert mode switch Element
var exportModal; // Download options modal
var firstPageElement; // first page element of resultsList pagination
var initDisplay; // CorpusAnalysisDisplay object first undfined on DOMContentLoaded defined
var initDisplayElement; // Element for initialization using initDisplay
var initModal;
@ -245,6 +246,7 @@
var resultsList; // resultsList object
var resultsListOptions; // specifies ResultsList options
var textLookupCountElement // Nr of texts the matches occured in will be shown in this element
var xpath; // xpath to grab first resultsList page pagination element
// ###### Initialize variables ######
client = undefined;
@ -318,6 +320,19 @@
client.init();
// start a query request on submit
queryFormElement.addEventListener("submit", (event) => {
try {
// Selects first page of result list if pagination is already available
// from an query submitted before.
// This avoids confusion for the user eg: The user was on page 24
// reviewing the results and issues a new query. He would not see any
// results until the new results reach page 24 or he clicks on another
// valid result page element from the new pagination.
firstPageElement;
xpath = '//a[@class="page" and text()=1]';
firstPageElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
firstPageElement.click();
} catch (e) {
}
// Prevent page from reloading on submit
event.preventDefault();
// empty ResultsList and ResultsJSON for new query
@ -343,7 +358,7 @@
paginationElements = document.getElementsByClassName("pagination");
for (element of paginationElements) {
element.addEventListener("click", results.resultsList.changeContext);
element.addEventListener("click", ResultsList.activateInspect);
element.addEventListener("click", results.resultsList.activateInspect);
}
// epxert mode table view
@ -351,16 +366,13 @@
let currentTokenElements = document.getElementsByClassName("token");
let paginationElements = document.getElementsByClassName("pagination");
if (event.target.checked) {
console.log("Checked!");
results.resultsList.expertModeOn(currentTokenElements, resultsJSON);
for (element of paginationElements) {
element.tokenElements = currentTokenElements;
element.addEventListener("click", (event) => { results.resultsList.eventHandlerCheck(event)});
}
} else {
console.log("Unchecked!");
results.resultsList.expertModeOff(currentTokenElements);
console.log("unchecked! Destroy");
}
});
});