amaannawab923 opened a new pull request, #34835: URL: https://github.com/apache/superset/pull/34835
### βΊοΈ Enhanced Easy Chart with Portable Explore Integration Implements a comprehensive Easy Chart component with full portable explore functionality, enabling seamless chart creation and editing within dashboard contexts. --- ### β¨ Key Features ## π Easy Chart Component  * π¨ **Modern UI Design**: Styled container with gradient backgrounds, animated icons, and responsive layout * π **Context-Aware States**: Different interfaces for edit vs view mode with appropriate user guidance * π§ **Smart Chart Display**: Automatically shows chart content when available, placeholder when empty * πͺ **Integrated Modal System**: Seamless `AddChartModal` integration with proper state management ## π Portable Explore System * π₯οΈ **In-Dashboard Chart Creation**: Full explore experience embedded within dashboard modals * ποΈ **Redux State Management**: Proper hydration with `hydratePortableExplore` action for isolated chart creation * π‘οΈ Conditional rendering prevents duplicate modals in `ExploreViewContainer` ## π Chart ID Management * π **Temporary ID System**: New charts start with ID `0`, updated to real backend IDs post-save * π **Redux Action**: `UPDATE_PORTABLE_CHART_ID` synchronizes IDs across chart and explore reducers --- ### π Technical Implementation ## ποΈ Component Architecture `EasyChart β AddChartModal β PortableExplore β ExploreViewContainer` ## π State Management Flow 1. β‘ **Initialization**: `hydratePortableExplore` creates chart state with ID `0` 2. ποΈ **Chart Creation**: User builds chart in embedded explore interface 3. πΎ **Save Process**: `SaveModalPortable` handles save operations 4. π **ID Update**: `updatePortableChartId` synchronizes temporary ID `0` with generated backend ID --- --- ### π― Benefits * π **User Experience**: Intuitive chart creation without leaving dashboard context * π©βπ» **Developer Experience**: Clean separation of concerns with proper state management * β‘ **Performance**: Efficient state updates and automatic cleanup prevent memory issues * π οΈ **Maintainability**: Functional components and consistent Redux patterns * π‘οΈ **Reliability**: Comprehensive error handling and state synchronization --- ### π§ͺ Testing This implementation handles the complete chart lifecycle: 1. π **Chart Creation**: Open Easy Chart β Select dataset β Build visualization 2. πΎ **Save Process**: Save chart β ID updates from `0` to backend ID β Chart appears in dashboard 3. π§Ή **State Cleanup**: Close modal β Redux state cleared β No memory leaks 4. π **Chart Display**: Proper slice names and chart rendering in dashboard context --- Do you want me to also **add a compact TL;DR summary block** at the top (with emojis) for quick reviewers, while keeping this as the detailed breakdown? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For additional commands, e-mail: notifications-h...@superset.apache.org