18559: Combine firstName and lastName users column, add link navigation, fix sorting
[arvados-workbench2.git] / src / store / users / user-panel-middleware-service.ts
index 4496cbd2709e5d33894e02c84cd319c5791c5e7f..2a7423535abc487a00f8a52351f8e342c9cc591f 100644 (file)
@@ -75,13 +75,23 @@ export const getOrder = (dataExplorer: DataExplorer) => {
         const sortDirection = sortColumn && sortColumn.sortDirection === SortDirection.ASC
             ? OrderDirection.ASC
             : OrderDirection.DESC;
-        const columnName = sortColumn && sortColumn.name === UserPanelColumnNames.LAST_NAME ? "lastName" : "firstName";
-        return order
-            .addOrder(sortDirection, columnName)
-            .getOrder();
-    } else {
-        return order.getOrder();
+        switch (sortColumn.name) {
+            case UserPanelColumnNames.NAME:
+                order.addOrder(sortDirection, "firstName")
+                    .addOrder(sortDirection, "lastName");
+                break;
+            case UserPanelColumnNames.UUID:
+                order.addOrder(sortDirection, "uuid");
+                break;
+            case UserPanelColumnNames.EMAIL:
+                order.addOrder(sortDirection, "email");
+                break;
+            case UserPanelColumnNames.USERNAME:
+                order.addOrder(sortDirection, "username");
+                break;
+        }
     }
+    return order.getOrder();
 };
 
 export const setItems = (listResults: ListResults<UserResource>) =>
@@ -94,4 +104,4 @@ const couldNotFetchUsers = () =>
     snackbarActions.OPEN_SNACKBAR({
         message: 'Could not fetch users.',
         kind: SnackbarKind.ERROR
-    });
\ No newline at end of file
+    });