ajsfw
Version:
Ajs Framework
95 lines (94 loc) • 4.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ProgressBar_1 = require("./ProgressBar");
var RenderTarget_1 = require("./RenderTarget");
var ErrorScreen = (function () {
function ErrorScreen() {
}
ErrorScreen.setDOMElement = function (errorScreenElementId) {
ErrorScreen._error = null;
ErrorScreen._errorScreen = document.getElementById(errorScreenElementId);
ErrorScreen._label = document.getElementById(errorScreenElementId + "Label");
ErrorScreen._errorLabel = document.getElementById(errorScreenElementId + "ErrorLabel");
ErrorScreen._userAction = document.getElementById(errorScreenElementId + "UserAction");
ErrorScreen._message = document.getElementById(errorScreenElementId + "ErrorMessage");
ErrorScreen._stackTrace = document.getElementById(errorScreenElementId + "StackTrace");
if (!ErrorScreen._checkDOM()) {
window.console.error("Invalid error screen DOM specification!");
}
};
ErrorScreen.hide = function () {
if (!ErrorScreen._checkDOM()) {
return;
}
ErrorScreen._errorScreen.style.display = "none";
ErrorScreen._label.innerHTML = "";
ErrorScreen._label.style.display = "none";
ErrorScreen._errorLabel.innerHTML = "";
ErrorScreen._errorLabel.style.display = "none";
ErrorScreen._userAction.innerHTML = "";
ErrorScreen._userAction.style.display = "none";
ErrorScreen._message.innerHTML = "";
ErrorScreen._message.style.display = "none";
ErrorScreen._stackTrace.innerHTML = "";
ErrorScreen._stackTrace.style.display = "none";
};
ErrorScreen.show = function (error) {
if (!ErrorScreen._checkDOM()) {
return false;
}
ProgressBar_1.ProgressBar.hide();
RenderTarget_1.RenderTarget.hide();
ErrorScreen.hide();
ErrorScreen._errorScreen.style.display = "";
for (var key in error) {
if (error.hasOwnProperty(key)) {
ErrorScreen._setContent(error, key);
}
}
return true;
};
ErrorScreen._setContent = function (error, key) {
switch (key) {
case "label":
ErrorScreen._label.style.display = "";
ErrorScreen._label.innerHTML = error[key];
break;
case "errorCode":
case "errorLabel":
var lbl;
var cde = error.errorCode ? error.errorCode : "";
if (cde !== "") {
lbl = error.errorLabel ? error.errorLabel + " (" + cde + ")" : cde;
}
else {
lbl = error.errorLabel ? error.errorLabel : cde;
}
ErrorScreen._errorLabel.style.display = "";
ErrorScreen._errorLabel.innerHTML = lbl;
break;
case "userAction":
ErrorScreen._userAction.style.display = "";
ErrorScreen._userAction.innerHTML = error[key];
break;
case "errorMessage":
ErrorScreen._message.style.display = "";
ErrorScreen._message.innerHTML = error[key];
break;
case "errorTrace":
ErrorScreen._stackTrace.style.display = "";
ErrorScreen._stackTrace.innerHTML = error[key];
break;
}
};
ErrorScreen._checkDOM = function () {
return !(ErrorScreen._errorScreen === undefined || ErrorScreen._errorScreen === null ||
ErrorScreen._label === undefined || ErrorScreen._label === null ||
ErrorScreen._errorLabel === undefined || ErrorScreen._errorLabel === null ||
ErrorScreen._userAction === undefined || ErrorScreen._userAction === null ||
ErrorScreen._message === undefined || ErrorScreen._message === null ||
ErrorScreen._stackTrace === undefined || ErrorScreen._stackTrace === null);
};
return ErrorScreen;
}());
exports.ErrorScreen = ErrorScreen;