PromucFlow_constructor/app/client/src/widgets
Ashit Rath 078cd2921d
chore: Enable meta modal widgets to render in canvas (#39652)
## Description
This PR adds support for modals within UI modules. Modals within UI
modules are created as meta widgets and modal meta widgets were not
supported.

### Changes
1. Canvas Rendering Enhancement:
- Modified FixedLayoutEditorCanvas and FixedLayoutViewerCanvas to
include meta widget children in the canvas rendering

2. Modal Widget Improvements:
    - Updated ModalWidget to handle meta widget children structures

3. Selectors:
- Created new selector getModalWidgetByName to find modals in both
regular widgets and meta widgets
    - Enhanced getWidgetIdsByType to include meta widgets in the search
    - Updated modal-related sagas to use the new selectors

4. Main Container Widget Support:
- Modified withWidgetProps to allow the main container widget to access
meta widget children even when hasMetaWidgets is false

Fixes https://github.com/appsmithorg/appsmith/issues/39287

## 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/13829067577>
> Commit: 15cde006ab4268e2ce9b5574dbd9be57a37287c4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13829067577&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 13 Mar 2025 11:09:59 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

- **Bug Fixes**
- Improved canvas rendering responsiveness, ensuring interface elements
update correctly with layout changes.
- Enhanced modal display behavior by refining widget retrieval,
resulting in more consistent interactions.

- **New Features**
- Introduced an optional modal configuration to better support
alternative widget structures.
- Updated child component handling to accommodate new meta widget
conditions within the main interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-13 17:08:56 +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 grafana faro sdk (CE) (#38301) 2024-12-26 10:37:41 +05:30
ButtonGroupWidget fix: Update button property text (#38758) 2025-01-21 10:39:30 +05:30
ButtonWidget fix: Update button property text (#38758) 2025-01-21 10:39:30 +05:30
CameraWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CategorySliderWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
ChartWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
CheckboxGroupWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
CheckboxWidget fix:codeowners file (#39447) 2025-02-26 15:21:36 +03:00
CircularProgressWidget
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: Changes to introduce UI module instance creation (#39562) 2025-03-11 17:32:46 +05:30
CurrencyInputWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CustomWidget fix: antd library package update for custom widget (#39574) 2025-03-05 20:43:07 +05:30
DatePickerWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
DatePickerWidget2 feat: Enhance date validation logic and add tests for timePrecision in DatePickerWidget2 (#37218) 2024-11-07 11:25:49 +05:30
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 fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
ExternalWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
FilepickerWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
FilePickerWidgetV2 fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
FormButtonWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
FormWidget chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
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: git mod - integration with applications (#38439) 2025-01-05 11:21:23 +01: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 chore: add node modules related to llamaindex (#39378) 2025-02-20 10:08:15 -06:00
ListWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
ListWidgetV2 chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
MapChartWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
MapWidget fix: map widget marker onClick duplication (#39517) 2025-03-05 15:25:52 +01:00
MenuButtonWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
ModalWidget chore: Enable meta modal widgets to render in canvas (#39652) 2025-03-13 17:08:56 +05:30
MultiSelectTreeWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
MultiSelectWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
MultiSelectWidgetV2 fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
NumberSliderWidget chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
PhoneInputWidget feat: add setText setter to PhoneInputWidget (#38578) 2025-01-10 18:03:22 +05:30
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 fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
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 fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
SingleSelectTreeWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
StatboxWidget chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
SwitchGroupWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
SwitchWidget chore: delete unused code (#36461) 2024-09-23 13:52:00 +03:00
TableWidget fix: Reduce cycle deps by removing wrong exports (#39268) 2025-02-14 18:26:31 +05:30
TableWidgetV2 chore: refactor table widget UI code to use central context to reduce props drilling (#39367) 2025-03-13 11:23:05 +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
wds chore: Update icons (#39451) 2025-03-03 17:23:17 +01:00
BaseComponent.tsx
BaseWidget.tsx chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
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 fix:codeowners file (#39447) 2025-02-26 15:21:36 +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
SkeletonWidget.tsx
useDropdown.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
utils.test.ts
utils.ts
WidgetUtils.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetUtils.ts chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
withLazyRender.tsx chore: enable no-explicit-any rule (#35321) 2024-07-31 18:41:28 +03:00
withWidgetProps.tsx chore: Enable meta modal widgets to render in canvas (#39652) 2025-03-13 17:08:56 +05:30