5e7d159d6494b0686b1822306f91500928d7a95f
[arvados-workbench2.git] / src / components / details-panel-factory / items / abstract-item.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import * as React from 'react';
6 import { DetailsPanelResource } from "./../details-panel-factory";
7 import { IconTypes } from '../../icon/icon';
8
9 export abstract class AbstractItem {
10     protected item: DetailsPanelResource;
11
12     constructor(item: DetailsPanelResource) {
13         this.item = item;
14     }
15
16     getTitle(): string {
17         return this.item.name;
18     }
19
20     abstract getIcon(): IconTypes;
21     abstract buildDetails(): React.ReactElement<any>;
22     
23     buildActivity(): React.ReactElement<any> {
24         return <div/>;
25     }
26 }