* Add coremodelValidation feature flag
* coremodels: use stubs when feature flag is off
* api: validate dashboards on save
* Need pointer receiver for FeatureManager
* Update dashboard Go model
* Align doc comments
* Include CoremodelRegistry in test
* Wedge coremodel in on all test cases, ugh
* Ugh fix comment again
* Update pkg/framework/coremodel/staticregistry/provide.go
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
* Update Thema (and its deps) for better errs
* omg whitespace
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
* rewrote `CopyIcon` to an functional component
- fixed missing `CopyIcon` on `KeyValuesTable`
* added fixed height of `30px` to `KeyValuesTable` to fix overlapping
* removed unused CopyIcon snapshot
* KeyValuesTable: moved `30px` height from `tr` to `td` to fix vertical alignment
* convert SpanBarRow tests to RTL
* remove comments
* Update packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
* Update packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
* fix and replace
* fix last test
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Change default of style to dark
* Separate cursor into standalone def
* Docs on timepicker and templating fields
Also add what appear to be timepicker-related fields
* Separate out AnnotationQuery definition
* Add memberNames for DashboardCursorSync
* Add sketch of VariableModel for templating field
Also changes label field from frontend from null to optional.
* Use constraints to enforce non-empty panel type
Negation (!="") was breaking openapi exporter
* Add types and fields for links
* Remove panelVersion fields
These weren't right anyway, and they revealed a bug in the CUE openapi
generator
* Remove null label value from test
* Narrow type and set bounds on month field
* Adapt Go dashboard schema to lineage changes
* Load Rich History when the container is opened
* Store rich history for each pane separately
* Do not update currently opened query history when an item is added
It's impossible to figure out if the item should be added or not, because filters are applied in the backend. We don't want to replicate that filtering logic in frontend. One way to make it work could be by refreshing both panes.
* Test starring and deleting query history items when both panes are open
* Remove e2e dependency on ExploreId
* Fix unit test
* Assert exact queries
* Simplify test
* Fix e2e tests
* Fix toolbar a11y
* Reload the history after an item is added
* Fix unit test
* Remove references to Explore from generic PageToolbar component
* Update test name
* Fix test assertion
* Add issue item to TODO
* Improve test assertion
* Simplify test setup
* Move query history settings to persistence layer
* Fix test import
* Fix unit test
* Fix unit test
* Test local storage settings API
* Code formatting
* Fix linting errors
* Add an integration test
* Add missing aria role
* Fix a11y issues
* Fix a11y issues
* Use divs instead of ul/li
Otherwis,e pa11y-ci reports the error below claiming there are no children with role=tab:
Certain ARIA roles must contain particular children
(https://dequeuniversity.com/rules/axe/4.3/aria-required-children?application=axeAPI)
(#reactRoot > div > main > div:nth-child(3) > div > div:nth-child(1) > div >
div:nth-child(1) > div > div > nav > div:nth-child(2) > ul)
<ul class="css-af3vye" role="tablist"><li class="css-1ciwanz"><a href...</ul>
* Clean up settings tab
* Remove redundant aria label
* Remove redundant container
* Clean up test assertions
* Move filtering to persistence layer
* Move filtering to persistence layer
* Simplify applying filters
* Split applying filters and reloading the history
* Debounce updating filters
* Update tests
* Fix waiting for debounced results
* Clear results when switching tabs
* Improve test coverage
* Update docs
* Revert extra handling for uid (will be added when we introduce remote storage)
* Create basic plan
* Rename query history toggle
* Add list of supported features and add ds name to RichHistoryQuery object
* Clean up
Removed planned items will be addressed in upcoming prs (filtering and pagination)
* Handle data source filters
* Simplify DTO conversion
* Clean up
* Fix betterer conflicts
* Fix imports
* Fix imports
* Post-merge fixes
* Use config instead of a feature flag
* Use config instead of a feature flag
* Update converter tests
* Add tests for RichHistoryRemoteStorage
* Simplify test setup
* Simplify assertion
* Add e2e test for query history
* Remove duplicated entry
* Fix unit tests
* Improve readability
* Remove unnecessary casting
* Mock backend in integration tests
* Remove unnecessary casting
* Fix integration test
* Update betterer results
* Fix unit tests
* Simplify testing with DataSourceSrv
* Fix sorting and add to/from filtering
* Simplify testing DataSourceSettings
* Update betterer results
* Ensure previous request is canceled when getting search results
* Add loading message when results are being loaded
* Show info message only if local storage is enabled
* Fix unit test
* Reuse sort order options
* Reuse sort order options
* Fix footer spacing
* Add RBAC section to settings
* Default to RBAC enabled settings to true
* Update tests to respect RBAC
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* Transformation: Added variance and standard deviation for sample and population. Modified mean calculation approach
* Transformation: Removed existing mean calculation
* Transformation: Added testcases for variance and Standard deviation
* Update docs/sources/panels/calculation-types.md
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
* allow SSR
* fix rollup commonjs default flag changed breaking in SSR
* revert wrong change
* avoid using dynamic imports
* fix test
* allow icon load in packaged version
* fix SelectBase to run on SSR
* add extra check for fixing tests
* revert wrong change
* allow SSR
* revert wrong change
* don't include emotion in the bundle
* fix wrong merge changes
* remove unneeded icon change
* use forked version of uplot
* remove unneeded bundle exceptions
* fix typescript issues
* update to latest uplot
* feat: add feature toggle azureMonitorExperimentalUI
Add QueryHeader which adds an experimental header to AzureMonitor. This work is documented in #44432.
* GraphNG: Fix thresholds by color not following data update
* Refactor dynamicSeriesColor to time series
* avoid exposing frames on builder
rely on seriesIdx & cached alignedFrame to grab field
handle dynamic fill recoloring
only recolor when not in a special gradient mode
* bail when opacity = 0
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Panel
* Support tempo dash variables
* Support tempo explore variables
* Only show span links for explore
* Cleanup
* Added tests
* apply variables to search
* Tests for search variables
* Handling no data
* Interpolation and tests
* TracesPanel tests
* More tests
* Fix for backend test
* Manager integration test fix
* Traces doc and updated visualizations index doc
* Logs for this span
* Search, scrollToTop, other improvements
* Refactor to extract common code
* Removed TopOfViewRefType optional
* Remove topOfViewRef optional
* Removed another optional and fixed tests
* Test
* Only show search bar if trace
* Support traces panel in add to dashboard
* Self review
* Update betterer
* Linter fixes
* Updated traces doc
* Ahh, moved the for more info too
* Updated betterer.results
* Added new icon
* Updated expectedListResp.json
* feature toggles
* return HTTP 207 from ds/query
* add ft check
* add API test
* add 207 check for qr
* change to OR
* revert check
* add explicit toggle check for cloudwatch
* remove unused import
* remove from defaults.ini
* add status codes to md and update swagger
* new fangled http api tests pattern
* update swagger
* Update docs/sources/http_api/data_source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* add missing word and reformat
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* convert Slider tests to RTL
* slight update
* don't need to check they're in the document
* Update packages/grafana-ui/src/components/Slider/Slider.test.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* check below minimum value as well
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Logs: Add pagination range to prevent pagination from skipping entries
* Revert "Logs: Add pagination range to prevent pagination from skipping entries"
This reverts commit 2e7a6b3870.
* Refactor
* Update
* refactor: replace uses of checked prop for <Switch> with value prop
* fix: remove spaces from ids
The ID format is stated as follows([source][1]):
> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]),
hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Since `QueryHeaderSwitch` is used in two places I created a new variable that replaces spaces with a dash in the label.
[1]: https://www.w3.org/TR/html401/types.html#type-name
* fix: allow Switch in AlertingSettings to be focused by keyboard
* fix: allow Switch in PromSettings to be focused by keyboard
Fixes#46472
Co-authored-by: Elfo404 <me@giordanoricci.com>
* Fix: Render unitless strings as strings from displayProcessor
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
* update tests
* Rename none unit
* rename none unit to Number
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
* move upload to http
* use storage from grafanads
* rever gomod changes
* fix test
* wip
* add upload func
* update upload func
* writing to uploads
* edit response from service
* use dropzone for UI
* modify response struct in service
* better read file
* set content type for svg
* restrict file types upload
* add test and clean up errors
* pass test
* fix backend lint errors
* limit type of files on FE
* add TODO for after merge
* rebase with storage changes
* comment out unused function
* update UI to not have 2 uploads
* only call upload on select
* use utils function to find * in path
* show preview on drag over
* not allowing upload of svg
* add preview to upload tab
* no console.log
* resolve conflicts
* refactor log line
* fix failing BE test
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
* CloudWatch: prevent log groups from being removed on query change.
Previously when a query was changed the existing log groups for that query were "dropped". The fix is to combine the
new query with the existing query object in memory to preserve the log groups.
fixes#33626
* CloudWatch: fix typos in runWithRetry documentation
* chore: fix eslint issue
* Move tab height and horizontal drawer height to themable variables so they can be referred to. Add a default height to tabbed container so it can set an explicit height. Add overflow: scroll to inspector content
* Use height variable that changes on resize
* Use css to set height
* Add feature flag and scaffodling
* start adding actions
* WIP
* move action files
* Start adding styles
* Fix implementation based on feedback
* Add more hackathon code back to command palette
* Cleanup
* Cleanup unused service files for simple MVP pass
* Move type def to library
* WIP
* Move provider to proper place to pick up other routes’ actions
* Build actions off navbar, add explore actions
* Work around undefined typescript stuff
* Fix based on feedback
* close palette on ESC
* Fix based on PR feedback pt 1
* Move styles to classes
* Move another inline style to a class
* Enable command palette by default
* change around async hook structure
* Add simple feature tracking
* Code cleanup, and be sure the command is accurate
* Change to only render if there are actions, and only add actions once past login
* Fix Date picker content when pane is splitted (#46900). Show narrow(mobile) content version.
* Change from boolean to value override and use it in calendar styles. Change calendar modal to be in center of screen.
* Be sure width division only happens on split view
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* Updates queryResponse tests to include new cachedResponse bool
* Adds cachedResponse bool to QueryResponse
* Adds tests to assert the correct query counts (totalQueries and cachedQueries) are dispatched for data-requests
* Adds totalQueries and cachedQueries counts to the data-request events
* Adds new metrics and their descriptions to docs
* uses more descriptive variable name
* changes naming
* removes hyphen in docs
* extracts calculations to own lines prior to assignment
* Update dependency @testing-library/user-event to v14.1.1
* make this test more consistent
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update dependency @testing-library/user-event to v14
* everything is async...
* everything is async pt.2
* Fix cascader tests
* hack the yarn.lock file to remove the old version of @testing-library/dom
* some more fixes!
* MOAR FIXES
* more fixes
* remove a bunch of places where we're wrapping in act()
* down to 7 failing tests...
* Fix arrow tests
* Fix rest of NavBarItem tests
* Fix last tests
* Use {Enter} instead of {enter}
* Revert "Use {Enter} instead of {enter}"
This reverts commit e72453bb52.
* remove some unused act imports
* Fix LibraryPanelsSearch tests
* more stable test
* More consistent test...
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* coremodel: finish string -> object datasource ref
Seems we missed updating a couple of the datasource references from
strings to objects.
* cue fmt
* Also fix dashboard in scuemata dashboard schema
* Update devenv/dev-dashboards/panel-graph/graph-ng-stacking2.json
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Show query errors under each query row
* Testing a more plain error box
* Font size
* Make it green
* Nit UI
* Slight simplification of condition
* New design
* Update
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Performance: Create separate div for portal root to limit reflow -> recalc style
* refactoring
* NoData: Use field config No value option as text when display no data message
* Use PanelDataErrorView in TabelPanel
* Add PanelDataErrorView to PieChart
* Updated
* Load Rich History when the container is opened
* Store rich history for each pane separately
* Do not update currently opened query history when an item is added
It's impossible to figure out if the item should be added or not, because filters are applied in the backend. We don't want to replicate that filtering logic in frontend. One way to make it work could be by refreshing both panes.
* Test starring and deleting query history items when both panes are open
* Remove e2e dependency on ExploreId
* Fix unit test
* Assert exact queries
* Simplify test
* Fix e2e tests
* Fix toolbar a11y
* Reload the history after an item is added
* Fix unit test
* Remove references to Explore from generic PageToolbar component
* Update test name
* Fix test assertion
* Add issue item to TODO
* Improve test assertion
* Simplify test setup
* Move query history settings to persistence layer
* Fix test import
* Fix unit test
* Fix unit test
* Test local storage settings API
* Code formatting
* Fix linting errors
* Add an integration test
* Add missing aria role
* Fix a11y issues
* Fix a11y issues
* Use divs instead of ul/li
Otherwis,e pa11y-ci reports the error below claiming there are no children with role=tab:
Certain ARIA roles must contain particular children
(https://dequeuniversity.com/rules/axe/4.3/aria-required-children?application=axeAPI)
(#reactRoot > div > main > div:nth-child(3) > div > div:nth-child(1) > div >
div:nth-child(1) > div > div > nav > div:nth-child(2) > ul)
<ul class="css-af3vye" role="tablist"><li class="css-1ciwanz"><a href...</ul>
* Clean up settings tab
* Remove redundant aria label
* Remove redundant container
* Clean up test assertions
* Nav: Show overlay icons based on allowed list
* user essentials mob! 🔱
* Navigation: clean up and use new backend prop to show plus icons and
improve visual styling
* Nav: Fix top padding
* refactor to not use showIconInNavbar in NavBarMenuItem
* remove a missed bit
* refactor icon into const
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Select: Expose AsyncSelectProps interface
* DashboardPicker: Add a generic DashboardPicker component
* Dashboard Service: improve types
* Explore: allow saving explore state in a new panel in an existing dashboard
* Handle saving provisioned dashboards error
* Improve test coverage
* simplify test setup
* Strip base path from url when redirecting to a dashboard
* Keep existing variables when saving to an existing dashboard
* group assertions in test
* SearchCard: handle undefined in meta.updated
* Change required error message
* Add to dashboard alternative
* Add to existing is working
* Add to dashboard form
* remove default add-panel when creating a dashboard from explore
* types cleanup
* remove unneeded BE change
* simplify selector
* Add explore2Dashboard feature toggle
* add tests
* Small refactor & add tests
* small DashboardPicker improvements
* use partial from lodash
* Better error handling
* improve tests & disable button when there are no queries
* rename addPanelToDashboard function
* remove localStorage item if opening tab fails
* UI touchups & tracking
* Fix tests & remove close reporting
* remove echologger debug
* fix adding a panel to an existing dashboard
* Enable explore2Dashboard by default and add docs
* Ensure each panel in dashboards has a valid ID
* force CI restart
Co-authored-by: Elfo404 <me@giordanoricci.com>
* Load Rich History when the container is opened
* Store rich history for each pane separately
* Do not update currently opened query history when an item is added
It's impossible to figure out if the item should be added or not, because filters are applied in the backend. We don't want to replicate that filtering logic in frontend. One way to make it work could be by refreshing both panes.
* Test starring and deleting query history items when both panes are open
* Remove e2e dependency on ExploreId
* Fix unit test
* Assert exact queries
* Simplify test
* Fix e2e tests
* Fix toolbar a11y
* Reload the history after an item is added
* Fix unit test
* Remove references to Explore from generic PageToolbar component
* Update test name
* Fix test assertion
* Add issue item to TODO
* Improve test assertion
* Simplify test setup
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
FilterInput escapes all input strings for special characters that might
be used in a RegExp by calling escapeStringForRegex, and using
unEscapeStringFromRegex for display. Both of these functions used
string.prototype.replace() for escaping. replace() only replaces the
first occurence of a search string unless called with a global RegExp.
The output of these functions was not necessarily safe to compile into a
RegExp literal.
This change creates RegExps for escapeStringForRegex and
unEscapeStringFromRegex to match all occurrences of the special
characters instead of just their first occurrence. This makes a variety
of strings safe for RegExp compilation.
* AccessControl: Add a feature flag for the builtin role simplification
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
* Update standardDeatureFlags instead
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
* Next/prev buttons
* expand
* Sticky search bar
* Removed anys
* testing
* testing
* Tests for next/prev/suffix
* More tests
* Span bar row color
* Add clear to input and update search bar styles
* Update test
* PR changes
Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
* Expose option to disable help menu
* Expose option to disable profile menu
* Add Profile FeatureTogglePage
* Update public/app/features/profile/FeatureTogglePage.tsx
Uptake PR wording suggestion.
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Fix front end lint issue
* Fix back end lint issue
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Ensure TemplateService is updated with new time range on each time range change.
* Fix linting errors
* Fix explorePane.test.ts
* Reuse createDefaultInitialState
* Remove unused imports
* Add a test for left/right split
* Silence console.error in tests
* Silence console.error in tests
* feat: Bar Gauge Support scrolling
* Update public/app/plugins/panel/bargauge/module.tsx
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
* Update public/app/plugins/panel/bargauge/module.tsx
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
* docs: Bar gauge add 'min-width' and 'min-height'
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
* Dashboard: Fixes save modal rendered ontop of save drawer
* removed commented line
* Simplified dismiss -> hideModal mapping
* Fixed issue with new dashboard
* Fixing issues
* Add history listener to update titleHref/parentHref when location changes
* Convert to functional component and use useLocation
* Wrap component in React.memo
* Add new `getUrlForPartial` method, deprecate `updateSearchParams`
* Use bookmark icon for Saved Items, add support for solid bookmark icon
* Add some unit tests
* Refactor utils into own file
* Update test title
* Fix import
* consistent function style
* Update dependency @react-aria/button to v3.4.2
* Use type assertions
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update Yarn to v3.2.0
* Update sdks as well
* Update nodejs to latest
* Updates
* Update grabpl to 2.9.23
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* PanelEdit: Change the meaning of default data source to be just that the default for new panels
* Added migration, and also migration for annotation datasource prop to data source refs
* fix
* Fixing tests
* Fixes to annotation
* Fixing unit test
* fix: make it possible to use both class and functional components for plugins
* fix: accept both class and functional components as plugin root pages
* refactor: import types by name
* refactor: use `ComponentType`
* Change to cascader with search
* Don't change to select on backspace
* Fix error on group select
* Simplify getOperationDef
* Set cascader wrapper to fixed width
* Add placeholder
* Fix tests and type errors
* Fix props for backward compatibility
* Add comments
* package(jaegar): show no of child spans in view
Signed-off-by: tharun <rajendrantharun@live.com>
Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
* Add new transformer grouping to matrix
* Add new transformer grouping to matrix tests
* Add new transformer grouping to matrix UI
* Fix tests for grouping to matrix transformer
* Update transformer to latest interfaces
* Add field selector to form
* Make linter happier
* Replace Fields with InlineSnapshot as it was to taking units properly
* Rearrange for new transformers structure
* Expose GroupingToMatrix options as part of data package
* Increase labelWidth as suggested
* Add uniqueValues helper function and use it to extract Column and Row Values