Updated Branches: refs/heads/master d9f52a6db -> b8a3524d2
cloudstack UI - advanced search - implement advanced search on project page. Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/b8a3524d Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/b8a3524d Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/b8a3524d Branch: refs/heads/master Commit: b8a3524d2e21c111fda35c25533a8d9c0fbb8f62 Parents: d9f52a6 Author: Jessica Wang <[email protected]> Authored: Wed Oct 3 16:06:03 2012 -0700 Committer: Jessica Wang <[email protected]> Committed: Wed Oct 3 16:07:16 2012 -0700 ---------------------------------------------------------------------- ui/scripts/projects.js | 55 +++++++++++++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b8a3524d/ui/scripts/projects.js ---------------------------------------------------------------------- diff --git a/ui/scripts/projects.js b/ui/scripts/projects.js index bb73ce1..8280cf0 100644 --- a/ui/scripts/projects.js +++ b/ui/scripts/projects.js @@ -622,29 +622,48 @@ } }, + advSearchFields: { + name: { label: 'Name' }, + zoneid: { + label: 'Zone', + select: function(args) { + $.ajax({ + url: createURL('listZones'), + data: { + listAll: true + }, + success: function(json) { + var zones = json.listzonesresponse.zone; + + args.response.success({ + data: $.map(zones, function(zone) { + return { + id: zone.id, + description: zone.name + }; + }) + }); + } + }); + } + }, + tagKey: { label: 'Tag Key' }, + tagValue: { label: 'Tag Value' } + }, + dataProvider: function(args) { - var array1 = []; - if(args.filterBy != null) { - if(args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) { - switch(args.filterBy.search.by) { - case "name": - if(args.filterBy.search.value.length > 0) - array1.push("&keyword=" + args.filterBy.search.value); - break; - } - } - } - - var apiCmd = "listProjects&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + '&listAll=true'; - + var data = {}; + listViewDataProvider(args, data); + if (isDomainAdmin()) { - apiCmd += '&domainid=' + args.context.users[0].domainid; + $.extend(data, { + domainid: args.context.users[0].domainid + }); } $.ajax({ - url: createURL(apiCmd, { ignoreProject: true }), - dataType: 'json', - async: true, + url: createURL('listProjects', { ignoreProject: true }), + data: data, success: function(data) { args.response.success({ data: data.listprojectsresponse.project,
