aboutsummaryrefslogtreecommitdiffstats
path: root/data/lib/jumpNextBug.js
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@redhat.com>2011-04-07 19:40:24 +0200
committerMatěj Cepl <mcepl@redhat.com>2011-04-07 19:43:47 +0200
commit9329241b641ff988352d6ba233a888aef1a46f10 (patch)
tree142d43db06bde0caadbf141aa039c9c5eb9e5d06 /data/lib/jumpNextBug.js
parentf4d66a230ba660da1471adf0b3de2c713ad74e46 (diff)
downloadbugzilla-triage-9329241b641ff988352d6ba233a888aef1a46f10.tar.gz
Don't create new elements, just add relational <link>s.
Diffstat (limited to 'data/lib/jumpNextBug.js')
-rw-r--r--data/lib/jumpNextBug.js56
1 files changed, 44 insertions, 12 deletions
diff --git a/data/lib/jumpNextBug.js b/data/lib/jumpNextBug.js
index af0ff39..2e097a3 100644
--- a/data/lib/jumpNextBug.js
+++ b/data/lib/jumpNextBug.js
@@ -1,15 +1,47 @@
// Released under the MIT/X11 license
// http://www.opensource.org/licenses/mit-license.php
"use strict";
-var nextElement = {};
-var nextRE = new RegExp("Next");
-
-var aNavigElements = document.querySelectorAll("#bugzilla-body .navigation a");
-var filteredElements = Array.filter(aNavigElements, function(elem) {
- return nextRE.test(elem.textContent);
-});
-if (filteredElements.length > 0) {
- nextElement = filteredElements[0];
- nextElement.setAttribute("accesskey", "n");
- nextElement.innerHTML = "<u>N</u>ext";
-}
+
+(function createRelationElements() {
+ var relation = {};
+ var linkLabels = ["First", "Last", "Prev", "Next"];
+ var labelToRelation = {
+ "First": {
+ rel: "start"
+ },
+ "Last": {
+ rel: "last"
+ },
+ "Prev": {
+ rel: "prev"
+ },
+ "Next": {
+ rel: "next"
+ }
+ };
+
+ function createLinkRel (rel, href) {
+ var newLinkElement = document.createElement("link");
+ newLinkElement.setAttribute("rel", rel);
+ newLinkElement.setAttribute("href", href);
+ document.getElementsByTagName("head")[0].
+ appendChild(newLinkElement);
+ }
+
+ var aNavigElements = document.querySelectorAll("#bugzilla-body .navigation a");
+ Array.forEach(aNavigElements, function(elem) {
+ var labelText = elem.textContent.trim();
+ if (isInList(labelText, linkLabels)) {
+ labelToRelation[labelText].href = elem.getAttribute("href");
+ };
+ });
+
+ for (var key in labelToRelation) {
+ if (labelToRelation.hasOwnProperty(key)) {
+ relation = labelToRelation[key];
+ if (relation.href) {
+ createLinkRel(relation.rel, relation.href);
+ }
+ }
+ }
+})();