![JAR search and dependency download from the Maven repository](/logo.png)
includes.js.statusbar-4.0.2.js Maven / Gradle / Ivy
BAR_VIEW = 0;
GIF_VIEW = 1;
NUM_VIEW = 2;
function StatusChart(displayId, imgDir, fontSize, initView) {
this.imgDir = imgDir;
this.displayId = displayId;
this.fontSize = fontSize ? fontSize : 16;
this.view = initView ? initView : GIF_VIEW;
this.totalTics = 0;
this.success = 0;
this.failures = 0;
this.successCount = 0;
this.failuresCount = 0;
this.errorsCount = 0;
this.switchView = function () {
this.view = (this.view == NUM_VIEW ? BAR_VIEW : this.view + 1);
this.draw();
};
this.wasIgnored = function () {
return this.successCount == 0 && this.failuresCount == 0 && this.errorsCount == 0;
};
this.wasSuccessfull = function () {
return this.successCount != 0 && this.failuresCount == 0 && this.errorsCount == 0;
};
this.hasFailed = function () {
return this.failuresCount != 0 || this.errorsCount != 0;
};
this.register = function (exc, suc, fai, err, initialTics) {
if ($(this.displayId)) {
this.totalTics = initialTics;
this.successCount += suc;
this.failuresCount += fai;
this.errorsCount += err + (exc ? 1 : 0);
if (suc != 0 && !exc && fai == 0 && err == 0) {
this.addSuccess();
return;
}
if (exc || fai != 0 || err != 0) {
this.addFailure();
return;
}
this.draw();
}
};
this.unregister = function (exc, suc, fai, err) {
if ($(this.displayId)) {
this.successCount -= suc;
this.failuresCount -= fai;
this.errorsCount -= err + (exc ? 1 : 0);
if (suc != 0 && !exc && fai == 0 && err == 0) {
this.removeSuccess();
return;
}
if (exc || fai != 0 || err != 0) {
this.removeFailure();
return;
}
this.draw();
}
};
this.reset = function (draw) {
if ($(this.displayId)) {
this.totalTics = 0;
this.success = 0;
this.failures = 0;
this.successCount = 0;
this.failuresCount = 0;
this.errorsCount = 0;
if (draw)this.draw();
}
};
this.addSuccess = function () {
if (this.success <= this.totalTics) {
this.success++;
}
this.draw();
};
this.addFailure = function () {
if (this.failures <= this.totalTics) {
this.failures++;
}
this.draw();
};
this.removeSuccess = function () {
if (this.success > 0) {
this.success--;
}
this.draw();
};
this.removeFailure = function () {
if (this.failures) {
this.failures--;
}
this.draw();
};
this.draw = function () {
switch (this.view) {
case GIF_VIEW :
this.drawGifBar();
break;
case NUM_VIEW :
this.drawDetailedBar();
break;
default :
this.drawBar();
}
};
this.drawGifBar = function () {
this.view = GIF_VIEW;
var inHTML = "";
var limit = this.totalTics - this.success - this.failures;
if (limit < 0) {
this.totalTics = this.success + this.failures;
}
for (var i = 0; i < this.success; i++) {
inHTML = inHTML + "![](\"")
";
}
for (var j = 0; j < this.failures; j++) {
inHTML = inHTML + "![](\"")
";
}
for (var z = 0; z < limit; z++) {
inHTML = inHTML + "![](\"")
";
}
GP.View.write(this.displayId, inHTML + '
');
};
this.drawBar = function () {
this.view = BAR_VIEW;
var inHTML = "";
var limit = this.totalTics - this.success - this.failures;
if (limit < 0) {
this.totalTics = this.success + this.failures;
}
for (var i = 0; i < this.success; i++) {
inHTML = inHTML + " ";
}
for (var j = 0; j < this.failures; j++) {
inHTML = inHTML + " ";
}
for (var z = 0; z < limit; z++) {
inHTML = inHTML + " ";
}
GP.View.write(this.displayId, inHTML + '
');
};
this.drawDetailedBar = function () {
this.view = NUM_VIEW;
var inHTML = "";
inHTML += "";
inHTML += "Rights: ";
inHTML += "" + this.successCount + " ";
inHTML += " ";
inHTML += "";
inHTML += "Wrongs: ";
inHTML += "" + this.failuresCount + " ";
inHTML += " ";
inHTML += "";
inHTML += "Errors: ";
inHTML += "" + this.errorsCount + "";
inHTML += " ";
GP.View.write(this.displayId, inHTML + '
');
};
this.getBgColor = function () {
if (this.wasIgnored()) return "#F8F8F8";
if (this.wasSuccessfull()) return "#aaffaa";
if (this.hasFailed()) return "#ffcccc";
}
this.getBorderColor = function () {
if (this.wasIgnored()) return "#bbb";
if (this.wasSuccessfull()) return "#339999";
if (this.hasFailed()) return "#cc0000";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy