mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-14 18:10:40 +00:00
Make analyse OOP style
This commit is contained in:
@ -216,8 +216,6 @@
|
||||
</script>
|
||||
<script src="{{ url_for('static', filename='js/nopaque.callbacks.js') }}">
|
||||
</script>
|
||||
<script src="{{ url_for('static', filename='js/nopaque.analyse_corpus.js') }}">
|
||||
</script>
|
||||
<script>
|
||||
// ###### Defining global variables used in other functions ######
|
||||
var results; // results object
|
||||
@ -247,7 +245,7 @@
|
||||
displayOptionsFormElement = document.getElementById("display-options-form");
|
||||
|
||||
// js list options and intialization
|
||||
let displayOptionsData = getDisplayOptions(displayOptionsFormElement);
|
||||
let displayOptionsData = ResultsList.getDisplayOptions(displayOptionsFormElement);
|
||||
let resultsListOptions = {page: displayOptionsData["resultsPerPage"],
|
||||
pagination: [{
|
||||
name: "paginationTop",
|
||||
@ -287,9 +285,9 @@
|
||||
exportModal = M.Modal.init(exportModal, {"dismissible": true});
|
||||
initModal = M.Modal.init(initDisplayElement, {"dismissible": false});
|
||||
// Init corpus analysis components
|
||||
resultsJSON = {};
|
||||
resultsJSON = new ResultsJSON();
|
||||
resultsList = new ResultsList("result-list", resultsListOptions);
|
||||
results = new Results(resultsJSON, resultsList);
|
||||
results = new Results(resultsJSON, resultsList)
|
||||
initDisplay = new CorpusAnalysisDisplay(initDisplayElement);
|
||||
queryDisplay = new CorpusAnalysisDisplay(queryDisplayElement);
|
||||
client = new CorpusAnalysisClient({{ corpus_id }}, nopaque.socket);
|
||||
@ -315,30 +313,30 @@
|
||||
queryFormElement.addEventListener("submit", (event) => {
|
||||
// Prevent page from reloading on submit
|
||||
event.preventDefault();
|
||||
// empty list for new query
|
||||
resultsList.clear();
|
||||
// empty ResultsList and ResultsJSON for new query
|
||||
results.clear_all()
|
||||
// Get query string and send query to server
|
||||
let queryStr = getQueryStr(queryFormElement);
|
||||
client.query(queryStr);
|
||||
results.resultsJSON.getQueryStr(queryFormElement);
|
||||
client.query(results.resultsJSON.query);
|
||||
});
|
||||
|
||||
// get context of one match if inspected via socket.io
|
||||
nopaque.socket.on("match_context", showMatchContext);
|
||||
nopaque.socket.on("match_context", (response) => { results.resultsList.showMatchContext(response)});
|
||||
|
||||
// live update of hits per page if hits per page value is changed
|
||||
hitsPerPageInputElement = document.getElementById("display-options-form-results_per_page");
|
||||
hitsPerPageInputElement.onchange = changeHitsPerPage;
|
||||
hitsPerPageInputElement.onchange = results.resultsList.changeHitsPerPage;
|
||||
|
||||
// live update of lr context per item if context value is changed
|
||||
contextPerItemElement = document.getElementById("display-options-form-result_context");
|
||||
contextPerItemElement.onchange = changeContext;
|
||||
contextPerItemElement.onchange = results.resultsList.changeContext;
|
||||
|
||||
// eventListener if pagination is used to apply new context size to new page
|
||||
// and also activate inspect match if queryFinished is true
|
||||
paginationElements = document.getElementsByClassName("pagination");
|
||||
for (element of paginationElements) {
|
||||
element.addEventListener("click", changeContext);
|
||||
element.addEventListener("click", activateInspect);
|
||||
element.addEventListener("click", results.resultsList.changeContext);
|
||||
element.addEventListener("click", ResultsList.activateInspect);
|
||||
}
|
||||
|
||||
// epxert mode table view
|
||||
@ -347,14 +345,14 @@
|
||||
let paginationElements = document.getElementsByClassName("pagination");
|
||||
if (event.target.checked) {
|
||||
console.log("Checked!");
|
||||
expertModeOn(currentTokenElements, resultsJSON);
|
||||
results.resultsList.expertModeOn(currentTokenElements, resultsJSON);
|
||||
for (element of paginationElements) {
|
||||
element.tokenElements = currentTokenElements;
|
||||
element.addEventListener("click", eventHandlerCheck);
|
||||
element.addEventListener("click", (event) => { results.resultsList.eventHandlerCheck(event)});
|
||||
}
|
||||
} else {
|
||||
console.log("Unchecked!");
|
||||
expertModeOff(currentTokenElements);
|
||||
results.resultsList.expertModeOff(currentTokenElements);
|
||||
console.log("unchecked! Destroy");
|
||||
}
|
||||
});
|
||||
@ -368,7 +366,7 @@
|
||||
// add onclick to download JSON button and download the file
|
||||
downloadResultsJSONElement = document.getElementById("download-results-json")
|
||||
downloadResultsJSONElement.onclick = function() {
|
||||
let filename = createDownloadFilename();
|
||||
downloadJSONRessource(filename)};
|
||||
let filename = results.resultsJSON.createDownloadFilename();
|
||||
results.resultsJSON.downloadJSONRessource(filename)};
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user