Implement better pattern for hanling actions in context menu
[arvados.git] / src / views / project-panel / project-panel.tsx
index 01e39edccdb0e740316bbe74d0dcfaf6ba51407e..e34ea1ecda6c72c6bc124ab4113376733d288872 100644 (file)
@@ -11,10 +11,11 @@ import { DispatchProp, connect } from 'react-redux';
 import { DataColumns } from '../../components/data-table/data-table';
 import { RouteComponentProps } from 'react-router';
 import { RootState } from '../../store/store';
-import { ResourceKind } from '../../models/kinds';
 import { DataTableFilterItem } from '../../components/data-table-filters/data-table-filters';
 import { ContainerRequestState } from '../../models/container-request';
 import { SortDirection } from '../../components/data-table/data-column';
+import { ResourceKind } from '../../models/resource';
+import { resourceLabel } from '../../common/labels';
 
 export const PROJECT_PANEL_ID = "projectPanel";
 
@@ -121,24 +122,9 @@ const renderOwner = (owner: string) =>
         {owner}
     </Typography>;
 
-
-
-const typeToLabel = (type: string) => {
-    switch (type) {
-        case ResourceKind.Collection:
-            return "Data collection";
-        case ResourceKind.Project:
-            return "Project";
-        case ResourceKind.Process:
-            return "Process";
-        default:
-            return "Unknown";
-    }
-};
-
 const renderType = (type: string) => {
     return <Typography noWrap>
-        {typeToLabel(type)}
+        {resourceLabel(type)}
     </Typography>;
 };
 
@@ -185,15 +171,15 @@ export const columns: DataColumns<ProjectPanelItem, ProjectPanelFilter> = [{
     name: ProjectPanelColumnNames.Type,
     selected: true,
     filters: [{
-        name: typeToLabel(ResourceKind.Collection),
+        name: resourceLabel(ResourceKind.Collection),
         selected: true,
         type: ResourceKind.Collection
     }, {
-        name: typeToLabel(ResourceKind.Process),
+        name: resourceLabel(ResourceKind.Process),
         selected: true,
         type: ResourceKind.Process
     }, {
-        name: typeToLabel(ResourceKind.Project),
+        name: resourceLabel(ResourceKind.Project),
         selected: true,
         type: ResourceKind.Project
     }],