From c14ca2331d1bea1e4122e59f871c71cc82aea538 Mon Sep 17 00:00:00 2001 From: Matěj Cepl Date: Mon, 27 Sep 2010 23:46:21 +0200 Subject: All button-links in the top row is generated by createDeadLink --- lib/bzpage.js | 67 ++++++++++++++++++++++++++--------------------------------- 1 file changed, 30 insertions(+), 37 deletions(-) (limited to 'lib/bzpage.js') diff --git a/lib/bzpage.js b/lib/bzpage.js index 537a3f6..b8c38b8 100644 --- a/lib/bzpage.js +++ b/lib/bzpage.js @@ -415,9 +415,18 @@ BZPage.prototype.addToCommentsDropdown = function addToCommentsDropdown (pkg, cm * @param Boolean breakBefore if there should be a
element before. * @return none */ -BZPage.prototype.createDeadLink = function createDeadLink (id, text, parent, callback, params, breakBefore, accesskey) { +BZPage.prototype.createDeadLink = function createDeadLink (id, text, parent, callback, params, before, covered, accesskey) { var that = this; params = util.valToArray(params); + var locParent = {}; + + // Yes, I want != here, not !== + if (covered != null) { + locParent = this.doc.createElement(covered); + parent.appendChild(locParent); + } else { + locParent = parent; + } var newAElem = this.doc.createElement("a"); newAElem.setAttribute("id", id); @@ -433,10 +442,13 @@ BZPage.prototype.createDeadLink = function createDeadLink (id, text, parent, cal evt.preventDefault(); }, false); - if (breakBefore) { - parent.appendChild(this.doc.createElement("br")); + if ((before === "br") || (before === true)) { + locParent.appendChild(this.doc.createElement("br")); + } else if (before === "dash") { + locParent.appendChild(this.doc.createTextNode("\u00A0-\u00A0")); } - parent.appendChild(newAElem); + + locParent.appendChild(newAElem); }; @@ -935,44 +947,25 @@ BZPage.prototype.setUpLogging = function setUpLogging () { this.submitHandlerInstalled = true; } - var generateTimeSheetUI = this.doc.createElement("li"); - generateTimeSheetUI.innerHTML = "\u00A0-\u00A0" - + "Generate TS"; - additionalButtons.appendChild(generateTimeSheetUI); - this.doc.getElementById("generateTSButton").addEventListener( - "click", - function(evt) { + // (id, text, parent, callback, params, before, covered, accesskey) + this.createDeadLink("generateTSButton", "Generate TS", additionalButtons, + function(evt) { that.log.createBlankPage.call(that.log, "TimeSheet", that.log.generateTimeSheet); - evt.stopPropagation(); - evt.preventDefault(); - }, false); + }, [], "dash", "li"); - var clearLogsUI = this.doc.createElement("li"); - clearLogsUI.innerHTML = "\u00A0-\u00A0" - + "Clear TS"; - additionalButtons.appendChild(clearLogsUI); - var clearLogAElem = this.doc.getElementById("clearLogs"); - clearLogAElem.addEventListener("click", function(evt) { - that.log.clearStore(this); - console.log("this.store wiped out!"); - evt.stopPropagation(); - evt.preventDefault(); - }, false); + this.createDeadLink("clearLogs", "Clear TS", additionalButtons, + function(evt) { + that.log.clearStore(this); + }, [], "dash", "li"); - var ImportTimeSheetUI = this.doc.createElement("li"); - ImportTimeSheetUI.innerHTML = "\u00A0-\u00A0" - + "Import TS"; - additionalButtons.appendChild(ImportTimeSheetUI); - this.doc.getElementById("importTSButton").addEventListener( - "click", - function(evt) { - jsonPaths = prompts.promptFileOpenPicker(that.win); - that.log.importOtherStore(jsonPaths, clearLogAElem); - evt.stopPropagation(); - evt.preventDefault(); - }, false); + this.createDeadLink("importTSButton", "Import TS", additionalButtons, + function(evt) { + jsonPaths = prompts.promptFileOpenPicker(that.win); + that.log.importOtherStore(jsonPaths, clearLogAElem); + }, [], "dash", "li"); + var clearLogAElem = this.doc.getElementById("clearLogs"); if (this.log.isEmpty()) { clearLogAElem.style.color = this.log.EmptyLogsColor; clearLogAElem.style.fontWeight = "normal"; -- cgit