X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/efcea950b84b26c4cbbdf4df8fd5c88f6c846da9..5385afcada8666051658c6889c83848702497759:/src/views-components/side-panel-button/side-panel-button.tsx diff --git a/src/views-components/side-panel-button/side-panel-button.tsx b/src/views-components/side-panel-button/side-panel-button.tsx index 07784c5e..bf03bf6c 100644 --- a/src/views-components/side-panel-button/side-panel-button.tsx +++ b/src/views-components/side-panel-button/side-panel-button.tsx @@ -15,7 +15,7 @@ import { navigateToRunProcess } from '~/store/navigation/navigation-action'; import { runProcessPanelActions } from '~/store/run-process-panel/run-process-panel-actions'; import { getUserUuid } from '~/common/getuser'; import { matchProjectRoute } from '~/routes/routes'; -import { GroupResource } from '~/models/group'; +import { GroupClass, GroupResource } from '~/models/group'; import { ResourcesState, getResource } from '~/store/resources/resources'; import { extractUuidKind, ResourceKind } from '~/models/resource'; @@ -54,11 +54,12 @@ const transformOrigin: PopoverOrigin = { horizontal: 0 }; -const isProjectTrashed = (proj: GroupResource, resources: ResourcesState): boolean => { +export const isProjectTrashed = (proj: GroupResource | undefined, resources: ResourcesState): boolean => { + if (proj === undefined) { return false; } if (proj.isTrashed) { return true; } if (extractUuidKind(proj.ownerUuid) === ResourceKind.USER) { return false; } const parentProj = getResource(proj.ownerUuid)(resources); - return isProjectTrashed(parentProj!, resources); + return isProjectTrashed(parentProj, resources); }; export const SidePanelButton = withStyles(styles)( @@ -86,7 +87,8 @@ export const SidePanelButton = withStyles(styles)( const currentProject = getResource(currentItemId)(resources); if (currentProject && currentProject.writableBy.indexOf(currentUserUUID || '') >= 0 && - !isProjectTrashed(currentProject, resources)) { + !isProjectTrashed(currentProject, resources) && + currentProject.groupClass !== GroupClass.FILTER) { enabled = true; } } @@ -149,4 +151,4 @@ export const SidePanelButton = withStyles(styles)( } } ) -); \ No newline at end of file +);