PromucFlow_constructor/app/client/src/selectors
Ashit Rath ef820cd9a6
chore: Update list and form widget to work with UI modules (#40711)
## Description

### Purpose
This PR enhances the List Widget's template handling system to better
support meta widgets, especially when used within UI modules. It ensures
proper widget name handling and template identification across different
contexts.

### Key Changes
1. Added `isTemplate` property to widget static and DSL structure props
to identify template widgets
2. Introduced `getTemplateMetaWidgets` selector to identify and manage
template meta widgets
3. Enhanced the List Widget to properly handle template meta widgets by:
   - Preserving original widget names for template meta widgets
- Preventing template meta widgets from being treated as regular meta
widgets
   - Improving widget name handling in form submissions
4. Added proper type definitions and documentation for template meta
widget functionality

### Technical Impact
- Better support for List Widget templates in UI modules
- Improved widget name handling for meta widgets
- Better separation between template and regular meta widgets


PR for https://github.com/appsmithorg/appsmith-ee/pull/7567

## 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/15153885090>
> Commit: d838448c2b1e880f55b5b99476e3a19a2153b21f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15153885090&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 May 2025 06:15: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**
- Improved handling of template widgets, allowing original widget names
to be preserved and used where applicable.
- Enhanced filtering and processing of template meta widgets in List and
Form widgets for more accurate data mapping and rendering.
- Added support for identifying and managing template widgets across the
app's widget structure.

- **Bug Fixes**
- Prevented template widgets from being incorrectly rendered or included
in meta widget generation.

- **Refactor**
- Updated internal widget processing to consistently manage and cache
flattened child canvas widgets, improving reliability and
maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 18:02:47 +05:30
..
actionSelectors.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
activeEditorFieldSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
analyticsSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
appSettingsPaneSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
appThemingSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
appViewSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
authSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
autoHeightSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
autoLayoutSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
buildingBlocksSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
canvasSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
cloudBillingSelectors.tsx feat: Cloud billing static UI (#39846) 2025-03-26 14:17:46 +05:30
crudInfoModalSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
curlImportSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
datasourceSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
dataTreeSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
debuggerSelectors.test.ts chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
debuggerSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
debuggerStateInspector.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
editorContextSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
editorSelectors.tsx chore: Update list and form widget to work with UI modules (#40711) 2025-05-22 18:02:47 +05:30
errorSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
explorerSelector.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
flattenedChildCanvasSelector.ts chore: Update list and form widget to work with UI modules (#40711) 2025-05-22 18:02:47 +05:30
focusHistorySelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
formSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
gitModSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
gitSyncSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
globalSearchSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
ideSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
jsPaneSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
layoutSystemSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
lintingSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
mainCanvasSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
navigationSelectors.ts Merge branch 'release' of https://github.com/appsmithorg/appsmith into feat/reactive-actions-run-behaviour 2025-05-02 18:31:43 +05:30
onboardingSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
oneClickBindingSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
pageListSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
propertyPaneSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
settingsSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
tableFilterSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
templatesSelectors.tsx chore: Update flags for self-hosting agents (#40639) 2025-05-13 17:36:58 +05:30
themeSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
ui.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
usersSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
widgetDragSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
widgetEnhancementSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
widgetReflowSelectors.tsx chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
widgetSelectors.test.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
widgetSelectors.ts chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30