Skip to content

Commit 4f181f2

Browse files
committed
Wizard: Replace deprecated Dropdown in BulkSelect
This updates deprecated Dropdown in `BulkSelect`.
1 parent 28a6f45 commit 4f181f2

File tree

2 files changed

+31
-27
lines changed

2 files changed

+31
-27
lines changed

src/Components/CreateImageWizard/steps/Repositories/components/BulkSelect.tsx

+30-23
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ import React, { useState } from 'react';
33
import {
44
Dropdown,
55
DropdownItem,
6-
DropdownToggle,
7-
DropdownToggleCheckbox,
8-
} from '@patternfly/react-core/deprecated';
6+
DropdownList,
7+
MenuToggle,
8+
MenuToggleCheckbox,
9+
MenuToggleElement,
10+
} from '@patternfly/react-core';
911

1012
import { ApiRepositoryResponseRead } from '../../../../../store/contentSourcesApi';
1113

@@ -42,34 +44,39 @@ export function BulkSelect({
4244

4345
return (
4446
<Dropdown
45-
toggle={
46-
<DropdownToggle
47-
id="stacked-example-toggle"
47+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
48+
<MenuToggle
49+
id="bulk-select-toggle"
50+
data-testid="bulk-select-toggle"
51+
ref={toggleRef}
4852
isDisabled={isDisabled}
49-
splitButtonItems={[
50-
<DropdownToggleCheckbox
51-
id="example-checkbox-1"
52-
key="split-checkbox"
53-
aria-label="Select all"
54-
isChecked={allChecked || someChecked ? null : false}
55-
onClick={handleSelectPage}
56-
/>,
57-
]}
58-
onToggle={toggleDropdown}
53+
splitButtonOptions={{
54+
items: [
55+
<MenuToggleCheckbox
56+
id="bulk-select-checkbox"
57+
key="split-checkbox"
58+
aria-label="Select all"
59+
isChecked={allChecked || someChecked ? null : false}
60+
onClick={handleSelectPage}
61+
/>,
62+
],
63+
}}
64+
onClick={toggleDropdown}
5965
>
6066
{someChecked ? `${selected.size} selected` : null}
61-
</DropdownToggle>
62-
}
67+
</MenuToggle>
68+
)}
6369
isOpen={dropdownIsOpen}
64-
dropdownItems={[
70+
>
71+
<DropdownList>
6572
<DropdownItem
6673
key="none"
6774
isDisabled={!selected.size}
6875
onClick={() => {
6976
deselectAll();
7077
toggleDropdown();
7178
}}
72-
>{`Clear all (${selected.size} items)`}</DropdownItem>,
79+
>{`Clear all (${selected.size} items)`}</DropdownItem>
7380
<DropdownItem
7481
key="page"
7582
isDisabled={!contentList.length}
@@ -79,8 +86,8 @@ export function BulkSelect({
7986
}}
8087
>{`${allChecked ? 'Remove' : 'Select'} page (${
8188
perPage > contentList.length ? contentList.length : perPage
82-
} items)`}</DropdownItem>,
83-
]}
84-
/>
89+
} items)`}</DropdownItem>
90+
</DropdownList>
91+
</Dropdown>
8592
);
8693
}

src/test/Components/CreateImageWizard/steps/Repositories/Repositories.test.tsx

+1-4
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,7 @@ describe('Step Custom repositories', () => {
148148
test('correct number of repositories is fetched', async () => {
149149
await renderCreateMode();
150150
await goToRepositoriesStep();
151-
152-
const select = await screen.findByRole('button', {
153-
name: /^select$/i,
154-
});
151+
const select = await screen.findByTestId('bulk-select-toggle');
155152
user.click(select);
156153
await screen.findByText(/select page \(10 items\)/i);
157154
});

0 commit comments

Comments
 (0)