Blank row continues to display despite its deletion
Blank row continues to display despite its deletion.
Steps to Reproduce
- Add a row repeat layout. Add a '+' icon with Add Row action.
- In the row repeat layout, add a delete icon with Delete Row action.
- On the Flow-action Post Activity, add a validation to check Null entries in the grid.
- Run the case. Click the '+' icon to add a blank row.
- Submit the case. Validation is triggered for Null fields.
- After validation, the grid row displays validation error details.
- Delete the row.
- Submit the case. The deleted row is visible in the row repeat layout.
A software use or operation error.
The section with row repeat layout, included another row repeat layout which had the same source as the first layout. However, the second row repeat layout did not display (invisible) due to the visibility condition set. In the Document Object Model (DOM), the page list was the same as in the first row repeat layout. The row was added in the page list and was displayed in the row repeat layout. Additionally, the same was changed in the invisible row repeat layout as part of a Refresh action.
When the row was deleted from the visible repeat layout, API removed the row from the page list. From the DOM, the row was removed only from the visible repeat layout. The corresponding row from the invisible row repeat layout was not deleted (the stale row was still present). Hence, the row of the invisible row repeat layout was not impacted and included the stale row.
During submission for validation, the input fields of the invisible row repeat layout were validated. As a result, the rows were retrieved to the Clipboard and the UI (as part of the visible row repeat layout).
Row repeat is a deprecated layout. When the visibility condition was added, DOM was generated with display:none CSS style, and the ‘If’ condition was set to false. This caused ambiguity with the visible and invisible row repeat layouts with the same source.
Perform the following local-change:
- Add the row repeat layout(s) in a Dynamic layout.
- Add the visibility condition on this layout. If the condition is false, the row repeat layout is not generated in the DOM.