* wip
* Refactor find panel by key
* clean up lint, make isLoading optional
* change library panel so that the dashboard key is attached to the panel instead of the library panel
* do not reload everything when the library panel is already loaded
* Progress on library panel options in options pane
* We can skip building the edit scene until we have the library panel loaded
* undo changes to findLibraryPanelbyKey, changes not necessary when the panel has the findable id instead of the library panel
* fix undo
* make sure the save model gets the id from the panel and not the library panel
* remove non necessary links and data providers from dummy loading panel
* change library panel so that the dashboard key is attached to the panel instead of the library panel
* make sure the save model gets the id from the panel and not the library panel
* do not reload everything when the library panel is already loaded
* Fix merge issue
* Clean up
* lint cleanup
* wip saving
* working save
* use title from panel model
* move library panel api functions
* fix issue from merge
* Add confirm save modal. Update library panel to response from save request. Add library panel information box to panel options
* Better naming
* Remove library panel from viz panel state, use sourcePanel.parent instead. Fix edited by time formatting
* Add tests for editing library panels
* implement changed from review feedback
* minor refactor from feedback
* DashboardScene: Implement playlist controls
* Mock the runtime config properly
* PlaylistSrv: with state you can subscribe to (#83828)
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* wip
* tests + refactor ad panel func
* Add row functionality
* update row state only when there are children
* Add new row + copy paste panels
* Add library panel functionality
* tests
* PR mods
* reafctor + tests
* reafctor
* fix test
* refactor
* fix bug on cancelling lib widget
* dashboard now saves with lib panel widget
* add lib panels widget works in rows as well
* split add lib panel func to another PR
* Add library panel functionality
* refactor
* take panelKey into account when getting next panel id in dashboard
* fix tests
* wip
* tests + refactor ad panel func
* Add row functionality
* update row state only when there are children
* Add new row + copy paste panels
* Add library panel functionality
* tests
* PR mods
* reafctor + tests
* reafctor
* fix test
* refactor
* fix bug on cancelling lib widget
* dashboard now saves with lib panel widget
* add lib panels widget works in rows as well
* split add lib panel func to another PR
* DashboardScene: Action toolbar progress
* Add discard confirmation modal
* minor fix
* Update
* tweaked
* Updating
* Progress
* Update
* Update
* Added some unit tests
* fix test
* Change name to Exit edit
* Tweaks
* fix test
* Minor margin fix
* Move share to left of edit
* DashboardScene: Initial work to get new route to work
* Update
* remove caching of new dashboard
* remove old new dashboard func
* Update
* Update public/app/features/dashboard-scene/scene/DashboardScene.tsx
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Fixing test
* dam messy tests
---------
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* DashboardScene: First save works
* Updates
* version mismatch works
* Error handling
* save current time range working
* Progress on save as
* Save as works
* Progress
* First tests
* Add unit tests
* Minor tweak
* Update
* Update isDirty state when saving
* Progress
* think this a bad approach
* Scene panel repeats looking good
* Update
* update
* Update
* Use key instead for inspect/view
* refactorings to improve tests
* Update
* More tests
* Update
* added support for key / value variables
* Update
* Fixes
* remove log
* Update
* Removed old gdev templating dashboard and added new and improved one
* Update
* Added repeating panels coded demo
* Update to latest scenes lib
* review feedback fixes
* update
* Sync schema
* SceneDashboard: Discard changes now works
* To save model works and start at save drawer
* Update
* Added missing file
* Refactorings to keep responsibility more logical
* Refactorings
* Removed file
* Fixed state issue
* Update
* Update