Skip to content

Commit 510914e

Browse files
committed
address comments
Signed-off-by: Joachim Schuler <[email protected]>
1 parent afc51f0 commit 510914e

File tree

6 files changed

+47
-26
lines changed

6 files changed

+47
-26
lines changed

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/components/MigrationVMsCancelButton.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ import { useModal } from 'src/modules/Providers/modals';
33
import { useForkliftTranslation } from 'src/utils/i18n';
44

55
import { V1beta1Migration } from '@kubev2v/types';
6-
import { Button, ToolbarItem, Tooltip } from '@patternfly/react-core';
6+
import { ToolbarItem } from '@patternfly/react-core';
77

88
import { MigrationVMsCancelModal } from '../modals';
99

10+
import { VMsActionButton } from './VMsActionButton';
11+
1012
export const MigrationVMsCancelButton: FC<{
1113
selectedIds: string[];
1214
migration: V1beta1Migration;
@@ -19,13 +21,11 @@ export const MigrationVMsCancelButton: FC<{
1921

2022
const reason = selectedIds?.length < 1 && t('Select at least one virtual machine.');
2123

22-
const button = (
23-
<Button variant="secondary" onClick={onClick} isAriaDisabled={Boolean(reason)}>
24-
{t('Cancel virtual machines')}
25-
</Button>
26-
);
27-
2824
return (
29-
<ToolbarItem>{reason ? <Tooltip content={reason}>{button}</Tooltip> : button}</ToolbarItem>
25+
<ToolbarItem>
26+
<VMsActionButton onClick={onClick} disabledReason={reason}>
27+
{t('Cancel virtual machines')}
28+
</VMsActionButton>
29+
</ToolbarItem>
3030
);
3131
};

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/components/PlanVMsDeleteButton.tsx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import { useModal } from 'src/modules/Providers/modals';
44
import { useForkliftTranslation } from 'src/utils/i18n';
55

66
import { V1beta1Plan } from '@kubev2v/types';
7-
import { Button, ToolbarItem, Tooltip } from '@patternfly/react-core';
7+
import { ToolbarItem } from '@patternfly/react-core';
88

99
import { PlanVMsDeleteModal } from '../modals';
1010

11+
import { VMsActionButton } from './VMsActionButton';
12+
1113
export const PlanVMsDeleteButton: FC<{
1214
selectedIds: string[];
1315
plan: V1beta1Plan;
@@ -27,24 +29,22 @@ export const PlanVMsDeleteButton: FC<{
2729
if (isPlanArchived(plan)) {
2830
return t('Deleting virtual machines from an archived migration plan is not allowed.');
2931
}
30-
if (!!selectedIds?.length) {
32+
if (!selectedIds?.length) {
3133
return t('Select at least one virtual machine.');
3234
}
33-
if (!!remainingVms.length) {
35+
if (!remainingVms?.length) {
3436
return t(
3537
'All virtual machines planned for migration are selected for deletion, deleting all virtual machines from a migration plan is not allowed.',
3638
);
3739
}
38-
return reason;
40+
return '';
3941
}, [plan, selectedIds, remainingVms]);
4042

41-
const button = (
42-
<Button variant="secondary" onClick={onClick} isAriaDisabled={Boolean(reason)}>
43-
{t('Remove virtual machines')}
44-
</Button>
45-
);
46-
4743
return (
48-
<ToolbarItem>{reason ? <Tooltip content={reason}>{button}</Tooltip> : button}</ToolbarItem>
44+
<ToolbarItem>
45+
<VMsActionButton onClick={onClick} disabledReason={reason}>
46+
{t('Remove virtual machines')}
47+
</VMsActionButton>
48+
</ToolbarItem>
4949
);
5050
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import React, { FC, ReactNode } from 'react';
2+
3+
import { Button, ButtonVariant, Tooltip } from '@patternfly/react-core';
4+
5+
export const VMsActionButton: FC<{
6+
children: ReactNode;
7+
onClick: () => void;
8+
disabledReason?: string;
9+
}> = ({ children, onClick, disabledReason }) => {
10+
const button = (
11+
<Button
12+
variant={ButtonVariant.secondary}
13+
onClick={onClick}
14+
isAriaDisabled={Boolean(disabledReason)}
15+
>
16+
{children}
17+
</Button>
18+
);
19+
20+
return disabledReason ? <Tooltip content={disabledReason}>{button}</Tooltip> : button;
21+
};

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/components/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ export * from './MigrationVMsCancelButton';
44
export * from './NameCellRenderer';
55
export * from './PlanVMsCellProps';
66
export * from './PlanVMsDeleteButton';
7+
export * from './VMsActionButton';
78
// @endindex

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/modals/MigrationVMsCancelModal.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useForkliftTranslation } from 'src/utils/i18n';
55

66
import { MigrationModel, V1beta1Migration } from '@kubev2v/types';
77
import { k8sPatch } from '@openshift-console/dynamic-plugin-sdk';
8-
import { Button, Modal, ModalVariant } from '@patternfly/react-core';
8+
import { Button, ButtonVariant, Modal, ModalVariant } from '@patternfly/react-core';
99

1010
import './PlanVMsDeleteModal.style.css';
1111

@@ -53,13 +53,12 @@ export const MigrationVMsCancelModal: React.FC<MigrationVMsCancelModalProps> = (
5353
<Button
5454
key="confirm"
5555
onClick={handleSave}
56-
variant="primary"
57-
isDisabled={vms.length < 1}
56+
variant={ButtonVariant.primary}
5857
isLoading={isLoading}
5958
>
6059
{t('Cancel migration')}
6160
</Button>,
62-
<Button key="cancel" variant="secondary" onClick={toggleModal}>
61+
<Button key="cancel" variant={ButtonVariant.secondary} onClick={toggleModal}>
6362
{t('Cancel')}
6463
</Button>,
6564
];

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/modals/PlanVMsDeleteModal.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useForkliftTranslation } from 'src/utils/i18n';
55

66
import { PlanModel, V1beta1Plan } from '@kubev2v/types';
77
import { k8sPatch } from '@openshift-console/dynamic-plugin-sdk';
8-
import { Button, Modal, ModalVariant } from '@patternfly/react-core';
8+
import { Button, ButtonVariant, Modal, ModalVariant } from '@patternfly/react-core';
99

1010
import './PlanVMsDeleteModal.style.css';
1111

@@ -43,10 +43,10 @@ export const PlanVMsDeleteModal: React.FC<PlanVMsDeleteModalProps> = ({ plan, se
4343
}, [selected]);
4444

4545
const actions = [
46-
<Button key="confirm" onClick={handleSave} variant="danger" isLoading={isLoading}>
46+
<Button key="confirm" onClick={handleSave} variant={ButtonVariant.danger} isLoading={isLoading}>
4747
{t('Delete')}
4848
</Button>,
49-
<Button key="cancel" variant="secondary" onClick={toggleModal}>
49+
<Button key="cancel" variant={ButtonVariant.secondary} onClick={toggleModal}>
5050
{t('Cancel')}
5151
</Button>,
5252
];

0 commit comments

Comments
 (0)