1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from 'react';
6 import { IconTypes } from '../../icon/icon';
7 import { DetailsPanelResource } from '../../../views-components/details-panel/details-panel';
9 export default abstract class AbstractItem<T extends DetailsPanelResource = DetailsPanelResource> {
11 constructor(protected item: T) {}
14 return this.item.name;
17 abstract getIcon(): IconTypes;
18 abstract buildDetails(): React.ReactElement<any>;
20 buildActivity(): React.ReactElement<any> {