diff options
author | Matěj Cepl <mcepl@redhat.com> | 2010-09-27 23:46:21 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2010-09-27 23:46:21 +0200 |
commit | c14ca2331d1bea1e4122e59f871c71cc82aea538 (patch) | |
tree | 220c38755c4d00381241e1daee0abc336250341d /lib/bzpage.js | |
parent | 6db2218d0fa9a002a4222a37a2fbf205546bff27 (diff) | |
download | bugzilla-triage-c14ca2331d1bea1e4122e59f871c71cc82aea538.tar.gz |
All button-links in the top row is generated by createDeadLink
Diffstat (limited to 'lib/bzpage.js')
-rw-r--r-- | lib/bzpage.js | 67 |
1 files changed, 30 insertions, 37 deletions
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 <br> 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<a href='' id='generateTSButton'>" - + "Generate TS</a>"; - 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<a href='' id='clearLogs'>" - + "Clear TS</a>"; - 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<a href='' id='importTSButton'>" - + "Import TS</a>"; - 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"; |