Skip to content

Commit

Permalink
Merge pull request #405 from tapis-project/task/TUI-400
Browse files Browse the repository at this point in the history
Task/TUI-400-mlhub-datasets-page
  • Loading branch information
NotChristianGarcia authored Jul 24, 2024
2 parents f85da2e + f715db4 commit 0b7fcf1
Show file tree
Hide file tree
Showing 8 changed files with 104 additions and 3 deletions.
8 changes: 8 additions & 0 deletions src/app/MlHub/Datasets/Datasets.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.datasets-table {
padding-left: 1em;
padding-right: 1em;
}

.datasets-name-column {
text-overflow: ellipsis;
}
47 changes: 47 additions & 0 deletions src/app/MlHub/Datasets/Datasets.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import React from 'react';
import { Link, useRouteMatch } from 'react-router-dom';
import { Datasets as DatasetsModule } from '@tapis/tapis-typescript';
import { Icon, QueryWrapper } from '@tapis/tapisui-common';
import { MLHub as Hooks } from '@tapis/tapisui-hooks';
import { Table } from 'reactstrap';
import styles from './Datasets.module.scss';

const Datasets: React.FC = () => {
const { data, isLoading, error } = Hooks.Datasets.useList();
const datasets: DatasetsModule.DatasetShortInfo = data?.result ?? {};
const { path } = useRouteMatch();

return (
<QueryWrapper
isLoading={isLoading}
error={error}
className={styles['datasets-table']}
>
<Table responsive striped>
<thead>
<tr>
<th>Dataset ID</th>
<th>Downloads</th>
<th>Last Modified</th>
</tr>
</thead>
<tbody>
{Object.entries(datasets).map((dataset) => (
<tr>
<td className={`${styles['dataset-name-column']}`}>
<Icon name="search-folder" />
<span>
<Link to={`${path}/${dataset[0]}`}>{dataset[0]}</Link>
</span>
</td>
<td>{dataset[1].downloads}</td>
<td>{dataset[1].last_modified}</td>
</tr>
))}
</tbody>
</Table>
</QueryWrapper>
);
};

export default Datasets;
8 changes: 8 additions & 0 deletions src/app/MlHub/Datasets/_Layout/Layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import React from 'react';
import { Router } from '../_Router';

const Layout: React.FC = () => {
return <Router />;
};

export default Layout;
1 change: 1 addition & 0 deletions src/app/MlHub/Datasets/_Layout/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default as Layout } from './Layout';
21 changes: 21 additions & 0 deletions src/app/MlHub/Datasets/_Router/Router.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import React from 'react';
import {
Route,
useRouteMatch,
Switch,
RouteComponentProps,
} from 'react-router-dom';
import Datasets from '../Datasets';

const Router: React.FC = () => {
const { path } = useRouteMatch();
return (
<Switch>
<Route path={`${path}`} exact>
<Datasets />
</Route>
</Switch>
);
};

export default Router;
1 change: 1 addition & 0 deletions src/app/MlHub/Datasets/_Router/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default as Router } from './Router';
16 changes: 13 additions & 3 deletions src/app/MlHub/Models/InferenceServerInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { MLHub as Hooks } from '@tapis/tapisui-hooks';
import { JSONDisplay } from '@tapis/tapisui-common';
import styles from './ModelDetails.module.scss';
import { QueryWrapper } from '@tapis/tapisui-common';
import { Link, useRouteMatch } from 'react-router-dom';

type InferenceServerInfoProps = {
modelId: string;
Expand All @@ -17,6 +18,9 @@ const InferenceServerInfo: React.FC<InferenceServerInfoProps> = ({
isError,
isLoading,
} = Hooks.Models.useInferenceServerDetails({ modelId });

const { path } = useRouteMatch();

if (isLoading) {
return <p>Loading...</p>;
}
Expand All @@ -31,7 +35,6 @@ const InferenceServerInfo: React.FC<InferenceServerInfoProps> = ({

if (serverInfo) {
const { message, metadata, result, status, version } = serverInfo;
// console.log ("serverInfo" , serverInfo)

if (
parseInt(serverInfo.status!) === 200 ||
Expand All @@ -58,7 +61,14 @@ const InferenceServerInfo: React.FC<InferenceServerInfoProps> = ({
inference_endpoint:
</div>
<div className={`${styles['detail-info']}`}>
{serverInfo.result.inference_endpoint}
<span>
<Link
to={`${path}/${serverInfo.result.inference_endpoint}`}
>
{' '}
{serverInfo.result.inference_endpoint}{' '}
</Link>
</span>
</div>
</div>
)}
Expand All @@ -77,7 +87,7 @@ const InferenceServerInfo: React.FC<InferenceServerInfoProps> = ({
inference_server_possible:
</div>
<div className={`${styles['detail-info']}`}>
{serverInfo.result?.inference_server_possible}
{String(serverInfo.result?.inference_server_possible)}
</div>
</div>
</>
Expand Down
5 changes: 5 additions & 0 deletions src/app/MlHub/_Router/Router.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React from 'react';
import { Route, useRouteMatch, Switch } from 'react-router-dom';
import { Dashboard } from '../Dashboard';
import { Layout as ModelsLayout } from '../Models/_Layout';
import { Layout as DatasetsLayout } from '../Datasets/_Layout';

const Router: React.FC = () => {
const { path } = useRouteMatch();
Expand All @@ -14,6 +15,10 @@ const Router: React.FC = () => {
<Route path={`${path}/models`}>
<ModelsLayout />
</Route>

<Route path={`${path}/datasets`}>
<DatasetsLayout />
</Route>
</Switch>
);
};
Expand Down

0 comments on commit 0b7fcf1

Please sign in to comment.