aboutsummaryrefslogtreecommitdiffstats
path: root/data/lib/bzpage.js
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@redhat.com>2011-03-25 16:23:51 +0100
committerMatěj Cepl <mcepl@redhat.com>2011-06-05 14:44:00 +0200
commit470e0d853724feb51a991e9e8b867e366c8519ae (patch)
treeb74910c57356601cb8735de030686334cad49917 /data/lib/bzpage.js
parent3c3860cd080dec5a71ae6c3c7bc3438fa8875d94 (diff)
downloadbugzilla-triage-470e0d853724feb51a991e9e8b867e366c8519ae.tar.gz
Cut out general bugzilla functions to a special module.
Diffstat (limited to 'data/lib/bzpage.js')
-rw-r--r--data/lib/bzpage.js345
1 files changed, 0 insertions, 345 deletions
diff --git a/data/lib/bzpage.js b/data/lib/bzpage.js
index 87030e4..d65c232 100644
--- a/data/lib/bzpage.js
+++ b/data/lib/bzpage.js
@@ -179,30 +179,6 @@ function centralCommandDispatch (cmdLabel, cmdParams) {
}
/**
- * remove elements from the page based on their IDs
- *
- * @param doc Document object
- * @param target String/Array with ID(s)
- * @param remove Boolean indicating whether the node should be
- * actually removed or just hidden.
- * @return none
- * TODO remove parameter could be replaced by function which would
- * do actual activity.
- */
-function killNodes(doc, target, remove) {
- var targetArr = target instanceof Array ? target : target.trim().split(/[,\s]+/);
- targetArr.forEach(function(x) {
- if (remove) {
- var targetNode = doc.getElementById(x);
- targetNode.parentNode.removeChild(targetNode);
- }
- else {
- x.style.display = "none";
- }
- });
-}
-
-/**
* Change assignee of the bug
*
* @param newAssignee String with the email address of new assigneeAElement
@@ -280,63 +256,6 @@ function addToCommentsDropdown (cmdObj) {
}
/**
- * Generic function to add new button to the page. Actually copies new button
- * from the old one (in order to have the same look-and-feel, etc.
- *
- * @param location Object around which the new button will be added
- * @param after Boolean before or after location ?
- * @param pkg String which package to take the command from
- * @param id String which command to take
- * @return none
- */
-function createNewButton (location, after, cmdObj) {
- try {
- var newId = cmdObj.name.toLowerCase().replace(/[^a-z0-9]+/,"","g") + "_btn";
- } catch (e) {
- console.error("createNewButton : e = " + e +
- "\ncreateNewButton : cmdObj.toSource() = " +
- cmdObj.toSource());
- }
-
- // protection against double-firings
- if (document.getElementById(newId)) {
- console.log("Element with id " + newId + " already exists!");
- return ;
- }
-
- var newButton = document.createElement("input");
- newButton.setAttribute("id", newId);
- newButton.setAttribute("type", "button");
- newButton.value = cmdObj.name;
- newButton.addEventListener("click", function(evt) {
- executeCommand(cmdObj);
- }, false);
-
- var originalLocation = document.getElementById(location);
-
- try {
- if (after) {
- originalLocation.parentNode.insertBefore(newButton,
- originalLocation.nextSibling);
- originalLocation.parentNode.insertBefore(document
- .createTextNode("\u00A0"), newButton);
- }
- else {
- originalLocation.parentNode.insertBefore(newButton, originalLocation);
- originalLocation.parentNode.insertBefore(document
- .createTextNode("\u00A0"), originalLocation);
- }
- } catch (e) {
- if (e instanceof TypeError) {
- console.error("cannot find originalLocation element with id " + location);
- }
- else {
- throw e;
- }
- }
-}
-
-/**
* Generate button based on
*/
function generateButtons (pkgs, kNodes) {
@@ -406,54 +325,6 @@ function setConfigurationButton () {
}
/**
- * Get the current title of the bug
- *
- * @return string
- */
-function getSummary() {
- return document.getElementById("short_desc_nonedit_display").textContent;
-}
-
-/**
- * Get the current email of the reporter of the bug.
- *
- * @return string
- */
-function getReporter () {
- var reporterElement = getOptionTableCell("bz_show_bug_column_2", "Reported");
- // RH Bugzilla after upgrade to 3.6.2 moved the information to other column
- if (!reporterElement) {
- reporterElement = getOptionTableCell("bz_show_bug_column_1", "Reported", true);
- }
- // Maemo calls the label "Reporter" and it doesn't have ids on table columns ... TODO(maemo)
- return parseMailto(reporterElement);
-}
-
-function getComponent() {
- var elem = document.getElementById("component");
- if (elem) {
- return elem.value;
- }
- return null;
-}
-
-function getProduct() {
- var elem = document.getElementById("product");
- if (elem) {
- return elem.value;
- }
- return null;
-}
-
-function commentsWalker (fce) {
- var comments = document.getElementById("comments").
- getElementsByClassName("bz_comment");
- Array.forEach(comments, function(item) {
- fce(item);
- });
-}
-
-/**
* Set background color of all comments made by reporter in ReporterColor color
*
*/
@@ -476,122 +347,6 @@ function collectComments () {
return outStr.trim();
}
-
-/**
- * Select option with given value on the <SELECT> element with given id.
- *
- * Also execute change HTMLEvent, so that the form behaves accordingly.
- *
- * @param id
- * @param label
- * @return none
- *
- */
-function selectOption (id, label, fireEvent) {
- if (!fireEvent) {
- fireEvent = true;
- }
- var sel = document.getElementById(id);
- sel.value = label;
- if (fireEvent) {
- var intEvent = document.createEvent("HTMLEvents");
- intEvent.initEvent("change", true, true);
- sel.dispatchEvent(intEvent);
- }
-}
-
-function selectOptionByLabel(id, label, fireEvent) {
- if (!fireEvent) {
- fireEvent = true;
- }
- var sel = document.getElementById(id);
- var labelRE = new RegExp(label.trim());
- var ourOption = Array.filter(sel.options, function (op) {
- return op.textContent.trim() === label;
- });
-
- if (ourOption[0]) {
- sel.value = ourOption[0].value;
- }
-
- if (fireEvent) {
- var intEvent = document.createEvent("HTMLEvents");
- intEvent.initEvent("change", true, true);
- sel.dispatchEvent(intEvent);
- }
-}
-
-/**
- * Send mouse click to the specified element
- *
- * @param String ID of the element to send mouseclick to
- * @return None
- */
-function clickMouse (targetID) {
- var localEvent = document.createEvent("MouseEvents");
- localEvent.initMouseEvent("click", true, true, document.defaultView, 0, 0,
- 0, 0, 0, false, false, false, false, 0, null);
- document.getElementById(targetID).dispatchEvent(localEvent);
-}
-
-/**
- * Add object to the text box (comment box or status whiteboard)
- *
- * @param id String with the id of the element
- * @param stuff String/Array to be added to the comment box
- *
- * @return none
- */
-function addStuffToTextBox (id, stuff) {
- var textBox = document.getElementById(id);
- if (textBox.tagName.toLowerCase() === "textarea") {
- stuff = textBox.value ? "\n\n" + stuff : stuff;
- textBox.value += stuff;
- }
- else {
- textBox.value = addCSVValue(textBox.value,stuff);
- }
-}
-
-/**
- * Remove a keyword from the element if it is there
- *
- * @param id String with the id of the element
- * @param stuff String/Array with keyword(s) to be removed
- */
-function removeStuffFromTextBox (id, stuff) {
- var changedElement = document.getElementById(id);
- changedElement.value = removeCSVValue(changedElement.value,stuff);
-}
-
-/**
- * generalized hasKeyword ... search in the value of the box with given id
- *
- * @param id String with ID of the element we want to check
- * @param str String to be searched for
- * @return Boolean found?
- */
-function idContainsWord (id, str) {
- var kwd = "";
- try {
- kwd = document.getElementById(id).value;
- } catch (e) {
- // For those who don't have particular element at all or if it is empty
- return false;
- }
- return (isInList(str, kwd.trim().split(/[,\s]+/)));
-}
-
-/**
- * Check for the presence of a keyword
- *
- * @param str String with the keyword
- * @return Boolean
- */
-function hasKeyword (str) {
- return (idContainsWord('keywords', str));
-}
-
/**
* dd
*
@@ -616,39 +371,6 @@ function getOptionTableCell(tableId, label) {
}
/**
- * Set the bug to NEEDINFO state
- *
- * Working function.
- * @return none
- * @todo TODO we may extend this to general setNeedinfo function
- * with parameter [reporter|assignee|general-email-address]
- */
-function setNeedinfoReporter () {
- clickMouse("needinfo");
- selectOption("needinfo_role", "reporter");
-}
-
-/**
- *
- */
-function getOwner () {
- // TODO(maemo) doesn't work on maemo
- var assigneeAElement = getOptionTableCell("bz_show_bug_column_1","Assigned To");
- return parseMailto(assigneeAElement);
-}
-
-/**
- * Return maintainer which is per default by bugzilla
- * (which is not necessarily the one who is default maintainer per component)
- *
- * @return String with the maintainer's email address
- */
-function getDefaultBugzillaMaintainer (component) {
- var address = filterByRegexp(constantData.defBugzillaMaintainerArr, component);
- return address;
-}
-
-/**
* Parse the row with the attachment
*
* @param DOM element to be parsed
@@ -686,73 +408,6 @@ function parseAttachmentLine(inElem) {
return [ attName, id, MIMEtype, size, inElem ];
}
-/**
- * collect the list of attachments in a structured format
- *
- * @return Array of arrays, one for each attachments;
- * each record has string name of the attachment, integer its id number,
- * string of MIME type, integer of size in kilobytes, and the whole
- * element itself
- */
-function getAttachments () {
- var outAtts = [];
- var atts = document.getElementById("attachment_table").
- getElementsByTagName("tr");
- for ( var i = 1, ii = atts.length - 1; i < ii; i++) {
- outAtts.push(parseAttachmentLine(atts[i]));
- }
- return outAtts;
-}
-
-/**
- * Get login of the currently logged-in user.
- *
- * @return String with the login name of the currently logged-in user
- */
-function getLogin () {
- var lastLIElement = document.querySelector("#header ul.links li:last-of-type");
- var loginArr = lastLIElement.textContent.split("\n");
- var loginStr = loginArr[loginArr.length - 1].trim();
- return loginStr;
-}
-
-/**
- * adds a person to the CC list, if it isn't already there
- *
- * @param who String with email address or "self" if the current user
- * of the bugzilla should be added
- */
-function addToCCList (who) {
- if (!who) {
- return ;
- }
- if (who === "self") {
- document.getElementById("addselfcc").checked = true;
- }
- else {
- clickMouse("cc_edit_area_showhide");
- if (!isInList(who, getCCList())) {
- addStuffToTextBox("newcc",who);
- }
- }
-}
-
-/**
- * a collect a list of emails on CC list
- *
- * @return Array with email addresses as Strings.
- */
-function getCCList () {
- var CCListSelect = document.getElementById("cc");
- var outCCList = [];
- if (CCListSelect) {
- outCCList = Array.map(CCListSelect.options, function(item) {
- return item.value;
- });
- }
- return outCCList;
-}
-
function startup() {
// First, preflight check ... if we are not logged in, there
// is nothing we can do.