-
-
-
-
- {liveText}
-
-
- Press space or enter to begin dragging, and use the arrow keys to navigate up or down. Press enter to confirm
- the drag, or any other key to cancel the drag operation.
-
-
- );
-};
diff --git a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorDragDrop.tsx b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorDragDrop.tsx
deleted file mode 100644
index 54b12fb317d..00000000000
--- a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorDragDrop.tsx
+++ /dev/null
@@ -1,177 +0,0 @@
-import React from 'react';
-import {
- DualListSelector,
- DualListSelectorPane,
- DualListSelectorList,
- DualListSelectorListItem,
- DualListSelectorControlsWrapper,
- DualListSelectorControl
-} from '@patternfly/react-core';
-import { DragDrop, Draggable, Droppable, DraggableItemPosition } from '@patternfly/react-core/deprecated';
-import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';
-import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
-import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';
-import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
-
-export const DualListSelectorComposableDragDrop: React.FunctionComponent = () => {
- const [ignoreNextOptionSelect, setIgnoreNextOptionSelect] = React.useState(false);
- const [availableOptions, setAvailableOptions] = React.useState([
- { text: 'Apple', selected: false, isVisible: true },
- { text: 'Banana', selected: false, isVisible: true },
- { text: 'Pineapple', selected: false, isVisible: true }
- ]);
- const [chosenOptions, setChosenOptions] = React.useState([
- { text: 'Orange', selected: false, isVisible: true },
- { text: 'Grape', selected: false, isVisible: true },
- { text: 'Peach', selected: false, isVisible: true },
- { text: 'Strawberry', selected: false, isVisible: true }
- ]);
-
- const moveSelected = (fromAvailable: boolean) => {
- const sourceOptions = fromAvailable ? availableOptions : chosenOptions;
- const destinationOptions = fromAvailable ? chosenOptions : availableOptions;
- for (let i = 0; i < sourceOptions.length; i++) {
- const option = sourceOptions[i];
- if (option.selected && option.isVisible) {
- sourceOptions.splice(i, 1);
- destinationOptions.push(option);
- option.selected = false;
- i--;
- }
- }
- if (fromAvailable) {
- setAvailableOptions([...sourceOptions]);
- setChosenOptions([...destinationOptions]);
- } else {
- setChosenOptions([...sourceOptions]);
- setAvailableOptions([...destinationOptions]);
- }
- };
-
- const moveAll = (fromAvailable: boolean) => {
- if (fromAvailable) {
- setChosenOptions([...availableOptions.filter((option) => option.isVisible), ...chosenOptions]);
- setAvailableOptions([...availableOptions.filter((option) => !option.isVisible)]);
- } else {
- setAvailableOptions([...chosenOptions.filter((option) => option.isVisible), ...availableOptions]);
- setChosenOptions([...chosenOptions.filter((option) => !option.isVisible)]);
- }
- };
-
- const onOptionSelect = (
- event: React.MouseEvent | React.ChangeEvent | React.KeyboardEvent,
- index: number,
- isChosen: boolean
- ) => {
- if (ignoreNextOptionSelect) {
- setIgnoreNextOptionSelect(false);
- return;
- }
- if (isChosen) {
- const newChosen = [...chosenOptions];
- newChosen[index].selected = !chosenOptions[index].selected;
- setChosenOptions(newChosen);
- } else {
- const newAvailable = [...availableOptions];
- newAvailable[index].selected = !availableOptions[index].selected;
- setAvailableOptions(newAvailable);
- }
- };
-
- const onDrop = (source: DraggableItemPosition, dest: DraggableItemPosition | undefined) => {
- if (dest) {
- const newList = [...chosenOptions];
- const [removed] = newList.splice(source.index, 1);
- newList.splice(dest.index, 0, removed);
- setChosenOptions(newList);
- return true;
- }
- return false;
- };
-
- return (
-