aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Nduli2024-09-12 16:59:52 +0300
committerBonfaceKilz2024-09-12 18:34:56 +0300
commit63de4403b6e2186c5758443ec9163fc57b8a012f (patch)
tree72da495194787479582492470b7801e70d3bf97b
parentc71f464c783ca49587a21a52054cb7237b7deb0c (diff)
downloadgenenetwork2-63de4403b6e2186c5758443ec9163fc57b8a012f.tar.gz
fix: stop extending gnqa_answer.html
gnqa_answer.html is used by htmx to return a post result. I revert my change and include this in `gnqa.html` instead, to load results from a GET request.
-rw-r--r--gn2/wqflask/templates/gnqa.html72
-rw-r--r--gn2/wqflask/templates/gnqa_answer.html22
-rw-r--r--gn2/wqflask/templates/gsearch_gene.html9
-rw-r--r--gn2/wqflask/views.py2
4 files changed, 56 insertions, 49 deletions
diff --git a/gn2/wqflask/templates/gnqa.html b/gn2/wqflask/templates/gnqa.html
index 158b0b4e..371ad7b3 100644
--- a/gn2/wqflask/templates/gnqa.html
+++ b/gn2/wqflask/templates/gnqa.html
@@ -80,10 +80,15 @@
background-color: #ccf;
}
+.linux-libertine-font{
+ font-family: 'Linux Libertine','Georgia','Times','Source Serif Pro', 'serif'
+}
+
</style>
{% endblock %}
{% block search %}{% endblock %}
{% block content %}
+
<!-- Start of body -->
<section class="container-fluid">
<header class="row">
@@ -119,39 +124,44 @@
autocomplete="on"
required
placeholder="Ask More Questions or Topics (E.g Genes)"
+ {% if query %}
+ value='{{ query }}'
+ {% else %}
value=''
+ {% endif %}
name="querygnqa" />
</div>
</form>
<article id="swap" class="row">
- <div class="row gnqa-copy">
- <div class="col-sm-10 col-sm-offset-1 col-md-offset-3 col-md-6">
- <p>
- Welcome to the GeneNetwork Question and Answer (GNQA)system. We utilize a large language model and 3000 scientific publications to make GNQA a subject matter expert in three areas: <b><a href="/">GeneNetwork.org</a></b>, <b>genomics/genetics with regards to diabetes</b> and <b>genomics/genetics with regards to agin.</b>.
- </p>
- <p>
- At the moment when you ask GNQA something it will attempt to return a sensible answer with <q>real</q> references. To this end we aim to reduce hallucinations and provide a knowledge launchpad for a researcher to enhance their knowledge on the relevant subject matter.
- </p>
- <p>GNQA is not a finished product as we are working diligently to improve it daily.</p>
- <p>
- <b>Thanks for using GNQA!</b>
- </p>
- <div></div>
- </article>
- </section>
- {% endblock %}
- {% block js %}
- <script src="{{ url_for('js', filename='jquery/jquery.min.js') }}"
- type="text/javascript"></script>
- <script language="javascript"
- type="text/javascript"
- src="{{ url_for('js', filename='jquery-ui/jquery-ui.min.js') }}"></script>
- <script language="javascript"
- type="text/javascript"
- src="{{ url_for('js', filename='htmx.min.js') }}"></script>
- <script type="text/javascript">
- document.addEventListener('DOMContentLoaded', function() {
- $('footer').hide()
- });
- </script>
- {% endblock %}
+ {% if answer %}
+ {% include 'gnqa_answer.html' %}
+ {% else %}
+
+ <div class="row gnqa-copy">
+ <div class="col-sm-10 col-sm-offset-1 col-md-offset-3 col-md-6">
+ <p>
+ Welcome to the GeneNetwork Question and Answer (GNQA)system. We utilize a large language model and 3000 scientific publications to make GNQA a subject matter expert in three areas: <b><a href="/">GeneNetwork.org</a></b>, <b>genomics/genetics with regards to diabetes</b> and <b>genomics/genetics with regards to agin.</b>.
+ </p>
+ <p>
+ At the moment when you ask GNQA something it will attempt to return a sensible answer with <q>real</q> references. To this end we aim to reduce hallucinations and provide a knowledge launchpad for a researcher to enhance their knowledge on the relevant subject matter.
+ </p>
+ <p>GNQA is not a finished product as we are working diligently to improve it daily.</p>
+ <p>
+ <b>Thanks for using GNQA!</b>
+ </p>
+ </div>
+ </div>
+ {% endif %}
+ </article>
+ </section>
+ {% endblock %}
+ {% block js %}
+ <script src="{{ url_for('js', filename='jquery/jquery.min.js') }}" type="text/javascript"></script>
+ <script src="{{ url_for('js', filename='jquery-ui/jquery-ui.min.js') }}" type="text/javascript"></script>
+ <script src="{{ url_for('js', filename='htmx.min.js') }}" type="text/javascript" ></script>
+ <script type="text/javascript">
+document.addEventListener('DOMContentLoaded', function() {
+ $('footer').hide()
+});
+ </script>
+ {% endblock %}
diff --git a/gn2/wqflask/templates/gnqa_answer.html b/gn2/wqflask/templates/gnqa_answer.html
index e2e39956..2e182375 100644
--- a/gn2/wqflask/templates/gnqa_answer.html
+++ b/gn2/wqflask/templates/gnqa_answer.html
@@ -1,15 +1,3 @@
-{% extends "base.html" %}
-
-{% block css %}
-<style>
-.linux-libertine-font{
- font-family: 'Linux Libertine','Georgia','Times','Source Serif Pro', 'serif'
-}
-</style>
-{% endblock %}
-
-{% block content %}
-<br/>
<section class="container-fluid answers gnqa-copy">
<div class="row container gnqa-answer" style="margin-bottom: 1em">
<p class="row lead">
@@ -155,9 +143,9 @@
</div>
</div>
</section>
-{% endblock %}
-{% block js %}
- <script>
+
+<script>
+$(document).ready(function() {
function updateRatingHandler(target, responseObj, args){
let {status, response} = responseObj.xhr
if (status == 200 && args == "upvote"){
@@ -189,5 +177,5 @@ htmx.on("#upvote", "click", function(evt){
handler: (target, obj)=> updateRatingHandler(target,obj, "downvote"),
swap:"innerHTML",
values: {'query': query, 'answer': answer}})});
- </script>
-{% endblock %}
+})
+</script>
diff --git a/gn2/wqflask/templates/gsearch_gene.html b/gn2/wqflask/templates/gsearch_gene.html
index 091cc435..80ed8b47 100644
--- a/gn2/wqflask/templates/gsearch_gene.html
+++ b/gn2/wqflask/templates/gsearch_gene.html
@@ -16,8 +16,14 @@
</h3>
</div>
+
+ {% if do_ai_search %}
<div class="row" id="ai_result">
+ <div class="text-center" id="spinner">
+ <i class="fa fa-spinner fa-spin fa-3x"></i>
+ </div>
</div>
+ {% endif %}
<p>To study a record, click on its Record ID below.<br />Check records below and click Add button to add to selection.</p>
<div>
@@ -306,6 +312,9 @@
success: function(result) {
let ai_div = ai_content_div(result.search_term, result.search_result, result.search_url)
$("#ai_result").append(ai_div);
+ },
+ complete: function() {
+ $("#spinner").hide();
}
})
})
diff --git a/gn2/wqflask/views.py b/gn2/wqflask/views.py
index e695b0d8..aaf40d41 100644
--- a/gn2/wqflask/views.py
+++ b/gn2/wqflask/views.py
@@ -324,7 +324,7 @@ def gnqna():
"search_url": f"/gnqna?{safe_query}",
}
return jsonify(ai_result)
- return render_template("gnqa_answer.html", **search_result)
+ return render_template("gnqa.html", **search_result)
else:
return render_template("gnqa.html")
if request.method == "POST":