* Initial pass to move panel state to it's own, and make it by key not panel.id
* Progress
* Not making much progress, having panel.key be mutable is causing a lot of issues
* Think this is starting to work
* Began fixing tests
* Add selector
* Bug fixes and changes to cleanup, and fixing all flicking when switching library panels
* Removed console.log
* fixes after merge
* fixing tests
* fixing tests
* Added new test for changePlugin thunk
* Initial struture in place
* responding to state changes in another part of the state
* bha
* going in a different direction
* This is getting exciting
* minor
* More structure
* More real
* Added builder to reduce boiler plate
* Lots of progress
* Adding more visualizations
* More smarts
* tweaks
* suggestions
* Move to separate view
* Refactoring to builder concept
* Before hover preview test
* Increase line width in preview
* More suggestions
* Removed old elements of onSuggestVisualizations
* Don't call suggestion suppliers if there is no data
* Restore card styles to only borders
* Changing supplier interface to support data vs option suggestion scenario
* Renamed functions
* Add dynamic width support
* not sure about this
* Improve suggestions
* Improve suggestions
* Single grid/list
* Store vis select pane & size
* Prep for option suggestions
* more suggestions
* Name/title option for preview cards
* Improve barchart suggestions
* Support suggestions when there are no data
* Minor change
* reverted some changes
* Improve suggestions for stacking
* Removed size option
* starting on unit tests, hit cyclic dependency issue
* muuu
* First test for getting suggestion seems to work, going to bed
* add missing file
* A basis for more unit tests
* More tests
* More unit tests
* Fixed unit tests
* Update
* Some extreme scenarios
* Added basic e2e test
* Added another unit test for changePanelPlugin action
* More cleanup
* Minor tweak
* add wait to e2e test
* Renamed function and cleanup of unused function
* Adding search support and adding search test to e2e test
* Hoovering over a legend label hightlighs that pie slice
* Change to event bus
* Adds EventBusWithSource to help identify the origin of the event
* Add tests and fix bug with incorrect source
* Clean up PieChart and EventBus a bit
* Fix bug when payload.source is undefined
* Add some documentation and adjust naming
* useState instead of useSetState
* Clean up some more documentation
* Move eventbus to state
* add event bus actions to the debug panel
* add event bus actions to the debug panel
* Try to make the naming a bit clearer
* Try passing eventbus as context
* Fix lint issues
* Move event bus context to panel chrome
* Fix event handler functions
* switch to using useCallback for legend item callbacks
* Remove unused parameters
* Add id to panel fixture of PanelChrome test
* Simplify event source
* Place eventBus inside more generic context
* Push handling of context up the tree to VizLegend
only export usePanelContext and PanelContextProvider
implement isOwnEvent on EventBus
some cleanup
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Apply field overrides in PanelChrome
* Move applyFieldOverrides to panel query runner
* Review updates
* Make sure overrides are applied back on souce panel when exiting the new edit mode
* TS ignores in est
* Make field display work in viz repeater
* Review updates
* Review and test updates
* Change the way overrides and trransformations are retrieved in PQR
* Minor updates after review
* Fix null checks
Moves query execution logic to PanelQueryRunner and structures PanelChrome so it subscribes to the query results rather than necessarily controlling their execution.