mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +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