diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..de71c862
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,9 @@
+Parsifal 2.0.3 (2021-09-08)
+===========================
+
+Bugfixes
+--------
+
+- Fix data analysis load state for charts (#69)
+- Fix keyboard arrow navigation on study selection page. (#71)
+- Fix search scopus results rendering when there is no data. (#73)
diff --git a/parsifal/__init__.py b/parsifal/__init__.py
index d0d0590e..fca9d09a 100644
--- a/parsifal/__init__.py
+++ b/parsifal/__init__.py
@@ -1,5 +1,5 @@
from parsifal.utils.version import get_version
-VERSION = (2, 0, 2, "final", 0)
+VERSION = (2, 0, 3, "final", 0)
__version__ = get_version(VERSION)
diff --git a/parsifal/apps/reviews/conducting/static/js/conducting_data_analysis.js b/parsifal/apps/reviews/conducting/static/js/conducting_data_analysis.js
index edd03f2a..62b7efd8 100644
--- a/parsifal/apps/reviews/conducting/static/js/conducting_data_analysis.js
+++ b/parsifal/apps/reviews/conducting/static/js/conducting_data_analysis.js
@@ -1,90 +1,92 @@
-google.load('visualization', '1.0', {'packages':['corechart']});
-google.setOnLoadCallback(drawChartCallback);
+$(function () {
+ google.load('visualization', '1.0', {'packages':['corechart']});
+ google.setOnLoadCallback(drawChartCallback);
-function drawChartCallback() {
- drawChart();
- drawYearLines();
-}
-
-function drawPieChart(rows) {
- var data = new google.visualization.DataTable();
- data.addColumn('string', 'Source');
- data.addColumn('number', 'Number of Aticles');
- data.addRows(rows);
- var options = {'height': 400};
- var chart = new google.visualization.PieChart(document.getElementById('articles-selection-pie'));
- chart.draw(data, options);
-}
-
-function drawColumnChart(rows) {
- var data = google.visualization.arrayToDataTable(rows);
- var options = {
- vAxis: {title: 'Number of Articles', titleTextStyle: {color: '#3A3D40'}},
- 'height': 400
- };
- var chart = new google.visualization.ColumnChart(document.getElementById('articles-selection-column'));
- chart.draw(data, options);
-}
+ function drawChartCallback() {
+ drawChart();
+ drawYearLines();
+ }
-function drawLineChart(rows) {
- var data = google.visualization.arrayToDataTable(rows);
- var options = {
- vAxis: {title: 'Number of Articles', titleTextStyle: {color: '#3A3D40'}},
- 'height': 400
- };
- var chart = new google.visualization.LineChart(document.getElementById('articles-selection-line'));
- chart.draw(data, options);
-}
+ function drawPieChart(rows) {
+ var data = new google.visualization.DataTable();
+ data.addColumn('string', 'Source');
+ data.addColumn('number', 'Number of Articles');
+ data.addRows(rows);
+ var options = {'height': 400};
+ var chart = new google.visualization.PieChart(document.getElementById('articles-selection-pie'));
+ chart.draw(data, options);
+ }
-function drawChart() {
- $.ajax({
- url: '/reviews/conducting/articles_selection_chart/',
- data: {'review-id': $("#review-id").val()},
- type: 'get',
- cache: false,
- beforeSend: function () {
- $("#articles-selection-pie").spinner(false);
- $("#articles-selection-column").spinner(false);
- },
- success: function (data) {
- var source_data = data.split(",");
- var rows_pie = [];
- var rows_chart = [['Source', 'Selected', 'Accepted']];
- for (var i = source_data.length - 1; i >= 0; i--) {
- row = source_data[i].split(":");
- rows_pie.push([row[0], parseInt(row[1])]);
- rows_chart.push([row[0], parseInt(row[1]), parseInt(row[2])]);
+ function drawColumnChart(rows) {
+ var data = google.visualization.arrayToDataTable(rows);
+ var options = {
+ vAxis: {title: 'Number of Articles', titleTextStyle: {color: '#3A3D40'}},
+ 'height': 400
};
- drawPieChart(rows_pie);
- drawColumnChart(rows_chart);
- },
- complete: function () {
- $("#articles-selection-pie").spinner();
- $("#articles-selection-column").spinner();
+ var chart = new google.visualization.ColumnChart(document.getElementById('articles-selection-column'));
+ chart.draw(data, options);
}
- });
-}
-function drawYearLines() {
- $.ajax({
- url: '/reviews/conducting/articles_per_year/',
- data: {'review-id': $("#review-id").val()},
- type: 'get',
- cache: false,
- beforeSend: function () {
- $("#articles-selection-line").spinner(false);
- },
- success: function (data) {
- var source_data = data.split(",");
- var rows = [['Year', 'Number of Articles']];
- for (var i = source_data.length - 1; i >= 0; i--) {
- row = source_data[i].split(":");
- rows.push([row[0], parseInt(row[1])]);
+ function drawLineChart(rows) {
+ var data = google.visualization.arrayToDataTable(rows);
+ var options = {
+ vAxis: {title: 'Number of Articles', titleTextStyle: {color: '#3A3D40'}},
+ 'height': 400
};
- drawLineChart(rows);
- },
- complete: function () {
- $("#articles-selection-line").spinner();
+ var chart = new google.visualization.LineChart(document.getElementById('articles-selection-line'));
+ chart.draw(data, options);
+ }
+
+ function drawChart() {
+ $.ajax({
+ url: '/reviews/conducting/articles_selection_chart/',
+ data: {'review-id': $("#review-id").val()},
+ type: 'get',
+ cache: false,
+ beforeSend: function () {
+ $("#articles-selection-pie").spinner(false);
+ $("#articles-selection-column").spinner(false);
+ },
+ success: function (data) {
+ var source_data = data.split(",");
+ var rows_pie = [];
+ var rows_chart = [['Source', 'Selected', 'Accepted']];
+ for (var i = source_data.length - 1; i >= 0; i--) {
+ row = source_data[i].split(":");
+ rows_pie.push([row[0], parseInt(row[1])]);
+ rows_chart.push([row[0], parseInt(row[1]), parseInt(row[2])]);
+ }
+ drawPieChart(rows_pie);
+ drawColumnChart(rows_chart);
+ },
+ complete: function () {
+ $("#articles-selection-pie").spinner();
+ $("#articles-selection-column").spinner();
+ }
+ });
+ }
+
+ function drawYearLines() {
+ $.ajax({
+ url: '/reviews/conducting/articles_per_year/',
+ data: {'review-id': $("#review-id").val()},
+ type: 'get',
+ cache: false,
+ beforeSend: function () {
+ $("#articles-selection-line").spinner(false);
+ },
+ success: function (data) {
+ var source_data = data.split(",");
+ var rows = [['Year', 'Number of Articles']];
+ for (var i = source_data.length - 1; i >= 0; i--) {
+ row = source_data[i].split(":");
+ rows.push([row[0], parseInt(row[1])]);
+ }
+ drawLineChart(rows);
+ },
+ complete: function () {
+ $("#articles-selection-line").spinner();
+ }
+ });
}
- });
-}
\ No newline at end of file
+});
diff --git a/parsifal/apps/reviews/conducting/static/js/conducting_search_studies.js b/parsifal/apps/reviews/conducting/static/js/conducting_search_studies.js
index ea9c633f..5214bc31 100644
--- a/parsifal/apps/reviews/conducting/static/js/conducting_search_studies.js
+++ b/parsifal/apps/reviews/conducting/static/js/conducting_search_studies.js
@@ -1,220 +1,221 @@
$(function () {
- $(".js-save-source-string").click(function () {
- var btn = $(this);
- var form = $(this).closest("form");
- var url = $(this).attr("data-remote");
- $.ajax({
- url: url,
- data: $(form).serialize(),
- type: 'post',
- cache: false,
- beforeSend: function () {
- $(btn).ajaxDisable();
- },
- success: function () {
- var source_id = $("[name='source-id']", form).val();
- var search_string = $("[name='search_string']", form).val();
- $("[data-source-id='" + source_id + "'] textarea[name='query']").val(search_string);
- },
- complete: function () {
- $(btn).ajaxEnable();
- }
- });
- });
-
- $(".js-import-base-string").click(function () {
- var btn = $(this);
- var form = $(this).closest("form");
- var url = $(this).attr("data-remote");
- $.ajax({
- url: url,
- data: $(form).serialize(),
- type: 'post',
- cache: false,
- beforeSend: function () {
- $(btn).ajaxDisable();
- },
- success: function (data) {
- $("textarea[name='search_string']", form).val(data);
- var source_id = $("[name='source-id']", form).val();
- $("[data-source-id='" + source_id + "'] textarea[name='query']").val(data);
- },
- complete: function () {
- $(btn).ajaxEnable();
- }
+ $(".js-save-source-string").click(function () {
+ var btn = $(this);
+ var form = $(this).closest("form");
+ var url = $(this).attr("data-remote");
+ $.ajax({
+ url: url,
+ data: $(form).serialize(),
+ type: 'post',
+ cache: false,
+ beforeSend: function () {
+ $(btn).ajaxDisable();
+ },
+ success: function () {
+ var source_id = $("[name='source-id']", form).val();
+ var search_string = $("[name='search_string']", form).val();
+ $("[data-source-id='" + source_id + "'] textarea[name='query']").val(search_string);
+ },
+ complete: function () {
+ $(btn).ajaxEnable();
+ }
+ });
});
- });
- $(".source-search textarea:visible").expanding();
+ $(".js-import-base-string").click(function () {
+ var btn = $(this);
+ var form = $(this).closest("form");
+ var url = $(this).attr("data-remote");
+ $.ajax({
+ url: url,
+ data: $(form).serialize(),
+ type: 'post',
+ cache: false,
+ beforeSend: function () {
+ $(btn).ajaxDisable();
+ },
+ success: function (data) {
+ $("textarea[name='search_string']", form).val(data);
+ var source_id = $("[name='source-id']", form).val();
+ $("[data-source-id='" + source_id + "'] textarea[name='query']").val(data);
+ },
+ complete: function () {
+ $(btn).ajaxEnable();
+ }
+ });
+ });
- $("#remote-search-panels .panel-collapse").on("show.bs.collapse", function () {
- var panel = $(this).closest(".panel");
- $("[data-toggle='collapse'] .glyphicon", panel).removeClass().addClass("glyphicon glyphicon-minus pull-right");
- });
+ $(".source-search textarea:visible").expanding();
- $("#remote-search-panels .panel-collapse").on("hide.bs.collapse", function () {
- var panel = $(this).closest(".panel");
- $("[data-toggle='collapse'] .glyphicon", panel).removeClass().addClass("glyphicon glyphicon-plus pull-right");
- });
+ $("#remote-search-panels .panel-collapse").on("show.bs.collapse", function () {
+ var panel = $(this).closest(".panel");
+ $("[data-toggle='collapse'] .glyphicon", panel).removeClass().addClass("glyphicon glyphicon-minus pull-right");
+ });
- $("#remote-search-panels .panel-collapse").on("shown.bs.collapse", function () {
- $("textarea", this).each(function () {
- if (!$(this).hasClass("expanding")) {
- $(this).expanding();
- }
+ $("#remote-search-panels .panel-collapse").on("hide.bs.collapse", function () {
+ var panel = $(this).closest(".panel");
+ $("[data-toggle='collapse'] .glyphicon", panel).removeClass().addClass("glyphicon glyphicon-plus pull-right");
});
- });
- $.fn.displaySearchResults = function (data) {
- var container = $(this);
- if (data !== null) {
- $("table tbody", container).html("");
+ $("#remote-search-panels .panel-collapse").on("shown.bs.collapse", function () {
+ $("textarea", this).each(function () {
+ if (!$(this).hasClass("expanding")) {
+ $(this).expanding();
+ }
+ });
+ });
- data["search-results"].entry.forEach(function (entry) {
- var citations = entry["citedby-count"];
- if (citations === undefined) {
- citations = "";
+ $.fn.displaySearchResults = function (data) {
+ var container = $(this);
+ if (data !== null) {
+ $("table tbody", container).html("");
+
+ if (data["search-results"]["opensearch:totalResults"] !== "0") {
+ data["search-results"].entry.forEach(function (entry) {
+ var citations = "";
+ if ("citedby-count" in entry) {
+ citations = entry["citedby-count"];
+ }
+ $("table tbody", container).append("
" + entry["dc:title"] + " | " + entry["dc:creator"] + " | " + entry["prism:coverDisplayDate"] + " | " + entry["prism:publicationName"] + " | " + citations + " |
");
+ });
+ }
+
+ data["search-results"].link.forEach(function (link) {
+ var pager = $(".pager a[ref='" + link["@ref"] + "']");
+ $(pager).attr("href", link["@href"]);
+ $(pager).closest("li").removeClass("disabled");
+ });
+
+ $(".document-results", container).text(data["search-results"]["opensearch:totalResults"]);
+ $("form", container).attr("data-remote-status", "loaded");
+ } else {
+ $("table tbody", container).html("No data |
");
}
- $("table tbody", container).append("" + entry["dc:title"] + " | " + entry["dc:creator"] + " | " + entry["prism:coverDisplayDate"] + " | " + entry["prism:publicationName"] + " | " + citations + " |
");
- });
-
- data["search-results"].link.forEach(function (link) {
- var pager = $(".pager a[ref='" + link["@ref"] + "']");
- $(pager).attr("href", link["@href"]);
- $(pager).closest("li").removeClass("disabled");
- });
-
- $(".document-results", container).text(data["search-results"]["opensearch:totalResults"]);
- $("form", container).attr("data-remote-status", "loaded");
- }
- else {
- $("table tbody", container).html("No data |
");
- }
- };
-
- $(".source-search").submit(function () {
- var container = $(this).closest(".panel-body");
- var form = $(this);
- var url = $(this).attr("action");
- var data = $(this).serialize();
- var status = $(form).attr("data-remote-status");
-
- if (status !== "loading") {
- $.ajax({
- url: url,
- data: data,
- cache: true,
- dataType: 'json',
- beforeSend: function () {
- $("[name='page-query']", form).val($("[name='query']", form).val());
- $("button[type='submit']", form).ajaxDisable();
- $("table tbody", container).html(" |
");
- $(".loading-placeholder", container).spinner(false);
- $(".block-spinner", container).css("margin", "30px auto");
- $(form).attr("data-remote-status", "loading");
- },
- success: function (data) {
- $(container).displaySearchResults(data);
- },
- error: function (jqXHR, textStatus, errorThrown) {
- $(form).attr("data-remote-status", "error");
- $("table tbody", container).html("" + jqXHR.responseText + " |
");
- },
- complete: function () {
- $("button[type='submit']", form).ajaxEnable();
+ };
+
+ $(".source-search").submit(function () {
+ var container = $(this).closest(".panel-body");
+ var form = $(this);
+ var url = $(this).attr("action");
+ var data = $(this).serialize();
+ var status = $(form).attr("data-remote-status");
+
+ if (status !== "loading") {
+ $.ajax({
+ url: url,
+ data: data,
+ cache: true,
+ dataType: 'json',
+ beforeSend: function () {
+ $("[name='page-query']", form).val($("[name='query']", form).val());
+ $("button[type='submit']", form).ajaxDisable();
+ $("table tbody", container).html(" |
");
+ $(".loading-placeholder", container).spinner(false);
+ $(".block-spinner", container).css("margin", "30px auto");
+ $(form).attr("data-remote-status", "loading");
+ },
+ success: function (data) {
+ $(container).displaySearchResults(data);
+ },
+ error: function (jqXHR, textStatus, errorThrown) {
+ $(form).attr("data-remote-status", "error");
+ $("table tbody", container).html("" + jqXHR.responseText + " |
");
+ },
+ complete: function () {
+ $("button[type='submit']", form).ajaxEnable();
+ }
+ });
}
- });
- }
- return false;
- });
-
- $(".source-search [name='count']").change(function () {
- $(this).closest("form").submit();
- });
-
- $(".source-search .pager a").click(function (e) {
- e.preventDefault();
- var isDisabled = $(this).closest("li").hasClass("disabled");
- if (!isDisabled) {
-
- var container = $(this).closest(".panel-body");
- var form = $(this).closest("form");
- var url = $(form).attr("action");
- var status = $(form).attr("data-remote-status");
-
- var href = $(this).attr("href");
- var start = href.split('start=')[1].split('&')[0];
- var query = $("[name='page-query']", form).val();
- var count = href.split('count=')[1].split('&')[0];
-
- var review_id = $("[name='review-id']", form).val();
-
- if (status !== "loading") {
+ return false;
+ });
+
+ $(".source-search [name='count']").change(function () {
+ $(this).closest("form").submit();
+ });
+
+ $(".source-search .pager a").click(function (e) {
+ e.preventDefault();
+ var isDisabled = $(this).closest("li").hasClass("disabled");
+ if (!isDisabled) {
+
+ var container = $(this).closest(".panel-body");
+ var form = $(this).closest("form");
+ var url = $(form).attr("action");
+ var status = $(form).attr("data-remote-status");
+
+ var href = $(this).attr("href");
+ var start = href.split('start=')[1].split('&')[0];
+ var query = $("[name='page-query']", form).val();
+ var count = href.split('count=')[1].split('&')[0];
+
+ var review_id = $("[name='review-id']", form).val();
+
+ if (status !== "loading") {
+ $.ajax({
+ url: url,
+ data: {
+ 'review-id': review_id,
+ 'query': query,
+ 'start': start,
+ 'count': count
+ },
+ cache: true,
+ dataType: 'json',
+ beforeSend: function () {
+ $("table tbody", container).html(" |
");
+ $(".loading-placeholder", container).spinner(false);
+ $(".block-spinner", container).css("margin", "30px auto");
+ $(form).attr("data-remote-status", "loading");
+ $(".pager li", container).addClass("disabled");
+ },
+ success: function (data) {
+ $(container).displaySearchResults(data);
+ },
+ error: function (jqXHR, textStatus, errorThrown) {
+ $(form).attr("data-remote-status", "error");
+ $("table tbody", container).html("" + jqXHR.responseText + " |
");
+ }
+ });
+ }
+ }
+ return false;
+ });
+
+ $(".js-save-elsevier-string").click(function () {
+ var btn = $(this);
+ var form = $(this).closest("form");
+ var url = $(this).attr("data-remote");
+ var search_string = $("[name='query']", form).val();
+ var review_id = $("[name='review-id']", form).val();
+ var source_id = $("[name='source-id']", form).val();
$.ajax({
- url: url,
- data: {
- 'review-id': review_id,
- 'query': query,
- 'start': start,
- 'count': count
- },
- cache: true,
- dataType: 'json',
- beforeSend: function () {
- $("table tbody", container).html(" |
");
- $(".loading-placeholder", container).spinner(false);
- $(".block-spinner", container).css("margin", "30px auto");
- $(form).attr("data-remote-status", "loading");
- $(".pager li", container).addClass("disabled");
- },
- success: function (data) {
- $(container).displaySearchResults(data);
- },
- error: function (jqXHR, textStatus, errorThrown) {
- $(form).attr("data-remote-status", "error");
- $("table tbody", container).html("" + jqXHR.responseText + " |
");
- }
+ url: url,
+ data: {
+ 'csrfmiddlewaretoken': $("[name='csrfmiddlewaretoken']").val(),
+ 'search_string': search_string,
+ 'review-id': review_id,
+ 'source-id': source_id,
+ },
+ type: 'post',
+ cache: false,
+ beforeSend: function () {
+ $(btn).ajaxDisable();
+ },
+ success: function () {
+ $("#source_" + source_id + " textarea[name='search_string']").val(search_string);
+ },
+ complete: function () {
+ $(btn).ajaxEnable();
+ }
});
- }
- }
- return false;
- });
-
- $(".js-save-elsevier-string").click(function () {
- var btn = $(this);
- var form = $(this).closest("form");
- var url = $(this).attr("data-remote");
- var search_string = $("[name='query']", form).val();
- var review_id = $("[name='review-id']", form).val();
- var source_id = $("[name='source-id']", form).val();
- $.ajax({
- url: url,
- data: {
- 'csrfmiddlewaretoken': $("[name='csrfmiddlewaretoken']").val(),
- 'search_string': search_string,
- 'review-id': review_id,
- 'source-id': source_id,
- },
- type: 'post',
- cache: false,
- beforeSend: function () {
- $(btn).ajaxDisable();
- },
- success: function () {
- $("#source_" + source_id + " textarea[name='search_string']").val(search_string);
- },
- complete: function () {
- $(btn).ajaxEnable();
- }
});
- });
-
- $(".js-remove-source-string").click(function () {
- $(this).ajaxDisable();
- var form = $(this).closest("form");
- var url = $(this).attr("data-remote");
- $(form).attr("action", url);
- $(form).submit();
- });
+
+ $(".js-remove-source-string").click(function () {
+ $(this).ajaxDisable();
+ var form = $(this).closest("form");
+ var url = $(this).attr("data-remote");
+ $(form).attr("action", url);
+ $(form).submit();
+ });
});
diff --git a/parsifal/apps/reviews/conducting/static/js/conducting_study_selection.js b/parsifal/apps/reviews/conducting/static/js/conducting_study_selection.js
index 488ac8db..6315e059 100644
--- a/parsifal/apps/reviews/conducting/static/js/conducting_study_selection.js
+++ b/parsifal/apps/reviews/conducting/static/js/conducting_study_selection.js
@@ -1,16 +1,15 @@
function isScrolledIntoView(elem) {
- var docViewTop = $(window).scrollTop();
- var docViewBottom = docViewTop + $(window).height();
+ const docViewTop = $(window).scrollTop();
+ const docViewBottom = docViewTop + $(window).height();
- var elemTop = $(elem).offset().top;
- var elemBottom = elemTop + $(elem).height();
+ const elemTop = $(elem).offset().top;
+ const elemBottom = elemTop + $(elem).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
$(function () {
-
$("body").on("click", ".js-start-upload", function () {
$(this).siblings("input[type='file']").click();
});
@@ -177,8 +176,6 @@ $(function () {
});
function move(step) {
- var row = $(".source-articles tbody tr.active");
-
var active = $(".source-articles tbody tr.active").index();
var old_active = active;
var size = $(".source-articles tbody tr").length;
@@ -190,6 +187,8 @@ $(function () {
$(".source-articles tbody tr").removeClass("active");
$(next).addClass("active");
+ var row = $(".source-articles tbody tr.active");
+
if (!isScrolledIntoView(row)) {
if (active > old_active)
$('html, body').animate({scrollTop: $(row).offset().top}, 2000);
@@ -262,7 +261,7 @@ $(function () {
});
function filter_articles(status) {
- if (status == "ALL") {
+ if (status === "ALL") {
$(".source-articles table tbody tr").show();
}
else {
@@ -378,7 +377,7 @@ $(function () {
$(".source-tab-content").on("click", "table tbody tr td input[type=checkbox]", function () {
var total = $(".source-articles table tbody tr td input[type='checkbox']:visible").length;
var checked = $(".source-articles table tbody tr td input[type='checkbox']:checked").length;
- if (checked == total) {
+ if (checked === total) {
$("#ck-all-articles").prop("checked", true);
}
else {
@@ -447,7 +446,7 @@ $(function () {
var duplicates = $("#modal-duplicates .modal-body tr[duplicate=" + duplicate + "]");
var duplicates_resolved = $("#modal-duplicates .modal-body tr[duplicate=" + duplicate + "][resolved=true]");
- if (duplicates.length - duplicates_resolved.length == 1) {
+ if (duplicates.length - duplicates_resolved.length === 1) {
var btn_resolved = $("#modal-duplicates .modal-body tr[duplicate=" + duplicate + "][resolved=false] button");
$(btn_resolved).text("Resolved");
$(btn_resolved).prop("disabled", true);
@@ -481,7 +480,7 @@ $(function () {
$(btn).text("Resolving...");
},
success: function (data) {
- if (data != "") {
+ if (data !== "") {
var btn_modal = $("#modal-duplicates table tbody tr td button");
$(btn_modal).prop("disabled", true);
$(btn_modal).text("Resolved");
@@ -490,7 +489,7 @@ $(function () {
var article_row = $(".source-tab-content .source-articles tr[oid=" + ids[i] + "]");
$(article_row).attr("article-status", "D");
$("span", article_row).replaceWith("Duplicated");
- };
+ }
}
},
complete: function () {
@@ -503,7 +502,7 @@ $(function () {
// On page load
if ($("ul#source-tab li").length > 0) {
- if($("ul#source-tab li.active").length == 0) {
+ if($("ul#source-tab li.active").length === 0) {
$("ul#source-tab li:eq(0)").addClass("active");
}
$("#source-tab li.active a").click();
diff --git a/parsifal/apps/reviews/conducting/templates/conducting/conducting_data_analysis.html b/parsifal/apps/reviews/conducting/templates/conducting/conducting_data_analysis.html
index 11ff0d1a..2fba705a 100644
--- a/parsifal/apps/reviews/conducting/templates/conducting/conducting_data_analysis.html
+++ b/parsifal/apps/reviews/conducting/templates/conducting/conducting_data_analysis.html
@@ -1,10 +1,12 @@
{% extends 'conducting/conducting.html' %}
-{% load static %}
+{% load compress static %}
{% block javascript %}
-
+ {% compress js %}
+
+ {% endcompress %}
{% endblock javascript %}
{% block tab_content %}
diff --git a/parsifal/apps/reviews/conducting/templates/conducting/conducting_search_studies.html b/parsifal/apps/reviews/conducting/templates/conducting/conducting_search_studies.html
index 14988669..f0c80ca5 100644
--- a/parsifal/apps/reviews/conducting/templates/conducting/conducting_search_studies.html
+++ b/parsifal/apps/reviews/conducting/templates/conducting/conducting_search_studies.html
@@ -1,9 +1,11 @@
{% extends 'conducting/conducting.html' %}
-{% load static %}
+{% load compress static %}
{% block javascript %}
-
+ {% compress js %}
+
+ {% endcompress %}
{% endblock javascript %}
{% block tab_content %}
diff --git a/parsifal/newsfragments/.gitignore b/parsifal/newsfragments/.gitignore
new file mode 100644
index 00000000..f935021a
--- /dev/null
+++ b/parsifal/newsfragments/.gitignore
@@ -0,0 +1 @@
+!.gitignore
diff --git a/parsifal/static/js/parsifal.js b/parsifal/static/js/parsifal.js
index 1d8b70d6..9950a49d 100644
--- a/parsifal/static/js/parsifal.js
+++ b/parsifal/static/js/parsifal.js
@@ -57,7 +57,7 @@
$.fn.ajaxEnable = function (callback) {
callback = callback || function () {};
-
+
var btn = $(this);
$(this).prop("disabled", false);
$("span[class^='btn-ajax-']", this).hide();
@@ -81,7 +81,7 @@
$.fn.ajaxEnableError = function (callback) {
callback = callback || function () {};
-
+
var btn = $(this);
$(this).prop("disabled", false);
$("span[class^='btn-ajax-']", this).hide();
@@ -137,7 +137,7 @@
});
};
-
+
},
uuid: function () {
@@ -197,7 +197,7 @@ var UP_ARROW_KEY = 38;
var DOWN_ARROW_KEY = 40;
var ENTER_KEY = 13;
var ESCAPE_KEY = 27;
-var LOADING = "";
+var LOADING = "";
// Loading functions
@@ -208,4 +208,4 @@ $.fn.loading = function () {
$.fn.stopLoading = function () {
$(this).removeClass("loading-state");
-};
\ No newline at end of file
+};
diff --git a/parsifal/templates/includes/footer.html b/parsifal/templates/includes/footer.html
index 71506a33..0898559f 100644
--- a/parsifal/templates/includes/footer.html
+++ b/parsifal/templates/includes/footer.html
@@ -1,19 +1,17 @@