Commit Graph

26 Commits

Author SHA1 Message Date
Ilia
d6f249b42d
chore: add blank line eslint rule (#36369)
## Description
Added ESLint rule to force blank lines between statements. 


Fixes #`Issue Number`  
_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.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10924926728>
> Commit: 34f57714a1575ee04e94e03cbcaf95e57a96c86c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10924926728&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/Anvil/AnvilModal_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilIconButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInlineButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilParagraphWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilPhoneInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilStatsWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilTableWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilToolbarButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilZoneSectionWidgetSnapshot_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Wed, 18 Sep 2024 16:33:36 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-09-18 19:35:28 +03:00
Rahul Barwal
b64d5c8338
fix: drag and drop issue in list widget (#35622)
## Description
This pull request fixes an issue where the error count was not being
properly checked when a list widget was dropped.

* Reverts a previous commit(#35221). 
* Include changes to the test file and the widget creation functions to
ensure that the error count is correctly checked when a list widget is
dragged and dropped.

Fixes #35578
_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.All"

### 🔍 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/10350318730>
> Commit: 07f3abcff845eb4d350fc9af235d6ed076257264
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10350318730&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 12 Aug 2024 11:35:20 UTC
<!-- 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

- **New Features**
	- Improved drag-and-drop functionality for list widgets.
  
- **Bug Fixes**
- Enhanced clarity and organization of test cases for better logical
flow.

- **Chores**
- Simplified widget ID generation across several components, improving
consistency in the application.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-12 17:24:19 +05:30
Valera Melnikov
42debc6d11
chore: rename ADS package (#35583)
## Description
Rename `design-system` package to `@appsmith/ads`

## Automation

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

### 🔍 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/10319507327>
> Commit: 65d9664dd75b750496458a6e1652e0da858e1fc6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10319507327&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 09 Aug 2024 13:47:50 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-08-09 17:20:29 +03:00
Valera Melnikov
c42e0317de
fix: change appsmith alias (#35349)
In order to unify package names, we decided to use `@appsmith` prefix as
a marker to indicate that packages belong to our codebase and that these
packages are developed internally. So that we can use this prefix, we
need to rename the alias of the same name. But since `@appsmith` is
currently being used as an alias for `ee` folder, we have to rename the
alias as the first step.

Related discussion
https://theappsmith.slack.com/archives/CPG2ZTXEY/p1722516279126329

EE PR — https://github.com/appsmithorg/appsmith-ee/pull/4801

## Automation

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

### 🔍 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/10267368821>
> Commit: 2b00af2d257e4d4304db0a80072afef7513de6be
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10267368821&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 06 Aug 2024 14:24:22 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-08-06 17:52:22 +03:00
Jacques Ikot
e8cb460b77
feat: move building blocks to bottom of widget explorer (#35270)
## Description
**Problem**
While we don't have the configuration interface for blocks, we should
make them available as we have other regular widgets, but we shouldn't
promote them for new users, since they are not able to easily modify
them.
Remove the building blocks empty state that is creating confusion.

**Solution**
1. Move the building blocks group to the bottom of the widget sidebar
2. Adjust tests to suit new demands

Fixes #34964

## Automation

/ok-to-test tags="@tag.IDE, @tag.Widget, @tag.Templates"

### 🔍 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/10187244230>
> Commit: e0aac0ea572e34716e8613a272c5ba0cadbd6fde
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10187244230&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE, @tag.Widget, @tag.Templates`
> Spec:
> <hr>Wed, 31 Jul 2024 21:39:07 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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


- **New Features**
- Simplified the onboarding component to display static content instead
of dynamic behavior based on application state.
  
- **Bug Fixes**
- Updated test cases for the onboarding component to ensure it does not
render in preview mode, enhancing accuracy in expected behavior.
- Revised tests to reflect changes in the visibility of the suggested
widgets based on feature flag settings.

- **Chores**
- Minor reorganization of import statements and constants for clarity
without affecting functionality.
- Streamlined the visibility logic of suggested widgets by removing
unnecessary feature flag dependencies.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-01 14:01:40 +01:00
Valera Melnikov
a2bfe450b6
chore: enable no-explicit-any rule (#35321)
## Description
-  Enabled the rule `@typescript-eslint/no-explicit-any`
- Suppressed errors with comment
```
// TODO: Fix this the next time the file is edited
// eslint-disable-next-line @typescript-eslint/no-explicit-any
```

Fixes #35308 

## Automation

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

### 🔍 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/10181176984>
> Commit: 7fc604e24fa234da7ab2ff56e0b1c715268796ee
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10181176984&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 31 Jul 2024 15:00:45 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-07-31 18:41:28 +03:00
Ilia
1668b04d43
chore: add widget id prefix (#35221)
## Description
Add widget type to id in order to simplify debugging. For example
`3jgf4p6owp` => `section-3jgf4p6owp`

## Automation

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

### 🔍 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/10158529399>
> Commit: 053f81ff4f5a92120b2b289ccb18125eb04380d8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10158529399&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 30 Jul 2024 08:58:49 UTC
<!-- 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

- **New Features**
- Enhanced organization of widgets with unique prefixes for `widgetId`
generation, allowing for better identification of section and zone
widgets.
- Improved logic in the WidgetCard for differentiating widget types
through structured `widgetId` prefixes.

- **Bug Fixes**
- Addressed issues related to widget ID uniqueness, ensuring consistent
and organized widget management within the application.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-30 11:30:54 +02:00
Valera Melnikov
320f9e3c02
chore:ads package (#35193)
## Description
- Move [ADS](https://github.com/appsmithorg/design-system) to local
packages
- Fix ADS stories according of Storybook 8
- Fix type errors
- Update Storybook to latest version to be able to run `test-storybook`
- Remove unused files(components, tests, stories) from
ADS-old(design-system-old)

Following steps:
- Merge `ads-old` and `widgets-old`, only 1 package should remain
- Rename packages https://github.com/appsmithorg/appsmith/issues/27658
- Use `importSvg` `importRemixIcon` from ADS remove this functionality
from `ads-old`


Fixes #34252  

## Automation

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

### 🔍 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/10114839347>
> Commit: 64cdfec4d2acd45ca955cc0d19c3cb582e1ac0ad
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10114839347&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 26 Jul 2024 17:49:25 UTC
<!-- 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
-->



<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-29 16:23:26 +03:00
Hetu Nandu
7b5ad60069
fix: Remove collapsed widget tags (#34979) 2024-07-23 18:46:01 +05:30
Hetu Nandu
52e8cda21d
fix: Avoid collapsing widget tags when in Anvil (#34718)
## Description

Based on [this
discussion](https://theappsmith.slack.com/archives/C02JT9CSE6L/p1720083186027799)
we are changing
[this](https://github.com/appsmithorg/appsmith/issues/34386) behaviour
to not apply on Anvil Layouts


## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

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


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


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

## Summary by CodeRabbit

- **New Features**
- Improved logic for widget tags based on the new `isAnvil` layout flag.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 10:51:59 +00:00
Hetu Nandu
fe0ccaaf0a
chore: Show only a limited set of widgets in the beginning (#34644)
## Description

Controls the collapsible sections of the Widget Add pane. This will
ensure we do not show all the widgets for add when a new user is
exploring for the first time. Once the users adds a widget, the other
sections opens up automatically.

Also removes List and JSONForm widgets from the SuggestedWidget tag

Fixes #34386

## Automation

/ok-to-test tags="@tag.Widget, @tag.IDE"

### 🔍 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/9777505836>
> Commit: a604723af91330158f513764b45051d8be75dc6c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9777505836&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.IDE`
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Sidebar and tag groups now dynamically open based on widget presence.
  
- **Improvements**
  - Enhanced initial open state control for tag groups.
- Updated widget tag assignments to prioritize layout and display
widgets.

- **Bug Fixes**
- Corrected widget tag selectors to ensure accurate UI element
targeting.
  
- **Tests**
- Refactored and updated test cases for widget sidebar functionality and
UI consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 10:19:41 +05:30
Rahul Barwal
27e772546d
feat: Hide suggested widgets when drag-and-drop building blocks feature is enabled (#34101)
## Description
This pull request includes changes to hide suggested widgets when the
drag-and-drop building blocks feature is enabled.
* It also adds unique keys to WidgetCard components and a data-testid
attribute to the UIEntityTagGroup div.
* Additionally, tests have been added for UIEntitySidebar to handle
empty cards and feature flag scenarios, as well as for widget card
grouping by tags and filtering based on search input in UIEntitySidebar.


Fixes #33996
_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.IDE, @tag.Widget"

### 🔍 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/9418161856>
> Commit: 89e5bcc6e8dcdb8312a9a24cd49885a87c7c0eac
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9418161856&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

- **New Features**
- Introduced a feature flag for drag-and-drop building blocks in the
widget sidebar.
- Enhanced search result management and rendering logic based on search
results and feature flag status.

- **Improvements**
  - Renamed state variables for better clarity in the widget sidebar.
  - Added `data-testid` attribute for improved testability.
  - Adjusted widget card mapping for more accurate rendering.

- **Tests**
- Added unit tests for the `UIEntitySidebar` component, covering search
input, empty states, widget grouping, search filtering, and feature flag
conditions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-10 16:35:33 +05:30
MOHD RAZA
600901f4ae
fix: Show custom widget icon reliably when no widget is found (#33535)
Steps To Reproduce
go to edit mode of the application
In the entity explorer section click on UI tab
search for the widget name which is not present
The custom widget icon will be displayed but seems like broken as in
attached screenshot


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

Co-authored-by: mohdraza-onefinance <mohd.raza@1finance.co.in>
2024-05-20 10:55:37 +05:30
Pawan Kumar
b0f69502b8
chore: use overflow: auto instead of scroll in widget explorer (#33342)
![image](https://github.com/appsmithorg/appsmith/assets/6636360/38ddf522-3ebe-4345-99a4-39608961091e)
This PR adds overflow: auto instead of overflow: scroll. because of
overflow:scroll, there is a reserve space at bottom for scrollbar even
when it is not required.

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

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

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

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-05-14 11:12:32 +05:30
Ashok Kumar M
30c8c19903
fix: Anvil drag preview for section widget (#33198)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX18H87gqPGccHjVNrPYllSmccMtNxEeurfo%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=KIoqQw3)
## Description
- Adding Section widget thumbnail icons
- removing shared component of widget card UI
- adding anvil component for widget preview used while dragging.


Fixes #`Issue Number`  
_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/8983616703>
> Commit: d96144a3fa20e855dfc638ca2f4410a507db1812
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8983616703&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
2024-05-07 16:35:38 +05:30
Ashok Kumar M
e15d397880
feat: Anvil Drag Preview (#33133)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX1Mf66R4YkViqpQxc3dTDfaePYF6RdJhU%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=KM8Kb9h)
## Description

Adding Drag preview
- Creating a portal and using widget cards to depict a widget.
- Add Widget count when multiple widgets are being dragged.


Fixes #32141
_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.All"

### 🔍 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/8940635667>
> Commit: 3dc5ec3ee262c03268a89e1f789456ed145e100c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8940635667&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

---------

Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2024-05-03 21:15:24 +05:30
Valera Melnikov
9e214c2c3c
chore: add appsmith icon package (#32927)
## Description

- Add `appsmith-icons` package. Icons are automatically imported from
Figma, optimized, and then React components are created based on them.
Please read the
[README](https://github.com/appsmithorg/appsmith/pull/32927/files#diff-163e187687a9784dfda13faf90276b1137ba6e85db21bd550c6a3ba486178e5e)
for more information.
- Replace Icons for Anvil widgets. 

## Automation

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

### 🔍 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/8847468194>
> Commit: a2036daedef0a08b7c973e04ac11a224fb40c9c1
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8847468194&attempt=2"
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
2024-04-26 15:37:09 +03:00
Jacques Ikot
60d45ea6ff
feat: add analytics for drag and drop building blocks (#32699)
## Description
> [!TIP]  
Add events to track the dragging of building blocks, dropping of blocks,
and the time taken from drag till drop is complete.

**Drag Event**
```
AnalyticsUtil.logEvent("DRAG_BUILDING_BLOCK_INITIATED", {
        applicationId,
        workspaceId,
        source: "explorer",
        eventData: {
          buildingBlockName: props.details.displayName,
        },
      });
```

**Drop Event**
```
AnalyticsUtil.logEvent("DROP_BUILDING_BLOCK_INITIATED", {
        applicationId,
        workspaceId,
        source: "explorer",
        eventData: {
          buildingBlockName: props.details.displayName,
        },
      });

AnalyticsUtil.logEvent("DROP_BUILDING_BLOCK_COMPLETED", {
        applicationId,
        workspaceId,
        source: "explorer",
        eventData: {
          buildingBlockName: dragDetails.newWidget.displayName,
          timeTakenToCompletion: timeTakenTo CompleteValueInSeconds,
          timeTakenToDropWidgets: timeTakenValueInSeconds
        },
      });
```

Fixes #32492  

## Automation

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

### 🔍 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/8785306375>
> Commit: 8316506b039256ad6d171a3a81ddaec56cecdfc2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8785306375&attempt=1"
target="_blank">Click here!</a>

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






























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

- **New Features**
- Introduced analytics tracking for building block drag-and-drop
operations.
- Enhanced functionality for adding and managing building blocks within
the application.
- **Refactor**
- Updated action type constants for better consistency in handling
building block operations.
- **Bug Fixes**
- Improved logic for setting the start time of building block drag
operations to ensure accurate tracking.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-04-22 15:58:37 +01:00
Jacques Ikot
ef279d1e76
feat: update copy from widgets to UI elements (#32514)
## Description
> [!TIP]  
With the addition of building blocks to the explorer items, we need to
change the widget name to something that better encapsulates the
contents of the canvas explorer. All instances of "widgets" in the
canvas explorer have been changed to "UI elements"

Fixes #32331

## Automation

/ok-to-test tags="@tag.Widget, @tag.MainContainer, @tag.Visual"

### 🔍 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/8777493414>
> Commit: 97f5cdb47a40086bf2979661c39fa4a32d0e4dd8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8777493414&attempt=1"
target="_blank">Click here!</a>

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












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

## Summary by CodeRabbit

- **New Features**
- Added new constants and updated text descriptions for UI elements in
the editor pane.
	- Enhanced the multi-select property pane with clearer text.
- **Refactor**
- Changed terminology from "widgets" to "UI elements" across various UI
components.
- **Style**
- Updated messages and placeholder texts to improve user interface
clarity and consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-22 05:35:24 +01:00
Ankita Kinger
6244e28fed
chore: Update analytics to pass the correct source information in identify user call (#32591)
## Description

Updating analytics to pass the correct source information

Fixes [#32266](https://github.com/appsmithorg/appsmith/issues/32266)

## Automation

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

### 🔍 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/8750877755>
> Commit: 6fedefebd3867aee79877b7ed105c90888005cfd
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8750877755&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-19 15:06:50 +05:30
Hetu Nandu
065ced345b
chore: Make Editor Pane Segments GA (#32712) 2024-04-18 10:05:34 +05:30
Jacques Ikot
0118051301
feat: implement dropping building blocks on canvas (#31857)
## Description
> [!TIP]  
**Goal**
To drag any building blocks from the explorer and drop at any position
on the users canvas with full implementation.

**Implementation**
- Show skeleton widget when building block is initially dragged unto the
canvas.
- Make API call to add datasources, queries, and JS to existing page of
users app
- Get returned widget DSL and use existing copy paste logic to display
widgets on the canvas
- Remove loading state, handle clean up for copy paste
- Run all queries newly created by the dropped building block

**Limitations**
- There is a loading state and the process is not instant like dropping
a widget

This PR is followed by this one
[here](https://github.com/appsmithorg/appsmith/pull/31406), which
displays the loading state when a building block is dragged unto the
canvas.

Fixes #31856
## Automation

/ok-to-test tags="@tag.Templates, @tag.MainContainer, @tag.Visual,
@tag.Widget"

### 🔍 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/8701664455>
> Commit: 456a7a0a322e76974a7f5c41a6c1e274ef82e4ea
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8701664455&attempt=1"
target="_blank">Click here!</a>

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















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

- **New Features**
- Introduced a new "Building Blocks" category in the widget sidebar for
enhanced organization and accessibility.
- Added functionality to resize building blocks with new horizontal and
vertical limits.
- Implemented a "see more" button for "Building Blocks" to display all
associated widgets.
- Enhanced drag and drop functionality for building blocks on the
canvas.

- **Enhancements**
- Improved sorting logic for widgets, prioritizing "Building Blocks".
    - Enhanced widget search functionality within the sidebar.

- **Bug Fixes**
- Adjusted default rows and columns settings for explorer building
blocks to improve layout and usability.

- **Documentation**
- Updated messages and constants related to new features for clarity and
consistency.

- **Refactor**
- Refactored drag and drop handling logic to support new building block
constraints and features.
- Updated application state management to include building blocks
related data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-04-16 09:41:09 +01:00
Jacques Ikot
9118f36432
fix: widget card filter (#32420)
## Description
> [!TIP]  
When user starts to search for a widget, and hovers over the canvas
area, the search filter resets. This issues is caused by the resetting
of the widget cards state whenever user hovers

**Fix**
I have changed the trigger for the useEffect, to only set the widget
cards state only when the building blocks are loaded.

Fixes #32408  

## Automation

/ok-to-test tags="@tag.Templates, @tag.Visual, @tag.Widget"

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

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





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

- **Bug Fixes**
- Improved the update mechanism for the widgets list in the UI Editor
sidebar to ensure it refreshes correctly after fetching new building
blocks.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-04-09 10:38:01 +01:00
Jacques Ikot
0a5130c568
feat: enhanced widget card (#32211)
## Description
> [!TIP]  
To update the explorer widgets and icons to match the new Anvil design
system

**How**
1. Update all the icons and thumbnails svg for widgets in the explorer
2. Update the WidgetCard component to implement the new design
3. Test functionality of widgets manually

Fixes #32330 

## Automation

/ok-to-test tags="@tag.Visual, @tag.MainContainer, @tag.Widget"

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

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



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


- **New Features**
- Introduced a new `UIEntityCard` component for representing widgets in
the editor sidebar with enhanced drag-and-drop functionality and
improved visual layout including widget details.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-09 02:16:46 +01:00
Rishabh Rathod
7ab236aa7e
chore: autoFocus widget search input on load (#32002)
## Description

This PR included two paper cut fixes 

1.  Autofocus the search input after add widgets button click


https://github.com/appsmithorg/appsmith/assets/23132741/3125c0a8-1104-4c1c-aecc-dacd01123f82

2. Remove the helper text for columns in Table widgets

Fixes https://github.com/appsmithorg/appsmith/issues/32218

## Automation

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

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

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



















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

## Summary by CodeRabbit

- **New Features**
- Enhanced search input focus control across the editor for an improved
user experience.
- **Refactor**
- Updated components to support dynamic focus management on search
inputs.
- **Bug Fixes**
- Removed mandatory help text validation for property controls,
enhancing flexibility in widget configuration.
- Eliminated the `helpText` requirement from widget configuration,
simplifying setup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-03 13:21:53 +05:30
Jacques Ikot
0cf09018b9
feat: list building blocks in explorer (#31199)
## Description
This is step 1 of completing the addition of building blocks within the
canvas explorer. It adds building blocks to the explorer and hides the
functionality behind a feature flag -
release_drag_drop_building_blocks_enabled.

1. Create a new hook to manage explorer items - widgets and building
blocks
2. Define the max items to display in the explorer for each tag
3. Define a utility function to return all explorer items alongside the
maxNoToRender per tag
4. Rename WidgetSidebarWithTags to UIEntitySidebar and move into a new
sidebar folder
5. Adjust newly renamed UIEntitySidebar to implement loading for
building blocks, new listing of blocks and widgets and manage "See more"
functionality for all items in explorer.

#### PR fixes following issue(s)
Fixes #31146

#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## 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
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] 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**
- Introduced new constants and functions to optimize widget management
and search functionality.
- Added loading indicators and a "See More" button for better user
interaction with widget cards.
- Enhanced widget filtering and display based on user interactions and
tag categories.
- Implemented a custom hook for managing UI explorer items like widgets
and building blocks.

- **Refactor**
  - Updated import paths for better code organization and readability.

- **Style**
- Adjusted widget card rendering based on tags for an improved visual
hierarchy and user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-03-08 10:05:02 +01:00