19988: Refactor getOrder into data explorer middleware when no order prefixes are...
[arvados-workbench2.git] / src / store / collections-content-address-panel / collections-content-address-middleware-service.ts
index 390292a92d49f36df89986ec925c5b3f2917daf9..18023affdb4f449202336a8b28c53addb81b34fa 100644 (file)
@@ -4,16 +4,13 @@
 
 import { ServiceRepository } from 'services/services';
 import { MiddlewareAPI, Dispatch } from 'redux';
-import { DataExplorerMiddlewareService } from 'store/data-explorer/data-explorer-middleware-service';
+import { DataExplorerMiddlewareService, getOrder } from 'store/data-explorer/data-explorer-middleware-service';
 import { RootState } from 'store/store';
 import { getUserUuid } from "common/getuser";
 import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions';
-import { DataExplorer, getDataExplorer } from 'store/data-explorer/data-explorer-reducer';
+import { getDataExplorer } from 'store/data-explorer/data-explorer-reducer';
 import { resourcesActions } from 'store/resources/resources-actions';
 import { FilterBuilder } from 'services/api/filter-builder';
-import { SortDirection } from 'components/data-table/data-column';
-import { OrderDirection, OrderBuilder } from 'services/api/order-builder';
-import { getSortColumn } from "store/data-explorer/data-explorer-reducer";
 import { progressIndicatorActions } from 'store/progress-indicator/progress-indicator-actions';
 import { collectionsContentAddressActions } from './collections-content-address-panel-actions';
 import { navigateTo } from 'store/navigation/navigation-action';
@@ -48,7 +45,7 @@ export class CollectionsWithSameContentAddressMiddlewareService extends DataExpl
                         .addILike("name", dataExplorer.searchValue)
                         .getFilters(),
                     includeOldVersions: true,
-                    order: getOrder(dataExplorer)
+                    order: getOrder<CollectionResource>(dataExplorer)
                 });
                 const userUuids = response.items.map(it => {
                     if (extractUuidKind(it.ownerUuid) === ResourceKind.USER) {
@@ -118,22 +115,6 @@ export class CollectionsWithSameContentAddressMiddlewareService extends DataExpl
     }
 }
 
-const getOrder = (dataExplorer: DataExplorer) => {
-    const sortColumn = getSortColumn<CollectionResource>(dataExplorer);
-    const order = new OrderBuilder<CollectionResource>();
-    if (sortColumn && sortColumn.sort) {
-        const sortDirection = sortColumn.sort.direction === SortDirection.ASC
-            ? OrderDirection.ASC
-            : OrderDirection.DESC;
-
-        return order
-            .addOrder(sortDirection, sortColumn.sort.field)
-            .getOrder();
-    } else {
-        return order.getOrder();
-    }
-};
-
 const collectionPanelDataExplorerIsNotSet = () =>
     snackbarActions.OPEN_SNACKBAR({
         message: 'Collection panel is not ready.',