PromucFlow_constructor/app/client/cypress
Ashok Kumar M 4b1ef98014
feat: Anvil DnD Polish(Refactor) (#32839)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX18VSEOqElAtQ747ag1P1M0EAgrsJtMy4pQ%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MdeCkAG)
## Description
In this PR, 
- we are refactoring Anvil DnD to use dom elements to render highlights
instead of canvas.

  Why?
- Doesn't have the ability to overflow a widget and still allow dnd
events(section widget use case)
  - limitations with respect to being testable

- we are adding compensators to dnd layers, so that DnD is not just for
layout but for the entire widget.
  Widget is the appsmith entity.
layout is something present in container like widgets like Section and
Zone which allow you to contain children widgets based on a the layout
structure.
  
  What are compensators?
  - additional padding for DnD layers in a widget
- additional position offsets for highlights in a widget so that they
don't stick to the layout.
  
  Why compensators?
- Section widget can be activated to show highlights in areas
overlapping with main canvas
- DnD should be possible even at spacings created by parent widget like
in Zone widget

- we are also removing canvas activation logic and moving to using mouse
move event to activate a canvas for DnD.

Fixes #32016
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Anvil"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8872919856>
> Commit: 3f6603bf8480a99437552ac73764c9de1d6f7f95
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8872919856&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->












## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


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

## Summary by CodeRabbit

- **New Features**
- Introduced a new layout property for widgets, enhancing customization
options.
- Added a custom error boundary component to handle and display errors
elegantly.
- New drag-and-drop components and utilities to improve interaction
within the editor canvas.
- Adjusted component hierarchies in Anvil editor and viewer for better
performance and structure.

- **Refactor**
- Simplified rendering logic in `AnvilWidgetComponent` by removing
conditional boundaries.
- Updated the hierarchy within the Anvil editor, enhancing component
nesting and interaction.

- **Bug Fixes**
- Adjusted padding values and added new constants for better UI
alignment and interaction feedback.

- **Chores**
- Renamed and reorganized Cypress locators and methods for clearer and
more efficient testing automation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-29 11:32:08 +05:30
..
e2e fix: number slider + category slider color spec fails (#32935) 2024-04-29 11:31:46 +05:30
fixtures test: Some cleanup for Git Cypress tests (#32836) 2024-04-23 10:01:14 +05:30
locators chore: Make edit launch buttons as links & add upgrade ramps for session timeout setting (#31862) 2024-03-21 15:37:13 +05:30
manual_TestSuite test: Cypress - added @tag.excludeForAirgap, @tag.Templates tags (#29790) 2023-12-27 16:50:36 +05:30
patches
plugins ci: Allow static split of cypress specs (#29653) 2023-12-18 17:10:11 +05:30
scripts ci: Allow static split of cypress specs (#29653) 2023-12-18 17:10:11 +05:30
snapshots test: visual tests to be enabled (#32731) 2024-04-19 17:03:10 +05:30
support feat: Anvil DnD Polish(Refactor) (#32839) 2024-04-29 11:32:08 +05:30
.eslintrc.json chore:add eslint rules (#27878) 2023-10-09 16:54:06 +03:00
apply-patches.js
index.ts
init-mssql-dump-for-test.sql
init-mysql-dump-for-test.sql
init-pg-dump-for-test.sql
limited-tests.txt feat: constrained diff between states (#31847) 2024-03-27 14:37:46 +05:30
setup-test-ci.sh ci: Remove unused code from Cypress setup (#32537) 2024-04-10 13:28:09 +05:30
setup-test.sh
tags.js CI: Add tags to to cypress tags (#32843) 2024-04-22 15:42:53 +05:30
test.sh
tsconfig.json chore: add strict-boolean-expressions rule (#27852) 2023-10-06 16:05:32 +03:00
xataadd.sh
xatadel.sh