PromucFlow_constructor/app/client/cypress/e2e/Regression/ClientSide/Widgets
Rahul Barwal 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>
2024-08-20 13:31:45 +05:30
..
Audio feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30
Button test:replace assertPageSave with AssertAutoSave (#33972) 2024-06-06 13:11:03 +05:30
Camera test: Update case base duplicate file name (#35672) 2024-08-20 10:48:52 +05:30
Chart chore: Removing widgets related feature flags for the features that are GA (#33229) 2024-05-07 15:26:48 +05:30
Checkbox chore: Reorganise IDE Panels (#35114) 2024-07-31 21:23:35 +05:30
CodeScanner test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
CurrencyInput test: removed toggleBar command and replaced with ts helper (#33835) 2024-06-06 15:25:08 +05:30
Custom fix: Disable custom widgets for airgapped environments (#34540) 2024-06-27 13:47:32 +05:30
Datepicker chore: fix flaky datepicker spec. (#35726) 2024-08-19 09:16:48 +05:30
Divider test: Updated duplicate file names (#34972) 2024-07-31 10:27:33 +05:30
DocumentViewer test: Cypress - added @tag.Checkbox, @tag.Scanner, @tag.Datepicker, @tag.DocumentViewer, @tag.CurrencyInput, @tag.Dropdown (#29687) 2023-12-18 16:59:48 +05:30
Dropdown test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
Filepicker fix: file picker widgets removing files causing abnormal content (#31646) 2024-03-11 18:13:12 +05:30
Form test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
Iframe feat: New IDE Top Navbar (#31594) 2024-03-12 14:02:58 +05:30
Image test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
Input test: Updated file name for remove duplicate (#34821) 2024-07-12 10:07:17 +05:30
JSONForm test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
List feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30
ListV2 fix: drag and drop issue in list widget (#35622) 2024-08-12 17:24:19 +05:30
Modal feat: added modal name, lint warning for string, action selector modal (#32893) 2024-05-02 17:48:53 +05:30
Multiselect test: Updated file name for remove duplicate (#34821) 2024-07-12 10:07:17 +05:30
Others test: Update case base duplicate file name (#35672) 2024-08-20 10:48:52 +05:30
PhoneInput feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30
Radio test: Cypress - remove width tests (#30577) 2024-01-24 13:05:49 +05:30
Rating test: Cypress - added tags - @tag.Radio, @tag.Rating, @tag.TextEditor, @tag.PhoneInput, @tag.IconButton, @tag.Maps, @tag.MenuButton, @tag.Progress, @tag.Statbox (#29693) 2023-12-18 17:25:28 +05:30
RTE chore: Upgrade TinyMCE (#35399) 2024-08-08 20:08:09 +05:30
Select feat: Refactor SelectWidget sourceData handling (#34619) 2024-07-03 13:31:35 +05:30
Sliders fix: number slider + category slider color spec fails (#32935) 2024-04-29 11:31:46 +05:30
Statbox feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30
Switch fix: Wrong evaluated value after binding checkbox group widget with… (#33906) 2024-07-17 10:54:03 +05:30
Tab test: Updated duplicate file names (#34972) 2024-07-31 10:27:33 +05:30
TableV1 test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
TableV2 fix: Fixes currentRow calculation logic in table(property pane) (#35390) 2024-08-20 13:31:45 +05:30
Text feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30
TreeSelect test: replace togglebarDisable with CheckUncheck (#34069) 2024-06-10 19:55:17 +05:30
Video feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30
Container_spec.js test: Cypress - @tag.Video, @tag.Container, @tag.Switch, @tag.Slider, @tag.Tab, @tag.Table, @tag.Select (#29698) 2023-12-18 17:05:27 +05:30
ContainerTest2_spec.ts chore: Block Selections when Canvas is in Side by Side mode (#31587) 2024-03-13 11:53:49 +05:30
deprecatedWidgets_spec.js test: Cypress - @tag.Video, @tag.Container, @tag.Switch, @tag.Slider, @tag.Tab, @tag.Table, @tag.Select (#29698) 2023-12-18 17:05:27 +05:30
Disabled_Widgets_drag_validation_spec.js test: Cypress - @tag.Video, @tag.Container, @tag.Switch, @tag.Slider, @tag.Tab, @tag.Table, @tag.Select (#29698) 2023-12-18 17:05:27 +05:30
Migration_Spec.js test: updated tests with aghelper table methods (#33737) 2024-05-31 14:01:06 +05:30
Tab_reset_spec.js test: Cypress - @tag.Video, @tag.Container, @tag.Switch, @tag.Slider, @tag.Tab, @tag.Table, @tag.Select (#29698) 2023-12-18 17:05:27 +05:30
WidgetCanvas_spec.js test: Cypress - @tag.Video, @tag.Container, @tag.Switch, @tag.Slider, @tag.Tab, @tag.Table, @tag.Select (#29698) 2023-12-18 17:05:27 +05:30
WidgetCopyPaste_spec.js chore: autoFocus widget search input on load (#32002) 2024-04-03 13:21:53 +05:30
WidgetGrouping_spec.js test: Cypress - @tag.Video, @tag.Container, @tag.Switch, @tag.Slider, @tag.Tab, @tag.Table, @tag.Select (#29698) 2023-12-18 17:05:27 +05:30
Widgets_Labels_spec.js feat: Homepage experience v2 changes (#29282) 2024-01-25 19:11:48 +05:30
WidgetSelection_spec.js feat: enabled editor pane sidebar (#29882) 2024-01-12 20:13:58 +05:30