Summary
The Observability 2.0 screens still render legacy empty-state placeholders (ErrorPlaceHolder / FilterTablePlaceHolder). Adopt the shared EmptyPlaceholder core component (@openmetadata/ui-core-components) so the empty states match the 2.0 Release mocks and stay consistent across OSS, Collate, and AI mode.
Scope (OSS-shared components)
- Data Quality → Test Cases (
DataQualityTab): blank variant, with a hasActiveFilters prop so copy switches between "No test cases yet" and "No matching test cases".
- Data Quality → Test Suites (
TestSuitesTable): blank variant, branching on hasActiveFilters + subTab (Table / Bundle / filtered).
- Alerts (
ObservabilityAlertsTable): features variant onboarding (Pick a trigger / Choose the destination / Stay ahead) with a + New Alert CTA gated on create permission.
- New
label.* / message.* locale keys added to en-us.json and synced across locales.
These are OSS-shared components, so the change also flows to Collate and AI mode (tracked separately in open-metadata/openmetadata-collate).
Acceptance criteria
- Each screen renders the shared
EmptyPlaceholder (icon + title + description; onboarding + CTA for Alerts) per the 2.0 mocks.
- Filtered vs no-data copy differs on screens that support filtering.
- Unit tests cover both the no-data and filtered branches.
Addressed by #30050.
Summary
The Observability 2.0 screens still render legacy empty-state placeholders (
ErrorPlaceHolder/FilterTablePlaceHolder). Adopt the sharedEmptyPlaceholdercore component (@openmetadata/ui-core-components) so the empty states match the 2.0 Release mocks and stay consistent across OSS, Collate, and AI mode.Scope (OSS-shared components)
DataQualityTab):blankvariant, with ahasActiveFiltersprop so copy switches between "No test cases yet" and "No matching test cases".TestSuitesTable):blankvariant, branching onhasActiveFilters+ subTab (Table / Bundle / filtered).ObservabilityAlertsTable):featuresvariant onboarding (Pick a trigger / Choose the destination / Stay ahead) with a+ New AlertCTA gated on create permission.label.*/message.*locale keys added toen-us.jsonand synced across locales.These are OSS-shared components, so the change also flows to Collate and AI mode (tracked separately in open-metadata/openmetadata-collate).
Acceptance criteria
EmptyPlaceholder(icon + title + description; onboarding + CTA for Alerts) per the 2.0 mocks.Addressed by #30050.