UNPKG

react-beautiful-dnd-next

Version:

Beautiful and accessible drag and drop for lists with React

42 lines (35 loc) 1.02 kB
// @flow import type { DragImpact, Displacement } from '../../types'; import getDisplacementMap from '../get-displacement-map'; export default (impact: DragImpact): DragImpact => { const displaced: Displacement[] = impact.movement.displaced; // nothing is displaced - we don't need to update anything if (!displaced.length) { return impact; } const withoutAnimation: Displacement[] = displaced.map( (displacement: Displacement): Displacement => { if (!displacement.isVisible) { return displacement; } // Already do not need to animate it - can return as is if (!displacement.shouldAnimate) { return displacement; } // Need to disable the animation return { ...displacement, shouldAnimate: false, }; }, ); const result: DragImpact = { ...impact, movement: { ...impact.movement, displaced: withoutAnimation, map: getDisplacementMap(withoutAnimation), }, }; return result; };