[](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 --> |
||
|---|---|---|
| .github | ||
| app | ||
| contributions | ||
| deploy | ||
| scripts | ||
| static | ||
| utils/observability | ||
| .deepsource.toml | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .imgbotconfig | ||
| .nojekyll | ||
| app.json | ||
| appsmith_events.md | ||
| appsmith_templates.md | ||
| ci-debug.sh | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| depot.json | ||
| Dockerfile | ||
| heroku.yml | ||
| IssuesReport.md | ||
| LICENSE | ||
| README.md | ||
| SECURITY.md | ||
Organizations build internal applications such as dashboards, database GUIs, admin panels, approval apps, customer support dashboards, and more to help their teams perform day-to-day operations. Appsmith is an open-source tool that enables the rapid development of these internal apps. Read more on our website.
Installation
There are two ways to start using Appsmith:
- Signup on Appsmith Cloud.
- Install Appsmith on your machine. See the installation guides below.
| Installation Methods | Documentation |
|---|---|
| Docker (Recommended) | |
| Kubernetes | |
| AWS AMI |
For other deployment options, see the Installation Guides documentation.
Development
To build and run Appsmith in your local dev environment, see Setup for local development.
Learning Resources
Need Help?
Contributing
We ❤️ our contributors. We're committed to fostering an open, welcoming, and safe environment in the community.
📕 We expect everyone participating in the community to abide by our Code of Conduct. Please read and follow it.
🤝 If you'd like to contribute, start by reading our Contribution Guide.
👾 Explore some good first issues.
Let's build great software together.
Top Contributors
License
Appsmith is licensed under the terms of Apache License 2.0.
