Consolidate status markup.

Improved charting error reporting.
This commit is contained in:
2017-02-24 10:44:13 -05:00
parent 61cbc942c1
commit 3ff815082a
12 changed files with 119 additions and 72 deletions
+45 -30
View File
@@ -1,5 +1,10 @@
$(function () {
var baseUrl = "/umbraco/surface/Chart/ChartCurve";
var $chart = $("#chart");
var $chartError = $('#chart-error');
var $curveIdElem = $('#CurveId');
var getUrlParameter = function (sParam) {
var sPageUrl = decodeURIComponent(window.location.search.substring(1)),
sUrlVariables = sPageUrl.split('&'),
@@ -15,38 +20,48 @@
}
};
var baseUrl = "/umbraco/surface/Chart/ChartCurve";
var $chart = $("#chart");
var $chartError = $('#chart-error');
var addSpinner = function () {
$chart.after('<span class="glyphicon glyphicon-refresh gly-spin" style="font-size: 3em"></span>');
}
$('#CurveId')
.change(function () {
$chartError.removeClass('text-danger').text('');
// this is the "Select CurveId" instruction
if (this.selectedIndex === 0) {
$chart.removeAttr('src');
return;
}
var curveId = $("option:selected", this).text();
$chart.after('<span class="glyphicon glyphicon-refresh gly-spin" style="font-size: 3em"></span>');
var leafInputId = getUrlParameter("leafInputId");
var url = baseUrl + "?leafInputId=" + leafInputId + "&curveId=" + curveId;
$chart.attr('src', url);
});
$chart.load(function () {
var removeSpinner = function () {
$chart.next('span.gly-spin').remove(); // remove spinner
})
.error(function () {
$chart.next('span.gly-spin').remove(); // remove spinner
if ($chart.attr('src') != undefined) {
};
var curveIdChangeAjax = function () {
$chartError.html('');
// this is the "Select CurveId" instruction
if (this.selectedIndex === 0) {
$chart.removeAttr('src');
$chartError.addClass('text-danger').text('A problem was encountered loading this chart.');
return;
}
});
var curveId = $("option:selected", this).text();
addSpinner();
var leafInputId = getUrlParameter("leafInputId");
var url = baseUrl + "?leafInputId=" + leafInputId + "&curveId=" + curveId;
$.ajax({
url: url,
type: 'GET',
contentType: "image/png",
success: function (data) {
$chart.attr('src', "data:image/png;base64," + data);
removeSpinner();
},
error: function(jqXHR, textStatus, errorThrown) {
removeSpinner();
$chart.removeAttr('src');
var html = '<h3 class="text-danger">A problem was encountered loading this chart.</h3>';
if (errorThrown != undefined) {
html += "<h4>Detail:</h4><pre>" + errorThrown + "</pre>";
}
$chartError.html(html);
}
});
};
$curveIdElem.change(curveIdChangeAjax);
});