45afb02b5a4a562b41a90cd94fcca3c8c3c9eb4e
[arvados-workbench2.git] / src / views-components / details-panel / details-data.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 { DetailsResource } from "~/models/details";
7 import { ResourceData } from "~/store/resources-data/resources-data-reducer";
8
9 export abstract class DetailsData<T extends DetailsResource = DetailsResource> {
10     constructor(protected item: T, protected data?: ResourceData) {}
11
12     getTitle(): string {
13         return this.item.name || 'Projects';
14     }
15
16     abstract getIcon(className?: string): React.ReactElement<any>;
17     abstract getDetails(): React.ReactElement<any>;
18
19     getActivity(): React.ReactElement<any> {
20         return <div/>;
21     }
22 }