aboutsummaryrefslogtreecommitdiffstats
path: root/data/lib/bzpage.js
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@redhat.com>2011-05-07 00:53:06 +0200
committerMatěj Cepl <mcepl@redhat.com>2011-06-05 14:53:46 +0200
commit8e501abd49e5aeac70a84ceef96a72b5078df221 (patch)
tree2cb8df170588aaee5872b752d11d6a6c39a766cc /data/lib/bzpage.js
parent59d6e1bf4e439febbc40c15486303e12febb7e42 (diff)
downloadbugzilla-triage-8e501abd49e5aeac70a84ceef96a72b5078df221.tar.gz
Another massive cleanup and simplification of tweak scripts.
bugs on bugzilla.mozilla.org now work as well, although the history is still not shown inline, which remains for 1.1. Fixes #88
Diffstat (limited to 'data/lib/bzpage.js')
-rw-r--r--data/lib/bzpage.js53
1 files changed, 12 insertions, 41 deletions
diff --git a/data/lib/bzpage.js b/data/lib/bzpage.js
index e34f38d..35f993c 100644
--- a/data/lib/bzpage.js
+++ b/data/lib/bzpage.js
@@ -36,6 +36,7 @@ self.on('message', function onMessage(msg) {
equivalentComponents = ("equivalentComponents" in constantData) ?
constantData.equivalentComponents : null;
generateButtons(msg.data.instPkgs, msg.data.kNodes);
+ completeInit();
break;
case "Error":
alert("Error " + msg.data);
@@ -310,16 +311,6 @@ function generateButtons (pkgs, kNodes) {
}
}
}
- // TODO This is weird in this place, but that's the place where all
- // constantData etc.
- // are finally defined and available.
- if (RHBZinit) {
- RHBZinit();
- }
-
- if (tweakBugzilla) {
- tweakBugzilla(document, constantData);
- }
}
function setConfigurationButton () {
@@ -360,45 +351,25 @@ function getOptionTableCell(tableId, label) {
return null;
}
+
/**
- * Parse the row with the attachment
- *
- * @param DOM
- * element to be parsed
- * @return array with string name of the attachment, integer its id number,
- * string of MIME type, integer of size in kilobytes, and the whole
- * element itself
+ * Complete startup, mainly run alternate inits for non-standard BZ
+ * with proper arguments
*
- * TODO error handling is missing ... it's bleee
*/
-function parseAttachmentLine(inElem) {
- var MIMEtype = "";
- var size = 0;
+function completeInit() {
+ var attachments = getAttachments();
- // Skip over obsolete attachments
- if (inElem.getElementsByClassName("bz_obsolete").length > 0) {
- return ([]);
+ if (RHBZinit) {
+ RHBZinit(attachments);
}
- // getting name of the attachment
- var attName = inElem.getElementsByTagName("b")[0].textContent.trim();
-
- // TODO probably could use url.URL object
- var aHrefsArr = inElem.getElementsByTagName("a");
- var aHref = Array.filter(aHrefsArr, function(x) {
- return x.textContent.trim() === "Details";
- })[0];
- var id = parseURL(aHref.getAttribute("href")).params.id;
-
- // getting MIME type and size
- var stringArray = inElem.getElementsByClassName("bz_attach_extra_info")[0].textContent.
- replace(/[\n ()]+/g, " ").trim().split(", ");
- size = parseInt(stringArray[0], 10);
- MIMEtype = stringArray[1].split(" ")[0];
-
- return [ attName, id, MIMEtype, size, inElem ];
+ if (tweakBugzilla) {
+ tweakBugzilla(attachments, constantData);
+ }
}
+
function startup() {
// First, preflight check ... if we are not logged in, there
// is nothing we can do.