import { Dispatch } from 'redux';
import { isSidePanelTreeCategory, SidePanelTreeCategory } from '~/store/side-panel-tree/side-panel-tree-actions';
-import { navigateToFavorites, navigateTo } from '../navigation/navigation-action';
+import { navigateToFavorites, navigateTo, navigateToTrash } from '../navigation/navigation-action';
import { snackbarActions } from '~/store/snackbar/snackbar-actions';
export const navigateFromSidePanel = (id: string) =>
switch (id) {
case SidePanelTreeCategory.FAVORITES:
return navigateToFavorites;
+ case SidePanelTreeCategory.TRASH:
+ return navigateToTrash;
default:
return sidePanelTreeCategoryNotAvailable(id);
}
snackbarActions.OPEN_SNACKBAR({
message: `${id} not available`,
hideDuration: 3000,
- });
\ No newline at end of file
+ });
import { openCollectionCreateDialog } from '../../store/collections/collection-create-actions';
import { openProjectCreateDialog } from '~/store/projects/project-create-actions';
import { ContainerRequestState } from "~/models/container-request";
+import { ProjectResource } from "~/models/project";
type CssRules = 'root' | "toolbar" | "button";
type: ResourceKind | ContainerRequestState;
}
-export const projectPanelColumns: DataColumns<string, ProjectPanelFilter> = [
+export const projectPanelColumns: DataColumns<ProjectResource, ProjectPanelFilter> = [
{
name: ProjectPanelColumnNames.NAME,
selected: true,
configurable: true,
sortDirection: SortDirection.ASC,
filters: [],
- render: uuid => <ResourceName uuid={uuid} />,
+ render: res => <ResourceName uuid={res.uuid} />,
width: "450px"
},
{
type: ContainerRequestState.UNCOMMITTED
}
],
- render: uuid => <ProcessStatus uuid={uuid} />,
+ render: res => <ProcessStatus uuid={res.uuid} />,
width: "75px"
},
{
type: ResourceKind.PROJECT
}
],
- render: uuid => <ResourceType uuid={uuid} />,
+ render: res => <ResourceType uuid={res.uuid} />,
width: "125px"
},
{
configurable: true,
sortDirection: SortDirection.NONE,
filters: [],
- render: uuid => <ResourceOwner uuid={uuid} />,
+ render: res => <ResourceOwner uuid={res.uuid} />,
width: "200px"
},
{
configurable: true,
sortDirection: SortDirection.NONE,
filters: [],
- render: uuid => <ResourceFileSize uuid={uuid} />,
+ render: res => <ResourceFileSize uuid={res.uuid} />,
width: "50px"
},
{
configurable: true,
sortDirection: SortDirection.NONE,
filters: [],
- render: uuid => <ResourceLastModifiedDate uuid={uuid} />,
+ render: res => <ResourceLastModifiedDate uuid={res.uuid} />,
width: "150px"
}
];
this.props.dispatch<any>(openCollectionCreateDialog(this.props.currentItemId));
}
- handleContextMenu = (event: React.MouseEvent<HTMLElement>, resourceUuid: string) => {
- const kind = resourceKindToContextMenuKind(resourceUuid);
+ handleContextMenu = (event: React.MouseEvent<HTMLElement>, resource: ProjectResource) => {
+ const kind = resourceKindToContextMenuKind(resource.uuid);
if (kind) {
- this.props.dispatch<any>(openContextMenu(event, { name: '', uuid: resourceUuid, kind }));
+ this.props.dispatch<any>(openContextMenu(event, {
+ name: resource.name,
+ uuid: resource.uuid,
+ ownerUuid: resource.ownerUuid,
+ isTrashed: resource.isTrashed,
+ kind
+ }));
}
}
import { TRASH_PANEL_ID } from "~/store/trash-panel/trash-panel-action";
import { getProperty } from "~/store/properties/properties";
import { PROJECT_PANEL_CURRENT_UUID } from "~/store/project-panel/project-panel-action";
+import { openContextMenu, resourceKindToContextMenuKind } from "~/store/context-menu/context-menu-actions";
type CssRules = "toolbar" | "button";
defaultMessages={['Your trash list is empty.']}/>
;
}
+
+ handleContextMenu = (event: React.MouseEvent<HTMLElement>, resourceUuid: string) => {
+ const kind = resourceKindToContextMenuKind(resourceUuid);
+ if (kind) {
+ this.props.dispatch<any>(openContextMenu(event, { name: '', uuid: resourceUuid, kind }));
+ }
+ }
}
)
);