summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/bug.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/js/bug.js b/js/bug.js
index 8cee68efc..baea5125f 100644
--- a/js/bug.js
+++ b/js/bug.js
@@ -54,6 +54,22 @@ YAHOO.bugzilla.dupTable = {
'bz_default_hidden');
dataTable.getDataSource().sendRequest(post_data, callback);
},
+ // This is the keyup event handler. It calls updateTable with a relatively
+ // long delay, to allow additional input. However, the delay is short
+ // enough that nobody could get from the summary field to the Submit
+ // Bug button before the table is shown (which is important, because
+ // the showing of the table causes the Submit Bug button to move, and
+ // if the table shows at the exact same time as the button is clicked,
+ // the click on the button won't register.)
+ doUpdateTable: function(e, args) {
+ var dt = args[0];
+ var product_name = args[1];
+ var summary = YAHOO.util.Event.getTarget(e);
+ clearTimeout(YAHOO.bugzilla.dupTable.lastTimeout);
+ YAHOO.bugzilla.dupTable.lastTimeout = setTimeout(function() {
+ YAHOO.bugzilla.dupTable.updateTable(dt, product_name, summary) },
+ 600);
+ },
formatBugLink: function(el, oRecord, oColumn, oData) {
el.innerHTML = '<a href="show_bug.cgi?id=' + oData + '">'
+ oData + '</a>';
@@ -107,11 +123,7 @@ YAHOO.bugzilla.dupTable = {
data.options.initialLoad = false;
var dt = new YAHOO.widget.DataTable(data.container, data.columns,
this.dataSource, data.options);
- YAHOO.util.Event.on(data.summary_field, 'blur',
- function(e) {
- YAHOO.bugzilla.dupTable.updateTable(dt, data.product_name,
- YAHOO.util.Event.getTarget(e))
- }
- );
+ YAHOO.util.Event.on(data.summary_field, 'keyup', this.doUpdateTable,
+ [dt, data.product_name]);
},
};