Files
karma/assets/static/counter.js
Łukasz Mierzwa 12832e2c29 Fix quotation mark inconsistencies
jshint tests passing again
2017-04-27 22:52:05 -07:00

77 lines
2.1 KiB
JavaScript

/* globals Favico */ // favico.js
/* exported Counter */
var Counter = (function() {
var selectors = {
counter: "#alert-count",
spinner: "#spinner"
};
var favicon = false;
var setCounter = function(val) {
favicon.badge(val);
Counter.Show();
$(selectors.counter).html(val);
// set alert count css based on the number of alerts
if (val === 0) {
$(selectors.counter).removeClass("text-warning text-danger").addClass("text-success");
document.title = "(◕‿◕)";
} else if (val < 10) {
$(selectors.counter).removeClass("text-success text-danger").addClass("text-warning");
document.title = "(◕_◕)";
} else {
$(selectors.counter).removeClass("text-success text-warning").addClass("text-danger");
document.title = "(◕︵◕)";
}
};
var setUnknown = function() {
favicon.badge("?");
Counter.Show();
$(selectors.counter).html("?");
$(selectors.counter).removeClass("text-success text-warning text-danger");
};
var hide = function() {
$(selectors.counter).hide();
$(selectors.spinner).children().removeClass("spinner-success spinner-error");
$(selectors.spinner).show();
};
var show = function() {
$(selectors.spinner).hide();
$(selectors.counter).show();
};
var markError = function() {
$(selectors.spinner).children().removeClass("spinner-success").addClass("spinner-error");
};
var markSuccess = function() {
$(selectors.spinner).children().addClass("spinner-success");
};
var init = function() {
favicon = new Favico({
animation: "none",
position: "up",
bgColor: "#333",
textColor: "#ff0"
});
Counter.Unknown();
};
return {
Init: init,
Set: setCounter,
Unknown: setUnknown,
Hide: hide,
Show: show,
Error: markError,
Success: markSuccess
};
})();