OLD | NEW |
(Empty) | |
| 1 [# arg0 is either "user" for user saved queries or "project" for canned queries] |
| 2 <style> |
| 3 #queries th, #queries td { padding-bottom: 1em } |
| 4 </style> |
| 5 |
| 6 <table border="0" id="queries"> |
| 7 <tr> |
| 8 <th></th> |
| 9 <th style="text-align:left">Saved query name:</th> |
| 10 [is arg0 "user"] |
| 11 <th style="text-align:left">Project(s):</th> |
| 12 [end] |
| 13 <th colspan="2" style="text-align:left">Query:</th> |
| 14 [is arg0 "user"] |
| 15 <th style="text-align:left">Subsciption options:</th> |
| 16 [end] |
| 17 <th></th> |
| 18 </tr> |
| 19 |
| 20 [for canned_queries] |
| 21 <tr> |
| 22 <td style="text-align:right" width="20">[canned_queries.idx]. |
| 23 <input type="hidden" name="savedquery_id_[canned_queries.idx]" value="[can
ned_queries.query_id]"> |
| 24 </td> |
| 25 <td><input type="text" name="savedquery_name_[canned_queries.idx]" size="35"
value="[canned_queries.name]" class="acob"></td> |
| 26 [is arg0 "user"] |
| 27 <td><input type="text" name="savedquery_projects_[canned_queries.idx]" siz
e="35" value="[canned_queries.projects]" |
| 28 class="acob" autocomplete="off" id="savedquery_projects_[canned_queri
es.idx]"></td> |
| 29 [end] |
| 30 |
| 31 <td> |
| 32 <select name="savedquery_base_[canned_queries.idx]"> |
| 33 [define can][canned_queries.base_query_id][end] |
| 34 [include "../tracker/issue-can-widget.ezt" "admin"] |
| 35 </select> |
| 36 </td> |
| 37 <td> |
| 38 <input type="text" name="savedquery_query_[canned_queries.idx]" size="50"
value="[canned_queries.query]" autocomplete="off" id="query_existing_[canned_que
ries.idx]" class="acob"> |
| 39 </td> |
| 40 [is arg0 "user"] |
| 41 <td> |
| 42 <select id="savedquery_sub_mode_[canned_queries.idx]" name="savedquery_s
ub_mode_[canned_queries.idx]"> |
| 43 <option [is canned_queries.subscription_mode "noemail"]selected="selec
t"[end] value="noemail" |
| 44 >No emails</option> |
| 45 <option [is canned_queries.subscription_mode "immediate"]selected="sel
ect"[end] value="immediate">Notify Immediately</option> |
| 46 [# TODO(jrobbins): <option disabled="disabled">Notify Daily</option>] |
| 47 [# TODO(jrobbins): <option disabled="disabled">Notify Weekly on Monday
</option>] |
| 48 </select> |
| 49 </td> |
| 50 [end] |
| 51 <td></td> |
| 52 </tr> |
| 53 [end] |
| 54 |
| 55 [define can]2[end] |
| 56 [for new_query_indexes] |
| 57 <tr id="newquery[new_query_indexes]" [if-index new_query_indexes first][else]
style="display:none"[end]> |
| 58 <td style="text-align:right" width="20">[new_query_indexes].</td> |
| 59 <td><input type="text" name="new_savedquery_name_[new_query_indexes]" |
| 60 class="showNextQueryRow acob" data-index="[new_query_indexes]" |
| 61 size="35" value="" placeholder="Required"></td> |
| 62 [is arg0 "user"] |
| 63 <td><input type="text" name="new_savedquery_projects_[new_query_indexes]"
size="35" value="" class="acob" |
| 64 autocomplete="off" id="new_savedquery_projects_[new_query_indexes]" p
laceholder="Optional"></td> |
| 65 [end] |
| 66 <td> |
| 67 <select name="new_savedquery_base_[new_query_indexes]"> |
| 68 [include "../tracker/issue-can-widget.ezt" "admin"] |
| 69 </select> |
| 70 </td> |
| 71 <td> |
| 72 <input type="text" name="new_savedquery_query_[new_query_indexes]" size="5
0" value="" autocomplete="off" id="query_new_[new_query_indexes]" class="acob" p
laceholder="Optional. Example- "label:Security owner:me""> |
| 73 </td> |
| 74 [is arg0 "user"] |
| 75 <td> |
| 76 <select id="new_savedquery_sub_mode_[new_query_indexes]" name="new_saved
query_sub_mode_[new_query_indexes]"> |
| 77 <option selected="selected" value="noemail">No emails</option> |
| 78 <option value="immediate">Notify Immediately</option> |
| 79 [# TODO(jrobbins): <option disabled="disabled">Notify Daily</option>] |
| 80 [# TODO(jrobbins): <option disabled="disabled">Notify Weekly</option>] |
| 81 </select> |
| 82 </td> |
| 83 [end] |
| 84 <td width="40px"> |
| 85 [if-index new_query_indexes last][else] |
| 86 <span id="addquery[new_query_indexes]" class="fakelink" data-index="[new_q
uery_indexes]">Add a row</span |
| 87 [end] |
| 88 </td> |
| 89 </tr> |
| 90 [end] |
| 91 |
| 92 </table> |
| 93 |
| 94 [include "../framework/footer-script.ezt"] |
| 95 <script type="text/javascript" nonce="[nonce]"> |
| 96 runOnLoad(function() { |
| 97 function showNextQueryRow(i) { |
| 98 if (i < [max_queries]) { |
| 99 _showID('newquery' + (i + 1)); |
| 100 _hideID('addquery' + i); |
| 101 } |
| 102 } |
| 103 _fetchUserProjects(true); |
| 104 _onload(); |
| 105 |
| 106 var addARowLinks = document.getElementsByClassName("fakelink"); |
| 107 for (var i = 0; i < addARowLinks.length; ++i) { |
| 108 var link = addARowLinks[[]i]; |
| 109 link.addEventListener("click", function(event) { |
| 110 var index = Number(event.target.getAttribute("data-index")); |
| 111 showNextQueryRow(index); |
| 112 }); |
| 113 } |
| 114 |
| 115 var typeToAddARow = document.getElementsByClassName("showNextQueryRow"); |
| 116 for (var i = 0; i < typeToAddARow.length; ++i) { |
| 117 var el = typeToAddARow[[]i]; |
| 118 el.addEventListener("keydown", function(event) { |
| 119 var index = Number(event.target.getAttribute("data-index")); |
| 120 showNextQueryRow(index); |
| 121 }); |
| 122 } |
| 123 |
| 124 var acobElements = document.getElementsByClassName("acob"); |
| 125 for (var i = 0; i < acobElements.length; ++i) { |
| 126 var el = acobElements[[]i]; |
| 127 el.addEventListener("focus", function(event) { |
| 128 _acrob(null); |
| 129 _acof(event); |
| 130 }); |
| 131 } |
| 132 }); |
| 133 </script> |
OLD | NEW |