diff options
Diffstat (limited to 'extensions/MyDashboard/web/js')
-rw-r--r-- | extensions/MyDashboard/web/js/flags.js | 31 | ||||
-rw-r--r-- | extensions/MyDashboard/web/js/query.js | 18 |
2 files changed, 38 insertions, 11 deletions
diff --git a/extensions/MyDashboard/web/js/flags.js b/extensions/MyDashboard/web/js/flags.js index 2498ba8ae..1ba6bd696 100644 --- a/extensions/MyDashboard/web/js/flags.js +++ b/extensions/MyDashboard/web/js/flags.js @@ -3,7 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. * * This Source Code Form is "Incompatible With Secondary Licenses", as - * defined by the Mozilla Public License, v. 2.0. + * defined by the Mozilla Public License, v. 2.0. */ // Flag tables @@ -11,7 +11,7 @@ YUI({ base: 'js/yui3/', combine: false }).use("node", "datatable", "datatable-sort", "json-stringify", "escape", - "datatable-datasource", "datasource-io", "datasource-jsonschema", function (Y) { + "datatable-datasource", "datasource-io", "datasource-jsonschema", function(Y) { // Common var counter = 0; var dataSource = { @@ -23,7 +23,7 @@ YUI({ requester: null }; - var updateFlagTable = function (type) { + var updateFlagTable = function(type) { if (!type) return; var include_closed = Y.one('#' + type + '_closed').get('checked') ? 1 : 0; @@ -70,7 +70,18 @@ YUI({ }); }; - var bugLinkFormatter = function (o) { + var loadBugList = function(type) { + if (!type) return; + var data = dataTable[type].data; + var ids = []; + for (var i = 0, l = data.size(); i < l; i++) { + ids.push(data.item(i).get('bug_id')); + } + var url = 'buglist.cgi?bug_id=' + ids.join('%2C'); + window.open(url, '_blank'); + }; + + var bugLinkFormatter = function(o) { var bug_closed = ""; if (o.data.bug_status == 'RESOLVED' || o.data.bug_status == 'VERIFIED') { bug_closed = "bz_closed"; @@ -81,18 +92,18 @@ YUI({ '">' + o.value + '</a>'; }; - var updatedFormatter = function (o) { + var updatedFormatter = function(o) { return '<span title="' + Y.Escape.html(o.value) + '">' + Y.Escape.html(o.data.updated_fancy) + '</span>'; }; - var requesteeFormatter = function (o) { + var requesteeFormatter = function(o) { return o.value ? Y.Escape.html(o.value) : '<i>anyone</i>'; }; - var flagNameFormatter = function (o) { + var flagNameFormatter = function(o) { if (parseInt(o.data.attach_id) && parseInt(o.data.is_patch) && MyDashboard.splinter_base) @@ -146,6 +157,9 @@ YUI({ Y.one('#requestee_refresh').on('click', function(e) { updateFlagTable('requestee'); }); + Y.one('#requestee_buglist').on('click', function(e) { + loadBugList('requestee'); + }); Y.one('#requestee_closed').on('change', function(e) { updateFlagTable('requestee'); }); @@ -186,6 +200,9 @@ YUI({ Y.one('#requester_refresh').on('click', function(e) { updateFlagTable('requester'); }); + Y.one('#requester_buglist').on('click', function(e) { + loadBugList('requester'); + }); Y.one('#requester_closed').on('change', function(e) { updateFlagTable('requester'); }); diff --git a/extensions/MyDashboard/web/js/query.js b/extensions/MyDashboard/web/js/query.js index 98cb2b407..aaacf753b 100644 --- a/extensions/MyDashboard/web/js/query.js +++ b/extensions/MyDashboard/web/js/query.js @@ -3,7 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. * * This Source Code Form is "Incompatible With Secondary Licenses", as - * defined by the Mozilla Public License, v. 2.0. + * defined by the Mozilla Public License, v. 2.0. */ if (typeof(MyDashboard) == 'undefined') { @@ -23,10 +23,10 @@ YUI({ } }).use("node", "datatable", "datatable-sort", "datatable-message", "json-stringify", "datatable-datasource", "datasource-io", "datasource-jsonschema", "cookie", - "gallery-datatable-row-expansion-bmo", "handlebars", "escape", function (Y) { + "gallery-datatable-row-expansion-bmo", "handlebars", "escape", function(Y) { var counter = 0, dataSource = null, - dataTable = null, + dataTable = null, default_query = "assignedbugs"; // Grab last used query name from cookie or use default @@ -93,7 +93,7 @@ YUI({ }); }; - var updatedFormatter = function (o) { + var updatedFormatter = function(o) { return '<span title="' + Y.Escape.html(o.value) + '">' + Y.Escape.html(o.data.changeddate_fancy) + '</span>'; }; @@ -164,4 +164,14 @@ YUI({ var selected_value = query_select.get("options").item(index).getAttribute('value'); updateQueryTable(selected_value); }); + + Y.one('#query_buglist').on('click', function(e) { + var data = dataTable.data; + var ids = []; + for (var i = 0, l = data.size(); i < l; i++) { + ids.push(data.item(i).get('bug_id')); + } + var url = 'buglist.cgi?bug_id=' + ids.join('%2C'); + window.open(url, '_blank'); + }); }); |