mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-26 01:15:08 +00:00

* Domain, Sub-domain, Data Product listing * feat: implement atomic design architecture with micro hooks for entity listings This commit introduces a comprehensive atomic design system that eliminates code duplication while providing maximum flexibility through composable micro hooks. ## Key Features ### Atomic Design Structure - Created `src/components/common/atoms/` with feature-based organization - Implemented micro hooks (5-15 lines each) with single responsibilities - Added comprehensive JSDoc documentation for each micro hook ### Entity Listing Improvements - Refactored domain, subdomain, and data product listings - Simplified entity-specific hooks using shared domain atoms - Implemented flexible `useDataTable({ listing })` interface ### Performance & Stability - Fixed infinite API calls and re-render loops - Implemented proper useCallback/useMemo patterns with stable dependencies - Added error boundaries and proper error handling ### UX Improvements - Fixed search to trigger on Enter key (eliminated race conditions) - Updated sidebar navigation to use singular forms for sub-menu items - Fixed navigation paths for data product details - Added proper translation keys and removed hardcoded strings ### Bug Fixes - Fixed filter field mappings to use `.keyword` for exact matching - Fixed data product navigation paths (`/dataProduct` vs `/data-product`) - Fixed filter styling to use original SearchDropdown components - Temporarily disabled problematic domainType filter due to API errors 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(ui): add i18n support and enhance atomic hooks for entity listings - Add useDelete hook with proper i18n for entity deletion with confirmation modal - Add useCardView hook for flexible card layout rendering - Add useViewToggle hook for table/card view switching - Add useDomainCardTemplates for domain and data product card layouts - Add TagsCell component for rendering glossary and classification tags - Refactor useTableRow to use composition with useCellRenderer - Fix i18n translations for delete confirmation messages - Update Domain, DataProduct, and SubDomains pages to use new atomic hooks - Add missing translation keys to en-us.json 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(ui): implement MUI-based tree select components and atomic design patterns - Add MUIAsyncTreeSelect component with lazy loading and keyboard navigation - Implement MUIGlossaryTagSuggestion for hierarchical glossary term selection - Add MUITagSuggestion for improved tag selection experience - Create reusable TagChip component for consistent tag display - Implement atomic drawer hooks for form handling - Update domain and data product listing pages with new components - Add comprehensive tree selection hooks (data, expansion, selection, search) - Enhance form utilities with MUI field types 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(ui): enhance drawer styling and add MUI form components - Add gradient background image to drawer header with 30% opacity - Apply rounded top corners (16px) to drawer for modern appearance - Add box shadow to drawer footer for visual hierarchy - Introduce MUIFormItemLabel component for consistent form labels - Fix TypeScript any type warning in AddDomainForm - Enhance domain listing pages with improved drawer integration 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com> * feat(ui): implement MUI-based user/team selection component with atomic design - Add MUIUserTeamSelect component with atomic design patterns - Create ProfilePicture atomic component for consistent avatar rendering - Update AddDomainForm to use new MUI components instead of legacy selectors - Enhance useCellRenderer to use ProfilePicture for owner display - Add support for user-only, team-only, and mixed selection modes - Implement smart selection logic preventing user/team conflicts - Add internationalization support for new selection component 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(ui): add MUI domain select component and fix drawer close functionality - Implement MUIDomainSelect component using MUIAsyncTreeSelect for hierarchical domain selection - Fix drawer close/cancel button functionality with proper onBeforeClose pattern - Standardize form submission patterns across domain and data product forms - Enhance MUIAsyncTreeSelect with keyboard navigation and scroll-to-view - Clean EntityReference objects to match API schema requirements - Remove duplicate onSubmit handlers in drawer forms 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(ui): implement MUI-based color and icon picker components for domain forms - Add MUIColorPicker component with predefined color palette and accessibility features - Add MUIIconPicker component with icon selection and URL input capabilities - Update AddDomainForm to use new MUI components with improved layout and responsive design - Create IconUtils for centralized icon rendering functionality - Update cell renderer to handle icons properly with fallback support - Enhance form styling with backdrop blur adjustments and form label theming - Add missing translation keys for icon-plural and url labels - Standardize drawer widths across domain and data product forms 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Satish <satish@Satishs-MacBook-Pro.local> Co-authored-by: Claude <noreply@anthropic.com>