Skip to content

Commit

Permalink
Update empty state of versions list and models lists (#3277)
Browse files Browse the repository at this point in the history
  • Loading branch information
ppadti authored Oct 9, 2024
1 parent c8d7822 commit 08c8250
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 12 deletions.
6 changes: 1 addition & 5 deletions frontend/src/pages/modelRegistry/screens/ModelRegistry.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import ApplicationsPage from '~/pages/ApplicationsPage';
import useRegisteredModels from '~/concepts/modelRegistry/apiHooks/useRegisteredModels';
import TitleWithIcon from '~/concepts/design/TitleWithIcon';
import { ProjectObjectType } from '~/concepts/design/utils';
import { filterLiveModels } from '~/concepts/modelRegistry/utils';
import RegisteredModelListView from './RegisteredModels/RegisteredModelListView';
import ModelRegistrySelectorNavigator from './ModelRegistrySelectorNavigator';
import { modelRegistryUrl } from './routeUtils';
Expand Down Expand Up @@ -39,10 +38,7 @@ const ModelRegistry: React.FC<ModelRegistryProps> = ({ ...pageProps }) => {
provideChildrenPadding
removeChildrenTopPadding
>
<RegisteredModelListView
registeredModels={filterLiveModels(registeredModels.items)}
refresh={refresh}
/>
<RegisteredModelListView registeredModels={registeredModels.items} refresh={refresh} />
</ApplicationsPage>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import {
} from '~/pages/modelRegistry/screens/routeUtils';
import { asEnumMember } from '~/utilities/utils';
import { ProjectObjectType, typedEmptyImage } from '~/concepts/design/utils';
import { filterArchiveVersions, filterLiveVersions } from '~/concepts/modelRegistry/utils';
import ModelVersionsTable from './ModelVersionsTable';

type ModelVersionListViewProps = {
Expand All @@ -41,11 +42,16 @@ type ModelVersionListViewProps = {
};

const ModelVersionListView: React.FC<ModelVersionListViewProps> = ({
modelVersions: unfilteredModelVersions,
modelVersions,
registeredModel: rm,
isArchiveModel,
refresh,
}) => {
const unfilteredModelVersions = isArchiveModel
? modelVersions
: filterLiveVersions(modelVersions);

const archiveModelVersions = filterArchiveVersions(modelVersions);
const navigate = useNavigate();
const { preferredModelRegistry } = React.useContext(ModelRegistrySelectorContext);

Expand Down Expand Up @@ -88,10 +94,12 @@ const ModelVersionListView: React.FC<ModelVersionListViewProps> = ({
)}
description={`${rm?.name} has no registered versions. Register a version to this model.`}
primaryActionText="Register new version"
secondaryActionText="View archived versions"
primaryActionOnClick={() => {
navigate(registerVersionForModelUrl(rm?.id, preferredModelRegistry?.metadata.name));
}}
secondaryActionText={
archiveModelVersions.length !== 0 ? 'View archived versions' : undefined
}
secondaryActionOnClick={() => {
navigate(modelVersionArchiveUrl(rm?.id, preferredModelRegistry?.metadata.name));
}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import ApplicationsPage from '~/pages/ApplicationsPage';
import useModelVersionsByRegisteredModel from '~/concepts/modelRegistry/apiHooks/useModelVersionsByRegisteredModel';
import useRegisteredModelById from '~/concepts/modelRegistry/apiHooks/useRegisteredModelById';
import { ModelRegistrySelectorContext } from '~/concepts/modelRegistry/context/ModelRegistrySelectorContext';
import { filterLiveVersions } from '~/concepts/modelRegistry/utils';
import { ModelState } from '~/concepts/modelRegistry/types';
import { registeredModelArchiveDetailsUrl } from '~/pages/modelRegistry/screens/routeUtils';
import ModelVersionsTabs from './ModelVersionsTabs';
Expand Down Expand Up @@ -65,7 +64,7 @@ const ModelVersions: React.FC<ModelVersionsProps> = ({ tab, ...pageProps }) => {
registeredModel={rm}
refresh={rmRefresh}
mvRefresh={mvRefresh}
modelVersions={filterLiveVersions(modelVersions.items)}
modelVersions={modelVersions.items}
/>
)}
</ApplicationsPage>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
} from '~/pages/modelRegistry/screens/routeUtils';
import { asEnumMember } from '~/utilities/utils';
import { ProjectObjectType, typedEmptyImage } from '~/concepts/design/utils';
import { filterArchiveModels, filterLiveModels } from '~/concepts/modelRegistry/utils';
import RegisteredModelTable from './RegisteredModelTable';
import RegisteredModelsTableToolbar from './RegisteredModelsTableToolbar';

Expand All @@ -23,14 +24,15 @@ type RegisteredModelListViewProps = {
};

const RegisteredModelListView: React.FC<RegisteredModelListViewProps> = ({
registeredModels: unfilteredRegisteredModels,
registeredModels,
refresh,
}) => {
const navigate = useNavigate();
const { preferredModelRegistry } = React.useContext(ModelRegistrySelectorContext);
const [searchType, setSearchType] = React.useState<SearchType>(SearchType.KEYWORD);
const [search, setSearch] = React.useState('');

const unfilteredRegisteredModels = filterLiveModels(registeredModels);
const archiveRegisteredModels = filterArchiveModels(registeredModels);
const searchTypes = React.useMemo(() => [SearchType.KEYWORD, SearchType.OWNER], []);

if (unfilteredRegisteredModels.length === 0) {
Expand All @@ -46,7 +48,9 @@ const RegisteredModelListView: React.FC<RegisteredModelListViewProps> = ({
)}
description={`${preferredModelRegistry?.metadata.name} has no active registered models. Register a model in this registry, or select a different registry.`}
primaryActionText="Register model"
secondaryActionText="View archived models"
secondaryActionText={
archiveRegisteredModels.length !== 0 ? 'View archived models' : undefined
}
primaryActionOnClick={() => {
navigate(registerModelUrl(preferredModelRegistry?.metadata.name));
}}
Expand Down

0 comments on commit 08c8250

Please sign in to comment.