[content-list] 1. Provider Foundation#251344
Conversation
|
Pinging @elastic/appex-sharedux (Team:SharedUX) |
There was a problem hiding this comment.
Pull request overview
This PR establishes the foundational provider packages for a new Content List system intended to incrementally replace TableListView across Kibana. It introduces core state management with React Query integration and a client adapter for backward compatibility with existing TableListView implementations.
Changes:
- Introduces
@kbn/content-list-providerwith core context providers, hooks, and feature configuration - Adds
@kbn/content-list-provider-clientadapter for seamless migration fromTableListView-style APIs - Includes comprehensive unit tests and Storybook examples
Reviewed changes
Copilot reviewed 49 out of 50 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.base.json | Adds TypeScript path mappings for the two new packages |
| kbn-content-list-provider/tsconfig.json | TypeScript configuration for the core provider package |
| kbn-content-list-provider/src/stories/content_list_provider.stories.tsx | Storybook story demonstrating provider usage with sorting controls |
| kbn-content-list-provider/src/state/*.ts | State management implementation using reducers and React Query |
| kbn-content-list-provider/src/query/*.ts | React Query integration for data fetching and caching |
| kbn-content-list-provider/src/features/sorting/*.ts | Sorting feature implementation and hooks |
| kbn-content-list-provider/src/datasource/*.ts | Data source types and default transform functions |
| kbn-content-list-provider/src/context/*.tsx | Main provider component and configuration context |
| kbn-content-list-provider/src/item/*.ts | Item type definitions and transform functions |
| kbn-content-list-provider-client/src/*.ts | Client-side adapter for TableListView migration |
| kbn-content-list-provider-client/README.md | Documentation for the client adapter |
| package.json | Adds workspace links for both new packages |
...agement/content_list/kbn-content-list-provider/src/stories/content_list_provider.stories.tsx
Outdated
Show resolved
Hide resolved
...-management/content_list/kbn-content-list-provider/src/query/use_content_list_items_query.ts
Outdated
Show resolved
Hide resolved
...ages/shared/content-management/content_list/kbn-content-list-provider-client/src/strategy.ts
Outdated
Show resolved
Hide resolved
...ages/shared/content-management/content_list/kbn-content-list-provider-client/src/strategy.ts
Outdated
Show resolved
Hide resolved
543d852 to
e80112e
Compare
...agement/content_list/kbn-content-list-provider/src/stories/content_list_provider.stories.tsx
Outdated
Show resolved
Hide resolved
...-management/content_list/kbn-content-list-provider/src/query/use_content_list_items_query.ts
Show resolved
Hide resolved
...ages/shared/content-management/content_list/kbn-content-list-provider-client/src/strategy.ts
Outdated
Show resolved
Hide resolved
...m/packages/shared/content-management/content_list/kbn-content-list-provider-client/README.md
Outdated
Show resolved
Hide resolved
...es/shared/content-management/content_list/kbn-content-list-provider/src/context/provider.tsx
Show resolved
Hide resolved
...ges/shared/content-management/content_list/kbn-content-list-provider/src/datasource/types.ts
Outdated
Show resolved
Hide resolved
01e9a1a to
74abc4e
Compare
...m/packages/shared/content-management/content_list/kbn-content-list-provider-client/README.md
Outdated
Show resolved
Hide resolved
...m/packages/shared/content-management/content_list/kbn-content-list-provider-client/README.md
Outdated
Show resolved
Hide resolved
...ages/shared/content-management/content_list/kbn-content-list-provider-client/src/strategy.ts
Outdated
Show resolved
Hide resolved
...-management/content_list/kbn-content-list-provider/src/query/use_content_list_items_query.ts
Outdated
Show resolved
Hide resolved
...hared/content-management/content_list/kbn-content-list-provider/src/state/state_provider.tsx
Show resolved
Hide resolved
...hared/content-management/content_list/kbn-content-list-provider/src/state/state_provider.tsx
Outdated
Show resolved
Hide resolved
d29458a to
3dba1f8
Compare
...hared/content-management/content_list/kbn-content-list-provider/src/state/state_provider.tsx
Outdated
Show resolved
Hide resolved
...ared/content-management/content_list/kbn-content-list-provider/src/features/sorting/types.ts
Outdated
Show resolved
Hide resolved
...ages/shared/content-management/content_list/kbn-content-list-provider-client/src/strategy.ts
Show resolved
Hide resolved
...ages/shared/content-management/content_list/kbn-content-list-provider-client/src/strategy.ts
Show resolved
Hide resolved
Package configuration for `@kbn/content-list-provider` and `@kbn/content-list-provider-client`.
Core implementation for content list state management: - Context and provider components - Data source types and default transform - React Query integration for data fetching - State reducer and hooks - Sorting feature - Client adapter for TableListView migration
6b0b819 to
29fce0d
Compare
Dosant
left a comment
There was a problem hiding this comment.
👍
I re-reviewed only the last "address-feedback" commit.
16f0a61 to
e8fa761
Compare
💚 Build Succeeded
Metrics [docs]Public APIs missing comments
Public APIs missing exports
Unknown metric groupsAPI count
ESLint disabled line counts
Total ESLint disabled count
History
|
* commit '5c0872d56bc0268177cd3c7150a1685481fb5238': (221 commits) Add .cursorignore file (elastic#251709) [Search] Add descriptions to semantic_text field inference endpoint select (elastic#249265) [Agent Builder] Agent skills implementation (elastic#251209) [Lens] [ES|QL] Improve types for ES|QL conversion. (elastic#251042) Update the trace waterfall to make it easy to understand (elastic#250442) [ES|QL] [Lens] Adds query stats (elastic#251029) [Lens] Fix KQL character escaping when query is generated from Top values column (breakdown). (elastic#250925) fix(kbn-elastic-assistant): fix a11y issue with missing label on flyout (elastic#251656) Update dependency @elastic/monaco-esql to v3.1.16 (main) (elastic#251666) [Automatic Import V2] Add langsmith tracing (elastic#251592) [scout] fix duplicated test failure reports in Buildkite annotations (elastic#251455) chore(NA): remove us-central1-b from gcp zones on high load jobs (elastic#251748) skip flaky suite (elastic#250973) [Lens] Allow read only view for users with write permissions but having no write access to the dashboard (elastic#247746) [CI] Increase artifacts disk to 180gb (elastic#251774) [content-list] 1. Provider Foundation (elastic#251344) [AI Infra] Add missing ES|QL commands and functions documentation for inference tasks (elastic#249089) [docs-utils] 4️⃣ pre-req: Prepare for new validations (elastic#250810) [APM] Extend React flow service map test coverage (elastic#251624) [scout] discover tests with custom server configs (elastic#251297) ... # Conflicts: # src/platform/plugins/shared/dashboard/tsconfig.json # x-pack/platform/plugins/shared/agent_builder_platform/server/tools/create_visualization/create_visualization.ts
Summary
Introduces the foundational provider packages for the Content List system - the first PR in a planned series that will incrementally replace
TableListViewacross Kibana.This PR establishes the core architecture for the
ContentListProvider:@kbn/content-list-provider- Core state management, React Query integration, and feature configuration@kbn/content-list-provider-client- Adapter for existingTableListView-stylefindItemsfunctions, enabling seamless migrationCommits
245b54c- Add package scaffoldingpackage.json,tsconfig.json989c22c- Implement provider foundation279658a- Write unit tests2b608d1- Write Storybook story29fce0d- Addressing feedbackWhat's included
Core Provider (
@kbn/content-list-provider)ContentListProvider- Main context provider with React Query for data fetching/cachinguseContentListConfig- Access configuration (labels, features, supports flags)useContentListItems- Access items, loading state, errors, and refetchuseContentListSort- Sorting state and controlsfeatures.sorting)FindItemsParams,FindItemsResult)Client Provider (
@kbn/content-list-provider-client)ContentListClientProvider- Wraps existingTableListViewfindItems functionscreateFindItemsFn- Adapts{ hits, total }→{ items, total }with client-side sorting/paginationTests & Stories
Test plan
yarn jest src/platform/packages/shared/content-management/content_listyarn storybook content_management→ Content List / ProviderNext steps
PR 2: UI Foundation (
@kbn/content-list-table,@kbn/content-list-toolbar)