Skip to content

Commit ed34f68

Browse files
Merge pull request #3443 from adamviktora/vm-networks
CNV-78269: CNV-78079: move Virtual machine networks page to kubevirt-plugin
2 parents 58b7a09 + 0b11ef1 commit ed34f68

File tree

95 files changed

+4443
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+4443
-89
lines changed

locales/en/plugin__kubevirt-plugin.json

Lines changed: 87 additions & 2 deletions
Large diffs are not rendered by default.

locales/es/plugin__kubevirt-plugin.json

Lines changed: 89 additions & 2 deletions
Large diffs are not rendered by default.

locales/fr/plugin__kubevirt-plugin.json

Lines changed: 89 additions & 2 deletions
Large diffs are not rendered by default.

locales/ja/plugin__kubevirt-plugin.json

Lines changed: 85 additions & 2 deletions
Large diffs are not rendered by default.

locales/ko/plugin__kubevirt-plugin.json

Lines changed: 85 additions & 2 deletions
Large diffs are not rendered by default.

locales/zh/plugin__kubevirt-plugin.json

Lines changed: 85 additions & 2 deletions
Large diffs are not rendered by default.

plugin-extensions.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { extensions as StorageMigrationExtensions } from './src/views/storagemig
1212
import { extensions as TopologyExtensions } from './src/views/topology/extensions';
1313
import { extensions as VirtualMachineInstanceMigrationsExtensions } from './src/views/virtualmachineinstancemigrations/extensions';
1414
import { extensions as VirtualMachinesExtensions } from './src/views/virtualmachines/extensions';
15+
import { extensions as VMNetworksExtensions } from './src/views/vmnetworks/extensions';
1516

1617
const extensions: EncodedExtension[] = [
1718
...VirtualizationPerspectiveExtensions,
@@ -26,6 +27,7 @@ const extensions: EncodedExtension[] = [
2627
...TopologyExtensions,
2728
...MulticlusterExtensions,
2829
...VirtualMachineInstanceMigrationsExtensions,
30+
...VMNetworksExtensions,
2931
{
3032
properties: {
3133
flag: 'KUBEVIRT_CDI',

plugin-metadata.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { exposedModules as StorageMigrationExposedModules } from './src/views/st
1212
import { exposedModules as TopologyExposedModules } from './src/views/topology/extensions';
1313
import { exposedModules as VirtualMachineInstanceMigrationsExposedModules } from './src/views/virtualmachineinstancemigrations/extensions';
1414
import { exposedModules as VirtualMachinesExposedModules } from './src/views/virtualmachines/extensions';
15+
import { exposedModules as VMNetworksExposedModules } from './src/views/vmnetworks/extensions';
1516

1617
const metadata: ConsolePluginBuildMetadata = {
1718
dependencies: {
@@ -31,6 +32,7 @@ const metadata: ConsolePluginBuildMetadata = {
3132
...MulticlusterExposedModules,
3233
...VirtualMachineInstanceMigrationsExposedModules,
3334
...PhysicalNetworksExposedModules,
35+
...VMNetworksExposedModules,
3436
BootableVolumesList: './views/bootablevolumes/list/BootableVolumesList.tsx',
3537
Catalog: './views/catalog/Catalog.tsx',
3638
ClusterOverviewPage: './views/clusteroverview/ClusterOverviewPage.tsx',

src/utils/components/ActionsDropdown/ActionsDropdown.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,13 @@ const ActionsDropdown: FC<ActionsDropdownProps> = ({
6060
if (isDisabled)
6161
return (
6262
<div className={classNames('kv-actions-dropdown', className)} ref={containerRef}>
63-
<Tooltip content={disabledTooltip}>
64-
<span> {Toggle(toggleRef)}</span>
65-
</Tooltip>
63+
{disabledTooltip ? (
64+
<Tooltip content={disabledTooltip}>
65+
<span>{Toggle(toggleRef)}</span>
66+
</Tooltip>
67+
) : (
68+
<span>{Toggle(toggleRef)}</span>
69+
)}
6670
</div>
6771
);
6872

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import React, { FC, useState } from 'react';
2+
3+
import { modelToGroupVersionKind, NamespaceModel } from '@kubevirt-ui-ext/kubevirt-api/console';
4+
import { useKubevirtTranslation } from '@kubevirt-utils/hooks/useKubevirtTranslation';
5+
import { isEmpty } from '@kubevirt-utils/utils/utils';
6+
import { ResourceLink } from '@openshift-console/dynamic-plugin-sdk';
7+
import { Button, ButtonVariant, Skeleton } from '@patternfly/react-core';
8+
9+
import { SHOW_MAX_ITEMS } from './constants';
10+
11+
type ExpandableProjectListProps = {
12+
emptyMessage?: string;
13+
loaded?: boolean;
14+
maxItems?: number;
15+
projectNames: string[];
16+
};
17+
18+
const ExpandableProjectList: FC<ExpandableProjectListProps> = ({
19+
emptyMessage,
20+
loaded = true,
21+
maxItems = SHOW_MAX_ITEMS,
22+
projectNames,
23+
}) => {
24+
const { t } = useKubevirtTranslation();
25+
const [expand, setExpand] = useState(false);
26+
27+
if (!loaded) return <Skeleton />;
28+
29+
if (isEmpty(projectNames)) return <span>{emptyMessage ?? t('No projects matched')}</span>;
30+
31+
return (
32+
<>
33+
{projectNames.slice(0, expand ? projectNames.length : maxItems).map((project) => (
34+
<ResourceLink
35+
groupVersionKind={modelToGroupVersionKind(NamespaceModel)}
36+
key={project}
37+
name={project}
38+
/>
39+
))}
40+
{projectNames.length > maxItems && (
41+
<Button onClick={() => setExpand(!expand)} variant={ButtonVariant.link}>
42+
{expand ? t('Show less') : t('+{{num}} more', { num: projectNames.length - maxItems })}
43+
</Button>
44+
)}
45+
</>
46+
);
47+
};
48+
49+
export default ExpandableProjectList;

0 commit comments

Comments
 (0)