cy.getAll('@mySharedWritableProject')
.then(function ([mySharedWritableProject]) {
cy.loginAs(activeUser);
-
+
cy.get('[data-cy=side-panel-tree]').contains('Projects').click();
const newProjectName = `New project name ${mySharedWritableProject.name}`;
addToFavorites: false
});
- cy.getAll('@writableProject')
- .then(function ([writableProject]) {
- cy.loginAs(activeUser);
-
- cy.get('[data-cy=side-panel-tree]').contains('Projects').click();
-
- cy.get('[data-cy=side-panel-tree]').contains(writableProject.name).should('exist');
-
- cy.trashGroup(activeUser.token, writableProject.uuid);
-
+ cy.getAll('@writableProject').then(function ([writableProject]) {
+ cy.loginAs(activeUser);
+ cy.get('[data-cy=side-panel-tree]')
+ .contains('Projects').click();
+ cy.get('[data-cy=side-panel-tree]')
+ .contains(writableProject.name).should('exist');
+ cy.trashGroup(activeUser.token, writableProject.uuid).then(() => {
cy.contains('Refresh').click();
-
cy.contains(writableProject.name).should('not.exist');
});
+ });
});
})
];
const dataTable = mount(<DataTable
columns={columns}
+ working={false}
items={["item 1"]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
];
const dataTable = mount(<DataTable
columns={columns}
+ working={false}
items={["item 1"]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
</TableRow>
</TableHead>
<TableBody className={classes.tableBody}>
- {
- this.props.working ?
- <div className={classes.loader}>
- <DataTableDefaultView
- icon={PendingIcon}
- messages={['Loading data, please wait.']} />
- </div> : items.map(this.renderBodyRow)
- }
+ { this.props.working !== undefined && !this.props.working && items.map(this.renderBodyRow) }
</TableBody>
</Table>
+ { this.props.working &&
+ <div className={classes.loader}>
+ <DataTableDefaultView
+ icon={PendingIcon}
+ messages={['Loading data, please wait.']} />
+ </div> }
{items.length === 0 && this.props.working !== undefined && !this.props.working && this.renderNoItemsPlaceholder()}
</div>
</div>;
try {
api.dispatch(progressIndicatorActions.START_WORKING(this.getId()));
const response = await this.services.groupsService.contents(projectUuid, getParams(dataExplorer, !!isProjectTrashed));
- api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId()));
const resourceUuids = response.items.map(item => item.uuid);
api.dispatch<any>(updateFavorites(resourceUuids));
api.dispatch<any>(updatePublicFavorites(resourceUuids));
async (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
const userUuid = getUserUuid(getState());
dispatch(setIsProjectPanelTrashed(false));
- if (userUuid) {
- if (extractUuidKind(uuid) === ResourceKind.USER && userUuid !== uuid) {
- // Load another users home projects
- dispatch(finishLoadingProject(uuid));
- } else if (userUuid !== uuid) {
- const match = await loadGroupContentsResource({ uuid, userUuid, services });
- match({
- OWNED: async project => {
- await dispatch(activateSidePanelTreeItem(uuid));
- dispatch<any>(setSidePanelBreadcrumbs(uuid));
- dispatch(finishLoadingProject(project));
- },
- SHARED: project => {
- dispatch<any>(setSharedWithMeBreadcrumbs(uuid));
- dispatch(activateSidePanelTreeItem(uuid));
- dispatch(finishLoadingProject(project));
- },
- TRASHED: project => {
- dispatch<any>(setTrashBreadcrumbs(uuid));
- dispatch(setIsProjectPanelTrashed(true));
- dispatch(activateSidePanelTreeItem(SidePanelTreeCategory.TRASH));
- dispatch(finishLoadingProject(project));
- }
- });
- } else {
- await dispatch(activateSidePanelTreeItem(userUuid));
- dispatch<any>(setSidePanelBreadcrumbs(userUuid));
- dispatch(finishLoadingProject(userUuid));
- }
+ if (!userUuid) {
+ return;
+ }
+ if (extractUuidKind(uuid) === ResourceKind.USER && userUuid !== uuid) {
+ // Load another users home projects
+ dispatch(finishLoadingProject(uuid));
+ } else if (userUuid !== uuid) {
+ await dispatch(finishLoadingProject(uuid));
+ const match = await loadGroupContentsResource({ uuid, userUuid, services });
+ match({
+ OWNED: async () => {
+ await dispatch(activateSidePanelTreeItem(uuid));
+ dispatch<any>(setSidePanelBreadcrumbs(uuid));
+ },
+ SHARED: async () => {
+ await dispatch(activateSidePanelTreeItem(uuid));
+ dispatch<any>(setSharedWithMeBreadcrumbs(uuid));
+ },
+ TRASHED: async () => {
+ await dispatch(activateSidePanelTreeItem(SidePanelTreeCategory.TRASH));
+ dispatch<any>(setTrashBreadcrumbs(uuid));
+ dispatch(setIsProjectPanelTrashed(true));
+ }
+ });
+ } else {
+ await dispatch(finishLoadingProject(userUuid));
+ await dispatch(activateSidePanelTreeItem(userUuid));
+ dispatch<any>(setSidePanelBreadcrumbs(userUuid));
}
});
import * as Routes from 'routes/routes';
import { toggleDetailsPanel } from 'store/details-panel/details-panel-action';
import RefreshButton from "components/refresh-button/refresh-button";
-import { reloadProjectMatchingUuid } from "store/workbench/workbench-actions";
import { loadSidePanelTreeProjects } from "store/side-panel-tree/side-panel-tree-actions";
type CssRules = "infoTooltip";
onDetailsPanelToggle: () => dispatch<any>(toggleDetailsPanel()),
onRefreshButtonClick: (id) => {
dispatch<any>(loadSidePanelTreeProjects(id));
- dispatch<any>(reloadProjectMatchingUuid([id]));
}
}))(
withStyles(styles)(