src: Rename "V2" folders to just Wizard
This replaces all occurences of "CreateImageWizardV2" with just "CreateImageWizard" as it is the only version now.
This commit is contained in:
parent
b1e5a8c7c6
commit
4fb37c187e
93 changed files with 20 additions and 22 deletions
|
|
@ -0,0 +1,86 @@
|
|||
import React, { useState } from 'react';
|
||||
|
||||
import {
|
||||
Dropdown,
|
||||
DropdownItem,
|
||||
DropdownToggle,
|
||||
DropdownToggleCheckbox,
|
||||
} from '@patternfly/react-core/deprecated';
|
||||
|
||||
import { ApiRepositoryResponseRead } from '../../../../../store/contentSourcesApi';
|
||||
|
||||
interface BulkSelectProps {
|
||||
selected: Set<string>;
|
||||
contentList: ApiRepositoryResponseRead[];
|
||||
deselectAll: () => void;
|
||||
perPage: number;
|
||||
handleAddRemove: (
|
||||
repo: ApiRepositoryResponseRead | ApiRepositoryResponseRead[],
|
||||
selected: boolean
|
||||
) => void;
|
||||
isDisabled: boolean;
|
||||
}
|
||||
|
||||
export function BulkSelect({
|
||||
selected,
|
||||
contentList,
|
||||
deselectAll,
|
||||
perPage,
|
||||
handleAddRemove,
|
||||
isDisabled,
|
||||
}: BulkSelectProps) {
|
||||
const [dropdownIsOpen, setDropdownIsOpen] = useState(false);
|
||||
|
||||
const allChecked = !contentList.some(({ url }) => !selected.has(url!));
|
||||
|
||||
const someChecked =
|
||||
allChecked || contentList.some(({ url }) => selected.has(url!));
|
||||
|
||||
const toggleDropdown = () => setDropdownIsOpen(!dropdownIsOpen);
|
||||
|
||||
const handleSelectPage = () => handleAddRemove(contentList, !allChecked);
|
||||
|
||||
return (
|
||||
<Dropdown
|
||||
toggle={
|
||||
<DropdownToggle
|
||||
id="stacked-example-toggle"
|
||||
isDisabled={isDisabled}
|
||||
splitButtonItems={[
|
||||
<DropdownToggleCheckbox
|
||||
id="example-checkbox-1"
|
||||
key="split-checkbox"
|
||||
aria-label="Select all"
|
||||
isChecked={allChecked || someChecked ? null : false}
|
||||
onClick={handleSelectPage}
|
||||
/>,
|
||||
]}
|
||||
onToggle={toggleDropdown}
|
||||
>
|
||||
{someChecked ? `${selected.size} selected` : null}
|
||||
</DropdownToggle>
|
||||
}
|
||||
isOpen={dropdownIsOpen}
|
||||
dropdownItems={[
|
||||
<DropdownItem
|
||||
key="none"
|
||||
isDisabled={!selected.size}
|
||||
onClick={() => {
|
||||
deselectAll();
|
||||
toggleDropdown();
|
||||
}}
|
||||
>{`Clear all (${selected.size} items)`}</DropdownItem>,
|
||||
<DropdownItem
|
||||
key="page"
|
||||
isDisabled={!contentList.length}
|
||||
onClick={() => {
|
||||
handleSelectPage();
|
||||
toggleDropdown();
|
||||
}}
|
||||
>{`${allChecked ? 'Remove' : 'Select'} page (${
|
||||
perPage > contentList.length ? contentList.length : perPage
|
||||
} items)`}</DropdownItem>,
|
||||
]}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue