aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--data/lib/bzpage.js7
-rw-r--r--data/lib/queries.js17
2 files changed, 16 insertions, 8 deletions
diff --git a/data/lib/bzpage.js b/data/lib/bzpage.js
index d3250ba..87030e4 100644
--- a/data/lib/bzpage.js
+++ b/data/lib/bzpage.js
@@ -16,7 +16,8 @@ var ReporterColor = new Color(255, 255, 166); // RGB 255, 255, 166; HSL 60, 2,
// global variables
var config = {};
var constantData = {}; // This should be probably eliminated ASAP or
- // or done by other means. TODO
+ // or done by other means. TODO
+var equivalentComponents = null;
/**
* central handler processing messages from the main script.
*/
@@ -27,11 +28,13 @@ onMessage = function onMessage(msg) {
document.location.reload(true);
break;
case "queryLocal":
- queryInNewTab(msg.data, getComponent(), getProduct());
+ queryInNewTab(msg.data, getComponent(), getProduct(), equivalentComponents);
break;
case "CreateButtons":
constantData = msg.data.constData;
config = msg.data.config;
+ equivalentComponents = ("equivalentComponents" in constantData) ?
+ constantData.equivalentComponents : null;
generateButtons(msg.data.instPkgs, msg.data.kNodes);
break;
case "Error":
diff --git a/data/lib/queries.js b/data/lib/queries.js
index b43b616..b6e3661 100644
--- a/data/lib/queries.js
+++ b/data/lib/queries.js
@@ -22,16 +22,16 @@ function getSelection () {
* @return None
*
*/
-function queryInNewTab(text, component, product) {
+function queryInNewTab(text, component, product, equivComps) {
var urlStr = "https://" + window.location.hostname + "/buglist.cgi?query_format=advanced";
if (product) {
urlStr += "&product=" + product.trim();
}
if (component) {
- if ("equivalentComponents" in constantData) {
- var equivCompsArr = constantData.equivalentComponents.
+ if (equivComps) {
+ var equivCompsArr = equivComps.
filter(function (REstr) {
- return new RegExp(REstr).test(getComponent());
+ return new RegExp(REstr).test(component);
}, this);
if (equivCompsArr.length > 0) {
component = equivCompsArr[0];
@@ -52,7 +52,7 @@ function queryInNewTab(text, component, product) {
+ "&field0-0-2=status_whiteboard&type0-0-2=substring&value0-0-2="
+ text;
urlStr += searchText;
- postMessage(new Message("OpenURLinTab", urlStr));
+ postMessage(new Message("OpenURLinTab", urlStr)); // utils.js is always avaiulable
}
}
@@ -65,6 +65,11 @@ function queryForSelection() {
if (!text) {
postMessage(new Message("GetClipboard", "queryLocal"));
} else {
- queryInNewTab(text, getComponent(), getProduct());
+ if (equivalentComponents) {
+ queryInNewTab(text, getComponent(), getProduct(), equivalentComponents);
+ }
+ else {
+ queryInNewTab(text, getComponent(), getProduct());
+ }
}
}