PromucFlow_constructor/app/client/src/widgets
Ashok Kumar M 6b2c79f48e
feat: Space redistribution UX upgrade and implicit space distribution (#30242)
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.
>
## Description

In this PR, we are implementing two features
- When space distribution is happening via the implicit/explicit method,
distribution handle is attracted to the nearest node once mouse pointer
is near to it.


https://github.com/appsmithorg/appsmith/assets/35134347/a83e4adf-2e1b-413a-9a59-331707c3aa7a


- Implicit space distribution, space distribution can also be done via
section/zone property pane.


https://github.com/appsmithorg/appsmith/assets/35134347/4123d7dd-659e-483b-91f3-d454e7e0a31d



#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed


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

- **New Features**
- Introduced a new `Section Splitter Control` for enhanced space
distribution within property pane sections.
- Added a `Zone Stepper Control` to manage zone counts through a
user-friendly interface.

- **Enhancements**
  - Improved feature flag logic for more consistent user experience.
- Refined space distribution with new constants and utility functions
for Anvil layout system.
- Streamlined Anvil editor widget structure for better performance and
simplicity.

- **User Interface**
- Implemented new property pane sections for `SectionWidget` and
`ZoneWidget` to improve user interaction and configuration options.

- **Bug Fixes**
- Fixed feature flag retrieval behavior to ensure correct feature
access.

- **Refactor**
- Optimized selectors and hooks for better maintainability and
readability.
- Updated import paths and renamed modules for clearer codebase
navigation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 07:56:23 +05:30
..
anvil feat: Space redistribution UX upgrade and implicit space distribution (#30242) 2024-01-24 07:56:23 +05:30
AudioRecorderWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
AudioWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
BaseInputWidget feat: RTL support for input, select and multi-select widget (#28522) 2023-11-03 16:18:13 +05:30
BaseWidgetHOC chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
ButtonGroupWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ButtonWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
CameraWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
CategorySliderWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ChartWidget chore: Remove echarts feature flag (#30201) 2024-01-19 11:38:34 +05:30
CheckboxGroupWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
CheckboxWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
CircularProgressWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
CodeScannerWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
components feat: RTL support for input, select and multi-select widget (#28522) 2023-11-03 16:18:13 +05:30
ContainerWidget chore: misc updates to custom widget (#30114) 2024-01-16 10:52:17 +05:30
CurrencyInputWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
CustomWidget chore: fix custom widget selection issue in widget builder (#30408) 2024-01-18 11:29:55 +05:30
DatePickerWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
DatePickerWidget2 chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
DividerWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
DocumentViewerWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
DropdownWidget chore: Remove position props from widgets (#26781) 2023-09-13 19:27:42 +05:30
ExternalWidget chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
FilepickerWidget chore:add eslint rules (#27878) 2023-10-09 16:54:06 +03:00
FilePickerWidgetV2 chore: Increase file picker max upload size limit to 200 (#30235) 2024-01-15 11:39:21 +05:30
FormButtonWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
FormWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
IconButtonWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
IconWidget chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
IframeWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ImageWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
InputWidget chore: update eslint and dependencies then fix revealed errors (#27908) 2023-10-11 10:14:38 +03:00
InputWidgetV2 fix: flickering of validation message in input widget (#30300) 2024-01-23 11:12:55 +03:00
JSONFormWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ListWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ListWidgetV2 chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
MapChartWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
MapWidget feat: [Feature]-[116] Map Widget - Add MapTypeControl (Satellite/Roadmap) (#28344) 2023-11-27 12:29:14 +05:30
MenuButtonWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ModalWidget chore: add highlight calculation logic for layouts. (#27980) 2023-10-19 16:27:40 -04:00
MultiSelectTreeWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
MultiSelectWidget chore: update eslint and dependencies then fix revealed errors (#27908) 2023-10-11 10:14:38 +03:00
MultiSelectWidgetV2 chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
NumberSliderWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
PhoneInputWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
ProgressBarWidget chore: Create layout system structure for Anvil and AnvilFlexComponent. (#27178) 2023-10-02 15:41:05 -04:00
ProgressWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
QRGeneratorWidget chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
RadioGroupWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
RangeSliderWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
RateWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
RichTextEditorWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
SelectWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
SingleSelectTreeWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
StatboxWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
SwitchGroupWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
SwitchWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
TableWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
TableWidgetV2 chore: Hide hidden columns from table in preview mode (#30452) 2024-01-22 10:15:50 +05:30
TabsMigrator feat: dsl migration with server (#28518) 2023-11-30 18:03:33 +05:30
TabsWidget fix: Stale Page Flicker Bug on switching pages. (#30206) 2024-01-11 11:13:29 +05:30
TextWidget chore: add configuration for large and small widgets (#28671) 2023-11-14 10:55:48 +05:30
VideoWidget fix: allow ipv4 address in video widget (#29637) 2024-01-23 12:10:08 +05:30
wds fix: flickering of validation message in input widget (#30300) 2024-01-23 11:12:55 +03:00
BaseComponent.tsx
BaseWidget.tsx chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
CanvasWidget.tsx chore: Layout system wise restructuring of Canvas Widget (#27496) 2023-10-04 17:23:29 +05:30
ConnectDataOverlay.tsx chore: skip signposting discovery test (#27892) 2023-10-17 17:32:05 +05:30
index.ts chore: custom widget (#28926) 2023-12-28 12:16:28 +05:30
MetaHOC.tsx chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
MetaWidgetContextProvider.tsx
Skeleton.tsx
SkeletonWidget.tsx feat: add layouts and widgets for sections and zones. (#29713) 2023-12-26 09:16:58 -05:00
useDropdown.tsx chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +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 fix: auto label position (#28022) 2023-10-13 12:08:01 +03:00
WidgetUtils.ts fix: calculateHoverColor typo (#28329) 2023-10-30 15:56:14 +05:30
withLazyRender.tsx chore: Remove lazy canvas rendering feature flag - LAZY_CANVAS_RENDERING (#22354) 2023-05-10 17:36:30 +05:30
withWidgetProps.tsx chore: Hide hidden columns from table in preview mode (#30452) 2024-01-22 10:15:50 +05:30