grafana/public/app/features/dashboard/dashgrid
Polina Boneva 3f1908464d
PanelChrome: Implement Panel header with error, loading, and streaming data status (#60147)
* dashboards squad mob! 🔱

lastFile:packages/grafana-ui/src/components/LoadingBar/LoadingBar.tsx

* dashboards squad mob! 🔱

* dashboards squad mob! 🔱

lastFile:packages/grafana-ui/src/components/LoadingBar/LoadingBar.tsx

* user essentials mob! 🔱

* create grafana/ui LoadingBar and set it up in Storybook

* Remove test changes on PanelChrome

* Fix mdx page reference

* dashboards squad mob! 🔱

lastFile:public/api-merged.json

* dashboards squad mob! 🔱

* dashboards squad mob! 🔱

* dashboards squad mob! 🔱

* dashboards squad mob! 🔱

lastFile:public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderState.tsx

* Implemented basic draft of panel header states. Using ToolbarButton instead of IconButton.

* use 'warning' styled Button in ToolbarButton

* make LoadingBar a simple JSX Element; do not use containerWidth; have a wrapper around the loading bar itself;

* fix wrapper around LoadingBar: willChange css prop makes performance of rerendering better

* States: Render general panel query error states and render notices next
to the title

* add streaming to PanelChrome if data is streaming instead of loading

* PanelHeaderState with its own state 'mode'

* clean up useEffect

* notices have their own square space in the size of the panel header

* clean up

* minor fixes

* moving the LoadingBar to core

* LoadingBar is not in grafana/ui

* always have a place for the loading bar in the PanelChrome, otherwise it moves everything when appearing;

remove titleItemsNodes for now - in later development

make no changes to Notice component, not part of this PR

* Revert "moving the LoadingBar to core"

This reverts commit 11f0f4ff2f.

* do not use internal comment as it doesn't do anything

* integrate LoadingBar in PanelChrome from grafana/ui directly

* fix deprecated leftItems comment

* Modify annimation to 1 second

* remove comments

* remove streaming stopped UI because we cannot know when the streaming has stopped

* skip unnecessary test for now

* no point in removing hoverHeader now, even though it's not yet implemented

* small fixes

* error state of the data in a panel is positioned in PanelChrome itself, not in PanelHeaderState

* Fixed loading state jitter

* remove warning state as we have none of it

* streaming cannot be stopped from the icon

* explicit content container width and height

* explicit content container width and height

* edit deprecated comment

* fix LoadingBar to be relative to width of panel; remove explicit width and height on content strict

* no warning state of the data

* status of the panel data given directly to PanelChrome, not a node

* clean up

* clean up console log

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* panel title design fits typography h6 styles; render error status only if error or error message are passed to PanelChrome

* add storybook examples; prepare PanelChrome for hoverHeader because this will be a breaking change and it will affect how the storybook example shows up

* show storybook example for streaming panel with title because that's the condition for having a header

* override margin-bottom: 0.45em of h6

Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2023-01-05 11:48:11 +02:00
..
PanelHeader schema: Use generated dashboard model in frontend (#55769) 2022-12-20 15:04:14 +01:00
DashboardGrid.test.tsx Dashboard: Making a dashboard editable does not allow resizing of panels (#59255) 2022-12-07 12:46:10 +02:00
DashboardGrid.tsx Dashboard: Making a dashboard editable does not allow resizing of panels (#59255) 2022-12-07 12:46:10 +02:00
DashboardPanel.tsx Solo Panel: Configurable timezone (#59153) 2022-11-23 12:14:35 +01:00
LazyLoader.tsx Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +01:00
liveTimer.ts Chore: Rename grafana core PanelChrome and use grafana-ui - PanelChrome component (#56659) 2022-10-17 16:03:38 +02:00
PanelChromeAngular.tsx Panels: Fixes crashing issue when migrating angular panels (#58232) 2022-11-08 16:26:02 +01:00
PanelStateWrapper.test.tsx Chore: Rename grafana core PanelChrome and use grafana-ui - PanelChrome component (#56659) 2022-10-17 16:03:38 +02:00
PanelStateWrapper.tsx PanelChrome: Implement Panel header with error, loading, and streaming data status (#60147) 2023-01-05 11:48:11 +02:00
SeriesVisibilityConfigFactory.ts Hidden series stay hidden in legend when toggling visibility (#54139) 2022-08-31 13:49:24 +03:00