}
try {
api.dispatch(progressIndicatorActions.START_WORKING(this.getId()));
- const resp1 = await this.services.linkService.list({
+ const responseLinks = await this.services.linkService.list({
filters: new FilterBuilder()
.addEqual("linkClass", 'star')
.addEqual('tailUuid', this.services.authService.getUuid()!)
.addEqual('tailKind', ResourceKind.USER)
.getFilters()
}).then(results => results);
- const uuids = resp1.items.map(it => it.headUuid);
+ const uuids = responseLinks.items.map(it => it.headUuid);
const groupItems: any = await this.services.groupsService.list({
filters: new FilterBuilder()
.addIn("uuid", uuids)
response.itemsAvailable++;
response.items.push(it);
});
-
+
api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId()));
api.dispatch(resourcesActions.SET_RESOURCES(response.items));
await api.dispatch<any>(loadMissingProcessesInformation(response.items));
api.dispatch(progressIndicatorActions.START_WORKING(this.getId()));
const uuidPrefix = api.getState().config.uuidPrefix;
const uuid = `${uuidPrefix}-j7d0g-fffffffffffffff`;
- const response = await this.services.linkService.list({
+ const responseLinks = await this.services.linkService.list({
limit: dataExplorer.rowsPerPage,
offset: dataExplorer.page * dataExplorer.rowsPerPage,
filters: new FilterBuilder()
.addIsA("headUuid", typeFilters)
.getFilters()
});
+ const uuids = responseLinks.items.map(it => it.headUuid);
+ const groupItems: any = await this.services.groupsService.list({
+ filters: new FilterBuilder()
+ .addIn("uuid", uuids)
+ .addILike("name", dataExplorer.searchValue)
+ .addIsA("uuid", typeFilters)
+ .getFilters()
+ });
+ const collectionItems: any = await this.services.collectionService.list({
+ filters: new FilterBuilder()
+ .addIn("uuid", uuids)
+ .addILike("name", dataExplorer.searchValue)
+ .addIsA("uuid", typeFilters)
+ .getFilters()
+ });
+ const processItems: any = await this.services.containerRequestService.list({
+ filters: new FilterBuilder()
+ .addIn("uuid", uuids)
+ .addILike("name", dataExplorer.searchValue)
+ .addIsA("uuid", typeFilters)
+ .getFilters()
+ });
+ const response = groupItems;
+ collectionItems.items.map((it: any) => {
+ response.itemsAvailable++;
+ response.items.push(it);
+ });
+ processItems.items.map((it: any) => {
+ response.itemsAvailable++;
+ response.items.push(it);
+ });
api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId()));
api.dispatch(resourcesActions.SET_RESOURCES(response.items));
api.dispatch(publicFavoritePanelActions.SET_ITEMS({
- items: response.items.map(resource => resource.uuid),
+ items: response.items.map((resource: any) => resource.uuid),
itemsAvailable: response.itemsAvailable,
page: Math.floor(response.offset / response.limit),
rowsPerPage: response.limit
}));
- api.dispatch<any>(updatePublicFavorites(response.items.map(item => item.headUuid)));
+ api.dispatch<any>(updatePublicFavorites(response.items.map((item: any) => item.uuid)));
} catch (e) {
api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId()));
api.dispatch(publicFavoritePanelActions.SET_ITEMS({
import { snackbarActions, SnackbarKind } from "~/store/snackbar/snackbar-actions";
import { ServiceRepository } from "~/services/services";
import { progressIndicatorActions } from "~/store/progress-indicator/progress-indicator-actions";
-import { getResource } from '~/store/resources/resources';
-import { LinkResource } from "~/models/link";
export const publicFavoritesActions = unionize({
TOGGLE_PUBLIC_FAVORITE: ofType<{ resourceUuid: string }>(),
});
};
-export const getHeadUuid = (uuid: string) =>
- (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
- const resource = getResource<LinkResource>(uuid)(getState().resources);
- return resource!.headUuid;
- };
-
export const getIsAdmin = () =>
(dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
const resource = getState().auth.user!.isAdmin;
// SPDX-License-Identifier: AGPL-3.0
import * as React from 'react';
-import { Grid, Typography, withStyles, Tooltip, IconButton, Checkbox, Button } from '@material-ui/core';
+import { Grid, Typography, withStyles, Tooltip, IconButton, Checkbox } from '@material-ui/core';
import { FavoriteStar, PublicFavoriteStar } from '../favorite-star/favorite-star';
import { ResourceKind, TrashableResource } from '~/models/resource';
import { ProjectIcon, CollectionIcon, ProcessIcon, DefaultIcon, WorkflowIcon, ShareIcon } from '~/components/icon/icon';
return resource || { uuid: '' };
})(renderUuid);
-const renderLinkNameAndIcon = (item: { name: string; headUuid: string, headKind: string }) =>
- <Grid container alignItems="center" wrap="nowrap" spacing={16}>
- <Grid item>
- {renderIcon(item.headKind)}
- </Grid>
- <Grid item>
- <Typography color="primary" style={{ width: 'auto' }}>
- {item.name}
- </Typography>
- </Grid>
- <Grid item>
- <Typography variant="caption">
- <FavoriteStar resourceUuid={item.headUuid} />
- <PublicFavoriteStar resourceUuid={item.headUuid} />
- </Typography>
- </Grid>
- </Grid>;
-
-export const ResourceLinkNameAndIcon = connect(
- (state: RootState, props: { uuid: string }) => {
- const resource = getResource<LinkResource>(props.uuid)(state.resources);
- return resource || { name: '', headUuid: '', headKind: '' };
- })(renderLinkNameAndIcon);
-
-export const ResourceLinkType = connect(
- (state: RootState, props: { uuid: string }) => {
- const resource = getResource<LinkResource>(props.uuid)(state.resources);
- return { type: resource ? resource.headKind : '' };
- })((props: { type: string }) => renderType(props.type));
-
// Process Resources
const resourceRunProcess = (dispatch: Dispatch, uuid: string) => {
return (
ProcessStatus,
ResourceFileSize,
ResourceLastModifiedDate,
- ResourceLinkNameAndIcon,
- ResourceLinkType
+ ResourceType,
+ ResourceName
} from '~/views-components/data-explorer/renderers';
import { PublicFavoriteIcon } from '~/components/icon/icon';
import { Dispatch } from 'redux';
import { getSimpleObjectTypeFilters } from '~/store/resource-type-filters/resource-type-filters';
import { PUBLIC_FAVORITE_PANEL_ID } from '~/store/public-favorites-panel/public-favorites-action';
import { PublicFavoritesState } from '~/store/public-favorites/public-favorites-reducer';
-import { getHeadUuid, getIsAdmin } from '~/store/public-favorites/public-favorites-actions';
+import { getIsAdmin } from '~/store/public-favorites/public-favorites-actions';
type CssRules = "toolbar" | "button";
},
});
-export enum FavoritePanelColumnNames {
+export enum PublicFavoritePanelColumnNames {
NAME = "Name",
STATUS = "Status",
TYPE = "Type",
export const publicFavoritePanelColumns: DataColumns<string> = [
{
- name: FavoritePanelColumnNames.NAME,
+ name: PublicFavoritePanelColumnNames.NAME,
selected: true,
configurable: true,
sortDirection: SortDirection.NONE,
filters: createTree(),
- render: uuid => <ResourceLinkNameAndIcon uuid={uuid} />
+ render: uuid => <ResourceName uuid={uuid} />
},
{
name: "Status",
render: uuid => <ProcessStatus uuid={uuid} />
},
{
- name: FavoritePanelColumnNames.TYPE,
+ name: PublicFavoritePanelColumnNames.TYPE,
selected: true,
configurable: true,
filters: getSimpleObjectTypeFilters(),
- render: uuid => <ResourceLinkType uuid={uuid} />
+ render: uuid => <ResourceType uuid={uuid} />
},
{
- name: FavoritePanelColumnNames.FILE_SIZE,
+ name: PublicFavoritePanelColumnNames.FILE_SIZE,
selected: true,
configurable: true,
filters: createTree(),
render: uuid => <ResourceFileSize uuid={uuid} />
},
{
- name: FavoritePanelColumnNames.LAST_MODIFIED,
+ name: PublicFavoritePanelColumnNames.LAST_MODIFIED,
selected: true,
configurable: true,
sortDirection: SortDirection.DESC,
const mapDispatchToProps = (dispatch: Dispatch): PublicFavoritePanelActionProps => ({
onContextMenu: (event, resourceUuid) => {
const isAdmin = dispatch<any>(getIsAdmin());
- const kind = resourceKindToContextMenuKind(dispatch<any>(getHeadUuid(resourceUuid)), isAdmin);
+ const kind = resourceKindToContextMenuKind(resourceUuid, isAdmin);
if (kind) {
dispatch<any>(openContextMenu(event, {
name: '',
- uuid: dispatch<any>(getHeadUuid(resourceUuid)),
+ uuid: resourceUuid,
ownerUuid: '',
kind: ResourceKind.NONE,
menuKind: kind
}));
}
- dispatch<any>(loadDetailsPanel(dispatch<any>(getHeadUuid(resourceUuid))));
+ dispatch<any>(loadDetailsPanel(resourceUuid));
},
onDialogOpen: (ownerUuid: string) => { return; },
onItemClick: (uuid: string) => {
- dispatch<any>(loadDetailsPanel(dispatch<any>(getHeadUuid(uuid))));
+ dispatch<any>(loadDetailsPanel(uuid));
},
onItemDoubleClick: uuid => {
- dispatch<any>(navigateTo(dispatch<any>(getHeadUuid(uuid))));
+ dispatch<any>(navigateTo(uuid));
}
});