lastUpdatedTime is a hardcoded value in fixtures.json, function below uses this information to decide setTimeout interval. Since lastUpdateTime is not getting updated hence this entire logic to refresh stock price is broken.
function updateStockPrices() {
$.ajax({
url: "view/stockprice/",
dataType: 'json',
success: function(data) {
$('.stock-card').each(function() {
var stock = $(this).attr('data-name');
var price = data[stock]['price'];
var diff = data[stock]['diff'];
var elem = $(this).find('#diff');
if (diff >= 0) {
var diff_html = diff + " <i class=\"fa fa-arrow-up\" aria-hidden=\"true\">";
elem.html(diff_html);
if (elem.hasClass('down')) {
elem.removeClass('down');
elem.addClass('up');
}
} else {
var diff_html = diff + " <i class=\"fa fa-arrow-down\" aria-hidden=\"true\">";
elem.html(diff_html);
if (elem.hasClass('up')) {
elem.removeClass('up');
elem.addClass('down');
}
}
$(this).find('#price').html(price);
});
var last_updated = new Date(data['last_updated']);
var now_time = new Date(Date.now());
time = now_time - last_updated;
var options = {"month": "short", "day": "2-digit", "year": "numeric", "hour": "2-digit", "minute": "2-digit"};
var current_time = now_time.toLocaleDateString("en-US", options);
current_time = current_time.slice(0,3) + "." + current_time.slice(3);
current_time = current_time.replace("PM", "p.m.");
current_time = current_time.replace("AM", "a.m.");
$('#last-updated').html(current_time);
}
});
setTimeout(updateStockPrices, 60*1000 - time);
}
lastUpdatedTime is a hardcoded value in fixtures.json, function below uses this information to decide setTimeout interval. Since lastUpdateTime is not getting updated hence this entire logic to refresh stock price is broken.