OpenMetadata/openmetadata-ui-core-components
Shailesh Parmar 852ab4c35e
feat: revamp data observability tab under table details page (#23437)
* refactor: remove testCaseSummary prop from TableProfiler components and related interfaces

* feat: add Data Observability Tab component and integrate into TableUtils

* feat: add TabFilters component and integrate with DataObservabilityTab; update styles and replace no-data icon

* feat: enhance NoProfilerBanner with improved layout and styling; add SummaryCardV1 component and update translations

* feat: add new SVG icons for add-item, red-circle-with-dash, success-ticket, and yellow-calendar; update SummaryCardV1 to support icon and extra props

* feat(ui): Refactor DataObservabilityTab and SummaryCardV1 for improved styling and layout

* remove commented code

* feat(ui): Update Profiler components for improved styling and functionality

* feat(ui): Enhance ProfilerDetailsCard chart axes styling

* feat(ui): Update color constants and enhance Profiler components with new tooltip and chart features

* feat(ui): Enhance Profiler components with new metrics, improved styling, and additional color constants

* feat(ui): Enhance Profiler components with additional props and improve layout using Grid

* feat(ui): Enhance Data Observability components with new features, improve layout, and integrate test case result aggregation

* feat(ui): Refactor Table Profiler to enhance test case summary handling and improve data quality metrics display

* fix: improve application robustness and UI consistency

- Set default value for plugins in AppRouter to prevent potential errors.
- Add conditional rendering for ProfilerLatestValue to avoid rendering issues when props are undefined.
- Make profilerLatestValueProps optional in ProfilerStateWrapper interface for better flexibility.
- Refactor ColumnProfileTable to remove unused imports and optimize rendering logic.
- Replace Button with Typography for better styling in ColumnProfileTable.
- Update SingleColumnProfile to use Stack for layout consistency and include ColumnSummary when available.
- Enhance CardinalityDistributionChart and DataDistributionHistogram with new styling and layout using MUI components.
- Introduce DataPill styled component for consistent data display.
- Update color constants for improved visual consistency across charts.
- Modify data insight tooltip to conditionally display date in header for better clarity.

* refactor: update UI components for improved styling and layout consistency

* minor fix

* feat: Enhance column profiling with data quality test metrics and visualizations

* feat: Remove SummaryPanel component and tests; replace with SummaryCardV1 in QualityTab

* feat: Refactor QualityTab component layout and enhance test case filtering options

* feat: Enhance QualityTab with search and filter options; refactor DataQualityTab and update styles

* feat: Refactor theme creation and integrate global styles

- Updated createMuiTheme.ts to improve theme structure and organization.
- Added GlobalStyles to App.tsx for consistent font sizing across the application.
- Introduced InlineTestCaseIncidentStatus component for better handling of test case statuses.
- Modified TestCaseIncidentManagerStatus to conditionally render InlineTestCaseIncidentStatus based on props.
- Enhanced DataQualityTab to include a new column for failed/aborted reasons and last run timestamps.
- Updated QualityTab to streamline pagination handling and improve layout.
- Added isInline prop to TestCaseStatusIncidentManagerStatus interface for inline rendering.

* feat: Enhance InlineTestCaseIncidentStatus component with user search and improved UI elements

* feat: Introduce RequiredLabel component for consistent required field styling

* refactor: remove incident column rendering logic from DataQualityTab component

* border style update

* feat: Implement action menu for test case editing and deletion in DataQualityTab

* fix: Correct percentage calculation for null, unique, and distinct proportions in ColumnProfileTable

* fix: Update border color in IncidentManager component for improved visibility

* feat: add InlineSeverity component and integrate it into Severity component

* fix: update font weight for consistency across components

* Refactor Profiler Tab Navigation and Update Related Components

- Replaced TableProfilerTab enum with ProfilerTabPath for better URL path management in the Profiler components.
- Updated DataQualityTab, ColumnProfileTable, and other related components to use the new ProfilerTabPath for navigation.
- Removed unnecessary QueryString imports and refactored navigation logic to streamline URL handling.
- Adjusted tests and utility functions to align with the new tab structure.
- Deleted obsolete TableProfiler component and its associated tests to clean up the codebase.

* Refactor tests to use global MUI mock and update assertions

- Introduced a global mock for Material-UI components to resolve Jest compatibility issues.
- Updated various test files to import the new MUI mock.
- Adjusted assertions in tests to reflect changes in component structure and behavior.
- Added default selected range and epoch time mocks in relevant utility tests.
- Refactored test cases to improve readability and maintainability.

* Add copyright notices and update localization strings

- Added Apache License 2.0 copyright notices to multiple files including TabFilters.tsx, data-observability-tab.less, no-profiler-banner.less, single-column-profiler.less, and SummaryCardV1.tsx.
- Updated localization files (de-de.json, en-us.json, es-es.json, fr-fr.json, gl-es.json, he-he.json, ja-jp.json, ko-kr.json, mr-in.json, nl-nl.json, pr-pr.json, pt-br.json, pt-pt.json, ru-ru.json, th-th.json, tr-tr.json, zh-cn.json, zh-tw.json) to include new keys for pluralized test types and updated messages for profiler insights.
- Added debug.json to .gitignore to prevent tracking of Jest Sonar Reporter debug files.

* Enhance NoProfilerBanner component with data-testid attributes and update related tests

* Refactor TabFilters and ColumnPickerMenu components to use MUI components, add MuiDatePickerMenu, and implement date range utilities

* Refactor date range handling in TabFilters, ColumnProfileTable, and SingleColumnProfile components; update IncidentManager to conditionally render date range picker

* Refactor TabFilters to use getDefaultTabKey for activeTab; clean up unused imports in ProfilerClassBase

* Refactor: Update Profiler tests to use i18n for labels and mock location

* Refactor: Replace Modal with Drawer for Profiler Settings and enhance styling

* Refactor: Update component styles and improve chart rendering logic

* refactor: Replace menuitem role with tab role for improved accessibility in Data Quality tests

* refactor: Add createHorizontalGridLineRenderer mock to chart component tests

* refactor: Update role attributes for accessibility and enhance styling in Data Quality tab

* refactor: Enhance test case interactions and improve UI element accessibility in Incident Manager and Data Quality tests

* refactor: Adjust drawer width in ProfilerSettingsModal for improved layout

* refactor: Update Legend component to use rectangular icons for improved clarity

* refactor: Adjust width of Y-axis based on category visibility in ProfilerDetailsCard

* Add TabFilters component tests and MuiDatePickerMenu implementation

- Created a new test file for the TabFilters component with comprehensive tests covering rendering, permissions, URL parameters, and accessibility.
- Implemented the MuiDatePickerMenu component with an interface for props and added tests to ensure correct functionality and rendering.
- Enhanced the mock for MUI components to include Menu and MenuItem for better testing of dropdown interactions.
- Updated the MuiDatePickerMenu to utilize the new interface for improved type safety and maintainability.

* refactor: Consolidate severity and status color constants, update related components and interfaces

* feat: Add new SVG icons for data quality states and update references in components
2025-10-20 18:10:24 +05:30
..