Chronograf includes a number of canned dashboards, whose cells are predefined
and immutable. A cell in a canned dashboard is called a layout cell, and it has
a slightly different schema than a cell in a user-defined dashboard (called
a dashboard cell).
For legacy reasons, Chronograf is able to render a layout cell or dashboard
cell using the same components via a mix of duck-typing and defensive
programming. [#4488][0] attempted to unify the differences between the two
possible cell schemas by converting a layout cell to a dashboard cell upon
read. This schema conversion was error prone and incomplete.
One difference between a layout cell and dashboard cell that was not handled by
the schema conversion involved the `groupbys` and `wheres` fields in a layout
cell. In a dashboard cell, these data are stored in the `queryConfig` object
instead. The schema conversion omitted these data altogether in the converted
cell, which caused the behavior described in [#4789][1]
This commit changes to schema conversion to include all data from the original
layout cell in the converted cell, so that the `groupbys` and `wheres` fields
are present. Downstream, the `Layout` component will check for these fields
when determining how to build a query for a cell.
This is a messy solution that builds upon previous messy solutions. [#4488][0]
discusses some alternatives, which were deemed not worth the effort to
implement.
[0]: https://github.com/influxdata/chronograf/pull/4488
[1]: https://github.com/influxdata/chronograf/issues/4789
* Use category tree to build schema explorer
* Remove expander from tag value list item
* Prevent clicking tag value item from closing tag values
* Remove input from under TAGS item in schema explorer
* Search for fields in measurements
* Add loading state and use search term in fetching tag values
* Add load more tag values button and debounce tag values search
* Add error handling to flux schema explorer
fix(logs/table): add hostname column
* Guarantee hostname column exists on logviewer config
* Add hostname field to ui utils
* Update integrations server test
* Update changelog 1.7.0
Co-authored-by: Michael Desa <mjdesa@gmail.com>
fix(logs/scroll): fix the horizontal scroll bar
* Update grid to have minWidth
* Fix logs scrollbar position
* Clean up unnecessary handlers
* Update 1.7.0 changelog
Co-authored-by: Alex P <thealexpaxton@gmail.com>