* Refactor log query handling
* Add link to config page
* Change message about missing xray to alert
* Add xrayTraceLinks
* Fix typo in field name
* Fix tests and lint
* Move test
* Add test for trace id link
* lint
* refactor(Plugins/Admin): add a type for version coming back from the API
* refactor(Plugins/Admin): only add necessary version information to the state
* test(Plugins/Admin): add a mock for a CatalogPlugin
* test(Plugins/ADmin): add a mock for a LocalPlugin
* test(Plugins/Admin): add a test for a RemotePlugin
* test(Plugins/Admin): add helpers for mocking plugin states
* refactor(Plugins/Admin): mock the Redux state instead of the API responses
This makes it simpler to add new test cases and also makes
the tests easier to reason about.
* refactor(Plugins/Admin): mock the Redux state instead of the API responses
* Navigation: Implement active state for items in the Sidemenu
* Navigation: Improve logic for when link is active and extract isSearchActive into a util function
* Navigation: Implement custom rule for dashboards under /d/ and fix minor bugs
* Navigation: only show first matching active state + strip query params from link urls
* Move SplitOpenFn type to grafana-data
* Use panel renderer instead of Timeseries panel for graph in Explore
* rename splitopen props on panel context
* feat(catalog): add update info to PluginListCard
* refactor(catalog): use IconName enum and minor styling changes to PluginHeaderDependencies
* fix(catalog): add a semver range to grafanaVersion for dependency checks in InstallControls
* fix(@grafana/data): add a missing optional field to the plugin types
* refactor(Plugins/ADmin): use the type from @grafana/data for plugin dependencies
* fix(Datasources/Graphite): add missing `state` to useEffect dependencies
* refactor(Plugins/Admin): remove unnecessary comment
* feat(Plugins/Admin): add plugin and grafana dependencies to the CatalogPluginDetails
* feat(Plugins/ADmin): show Grafana dependency under plugin details
* feat(Plugins/Admin): show grafana and plugin dependencies for a plugin
* test(Plugins/Admin): add a smoke test for plugin dependencies
* refactor(Plugins/Admin): remove unused style from the header
* Normalize alert state name for UI descriptor retrieval
* Bring back alert state and metric values to annotation tooltip
* Make sure alert state is only shown when present
* Update test
* Handle Error alerting satte
* Revert "Prometheus: add functionality to specify desired step interval in dashboards panels (#36422)"
This reverts commit ddf5b65c51.
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* Revert "Explore: add functionality for supporting different step modes in prometheus (#37829)"
This reverts commit f433cfd8d9.
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* Revert stepMode BE implementation from #36796
Co-authored-by: "Ivana Huckova" <ivana.huckova@gmail.com>
* feat(Plugins/Catalog): start adding necessary apis
* feat(PLugins/Catalog): add extra helpers for merging local & remote plugins
* feat(Plugins/Catalog): add plugin details as an optional field of CatalogPlugin
* feat(PLugins/Catalog): add scaffolding for the new redux model
* feat(PLugins/Catalog): export reducers based on a feature-flag
* refactor(Plugins/Admin): rename api methods
* feat(Plugin/Catalog): add an api method for fetching a single plugin
* feat(Plugins/Admin): try cleaning stuff around plugin fetching
* ffeat(Plugins/Catalog): return the catalog reducer when the feature flag is set
* refactor(Plugins/Admin): fix typings
* feat(Plugins/Admin): use the new reducer for the browse page
* feat(catalog): introduce selectors to search and filter plugins list
* refactor(Plugins/Details): rename page prop type
* refactor(Plugins/Admin): add a const for a state prefix
* refactor(Plugins/Admin): use the state prefix in the actions
* feat(Plugins/Admin): add types for the requests
* refactor(Plugins/Admin): add request info to the reducer
* refactor(Plugins/Admin): add request handling to the hooks & selectors
* refactor(Plugins/Details): start using the data stored in Redux
* refactor(Plugins/Admin): rename selector to start with "select"
* fix(Plugins/Admin): only fetch plugins once
* refactor(Plugins/Admin): make the tab selection work in details
* refactor(catalog): put back loading and error states in plugin list
* refactor(Plugins/Admin): use CatalogPlugin for <PluginDetailsSignature />
* feat(Plugins/Admin): add an api method for fetching plugin details
* refactor(Plugins/Admin): add action for updating the details
* irefactor(Plugins/Admin): show basic plugin details info
* refactor(Plugin Details): migrate the plugin details header
* refactor(Plugins/Admin): make the config and dashboards tabs work
* refactor(Plugins/Admin): add old reducer state to the new one
* feat(catalog): introduce actions, reducers and hooks for install & uninstall
* refactor(catalog): wire up InstallControls component to redux
* refactor(catalog): move parentUrl inside PluginDetailsHeader and uncomment InstallControls
* feat(catalog): introduce code for plugin updates to install action
* refactor(Plugins/Admin): add backward compatible actions
* test(catalog): update PluginDetails and Browse tests to work with catalog store
* refactor(Plugins/Admin): make the dashboards and panels work again
* refactor(Plugins/Admin): fix linter and typescript errors
* fix(Plugins/Admin): put the local-only plugins to the beginning of the list
* fix(Plugins/Admin): fix the mocks in the tests for PluginDetails
* refactor(Plugins/Admin): remove unecessary hook usePluginsByFilter()
* refactor(Plugins/Admin): extract the useTabs() hook to its own file
* refactor(Plugins/Admin): remove unused helpers and types
* fix(Plugins/Admin): show the first tab when uninstalling an app plugin
This can cause the user to find themselves on a dissappeared tab, as the
config and dashboards tabs are removed.
* fix(catalog): correct logic for checking if activeTabIndex is greater than total tabs
* fix(Plugins/Admin): fix race-condition between fetching plugin details and all plugins
* fix(Plugins): fix strict type errors
* chore(catalog): remove todos
* feat(catalog): render an alert in PluginDetails when a plugin cannot be found
* feat(catalog): use the proper store state
* refactor(Plugins/Admin): fetch local and remote plugins in parallell
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* style(catalog): fix prettier error in api
* fix(catalog): prevent throwing error if InstallControlsButton is unmounted during install
* refactor(Plugins/Admin): add a separate hook for filtering & sorting plugins
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Transform dataframe to jaeger format
* Transform dataframe to Zipkin format
* Add endpoint type and shared to Zipkin
* Transform dataframe to OTLP format
* Add data tab tests and note in inspector docs
* Remove comments and logs
* Resolve typescript strict errors
* Update docs/sources/explore/explore-inspector.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update docs
* Improve OTLP conversion to include service info and additional tags
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Docs: Updated 'Whitelisted' to 'Accepted' to match what's shown in the frontend now.
* Apply suggestions from code review
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Docs: Update frontend to match docs
* kick drone
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* convert SQLs to use sdk contracts
* make draft
* postgres
* intermedia
* get datasourceinfo filled at the beginning of the service
* move the interval into package because of cyclict import and fix all postgres tests
* fix mysql test
* fix mssql
* fix the test for pr https://github.com/grafana/grafana/issues/35839
* fix some issue about intervalv2 package
* update sql test
* wire migration for SQLs
* add sqls to the background process
* make it register instead of register and start
* revert formatting
* fix tests
* fix linter
* remove integration test
* Postgres test fix
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Dashboard: Fix UID not preserved on import
* Import Dashboard: add e2e test to verify uid is preserved when importing dashboard
* E2e: Use dynamic uid
* Tests: fixes e2e test
* Chore: adds back waits
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Add UMLs
* Add rendered diagrams
* Move QueryCtrl to flux
* Remove redundant param in the reducer
* Use named imports for lodash and fix typing for GraphiteTagOperator
* Add missing async/await
* Extract providers to a separate file
* Clean up async await
* Rename controller functions back to main
* Simplify creating actions
* Re-order controller functions
* Separate helpers from actions
* Rename vars
* Simplify helpers
* Move controller methods to state reducers
* Remove docs (they are added in design doc)
* Move actions.ts to state folder
* Add docs
* Add old methods stubs for easier review
* Check how state dependencies will be mapped
* Rename state to store
* Rename state to store
* Rewrite spec tests for Graphite Query Controller
* Update docs
* Update docs
* Add GraphiteTextEditor
* Add play button
* Add AddGraphiteFunction
* Use Segment to simplify AddGraphiteFunction
* Memoize function defs
* Fix useCallback deps
* Update public/app/plugins/datasource/graphite/state/helpers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/helpers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/helpers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update public/app/plugins/datasource/graphite/state/providers.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Add more type definitions
* Remove submitOnClickAwayOption
This behavior is actually needed to remove parameters in functions
* Load function definitions before parsing the target on initial load
* Add button padding
* Fix loading function definitions
* Change targetChanged to updateQuery to avoid mutating state directly
It's also needed for extra refresh/runQuery execution as handleTargetChanged doesn't handle changing the raw query
* Fix updating query after adding a function
* Simplify updating function params
* Migrate function editor to react
* Simplify setting Segment Select min width
* Remove unnecessary changes to SegmentInput
* Extract view logic to a helper and update types definitions
* Clean up types
* Update FuncDef types and add tests
* Show red border for unknown functions
* Autofocus on new params
* Extract params mapping to a helper
* Split code between params and function editor
* Focus on the first param when a function is added even if it's an optional argument
* Add function editor tests
* Remove todo marker
* Fix adding new functions
* Allow empty value in selects for removing function params
* Add placeholders and fix styling
* Add more docs
* Create basic implementation for metrics and tags
* Post merge fixes
These files are not .ts
* Remove mapping to Angular dropdowns
* Simplify mapping tag names, values and operators
* Simplify mapping metrics
* Fix removing tags and autocomplete
* Simplify debouncing providers
* Ensure options are loaded twice and segment is opened
* Remove focusing new segments logic (not supported by React's segment)
* Clean up
* Move debouncing to components
* Simplify mapping to selectable options
* Add docs
* Group all components
* Remove unused controller methods
* Create Dispatch context
* Group Series and Tags Sections
* Create Functions section
* Create Section component
* use getStyles
* remove redundant async/await
* Remove
* remove redundant async/await
* Remove console.log and silent test console output
* Do not display the name of the selected dropdown option
* Move Section to grafana-ui
* Update storybook
* Simplify SectionLabel
* Fix Influx tests
* Fix API Extractor warnings
* Fix API Extractor warnings
* Do not show hidden functions
* Use block docs for better doc generation
* Handle undefined values provided for autocomplete
* Basic integration
* Move creating state to context.tsx
* Update tests
* Rename test
* Clean up dependencies
panel.targets is not needed for interpolation - it happens in the data source itself. It was used only to show query ref in the the dropdown for the segment.
* Update time range when it changes
* Change action name
* Simplify segments cloning
* Remove redundant variable
* Use styles instead of direct css
* Update docs
* Remove angular wrappers
* Remove redundant tests
* Section -> SegmentSection
* Simplify section styling
* Remove redundant div
* Fix unit tests
* Simplify SegmentSection component
* Use theme.spacing
* Use empty label instead of a single space label
* Remove targetFull
It was used in the past two store the query interpolated with sub-queries inside the model and send both to the backed (interpolated and not interpolated). This has been changed though - the logic has been moved away from model to the data source where interpolation happens and now only interpolated query is passed meaning targetFull is not needed anymore.
* Revert "Remove targetFull"
This reverts commit 499f8b33
* Bring back calculating targetFull
* Clean up
* Add missing dep
* Add missing dep in tests
* Fix time range synchronization
* Fix warning message
* Remove unused type
* Synchronize changes to the query
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Sidemenu: Refactor TopSectionItem and BottomNavLinks into SideMenuItem
* Update failing snapshot
* BottomSection: Convert tests to RTL + add some extra unit tests
* 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>
* WIP: add delete functionality to playlist
* fixes deleted item to be removed instantly without manual refresh
* update confirmModal to reference playlist name
* refactor confirmModal message to be clear enough
* WIP: some unit tests for the playlistPage
* added more tests and did some cleanup
* some code refactoring
* adds ability for user roles to control playlist delete
* some abstraction to cleanup code
* modified alert message for delete button to correspond with action
* tried a better approach to modify the alert message
* fixes playlist lookup on each render
* update handlers to not use anonymous function
* exposed getBackendSrv().get api to fetch all playlist
* used better naming convention
* removes unecessary async/await construct
* some code refactoring
* used the correct param structure
* LibraryPanels: Separates name from panel title
* WIP
* Chore: fixes update for duplicate lib panels
* Chore: reverts implementation
* Chore: show library options only for library panels
* Chore: ui fixes after PR comments
* Chore: fixes issue when creating library panels
* prometheus: add monaco-based query-field
for now it is behind a feature-flag
* added new trigger character
* better separate grafana-specifc and prom-specific code
* better styling
* more styling
* more styling
* simpler monaco-import
* better imports
* simplified code
* simplified type imports
* refactor: group completion-provider files together
* renamed type
* simplify type-import
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* handle no-metric-name autocompletes
* updated comment
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* build(webpack): bump to v5 and successful yarn start compilation
* build(webpack): update postcss dependencies
* build(webpack): silence warnings about hash renamed to fullhash
* build(webpack): enable persistent cache to store generated webpack modules / chunks
* build(webpack): prefer eslintWebpackPlugin over tschecker so eslint doesn't block typechecking
* chore(yarn): run yarn-deduplicate to clean up dependencies
* chore(yarn): refresh lock file after clean install
* build(webpack): prefer output.clean over CleanWebpackPlugin
* build(webpack): prefer esbuild over babel-loader for dev config
* build(babel): turn off cache compression to improve build performance
* build(webpack): get production builds working
* build(webpack): remove phantomJS (removed from grafana in v7) specific loader
* build(webpack): put back babel for dev builds no performance gain in using esbuild in webpack
* build(webpack): prefer terser and optimise css plugins for prod. slower but smaller bundles
* build(webpack): clean up redundant code. inform postcss about node_modules
* build(webpack): remove deprecation warnings flag
* build(webpack): bump packages, dev performance optimisations, attempt to get hot working
* chore(storybook): use webpack 5 for dev and production builds
* build(storybook): speed up dev build
* chore(yarn): refresh lock file
* chore(webpack): bump webpack and related deps to latest
* refactor(webpack): put back inline-source-map, move start scripts out of grafana toolkit
* feat(webpack): prefer react-refresh over react-hot-loader
* build(webpack): update webpack.hot to use react-refresh
* chore: remove react-hot-loader from codebase
* refactor(queryeditorrow): fix circular dependency causing react-fast-refresh errors
* revert(webpack): remove stats.errorDetails from common config
* build(webpack): bump to v5 and successful yarn start compilation
* build(webpack): update postcss dependencies
* build(webpack): silence warnings about hash renamed to fullhash
* build(webpack): enable persistent cache to store generated webpack modules / chunks
* build(webpack): prefer eslintWebpackPlugin over tschecker so eslint doesn't block typechecking
* chore(yarn): run yarn-deduplicate to clean up dependencies
* chore(yarn): refresh lock file after clean install
* build(webpack): prefer output.clean over CleanWebpackPlugin
* build(webpack): prefer esbuild over babel-loader for dev config
* build(babel): turn off cache compression to improve build performance
* build(webpack): get production builds working
* build(webpack): remove phantomJS (removed from grafana in v7) specific loader
* build(webpack): put back babel for dev builds no performance gain in using esbuild in webpack
* build(webpack): prefer terser and optimise css plugins for prod. slower but smaller bundles
* build(webpack): clean up redundant code. inform postcss about node_modules
* build(webpack): remove deprecation warnings flag
* build(webpack): bump packages, dev performance optimisations, attempt to get hot working
* chore(storybook): use webpack 5 for dev and production builds
* build(storybook): speed up dev build
* chore(yarn): refresh lock file
* chore(webpack): bump webpack and related deps to latest
* refactor(webpack): put back inline-source-map, move start scripts out of grafana toolkit
* feat(webpack): prefer react-refresh over react-hot-loader
* build(webpack): update webpack.hot to use react-refresh
* chore: remove react-hot-loader from codebase
* refactor(queryeditorrow): fix circular dependency causing react-fast-refresh errors
* revert(webpack): remove stats.errorDetails from common config
* revert(webpack): remove include from babel-loader so symlinks (enterprise) work as before
* refactor(webpack): fix deprecation warnings in prod builds
* fix(storybook): fix failing builds due to replacing css-optimise webpack plugin
* fix(storybook): use raw-loader for svg icons
* build(webpack): fix dev script colors error
* chore(webpack): bump css-loader and react-refresh-webpack-plugin to latest versions
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Sidemenu: Attempt to refactor BottomNavLinks to use SideMenuDropDown
* BottomNavLinks: Rewrite existing enzyme tests in RTL
* BottomNavLinks: Use object spreading instead of slicing
* refaactor: extract the tab labels into a const
* feat: list - show signature badge for enterprise plugins as well
* feat(plugins): add a component for showing plugin signature details
* feat: add a component for showing signature info under details
* feat: add a component for displaying signature info in details header
* feat: extract the plugin details header into a separate component
* feat: show signature information on the plugins details page
* refactor(Plugins): use an enum instead of an object
* refactor(Plugins): use more strict typing for tabs
* refactor(Plugins): use function declaration instead of fat-arrow for components
* fix(Plugins): fix typo
* fix: make installed plugin config an optional param again
* refactor: cache plugin meta requests
* refactor: move PLUGIN_TAB_LABELS to the types module
* export datetimepicker
* minor fixes to the datetime picker
* correct datetime to picker
* move datetime calc to function
* set maxDate
* set maxDate
* wrap in useCallback
* TimeSeries: Use graph min/max as baseis for percentage threshold calculation.
* respect hard and soft axis limits for % threshold steps
* revert state-timeline changes
* enable by-threshold coloring in histogram and barchart
* revert yMin
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* outline string to time
add stringToTime transformer
start to add format
add type and dateformat
rename stringToTime to fieldConversion
add more type support and use FieldNamePicker
add field conversion transformation
* adjust for performance feedback
rename and adjust labels and widths
shorten labels and null values
rename to convertFieldType
update test
* make updates
* Allow grid lines visibility control to XYChart and TimeSeries
* Move grid lines config to field config (axis)
* Fix merge
* Auto grid mode
* Fix ts
* Align naming
* Update packages/grafana-ui/src/components/uPlot/config/UPlotConfigBuilder.test.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update packages/grafana-ui/src/components/uPlot/config/UPlotConfigBuilder.test.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* remove 'grid' from props diff array since field.config.custom.* is handled by structureRev diffing
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Loki: add tests for addAdHocFilters
* Change description of test
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Replace ADD_FILTER with "=" operator in test description
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Loki: refafctor test for addAdHocFilter
* Loki: refactor tests for better readability
* Remove comments
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Jaeger: add empty callback to QueryField onBlur to stop query from being run twice
* Jaeger: add wait call on 500ms to accomodate for debouncing by the QueryField component
* SideMenuDropDown: Refactor to be more component-ey + rewrite tests in RTL
* SideMenuDropDown: Rename childLinks -> items
* Rename mockChildLinks -> mockItems as well
* new warning and success color in light theme, slight tweak to primary text
* changed hover opacity to the same as focues opacity
* Updated generated files
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Relocate dashboard scuemata to grafana-schema
* Update assorted tests, vars with dashboard path
* Remove crufty commented var
* Not sure...why that failed
* Remove prefix from base dashboard path var
* Move cue/ui remnants into grafana-schema
* Update import paths in plugin models
* Remove mudball, add package statements
* Remove cuegen.sh
Wooooo we ain't got no codegen
* Revert "Remove mudball, add package statements"
This reverts commit 9bed3098f1.
* Tidy up all the cue files
* Move dashboard scuemata into scuemata/ subdir
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Jaeger: add QueryField component
* Remove unused imports
* Fix e2e test so that it checks for QueryField component
* Remove comments
* Fix failing e2e test
* QueryEditor: Don't use _.defaults as it mutates the query prop directly
* QueryEditor: Update the query type on mount if none exists
* QueryEditor: Mutate in the constructor instead of render
* Apply defaults immutably in render
* new warning and success color in light theme, slight tweak to primary text
* Update generated light theme scss
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Annotation Panel: Fix annotation with end time not being centered
* Update public/app/plugins/panel/annolist/AnnoListPanel.tsx
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.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
* Add Tempo search behind feature flag
* Add query fields for Tempo search
* Only show loki search if a logs-to-traces datasource is set up
* Refactor tempo search to use separate fields for service name, span name, and tags
* Add tests to buildSearchQuery
* Move search to separate component and rename type to native search
* Improve Tempo tokenizer syntax
* Postgres: For template queries return [] and not error
* remove the console error
* update mssql and mysql
Co-authored-by: Ying WANG <ying.wang@grafana.com>
* State timeline: fix mem leak caused by excessive plot re-init
* Update PlotTooltipInterpolator type
* Do not reference config object in the setCursor hook
* fix excessive BarChart re-init caused by shallow diff of text config
* one less error
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Add filter parsing to rule list filters
* Add unit tests for label parsing
* Make label operators an enum
* add example for parsing function
* Update labels operator regex
* Use tooltip for query syntax example
* refactor to use Matchers for filtering
* wip: initial alertmanager notifications panel
* Panel for alertmanager notificaitons
* add filtering for notifications list
* remove icon
* rename am notifications to alert groups
* naming fixes
* Feature toggle
* Add toggle for expand all
* add pluralize
* add action buttons
* test work in progress
* Tests for alert groups panel
* Add useEffect for expandAll prop change
* Set panel to alpha state
* Fix colors
* fix polling interval callback
Co-authored-by: Domas <domas.lapinskas@grafana.com>
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* Alerting: update matchers field operators to Select
* Add matcher field to routes
* fix default values
* min-width for matcher operator
* dry up matcher field options
* change MatcherField name to MatcherValue