Rename some things. Add metadata to downloadable json

This commit is contained in:
Stephan Porada
2020-04-30 15:21:55 +02:00
parent 1350e6ddd6
commit 58295b986d
4 changed files with 65 additions and 55 deletions

View File

@ -292,7 +292,7 @@
var queryResultsUserFeedbackElement; // Element showing match count|total etc
var receivedMatchCountElement; // Nr. of loaded matches will be displayed in this element
var results; // results object
var resultsJSON; // full JSON object holding match results
var data; // full JSON object holding match results
var resultsList; // resultsList object
var resultsListOptions; // specifies ResultsList options
var textLookupCountElement // Nr of texts the matches occured in will be shown in this element
@ -363,10 +363,10 @@
exportModal = M.Modal.init(exportModal, {"dismissible": true});
initModal = M.Modal.init(initDisplayElement, {"dismissible": false});
// Init corpus analysis components
resultsJSON = new ResultsJSON();
data = new Data();
resultsList = new ResultsList("result-list", resultsListOptions);
resultsMetaData = new ResultsMetaData();
results = new Results(resultsJSON, resultsList, resultsMetaData);
resultsMetaData = new MetaData();
results = new Results(data, resultsList, resultsMetaData);
initDisplay = new CorpusAnalysisDisplay(initDisplayElement);
queryDisplay = new CorpusAnalysisDisplay(queryDisplayElement);
client = new CorpusAnalysisClient({{ corpus_id }}, nopaque.socket);
@ -392,7 +392,7 @@
queryRenderResults(payload);
});
client.setCallback("query_match_context", (payload) => {
results.resultsList.showMatchContext(payload);
results.jsList.showMatchContext(payload);
})
// Trigger corpus analysis initialization on server side
@ -419,34 +419,34 @@
// Prevent page from reloading on submit
event.preventDefault();
// Get query string and send query to server
results.resultsJSON.getQueryStr(queryFormElement);
client.query(results.resultsJSON.query);
results.data.getQueryStr(queryFormElement);
client.query(results.data.query);
});
// live update of hits per page if hits per page value is changed
let changeHitsPerPageBind = results.resultsList.changeHitsPerPage.bind(results.resultsList);
let changeHitsPerPageBind = results.jsList.changeHitsPerPage.bind(results.jsList);
hitsPerPageInputElement.onchange = changeHitsPerPageBind;
// live update of lr context per item if context value is changed
contextPerItemElement.onchange = results.resultsList.changeContext;
contextPerItemElement.onchange = results.jsList.changeContext;
// eventListener if pagination is used to apply new context size to new page
// and also activate inspect match if progress is 100
for (let element of paginationElements) {
element.addEventListener("click", results.resultsList.changeContext);
element.addEventListener("click", results.resultsList.activateInspect);
element.addEventListener("click", results.jsList.changeContext);
element.addEventListener("click", results.jsList.activateInspect);
}
expertModeSwitchElement.addEventListener("change", (event) => {
if (event.target.checked) {
results.resultsList.expertModeOn("query-display");
results.jsList.expertModeOn("query-display");
for (let element of paginationElements) {
element.onclick = (event) => {
results.resultsList.eventHandlerCheck(event)
results.jsList.eventHandlerCheck(event)
}
}
} else {
results.resultsList.expertModeOff("query-display");
results.jsList.expertModeOff("query-display");
}
});
});
@ -458,16 +458,20 @@
// add onclick to download JSON button and download the file
downloadResultsJSONElement = document.getElementById("download-results-json")
downloadResultsJSONElement.onclick = () => {
let filename = results.resultsJSON.createDownloadFilename("matches");
results.resultsJSON.downloadJSONRessource(filename, results.resultsJSON, downloadResultsJSONElement
let filename = results.data.createDownloadFilename("matches");
results.data.addData(results.metaData);
results.data.downloadJSONRessource(filename, results.data,
downloadResultsJSONElement
)};
// add onclick to download JSON button and download the file
downloadInspectContextElement = document.getElementById("inspect-download-context")
downloadInspectContextElement.onclick = () => {
let filename = results.resultsJSON.createDownloadFilename("context");
console.log(filename);
results.resultsJSON.downloadJSONRessource(filename, results.resultsList.contextData, downloadInspectContextElement);
let filename = results.data.createDownloadFilename("context");
results.data.addData(results.metaData);
results.data.downloadJSONRessource(filename,
results.jsList.contextData,
downloadInspectContextElement);
};
</script>
{% endblock %}