From 0a0d6e9e2a882c7c4425f2c6f56f2d33e687854b Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 28 Feb 2025 09:45:01 +0100 Subject: [PATCH] refactor(1-3429): makes the drag args optional, defaulting to noops (#9394) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes the `() => {} as any` args from the StrategyDraggableItem invocation when you have paginated strats. Instead makes all the drag params optional. It defaults to a no op if not provided. Also, the reason it had to be typed as `any` before is probably because it was missing a function. The correct empty param is `() => () => {}` 💁 --- .../EnvironmentAccordionBody.tsx | 6 ------ .../StrategyDraggableItem.tsx | 14 ++++++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx index 0a318525bf..5a46fbbc48 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx @@ -298,12 +298,6 @@ export const EnvironmentAccordionBody = ({ otherEnvironments={ otherEnvironments } - isDragging={false} - onDragStartRef={ - (() => {}) as any - } - onDragOver={(() => {}) as any} - onDragEnd={(() => {}) as any} /> ))} diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx index d004838c6e..2ccec27ae8 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx @@ -23,26 +23,28 @@ interface IStrategyDraggableItemProps { index: number; otherEnvironments?: IFeatureEnvironment['name'][]; isDragging?: boolean; - onDragStartRef: ( + onDragStartRef?: ( ref: RefObject, index: number, ) => DragEventHandler; - onDragOver: ( + onDragOver?: ( ref: RefObject, index: number, ) => DragEventHandler; - onDragEnd: () => void; + onDragEnd?: () => void; } +const onDragNoOp = () => () => {}; + export const StrategyDraggableItem = ({ strategy, index, environmentName, otherEnvironments, isDragging, - onDragStartRef, - onDragOver, - onDragEnd, + onDragStartRef = onDragNoOp, + onDragOver = onDragNoOp, + onDragEnd = onDragNoOp, }: IStrategyDraggableItemProps) => { const projectId = useRequiredPathParam('projectId'); const featureId = useRequiredPathParam('featureId');