* 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>
* add animation for grot not found
* extract default interval out into constant
* improve relative path
* extract magic numbers out into constants + throttle properly
* better width/height definitions
* use consistent background + apply to PageNotFound as well
* increase gap in command palette empty state
* try upgrading react-redux
* memoize getNavModel selector, don't return a new object in command palette selector
* use createSelector to memoize some alert manager selectors correctly
* memoize selectors correctly in appNotifications
* memoize some datasource selectors
* use fake timers to avoid the debounce causing flakiness
* remove duplicate import
* just use memoize-one
* only redirect to /login when anonymous access is disabled
* only search for dashboards when not logged in if anon access is enabled
* fix go logic
* add unit tests
* show folder for dashboard, adjust how ancestors are displayed, clamp to single line
* fix keys
* better responsiveness
* use subtitle consistently
* use span instead of div
* Keybindings: No global keybindings on chromeless pages
* simplify condition
* Refactoring
* Align name and file
* Move logic into AppChrome
* minor fix
* Update Page.tsx
* Fixing test
* Fixed tests
* More fixes
* Fixed more tests
* Fixing final test
* Fixed search in old nav
* CommandPalette: Use custom useMatches to avoid perf issues with long names
* wip start to multi search
* use search permutations, and do substring match if search is over 25 chars
* update ufuzzy
* don't permute query if greater than 5 words
* don't register dashboards as actions in the command palette
* create ActionImpls in RenderResults, memoize some array creation
* extract dashboard results out into separate hook
* remove unnecessary memoization from useActions
* move useDashboardResults into dashboardActions
* CommandPalette: Search for dashboards using API
* Fix ordering of dashboards
* Put recent + search dashboards in root list, refactor actions into hook
* limit recent dashboards to 5
* search debounce to 200ms
* update priorities
* extract i18n
* wip for exposing full nav tree in command palatte
* Expose whole nav tree in command palette
* give search an icon
* comments
* remove unused index variable
* navigate to parents
* include image icons
* comment
* Initial progress
* Moving keybindingSrv to context
* Simplfy KioskMode
* Removed unused logic
* Make kiosk=tv behave as before but when topnav is enabled
* Minor fix
* Fixing tests
* Fixing bug with notice when entering kiosk mode
* Fixed test