fixed-type-filter-in-search-results
authorPawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
Thu, 17 Jan 2019 15:01:51 +0000 (16:01 +0100)
committerPawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
Thu, 17 Jan 2019 15:01:51 +0000 (16:01 +0100)
Feature #14744

Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>

src/store/search-bar/search-bar-actions.ts
src/store/search-results-panel/search-results-middleware-service.ts
src/store/trash-panel/trash-panel-middleware-service.ts

index 7d32e60941803af47885f670bb5c1ebf19d9b279..54651247e5f8b7609cd383c273c225823711dcbf 100644 (file)
@@ -448,6 +448,7 @@ export const getFilters = (filterName: string, searchValue: string, sq: ParseSea
 
         if (isTrashed) {
             filter.addEqual("is_trashed", true);
+            console.log(filter);
         }
 
         const projectUuid = getSearchQueryFirstProp(sq, 'project');
index de3252221ef8bd6ec61280735c6e8f118092870e..12efbb617e395ebb07ef5e069d375865e562ccd5 100644 (file)
@@ -4,7 +4,7 @@
 
 import { ServiceRepository } from '~/services/services';
 import { MiddlewareAPI, Dispatch } from 'redux';
-import { DataExplorerMiddlewareService, dataExplorerToListParams, listResultsToDataExplorerItemsMeta } from '~/store/data-explorer/data-explorer-middleware-service';
+import { DataExplorerMiddlewareService, dataExplorerToListParams, listResultsToDataExplorerItemsMeta, getDataExplorerColumnFilters } from '~/store/data-explorer/data-explorer-middleware-service';
 import { RootState } from '~/store/store';
 import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions';
 import { DataExplorer, getDataExplorer } from '~/store/data-explorer/data-explorer-reducer';
@@ -22,6 +22,10 @@ import {
     parseSearchQuery
 } from '~/store/search-bar/search-bar-actions';
 import { getSortColumn } from "~/store/data-explorer/data-explorer-reducer";
+import { joinFilters } from '~/services/api/filter-builder';
+import { DataColumns } from '~/components/data-table/data-table';
+import { serializeResourceTypeFilters } from '~/store//resource-type-filters/resource-type-filters';
+import { ProjectPanelColumnNames } from '~/views/project-panel/project-panel';
 
 export class SearchResultsMiddlewareService extends DataExplorerMiddlewareService {
     constructor(private services: ServiceRepository, id: string) {
@@ -72,9 +76,13 @@ export class SearchResultsMiddlewareService extends DataExplorerMiddlewareServic
     }
 }
 
+const typeFilters = (columns: DataColumns<string>) => serializeResourceTypeFilters(getDataExplorerColumnFilters(columns, ProjectPanelColumnNames.TYPE));
+
 export const getParams = (dataExplorer: DataExplorer, searchValue: string, sq: ParseSearchQuery) => ({
     ...dataExplorerToListParams(dataExplorer),
-    filters: getFilters('name', searchValue, sq),
+    filters: joinFilters(
+        getFilters('name', searchValue, sq),
+        typeFilters(dataExplorer.columns)),
     order: getOrder(dataExplorer)
 });
 
index 3708f073b9033b60922348b180f14425dd35fc6f..b3f0805fd0fb7eeaa44d1927c8a7faad74e39013 100644 (file)
@@ -15,7 +15,6 @@ import { trashPanelActions } from "./trash-panel-action";
 import { Dispatch, MiddlewareAPI } from "redux";
 import { OrderBuilder, OrderDirection } from "~/services/api/order-builder";
 import { GroupContentsResourcePrefix } from "~/services/groups-service/groups-service";
-import { TrashPanelColumnNames, TrashPanelFilter } from "~/views/trash-panel/trash-panel";
 import { ProjectResource } from "~/models/project";
 import { ProjectPanelColumnNames } from "~/views/project-panel/project-panel";
 import { updateFavorites } from "~/store/favorites/favorites-actions";
@@ -25,7 +24,7 @@ import { progressIndicatorActions } from "~/store/progress-indicator/progress-in
 import { getSortColumn } from "~/store/data-explorer/data-explorer-reducer";
 import { serializeResourceTypeFilters } from '~/store//resource-type-filters/resource-type-filters';
 import { getDataExplorerColumnFilters } from '~/store/data-explorer/data-explorer-middleware-service';
-import { joinFilters } from '../../services/api/filter-builder';
+import { joinFilters } from '~/services/api/filter-builder';
 
 export class TrashPanelMiddlewareService extends DataExplorerMiddlewareService {
     constructor(private services: ServiceRepository, id: string) {