* Add filtering for Silences page
* Add tests Silences and SilenceEditor
* pr feedback: add field validation and test refactor
* Add test for checking content
* fix overflow for validation error message
* increase login threshold for pa11y
* Make silence filter state its own type and function
* WIP
* Functional without custom wrapper component, needs highlight
* Remove latency from explore
* Sync eventbus
* Some cleanup & removal of unused code
* Avoid clearing queries when running all empty queries
* Run remaining queries when removing one
* Update snapshots
* fix failing tests
* type cleanup
* Refactor QueryRows
* update snapshot
* Remove highlighter expressions
* minor fixes in queryrows
* remove unwanted change
* fix failing e2e test
* Persist refId in explore url state
* make traces test slightly more robust
* add test for query duplication
* Move SplitOpenFn type to grafana-data
* Use panel renderer instead of Timeseries panel for graph in Explore
* rename splitopen props on panel context
* Setup filter
* Enable filtering users by active in last 30 days
* Add loading state
* Update last active age strings
* Tweak user list
* Use theme spacing
* Improve table's accessibility
* Add more aria-labels
* AccessControl: add one-dimensional permissions to datasources in the backend
* AccessControl: add one-dimensional permissions to datasources in the frontend (#38080)
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* Group alertmangaer alerts by custom grouping
* Filter am groups
* Style filter components
* Style filter bar and add clear functionality
* rename components to alert group
* use query params for group filters
* filter style improvements
* add tests for group by
* Add grouping banner to better highlight groupings
* clean up hook logic
* dedupe folder option for existing grafana rules
* update test mocks
* change toggle to chevron for expanding error state ui
* fix some strict lint errors
* add fixed role for datasource read operations
* Add action for datasource explore
* add authorize middleware to explore index route
* add fgac support for explore navlink
* update hasAccessToExplore to check if accesscontrol is enable and evalute action if it is
* add getExploreRoles to evalute roles based onaccesscontrol, viewersCanEdit and default
* create function to evaluate permissions or using fallback if accesscontrol is disabled
* change hasAccess to prop and derive the value in mapStateToProps
* add test case to ensure buttons is not rendered when user does not have access
* Only hide return with changes button
* remove internal links if user does not have access to explorer
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* add page and basic things
* quick annotations
* added so we can run queries on the view rule page.
* wip.
* merge
* cleaned up the combined rule hook.
* readd queries
* fixing so you can run queries.
* renamed variable.
* fix rerenders and visualizing
* minor fixes.
* work in progress.
* wip
* a working version that can be tested.
* changing check if we have data.
* removed unused styling.
* removed unused dep.
* removed another dep.
* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* refactored and changed UI according to figma.
* resseting menu item.
* removing unused external link.
* refactor according to feedback.
* changed so we always fetch the rule.
* fixing so datasource only is displayed once. Also changed so we only navigate to alert list when rule has been deleted.
* removed unused dep.
* Will display query as json if we can't find data source.
* changed to a function instead of the React.FC.
* refactoring of id generation and added support to generate ids for native prometheus alerts without ruler.
* set max width on page content
* added page where you can easily link to a rule in grafana.
* listing rules with same name.
* fixing error cases.
* updates after pr feedback
* more pr feedback
* use 1h-now as timerange
* remove unused import
* start on test
* add test for cloud case
* add ruleview render test
* add render tests for grafana and cloud alerts
* add mock for backendsrv
* add rendering test for the find route
* check if cards are rendered
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* WIP: Implement simple caching
* If results are cached, don't run new query and use those results
* Add duplicate key check
* Clean up
* Clean up
* Add tests for caching
* Remove unused variables
* Update public/app/features/explore/state/query.test.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Update public/app/features/explore/state/query.test.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Use decorateData to apply all decorators
* Remove unused variables
* Change loading stte to Done
* Clear cache when running query from navigation
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* VizWrapper to handle some state
* alertingqueryrunner first edition
* added so we always set name and uid when changing datasource.
* wip.
* wip
* added support for canceling requests.
* util for getting time ranges for expression queries
* remove logs, store data in state
* merge from run branch
* incremental commit
* viz working
* added structure for marble testing.
* paddings and move viz picker
* less height for viz, less width on rows
* change so the expression buttons doesnt submit form.
* fixed run button.
* replaced mocks with implementation that will set default query + expression.
* merge with run queries
* fixed so we set a datasource name for the default expression rule.
* improving expression guard.
* lots of styling fixes for viz
* adding placeholder for relative time range.
* fixed story.
* added basic structure to handle open/close of time range picker.
* removed section from TimeOptions since it isn't used any where.
* adding mapper and tests
* move relativetimepicker to its own dir
* added some simple tests.
* changed test.
* use relativetimerangeinput
* redo state management
* refactored the tests.
* replace timerange with relativetimerange
* wip
* wip
* did some refactoring.
* refactored time option formatting.
* added proper formatting and display of time range.
* add relative time description, slight refactor of height
* fixed incorrect import.
* added validator and changed formatting.
* removed unused dep.
* reverted back to internal function.
* fixed display of relative time range picker.
* fixed failing tests.
* fixed parsing issue.
* fixed position of time range picker.
* some more refactorings.
* fixed validation of really big values.
* added another test.
* restored the step2 check.
* fixed merge issue.
* Update packages/grafana-ui/src/components/Forms/RadioButtonGroup/RadioButtonGroup.tsx
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* reverted change.
* fixed merge conflict.
* fixed todo.
* sort some paddings
* replace theme with theme2
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* alertingqueryrunner first edition
* added so we always set name and uid when changing datasource.
* wip.
* wip
* added support for canceling requests.
* util for getting time ranges for expression queries
* remove logs, store data in state
* added structure for marble testing.
* change so the expression buttons doesnt submit form.
* fixed run button.
* replaced mocks with implementation that will set default query + expression.
* fixed so we set a datasource name for the default expression rule.
* improving expression guard.
* Update public/app/features/alerting/components/AlertingQueryEditor.tsx
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* fixed some nits.
* some refactoring after feedback.
* use grafanthemev2
* rename grafanatheme
* fixing so we convert to correct relative time range.
* added some more tests.
* fixing so duplicating query works.
* added some more tests without marbles.
* small refactoring to share code between runRequest and alerting query runner.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* Move fitlering and deduplication to comnponent to enable future caching
* Clean up LogsMetaInfo
* Update
* Memoize component
* Fix type errors
* Clean uo
* Add tests for filtering in combination with deduplication
* initial commit.
* Some more improvements to the expression data source support.
* added tests to verify that time range picker and data source picker only is visible when callbacks is passed to row.
* fixing issue with filter in alerting list.
* minor refactoring.
* removed guarding code, should be fixed in backend.
* cleaning the data query if we change to a different data source.
* HelpModal: Migrates to new style
* Alerting: Migrates how to do alerting modal to React
* ApiKeysModal: migrates to new theme
* Dashboard: View dasboard json modal migrated to React and new theme
* PluginPage: migrates update plugin modal to react and new theme
* Chore: deprecates events and functions
* Simplify help modal
* Updated json modal to use Modal.ButtonRow
* Tweak to api key design
* Tests: updates snapshot
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Grafana-UI: Switch CodeEditor to @monao-editor/react
* update copy script and paths
* hide context menu
* use __grafana_public_path__
* Fix value and language not updating
* update jaeger tsconfig
* update tsconfig
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Card: migrates styles from sass to emotion
* removed LayoutSelector component since it's not used in the codebase
* updates card styles with new color name
* fix viz
* add datasource picker on query rows in mixed mode
* add timerange, handle add/remove queryrunners
* multiqueryrunner test
* trying things out.
* adding another test to verify running a induvidual query runner will update multirunner.
* cleaned up tests a bit.
* draft version working ok.
* fixing so we base the refId from request targets.
* reenable adding expression
* layout fixes for alerting page
* some cleanup
* cleaning up code that we won't use
* changed so we don't display the time range if params not passed.
* remove unused things in querygroup
* changed button to type button.
* removed timerange from dataQuery and removed multiquery runner.
* minor refactoring.
* renamed callback function to make it more clear what it does.
* renamed droppable area.
* changed so we only display the query editor when selecting threshold.
* removed the refresh picker.
* revert
* wip
* extending with data query.
* timerange fixes
* it is now possible to add grafana queries.
* removed unused type.
* removed expect import.
* added docs.
* moved range converting methods to rangeUtil.
* clean up some typings, remove file
* making sure we don't blow up on component being unmounted.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Expose user permissions to the frontend
* Do not include empty scope
* Extend ContextSrv with hasPermission() method
* Add access control types
* Fix type error (make permissions optional)
* Fallback if access control disabled
* Move UserPermission to types
* Simplify hasPermission()