Fix query results viewer etc. to work with results having eitehr full or no context.

This commit is contained in:
Stephan Porada 2020-09-16 10:41:02 +02:00
parent 25670b6231
commit 021375f68d
4 changed files with 19 additions and 7 deletions

View File

@ -10,7 +10,8 @@ class Client {
constructor({corpusId = null,
socket = null,
logging = true,
dynamicMode = true} = {}) {
dynamicMode = true,
fullContext = null} = {}) {
this.corpusId = corpusId;
this.dynamicMode = dynamicMode;
this.logging = logging;
@ -18,6 +19,7 @@ class Client {
this.socket = socket;
this.eventListeners = {};
this.isBusy = false;
this.fullContext = fullContext;
/**
* Disables all console logging.
* This is global. So every other log message in every other Class or

View File

@ -735,7 +735,9 @@ class ResultsList extends List {
addToSubResultsBtn.setAttribute("class", classes + ` add`
);
addToSubResultsBtn.innerHTML = '<i class="material-icons add-btn">add</i>';
if (client.dynamicMode || client.fullContext) {
aCellElement.appendChild(inspectBtn);
}
if (client.dynamicMode) {
aCellElement.appendChild(addToSubResultsBtn);
}

View File

@ -73,6 +73,9 @@
"corpus_cqpserver_version": {
"type": "string"
},
"fullContext": {
"type": "boolean"
},
"cpos_ranges": {
"type": "boolean"
}
@ -95,7 +98,8 @@
"match_count",
"matches",
"query",
"text_lookup"
"text_lookup",
"fullContext"
],
"title": "NopaqueCQIPYResults"
},

View File

@ -40,7 +40,8 @@
{% include 'interactions/analysis.html.j2' %}
{% include 'interactions/cite.html.j2' %}
<div class="hide">
{# Hide those because they are not needed when inspecting results #}
{# Hide those because they are not needed when inspecting results.
But some of their elements are being asked for by the client. #}
{% include 'interactions/export.html.j2' %}
{% include 'interactions/create.html.j2' %}
</div>
@ -109,9 +110,6 @@ import {
* Asynchronus and event driven code.
*/
document.addEventListener("DOMContentLoaded", () => {
// Initialize the client with dynamicMode set to false.
const client = new Client({'logging': true,
'dynamicMode': false});
/**
* Initializing the results object as a model holding all the data of a
* query. Also holds the metadata of one query and results data.
@ -124,6 +122,10 @@ document.addEventListener("DOMContentLoaded", () => {
const resultsJson = {{ query_result_file_content|tojson|safe }};
// Import metadata from DB passed to this view
const metaDataJson = {{ query_metadata|tojson|safe }};
// Initialize the client with dynamicMode set to false.
const client = new Client({'logging': true,
'dynamicMode': false,
'fullContext': metaDataJson.fullContext});
/**
* Register needed listeners and their callbacks. But we will
* just call the attached callbacks manually. Because dynamicMode is false.
@ -161,6 +163,7 @@ document.addEventListener("DOMContentLoaded", () => {
'#display-options-form-result_context',
'#display-options-form-results_per_page',
'#full-results-create',
'#full-results-export',
'#inspect-results-export',
'#meta-data-modal-content',
['#meta-data-modal', {
@ -173,6 +176,7 @@ document.addEventListener("DOMContentLoaded", () => {
'#query-results-table',
'#show-meta-data',
'#sub-results-create',
'#sub-results-export',
]);
// Hide buttons which are not needed when just inspecting results
resultsList.inspectResultsExport.classList.add('hide');