Skip to content

Commit ec2125d

Browse files
committed
drag and drop changes
1 parent b81b503 commit ec2125d

File tree

19 files changed

+40
-42
lines changed

19 files changed

+40
-42
lines changed

packages/react-core/src/components/DualListSelector/examples/DualListSelector.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ propComponents:
1515
]
1616
---
1717

18-
import { Fragment, useMemo, useState } from 'react';
18+
import { Fragment, useEffect, useMemo, useState } from 'react';
1919
import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';
2020
import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
2121
import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';

packages/react-docs/patternfly-docs/pages/icons.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1+
// eslint-disable-next-line
22
import React from 'react';
33
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
44
import { Grid, GridItem } from '@patternfly/react-core/dist/esm/layouts/Grid';

packages/react-docs/patternfly-docs/pages/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1+
// eslint-disable-next-line
22
import React from 'react';
33
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page/PageSection';
44
import { Title } from '@patternfly/react-core/dist/esm/components/Title';

packages/react-drag-drop/src/components/DragDrop/DragButton.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { css } from '@patternfly/react-styles';
32
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
43
import dragButtonStyles from '@patternfly/react-styles/css/components/DataList/data-list';

packages/react-drag-drop/src/components/DragDrop/DragDropContainer.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import { useCallback, useEffect, useRef, useState } from 'react';
22
import * as ReactDOM from 'react-dom';
33
import { css } from '@patternfly/react-styles';
44
import {
@@ -79,17 +79,17 @@ export const DragDropContainer: React.FunctionComponent<DragDropContainerProps>
7979
overlayProps,
8080
...props
8181
}: DragDropContainerProps) => {
82-
const itemsCopy = React.useRef<Record<string, DraggableObject[]> | null>(null);
83-
const hasRecentlyMovedContainer = React.useRef(false);
84-
const [activeId, setActiveId] = React.useState<UniqueIdentifier>(null);
85-
const lastOverId = React.useRef<UniqueIdentifier | null>(null);
82+
const itemsCopy = useRef<Record<string, DraggableObject[]> | null>(null);
83+
const hasRecentlyMovedContainer = useRef(false);
84+
const [activeId, setActiveId] = useState<UniqueIdentifier>(null);
85+
const lastOverId = useRef<UniqueIdentifier | null>(null);
8686

87-
const findItem = React.useCallback(
87+
const findItem = useCallback(
8888
(id: UniqueIdentifier, containerId: UniqueIdentifier) => items[containerId].find((item) => item.id === id),
8989
[items]
9090
);
9191

92-
const findContainer = React.useCallback(
92+
const findContainer = useCallback(
9393
(id: UniqueIdentifier) => {
9494
if (id in items) {
9595
return id;
@@ -106,7 +106,7 @@ export const DragDropContainer: React.FunctionComponent<DragDropContainerProps>
106106
})
107107
);
108108

109-
const collisionDetectionStrategy: CollisionDetection = React.useCallback(
109+
const collisionDetectionStrategy: CollisionDetection = useCallback(
110110
(args) => {
111111
if (activeId && activeId in items) {
112112
return closestCenter({
@@ -146,7 +146,7 @@ export const DragDropContainer: React.FunctionComponent<DragDropContainerProps>
146146
[activeId, items]
147147
);
148148

149-
React.useEffect(() => {
149+
useEffect(() => {
150150
requestAnimationFrame(() => {
151151
hasRecentlyMovedContainer.current = false;
152152
});

packages/react-drag-drop/src/components/DragDrop/DragDropSort.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import { useMemo } from 'react';
22
import { DndContextProps, DragEndEvent, DragStartEvent } from '@dnd-kit/core';
33
import { Droppable } from './Droppable';
44
import { DragDropContainer, DraggableObject } from './DragDropContainer';
@@ -38,7 +38,7 @@ export const DragDropSort: React.FunctionComponent<DragDropSortProps> = ({
3838
overlayProps,
3939
...props
4040
}: DragDropSortProps) => {
41-
const itemIds = React.useMemo(() => (items ? Array.from(items, (item) => item.id as string) : []), [items]);
41+
const itemIds = useMemo(() => (items ? Array.from(items, (item) => item.id as string) : []), [items]);
4242

4343
const handleDragStart = (event: DragStartEvent) => {
4444
onDrag(event, itemIds.indexOf(event.active.id as string));

packages/react-drag-drop/src/components/DragDrop/Draggable.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { useSortable } from '@dnd-kit/sortable';
32
import { CSS } from '@dnd-kit/utilities';
43
import { css } from '@patternfly/react-styles';

packages/react-drag-drop/src/components/DragDrop/DraggableDataListItem.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { useSortable } from '@dnd-kit/sortable';
32
import { CSS } from '@dnd-kit/utilities';
43
import { css } from '@patternfly/react-styles';

packages/react-drag-drop/src/components/DragDrop/DraggableDualListSelectorListItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import { useContext } from 'react';
22
import { useSortable } from '@dnd-kit/sortable';
33
import { CSS } from '@dnd-kit/utilities';
44
import { css } from '@patternfly/react-styles';
@@ -42,7 +42,7 @@ export const DraggableDualListSelectorListItem: React.FunctionComponent<Draggabl
4242
animateLayoutChanges: () => false
4343
});
4444

45-
const { setFocusedOption } = React.useContext(DualListSelectorListContext);
45+
const { setFocusedOption } = useContext(DualListSelectorListContext);
4646

4747
const style = {
4848
transform: CSS.Transform.toString(transform),

packages/react-drag-drop/src/components/DragDrop/Droppable.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import { cloneElement, useMemo } from 'react';
22
import { useDroppable } from '@dnd-kit/core';
33
import { DraggableObject } from './DragDropContainer';
44
import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';
@@ -17,7 +17,7 @@ interface DroppableProps extends React.HTMLProps<HTMLDivElement> {
1717
wrapper?: React.ReactElement<any>;
1818
/** The variant determines which component wraps the draggable object.
1919
* Default variant wraps the draggable object in a div.
20-
* DataList vairant wraps the draggable object in a DataListItem
20+
* DataList variant wraps the draggable object in a DataListItem
2121
* DualListSelectorList variant wraps the draggable objects in a DualListSelectorListItem and a div.pf-c-dual-list-selector__item-text element
2222
* TableComposable variant wraps the draggable objects in TODO
2323
* */
@@ -31,7 +31,7 @@ export const Droppable: React.FunctionComponent<DroppableProps> = ({
3131
wrapper,
3232
...props
3333
}: DroppableProps) => {
34-
const itemIds = React.useMemo(() => (items ? Array.from(items, (item) => item.id as string) : []), [items]);
34+
const itemIds = useMemo(() => (items ? Array.from(items, (item) => item.id as string) : []), [items]);
3535
const { setNodeRef } = useDroppable({ id: id ? id : 'droppable' });
3636

3737
const content = items.map((item: DraggableObject) => {
@@ -60,7 +60,7 @@ export const Droppable: React.FunctionComponent<DroppableProps> = ({
6060
return (
6161
<SortableContext items={itemIds} strategy={verticalListSortingStrategy} id={id}>
6262
{wrapper &&
63-
React.cloneElement(wrapper, {
63+
cloneElement(wrapper, {
6464
children: content,
6565
ref: setNodeRef,
6666
...props

0 commit comments

Comments
 (0)