Mercurial > bugzilla-dashboard
annotate file-bug.js @ 17:4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Wed, 10 Mar 2010 12:39:14 -0800 |
parents | |
children |
rev | line source |
---|---|
17
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1 $(window).ready( |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2 function() { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3 const EM_DASH = "\u2014"; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
5 var cache = buildCache("#form-cache .data"); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
6 var config = cache.get("configuration"); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
7 var categories; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
8 var queuedRespond; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
9 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
10 function buildCategories() { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
11 categories = []; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
12 for (product in config.product) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
13 for (component in config.product[product].component) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
14 categories.push(product + EM_DASH + component); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
15 } |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
16 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
17 var categoryOptions = { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
18 source: function(request, response) { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
19 function respond() { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
20 queuedRespond = null; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
21 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
22 var suggs = []; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
23 var terms = request.term.split(" "); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
24 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
25 if (!categories) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
26 buildCategories(); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
27 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
28 categories.forEach( |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
29 function(category) { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
30 for (var i = 0; i < terms.length; i++) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
31 if (!category.match(terms[i], "i")) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
32 return; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
33 suggs.push(category); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
34 }); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
35 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
36 response(suggs); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
37 }; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
38 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
39 if (!config) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
40 queuedRespond = respond; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
41 else |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
42 respond(); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
43 } |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
44 }; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
45 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
46 $("input#category").autocomplete(categoryOptions); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
47 $("#file-bug").submit( |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
48 function(event) { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
49 event.preventDefault(); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
50 var parts = $("input#category").val().split(EM_DASH); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
51 window.open(Bugzilla.BASE_UI_URL + "/enter_bug.cgi?" + |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
52 "product=" + encodeURI(parts[0]) + "&" + |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
53 "component=" + encodeURI(parts[1])); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
54 }); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
55 |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
56 Bugzilla.ajax({url: "/configuration", |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
57 success: function(result) { |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
58 config = result; |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
59 cache.set("configuration", result); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
60 if (queuedRespond) |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
61 queuedRespond(); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
62 }}); |
4a698ea4be60
Added a really simple bug filing page w/ autocomplete for product/component.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
63 }); |