Skip to content

Commit 81127a4

Browse files
author
OpenShift Bot
authored
Merge pull request #1081 from spadgett/stable-project-sort
Merged by openshift-bot
2 parents 3656be7 + 42a1b98 commit 81127a4

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

app/scripts/controllers/projects.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,10 @@ angular.module('openshiftConsole')
6060
var primarySortOrder = $scope.sortConfig.isAscending ? 'asc' : 'desc';
6161
switch (sortID) {
6262
case 'metadata.annotations["openshift.io/display-name"]':
63-
// Sort by display name, falling back to project name if no display name.
63+
// Sort by display name. Use `metadata.name` as a secondary sort when
64+
// projects have the same display name.
6465
sortedProjects = _.sortByOrder(projects,
65-
[ displayNameLower ],
66+
[ displayNameLower, 'metadata.name' ],
6667
[ primarySortOrder ]);
6768
break;
6869
case 'metadata.annotations["openshift.io/requester"]':

app/scripts/filters/resources.js

+8
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,14 @@ angular.module('openshiftConsole')
435435
itemsArray.sort(function(left, right) {
436436
var leftName = displayNameFilter(left) || '';
437437
var rightName = displayNameFilter(right) || '';
438+
439+
// Fall back to sorting by `metadata.name` if the display names are the
440+
// same so that the sort is stable.
441+
if (leftName === rightName) {
442+
leftName = _.get(left, 'metadata.name', '');
443+
rightName = _.get(right, 'metadata.name', '');
444+
}
445+
438446
return leftName.localeCompare(rightName);
439447
});
440448

dist/scripts/scripts.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4184,7 +4184,7 @@ return s(a).toLowerCase();
41844184
}, d = a.sortConfig.isAscending ? "asc" :"desc";
41854185
switch (b) {
41864186
case 'metadata.annotations["openshift.io/display-name"]':
4187-
m = _.sortByOrder(l, [ c ], [ d ]);
4187+
m = _.sortByOrder(l, [ c, "metadata.name" ], [ d ]);
41884188
break;
41894189

41904190
case 'metadata.annotations["openshift.io/requester"]':
@@ -13504,7 +13504,7 @@ return function(c) {
1350413504
var d = b(c);
1350513505
return d.sort(function(b, c) {
1350613506
var d = a(b) || "", e = a(c) || "";
13507-
return d.localeCompare(e);
13507+
return d === e && (d = _.get(b, "metadata.name", ""), e = _.get(c, "metadata.name", "")), d.localeCompare(e);
1350813508
}), d;
1350913509
};
1351013510
} ]).filter("isPodStuck", function() {

0 commit comments

Comments
 (0)