Skip to content

Commit 45360b7

Browse files
author
Jessica Wang
committed
cloudstack UI - advanced search - introduce new property "advSearchFields" to lsitViewData.
1 parent d1bc54f commit 45360b7

2 files changed

Lines changed: 31 additions & 6 deletions

File tree

ui/scripts/storage.js

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,32 @@
4949
}
5050
*/
5151
},
52+
advSearchFields: {
53+
name: { label: 'Name' },
54+
zoneid: {
55+
label: 'Zone',
56+
select: function(args) {
57+
$.ajax({
58+
url: createURL('listZones'),
59+
data: {
60+
listAll: true
61+
},
62+
success: function(json) {
63+
var zones = json.listzonesresponse.zone;
64+
65+
args.response.success({
66+
data: $.map(zones, function(zone) {
67+
return {
68+
id: zone.id,
69+
description: zone.name
70+
};
71+
})
72+
});
73+
}
74+
});
75+
}
76+
}
77+
},
5278

5379
// List view actions
5480
actions: {
@@ -270,11 +296,12 @@
270296
},
271297

272298
dataProvider: function(args) {
273-
var array1 = [];
299+
var array1 = [];
274300
if(args.filterBy != null) {
275301
if(args.filterBy.advSearch != null && typeof(args.filterBy.advSearch) == "object") {
276302
for(var key in args.filterBy.advSearch) {
277-
array1.push("&" + key + "=" + args.filterBy.advSearch[key]);
303+
if(args.filterBy.advSearch[key] != null && args.filterBy.advSearch[key].length > 0)
304+
array1.push("&" + key + "=" + args.filterBy.advSearch[key]);
278305
}
279306
}
280307
else if(args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) {

ui/scripts/ui/widgets/listView.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1390,13 +1390,11 @@
13901390
);
13911391
};
13921392

1393-
$listView.find('.button.search#advanced_search').bind('click', function(event) {
1393+
$listView.find('.button.search#advanced_search').bind('click', function(event) {
13941394
cloudStack.dialog.createForm({
13951395
form: {
13961396
title: 'Advanced Search',
1397-
fields: {
1398-
name: { label: 'Name' }
1399-
}
1397+
fields: listViewData.advSearchFields
14001398
},
14011399
after: function(args) {
14021400
advancedSearch(args);

0 commit comments

Comments
 (0)