-
Notifications
You must be signed in to change notification settings - Fork 59
Record Configure view improvements #908
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR improves the Record Configuration view by transitioning from a sliding pane approach to a modal-based dialog with a two-column layout. The left column displays the record field configuration tree, while the right column provides an integrated expression editor with real-time diagnostics and syntax validation.
Key Changes:
- Introduced a modal-based Record Configuration page with side-by-side field selector and expression editor
- Added new "Guided" input mode for record type fields alongside existing Text and Expression modes
- Implemented bidirectional synchronization between the field selector and expression editor with debounced diagnostics validation
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 26 comments.
Show a summary per file
| File | Description |
|---|---|
| workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx | Removed inline record configuration logic, delegating to modal approach |
| workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigView.tsx | Simplified component by removing wrapper div |
| workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx | Major refactor adding two-column layout, expression editor integration, diagnostics handling, and sync logic |
| workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx | Added modal state management and ConfigureRecordPage integration |
| workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx | Added modal state management and ConfigureRecordPage integration with performance optimization removal |
| workspaces/ballerina/ballerina-visualizer/src/components/Modal/index.tsx | Standardized z-index to 2000 |
| workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx | Standardized overlay z-index to 2000 |
| workspaces/ballerina/ballerina-side-panel/src/index.ts | Exported context module for external use |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/utils.ts | Improved quote handling to preserve internal quotes |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/index.ts | Exported ChipExpressionBaseComponent for direct usage |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/types.ts | Added GUIDED input mode enum value |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/styles.tsx | Added customHeight prop support |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx | Implemented custom height support via expressionHeight prop |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx | Added expressionHeight prop passthrough |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionField.tsx | Updated to treat GUIDED mode like TEXT mode |
| workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx | Added GUIDED mode initialization and auto-open ConfigureRecordPage on focus |
| workspaces/ballerina/ballerina-side-panel/src/components/ModeSwitcher/styles.tsx | Adjusted slider width to accommodate "Guided" label |
| workspaces/ballerina/ballerina-side-panel/src/components/ModeSwitcher/index.tsx | Added isRecordTypeField prop to display "Guided" mode |
| workspaces/ballerina/ballerina-side-panel/src/components/Form/types.ts | Added onOpenRecordConfigPage callback to FormExpressionEditorBaseProps |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...itors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx
Show resolved
Hide resolved
workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
...spaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/RecordConfigModal.tsx
Show resolved
Hide resolved
|
#913 addresses some of the review suggestions |
Purpose
Related issue wso2/product-ballerina-integrator#1849
Screen.Recording.2025-11-14.at.20.07.20.mov
Goals
Approach
UI Component Development
npm run storybookfrom the root directory to view current components.Manage Icons
User stories
Release note
Documentation
Training
Certification
Marketing
Automation tests
Security checks
Samples
Related PRs
Migrations (if applicable)
Test environment
Learning