* 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
* feat(dashboard): introduce selector with fallback for unknown plugin
* refactor(dashboard): replace redux connect with redux hooks
* fix(dashboard): add a fallback for vizpicker when a panel plugin cannot be found
* feat(dashboard): add an icon for fallback plugins for vizpicker
* refactor(dashboard): prefer HOF selector
* PanelEdit: Fixed timing and state related issues
* Added unit test and changed some logic
* Fixed id logic
* Updated snapshots
* Update public/app/features/dashboard/state/PanelModel.ts
Co-Authored-By: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>