* 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 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
* Fixes wrong annotation when opening dashboard with URL encoded variable
Co-authored-by: Ashley Harrison, Hugo Haggmark, and Tobias Skarhed.
* added a more descriptive comment
* Pass Access info to datasourceInstance
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Type access as direct | proxy
* Fix tests where mocking datasourceInstance, include access
* Pass access to data source instance mocks
* Update comment
* Pass access to data source instance mocks
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* feat(catalog): lazy load and add alt text to plugin logos
* refactor(catalog): use plugin types, make sure data is available for new ui
* test(catalog): fix up tests after types refactor
* feat(catalog): introduce Tile and PluginBadge components for ui updates
* refactor(catalog): update PluginList to use new components, lazy load images, add creditcard icon
* test(catalog): update Browse.test types
* fix(catalog): if local and remote make sure to get the correct local plugin from array
* refactor(catalog): prefer grafana/ui components over custom Tile component
* chore(catalog): delete redundant components
* feat(catalog): introduce ascending descending name sort for Browse
* refactor(catalog): prefer theme spacing over hardcoded values
* refactor(catalog): update Local and Remote plugin types to match api responses
* fix(catalog): prefer local.hasUpdate and local.signature so updateable plugin signature is valid
* test(catalog): update test plugin mocks
* test(catalog): add tests for sorting and categorise
* test(catalog): add tests for plugin cards, remove grid component
* test(catalog): add tests for PluginBadges component
* refactor(catalog): change enterprise learn more link to open plugin page on website
* simplify toggle + add link to server admin
* feat(catalog): org admins can configure plugin apps, cannot install/uninstall plugins
* fix(catalog): dont show buttons if user doesn't have install permissions
* feat(catalog): cater for accessing catalog via /plugins and /admin/plugins
* feat(catalog): use location for list links and match.url to define breadcrumb links
* test(catalog): mock isGrafanaAdmin for PluginDetails tests
* test(catalog): preserve default bootdata in PluginDetails mock
* refactor(catalog): move orgAdmin check out of state and make easier to reason with
Co-authored-by: Will Browne <will.browne@grafana.com>
* feat(catalog): introduce additive filters for plugin type, installed status and search
* feat(catalog): prefer FilterInput over custom styled search field
* feat(catalog): update Browse page to use new search, filter features
* refactor(catalog): keep filters with usePluginsByFilter hook
* test(catalog): update tests to reflect new filtering and searching
* refactor(catalog): rearrange filterByType radio buttons
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* feat(catalog): ntroduce css for responsive filter layout
* refactor(catalog): introduce pluginfilter type and give filter methods better names
* fix(catalog): default q param to empty string so FiterInput doesn't show clear button on load
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
* Add tests to rule list for filtering
* add additional test for testing alert instances filtering
* Use tooltip for query syntax example
* refactor to use Matchers for filtering
* Update docs for label filtering on rules list
* style fixes
* Chore: Fix TypeScript strict errors with components using connect
* Chore: More TypeScript fixes
* Chore: Update strict check values
* Still need to export these types...
* Declare connector at the top of the file
* Careful with find and replace...
* feat(catalog): introduce PluginDetailsBody component and useLoadPluginConfig hook
* feat(catalog): use PluginDetailsBody and useLoadPluginConfig hook in PluginDetails
* feat(catalog): introduce usePluginDetails hook to handle PluginDetails state
* feat(catalog): wire usePluginDetails hook to PluginDetails and InstallControls
* refactor(catalog): fix typescript errors related to usePluginDetails hook
* chore(catalog): update types for PluginDetailsActions
* dedupe folder option for existing grafana rules
* update test mocks
* change toggle to chevron for expanding error state ui
* fix some strict lint errors
* adding some structure to combine the local and remote into one type.
* feat(catalog): map local and remote responses to catalog plugin
* feat(catalog): render CatalogPlugins in list
* refactor(catalog): update usePluginsByFilter to work with new data structure
* refactor(catalog): move helper functions into helpers file. delete redundent usePlugins hook
* feat(catalog): create CatalogPluginDetails and pass to PluginDetails
* feat(catalog): update types and components for plugin installation
* chore(catalog): comment so not to forget to move code out of api layer
* fix(catalog): make sure all filter shows gcom and installed
* fix(catalog): fix up getCatalogPlugin logic for only locally available plugins
* refactor(catalog): create getCatalogPluginDetails helper. Move usage to hook
* revert(catalog): put back small logos in PluginList
* revert(catalog): put back small logo for PluginDetails page
* fix(catalog): prevent useDebounce from triggering when SearchField mounts
* chore(catalog): add coment explaining reason for usedebouncewithoutfirstrender
* refactor(catalog): replace reduce with filter to remove duplicate array of all plugins
* refactor(catalog): update types for useDebounceWithoutFirstRender
* chore(catalog): remove commented out import
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* DashboardSrv: Remove ngInject + promiseToDigest wrapper
* NavModelSrv: Remove ngInject that is doing nothing
* DashboardSrv: Use getBackendSrv instead of just importing the backendSrv directly
* Add landmark markup
* Make panel titles h2
* Descibe panel landmarks
* Add nav elements and heading 1
* Reset line height and remove margin
* Make focus styles visible
* Change nav to section
* Add desc
* Fix focus styles cutoff
* Add prettifyLogMessage to select components in test file
* Change entry depending on the value of prettifyLogMessage
* Add prettifyLogMessage to state
* Fix merge conflict
* Fixe bug where the log message wasn't parsed as JSON
* Implement function to restructure all logs
* Change elstic image version back to 7.7.1
* Add showCommonLabels that was missing
* Remove comment
* Put import of getParser together with the other imports
* Logs: fix bug where message isn't restructured if it contains ANSI code
* Logs: change label for switch to Restructure
* Remove unnecessary file
* Logs: added divider before switch component
* Add dividers between the different log options
* Remove unintentional changes
* Explore: remove dividers in log settings
* Explore: refactor for LogRowMessage for better readability
* remove unnecessary change
* Logs: fix bug where logs aren't restructured if they have highlights
* Logs: minor refactoring
* Logs: use memoizeOne to prevent parsing on every re-render
* Logs: calculate needsHilight inside renderLogMessage instead of outside
* Logs: fix bug where logs aren't prettified when wrap logs is disabled
* Explore: change name to prettify
* Remove console.log
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Dashboards: add switch to prettify log messages to the Logs fields
* Logs: make prettify only work for JSON logs
* Logs: fix bug with tests for logs
* Update public/app/plugins/panel/logs/module.tsx
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* ValueMappings: Force overflowing modal content to scroll
* ValueMappings: Update unit tests
* Select: Portal Select to document.body, close menu on scroll
* Select: Fix tests + apply updates from https://github.com/grafana/grafana/pull/32833
* ValueMappingsEditorModal: Revert to using selectEvent in the tests
* Select: Fix remaining unit tests
* Portal: Rewrite Portal as a functional component so we can use useTheme2
* Modal: Remove modal styles from this PR
* Update E2E tests
* More unit test fixes
* Select: Fix remaining E2E tests
* Select: Create util method to select an option in tests
* Explore: quick fix for page title
* Explore: update page title in componentDidUpdate with info about the current datasources
* Explore: change tests to incorporate the new page title
* Explore: remove updatePageDocumentTitle since the recent changes replace it
* initial steps for config from data
* Moving to core and separate transforms
* Progress
* Rows to fields are starting to work
* Config from query transform working
* UI progress
* More scenarios working
* Update public/app/core/components/TransformersUI/rowsToFields/rowsToFields.ts
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* transform all
* Refactor
* UI starting to work
* Add matcher UI to transform
* Apply to self
* Adding a reducer option
* Value mapping via new all values reducer
* value mappings workg add -A
* Minor changes
* Improving UI and adding test dashboards
* RowsToFieldsTransformerEditor tests
* Added tests for FieldToConfigMapping Editor
* Added test for ConfigFromQueryTransformerEditor
* Minor UI tweaks
* Added missing test
* Added label extraction
* unified mapping
* Progress refactoring
* Updates
* UI tweaks
* Rename
* Updates
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This would result in a `Dashboard init failed` error when migrating
dashboards with a folded panel that has a `fieldConfig` but has not
defined `fieldConfig.defaults`.
* Adding plugin state feature to transforms
* initial help box
* New HelpBox component
* More progress
* Testing
* Removing HelpBox, simple new design, new active state for OperationRowAction
* Updated tests
* Fixed typing issue
* Removed AlphaNotice
* Made focus and enter key trigger OnClick and sorted transformations
* Fixed e2e tests
* Tracing: add way to configure trace to logs start and end time
* Use the span's time by default
* Update docs
* Update time inputs to use strings instead of number
* Support negative values as well
* Add info about using negative value
* Don't round up Loki range
* Update docs/sources/datasources/jaeger.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Wording for doc
* Round adjusted start and end time
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* displaying enterprise plugins in the list.
* added place holder for tests and removed unused code.
* added test for the browse page.
* added empty test file.
* added some more tests.
* Replace analytics service with Echo backend
* Add Rudderstack integration and general pageview and interaction Echo events
* Update conf/defaults.ini
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update packages/grafana-runtime/src/types/analytics.ts
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update conf/defaults.ini
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update tests
* Force cla check
Co-authored-by: Dan Cech <dcech@grafana.com>
* moved the plugins admin to core and used the plugins toggle to decide which version to use.
* reverted change.
* changed so the library tab is the default one.
* fixing navigation.
#
* fixed so we have the proper header.
* including the core plugins
* fixed so we display logos for local plugins.
* fixed so we have a working version of plugin catalog.
* removed console logs.
* reverted changes.
* fixing failed test.
* Improve error handling for error messages
The error message will be read from error object from the following properties in the following order:
- message
- data.message
- statusText
* Convert api/ds/query errors to TestingStatus
SQL datasources (mysql, mssql, postgres) and CloudWatch use api/ds/query to test the data source, but previously didn't handle errors returned by this endpoint. If the error cannot be handled it's re-thrown to be handled in public/app/features/datasources/state/actions.ts
* Use async/await instead of Promises
* Remove incorrect type import
TestingStatus is in app/types. Should be pulled down to grafana/data but it depends on HealthCheckResultDetails that is public and lives in grafana/runtime. Ideally TestingStatus should live in grafana/data but I'm not sure if HealthCheckResultDetails can be move there too (?)
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
* Handle errors with no details in toTestingStatus instead of re-throwing
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* First stab on UI for adding annotations in time series panel
* Extend panel context with annotations api
* Annotations editor UI & CRUD
* Prevent annotation markers to overflow uPlot canvas
* Do not overflow graphing area with region annotations
* Align annotation id type
* Fix exemplar markers positioning
* Use clipping region rather than adjusting annotation region bounds
* Smaller icons
* Improve annotation tooltip and editor auto positioning, reorg code
* Renames
* Enable annotations ctx menu only when adding annotations is allowed
* Wrap setSelect hooks diring init hook
* Use TagFilter instead of TagsInput
* Add id to annotation events
* Add support for cmd+click for adding point annotations
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Add alertmanager notifications tab
* Link to silences page from am alert
* Include summary for alertmanager group
* Fix colors for am state
* Add horizontal dividing line
* PR feedback
* Add basic unit test for alert notificaitons
* Rename Notificaitons component file
* Polling interval to groups
* Add alertmanager notifications tab
* Link to silences page from am alert
* Include summary for alertmanager group
* PR feedback
* Add basic unit test for alert notificaitons
* Rename Notificaitons component file
* Alerting: make alertmanager notifications view responsive (#36067)
* refac DynamicTableWithGuidelines
* more responsiveness fixes
* Add more to tests
* Add loading and alert state for notifications
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* DashboardPage: Refactoring state handling to improve performance and fix bugs with state out of sync
* Fixed exit panel editor timing issues
* New tests in RTL
* Updated comment
* Removed unused imports
* TimeSeries: Adds support for color scheme series and line colors
* Updates
* fixed device issue
* Evaluate series color in legend
* two fixes
* It works with points
* Added test dashboard
* Minor fix
* Reset color mode to palette when switching to panel that supports by series mode
* Add support for relative thresholds
* Updated snapshots
* Annotations: create React component, naive attempt at hooking together
* Annotations: Use query object instead of passing annotation
* Annotations: Hook up the new api to get annotation tags
* Annotations: Use InlineFieldRow instead of gf-form-inline
* Annotations: Use InlineSwitch instead of gf-form-switch
* TagFilter: Add support for allowCustomValue
* Annotations: Update to match backend api
* Annotations: Add basic tests, expose inputId on `TagFilter`
* Annotations: Fix test name and reorder tests slightly
* Annotations: Use FieldSet instead of gf-form-group
* Refactor: fixes annotation queries
* Annotations: Everything working, just types to fix...
* Annotations: Fix types?
* Revert "Annotations: Fix types?"
This reverts commit 6df0cae0c9.
* Annotations: Fix types again?
* Annotations: Remove old angular code
* Annotations: Fix unit tests for AnnotationQueryEditor
* Annotations: Check if it's an annotation query immediately
* Annotations: Prevent TagFilter overflowing container when there are a large number of tags
* Change to new form styles
* Annotations: Add id's + fix unit tests
* Updated wording
* Annotations: Allow custom value to preserve being able to use template variables
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Dashboard: invert invalid date ranges from URL
* Dashboard: discard invalid date ranges from inputs
* Dashboard: move time range reset
* Dashboard: simplify undefined dashboard verification
* Dashboard: show form error on invalid date range
* Dashboard: rename function to isRangeInvalid
* Dashboard: refactor invalid check functions
* Dashboard: different error messages for date picker
* Dashboard: add date tests to TimeRangeForm
* Improve title and documentation for share shortened link in Explore
* Update docs/sources/explore/_index.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* 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>
* added tests for changePassword and forgotPassword component
* added tests for ChangePassword screen in user profile section
* addressed review changes
* 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>
* Remove some props since they are already inferred from mapStateToProps
* Remove empty interface
* Refactor TableContainer component
* Did some small re-namings
* add back only re-render dashboard first time on layout change
* remove panel refs
* Updates
* Improved is in view logic
* Updates
* Remove unnessary auto sizer
* Found another approach that works with resize as well
* Updates
* fixing test
* Fixing ref issues
* Fixed mobile size handling, and view panel handling, removed now unnessary logic
* Updated snapshot
* Explore: props automatically inferred from mapStateToProps
* Remove props that that wasn't removed in last commit
* Remove unused imports
* Add correct properties to test function
* Remove final props from ExploreProps
* Explore: refactor ExploreQueryInspector.tsx to inferr props via mapStateToProps
* Explore: refactor ExploreToolbar.tsx to infere props from mapStateToProps
* feat(dashboard): introduce selector with fallback for unknown plugin
* refactor(dashboard): replace redux connect with redux hooks
* fix(dashboard): add a fallback for vizpicker when a panel plugin cannot be found
* feat(dashboard): add an icon for fallback plugins for vizpicker
* refactor(dashboard): prefer HOF selector
* Protect against missing overrides section
We are using grafonnet-lib to generate dashboards. These dashboards do
not contain any `override` keys in `fieldConfig` by default and that is
causing this DashboardMigrator script to blow up when trying to import
the dashboards, see [1]. In Grafana v7, an empty overrides is
automatically added but using grafonnet-lib, it isn't possible to set an
empty overrides attribute e.g. [2] requires matcher/properties to be
set. Setting to null ends up giving me [3], which causes the panel to
not be displayed.
[1]
```
initDashboard.ts:137 TypeError: t.overrides is not iterable
at v.w (DashboardMigrator.ts:960)
at v.updateSchema (DashboardMigrator.ts:672)
at D.updateSchema (DashboardModel.ts:993)
at new D (DashboardModel.ts:156)
at initDashboard.ts:134
```
[2]
https://github.com/grafana/grafonnet-lib/blob/master/grafonnet/stat_panel.libsonnet#L150-L164
[3]
```
"fieldConfig": {
"defaults": {
"links": [ ],
"mappings": [ ],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "orange",
"value": 1
},
{
"color": "green",
"value": 3
}
]
},
"unit": "none"
},
"overrides": [
{ }
]
},
```
* Update public/app/features/dashboard/state/DashboardMigrator.ts
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Trigger DashboardPanelsChangedEvent from InspectJSONTab if the panel.gridPos changed and if the dashboard needs to re-render, if yes we will that will update the positioning
* Minor cleanup
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Add Panel: fixes No gap between rows in safari
* removes extra margin from bottom and far right
* fixes frontend test
* make add panel actions accessible and rewrite test using RTL
* Migrate singlestat value mappings to new value mappings
* Update public/app/features/dashboard/state/DashboardMigrator.ts
* Update migration to produce single value map
* handle the case where refresh_intervals === null + add unit test
* have a clean _dashboard for each test
* modify check to see if refresh_intervals is an array
* fix(card): defend against invalid elements types passed to BaseActions
* test(card): add test to support conditional buttons being passed in
* fix(playlistpage): remove disabled prop from LinkButton for editors
* chore(playlistpage): remove title from edit button
* Annotations: Fix for update/save/delete annotation not appearing/disappearing
* Annotations: Fix so adds, updates and deletes are shown correctly
* Chore: updates after PR comments
* UnsavedChanges: Move Change tracker to use Prompt
* Fix a lot of race conditions and stacking of changes in onConfirm and onDismiss
* Listen to save event
* add missing delay argument
* migrated the change tracker unit tests
* Updated snapshot
* Removed unessary action
* removed updateSourcePanel
* Fix hiding save library panel modal prompt when clicking discard
* change saved libray panel title and buttons so they are a bit different as Prompt and when used from save button
* Fixed issue with saving new dashboard
* Now all scenarios work
* increase wait time
* Fixed one more race condition
* Dashboard: Fix Table view when editing causes the panel data to not update
- Add event subscription on PanelEditorTableView
- Extract runAllPanelQueries into Panel Model in order to use it on PanelChrome and PanelEditorTableView
- Add simple unit test for runAllQueryPaneQueries
* Switch to GraphNG for Logs Histogram
* Remove redundant timeZone
It was used just to format timestamp in the tooltip but it's not needed anymore.
* Add tests for creating logs histogram data
* Update decoractors tests
* Adjust bar width to be more like in the old graph
* Fix tooltip pointer color
* Test tooltip pointer color
* Decouple graph config from uPlot internals
* Ensure nested properties are not mutated when overrides are applied
* Add legend toggling for Explore graphs
* Remove unused component
ExploreGraphNGPanel is now used in Explore
* Code formatting
* allow multiple bars pathBuilders to be globally cached with different settings
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Docs: Settings updates on runtime docs skeleton
* Docs: Settings HTTP API
* Docs: Minor changes on settings updates at runtime docs
* Docs: Settings updates at runtime description
* Docs: Minor fix
* Docs: Move PUT /api/admin/settings docs into Admin API page
* Docs: Added longer explanation into 'Settings updates at runtime' page
* Apply suggestions from code review
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
* Docs: Include order of precedence description at settings updates page
* Update docs/sources/http_api/admin.md
* Docs: Add link to main configuration page from Settings updates at runtime
* Apply suggestions from code review
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Threema Gateway supports two types of IDs: Basic IDs (where the
encryption is managed by the API server) and End-to-End IDs (where the
keys are managed by the user).
This plugin currently does not support End-to-End IDs (since it's much
more complex to implement, because the encryption needs to happen
locally). Add a few clarifications to the UI.
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
this should help Live to be enabled by default but still
do not affect setups with lots of simultenious users. To
properly handle many WS connections Grafana administrators
should tune infrastructure a bit - for example increase a
number of open files for a process. Will be in more details
in documentation.
* fix(dashboardpage): add padding so add panel chrome isnt cut off
* fix(addpanelwidget): introduce wrapping element to cater for pulsate animation offset
* refactor(addpanelwidget): use spacing.xs rather than spacing.sm
* test(addpanelwidget): update snapshot
* Show node graph collapsed by default with trace view
* Fix rename variable
* Change the message
* Add test
* Fix e2e test
* Remove expect in exemplars test
* Align icon
* review fixes
* fix(pagetoolbar): pad elements top and bottom to keep vertical align and wrapper padding
* fix(sidemenu): prevent mobile sidemenu squashing dashboard, vertically align mobile sidemenu icon
* fix(dashboardsettings): prevent subheader overlap
* fix(pagetoolbar): center align all toolbar elements vertically
* refactor(pagetoolbar): combine vertical paddings to bring back original padding values
* refactor: update padding values for components that use PageToolbar
* fix(playlists): update Empty cta link route to prevent 404
* test(dashboard): update snapshot
* starting to add eval logic.
* wip
* first version of test rule.
* reverted file.
* add info colum to result to show error or (with CC evalmatches)
* fix labels in evalmatch
* fix be test
* refactored using observables.
* moved widht/height div to outside panel rendere.
* adding docs api level.
* adding container styles to error div.
* increasing size of preview.
Co-authored-by: kyle <kyle@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>
* Invoke setScrollTop callback only after scrolling finishes
When the state is updated while scroll events are being dispatched (like in QueryGroup) it may cause resetting the scroll position to the first emitted event because setting the scroll happens only after render (useEffect).
* Memoize onScrollStop callback
* Allow Route component usage in app plugins
* i tried
* fix catalog app
* fix catalog app
* remove catalog changes from this PR
* remove extra files
* feat(plugins): expose react-router to plugins rather than export via grafana-ui
* Bring back query and pathname to AppRootPage and add deprecation notice
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>