- event.preventDefault();
- const resource = getResource(resourceUuid)(this.props.resources) as CollectionResource | ProjectResource | undefined;
- if (resource) {
- let kind: ContextMenuKind;
-
- if (resource.kind === ResourceKind.PROJECT) {
- kind = ContextMenuKind.PROJECT;
- } else if (resource.kind === ResourceKind.COLLECTION) {
- kind = ContextMenuKind.COLLECTION_RESOURCE;
- } else {
- kind = ContextMenuKind.RESOURCE;
- }
- if (kind !== ContextMenuKind.RESOURCE) {
- this.props.dispatch(
- contextMenuActions.OPEN_CONTEXT_MENU({
- position: { x: event.clientX, y: event.clientY },
- resource: {
- uuid: resource.uuid,
- name: resource.name || '',
- description: resource.description,
- kind,
- }
- })
- );
- }
+ const menuKind = resourceKindToContextMenuKind(resourceUuid, this.props.isAdmin);
+ const resource = getResource<ProjectResource>(resourceUuid)(this.props.resources);
+ if (menuKind && resource) {
+ this.props.dispatch<any>(openContextMenu(event, {
+ name: resource.name,
+ uuid: resource.uuid,
+ ownerUuid: resource.ownerUuid,
+ isTrashed: resource.isTrashed,
+ kind: resource.kind,
+ menuKind
+ }));