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';
export const PROJECT_PANEL_ID = "projectPanel";
+export interface ProjectPanelFilter extends DataTableFilterItem {
+ type: ResourceKind;
+}
+
type ProjectPanelProps = {
currentItemId: string,
onItemClick: (item: ProjectPanelItem) => void,
{owner}
</Typography>;
-const getItemTypeLabel = (type: string) => {
+
+
+const typeToLabel = (type: string) => {
switch(type){
case ResourceKind.Collection:
return "Data collection";
return "Project";
case ResourceKind.Process:
return "Process";
- case ResourceKind.Workflow:
- return "Workflow";
default:
return "Unknown";
}
const renderType = (type: string) => {
return <Typography noWrap>
- {getItemTypeLabel(type)}
+ {typeToLabel(type)}
</Typography>;
};
{item.status || "-"}
</Typography>;
-export const columns: DataColumns<ProjectPanelItem> = [{
+
+
+export const columns: DataColumns<ProjectPanelItem, ProjectPanelFilter> = [{
name: "Name",
selected: true,
sortDirection: "desc",
name: "Type",
selected: true,
filters: [{
- name: "Collection",
- selected: true
+ name: typeToLabel(ResourceKind.Collection),
+ selected: true,
+ type: ResourceKind.Collection
+ }, {
+ name: typeToLabel(ResourceKind.Process),
+ selected: true,
+ type: ResourceKind.Process
}, {
- name: "Project",
- selected: true
+ name: typeToLabel(ResourceKind.Project),
+ selected: true,
+ type: ResourceKind.Project
}],
render: item => renderType(item.kind),
width: "125px"