1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import ProjectItem from './items/project-item';
6 import CollectionItem from './items/collection-item';
7 import ProcessItem from './items/process-item';
8 import AbstractItem from './items/abstract-item';
9 import EmptyItem from './items/empty-item';
10 import { DetailsPanelResource } from '../../views-components/details-panel/details-panel';
11 import { EmptyResource } from '../../models/empty';
12 import { ResourceKind } from '../../models/resource';
14 export default class DetailsPanelFactory {
15 static createItem(res: DetailsPanelResource): AbstractItem {
17 case ResourceKind.Project:
18 return new ProjectItem(res);
19 case ResourceKind.Collection:
20 return new CollectionItem(res);
21 case ResourceKind.Process:
22 return new ProcessItem(res);
24 return new EmptyItem(res as EmptyResource);