X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/31e84a9315728c2f58a26bf0e9e1d2b38326fb86..7f160d39308e02e571543b2958320f387b5372ab:/src/store/groups-panel/groups-panel-middleware-service.ts diff --git a/src/store/groups-panel/groups-panel-middleware-service.ts b/src/store/groups-panel/groups-panel-middleware-service.ts index 8589c768..3997e33c 100644 --- a/src/store/groups-panel/groups-panel-middleware-service.ts +++ b/src/store/groups-panel/groups-panel-middleware-service.ts @@ -3,18 +3,19 @@ // SPDX-License-Identifier: AGPL-3.0 import { Dispatch, MiddlewareAPI } from "redux"; -import { DataExplorerMiddlewareService, listResultsToDataExplorerItemsMeta, dataExplorerToListParams } from "~/store/data-explorer/data-explorer-middleware-service"; -import { RootState } from "~/store/store"; -import { ServiceRepository } from "~/services/services"; -import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions'; -import { getDataExplorer, getSortColumn } from "~/store/data-explorer/data-explorer-reducer"; -import { GroupsPanelActions } from '~/store/groups-panel/groups-panel-actions'; -import { FilterBuilder } from '~/services/api/filter-builder'; -import { updateResources } from '~/store/resources/resources-actions'; -import { OrderBuilder, OrderDirection } from '~/services/api/order-builder'; -import { GroupResource, GroupClass } from '~/models/group'; -import { SortDirection } from '~/components/data-table/data-column'; -import { GroupsPanelColumnNames } from '~/views/groups-panel/groups-panel'; +import { DataExplorerMiddlewareService, listResultsToDataExplorerItemsMeta, dataExplorerToListParams } from "store/data-explorer/data-explorer-middleware-service"; +import { RootState } from "store/store"; +import { ServiceRepository } from "services/services"; +import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions'; +import { getDataExplorer, getSortColumn } from "store/data-explorer/data-explorer-reducer"; +import { GroupsPanelActions } from 'store/groups-panel/groups-panel-actions'; +import { FilterBuilder } from 'services/api/filter-builder'; +import { updateResources } from 'store/resources/resources-actions'; +import { OrderBuilder, OrderDirection } from 'services/api/order-builder'; +import { GroupResource, GroupClass } from 'models/group'; +import { SortDirection } from 'components/data-table/data-column'; +import { GroupsPanelColumnNames } from 'views/groups-panel/groups-panel'; +import { progressIndicatorActions } from "store/progress-indicator/progress-indicator-actions"; export class GroupsPanelMiddlewareService extends DataExplorerMiddlewareService { constructor(private services: ServiceRepository, id: string) { @@ -26,6 +27,7 @@ export class GroupsPanelMiddlewareService extends DataExplorerMiddlewareService api.dispatch(groupsPanelDataExplorerIsNotSet()); } else { try { + api.dispatch(progressIndicatorActions.START_WORKING(this.getId())); const order = new OrderBuilder(); const sortColumn = getSortColumn(dataExplorer); if (sortColumn) { @@ -36,7 +38,7 @@ export class GroupsPanelMiddlewareService extends DataExplorerMiddlewareService order.addOrder(direction, 'name'); } const filters = new FilterBuilder() - .addNotIn('group_class', [GroupClass.PROJECT, GroupClass.FILTER]) + .addEqual('group_class', GroupClass.ROLE) .addILike('name', dataExplorer.searchValue) .getFilters(); const response = await this.services.groupsService @@ -52,12 +54,14 @@ export class GroupsPanelMiddlewareService extends DataExplorerMiddlewareService })); const permissions = await this.services.permissionService.list({ filters: new FilterBuilder() - .addIn('tail_uuid', response.items.map(item => item.uuid)) + .addIn('head_uuid', response.items.map(item => item.uuid)) .getFilters() }); api.dispatch(updateResources(permissions.items)); } catch (e) { api.dispatch(couldNotFetchFavoritesContents()); + } finally { + api.dispatch(progressIndicatorActions.STOP_WORKING(this.getId())); } } } @@ -74,4 +78,3 @@ const couldNotFetchFavoritesContents = () => message: 'Could not fetch groups.', kind: SnackbarKind.ERROR }); -