//
// SPDX-License-Identifier: AGPL-3.0
-import { DataExplorerMiddlewareService, dataExplorerToListParams, getDataExplorerColumnFilters } from "store/data-explorer/data-explorer-middleware-service";
+import { DataExplorerMiddlewareService, dataExplorerToListParams, getDataExplorerColumnFilters, getOrder } from "store/data-explorer/data-explorer-middleware-service";
import { RootState } from "../store";
import { ServiceRepository } from "services/services";
import { FilterBuilder, joinFilters } from "services/api/filter-builder";
import { resourcesActions } from "store/resources/resources-actions";
import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions';
import { progressIndicatorActions } from 'store/progress-indicator/progress-indicator-actions';
-import { getDataExplorer, DataExplorer, getSortColumn } from "store/data-explorer/data-explorer-reducer";
+import { getDataExplorer, DataExplorer } from "store/data-explorer/data-explorer-reducer";
import { loadMissingProcessesInformation } from "store/project-panel/project-panel-middleware-service";
import { DataColumns } from "components/data-table/data-table";
import {
serializeOnlyProcessTypeFilters
} from "../resource-type-filters/resource-type-filters";
import { AllProcessesPanelColumnNames } from "views/all-processes-panel/all-processes-panel";
-import { OrderBuilder, OrderDirection } from "services/api/order-builder";
-import { SortDirection } from "components/data-table/data-column";
import { containerRequestFieldsNoMounts, ContainerRequestResource } from "models/container-request";
export class AllProcessesPanelMiddlewareService extends DataExplorerMiddlewareService {
const getParams = ( dataExplorer: DataExplorer ) => ({
...dataExplorerToListParams(dataExplorer),
- order: getOrder(dataExplorer),
+ order: getOrder<ContainerRequestResource>(dataExplorer),
filters: getFilters(dataExplorer)
});
);
};
-const getOrder = (dataExplorer: DataExplorer) => {
- const sortColumn = getSortColumn<ContainerRequestResource>(dataExplorer);
- const order = new OrderBuilder<ContainerRequestResource>();
- 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 allProcessesPanelDataExplorerIsNotSet = () =>
snackbarActions.OPEN_SNACKBAR({
message: 'All Processes panel is not ready.',
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, getOrder, listResultsToDataExplorerItemsMeta } 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';
import { updateResources } from 'store/resources/resources-actions';
-import { getSortColumn } from "store/data-explorer/data-explorer-reducer";
import { apiClientAuthorizationsActions } from 'store/api-client-authorizations/api-client-authorizations-actions';
-import { OrderDirection, OrderBuilder } from 'services/api/order-builder';
import { ListResults } from 'services/common-service/common-service';
import { ApiClientAuthorization } from 'models/api-client-authorization';
-import { SortDirection } from 'components/data-table/data-column';
export class ApiClientAuthorizationMiddlewareService extends DataExplorerMiddlewareService {
constructor(private services: ServiceRepository, id: string) {
export const getParams = (dataExplorer: DataExplorer) => ({
...dataExplorerToListParams(dataExplorer),
- order: getOrder(dataExplorer)
+ order: getOrder<ApiClientAuthorization>(dataExplorer)
});
-const getOrder = (dataExplorer: DataExplorer) => {
- const sortColumn = getSortColumn<ApiClientAuthorization>(dataExplorer);
- const order = new OrderBuilder<ApiClientAuthorization>();
- 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();
- }
-};
-
export const setItems = (listResults: ListResults<ApiClientAuthorization>) =>
apiClientAuthorizationsActions.SET_ITEMS({
...listResultsToDataExplorerItemsMeta(listResults),
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';
.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) {
}
}
-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.',
import { Dispatch, MiddlewareAPI } from 'redux';
import { RootState } from '../store';
import { DataColumns } from 'components/data-table/data-table';
-import { DataExplorer } from './data-explorer-reducer';
+import { DataExplorer, getSortColumn } from './data-explorer-reducer';
import { ListResults } from 'services/common-service/common-service';
import { createTree } from 'models/tree';
import { DataTableFilters } from 'components/data-table-filters/data-table-filters-tree';
+import { OrderBuilder, OrderDirection } from 'services/api/order-builder';
+import { SortDirection } from 'components/data-table/data-column';
+import { Resource } from 'models/resource';
export abstract class DataExplorerMiddlewareService {
protected readonly id: string;
offset: dataExplorer.page * dataExplorer.rowsPerPage,
});
+export const getOrder = <T extends Resource = Resource>(dataExplorer: DataExplorer) => {
+ const sortColumn = getSortColumn<T>(dataExplorer);
+ const order = new OrderBuilder<T>();
+ 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();
+ }
+};
+
export const listResultsToDataExplorerItemsMeta = <R>({
itemsAvailable,
offset,
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, getOrder, listResultsToDataExplorerItemsMeta } 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';
import { updateResources } from 'store/resources/resources-actions';
-import { SortDirection } from 'components/data-table/data-column';
-import { OrderDirection, OrderBuilder } from 'services/api/order-builder';
import { ListResults } from 'services/common-service/common-service';
-import { getSortColumn } from "store/data-explorer/data-explorer-reducer";
import { LinkResource } from 'models/link';
import { linkPanelActions } from 'store/link-panel/link-panel-actions';
export const getParams = (dataExplorer: DataExplorer) => ({
...dataExplorerToListParams(dataExplorer),
- order: getOrder(dataExplorer)
+ order: getOrder<LinkResource>(dataExplorer)
});
-const getOrder = (dataExplorer: DataExplorer) => {
- const sortColumn = getSortColumn<LinkResource>(dataExplorer);
- const order = new OrderBuilder<LinkResource>();
- 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();
- }
-};
-
export const setItems = (listResults: ListResults<LinkResource>) =>
linkPanelActions.SET_ITEMS({
...listResultsToDataExplorerItemsMeta(listResults),
);
};
-export const getOrder = (dataExplorer: DataExplorer) => {
+const getOrder = (dataExplorer: DataExplorer) => {
const sortColumn = getSortColumn<ProjectResource>(dataExplorer);
const order = new OrderBuilder<ProjectResource>();
if (sortColumn && sortColumn.sort) {
filters: getFilters(dataExplorer),
});
-export const getOrder = (dataExplorer: DataExplorer) => {
+const getOrder = (dataExplorer: DataExplorer) => {
const sortColumn = getSortColumn<ProjectResource>(dataExplorer);
const order = new OrderBuilder<ProjectResource>();
if (sortColumn && sortColumn.sort) {
import { ServiceRepository } from 'services/services';
import { MiddlewareAPI, Dispatch } from 'redux';
import {
- DataExplorerMiddlewareService, dataExplorerToListParams, listResultsToDataExplorerItemsMeta, getDataExplorerColumnFilters
+ DataExplorerMiddlewareService, dataExplorerToListParams, listResultsToDataExplorerItemsMeta, getDataExplorerColumnFilters, getOrder
} 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';
import { updateResources } from 'store/resources/resources-actions';
-import { SortDirection } from 'components/data-table/data-column';
-import { OrderDirection, OrderBuilder } from 'services/api/order-builder';
import { ListResults } from 'services/common-service/common-service';
-import { getSortColumn } from "store/data-explorer/data-explorer-reducer";
import { ProcessResource } from 'models/process';
import { FilterBuilder, joinFilters } from 'services/api/filter-builder';
import { subprocessPanelActions } from './subprocess-panel-actions';
dataExplorer: DataExplorer,
parentContainerRequest: ContainerRequestResource) => ({
...dataExplorerToListParams(dataExplorer),
- order: getOrder(dataExplorer),
+ order: getOrder<ProcessResource>(dataExplorer),
filters: getFilters(dataExplorer, parentContainerRequest)
});
-const getOrder = (dataExplorer: DataExplorer) => {
- const sortColumn = getSortColumn<ProcessResource>(dataExplorer);
- const order = new OrderBuilder<ProcessResource>();
- 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();
- }
-};
-
export const getFilters = (
dataExplorer: DataExplorer,
parentContainerRequest: ContainerRequestResource) => {
import { snackbarActions, SnackbarKind } from "store/snackbar/snackbar-actions";
import { updateResources } from "store/resources/resources-actions";
import { progressIndicatorActions } from "store/progress-indicator/progress-indicator-actions";
-import { getSortColumn } from "store/data-explorer/data-explorer-reducer";
+import { DataExplorer, 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';
async requestItems(api: MiddlewareAPI<Dispatch, RootState>) {
const dataExplorer = api.getState().dataExplorer[this.getId()];
const columns = dataExplorer.columns as DataColumns<string, CollectionResource>;
- const sortColumn = getSortColumn<GroupContentsResource>(dataExplorer);
const typeFilters = serializeResourceTypeFilters(getDataExplorerColumnFilters(columns, ProjectPanelColumnNames.TYPE));
otherFilters,
);
- const order = new OrderBuilder<GroupContentsResource>();
-
- if (sortColumn && sortColumn.sort) {
- const sortDirection = sortColumn.sort.direction === SortDirection.ASC
- ? OrderDirection.ASC
- : OrderDirection.DESC;
-
- order
- .addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.COLLECTION)
- .addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROJECT);
- }
-
const userUuid = getUserUuid(api.getState());
if (!userUuid) { return; }
try {
const listResults = await this.services.groupsService
.contents(userUuid, {
...dataExplorerToListParams(dataExplorer),
- order: order.getOrder(),
+ order: getOrder(dataExplorer),
filters,
recursive: true,
includeTrash: true
}
}
+const getOrder = (dataExplorer: DataExplorer) => {
+ const sortColumn = getSortColumn<GroupContentsResource>(dataExplorer);
+ const order = new OrderBuilder<GroupContentsResource>();
+ if (sortColumn && sortColumn.sort) {
+ const sortDirection = sortColumn.sort.direction === SortDirection.ASC
+ ? OrderDirection.ASC
+ : OrderDirection.DESC;
+
+ return order
+ .addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.COLLECTION)
+ .addOrder(sortDirection, sortColumn.sort.field, GroupContentsResourcePrefix.PROJECT)
+ .getOrder();
+ } else {
+ return order.getOrder();
+ }
+};
+
const couldNotFetchTrashContents = () =>
snackbarActions.OPEN_SNACKBAR({
message: 'Could not fetch trash contents.',
.getFilters()
});
-export const getOrder = (dataExplorer: DataExplorer) => {
+const getOrder = (dataExplorer: DataExplorer) => {
const sortColumn = getSortColumn<UserResource>(dataExplorer);
const order = new OrderBuilder<UserResource>();
if (sortColumn && sortColumn.sort) {
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, getOrder, listResultsToDataExplorerItemsMeta } 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';
import { updateResources } 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 { WorkflowResource } from 'models/workflow';
import { ListResults } from 'services/common-service/common-service';
import { workflowPanelActions } from 'store/workflow-panel/workflow-panel-actions';
-import { getSortColumn } from "store/data-explorer/data-explorer-reducer";
export class WorkflowMiddlewareService extends DataExplorerMiddlewareService {
constructor(private services: ServiceRepository, id: string) {
export const getParams = (dataExplorer: DataExplorer) => ({
...dataExplorerToListParams(dataExplorer),
- order: getOrder(dataExplorer),
+ order: getOrder<WorkflowResource>(dataExplorer),
filters: getFilters(dataExplorer)
});
return filters;
};
-export const getOrder = (dataExplorer: DataExplorer) => {
- const sortColumn = getSortColumn<WorkflowResource>(dataExplorer);
- const order = new OrderBuilder<WorkflowResource>();
- 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();
- }
-};
-
export const setItems = (listResults: ListResults<WorkflowResource>) =>
workflowPanelActions.SET_ITEMS({
...listResultsToDataExplorerItemsMeta(listResults),
name: FavoritePanelColumnNames.NAME,
selected: true,
configurable: true,
- // sort: {direction: SortDirection.NONE, field: "name"},
filters: createTree(),
render: uuid => <ResourceName uuid={uuid} />
},
name: FavoritePanelColumnNames.LAST_MODIFIED,
selected: true,
configurable: true,
- // sort: {direction: SortDirection.DESC, field: "modifiedAt"},
filters: createTree(),
render: uuid => <ResourceLastModifiedDate uuid={uuid} />
}
name: PublicFavoritePanelColumnNames.NAME,
selected: true,
configurable: true,
- // sort: {direction: SortDirection.NONE, field: "name"},
filters: createTree(),
render: uuid => <ResourceName uuid={uuid} />
},
name: PublicFavoritePanelColumnNames.LAST_MODIFIED,
selected: true,
configurable: true,
- // sort: {direction: SortDirection.DESC, field: "modifiedAt"},
filters: createTree(),
render: uuid => <ResourceLastModifiedDate uuid={uuid} />
}