PromucFlow_constructor/app/client/src/widgets
Anas Khafaga 2cfe0b0fac
fix(#16584): filterTableData source of truth (#36849)
## Description
> **TL;DR**: This PR addresses is related to #16584 where editing a
table row with applied filters becomes impossible without clearing the
filters

When a filter is applied to the table data, the current behavior results
in filter updates without validating or saving the updated value of the
row being edited. This leads to a situation where users are unable to
save or discard changes until the filters are cleared. The proposed fix
ensures that the original row is retrieved from the table data and used
in filtering, allowing editing and filtering to work as expected.

Here's a [screen
record](https://drive.google.com/file/d/1JuP_UN_B1vzz_oMeR1ojjPscF_mB3A4x/view?usp=sharing)
for the solution

### Motivation:
The problem arises in scenarios where table rows are editable and
filters are applied. This change ensures that users can continue editing
table rows without being forced to clear filters first.

### Context:
This change is required to improve user experience and fix the broken
editing functionality when filters are active. The change ensures that
editable values in filtered rows are correctly handled and saved.

Fixes https://www.loom.com/share/335d0c61817646a0903d581adf73064e

## Automation

/ok-to-test tags="table-widget,filter,edit"

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

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

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



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

- **New Features**
- Improved filtering accuracy in the TableWidgetV2 by using original row
data for evaluations.

- **Bug Fixes**
- Enhanced functionality to ensure that filtering conditions are
evaluated correctly with original data.

- **Tests**
- Added new test cases to validate filtering functionality after edits
in the TableWidgetV2.
- Expanded test coverage for checkbox and switch interactions to ensure
accurate filtering behavior, including new interactions with a discard
button.

- **Style**
	- Minor adjustments to comments and formatting for better readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-30 17:33:01 +05:30
..
AudioRecorderWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
AudioWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
BaseInputWidget feat: remove isFocus from meta state in InputWidgetV2 (#36843) 2024-10-16 16:01:07 +05:30
BaseWidgetHOC chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ButtonGroupWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
ButtonWidget chore: remove console errors on dev (#36639) 2024-10-15 00:23:51 +05:30
CameraWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CategorySliderWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ChartWidget fix: Refactor handling of empty chart data in ChartWidget (#37009) 2024-10-23 14:03:46 +05:30
CheckboxGroupWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CheckboxWidget chore: enable no-explicit-any rule (#35321) 2024-07-31 18:41:28 +03:00
CircularProgressWidget chore: Move widget deprecation messages from propertyPaneView to individual Widget configurations (#33759) 2024-06-04 11:55:55 +05:30
CodeScannerWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
components chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ContainerWidget chore: decouple widget-config.json from main chunk (#36924) 2024-10-17 20:48:39 +05:30
CurrencyInputWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CustomWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
DatePickerWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
DatePickerWidget2 chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
DividerWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
DocumentViewerWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
DropdownWidget chore:delete unused files (#36368) 2024-09-19 16:01:03 +03:00
ExternalWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
FilepickerWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
FilePickerWidgetV2 chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
FormButtonWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
FormWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
IconButtonWidget chore: remove console errors on dev (#36639) 2024-10-15 00:23:51 +05:30
IconWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
IframeWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ImageWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
InputWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
InputWidgetV2 feat: remove isFocus from meta state in InputWidgetV2 (#36843) 2024-10-16 16:01:07 +05:30
JSONFormWidget fix: edge case to ignore parsing very large numbers (#37104) 2024-10-28 15:36:00 +05:30
ListWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ListWidgetV2 chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
MapChartWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
MapWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
MenuButtonWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ModalWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
MultiSelectTreeWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
MultiSelectWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
MultiSelectWidgetV2 chore: removed old flags for airgap instances (#36609) 2024-10-07 15:26:25 +05:30
NumberSliderWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
PhoneInputWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ProgressBarWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ProgressWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
RadioGroupWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
RangeSliderWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
RateWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
RichTextEditorWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
SelectWidget chore: removed old flags for airgap instances (#36609) 2024-10-07 15:26:25 +05:30
SingleSelectTreeWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
StatboxWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
SwitchGroupWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
SwitchWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
TableWidget chore:delete unused files (#36368) 2024-09-19 16:01:03 +03:00
TableWidgetV2 fix(#16584): filterTableData source of truth (#36849) 2024-10-30 17:33:01 +05:30
TabsMigrator chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
TabsWidget chore: decouple widget-config.json from main chunk (#36924) 2024-10-17 20:48:39 +05:30
TextWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
VideoWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
BaseComponent.tsx chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
BaseWidget.tsx chore: chore: add SVGR to appsmith-icon package, add processing for custom icons, update date-fns (#37115) 2024-10-28 14:55:42 +03:00
CanvasWidget.tsx chore: enable no-explicit-any rule (#35321) 2024-07-31 18:41:28 +03:00
ConnectDataOverlay.tsx chore: rename ADS package (#35583) 2024-08-09 17:20:29 +03:00
index.ts chore: move chat widget to EE repo (#36845) 2024-10-14 13:10:28 +03:00
MetaHOC.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
MetaWidgetContextProvider.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
Skeleton.tsx perf: Widget re-rendering refactor (#14485) 2022-08-19 15:40:36 +05:30
SkeletonWidget.tsx feat: implement dropping building blocks on canvas (#31857) 2024-04-16 09:41:09 +01:00
useDropdown.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
utils.test.ts feat: code scanner widget default camera (#26083) 2023-08-10 12:18:51 +05:30
utils.ts feat: code scanner widget default camera (#26083) 2023-08-10 12:18:51 +05:30
WidgetUtils.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetUtils.ts chore: remove console errors on dev (#36639) 2024-10-15 00:23:51 +05:30
withLazyRender.tsx chore: enable no-explicit-any rule (#35321) 2024-07-31 18:41:28 +03:00
withWidgetProps.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00