[arvados-workbench2] created: 2.7.0-160-ga5af979d
git repository hosting
git at public.arvados.org
Wed Oct 18 20:06:04 UTC 2023
at a5af979df2c162b6f7918e0997fe2b800a88fa45 (commit)
commit a5af979df2c162b6f7918e0997fe2b800a88fa45
Author: Peter Amstutz <peter.amstutz at curii.com>
Date: Wed Oct 18 13:32:51 2023 -0400
20526: Add created_at descending as secondary sort key
This is to ensure that we break ties consistently, from newest to oldest.
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>
diff --git a/src/store/data-explorer/data-explorer-middleware-service.ts b/src/store/data-explorer/data-explorer-middleware-service.ts
index 01964fa4..7c7a867e 100644
--- a/src/store/data-explorer/data-explorer-middleware-service.ts
+++ b/src/store/data-explorer/data-explorer-middleware-service.ts
@@ -58,8 +58,10 @@ export const getOrder = <T extends Resource = Resource>(dataExplorer: DataExplor
? OrderDirection.ASC
: OrderDirection.DESC;
+ // Use createdAt as a secondary sort column so we break ties consistently.
return order
.addOrder(sortDirection, sortColumn.sort.field)
+ .addOrder(OrderDirection.DESC, "createdAt")
.getOrder();
} else {
return order.getOrder();
diff --git a/src/store/project-panel/project-panel-middleware-service.ts b/src/store/project-panel/project-panel-middleware-service.ts
index 7204993b..1f38ffdc 100644
--- a/src/store/project-panel/project-panel-middleware-service.ts
+++ b/src/store/project-panel/project-panel-middleware-service.ts
@@ -127,10 +127,12 @@ const getOrder = (dataExplorer: DataExplorer) => {
if (sortColumn && sortColumn.sort) {
const sortDirection = sortColumn.sort.direction === SortDirection.ASC ? OrderDirection.ASC : OrderDirection.DESC;
+ // Use createdAt as a secondary sort column so we break ties consistently.
return order
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.COLLECTION)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROCESS)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROJECT)
+ .addOrder(OrderDirection.DESC, "createdAt", GroupContentsResourcePrefix.PROCESS)
.getOrder();
} else {
return order.getOrder();
diff --git a/src/store/search-results-panel/search-results-middleware-service.ts b/src/store/search-results-panel/search-results-middleware-service.ts
index c13092d4..00a69cd2 100644
--- a/src/store/search-results-panel/search-results-middleware-service.ts
+++ b/src/store/search-results-panel/search-results-middleware-service.ts
@@ -76,7 +76,7 @@ export class SearchResultsMiddlewareService extends DataExplorerMiddlewareServic
}).catch(() => {
api.dispatch(couldNotFetchSearchResults(session.clusterId));
});
- }
+ }
);
}
}
@@ -102,10 +102,12 @@ const getOrder = (dataExplorer: DataExplorer) => {
? OrderDirection.ASC
: OrderDirection.DESC;
+ // Use createdAt as a secondary sort column so we break ties consistently.
return order
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.COLLECTION)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROCESS)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROJECT)
+ .addOrder(OrderDirection.DESC, "createdAt", GroupContentsResourcePrefix.PROCESS)
.getOrder();
} else {
return order.getOrder();
diff --git a/src/store/shared-with-me-panel/shared-with-me-middleware-service.ts b/src/store/shared-with-me-panel/shared-with-me-middleware-service.ts
index f2e40234..1a2bdaba 100644
--- a/src/store/shared-with-me-panel/shared-with-me-middleware-service.ts
+++ b/src/store/shared-with-me-panel/shared-with-me-middleware-service.ts
@@ -66,10 +66,12 @@ const getOrder = (dataExplorer: DataExplorer) => {
? OrderDirection.ASC
: OrderDirection.DESC;
+ // Use createdAt as a secondary sort column so we break ties consistently.
return order
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.COLLECTION)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROCESS)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROJECT)
+ .addOrder(OrderDirection.DESC, "createdAt", GroupContentsResourcePrefix.PROCESS)
.getOrder();
} else {
return order.getOrder();
diff --git a/src/store/trash-panel/trash-panel-middleware-service.ts b/src/store/trash-panel/trash-panel-middleware-service.ts
index e6336510..d72b6ad7 100644
--- a/src/store/trash-panel/trash-panel-middleware-service.ts
+++ b/src/store/trash-panel/trash-panel-middleware-service.ts
@@ -95,9 +95,11 @@ const getOrder = (dataExplorer: DataExplorer) => {
? OrderDirection.ASC
: OrderDirection.DESC;
+ // Use createdAt as a secondary sort column so we break ties consistently.
return order
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.COLLECTION)
.addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROJECT)
+ .addOrder(OrderDirection.DESC, "createdAt", GroupContentsResourcePrefix.PROCESS)
.getOrder();
} else {
return order.getOrder();
diff --git a/src/store/users/user-panel-middleware-service.ts b/src/store/users/user-panel-middleware-service.ts
index e965cd00..e3c946e3 100644
--- a/src/store/users/user-panel-middleware-service.ts
+++ b/src/store/users/user-panel-middleware-service.ts
@@ -70,6 +70,9 @@ const getOrder = (dataExplorer: DataExplorer) => {
} else {
order.addOrder(sortDirection, sortColumn.sort.field);
}
+
+ // Use createdAt as a secondary sort column so we break ties consistently.
+ order.addOrder(OrderDirection.DESC, "createdAt");
}
return order.getOrder();
};
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list