Mercurial > bugzilla-dashboard
diff js/modules/app.js @ 60:07d3d1560b93
added find a user functionality
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Sun, 25 Apr 2010 07:54:09 -0700 |
parents | 440c8e2d776d |
children | 68b4c80e884f |
line wrap: on
line diff
--- a/js/modules/app.js Sun Apr 25 01:21:28 2010 -0700 +++ b/js/modules/app.js Sun Apr 25 07:54:09 2010 -0700 @@ -97,6 +97,47 @@ }; }; +Require.modules["app/ui/find-user"] = function(exports, require) { + var $ = require("jQuery"); + var bugzilla = require("app/bugzilla-auth").Bugzilla; + var window = require("window"); + var currReq; + + var options = { + minLength: 2, + delay: 1000, + source: function(request, response) { + function success(result) { + currReq = null; + var suggs = []; + result.users.forEach( + function(user) { + suggs.push({label: user.real_name + " (" + user.name + ")", + value: user.name}); + }); + response(suggs); + } + if (currReq) + currReq.abort(); + currReq = bugzilla.ajax({url: "/user", + data: {match: request.term}, + success: success}); + } + }; + + $("#find-user .query").autocomplete(options); + $("#find-user form").submit( + function(event) { + event.preventDefault(); + var username = $("#find-user .query").val(); + var url = require("app/ui/hash").usernameToHash(username); + window.open(url); + }); + + exports.init = function init() { + }; +}; + Require.modules["app/ui"] = function(exports, require) { var $ = require("jQuery"); var startupCallbacks = []; @@ -174,6 +215,7 @@ require("app/ui/dashboard").init(); require("app/ui/login-form").init(); + require("app/ui/find-user").init(); require("app/ui/hash").init(document); startupCallbacks.forEach(function(cb) { cb(); }); @@ -191,10 +233,6 @@ return ""; } - function usernameToHash(username) { - return "#username=" + escape(username); - } - function setLoginFromHash(location) { var username = usernameFromHash(location); @@ -203,11 +241,15 @@ require("app/login").set(username); } + exports.usernameToHash = function usernameToHash(username) { + return "#username=" + escape(username); + }; + exports.init = function init(document) { require("app/login").whenChanged( function(user) { if (user.isLoggedIn) { - var hash = usernameToHash(user.username); + var hash = exports.usernameToHash(user.username); if (document.location.hash != hash) document.location.hash = hash; } else