diff --git a/web/editor.js b/web/editor.js
index 01247326d..19541521d 100644
--- a/web/editor.js
+++ b/web/editor.js
@@ -12,23 +12,23 @@ String.prototype.format = function () {
function setFGButton(col) {
$("#forecolor")[0].style.backgroundColor = col;
-};
+}
function saveNow() {
clearChangeTimer();
if (currentField) {
currentField.blur();
}
-};
+}
function onKey() {
// esc clears focus, allowing dialog to close
- if (window.event.which == 27) {
+ if (window.event.which === 27) {
currentField.blur();
return;
}
// catch enter key in prewrap mode
- if (window.event.which == 13 && prewrapMode) {
+ if (window.event.which === 13 && prewrapMode) {
window.event.preventDefault();
insertNewline();
return;
@@ -38,7 +38,7 @@ function onKey() {
updateButtonState();
saveField("key");
}, 600);
-};
+}
function insertNewline() {
if (!inPreEnvironment()) {
@@ -60,7 +60,7 @@ function insertNewline() {
var oldHeight = currentField.clientHeight;
setFormat("inserthtml", "\\n");
- if (currentField.clientHeight == oldHeight) {
+ if (currentField.clientHeight === oldHeight) {
setFormat("inserthtml", "\\n");
}
}
@@ -68,17 +68,17 @@ function insertNewline() {
// is the cursor in an environment that respects whitespace?
function inPreEnvironment() {
var n = window.getSelection().anchorNode;
- if (n.nodeType == 3) {
+ if (n.nodeType === 3) {
n = n.parentNode;
}
return window.getComputedStyle(n).whiteSpace.startsWith("pre");
}
function checkForEmptyField() {
- if (currentField.innerHTML == "") {
+ if (currentField.innerHTML === "") {
currentField.innerHTML = "
";
}
-};
+}
function updateButtonState() {
var buts = ["bold", "italic", "underline", "superscript", "subscript"];
@@ -93,7 +93,7 @@ function updateButtonState() {
// fixme: forecolor
// 'col': document.queryCommandValue("forecolor")
-};
+}
function toggleEditorButton(buttonid) {
if ($(buttonid).hasClass("highlighted")) {
@@ -101,7 +101,7 @@ function toggleEditorButton(buttonid) {
} else {
$(buttonid).addClass("highlighted");
}
-};
+}
function setFormat(cmd, arg, nosave) {
document.execCommand(cmd, false, arg);
@@ -109,14 +109,14 @@ function setFormat(cmd, arg, nosave) {
saveField('key');
updateButtonState();
}
-};
+}
function clearChangeTimer() {
if (changeTimer) {
clearTimeout(changeTimer);
changeTimer = null;
}
-};
+}
function onFocus(elem) {
currentField = elem;
@@ -160,13 +160,13 @@ function onPaste(elem) {
}
function caretToEnd() {
- var r = document.createRange()
+ var r = document.createRange();
r.selectNodeContents(currentField);
r.collapse(false);
var s = document.getSelection();
s.removeAllRanges();
s.addRange(r);
-};
+}
function onBlur() {
if (currentField) {
@@ -174,7 +174,7 @@ function onBlur() {
}
clearChangeTimer();
disableButtons();
-};
+}
function saveField(type) {
if (!currentField) {
@@ -184,39 +184,39 @@ function saveField(type) {
// type is either 'blur' or 'key'
pycmd(type + ":" + currentField.innerHTML);
clearChangeTimer();
-};
+}
function wrappedExceptForWhitespace(text, front, back) {
var match = text.match(/^(\s*)([^]*?)(\s*)$/);
return match[1] + front + match[2] + back + match[3];
-};
+}
function disableButtons() {
$("button.linkb").prop("disabled", true);
-};
+}
function enableButtons() {
$("button.linkb").prop("disabled", false);
-};
+}
// disable the buttons if a field is not currently focused
function maybeDisableButtons() {
- if (!document.activeElement || document.activeElement.className != "field") {
+ if (!document.activeElement || document.activeElement.className !== "field") {
disableButtons();
} else {
enableButtons();
}
-};
+}
function wrap(front, back) {
- if (currentField.dir == "rtl") {
+ if (currentField.dir === "rtl") {
front = "" + front + "";
back = "" + back + "";
}
var s = window.getSelection();
var r = s.getRangeAt(0);
var content = r.cloneContents();
- var span = document.createElement("span")
+ var span = document.createElement("span");
span.appendChild(content);
var new_ = wrappedExceptForWhitespace(span.innerHTML, front, back);
setFormat("inserthtml", new_);
@@ -228,7 +228,7 @@ function wrap(front, back) {
s.removeAllRanges();
s.addRange(r);
}
-};
+}
function setFields(fields, focusTo, prewrap) {
var txt = "";
@@ -257,7 +257,7 @@ function setFields(fields, focusTo, prewrap) {
if (prewrap) {
$(".field").addClass("prewrap");
}
-};
+}
function setBackgrounds(cols) {
for (var i = 0; i < cols.length; i++) {
@@ -267,9 +267,10 @@ function setBackgrounds(cols) {
function setFonts(fonts) {
for (var i = 0; i < fonts.length; i++) {
- $("#f" + i).css("font-family", fonts[i][0]);
- $("#f" + i).css("font-size", fonts[i][1]);
- $("#f" + i)[0].dir = fonts[i][2] ? "rtl" : "ltr";
+ var n = $("#f" + i);
+ n.css("font-family", fonts[i][0])
+ .css("font-size", fonts[i][1]);
+ n[0].dir = fonts[i][2] ? "rtl" : "ltr";
}
}
@@ -316,7 +317,7 @@ allowedTags["IMG"] = {"attrs": ["SRC"]};
var blockRegex = /^(address|blockquote|br|center|div|dl|h[1-6]|hr|ol|p|pre|table|ul|dd|dt|li|tbody|td|tfoot|th|thead|tr)$/i;
function isBlockLevel(n) {
return blockRegex.test(n.nodeName);
-};
+}
function isInlineElement(n) {
return n && !isBlockLevel(n);
@@ -334,11 +335,11 @@ function convertDivToNewline(node, isParagraph) {
html += "\\n";
}
node.outerHTML = html;
-};
+}
var filterNode = function (node) {
// text node?
- if (node.nodeType == 3) {
+ if (node.nodeType === 3) {
if (prewrapMode) {
// collapse standard whitespace
var val = node.nodeValue.replace(/^[ \\r\\n\\t]+$/g, " ");
@@ -355,14 +356,15 @@ var filterNode = function (node) {
// elements due to node modifications otherwise
var nodes = [];
- for (var i = 0; i < node.childNodes.length; i++) {
+ var i;
+ for (i = 0; i < node.childNodes.length; i++) {
nodes.push(node.childNodes[i]);
}
- for (var i = 0; i < nodes.length; i++) {
+ for (i = 0; i < nodes.length; i++) {
filterNode(nodes[i]);
}
- if (node.tagName == "ANKITOP") {
+ if (node.tagName === "ANKITOP") {
return;
}
@@ -373,23 +375,23 @@ var filterNode = function (node) {
} else {
node.outerHTML = node.innerHTML;
}
- } else if (prewrapMode && node.tagName == "BR") {
+ } else if (prewrapMode && node.tagName === "BR") {
node.outerHTML = "\\n";
- } else if (prewrapMode && node.tagName == "DIV") {
+ } else if (prewrapMode && node.tagName === "DIV") {
convertBlockToNewline(node, false);
- } else if (prewrapMode && node.tagName == "P") {
+ } else if (prewrapMode && node.tagName === "P") {
convertBlockToNewline(node, true);
} else {
// allowed, filter out attributes
var toRemove = [];
- for (var i = 0; i < node.attributes.length; i++) {
+ for (i = 0; i < node.attributes.length; i++) {
var attr = node.attributes[i];
var attrName = attr.name.toUpperCase();
- if (tag.attrs.indexOf(attrName) == -1) {
+ if (tag.attrs.indexOf(attrName) === -1) {
toRemove.push(attr);
}
}
- for (var i = 0; i < toRemove.length; i++) {
+ for (i = 0; i < toRemove.length; i++) {
node.removeAttributeNode(toRemove[i]);
}
}
@@ -400,25 +402,25 @@ var mouseDown = 0;
$(function () {
document.body.onmousedown = function () {
mouseDown++;
- }
+ };
document.body.onmouseup = function () {
mouseDown--;
- }
+ };
document.onclick = function (evt) {
var src = window.event.srcElement;
- if (src.tagName == "IMG") {
+ if (src.tagName === "IMG") {
// image clicked; find contenteditable parent
var p = src;
while (p = p.parentNode) {
- if (p.className == "field") {
+ if (p.className === "field") {
$("#" + p.id).focus();
break;
}
}
}
- }
+ };
// prevent editor buttons from taking focus
$("button.linkb").on("mousedown", function (e) {
diff --git a/web/reviewer-bottom.js b/web/reviewer-bottom.js
index 2028fc3d2..edc7ec090 100644
--- a/web/reviewer-bottom.js
+++ b/web/reviewer-bottom.js
@@ -11,8 +11,9 @@ $(function () {
});
var updateTime = function () {
+ var timeNode = $("#time");
if (!maxTime) {
- $("#time").text("");
+ timeNode.text("");
return;
}
time = Math.min(maxTime, time);
@@ -21,13 +22,12 @@ var updateTime = function () {
if (s < 10) {
s = "0" + s;
}
- var e = $("#time");
- if (maxTime == time) {
- e.html("" + m + ":" + s + "");
+ if (maxTime === time) {
+ timeNode.html("" + m + ":" + s + "");
} else {
- e.text(m + ":" + s);
+ timeNode.text(m + ":" + s);
}
-}
+};
function showQuestion(txt, maxTime_) {
// much faster than jquery's .html()
diff --git a/web/reviewer.js b/web/reviewer.js
index 2909d5f2d..1f8962ac6 100644
--- a/web/reviewer.js
+++ b/web/reviewer.js
@@ -20,7 +20,7 @@ function _updateQA(q, answerMode, klass) {
// don't allow drags of images, which cause them to be deleted
$("img").attr("draggable", false);
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
-};
+}
function _toggleStar(show) {
if (show) {