* LogListNavigation: create component
* LogListNavigation: make it optional
* Refactor Navigation into Controls
* Explore Logs: hide old panel options
* LogListControls: add more controls and apply new styles
* LogListControls: update width
* Remove console log
* LogList: wrap component in context
* LogListContext: make it stateful
* LogListControls: connect with context
* LogListContext: sync displayed fields
* LogListContext: add syntax highlighting control
* LogLine: improve color with highlighting off
* LogListControls: improve button styles
* LogListControls: add sort order option
* LogListControls: add dedup strategy
* LogListContext: sync prop changes with state
* LogList: add option change callback
* LogListContext: sync external changes only when showControls is disabled
* LogListContext: unify sync effect
* LogListControls: improve buttons active css
* LogListContext: add optional storage support
* LogList: make syntaxHighlighting and read from store or default to true
* LogsPanel: add support for new options
* Generated file
* Update tests
* New Logs Panel: add showControls option
* LogList: make eventBus optional
* LogsPanel: expose syntaxHighlighting
* LogsPanel: expose grammar to plugins
* Remove incorrect legacy file
* LogListControls: allow options change with controls enabled in panel editor
* LogLine: apply no-highlighting class to ansi wrapper
* LogListControls: add frontend level filtering
* LogList: filter by filterLevels
* LogListControls: allow filterLevels in dashboards
* LogLine: update unit tests
* LogLineMenu: update unit test
* LogListControls: add unit test
* Revert
* LogList: add unit test
* LogList: add onLogRowHover support
* LogList: test hover events
* LogsPanel: add unit test
* LogLine: use theme color for errors
* LogLine: minor tweak to hover state
* Chore: fix test case name
* LogListControls: add border
* LogListControls: prevent default on wrap toggle click
* LogLine: switch info and debug colors
* ContentOutline + LogControls: sync displayed levels and minor outline improvements
* LogListContext: sync with external filterLevel changes
* Logs: work with arrays of LogLevel and not plain strings
* Fix type
* LogListControl: increase controls size
* Update dashboard app to use app SDK v0.35.0
What
This change updates dashboard app to use app SDK v0.35.0 and adds new
Makefile target for running codegen for all apps, in opt-in manner.
Currently only dashboards app is opted in.
Additionally, this changes dashboard app Makefile to properly install
and update app SDK versions when generating code, with app SDK version
pinned in the Makefile itself.
Why
The upgrade addresses issues with `DeepCopy` methods, while the Makefile
targets ensure that codegen is easy to run and uses reproducible
environments.
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Run make update-workspace
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Fix deepcopy methods
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Re-run CUE codegen to satisfy the CI
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Run make update-workspace
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Update to v0.35.1
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
---------
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Remove aggregate by
* Update betterer
* Run toggles test
* Add back group by in schema so it can be checked for
* Show error if group by
* Update error message
* Allow user to remove the group by from the query
* Fix assertion
---------
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Dashboard: Add object to selected object
* Try not to nest rows
* Update
* Update
* rows in rows, tabs in tabs
* Update schema to allow nested rows and nested tabs
* fix lint issue
* reset v2alpha1 types from main
* reset dashboard_object_gen.go to main
---------
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
* K8s/Dashboards: Fix panics in Dashboards v2alpha1 API
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Update generated code to use the `MappingType` properly
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
---------
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Dashboards: Add conditional rendering
* Updates
* Fixes
* Code improvements
* Code improvements
* limit condition choices, add delete and clean up ui
* add basic variable condition
* add conditional rendering based on time range interval
* adjust failing test
* remove deprecated pseudo locale file
* extract conditional rendering from behaviour to state property
* clean up behaviour initialisation
* clean up ts errors
* adjust data condition to account for RowItem
* persist-conditional-rendering
* fix group value name and kind type
* Fix types in base
* minor style fix
* Fix subscribes
* notify change when deleting condition
* fix hidden row item error
* Remove option to have groups in groups
* fix merge issue
* address comments
* subscribe to panel data change in data condition
* Remove loop labels
* only persist conditional rendering if root group has items
* update backend types
* Serialize variable conditional rendering operator as equals notEquals
---------
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
* Generate Dashboard kinds with `grafana-app-sdk`
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Hack together a fix for invalid TS codegen for v0 & v1
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Address Go linter issues
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Address TS linter issues
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Add new app to CODEOWNERS
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Fix a couple of issues detected by tests
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Update OpenAPI definitions and test files
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Remove title from Dashboard v1alpha1 spec
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Remove unused CUE schemas
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* remove unrelated files
* allow any in the generated betterer
* Add a comment explaining why we don't use deepcopy-gen
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Default to v2alpha1 if dashboards v2 FF is enabled
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
---------
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* feat(grafana-ui): build unstable entrypoint for experimental components
* feat(plugins): expose grafana/ui/unstable
* build(grafana-ui): add rollup plugin to create alias package.json for unstable entrypoint
* build(packages): rewrite prepare npm script to generate alias packagejson files
* chore(packages): use relative paths in publishConfig for exports generation
* chore(frontend): move npmcli/package-json package to root package.json
* revert(grafana-ui): remove rollup plugin for generating alias package.json files
* chore(grafana-ui): clean up unstable directory postpack to prevent yarn lock issues
* build(packages): fix scope for pkgName usage
* feat(packages): create separate cjs and esm builds that validate with arethetypeswrong cli
* chore(yarn): refresh lock file
* fix(packages): make sure alias package.jsons point to existing files
* adjut quickRanges type in v2
* clean up unused time_options property
* remove deprecated time_options property on time picker
* add schema migration for time_options
* adjust test
* update scenes and weekStart prop type
* update test
* adjust weekStart type in schemaV2
* clean up weekStart error message
* clean up weekStart in test data
* Introduce __legacyStringValue and deprecate string type for query
* Fix tests
* Fix tests
* remove default
* kind should default to default ds if variable doesn't have ds field
* lint
* getDefaultDataSourceRef should not return undefined
* Create base components
* Create measurement service
* Add container for list
* Use measurement to render virtualized log lines
* Match rendered styles in 2d context for measuring
* Improve virtualization initialization and handle resize
* Introduce log line processing
* Virtualization: fix measurement of lines with line endings
* Virtualization: include scrollbar width in calculation
* Remove logs
* Virtualization: optimize text measurement
* Add support for forceEscape
* Log line: properly style wrapped/unwrapped lines
* Virtualization: handle possible overflows
* Improve overflow handling
* LogList: remove scroll position ref
* Remove logs
* Remove log
* Add top/bottom navigation buttons
* Add timestamp to pre-processing
* Add showtime support
* Fix imports
* Chore: simplify dedup
* Show level
* Refactor measurement and measure level and timestamp
* Virtualization: skip unnecessary measurements
* Improve measurements to minimize overflow chance
* Introduce logline colors
* Update palette
* Remove pretiffying
* Add comment
* Remove unused variable
* Add color for info level
* Fix dependencies
* Refactor overflow to account for smaller estimations
* Debounce resizing
* Fix imports
* Further optimize height calculation
* Remove outline
* Unused import
* Use less under/overflow method
* Respond to height changes
* Refactor size adjustment to account for layout changes
* Add Logs Panel support
* Add margin bottom to log lines
* Remove unused option
* LogList: container div should never be null
Bad API design
* Log List: make app not undefined and update containerElement usages
* New Logs Panel: Create as new visualization (#99427)
* Logs Panel: clean up old panel
* Logs Panel New: create as new visualization
* Plugin: mark as alpha
* Logs panel new: hold container in a state variable
* Logs panel: fix no data state
* Create newLogsPanel feature flag
* Logs: use new feature flag
* Prettier
* Add new panel to code owners
* Logs Navigation: add translations
* Address betterer issues
* Fix import
* Extract translations
* Update virtualization.ts
* Virtualization: add DOM fallback for text measurement
* Run gen-cue
* plugins_integration_test: add logs-new to expected plugins
* TimeRangePicker: allow to customize quick ranges per dashboard
* TimeRangePicker: show selected custom time range using its name
* rangeutil: add tests for describeTextRange + quickRanges
* Fix up tests, and add an extra case for hidden time ranges
* Don't construct an object to find options, add findRangeInOptions util
* fix type errors detected by TypeScript
---------
Co-authored-by: joshhunt <josh@trtr.co>
* baldm0mma/ manually update deps and run yarn
* baldm0mma/ update version from workspace to actual version
* baldm0mma/ revert some workspaces
* baldm0mma/ update workspace
* baldm0mma/ update deps
* Testing out rows in schemav2
* update schema
* loading sort of works
* descibe position in relation to row
* add row repeats by variable
* explain ts-expect-error
* Save repeats as well
* Update tests for repeat behavior of rows
* Don't add the clones of the repeated rows
* Add row support for response transformer for V2
* Add row actions
* fix panel name
* fix merge issue
* fix tests
* Implement ensureV1
* set key of GridRow
* fix lint issue
* When going from V2 to V1 rows should be assigned unique ids following max panel id
* remove old comment
* Add panel repeats in V2 -> V1 transform
* Dashboard: Schema V2 - Remove Dashboard id from spec
* Fix issue with dashboard id used in examples and serializers for schema v2
* Fix snapshot test
* Allow setting the y axis width
* Add to docs
* Add to status history as well
* Add to status history docs and schema
* Change config to come from generic axis builder
* keep axis
* Change overridden label
* Update docs/sources/panels-visualizations/visualizations/status-history/index.md
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Update docs/sources/panels-visualizations/visualizations/state-timeline/index.md
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Remove the category/label override
* Move axis to its own section in docs as well
* clean
* rename to addAxisWidth
* Apply suggestions from code review
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Move sections to match UI order
* Update docs/sources/shared/visualizations/axis-options-all.md
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Change other axis options doc to be consistent.
* Fix linter
* add AxisPlacement
* Add new placement option to docs
* change some wording
* Apply suggestions from code review
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Use cog as a cli tool to generate code for kinds v2 schemas
* Update imports to dashboard v2 package in frontend
* Ensure cog is installed before using it
* Add support for exemplars
* TraceQL metrics exemplars ftw
* Fix exemplars on histogram queries
* Added exemplars field for the query builder options
* Add series labels as exemplars dataframe fields so the panel can link series with exemplars
* Fix tests
* Fix lint
* Hide exemplars field from options
* Fix crash on histogram queries
* Use DataTopicAnnotations enum
* Fix test