All lists (included related lists) now send the order_by parameter to the API. Use the key: true attribute in the list definition to specify the default sorting field.

This commit is contained in:
Chris Houseknecht
2013-05-06 17:59:13 -04:00
parent d2dad90eb8
commit ccb732bd69
3 changed files with 27 additions and 9 deletions

View File

@@ -51,18 +51,28 @@ angular.module('RelatedSearchHelper', ['RestServices', 'Utilities','RefreshRelat
scope.search = function(model) {
scope[model + 'SearchSpin'] = true;
var set, url, iterator;
var set, url, iterator, default_order;
for (var key in relatedSets) {
if (relatedSets[key].iterator == model) {
set = key;
iterator = relatedSets[key].iterator;
url = relatedSets[key].url;
break;
set = key;
iterator = relatedSets[key].iterator;
url = relatedSets[key].url;
for (var fld in form.related[key].fields) {
if (form.related[key].fields[fld].key) {
default_order = fld;
}
}
break;
}
}
if (scope[model + 'SearchValue'] != '' && scope[model + 'SearchValue'] != undefined) {
url += '?' + scope[model + 'SearchField'] +
'__' + scope[model + 'SearchType'] + '=' + escape(scope[model + 'SearchValue']);
url += (default_order) ? '&order_by=' + escape(default_order) : '';
}
else {
url += (default_order) ? '?order_by=' + escape(default_order) : '';
}
RefreshRelated({ scope: scope, set: set, iterator: iterator, url: url });
}