* 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>
* Transformation: show message if not applied on single frame
* Use FieldValidationMessage component instead
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* 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>
* 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 common labels to Logs panel
* Clean up and add tests
* Update documentation
* Update public/app/plugins/panel/logs/LogsPanel.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Fix type error
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* added tests for SignupPage component
* added tests for VerifyEmailPage component
* addressed review changes
* removed id for button and followed consistent id naming pattern
* Dashboard: Allow more than 26 queries per panel.
Fixes#4978
* Chore: Remove underscores from helper function names
Co-authored-by: Danyal Fairburn <danyal.fairburn@bt.com>
* Update the mobile view. Change login wrapper justify-content to flex-start. Make the logo and title smaller. Prevent alert-list from overflowing the screen. Increase the footer items line-height.
* Use already existed media-query and set mobile styles as default
* Update changes based on V8 changes
* Revert footer bottom spacer.
* 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>
* Security: Update default content_security_policy_template
- Add 'strict-dynamic' back to script-src
- Add ws(s)://$ROOT_PATH to connect-src
- Change onEvent to on-event in angular templates to fix CSP issues in firefox.
- Add blob: to style-src
* 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>
* 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.
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
* Store queries that were run to get log results
* Fix typing
* Update public/app/features/explore/Logs.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Add changes based on feedback
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Theme: Page styles move to emotion global styles and design tweaks
* More style tweaks
* tweaks
* Updating snapshots
* Another fix
* Another fix
* minor fix
* More style tweaks to page toolbar and alert rule page
* minor polish
* 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
* WIP updating getColorForTheme
* Progress
* More fixes
* Updating more parts
* Fixing unit tests
* Fixing more tests
* Fixing storybook issues
* More refactoring
* Fixed test
* chore: expose theme types / functions
* fix(grafana-ui): withTheme2 extends themeable2
* feat: migrate page components to use new theme
* refactor(pages): replace legacy form components with latest form components
* refactor(dashboardimport): update page component to use theme spacing
* refactor(alerting-ng): update page component to use v2 theme
* test(dashboardpage): update test for v2 theme
* test(apikeyspage): update test to select InlineSwitch component
* test(createteam): update snapshot
* refactor(playlist): update page components to use v2 theme
* refactor(page): put back classes on page-container and background colors
* 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>
* Wip
* Updates to colors to make secondary outline work
* refactor: prefer buttonStyle="text" over variant="link" for text buttons
* revert(button): put back mdx story page
* fix(button): variant link disabled as text disabled
* docs(button): remove link variant from stories
* feat(grafana-ui): introduce basic deprecation notice for button and linkbutton components
* docs(button): update usage of href with button and buttonlink
* feat(button): add grafana/ui to deprecation warning
* refactor(buttons): use a more descriptive name for prop warning function
* test(buttonrow): update snapshots
* refactor(buttons): change prop name from buttonStyle to fill
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* refactor(loginpage): migrate custom button styles to use Button component
* refactor(certificationkey): prefer grafana-ui form elements over html elements and classnames
* refactor(axisselector): prefer grafana-ui Button component over html button element
* refactor(input-datasource): replace use of btn class with grafana-ui components
* chore(grafana-ui): delete deprecated ToggleButtonGroup component
* refactor: replace btn and cta-form__close class usage with IconButton
* chore(closebutton): post master merge use v2 theme
* refactor(permissionlist): remove usage of .btn classname
* Wip
* docs(styling): update styling and theme docs import paths
* refactor(alerting): remote btn classnames from TestRuleResult
* refactor(apikeys): prefer grafana-ui Button components over btn classNames
* refactor(folders): prefer grafana-ui Button components over btn classNames
* refactor(teams): prefer grafana-ui Button components over btn classNames
* refactor(datasources): prefer grafana-ui Button components over btn classNames
* refactor: prefer grafana-ui Button components over btn classNames
* Minor style tweak to service buttons
* test: update snapshots related to button changes
* chore(input-datasource): remove unused import declaration
* refactor(loginservicebuttons): rename theme.palette to theme.colors
Co-authored-by: Torkel Ödegaard <torkel@grafana.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
* WIP: Add more info ro log line limit, remove redundant info
* Refactor
* Clean up
* Adjust tests
* Adjust spacing
* Add test for new functionality
* Update snapshot
* Change solution, simplify
* Remove redundant variables, makees it more clear
* Update public/app/core/logs_model.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.
* Remove unnecessary _ import from Graph component
* Enforce lodash import style
* Fix remaining lodash imports
* outside react approach
* fixed ts issues and updated radio button
* css only solution
* Removed a bit
* Updated radio button design and fixed focus state on ToolbarButton
* Fixes
* Added missing fullWidth
* 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()
* Chore: reduces strict error in OptionPicker tests
* Chore: reduces strict errors in FormDropdownCtrl
* Chore: reduces has no initializer and is not definitely assigned in the constructor errors
* Chore: reduces has no initializer and is not definitely assigned in the constructor errors
* Chore: lowers strict count limit
* Tests: updates snapshots
* Tests: updates snapshots
* Chore: updates after PR comments
* Refactor: removes throw and changes signature for DashboardSrv.getCurrent
* Testing inter font
* new fonts and global styles
* Added Typography component and storybook
* Moving more global legacy types to emotion global styles
* Updated snapshot
* mapp bold to 500
* Updates
* Fixes and moved html & body styles to emotion
* moved helper function down
* Updated snapshot
* More tweaks
* Updates
* added internal tag
* Updated snapshot
* Theming: Updates to select styles and theme model progress
* Progress
* Update menu
* Updated menu group
* Improving button styles
* Added transitions to theme
* solving the hover & selected, focus issues
* Updated snapshot
* adding some colors from figma, but waiting to use them as not enough components use new layer colors
* Updates
* Updates
* Progress
* Renames
* Improvements to theme overview
* updated test
* demo update
* More new theme colors
* Wip new card styles
* Card tweaks hover is not working
* Updates more colors from figma
* Progress
* Progress
* Updated radio button styles
* Progress on new colors
* Progress
* New page toolbar and toolbar button design
* New toolbar button design
* Reverted to older toolbar and button look
* Updated snapshot
* Updated generated files
* Updated design
* Updates
* Added card hover
* Fixed button group
* Updates
* Remove singlestat panel from the codebase
* Automatically migrate deprecated panels
* Migrate singlestat to stat when initializing panel
* Singlestat -> gauge detection
* Missing await
* Throw error when panel plugin not found and allow new panels to take names of the deprecated ones
* Make it pretty
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Ensure window origin to be stripped from url when using absolute urls
* Update test
* Make sure link interception works for external links
* Apply suggestions from code review
* Review
* FrontendMetrics: Adds new backend api that frontend can use to push frontend measurements and counters to prometheus
* FrontendMetrics: Adds new backend api that frontend can use to push frontend measurements and counters to prometheus
* Fix naming
* change to histogram
* Fixed go lint
* Initial commit
* Progress
* Update
* Progress
* updates
* Minor fix
* fixed ts issue
* fixed e2e tests
* More explorations
* Making progress
* Panel options and field options unified
* With nested categories
* Starting to find something
* fix paddings
* Progress
* Breakthrough ux layout
* Progress
* Updates
* New way of composing options with search
* added regex search
* Refactoring to react note tree
* Show overrides
* Adding overrides radio button support
* Added popular view
* Separate stat/gauge/bargauge options into value options and display options
* Initial work on getting library panels into viz picker flow
* Fixed issues switching to panel library panel
* Move search input put of LibraryPanelsView
* Changing design again to have content inside boxes
* Style updates
* Refactoring to fix scroll issue
* Option category naming
* Fixed FilterInput issue
* Updated snapshots
* Fix padding
* Updated viz picker design
* Unify library panel an viz picker card
* Updated card with delete action
* Major refactoring back to an object model instead of searching and filtering react node tree
* More refactoring
* Show option category in label when searching
* Nice logic for categories rendering when searching or when only child
* Make getSuggestions more lazy for DataLinksEditor
* Add missing repeat options and handle conditional options
* Prepping options category to be more flexibly and control state from outside
* Added option count to search result
* Minor style tweak
* Added button to close viz picker
* Rewrote overrides to enable searching overrides
* New search engine and tests
* Searching overrides works
* Hide radio buttons while searching
* Added angular options back
* Added memoize for all options so they are not rebuilt for every search key stroke
* Added back support for category counters
* Started unit test work
* Refactoring and base popular options list
* Initial update to e2e test, more coming to add e2e test for search features
* Minor fix
* Review updates
* Fixing category open states
* Unit test progress
* Do not show visualization list mode radio button if library panels is not enabled
* Use boolean
* More unit tests
* Increase library panels per page count and give search focus when switching list mode
* field config change test and search test
* Feedback updates
* Minor tweaks
* Minor refactorings
* More minimal override collapse state
* moved the datasource picker to grafana-runtime.
* fixed imports.
* added e2e selectors as an external package.
* adding react as external package.
* exposing dependent types for DataSourcePicker.
* added docs for ui components.
* moving component to components.
* Add revoked_at field to user auth token to allow soft revokes
* Allow soft token revocations
* Update token revocations and tests
* Return error info on revokedTokenErr
* Override session cookie only when no revokedErr nor API request
* Display modal on revoked token error
* Feedback: Refactor TokenRevokedModal to FC
* Add GetUserRevokedTokens into UserTokenService
* Backendsrv: adds tests and refactors soft token path
* Apply feedback
* Write redirect cookie on token revoked error
* Update TokenRevokedModal style
* Return meaningful error info
* Some UI changes
* Update backend_srv tests
* Minor style fix on backend_srv tests
* Replace deprecated method usage to publish events
* Fix backend_srv tests
* Apply suggestions from code review
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* Minor style fix after PR suggestion commit
* Apply suggestions from code review
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Prettier fixes
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Menu: refactor MenuItem and MenuGroup to be standalone component
* fixes small nits
* Chore: Refactored other components to correspond with the new Menu system (#31676)
* fixes affected components using Menu
* fixes affected components using Menu components
* fixes frontend test- I hope
* fixes frontend docs test- I hope
* fixes frontend docs test- I hope
* fixes frontend docs test- I hope
* fixes frontend docs test- I hope
* fixes frontend docs test- I hope
* added support for accessibility
* fixes frontend test- I hope
* Improve storybook story and simplify ButtonSelect
* Fixed broken graph context menu
* fixes frontend test- I hope
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* AzureMonitor: Remove anys from datasource to get the inferred type
* AzureMonitor: Cast some datasource types
TODO: we want proper types for these
* AzureMonitor: Initial react Metrics editor components
* start dimension fields
* replace replaceTemplateVariable with datasource.replace, and rename onQueryChange to onChange
* actually just do template variable replacement in the datasource
* don't use azureMonitorIsConfigured
* Refactors, mainly around the metric metadata
- Convert all the metric metadata options for the Select before its set into state
- Stop using SelectableValue because it's basically any when all the properties are optional
- the onChange function passed to the fields now just accepts the direct value, rather than wrapped in a SelectableValue
* added proper fields, and adding and removing for DimensionFields
* Update query with Dimension changes
* Width
* subscription and query type fields
* Should be feature complete now, more or less
* fix missing import
* fix lint issues
* set default subscription ID
* Starting to write some tests
* tests for query editor
* Remove subscription ID from the label in Metrics
But we keep it there for the angular stuff
* MetricsQueryEditor tests
* Update index.test.tsx
* fix tests
* add template variables to dropdowns
* clean up
* update tests
* Reorganise react components
* Group query fields into rows
* Rename Option type, add Azure response type
* Refactor Metrics metric metadata
- Types the Azure API
- Moves default metadata values into datasource
* nit
* update test
* Add router packages
* Get react app root work instead of Angular one
* Logger util
* Patch Angular routing ($routeProvider, $routeParamsProvider)
* Use react-router-dom history instead of separate dependency
* Add test routes
* Sidemenu - use Link instead of anchors
* Patch Angular $location service (stub)
* WIP: geting rid of $location provider from TimeSrv
* Intercept anchor clicks to use history under the hood
* Sync Redux location slice with history state
* Make login/logout work
* Debug routes for testing
* Make force login work
* Make sure query param change does not recreate page components
* Hide side menu in specified locations
* Make the dashboar route query parameters work, make panel edit menu work
* Enable more routes
* Fix side menu
* Handle view modes
* Disable playlist routes
* Make SafeDynamicImport work again
* Bring back router-debug
* Separate redux location sync from route rendering
* Refactor updateLocation to thunk and move force refresh(login) to it
* Fixing init dashboard issue
* Support switching between dashboards without an unmount of DashboardPage
* More fixes for init dashboard and panel edit
* More type fixes
* Moving angular location wrapper out of main LocationService, and fixing typescript issues
* Fixed last typescript errors
* LocationService: Move to runtime and remove getLocationService and export singleston const instead (#31523)
* Moving location service implementation to runtime and removing get function and making it a package const singleton
* Added test that used locationService directly
* removed unused import
* AngularApp: Moving angular dependencies and the app boot out of the main app into it's own file (#31525)
* Fixes angular panels by calling the monkey patch
* Moving angular stuff to to it's own files
* udpated
* Fixing clicking on divs and spans inside anchor
* Moving app notifications out of angular app and removing angular directive wrapper
* Moving search from angular to react and removing angular search wrapper
* Clean up, tried to remove the redux location wrapper but requires a big update for DashboardPage, so adding it back
* Moving AppWrapper to root to limit circular dependencies (app/core -> app/routing and back)
* Open and close search now works
* Hide sidemenu when in kiosk mode
* Restoring some keybindings like ESC key
* Removed kiosk events and simplified it, just handled through updating URL
* Fixing typescript errors
* Simplified GrafanaRouteComponentProps and renamed to ContainerProps
* renamed back
* Changed AlertRuleList to use GrafanaRouteComponentProps and location.search passed to it
* Removing the reloadOnSearch property, this is not needed now for react as react by default does not unmount components when only url match or query parmas change
* SafeDynamicImport causing unmount un every search update, not sure how to fix yet
* Fix signature for SafeDynamicImport so we do not create new route components on every route render
* Removing the redux location wrapper as it was causing errors, and making dashboard page work with RouteProps (location, match) etc
* Updating DashboardPage and SoloPanelPage to use match params and history location
* Fixed DashboardPage tests
* Fixing solo route tests
* LocationService: Rename getCurrentLocation to just getLocation
* do not intercept link clicks with target blank or self
* Experimental useUrlParams hook
* Update DataSourceSettingsPage to use router match params
* fix links with urls that have no starting / to work like before
* Fix forceLogin
* Add queryParams to GrafanaRouteComponentProps
* PanelEditor get rid of updateLocation and location state
* Improve grafana route query params typing
* Add getSearchObject to LocationService
* Use DashboardPAge queryParams instead of location.search parsing
* Fix DashboardPage typing
* Fix some tests weirdness
* Bring back KeyboardSrv
* Fixes typescript issues
* Team pages now use router match params
* Get rid of from GrafanaRouteComponent props
* Removed unnessary calls to getSearchObject when calling locationService.partial
* Updated DashboardPage tests after queryParams was added
* Fixing dashboard settings back
* GrafanaRoute: Adding tests and remove use of global locationService
* Fixing tests and typescript errors
* Bring back kiosk modes and add tests
* Fix TimeSrv tests
* Fix typecheck errors
* Fixing tests
* Updated SideMenu test to react-testing and wrapped component in Router, and fixed issue importing createMemoryHistory
* Get rid of routeChange event from TimeSrv from
* Fixed TopSectionItem test
* Trying to make basename work but failing
* Update TopSectionItem snapshot
* Fix TopSectionItem snapshot test
* Fix API keys creation
* Remove Angular dependencies from KeybindingSrv (#31617)
* Remove Angular dependency from KeybindingsSrv
* Fix tests and typecheck issues
* basename is starting to work
* Make dashboard save work
* KeybindingSrv: Remove as angular service and no usage angular scope
* So long bridge_srv, we won't miss you
* Update snapshots
* Dashboard: Refactoring ChangeTracker to use History api and no angular (#31653)
* Dashboard: Refactoring ChangeTracker to use History api and no angular
* Updated
* Removed logging
* fixed unit tests
* updated snapshots
* Mechanism for force reloading routes (#31683)
* e2e: Fixes various things in e2e scenarios after router migration (#31685)
* Explore: Update reading query params from router props and updating location via locationService (ReactRouter) (#31688)
* RoutingNG: Initial explore redux location to router location migration
* Updated explore Wrapper tests
* Fixing more tests
* remove loggin
* rename back to make naming consistent
* Fixing return to dashboard button
* fixing navigation to explore from dashboard
* updated routeProps
* Updated tests
* Make DashboardListPage work
* Fixing navigation after add new data source, and fixes explore e2e
* Fixing solo panel page
* PluginsPage now works
* RoutingNG: When parsing and rendering url search/query params preseve old logic of handling booleans and arrays (#31725)
* RoutingNG: When parsing and rendering url search/query params preserve old logic of handling booleans and arrays
* Fixed test
* Make snapshots list work
* fixed alert notification channel edit page
* Simplify LocationService, did not need special handling for login or forceLogin as target _self on link already handles that
* fixed UserAdminPage
* fixed edit orgs page
* Fixing LdapPage
* fixing dashboard import
* Fixed new folder page
* Fixed data source dashboards page
* fixing Folder permissions and folder settings page
* fixing snapshot list page nav model
* remove unused file
* Added placeholder page for playlist
* Moved browser compatability to index-template
* Restored 404/default page
* Fixed reset password page
* Fixed SignUpInvited page
* Fixing CreateTeam, Create user page, add panel widget
* Restore browwser file to make tests happy
* Fixed unit tests
* Removed unused import
* Replacing usage of updateLocation
* Fixed test
* Updating search filters to use history / location service for filters
* remove unused file
* AppRootPage fixed
* Fixing test and search issue
* Changes to support enterprise extensions
* remove console.log
* Removing more use of redux location
* Fixed signup page
* removed unused old angular controllers
* Fixing bugs
* one final bugfix
* Removed location from redux state
* Fixing ts issues and tests
* Fixing test issue
* fixing tests
* Fixing tests
* removed unused stuff
* Fixed search test
* Adding some doc comments
* Routing NG: Angular location provider patch (#31773)
* Patch Angulars $location provider
* Update public/app/angular/bridgeReactAngularRouting.ts
* Remove only test
* Update tests, disable loggers in test env
* Routing NG: remove $location provider usage (#31816)
* Remove dashboard_loaders
* Remove $location from Analytics service, track page views form GrafanaRoute
* Remove NotificationsEditCtrl
* Remove Angular dependencies from uploadDashboardDirective
* Update public/app/features/dashboard/containers/DashboardPage.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update public/app/features/dashboard/containers/DashboardPage.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Remove unused test helpers (#31831)
* Playlist react (#31829)
* playlist list in react
* Playlist start
* Things started to work
* Updated
* Handle empty list
* Fix ts
* Fixes and kiosk mode stuff
* Removed unused events
* fixing ts issue
* Another ts issue
* Fixing tests
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* fixed test
* Update public/app/AppWrapper.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Update public/app/AppWrapper.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Remove Angular dependency from DashboardLoaderSrv (#31863)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Admin: Keeps expired keys visible in table after delete
* Chore: covers component in tests before refactor
* Refactor: splitting up into smaller components
* Chore: fixes a small issue with the validation
* Chore: forgot to export type
* feat(dashboardsettings): migrate dashboard links EmptyListCTA to react
* feat(dashboardsettings): initial commit of links settings migration to react
* feat(dashboardsettings): add links form functionality
* refactor(dashboardsettings): separate out linksettings components and concerns
* Updates to links list
* Form improvements
* test(dashboardlinks): update links so tests run
* refactor: move _.move to arrayMove for testing purposes
* test(dashboardsettings): initial commit of link settings tests
* refactor(app): put back lodash move method for backwards compatibility
* test(dashboardsettings): add links settings tests
* style(dashboardsettings): camelcase constants
* chore(dashboardsettings): delete old angular links settings view
* fix(dashboardsettings): forceupdate links on submenuVisibilityChanged and correct imports
* chore: remove reference to old angular link settings components
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Prettier formatting
* Grafana-UI: Add support for id and inputId props to Select
* Grafana-UI: Add aria-label to Select
* Grafana-UI: InlineField and Field get ID from inputId prop
For Select
* Fix tests using TagFilter
* Update Select prop documentation
* Update Field tests to use screen instead
* Fix the last few tests
* feat(dashboard): initial commit of general settings migration to react
* fix(dashboardsettings): force update of general settings when selects change
* feat(dashboardsettings): initial commit of delete dashboard button and modal
* feat(dashboardsettings): introduce useDashboardDelete hook
* feat(dashboardsettings): add tags and editable inputs
* refactor(dashboardsettings): fix typescript error in general settings
* refactor(dashboardsettings): use grafana-ui form components for general settings
* refactor(dashboardsettings): use ConfirmModal and move provisioned modal to own component
* refactor(dashboardsettings): revertDashboardModal uses ConfirmModal
* test(autorefreshintervals): remove renderCount prop to fix test
* test(dashboardsettings): put back aria-label for e2e tests
* chore(dashboardsettings): remove redundant generl settings angular code
* test: change references to now deleted SettingsCtrl to GeneralSettings
* refactor(dashboardsettings): swap out switch for inlineswitch component
* chore(timepickersettings): remove timePickerSettings angular directive definition
* feat(dashboardsettings): add tooltips, fix description field name
* refactor(dashboardsettings): remove redundant await
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* refactor(usedashboarddelete): clean up
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
When the user session expires, and the 401 triggers a page reload to get the user to the login page, ChangeTracker will interfer. By setting the user as logged out in the context when the session is timed out, we can ignore the changes in ChangeTracker.
* Updated
* DataSourceSettings: Adds info box and link to Grafana Cloud
* Updated wording
* Less words
* use variables
* Fixing ts issues
* fixed import
* CustomScrollbar: migrated styles from sass to emotion
* fixes frontend test
* updated changes
* fixed page props and applied changes to all occurences
* moved the getStyles function to the bottom of the file
* made some changes
* fixed snapshot test
* Revert "Merge branch 'refactor-customscrollbar-30354' of https://github.com/grafana/grafana into refactor-customscrollbar-30354"
This reverts commit c45ee30b6b297991a1628e9b21c4121dc78e376c, reversing
changes made to d2645534e3.
* improved props name
* made use of theme variables for style consistency
* fixed snapshot test and updated some theme changes
* removed hover effects from customScrollbar style
* made some changes
* updated some changes
* added label to class names
* changed to a functional component and improved styling
* fixes snapshot test
* fixes small nit
* minor tweaks
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Fix query preview add tabs to options
* break out tabs to components
* add refresh button
* minor things after PR review
* hide queries
* Add simple error screen if there's an error
* dropdown with different frames
* move onrunqueries to redux
* cleanup
* show actual error
* refactor(dashboard): remove redundant directive code from SaveDashboardAsButton
* feat(dashboard): initial commit of rendering version history with react
* feat(dashboard): append versions, use historySrv, UI as functional components
* feat(dashboard): initial commit of versions settings diff view
* refactor(historylist): remove code related to listing versions
* refactor(dashboard): use angular directive to render version comparison
* refactor(dashboard): clean up versions settings
* refactor(dashboard): move version history UI components into own files
* refactor(dashboard): update typings for version history react components
* feat(dashboard): initial commit of react revert dashboard modal
* test(dashboardsettings): clean up historylistctrl tests
* chore(dashboardsettings): remove unused state variable
* test(dashboardsettings): initial commit of VersionSettings component tests
* feat(grafana-ui): add className concatenation on Checkbox label
* Apply suggestions from code review
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* test(dashboardsettings): add more tests for Versions Settings react component
* test(dashboardsettings): add test to assert latest badge in Version history table
* fix(dashboardsettings): pass string to getDiff instead of react event object
* test(dashboardsettings): remove failing test from versions settings
* Moved scroll area to content, and fixed colors
* Update public/app/features/dashboard/components/DashboardSettings/VersionsSettings.test.tsx
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* style(dashboardsettings): add new lines to versions settings tests
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Dashboard: Started migrating dashboard settings
* Restore general settings from angular
* Use react permissions component
* feat(dashboard): add react LinksSettings wrapper for dash-links-editor
* feat(dashboard): add react VersionsSettings wrapper for gf-dashboard-history
* refactor(dashboard): replace DashboardPermissions connectWithStore with connect
* chore(dashboard): folderInfo as undefined
* feat(dashboard): initial commit of dashboard settings json editor
* feat(dashboard): introduce save json functionality
* chore(dashboard): delete obsolete imports
* feat(dashboard): add save and save as buttons to settings nav
* feat(dashboard): add react wrapper for annotations settings
* chore(dashboard): put back canDelete for general settings delete button
* Make editable
* Remove makeEditable from SettingsCtrl
* feat(dashboard): show json editor save button if canSave
* refactor(dashboard): move hasUnsavedFolderChange to dashboard.meta
* feat(dashboard): render hasUnsavedFolderChange view in permissions settings
* feat(dashboard): reset hasUnsavedFolderChange on settingg save success
* feat(dashboard): refresh route on sucessful settings save
* test(dashboard): update snapshots
* refactor(dashboard): automatically infer connected props for dashboard permissions
* refactor(dashboard): give dashboard versions checkboxes some padding
* Update public/app/types/folders.ts
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* Remove unnecessary deduplication
* Remove dedup test as we are not doing dedup on all logs anymore
* Create unique ids in Loki
* Fix comment
* Fix comment
* Store prev response uids in usedUids
* Revert "Store prev response uids in usedUids"
This reverts commit 05c496e2a8.
* Add comment
* create page and sidebar entry
* add components for query editor and definition
* split pane things
* add reducer and action
* implement split pane and update ui actions
* making things pretty
* Unify toolbar
* minor tweak to title prefix and some padding
* can create definitions
* fix default state
* add notificaion channel
* add wrappers to get correct spacing between panes
* include or exclude description
* implement query editor
* start on query result component
* update from master
* some cleanup and remove expressions touch ups
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Remove feature flag
* Add data source setting for Jaeger
* Refactor trace to logs settings
* Fix tests
* Get ds settings in two steps
* Add info to settings
* Update docs for trace to logs
* Update yarn.lock
* Apply suggestions from code review
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update TraceToLogsSettings after merge with master
* Add config for tags
* Add tags to check for keys
* Apply suggestions from code review
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update docs
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Starting moving more stuff into data source picker
* WIP progress
* Progress on datasource picker rethink
* Things are working now some details to figure out
* Removed commented part
* Complex work on getting data source lists
* Fixed variable support showing correct data sources
* Tried fixing dashboard import but failed
* Fixes
* Fixed import dashboard
* Fixed unit test
* Fixed explore test
* Fixed test
* Fix
* fixed more tests
* fixed more tests
* fixed showing which option is default in picker
* Changed query variable to use data source picker, updated tests and e2e
* Fixed more tests
* Updated snapshots, had wrong typescript version
* Chore: Enable eslint react/no-render-return-value rule
Eanble the rule and remove the unused render return
part of: #29201
* Chore: Enable eslint react/no-children-prop rule
Not linting issues after turning on this. No other file changes requried
part of: #29201
* Chore: Enable eslint react/no-unknown-property rule
Correct enable-background to enableBackground
part of: #29201
* Chore: Enable eslint react/no-unescaped-entities rule
Replaced " with " replaced ' with '
part of: #29201
* Chore: Enable eslint react/display-name
Enable react/display-name and fixed the corresponding linting issue
part of: #29201
* Chore: Enable eslint react/no-deprecated
Enable react/no-deprecated and add the UNSAFE_ prefix for deprected methods
part of: #29201
* Chore: Enable eslint react/no-find-dom-node
Enable react/no-find-dom-node rule and use ref instead
part of: #29201
* Test: Update TeamGroupSync test snapshot
Since we added the displayName for ToolTip compontent and tag name is changed.
* Fix: Fixed ClickOutsideWrapper render
The props.children might contains numbers of nodes which make cloneElement failed. Change to simply use a div to wrapper
the children and assign the ref to div for this feature
* Style: Use shorthand method definition style for inline component
* Fix: Rebase master and fix linting
Rebase from master branch and fix new displayName linting warning
* Adding FilterByValue transformer skeleton
* Connecting options with Editor
* Improving UI and making deep copy of options on change.
* Improving Transformation Editor UI
* Implementing Regex filtering
* Adding valueFilters.ts and creating filter registry
* Connecting the test function
* Correcting TypeScript errors
* Using FilterInstance instead of simple Filter test function
* Adding field.type as filter options
* Improving UI. Adding custom placeholder depending on filter.
* Implementing a few more filter types
* Implementing more filters
* Return original data if no filter were processed
* Improving UI
* Correcting TS errors
* Making sure inequality transform are invalid until the filterExpression is not empty
* Cleanup in the UI file
* Improving UI (highlight invalid fields)
* Only show filterType that are supported for the selected field
* Adding tests + correction of a filter
* Adding transformer test
* Adding doc
* Cleanup
* Typing props for FilterSelectorRow component
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Moving rendering in the JSX
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Memoizing filterTypeOptions computation
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Improve code compactness
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Cleanup + solving TS errors
* Updating some labels
* Wrapping stuff around useMemo and useCallback
* Using cloneDeep from lodash
* Don't highlight field name input if null
* Removing time type fields in selectable options
* We want loose equality in this scenario.
* Adding `onChange` to useCallback dependencies
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Include or exclude matching any or all conditions
* Correcting field name matching
* Cleanup
* Don't highlight the filterExpression input when its empty
* Adding Range filter
* Updating doc
* Correcting TS error
* Only showing the Match All/Match Any option if more than one condition
* Two inputs for the Range filter instead of one
* Improving invalid highlight for Range filter type
* Cleanup
* Improving labels in UI
* Using ButtonSelect to improve UI
* editor UI updates.
* Updating tests
* Adding component for Regex
* Improve TS typing
* Adding components for the other filter types.
* Cleanup
* Correct error
* Updating valueFilter.test.ts
* Updating filterByValue.test.ts
* Reverting and removing Range filter
* Update docs/sources/panels/transformations.md
* starting to implement poc.
* added a small poc.
* wip
* added tests.
* added structure for dynamic value matcher editors.
* added more support.
* added some more value matchers.
* removed unused value filters.
* added some more matchers.
* adding more matchers.
* added a range matcher.
* fixing some tests.
* fixing tests.
* remove unused dep.
* making the matching a bit more performant.
* UX improvements and alignment fixes
* fixed delete button.
* fixed some spacing in the UI.
* added docs for matchers.
* adding docs and exposing value matcher types.
* will store dateTime as string.
* updated docs according to feedback.
* moved filter by value in transformation list.
* Improved description.
* added regex value filter.
* added support for regex.
* fixing failing tests.
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* move split pane logic to its own component
* fix update function typing
* destruct updateuistate
* updates after review
* reword the rightpane to work for text panel
* Split main reducer from item reducer
* Move query related redux to separate file
* Split more parts and tests
* Fix import
* Remove unused code
* Update public/app/features/explore/state/datasource.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Add section comments
* Rename ExploreItem to ExplorePane
* Fix imports
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Removed auto-capitalization from the login form
On mobile browsers, by default most keyboards will auto capitalize the first letter of the email/username, which is case sensitive.
This PR fixes that.
* Fixed autoCapitalize react keyword
* Fix logSeriesToLogsModel when some data frames have empty fields
* Update test
* Update public/app/core/logs_model.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Explore: parse time range fix
* Remove commented out code
* Fix cases for string epoch and ISO strings
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
* Add short link functionality to Explore and Rich history
* Update documentation
* Implement short url for explore
* Implement short link in Rich history
* Update docs
* Add error alert
* WIP: changes transformer API to Observable
* Refactor: changes ResultProcessor
* WIP: TransformationUI
* wip
* Refactor: Cleaning up code in CalculateFieldTransformerEditorProps
* Refactor: pushing editor and input output down to TransformationEditor
* Refactor: renaming props
* Refactor: makes transformDataFrame more readable
* Refactor: fixes editor issues
* Refactor: changes after merge with master and first tests
* Tests: completes the tests for the Explore changes
* Tests: fixes all transform tests
* Tests: fixed annotations test
* Tests: fixed typechecks
* Refactor: changes transform interface to MonoTypeOperatorFunction
* Chore: cleans up typings
* Update packages/grafana-data/src/transformations/transformDataFrame.ts
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Tests: fixes broken tests
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Chore: Remove angular dependency from data sources
* Removes default export for time and template srvs
Also uses @grafana/runtime versions of the interfaces where possible
* Replace usage of internal templateSrv where possible
* Use runtime templateSrv in a couple more places
* Make graph and table collapsing just a UI thing
* Remove showingGraph and showingTable, set them defaultly to true
* Remove collaapsing for panels in Explore
* UI toggle WiP
* WIP, add query type
* Refactor, clean up
* Update tests
* Clean uo
* Update rangeAll to range and instant
* Remove console logs
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update public/app/core/utils/explore.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Fix prettier error
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* add overflow hidden to titleWrapper
* show ellipsis and css labels for components
* readd drag handle after bad merge
* rewrite userpicker test with rtl
* update test after adding css label to icon component
* fix more tests..
* Dashboard: Merge Data units categories
Prefixes already allow to distinguish IEC units from SI ones
+ Prefer using binary function over decimal one when equal
* Dashboard: Clarify SI & binary prefixes
* Dashboard: Homogeneise rate units
* Dashboard: Add Binary (IEC) prefix for data rates
* DashboardSettings: Fixes auto refresh crash with space in interval
* Tests: fixes typings
* Refactor: validets onBlur and other PR comments
* Tests: adds component tests
* Refactor: changes after PR feedback
* CloudWatch Logs: Adjusts CloudWatch Logs timeout logic
Previously CloudWatch Logs queries would time out if,
after a number of attempts, a response was received with no additional data.
This commit changes the behavior so that a consecutive number of requests
yielding no additional data must be made before we cancel the query
* Adding Occurences transformer
* Adding test for Occurences Transformer
* Cleanup. Adding a test.
* Adding doc
* Modifying UI to support custom calculations options
* Implementing data transformation
* Finalizing calculations implementation
* Cleanup
* Using Fields instead of arrays in data grouping
* Renaming transformation to GroupBy
* Adding some doc
* Apply suggestions (solving TS typing errors)
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* Tweaking UI
* Preventing of selecting twice the same field name.
* Removing console print. No calculations by default.
* Forgot to add the current value to the GroupBy selector
* Solving some typing issues and prettyfier errors
* Cleanup
* Updating test
* Ensure proper copy of options (solves some issues)
* Check if the fields exist in the data before processing
* Adding missing import in test file
* If group by field not specified, return all data untouched.
* Adding another missing import in test
* Minor updates
* Implementing GroupBy multiple fields + Improve field typing
* Removing console prints
* Allowing the exact number of fields to be added as aggregation
* Centering remove button icon
* Cleanup
* Correcting TS error
* Chaging transformer options structure
* Sorting so GroupBy fields appear on top
* Cleanup
* Simplifying some operations. Adding curly brackets.
* Changing some labels on the UI
* Updating test
* Cleanup
* Updating doc
* Fixed field list. Storing options as Record instead of Array.
* Update test
* Cleaned up the group by editor UI code.
* changed the transform to a table layout instead of a flexbox layout.
* cleaned up group by transformer.
* removed unused imports.
* Added some more tests.
* Added one more test and cleaned up code.
* fixed failing test.
* Fixed so we we have the proper casing on naming.
* fixed so we don't wrap on the first row.
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* testing things
* POC: Simplify labels to fields by using merge transform inside it
* removed old code
* Fixed test ts issues
* Added valueLabel field option
* Updated merge transform tests to not expect a sort
* fixed type
* refactoring to minimize nesting
* FolderPicker: Fixes not being able to create new folder
* Update public/app/core/components/Select/FolderPicker.tsx
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Refactor: Fixes import issues for tests that do not mock GrafanaBootConfig
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Refactor: initial commit
* wip
* Refactor: getting into a simpler model
* Refactor: adds some comments
* Refactor: renames statuses according to PR comments
* Refactor: adds more comments
* Tests: adds tests for FetchQueue
* Tests: adds tests for ResponseQueue
* Tests: adds tests for FetchQueueWorker
* Tests: simplified the tests for ResponseQueue
* Refactor: adds http2 scenario
* Refactor: using Cfg instead of global variable
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Refactor: reverted change in frontendsettings.go
* Tests: fix test mocks
* Fix: changes how cfg.Protocol gets its value
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Create sorting button and functionality
* Set up logs ordering
* Add tests
* Refactor
* Refactor
* Replace new button with old
* Move SortOrder enum to grafana/data
* Update SortOrder in test
* Update context based on sort order of logs
* Update used method for panel, update tests
* Rename prop to logsSortOrder
* Memoize resuults
* Add title too button
* Add disablinng of button for 1sec
* Update wordiing
* Update packages/grafana-data/src/utils/logs.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update packages/grafana-data/src/utils/logs.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update test by reordering logs
* Clear timers, add button flipping title
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Return valid metadata even if data is empty
* Make sure fields is not accessed when there is no data
* Meta Info should depend only on meta data
* Refactor condition for better reading
* Change data to empty array for better condition handling
* Remove unecessary checks
* Add test for showing metaData even when data is empty
Removes "Metrics"/"Logs" mode switcher from Explore, allowing for both
metrics and logs queries at the same time.
Co-authored-by: kay delaney <kay@grafana.com>
* BackendSrv: Observable all the way POC
* starting to unify code paths
* tests pass
* Unified error handling
* Single request path and error handling
* Fixed ts issue
* another ts issu
* Added back old requestId cancellation
* Slow progress trying to grasp the full picture of cancellation
* Updates
* refactoring
* Remove a bunch of stuff from backendSrv
* Removed another function
* Do not show error alerts for data queries
* Muu
* Updated comment
* DataSourceWithBackend: Switch to new Observable fetch api
* fixed ts issue
* unify request options type
* Made query inspector subscribe to backendSrv stream instead of legacy app events
* Add back support for err.isHandled to limit scope
* never show success alerts
* Updated tests
* use ovservable in test
* remove processResponse
* remove processResponse
* trying to get tests to pass :(
* no need for the extra tests
* Fixed processsing
* Fixed tests
* Updated tests to mock fetch call
* lint fixes
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Fixed so the merge for table values works as it did before.
* wip
* fixed tests.
* merge tests are green.
* removed unused code and simplify the seriesToRows.
* added time series to rows editor.
* using getFrameDisplayName for the metric value.
* updated description of transforms.
* updated docs.
* fixed according to feedback.
* changed from images to markdown tables for the examples.
* forgot to save :P
* BackendSrv: Observable all the way POC
* starting to unify code paths
* tests pass
* Unified error handling
* Single request path and error handling
* Fixed ts issue
* another ts issu
* Added back old requestId cancellation
* Slow progress trying to grasp the full picture of cancellation
* Updates
* refactoring
* Remove a bunch of stuff from backendSrv
* Removed another function
* Do not show error alerts for data queries
* Muu
* Updated comment
* fixed ts issue
* unify request options type
* Made query inspector subscribe to backendSrv stream instead of legacy app events
* Add back support for err.isHandled to limit scope
* never show success alerts
* Updated tests
* Fixing tests
* Minor weak
* Improved logic for the showErrorAlert and showSuccessAlert boolean flags, now they work more logically
* Fix issue