ef5a253a92
1861 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ef5a253a92
|
fix: Improve conditional rendering in ChartWidget (#36806)
## Description Simplify the conditional rendering logic in the ChartWidget component by separating the cases for an empty chart and loading state. This improves readability and maintainability of the code. Fixes #36213 _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.Chart" ### 🔍 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/11288506543> > Commit: 09b7635c04bbf72b12a6461deafc0789f7a04ea7 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11288506543&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Chart` > Spec: > <hr>Fri, 11 Oct 2024 08:17: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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced the `ChartWidget` component for improved control flow and readability. - Introduced a streamlined rendering process for different chart states (loading, empty, error). - Added an optional `onDataPointClick` property to the `ChartWidgetProps` interface. - **Improvements** - Modularized rendering logic for better maintainability. - Added a comprehensive set of unit tests for the `ChartWidget` component to ensure consistent rendering behavior across various states. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d233d7e9c3
|
feat: Allow filtering of table select column label (#36755)
## Description **Problem** When filtering a table with a select column type, users expect to filter by the visible label values shown in each cell. Currently, however, filtering is applied to the underlying option values rather than the displayed labels, leading to unexpected filter results for end-users. **Root Cause** In a previous update ([PR #35124](https://github.com/appsmithorg/appsmith/pull/35124)), the table cell display for select columns was changed to show labels instead of values. However, the filtering logic was not updated accordingly, so the table still filtered on the original option values, creating a mismatch between displayed and filtered content. **Solution** This PR modifies the displayedRow property within the table widget to use the label property instead of the value key when filtering or searching select column data. This ensures that table filtering and searching now align with the visible label values in the select columns, providing a more intuitive user experience. Fixes #36635 ## Automation /ok-to-test tags="@tag.Sanity, @tag.Table, @tag.Select, @tag.Binding" ### 🔍 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/11234735437> > Commit: fd6c179ffb2c61d23cb98fd749c8df49cebcfcdd > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11234735437&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Table, @tag.Select, @tag.Binding` > Spec: > <hr>Tue, 08 Oct 2024 12:48:01 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** - Introduced a new test case to verify filtering functionality for the "role" column in the Table Widget. - Enhanced filtering mechanism to support multiple label values for select columns. - **Bug Fixes** - Removed outdated search functionality to streamline user experience. - **Refactor** - Restructured existing test cases for improved clarity and flow. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
56e7f89402
|
chore: removed old flags for airgap instances (#36609)
## Description Removed all the occurrences of listed flags in the codebase: 1. ab_ds_binding_enabled 2. ab_ds_schema_enabled 3. ab_gsheet_schema_enabled 4. ab_learnability_discoverability_collapse_all_except_data_enabled 5. ab_learnability_ease_of_initial_use_enabled 6. ab_mock_mongo_schema_enabled 7. ab_start_with_data_default_enabled 8. rollout_js_enabled_one_click_binding_enabled Fixes #36256 _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/11177173738> > Commit: bfbf6bbe77b963c5d257c29cf5bac35139417a07 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11177173738&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 04 Oct 2024 10:31:10 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 ## Summary by CodeRabbit - **New Features** - Enhanced test coverage for the Community Issues page, focusing on pagination, search, filtering, and issue management. - Improved functionality for adding new rows to table widgets, including visibility controls and state validations. - **Bug Fixes** - Resolved issues related to the visibility of UI elements when adding new rows and ensured accurate data reflection in the table. - **Tests** - Expanded tests for pagination, row selection, search functionality, and filtering logic in table widgets. - Added comprehensive assertions for client-side search and filtering scenarios, including checks for modal visibility during issue management. - **Chores** - Removed obsolete feature flags and streamlined logic for managing feature flags across components. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
62a208c837
|
fix:Ensure alert message triggers only once when onDropdownClose in select widget (#34812)
## Description: > When using the select widget, setting the "onDropdownClosed" event to show an alert results in the alert being shown twice instead of once. > I have raised this PR to ensure that `show alert is called only once in the select widget on calling onCloseDropdown`. ## [Issue Link](https://github.com/appsmithorg/appsmith/issues/26696) ## Cypress video: https://github.com/appsmithorg/appsmith/assets/136346053/b602fd18-a7ed-4a0b-8546-cf29d90ba0f9 ## Screenshots: ### Before resolving bug:  ### After resolving bug :  <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Tests** - Introduced new tests for the Select widget to validate `onDropdownClose`, `onDropdownOpen`, and `onOptionChange` events, ensuring alerts display correctly during interactions. - Added a test suite for the `SelectComponent` to verify that dropdown callbacks are triggered correctly. - **New Features** - Enhanced the visibility toggle logic for the Select widget's popover, improving user experience by preventing redundant actions when toggling via button clicks. - Added a specific method to handle button click events for toggling the popover visibility. - Improved responsiveness of the Select widget by ensuring active item updates only occur when the selected item changes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9e2fb95aee
|
feat: init AI chat widget (#36610)
## Description Fixes #36541 > [!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="" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!WARNING] > Tests have not run on the HEAD c4a6e25abc716cc6a54e612a3800ca95079ba8a0 yet > <hr>Thu, 03 Oct 2024 11:06:19 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** - Introduced the WDS AI Chat Widget for interactive chat experiences using OpenAI. - Added the AIChat component for enhanced chat functionality. - Expanded the collection of available widgets with the new WDS AI Chat Widget. - Introduced the ThreadMessage component for structured message rendering in the chat interface. - Added UserAvatar and ChatTitle components for improved user interaction and display. - Introduced new icons and thumbnails for AI Chat and Date Picker to enhance visual representation. - **Bug Fixes** - Resolved issues related to widget integration within the existing framework. - **Documentation** - Updated configuration files to enhance modularity and organization. - Expanded documentation to include new icons and thumbnails. - **Chores** - Added the OpenAI, React Markdown, and React Syntax Highlighter dependencies for improved functionality. - Introduced a new type declaration dependency for better type support. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Valera Melnikov <valera@appsmith.com> Co-authored-by: saiprabhu-dandanayak <saiprabhu.dandanayak@zemosolabs.com> Co-authored-by: Rudraprasad Das <rudra@appsmith.com> Co-authored-by: Abhishek Pandey <66054987+a6hishekpandey@users.noreply.github.com> Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com> Co-authored-by: “NandanAnantharamu” <“nandan@thinkify.io”> Co-authored-by: Anagh Hegde <anagh.hv@gmail.com> Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com> Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com> Co-authored-by: sneha122 <sneha@appsmith.com> Co-authored-by: “sneha122” <“sneha@appsmith.com”> Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com> Co-authored-by: Nidhi Nair <nidhi@appsmith.com> Co-authored-by: Nilansh Bansal <nilansh@appsmith.com> Co-authored-by: Rishabh Rathod <rishabh.rathod@appsmith.com> Co-authored-by: vadim <vadim@appsmith.com> |
||
|
|
6f27959bce
|
fix: Invalid Date Display in Table Widget's Date Column When Using Unix Timestamp (ms) (#36455)
## Description **Problem** When populating a table widget with data that includes dates in Unix timestamp (milliseconds) format, setting the column type to "Date," the input format to "Unix timestamp (ms)," and selecting a display format leads to an issue during inline editing. While the date picker behaves correctly, selecting a new date results in the table cell showing an "Invalid Date" error. **Root Cause** The platform currently uses DateInputFormat.MILLISECONDS for Unix timestamp (ms) formatting. However, this value is not a valid option for the moment.format() function, which expects the input format to be 'x' for Unix timestamps in milliseconds. This mismatch leads to the "Invalid Date" error. **Solution** Modify the logic to map DateInputFormat.MILLISECONDS to the correct moment format string 'x'. Adjust the table's transformDataPureFn to correctly process and display dates in Unix timestamp (ms) format after inline edits, ensuring the moment library can handle the input properly. **Outcome** This fix ensures that when a user selects a date via the date picker in inline editing mode, the selected date is displayed correctly in the table without any errors. Fixes #35631, #25081 ## Automation /ok-to-test tags="@tag.Sanity, @tag.Binding, @tag.Table, @tag.Datepicker" ### 🔍 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/11101758400> > Commit: 6a3cae774f3824bd2ee126b501bfa4b6d71ae0c8 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11101758400&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Binding, @tag.Table, @tag.Datepicker` > Spec: > <hr>Mon, 30 Sep 2024 08:54:58 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 ## Summary by CodeRabbit - **New Features** - Enhanced date column editing in table widgets to accept Unix timestamps in milliseconds without errors. - Introduced a new enumeration for improved date formatting options. - Added mock data structures for testing various date formats and transformations in the table widget. - New method for generating formatted date strings for tomorrow in both verbose and ISO formats. - **Bug Fixes** - Improved validation logic for date inputs in the table, ensuring proper handling of different date formats. - **Tests** - Added new test cases to validate date handling and input formats in the table widget. - Introduced a new test suite for transforming table data based on specified column metadata. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c2fcd512ad
|
fix:icon align when datatype is of image (#35992)
### Description ### [Bug Link](https://github.com/appsmithorg/appsmith/issues/35549) I have raised this PR In-order to fix `alignment` of the `icon` in `input component` when `datatype` is selected as `number` and position is selected as `right` ### screenshot ### Before issue is resolved , icon dissapears  ### After the issue is resolved  ### Cypress Testing  ### unit Testcases  ### Cypress Testing video https://github.com/user-attachments/assets/3898144e-e84e-48b8-9ff1-9f449007cf41 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a customizable `rightElement` prop in the `BaseInputComponent`, allowing users to display an icon on the right side of the input field based on specified properties. - **Tests** - Added a new test suite for the `BaseInputComponent` to validate the rendering and behavior of the component, including checks for icon visibility and alignment. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
199638229b
|
chore: move wds widgets to modules (#36511)
## Description Fixes #36510 _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.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/11015252866> > Commit: a5fae728c0f857b2ff62a4f6a3bc50b1b377c2bd > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11015252866&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 24 Sep 2024 14:30:02 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 ## Summary by CodeRabbit - **Chores** - Updated import paths for various components and types to reflect a new directory structure, enhancing organization and maintainability. - Modified paths for multiple widgets including `WDSInputWidget`, `WDSBaseInputWidget`, `WDSModalWidget`, and `MenuButtonWidget`, ensuring consistent access to resources. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
cd3472ac1d
|
chore: delete unused code (#36461)
## Description The second round of deleting unused files, `.ts` were added to the check. [Related EE PR](https://github.com/appsmithorg/appsmith-ee/pull/5205) ## 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/10991435044> > Commit: 7cfbcb9f9028c7cca5f06ae5a3836762e94214ec > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10991435044&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 23 Sep 2024 10:51:02 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** - Expanded project file scope to include JavaScript files alongside TypeScript files. - **Bug Fixes** - Removed obsolete functions and constants related to help, tour, and API functionalities, improving overall code clarity and maintenance. - **Chores** - Deleted several unused files and constants across various components, enhancing project organization and reducing clutter. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8fe96c9c20
|
fix: isRequired validation property for table select column (#36375)
## Description **Problem** The select column of the table widget does not have a validation property within its property pane to allow users add an isRequired validation to the table select column. **Solution** Added a Validation section to the table select column's property pane, which includes an isRequired toggle. When enabled, this feature will trigger a visual indication (error border colour) around the select widget if a required field is left unselected during "Add new row" or inline editing. Fixes #30091 ## Automation /ok-to-test tags="@tag.Widget, @tag.Table, @tag.Binding, @tag.Sanity, @tag.Select" ### 🔍 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/10957896180> > Commit: d2597e6a26938f2b99f2f997fca7bc110e5c2091 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10957896180&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget, @tag.Table, @tag.Binding, @tag.Sanity, @tag.Select` > Spec: > <hr>Fri, 20 Sep 2024 12:23:29 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** - Introduced end-to-end tests for Select column validation in Table widgets. - Enhanced validation logic to support Select column types in the Table widget. - Added visual feedback for required Select fields during row addition and inline editing. - Improved locator for single-select widget button control to enhance UI interaction. - **Bug Fixes** - Improved error handling and visual representation for invalid editable Select cells. - **Documentation** - Updated validation configuration to include Select column types for better usability. - **Refactor** - Enhanced code clarity for styled components related to Select fields. - Modified method to improve versatility in handling table interactions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Sai Charan <saicharan.chetpelly@zemosolabs.com> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
6507f90e05
|
fix: Incorrect updation of selctedRowIndex when primary column is set. (#36393)
## Description <ins> Problem statement </ins> 1. Table should have a primary column set. 2. The table should be filtered(via search or client side filters) 3. there should be a selectedRow in table a. One way to ensure is add a text widget and bind it to table's `selectedRowIndex` property. If you now run a query that updates the data behind the table: the `selectedRow` is updated to (seemingly) random row and selectedRowIndex is updated as well <ins> Rootcause </ins> We have a mechanism of preserving `selectedRow` when data updates happen. Underlying logic gets the previous selected row and tries to find it in the new data using the primary key. * If it finds it, it updates the selectedRowIndex to the `__original_index__` of the found row i.e. its position in the original data before any filters were applied. <ins> Solution </ins> We update the selectedRowIndex to the index in the new filtered data. <ins> How to test </ins> 1. Create a table with a primary key 2. Add a text widget and bind it to table's `selectedRowIndex` property 3. Filter the table 4. Click on a row to select it 5. Run a query that updates the data behind the table 6. Assert that the selected row is the same and that the selectedRowIndex is updated to the new index Fixes #36080 _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.Table, @tag.Binding, @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/10953679202> > Commit: 1a2d64467e453229940b67b29da1ce9d0e9ac24d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10953679202&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Table, @tag.Binding, @tag.Sanity` > Spec: > <hr>Fri, 20 Sep 2024 06:30:08 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 ## Summary by CodeRabbit - **Improvements** - Enhanced the efficiency of the TableWidgetV2 by streamlining the method for retrieving the index of selected rows. - Improved code readability and maintainability without altering the overall functionality. - **New Features** - Introduced new test cases to validate filtering and searching functionalities within the Table Widget V2. - Added a JSON configuration for a data-driven table interface, supporting sorting, filtering, and dynamic data binding. - Introduced fixture data for testing, allowing for comprehensive validation of table behavior under various conditions. - Added a JavaScript object containing employee data to facilitate filtering and display in the table. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c76e6c031c
|
chore:delete unused files (#36368)
## Description I used [knip](https://knip.dev/) to identify unused files. There will be a few more related PRs, after that I will add CI check for this. Fixes #35778 Related EE PR https://github.com/appsmithorg/appsmith-ee/pull/5165 ## 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/10940962461> > Commit: 31749570e9a3f9e4cce250eedba4ec18aace23f9 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10940962461&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Thu, 19 Sep 2024 12:55:41 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No |
||
|
|
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> |
||
|
|
27aeb4dc18
|
chore: fix map chart spec (#36370)
/ok-to-test tags="@tag.Maps" <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10916335124> > Commit: 6e88177f19e0b2deff3eed2d2531a8f88ec06a68 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10916335124&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Maps` > Spec: > <hr>Wed, 18 Sep 2024 06:11:15 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
d4807ac059
|
chore: refactor wds combobox component (#36286)
## Description Added styles for input to the combobox Separate reused components(FieldDescription, FieldError, FieldLabel, FieldListPopover) Fixes #36224 ## 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/10888601720> > Commit: 7ef81de082771d0345478f5cf21ce7fadcc83547 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10888601720&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Anvil` > Spec: > <hr>Mon, 16 Sep 2024 17:33:23 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 ## Release Notes - **New Features** - Added a more comprehensive set of button size examples to the `Button.stories.tsx` file. - Introduced a new `FieldDescription` component in the `ComboBox.tsx` file to handle field descriptions. - **Styling Improvements** - Refined the spacing, padding, and text size for the `Button` component based on its size. - Enhanced the visual feedback for checkboxes in invalid and selected states in the `Checkbox` component. - Simplified the CSS structure and improved the visual states of the `ComboBox` component. - **Refactor** - Replaced legacy components in the `ComboBox` with more standardized design system components for improved consistency. - Removed the `ListBoxItem` component, indicating a change in the list box rendering approach. - Narrowed the allowed sizes for the `ComboBox` component, excluding "xSmall" and "large" sizes. - **Chores** - Removed the `ErrorMessage` component and its associated export in the `index.ts` file. - Added a `verbatimModuleSyntax` property to the `tsconfig.json` file, potentially affecting module handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8a9af791e4
|
feat: Allow table search to include label and value for tables with select column type (#36061) | ||
|
|
aac30b63a2
|
fix: remove Select key value selects, fix default (#36158)
## Description https://theappsmith.slack.com/archives/C025SE88KNE/p1725434811592439 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 --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10772310432> > Commit: 3afce8dcc618f3318cfff59fa3940f398091cdd1 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10772310432&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 09 Sep 2024 12:43:13 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 ## Summary by CodeRabbit - **New Features** - Introduced enhanced validation for options in the WDSComboBoxWidget, ensuring all entries are valid objects with `label` and `value` properties. - Updated WDSSelectWidget to include validation for the options array, ensuring only valid items are processed. - **Bug Fixes** - Removed outdated validation methods and configurations in WDSSelectWidget for a more streamlined approach. - **Refactor** - Simplified the configuration and validation logic within the WDSSelectWidget, improving maintainability and clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7a53aff29e
|
feat: add ComboBox wds component (#36052)
## Description - Added ComboBox wds component. It is partly unstyled. It will be fixed in upcoming PRs - Added ComboBox widget Fixes #36015 > [!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/10718261812> > Commit: b13c79c63b809bfdb281dc74a7eaac028ece56a5 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10718261812&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 05 Sep 2024 11:36:28 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 ## Summary by CodeRabbit - **New Features** - Introduced a customizable and accessible ComboBox component for item selection. - Added support for loading states, validation, and contextual help within the ComboBox. - Integrated new configuration options for widget behavior and appearance. - Enhanced metadata for the ComboBox, including search tags for improved discoverability. - Added new icon and thumbnail components for ComboBox representation. - **Bug Fixes** - Enhanced validation logic to ensure proper input formatting for ComboBox options. - **Documentation** - Added Storybook stories to demonstrate various ComboBox states and functionalities. - **Style** - Implemented a comprehensive CSS module for consistent styling of the ComboBox component. - **Chores** - Updated widget mapping to include the new ComboBox widget in the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Vadim Vaitenko <vadim@appsmith.com> |
||
|
|
4c72fbe993
|
chore: add code for paragraph-text morphing (#36065)
/ok-to-test tags="@tag.All" <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Enhanced configurability of input widgets with new dependency tracking and update mechanisms. - Introduced dynamic font size updates for paragraph widgets, improving typography control. - Expanded configuration options for paragraph widgets with a new `fontStyle` property. - Added a new type alias for input types, improving type safety and reliability. - Improved modularity by consolidating exports for better usability. - Introduced unit tests for font size update functionality, ensuring reliability. - Added unit tests for read-only update functionality, validating correct behavior across widget types. - **Bug Fixes** - Improved widget state management through the addition of read-only update hooks. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10719066708> > Commit: 395574adcedb9da91bb49c5ed7e9415d03fd6f87 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10719066708&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 05 Sep 2024 12:06:57 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
bd8c0de7b9
|
feat: add select widget (#35849)
## Description https://github.com/user-attachments/assets/7516bcd8-7746-485a-a49d-bd19b22833d0 Fixes #35824 > [!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/10663955895> > Commit: 58d40f7826f125778734f5fda93499e3b78dfcfa > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10663955895&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 02 Sep 2024 10:15:26 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 ## Summary by CodeRabbit - **New Features** - Introduced the `WDSSelectWidget`, enhancing widget options within the application. - Added configuration files to support autocomplete, validation, and property management for the new select widget. - Added new icons and thumbnails for input fields, improving UI component availability. - **Improvements** - Streamlined the `Select` component for better usability and clarity. - Enhanced type definitions for better type safety and clarity in widget configuration. - Improved SVG structures for icons and thumbnails, enhancing visual representation. - Adjusted styles for the `Select` component, ensuring consistent sizing and improved icon alignment. - **Documentation** - Added central export for configuration modules, simplifying access to widget settings. - Updated stories to include new icons and thumbnails, enriching documentation resources. - **Bug Fixes** - Improved validation logic for default options and custom options to ensure data integrity. - **Chores** - Reorganized import statements for better readability and maintainability across widget files. - Updated TypeScript configuration for improved module handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: vadim <vadim@appsmith.com> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
827f22e487
|
perf: JSONForm infinite re-rendering when field validation is set (#35994)
## Description The setError function updates the state and the effect is also dependant on the state which triggers re-render. This is a classic case of re-rendering due to self state dependency and is fixed with a check if the error is present for a particular field then it doesn't need to set again Fixes https://github.com/appsmithorg/appsmith/issues/35995 ## Automation /ok-to-test tags="@tag.JSONForm" ### 🔍 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/10627924838> > Commit: 1d5dec675abd788931aab462832455fbce250df3 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10627924838&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JSONForm` > Spec: > <hr>Fri, 30 Aug 2024 06:50:40 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** - Enhanced error handling logic in the form validation process to improve efficiency and correctness. - **Tests** - Added a new test case to validate the behavior of the form validation hook when encountering invalid field states. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7cdee526c9
|
chore: adding telemetry for klona (#35918)
## Description Klona operations are generally expensive, for that reason we will be tracking the performance of all klonas in the main thread. ## 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/10608431935> > Commit: cab2716f74f3747d3df64342f4d7f4972358a3e6 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10608431935&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 29 Aug 2024 06:26:43 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 ## Summary by CodeRabbit - **New Features** - Introduced telemetry tracking for cloning operations across various components, enhancing performance monitoring and debugging capabilities. - **Bug Fixes** - Improved observability of cloning operations, aiding in identifying potential performance bottlenecks. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5ddf6e6977
|
feat: remove-clear-option-for-required-select-widget (#35060)
Hi @rohan-arthur, @somangshu , @contributor-support **Fixes** #34262 **What's in this pr :** - Added isRequired prop for select widget components to control the logic for the remove button. - Added two test cases to verify clear button rendering when isRequired is set to true and false. **Screenshots :**    Please let me know if any changes are required. Thank you. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced an `isRequired` property to the `SelectButton`, `SelectComponent`, and `SelectWidget`, allowing users to indicate whether a selection is mandatory. - Enhanced rendering logic in the `SelectButton` to conditionally display the cancel button based on the `isRequired` state. - Improved styling and behavior options in `SelectComponent` for better integration into forms. - **Tests** - Added new test cases for the `SelectButton` to ensure correct rendering behavior of the cancel button based on the `isRequired` prop. - Streamlined Cypress tests to focus on the non-existence of the clear button, reflecting updated component behavior. - Updated locator configurations to improve test coverage for user interactions involving clearing selections. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9f387d5763
|
fix: Correct Select Widget Mapping for Dynamic Label and Value Keys (#35862)
## Description **Problem** When the Select widget's labelKey or valueKey properties are switched to JS mode, passing a function that returns a string as the key causes the dropdown options to break. Instead of correctly mapping the labels and values, the options are incorrectly returned as an array of the key itself. **Root Cause** The issue lies in the `getOptions` function in derived.js. The logic that computes the select options based on the labelKey and valueKey was not handling cases where these properties are functions that return arrays. Instead of mapping through the source data and returning the corresponding values for each key, the function was mistakenly returning the entire array. **Solution** The `getOptions` function in derived.js has been updated to correctly handle cases where labelKey or valueKey are arrays. The function now maps through the sourceData and computes the correct labels and values based on the provided properties, ensuring that the dropdown options are displayed as expected. Fixes #35269 ## Automation /ok-to-test tags="@tag.Sanity, @tag.Select, @tag.Widget, @tag.Binding" ### 🔍 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/10560970428> > Commit: 118badee07c47fe72f727f8ab248c29685f6f7a1 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10560970428&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Select, @tag.Widget, @tag.Binding` > Spec: > <hr>Mon, 26 Aug 2024 15:24:26 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** - Enhanced test coverage for the Select widget by adding new test cases to validate the correct functioning of JavaScript functions in the label and value keys. - Improved processing of `optionLabel` and `optionValue` properties for the Select widget, ensuring accurate mapping to `sourceData`. - Introduced a new helper function to streamline the validation of label and value keys in the Select widget tests. - **Bug Fixes** - Corrected the handling of multiple options in the Select widget to enhance data mapping accuracy and functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
68e1bcf9fa
|
chore: Input morphing (#35845)
/ok-to-test tags="@tag.Widget" <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new input widgets: Email, Password, Number, and Multiline. - Enhanced configuration options for phone and currency inputs. - **Bug Fixes** - Improved type handling for input properties, ensuring better validation and reliability. - **Documentation** - Updated widget exports for better modularity and usage across the application. - **Chores** - Introduced new constants to support the latest input widget types in the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10572140876> > Commit: a5c4b41eb615a6c655439f977fc0442cf0e0a237 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10572140876&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget` > Spec: > <hr>Tue, 27 Aug 2024 06:28:05 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
eda63fe688
|
chore: JSONform - useRegisterFieldValidity remove unused dependency in useEffect (#35869)
## Description Removes unused dependency in `useRegisterFieldValidity` of JSONForm Introduced in https://github.com/appsmithorg/appsmith/pull/35717 ## Automation /ok-to-test tags="@tag.JSONForm" ### 🔍 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/10554659505> > Commit: e59355e8484e4dd0707d6c0b7a13b0b96b2b3507 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10554659505&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JSONForm` > Spec: > <hr>Mon, 26 Aug 2024 06:45:22 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 - **Performance Improvements** - Optimized the `useRegisterFieldValidity` function by reducing the number of dependencies in its `useEffect` hook, potentially enhancing performance by minimizing unnecessary updates. - **Bug Fixes** - Streamlined control flow for error handling within the `useRegisterFieldValidity` function to ensure consistent behavior when validating fields and managing errors. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
28ac53bf6e
|
fix: Ensure Select Column Displays Data When Options Are Not Set (#35817)
## Description **Problem** When using a table widget, changing a column to the "Select" type causes the data in that column to disappear unless the options property is explicitly set. This creates a poor user experience, as it appears that the data has been lost or the widget is malfunctioning. **Solution** We have implemented a fallback mechanism to ensure a smoother user experience. If no options are set in the property pane, the label inside the select cell will now default to displaying the existing value. This ensures that the data remains visible, even in the absence of predefined options. Fixes #35807 ## Automation /ok-to-test tags="@tag.Widget, @tag.Select, @tag.Binding, @tag.Table, @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/10513374411> > Commit: 1e89468e8345f2fc351c100428dca76a7a455dbc > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10513374411&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget, @tag.Select, @tag.Binding, @tag.Table, @tag.Sanity` > Spec: > <hr>Thu, 22 Aug 2024 19:43:53 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** - Enhanced the select column in the table widget to return a default value when no options are available. - **Bug Fixes** - Improved robustness of the select cell component to prevent errors when the options array is empty. - **Tests** - Updated and reorganized test cases for the select column to improve clarity and specificity. - Introduced a new test case to validate default value behavior when no options are provided. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
87d22cadb9
|
chore: created shared utils package and moved objectKeys function to it (#35615) | ||
|
|
26e1c88a7b
|
chore: move anvil widgets to wds (#35812)
## Description - Moved Section and Zone widgets to wds folder Fixes #35810 > [!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/10511698329> > Commit: 67868d550cebe7b2393803c805132b548c6f1046 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10511698329&attempt=3" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 22 Aug 2024 18:06:57 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 ## Summary by CodeRabbit - **New Features** - Introduced new `WDSSectionWidget` and `WDSZoneWidget` components, reflecting a new namespace for widget organization. - Added new constants and an enumeration for widget configuration in the `wds/constants` module. - **Improvements** - Updated import paths for various constants and components to streamline the codebase organization. - **Collaboration Enhancements** - Updated ownership in the `CODEOWNERS` file to include both the `@appsmithorg/wds-team` and `@appsmithorg/anvil-team` for better collaboration on widget development. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6c8d4a9a66
|
fix: Fixes currentRow calculation logic in table(property pane) (#35390)
## Description <ins>Problem</ins> `currentRow` variable which is availabe in property pane of col settings - is not getting correct value during runtime if the table is sorted or filtered. <ins>Root cause</ins> * We are considering `processedTableData` to get the `currentRow`. * This property is not updated during filtering and sorting, another property `filteredTableData` is updated instead. * We CANNOT use `filteredTableData` as it depends on `primaryColumns` property which we intend to update as well - this is leading to cyclic dependency during evaluations. <ins>Solution</ins> Since the problem is related to edit cases and given the constraints around using `filteredTableData` directly, we fixed the problem by adding a new property to `editableCellValue` object called `__originalIndex__`. * This property stores the index of the row being edited in `processedTableData` * On top of this change, the PR adds a migration for updating the current row binding in TableWidgetV2, ensuring accurate current row calculation and improving the functionality of the widget. * We also added unit test for migration changes. * Additionally, This pull request refactors the DSLs for TableWidgetV2 migration test cases to update the DSLs to separate folder, drastically reducing the file size to its core logic, improving the readability of the code. * We also updated relevant test cases to account for this change. [Testing plan](https://www.notion.so/appsmith/Issue-34346-currentRow-doesn-t-work-correctly-when-the-table-is-filtered-449225ae822c485493036599c2b19487) [Counter part EE pr](https://github.com/appsmithorg/appsmith-ee/pull/4879) Fixes #34346 _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/10451549845> > Commit: d1d65c6898c223bf3f6dfbfe93b8e8de214fcc7d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10451549845&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 19 Aug 2024 11:15:04 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [x] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Updated DSL migration process to support version 90, enhancing compatibility and robustness. - Introduced new migration logic for table widget data bindings, improving inline editing capabilities. - Enhanced validation logic for editable cells in table widgets, allowing for more dynamic data handling. - Added a method to discard edits in specific table cells, improving user interaction. - Introduced a new message constant for required fields, enhancing user feedback. - **Bug Fixes** - Improved validation checks for table cells based on updated indices and values. - **Tests** - Added comprehensive tests to validate migration functions related to Table Widget, ensuring all aspects function correctly post-update. - Enhanced test specifications for improved validation logic and coverage in table widget functionalities. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: sneha122 <sneha@appsmith.com> |
||
|
|
6628635cf4
|
fix: mandatory date column enforcement (#35613)
## Description **Problem:** When the `isRequired` property is set for date columns in the table widget, the validation doesn't work as expected. Users can add new rows without filling in the date field, even though it is marked as required. This results in rows being added with missing date values, which can lead to incomplete or invalid data entries. **Root Cause:** The validation logic for the date column is currently handled within the DateCell component. However, the isRequired validation functionality was not implemented within this component. Additionally, the general validation logic in the `getEditableCellValidity` function, located in the derived.js file, does not account date cells in its isRequired validation. **Solution:** To fix this issue: **Enhance the `getEditableCellValidity` function:** Extend the existing validation logic in getEditableCellValidity to include the date cell in its validation, specifically checking for the isRequired property. **Integrate with DateCell validation:** Ensure that the isRequired validation is properly executed in conjunction with the existing date validations inside the DateCell component. This will enforce the requirement and prevent new rows from being added if the date field is left empty. **Test Plan** https://www.notion.so/appsmith/Test-Plan-Date-Column-Marked-as-Required-Doesn-t-Enforce-Mandatory-Entry-When-Adding-New-Table-Row-c73b764af60842a188cba056bdda6d79?pvs=4 Fixes #34258 ## 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/10453174231> > Commit: 40fe2eaf7d45024bef00f8031e971a5bac2a4e3e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10453174231&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 19 Aug 2024 13:17:23 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 ## Summary by CodeRabbit - **New Features** - Introduced validation for "Date" column types, ensuring that required fields are correctly enforced. - **Enhancements** - Improved validation logic for more accurate user feedback in date cells. - Expanded support for validating "date" columns in the table widget. - **Bug Fixes** - Enhanced error handling to ensure proper indication of cell validity based on new validation criteria. - Updated visual feedback for cell editor state in the UI. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
31760057ce
|
perf: JSONForm widget optimise calling of clear errors (#35717)
## Description During on page load for a jsonForm widget, the `clearErrors` method was getting called even if there wasn't any error to clear. This led to significant number of this function execution for a large scale application For more info - https://theappsmith.slack.com/archives/C024GUDM0LT/p1723206363693759 Fixes https://github.com/appsmithorg/appsmith/issues/35739 ## Automation /ok-to-test tags="@tag.JSONForm" ### 🔍 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/10440802784> > Commit: 8f449b75c15bd57a65ca75c5b7cffc7417f645c5 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10440802784&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JSONForm` > Spec: > <hr>Sun, 18 Aug 2024 13:21:29 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** - Improved error handling in form validation to ensure errors are cleared only when necessary. - **Bug Fixes** - Enhanced logic for retrieving current error states to provide a more robust user experience when filling out forms. - **Tests** - Expanded test coverage for form validation logic, including various scenarios to ensure correct behavior under different conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e6d8523fe2
|
chore: Fix table columns when hidden are not greyed out in preview mode (#35729)
Fixes #34852 Grey out the header cells and row cells when the column is set invisible. Before:  After:  /ok-to-test tags="@tag.Widget" <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10422331593> > Commit: 045a3e723cc3783c40b191613eb253a4e4ab1366 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10422331593&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget` > Spec: > <hr>Fri, 16 Aug 2024 16:28:06 UTC <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced the visual feedback for users interacting with the `WDSTableWidget` by improving opacity styles for disabled table headers and cells. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
db9d572424
|
chore: use ads icons (#35633)
## Description Why did this PR appear? I wanted to replace the icons from `ads-old` with the icons from `ads`. After that, I had to fix some affected components in `ads-old` and in the main app. In the process, I discovered that a large amount of code is simply not being used. ## 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/10419944222> > Commit: 86491f43aff37e34468fb7dc32722b9ef2ec60c9 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10419944222&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 16 Aug 2024 13:28:03 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 precision in UI element targeting for enhanced test reliability. - Broadened icon options within the FilePickerComponent for greater flexibility. - **Improvements** - Shifted component imports to a centralized design system for better consistency. - Simplified prop structures for the Button component to enhance clarity. - Enhanced validation utilities available for form handling and input validation. - **Bug Fixes** - Enhanced robustness of element locators, reducing potential UI interaction issues. - **Refactor** - Adjusted component properties to align with updated design guidelines, promoting semantic usage. - Consolidated exports to emphasize type definitions and utility functions for better maintainability. - **Chores** - Cleaned up imports and updated code structure for improved maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
66e535df65
|
chore: Rename wds packages (#35686)
/ok-to-test tags="@tag.Widget" ## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ 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="" ### 🔍 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/10414775054> > Commit: 445dec9a23df945a5b2a965ce39b8369641bd2b8 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10414775054&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget` > Spec: > <hr>Fri, 16 Aug 2024 05:45:49 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: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
6f6c2784a3
|
chore: add isVisible in default values in wds widgets (#35624)
Fixes #35317 Fixes #35319 Fixes #35272 /ok-to-test tags="@tag.Anvil" <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced `autocompleteConfig` to manage visibility of autocomplete features consistently across the application. - Added `isVisible` property to `defaultConfig` for better control over widget visibility. - **Improvements** - Simplified logic in the `shouldUpdateProperty` method for enhanced clarity and efficiency. - Updated `getAutocompleteDefinitions` methods to utilize the new `autocompleteConfig`, streamlining autocomplete handling. - **Modifications** - Expanded export capabilities of configuration modules, including the new `autocompleteConfig` across multiple widgets. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10368473517> > Commit: 362f2af4cd0370aefe57c0004102d25c9b10ad33 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10368473517&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: @tag.Anvil > Spec: > The following are new failures, please fix them before merging the PR: <ol> > <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/AnvilCheckboxWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilHeadingWidgetSnapshot_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</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>Tue, 13 Aug 2024 11:27:23 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local> |
||
|
|
b8df54cbeb
|
chore: batching updates for a few widgets to reduce rerenders (#35594)
## Description Each meta update would cause rerender for the the widget, by batching meta updates we reduce the number of rerenders thereby improving the overall performance of the widget. 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 --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10346452761> > Commit: c1abc97a5d485f1c38885d8e3d1b0e99810027e4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10346452761&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 12 Aug 2024 06:26:33 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** - Enhanced batch processing for widget metadata updates across various widgets, improving state management efficiency. - Introduced new methods for committing batch updates, streamlining interaction handling. - **Bug Fixes** - Improved performance and consistency in widget state updates, reducing unnecessary re-renders. - **Refactor** - Modified existing update methods to utilize batching for more organized state management. - **Tests** - Adjustments made to ensure tests align with the new batch update functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 |
||
|
|
4bbbaecf20
|
chore: Upgrade TinyMCE (#35399) | ||
|
|
f0059fe894
|
fix: table save row button onclick function (#35412) | ||
|
|
b7ec5dacd8
|
chore: rename old ADS package (#35517)
## Description Rename package `design-system-old` to `@appsmith/ads-old`. ## 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/10286195096> > Commit: c0d478694b12f35b88687b6dae6f252967fba540 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10286195096&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/BugTests/DatasourceSchema_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, 07 Aug 2024 15:26:02 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No |
||
|
|
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 |
||
|
|
95e32687af
|
chore: Memoising some computations within WDS_TOOLBAR_BUTTONS_WIDGET (#35436)
## Description Memoising some computations related to WDS_TOOLBAR_BUTTONS_WIDGET Fixes #`Issue Number` ## 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/10264040446> > Commit: c15e274b718fc36f17b8f7edda4f23790b72f16d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10264040446&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Tue, 06 Aug 2024 10:43:05 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 ## Summary by CodeRabbit - **Performance Enhancements** - Optimized the `ToolbarButtons` component for improved efficiency by utilizing the `useMemo` hook, reducing unnecessary calculations and re-renders. - Consolidated the computation of `sortedButtons` and `disabledKeys` in `ToolbarButtonsComponent` for better performance and clarity. - **Telemetry Integration** - Added performance tracking capabilities to the `withWidgetProps` higher-order component, enhancing observability of widget performance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c0664e2c52
|
fix: Anvil zone widget default configurations (#35299)
## Description - Zone widget needs the `flexVerticalAlignment` configurations to make the layout stretch to occupy all vertical space in a section - Zone widget's layout configuration needs a `height:100%` to enable highlights in an empty zone. ## 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/10221060293> > Commit: 76b97f97b1ff6b487db00684584a97957094bcba > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10221060293&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 02 Aug 2024 20:25:54 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** - Introduced a new `layoutStyle` property for enhanced border and height control in layout components. - Added `flexVerticalAlignment` property to improve vertical alignment flexibility in widgets, allowing for responsive design enhancements. These changes aim to provide users with greater customization options for layout and widget presentation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3b1c14a9f0
|
feat: add sortBy property to table select cell type (#35187)
## Description **Problem** The table widget now supports the Select column type, which allows the column to contain both a label and a value. This could be useful for currency fields, foreign keys, or any other case where you want to display a different version of the column value. However, there is a problem with sorting. The table always sorts using the value, and does not give the user an option to sort using the label, where it makes sense in specific cases. **Solution** This PR adds a Sort By property to the table select cell, allowing the users to choose which value is used for sorting without affecting any functionality of the label or value of the select cell. [Additional Technical Documentation](https://www.notion.so/appsmith/Adding-sortBy-Property-to-Select-Columns-in-Table-Widget-V2-a5a41e6319a047378eb50a42be8c32ef?pvs=4) **Tested Cases** 1. Sort select column by default value Objective: Ensure that a newly added table with select column default sorts by the value **Steps:** - Drop a new table widget. - Add sample data to the table. - Set a column (e.g., role) to select type. - Add selectOptions property - Verify that when sorted in ascending or descending order, the sorting is correct 2. Sort select column by label Objective: Ensure that a newly added table with select column and sortBy property set to label sorts correctly **Steps:** - Drop a new table widget. - Add sample data to the table. - Set a column (e.g., role) to select type - Add selectOptions property - Set sortBy property to label - Verify that when sorted in ascending or descending order, the sorting is correct and based on the label value only 3. Verify that sorting of other table cells that are not select works as expected Objective: Ensure that every other cell type in the table sorts correctly **Steps:** - Drop a new table widget. - Add sample data to the table. - Set a column (e.g., role) to select type - Add selectOptions property - Set sortBy property to label - Verify that when columns other that role are sorted, they are sorted correctly 4. Verify that sorting works as expected when table data is a binding Objective: Ensure that the sorting works for all columns while using data binding in table data **Steps:** - Drop a new table widget - Link a query binding to the table data property - Verify that all columns sort correctly 5. Verify that sorting works as expected when table data is a binding and select column sorting is set to label Objective: Ensure that the sorting works for all columns while using data binding in table data with a select column set to sort by the label **Steps:** - Drop a new table widget - Link a query binding to the table data property - Set a column (e.g., role) to select type - Add selectOptions property - Set sortBy property to label - Verify that all columns sort correctly 6. Verify that sortBy logic does not take effect or break user experience until the user adds selectOptions in select cell **Steps:** - Drop a new table widget - Link a query binding to the table data property or add raw data - Set a column (e.g., role) to select type - Do not add selectOptions - Set sortBy property to label - Verify that all other columns display and sort correctly 7. Verify that sorting by label and value works correctly in deployed mode **Steps:** - Drop a new table widget - Link a query binding to the table data property or add raw data - Set a column (e.g., role) to select type - Add selectOptions - Set sortBy property to label - Deploy application - Confirm that sorting works correctly for all columns Fixes #21993 ## Automation /ok-to-test tags="@tag.Table, @tag.Binding, @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/10165119164> > Commit: 8a4e8b238adc0d78726a811b54a209caa4990606 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10165119164&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Table, @tag.Binding, @tag.Sanity` > Spec: > <hr>Tue, 30 Jul 2024 16:02:35 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [x] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a feature flag for dynamic table cell labeling. - Added a sorting option for select cells, allowing sort by value or label. - Enhanced user interface with new configuration options for select components. - Improved sorting functionality for select columns to sort by labels. - **Bug Fixes** - Improved sorting functionality in the table widget to ensure accurate data representation. - **Tests** - Expanded and clarified test cases for sorting functionality in the Table Widget V2. - Updated testing structure for better reliability and isolation of test scenarios. - Integrated dynamic testing capabilities based on feature flags. - **Documentation** - Added new locators for sorting controls to enhance UI interaction capabilities. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 |
||
|
|
752582c160
|
perf: optimize canvas resizing for fixed layout (#35257)
## Description In this PR canvas resizing hook was refactored, many unnecessary effects were removed leaving the bare minimum. Fixes #34741 ## 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/10155774784> > Commit: 1900e8b429151d160e20712b6aca962f3a0e33ec > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10155774784&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Tue, 30 Jul 2024 05:37:38 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** - Introduced a new constant for resize debouncing to optimize UI performance. - Added a custom hook to automatically resize canvas elements based on container dimensions. - **Enhancements** - Improved responsiveness of the app layout with better width management for canvas elements. - Enhanced structure and readability of components through destructuring props. - **Bug Fixes** - Updated logic in the main canvas reducer to prevent unnecessary state updates after initialization. - **Tests** - Updated tests to reflect changes in hooks focusing on canvas width auto-resizing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7b1882430c
|
chore: Updated search tags for WDS widgets (#35251)
## Description Fixes #34867 ## 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/10146061245> > Commit: 9ac28174b641b21237c9469a81b7d5bccb651c80 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10146061245&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Anvil` > Spec: > <hr>Mon, 29 Jul 2024 15:13:38 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** - Expanded `searchTags` for various widgets, enhancing discoverability and contextual relevance during searches. - Introduced new `searchTags` for widgets like Menu Button and Switch Group to improve categorization. - **Enhancements** - Updated existing `searchTags` across multiple widgets, broadening the keyword scope for better identification and user interaction. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
58f0c0d190
|
chore: Remove unnecessary properties from being stored in Anvil DSLs (#35088)
## Description - Multiple functions from `widgetAdditionSaga` have been removed from the flow when adding new Anvil widgets to Canvas - The removed functions have alternatives specific to Anvil ##Tasks - [x] Move functions and cut down code run during Anvil widget addition flow - [x] Cleanup code Fixes #34896 ## 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/10099580771> > Commit: 50d9f0349f172ebd5cd5695a4345225ac565379c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10099580771&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 25 Jul 2024 19:31:29 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** - Introduced a new property to manage default widget properties for improved widget addition efficiency. - Enhanced the application’s capability to manage and display layout information dynamically for the main canvas. - Added new saga functions to facilitate the addition of widgets to the Anvil canvas, improving user interaction with suggested widgets. - **Bug Fixes** - Streamlined widget addition logic for better performance and maintainability in the Anvil canvas. - **Refactor** - Simplified and reorganized the saga functions related to widget addition, improving clarity and efficiency. - Replaced legacy functions with updated methods for handling widget properties and state management. - **Documentation** - Improved comments and descriptions in the code to clarify the new logic and functionality changes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
492fb353d7
|
chore: adding addition telemetry to cover JSONForm widget's performance (#35229)
## Description We need to profile a few functions in JSON forms, observed that in some customer's apps the following functions - clearErrors - parseAndSaveFieldState takes as much 10% in main thread scripting. We are adding setError just to check if this function is performant or not as well. Fixes #35228 > [!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.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/10114403810> > Commit: 90f5c31b2fc05e225cb827ec680c4bd68dc1e95f > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10114403810&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Fri, 26 Jul 2024 16:46:46 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** - Introduced telemetry tracking around function executions to improve observability and performance monitoring. - Enhanced error-clearing logic in the form widget to include telemetry tracing for better analysis. - **Improvements** - Added performance tracking to the `parseAndSaveFieldState` method in the JSONFormWidget for optimized performance insights. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |