* Starting moving more stuff into data source picker
* WIP progress
* Progress on datasource picker rethink
* Things are working now some details to figure out
* Removed commented part
* Complex work on getting data source lists
* Fixed variable support showing correct data sources
* Tried fixing dashboard import but failed
* Fixes
* Fixed import dashboard
* Fixed unit test
* Fixed explore test
* Fixed test
* Fix
* fixed more tests
* fixed more tests
* fixed showing which option is default in picker
* Changed query variable to use data source picker, updated tests and e2e
* Fixed more tests
* Updated snapshots, had wrong typescript version
* initial impl of Bars, Staircase, Smooth modes
* fix fillTo for staircase and smooth paths
* fix pointSize
* [bars] adjust gap factor & reduce bar width to include stroke width. remove rounding to favor gap & width uniformity over edge crispness.
* remove line path fallback for too-dense data
* "Auto" points mode implies "Never" for Bars
* slightly reduce x axis tick density
* fix bars height calc, make bars crisp again.
* [bars] don't use hard-coded 'x' scale key
* refactor catmullRomFitting() to accept x & y coord arrays. restrict to processing only visible data range.
* move path building functions to own file
* export typed functions
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* feat: hide snapshots menu item from viewers
* feat(playlists): prevent viewers from creating/editing playlists
* feat: prevent viewers seeing playlist nav link if no playlists
* refactor(playlist): rename isViewer property to canEditPlaylists
* revert(playlists): put back note if viewer and no playlists
* refactor(snapshots): consider admin/editor permission in folders/dashboards for displaying menu item
* feat(snapshots): only show snapshot nav item if user is signed in
* fix(snapshots): revert snapshots to previous state if delete snapshot api error
* Removing PanelModel usage from query rows
* More work removing dependency on panel model
* Before big change to query options
* Query options now have no dependency on panel model
* Test page is working
* Shared query now works again
* Rename component
* fix after merge
* Fixed issue with old angular editors
* Chore: Enable eslint react/no-render-return-value rule
Eanble the rule and remove the unused render return
part of: #29201
* Chore: Enable eslint react/no-children-prop rule
Not linting issues after turning on this. No other file changes requried
part of: #29201
* Chore: Enable eslint react/no-unknown-property rule
Correct enable-background to enableBackground
part of: #29201
* Chore: Enable eslint react/no-unescaped-entities rule
Replaced " with " replaced ' with '
part of: #29201
* WIP Add line limit and query type switch toLoki dashboard editor
* Refactor, reuse code for both - Explore and Dashboard
* Üpdate snapshot tests
* Refactor and unify
* Rename test file
* Update test
* DataLinks: Removes getDataSourceSettingsByUid from applyFieldOverrides and data linking code
* Fixed test
* Fixed a few tests
* Fixed unit tests
* Removed old getDataSourceSettingsByUid from interface, still there for runtime backward compatability
* Chore: Enable eslint react/display-name
Enable react/display-name and fixed the corresponding linting issue
part of: #29201
* Chore: Enable eslint react/no-deprecated
Enable react/no-deprecated and add the UNSAFE_ prefix for deprected methods
part of: #29201
* Chore: Enable eslint react/no-find-dom-node
Enable react/no-find-dom-node rule and use ref instead
part of: #29201
* Test: Update TeamGroupSync test snapshot
Since we added the displayName for ToolTip compontent and tag name is changed.
* Fix: Fixed ClickOutsideWrapper render
The props.children might contains numbers of nodes which make cloneElement failed. Change to simply use a div to wrapper
the children and assign the ref to div for this feature
* Style: Use shorthand method definition style for inline component
* Fix: Rebase master and fix linting
Rebase from master branch and fix new displayName linting warning
* Adding FilterByValue transformer skeleton
* Connecting options with Editor
* Improving UI and making deep copy of options on change.
* Improving Transformation Editor UI
* Implementing Regex filtering
* Adding valueFilters.ts and creating filter registry
* Connecting the test function
* Correcting TypeScript errors
* Using FilterInstance instead of simple Filter test function
* Adding field.type as filter options
* Improving UI. Adding custom placeholder depending on filter.
* Implementing a few more filter types
* Implementing more filters
* Return original data if no filter were processed
* Improving UI
* Correcting TS errors
* Making sure inequality transform are invalid until the filterExpression is not empty
* Cleanup in the UI file
* Improving UI (highlight invalid fields)
* Only show filterType that are supported for the selected field
* Adding tests + correction of a filter
* Adding transformer test
* Adding doc
* Cleanup
* Typing props for FilterSelectorRow component
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Moving rendering in the JSX
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Memoizing filterTypeOptions computation
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Improve code compactness
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Cleanup + solving TS errors
* Updating some labels
* Wrapping stuff around useMemo and useCallback
* Using cloneDeep from lodash
* Don't highlight field name input if null
* Removing time type fields in selectable options
* We want loose equality in this scenario.
* Adding `onChange` to useCallback dependencies
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Include or exclude matching any or all conditions
* Correcting field name matching
* Cleanup
* Don't highlight the filterExpression input when its empty
* Adding Range filter
* Updating doc
* Correcting TS error
* Only showing the Match All/Match Any option if more than one condition
* Two inputs for the Range filter instead of one
* Improving invalid highlight for Range filter type
* Cleanup
* Improving labels in UI
* Using ButtonSelect to improve UI
* editor UI updates.
* Updating tests
* Adding component for Regex
* Improve TS typing
* Adding components for the other filter types.
* Cleanup
* Correct error
* Updating valueFilter.test.ts
* Updating filterByValue.test.ts
* Reverting and removing Range filter
* Update docs/sources/panels/transformations.md
* starting to implement poc.
* added a small poc.
* wip
* added tests.
* added structure for dynamic value matcher editors.
* added more support.
* added some more value matchers.
* removed unused value filters.
* added some more matchers.
* adding more matchers.
* added a range matcher.
* fixing some tests.
* fixing tests.
* remove unused dep.
* making the matching a bit more performant.
* UX improvements and alignment fixes
* fixed delete button.
* fixed some spacing in the UI.
* added docs for matchers.
* adding docs and exposing value matcher types.
* will store dateTime as string.
* updated docs according to feedback.
* moved filter by value in transformation list.
* Improved description.
* added regex value filter.
* added support for regex.
* fixing failing tests.
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Add support for Sensu Go notification channel
Similar to current support for the older "Core" version of
Sensu, this commit add support for the newer version.
Closes#19908
Signed-off-by: Todd Campbell <todd@sensu.io>
* fix linter errors
Signed-off-by: Todd Campbell <todd@sensu.io>
* Apply suggestions from code review
PR review suggestions
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Fix no new variables error
* Replace convey testing with testify
Signed-off-by: Todd Campbell <todd@sensu.io>
* Wording suggestions
Signed-off-by: Todd Campbell <todd@sensu.io>
* Add docker compose environment for testing/maintenance
Signed-off-by: Todd Campbell <todd@sensu.io>
* Renamed and fixed docker-compose.yaml to work in devenv
Signed-off-by: Todd Campbell <todd@sensu.io>
* Change sensugo web UI port to 3080 so as not to conflict with grafana
Signed-off-by: Todd Campbell <todd@sensu.io>
* Apply suggestions from code review
Set the API key as a secure value.
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
* Add Sensu Go information to notifications doc
Signed-off-by: Todd Campbell <todd@sensu.io>
* Update pkg/services/alerting/notifiers/sensugo.go
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
* change assert to require for Error/NoError tests
Signed-off-by: Todd Campbell <todd@sensu.io>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
* Moving query stuff out of dashboard folder
* Moved more stuff
* Moving more stuff
* Update
* WIP test page
* Minor change
* Before big changes
* Fixed test
* Refactoring some events to new events
* More refactoring
* Make panel editor subscribe to new event
* Minor change and comment added
* Updated snapshot
* move split pane logic to its own component
* fix update function typing
* destruct updateuistate
* updates after review
* reword the rightpane to work for text panel
* When comparing field config, shallowly compare custom config
* Refactoring plot init and data update (WIP)
* GraphNG: Fixed points mode
* Fixed min & max from frame config
* Fixed axis left / right auto logic
* Minor tweak to cursor color
* Fixed time axis now that uPlot deals in milliseconds as well
* fixed ts issue
* Updated test
* Fixed axis placement logic again
* Added new unit test for axis placement logic
* Removed unused props
* Fixed zoom issue due to uPlot time resolution change
* Add back millisecond time tick support
* Comment out GraphNG test
* Fixed being able to switch legend on/off
* Updated unit tests
* GraphNG: Fixed hiding axis
* Frame comparison: allow skipping properties
* Update y-axis ranges without reinitializing uPlot
* update snap
* GraphNG: Fixed axis label placement and spacing issues
* update snaps
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* fixing so changes to annotations query links will update submenu.
* Refactored so we dont use the events to trigger a refresh but instead recreating the annotations list instead of mutating the existing list.
* updated snapshot.
* uppdates according to feedback.
* fixed so it also works to update a annotation.
* Refactor: Adds getNextAvailableId
* Refactor: Hides DependencyGraph button if there are no dependencies
* Refactor: Changes the new button
* Refactor: Removes usages of NEW_VARIABLE_ID
* Refactor: Reverts the new button
* comes from grafana/gel-app
* remove transform plugin code
* move __expr__ and -100 constants to expr pkg
* set OrgID on request plugin context
* use gtime for resample duration
* in resample, rename "rule" to "window", use gtime for duration, parse duration before exec
* remove gel entry from plugins-bundled/external.json
which creates an empty array for plugins
* Tests: Adds expects for observables
* Refactor: renames matcher
* Chore: changed jest version and removed as dev dependency
* Refactor: Changes after PR review
* wip
* Chore: revert
* Chore: Adds jest-matcher-utils
* Chore: fixed merge error
* Tests: Removed inline snapshots as they are env dependent
* Tests: missed a snapshot
* Refactor: Removed type file after PR comments
* fixing so we dont run multiple dashboard links searches when changing variables.
* changed so we fetch the list when open the dashboard links dropdown.
* removed verification of unneccesary requests.
* Elasticsearch: Add Moving Function Pipeline Aggregation
* Removing support for moving average in 7.x
* Fixing getMetricAggTypes to handle undefined esVersion
* Adding moving_fn to go code
* Update public/app/plugins/datasource/elasticsearch/metric_agg.ts
Co-authored-by: Giordano Ricci <grdnricci@gmail.com>
* Adding test for esversion 70
* Removing default value for script, adding placeholder instead
* Fixing formatting
* Adding code for handling missing or obsolete aggregations
Co-authored-by: Giordano Ricci <grdnricci@gmail.com>
* refactor(dashboard): remove usage of legacyform components in sharemodal
* refactor(dashboard): replace legacyform components
* refactor(dashboard): remove ng-if and correct typo in content of sharesnapshot
* feat(grafana-ui): set displayName prop for Switch component
* refactor(dashboard): migrate TimePickerSettings legacyform components
* refactor(queryoptions): migrate switch and input to nextgen components
* refactor(sharesnapshot): prefer InlineFieldRow over gf-form-group
* refactor(shareembed): styling fixes
* refactor(timepickersettings): prefer double bang over nullish coalescing operator
* fix(grafana-ui): switch uses id prop if passed in
* feat: connect labels and switches with ids
* TraceViewer: Make sure it does not break when no trace is passed
- exit trace conversion early when there is no trace data
- added test to cover missing trace for trace viewer
* Review feedback
* Use RTL for new test
* Exit early if trace or traceID is not there
* Graph refactorings
* Move legend to GraphNG and use new VizLayout
* Things are working
* remove unused things
* Update
* Fixed ng test dashboard
* Update
* More refactoring
* Removed plugin
* Upgrade uplot
* Auto size axis
* Axis scaling
* Fixed tests
* updated
* minor simplification
* Fixed selection color
* Fixed story
* Minor story fix
* Improve x-axis formatting
* Tweaks
* Update
* Updated
* Updates to handle timezone
* Updated
* Fixing types
* Update
* Fixed type
* Updated
* Split main reducer from item reducer
* Move query related redux to separate file
* Split more parts and tests
* Fix import
* Remove unused code
* Update public/app/features/explore/state/datasource.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Add section comments
* Rename ExploreItem to ExplorePane
* Fix imports
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* FieldColor: Per panel settings to filter out supported modes
* Updates
* Updated solution
* Update panel plugin API for standard options support
* Update FieldColorConfigSettings interface
* Change color mode correctly when changing plugin type
* Render only applicable color modes in field color config editor
* Apply field config API changes
* TS fixes
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Dashboard: Add named capture groups to variable query regex
Variable query regex are able to use 'text' and 'value' named capture
groups to allow for separate display text to be extracted from the
query result. e.g.
Using a regex of /foo="(?<text>[^"]+)|bar="(?<value>[^"]+)/g on a query
result of metric{foo="FOO", bar="BAR"} would result in the variable
value being set to 'BAR' but display text being set to 'FOO'
Resolves#21076
* Improve regex capture group documentation
* Update docs/sources/variables/filter-variables-with-regex.md
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Use text capture if value capture does not match
This is to keep the behaviour consistent with the current behavior. See
discussion https://github.com/grafana/grafana/pull/28625/files#r516490942
* Improve regex field placeholder and tooltip message
To make the feature more discoverable to users the place holder example
now includes the named capture groups. The tool tip message also
includes a reference and link to the documentation.
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Removed auto-capitalization from the login form
On mobile browsers, by default most keyboards will auto capitalize the first letter of the email/username, which is case sensitive.
This PR fixes that.
* Fixed autoCapitalize react keyword
* Fix logSeriesToLogsModel when some data frames have empty fields
* Update test
* Update public/app/core/logs_model.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Add test for SoloPanelPage.tsx
* Fix navigation from one SoloPanelPage to another one
The panel did not update because it assumed that the dashboard was already
fully loaded.