-
Notifications
You must be signed in to change notification settings - Fork 666
CONSOLE-4862: Create extension point for plugins to add items to catalog toolbars #15693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@TheRealJon: This pull request references CONSOLE-4862 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "4.21.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: TheRealJon The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
QE Approver Docs Approver: PX Approver: |
|
@TheRealJon: GitHub didn't allow me to assign the following users: jseseCCS. Note that only openshift members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
72ffffc to
91e1671
Compare
91e1671 to
f71eca3
Compare
…log toolbars This change introduces a new dynamic plugin extension point that allows plugins to contribute custom UI components to catalog toolbars. Plugins can target specific catalogs and catalog item types, or provide toolbar items that appear across all catalogs. Extension definition: - New console.catalog/toolbar-item extension type - Properties support optional catalogId and type filters - Components render as FlexItems in the catalog toolbar Implementation: - Extension type and type guard in catalog.ts - Hook to resolve and filter toolbar extensions by catalogId and type - CatalogToolbar component renders toolbar extension components - Comprehensive test coverage for extension filtering logic This enables plugins like operator-lifecycle-manager-v1 to add custom controls (toggles, filters, etc.) directly into catalog interfaces without modifying core catalog code. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
f71eca3 to
8f1edea
Compare
|
@TheRealJon: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
there are critical errors |
|
@TheRealJon Shall we update console-demo-plugin to include new extension point so that we can cover checkpoints in integration testing? Not sure what's the criteria to add new extension point in our demo plugin though. |
|
Covered by #15715 |
Summary
This PR introduces a new dynamic plugin extension point (
console.catalog/toolbar-item) that allows plugins to contribute custom UI components to catalog toolbars. Plugins can target specific catalogs and catalog item types, or provide toolbar items that appear globally across all catalogs.Key Changes
Extension Definition:
console.catalog/toolbar-itemextension type in the dynamic plugin SDKcatalogIdandtypefilters for targeted placementFlexItemelements in the catalog toolbarImplementation:
catalog.tsuseCatalogExtensionshook to resolve and filter toolbar extensions by catalogId and typeCatalogToolbarcomponent to render toolbar extension componentsCatalogServiceProviderto pass toolbar extensions through the catalog serviceUse Case:
This enables plugins like
operator-lifecycle-manager-v1to add custom controls (toggles, filters, switches, etc.) directly into catalog interfaces without modifying core catalog code.Documentation
SDK documentation has been updated in
console-extensions.mdwith the new extension type definition and property descriptions.Test Plan
useCatalogExtensionshook:cd frontend && yarn test useCatalogExtensions.spec.tscd frontend && yarn test CatalogController.spec.tsxcd frontend && yarn build:console🤖 Generated with Claude Code