scinote-web/app/assets/javascripts/projects/show.js
2018-03-18 13:18:05 +01:00

66 lines
1.6 KiB
JavaScript

(function(){
var count = 0;
function init(){
$("[data-id]").each(function(){
var that = $(this);
initProjectExperiment(that);
});
}
function initProjectExperiment(element){
var container = element.find(".workflowimg-container");
var url = container.data("check-img");
var timestamp = container.data("timestamp");
var img_url = container.data('updated-img');
animateSpinner(container, true);
checkUpdatedImg(img_url, url, timestamp, container);
}
// checks if the experiment image is updated
function checkUpdatedImg(img_url, url, timestamp, container){
if (count < 30 && timestamp){
$.ajax({
url: url,
type: "GET",
data: { "timestamp": timestamp },
dataType: "json",
success: function (data) {
getNewWorkforwImg(container, img_url);
container.show();
animateSpinner(container, false);
},
error: function (ev) {
if (ev.status == 404) {
setTimeout(function () {
checkUpdatedImg(img_url, url, timestamp, container)
}, 5000);
} else {
animateSpinner(container, false);
}
count++;
}
});
} else {
animateSpinner(container, false);
}
}
// fetch the new experiment image
function getNewWorkforwImg(el, url){
$.ajax({
url: url,
type: "GET",
dataType: "json",
success: function (data) {
el.append(data.workflowimg);
},
error: function (ev) {
// TODO
}
});
}
init();
})();