aboutsummaryrefslogtreecommitdiffstats
path: root/data/lib/jumpNextBug.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/lib/jumpNextBug.js')
-rw-r--r--data/lib/jumpNextBug.js62
1 files changed, 50 insertions, 12 deletions
diff --git a/data/lib/jumpNextBug.js b/data/lib/jumpNextBug.js
index 68e719b..b777fe8 100644
--- a/data/lib/jumpNextBug.js
+++ b/data/lib/jumpNextBug.js
@@ -1,16 +1,54 @@
// 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);
-});
-console.log("filteredElements.length = " + filteredElements.length);
-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");
+ }
+ ;
+ });
+ console.myDebug("labelToRelation = "
+ + labelToRelation.toSource());
+
+ for ( var key in labelToRelation) {
+ if (labelToRelation.hasOwnProperty(key)) {
+ relation = labelToRelation[key];
+ if (relation.href) {
+ createLinkRel(relation.rel, relation.href);
+ }
+ }
+ }
+})();