grafana/public/app/features/plugins/extensions
Marcus Andersson 804c726413
PluginExtensions: Make the extensions registry reactive (#83085)
* feat: add a reactive extension registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: add hooks to work with the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: start using the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "command palette" extension point to use the hook

* feat: update the "alerting" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "explore" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "datasources config" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "panel menu" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "pyroscope datasource" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "user profile page" extension point to use the hooks

* chore: update betterer

* fix: update the hooks to not re-render unnecessarily

* chore: remove the old `createPluginExtensionRegistry` impementation

* chore: add "TODO" for `PanelMenuBehaviour` extension point

* feat: update the return value of the hooks to contain a `{ isLoading }` param

* tests: add more tests for the usePluginExtensions() hook

* fix: exclude the cloud-home-app from being non-awaited

* refactor: use uuidv4() for random ID generation (for the registry object)

* fix: linting issue

* feat: use the hooks for the new alerting extension point

* feat: use `useMemo()` for `AlertInstanceAction` extension point context

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-04-24 09:33:16 +02:00
..
getCoreExtensionConfigurations.ts Explore: Make toolbar action extendable by plugins (#65524) 2023-06-28 15:42:41 +02:00
getPluginExtensions.test.tsx PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
getPluginExtensions.ts PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
reactivePluginExtensionRegistry.test.ts PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
reactivePluginExtensionRegistry.ts PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
types.ts PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
usePluginExtensions.test.tsx PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
usePluginExtensions.tsx PluginExtensions: Make the extensions registry reactive (#83085) 2024-04-24 09:33:16 +02:00
utils.test.tsx Plugin Extensions: Add prop types to component extensions (#84295) 2024-03-18 15:14:51 +02:00
utils.tsx DashboardScene: Show plugin extensions in panel menu (#78702) 2023-11-28 03:26:09 -08:00
validators.test.tsx UI Extensions: Allow React.memo() objects as component extensions (#76098) 2023-10-06 10:00:09 +02:00
validators.ts UI Extensions: Allow React.memo() objects as component extensions (#76098) 2023-10-06 10:00:09 +02:00