PromucFlow_constructor/app/client/src/layoutSystems/anvil
Preet Sidhu c1207db0f5
fix: preserve order of widgets during multiple widget drag and drop (#31273)
## Description

Issues:
1. Order of widgets is not preserved during DnD.
2. DnD of small and large widgets together results in them being added
to the same row.

Fix:
1. Reuse zone utils to manage DnD of small and large widgets.
2. Account for the number of entities being added to preserve the order
of addition.

#### Media



https://github.com/appsmithorg/appsmith/assets/5424788/cc936242-4ea0-412e-b1bf-e62a196e228f



#### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
	- Enhanced widget movement logic for improved layout management.
- Introduced tracking for the number of items added to a section,
optimizing layout adjustments.
- **Refactor**
- Updated widget movement and relationship management functions for
better efficiency and clarity.
- **Documentation**
- Added explanatory comments in paste functionality for better
understanding of the logic involved.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-27 11:55:35 +05:30
..
canvas feat: Asymmetric padding in Anvil (#30964) 2024-02-16 17:13:37 +05:30
canvasArenas fix: explicit zone drop in modal widget (#31079) 2024-02-27 11:54:54 +05:30
common fix: Anvil Bug fixes for R1 (#31066) 2024-02-27 10:11:55 +05:30
context feat: add layouts and widgets for sections and zones. (#29713) 2023-12-26 09:16:58 -05:00
editor fix: Anvil Bug fixes for R1 (#31066) 2024-02-27 10:11:55 +05:30
integrations fix: preserve order of widgets during multiple widget drag and drop (#31273) 2024-02-27 11:55:35 +05:30
layoutComponents fix: clipping issue for excessive hug widgets in an alignment (#31053) 2024-02-15 17:02:26 +05:30
sectionSpaceDistributor feat: Add copy paste functionality for Anvil. (#30217) 2024-01-24 21:55:08 +05:30
utils fix: preserve order of widgets during multiple widget drag and drop (#31273) 2024-02-27 11:55:35 +05:30
viewer fix: Anvil Bug fixes for R1 (#31066) 2024-02-27 10:11:55 +05:30
index.ts feat: WDS - Anvil compatible Modal Widget (#30351) 2024-01-26 09:30:57 +05:30