fix(dashboards): Improve handling for TimeSeries
with unknown data types
#87306
+133
−32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes JAVASCRIPT-2YG7
Closes JAVASCRIPT-2YHG
TimeSeriesWidgetVisualization
is failing on the Queues page if the project doesn't have any specific queue data. If it doesn't, one of the time series come back with anull
type, it has no meta information. In this case, the visualization creates a "duration" axis for the one time series that has data, but doesn't create a fallback axis for the time series with anull
type. This happens because I aggressively filtered outnull
types, since I didn't realize how often this happens.Rather than patching over that bug, I've added new, more robust types and behaviour.
TimeSeries
is allowed to have anull
type, and the types are now more specifically set in TypeScript. This is just realityPlottable
is not allowed to have anull
type. It must provide an actually plottable type! To this end, I added more specific types to explain what is and isn't plottableTimeSeriesWidgetVisualization
only works on plottables with good types, so the code there doesn't have to change, the error handling has been moved into the plottable implementations and enforced with types