mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	Show right match_count per text, not per last incoming chunk
This commit is contained in:
		@@ -33,13 +33,24 @@ function prepareQueryData() {
 | 
			
		||||
 */
 | 
			
		||||
function saveQueryData() {
 | 
			
		||||
  let [payload, client, results, rest] = arguments;
 | 
			
		||||
  // Get data matches length before new chunk data is being inserted
 | 
			
		||||
  let dataLength = results.data.matches.length;
 | 
			
		||||
  if (client.dynamicMode) {
 | 
			
		||||
    // get data matches length before new chunk data is being inserted
 | 
			
		||||
    // incorporating new chunk data into full results
 | 
			
		||||
    // Incorporating new chunk data into full results
 | 
			
		||||
    results.data.matches.push(...payload.chunk.matches);
 | 
			
		||||
    results.data.addData(payload.chunk.cpos_lookup, 'cpos_lookup');
 | 
			
		||||
    results.data.addData(payload.chunk.text_lookup, 'text_lookup');
 | 
			
		||||
    console.log(payload.chunk.text_lookup);
 | 
			
		||||
     /**
 | 
			
		||||
      * Increment match_counts per text in a global results varaible because
 | 
			
		||||
      * they are coming in chunkwise.
 | 
			
		||||
      */
 | 
			
		||||
    for (let [text_key, value] of Object.entries(payload.chunk.text_lookup)) {
 | 
			
		||||
        if (!(text_key in results.tmp_match_counts)) {
 | 
			
		||||
          results.tmp_match_counts[text_key] = {match_count: 0};
 | 
			
		||||
        }
 | 
			
		||||
        results.tmp_match_counts[text_key].match_count += payload.chunk.text_lookup[text_key].match_count;
 | 
			
		||||
    }
 | 
			
		||||
    results.data.cpos_ranges = payload.chunk.cpos_ranges;
 | 
			
		||||
    let queryFormElement = document.querySelector('#query-form');
 | 
			
		||||
    results.data.getQueryStr(queryFormElement);
 | 
			
		||||
@@ -51,6 +62,10 @@ function saveQueryData() {
 | 
			
		||||
    console.info('Query data chunk saved', results.data);
 | 
			
		||||
    if (client.requestQueryProgress === 100) {
 | 
			
		||||
      client.isBusy = false;
 | 
			
		||||
      // Update text_lookup with tmp_match_counts.
 | 
			
		||||
      for (let [text_key, value] of Object.entries(results.tmp_match_counts)) {
 | 
			
		||||
        results.data.text_lookup[text_key].match_count = results.tmp_match_counts[text_key].match_count;
 | 
			
		||||
      }
 | 
			
		||||
      client.notifyView('query-data-recieved');
 | 
			
		||||
    }
 | 
			
		||||
  } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,8 @@ class Results {
 | 
			
		||||
    this.fullResultsData.init();
 | 
			
		||||
    this.subResultsData.init();
 | 
			
		||||
    this.inspectResultsData.init();
 | 
			
		||||
    // Temporarly save match counts per text
 | 
			
		||||
    this.tmp_match_counts = {};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user