* MenuItem: Allow react node as label
* LinkButton: Expose ButtonLinkProps
* Typecheck fix
* DashboardLinks: Refactor and use LinkButton and menu
* DashbaordLinks scene object
* Use flex layout for dashboard controls
* Update public/app/features/dashboard/components/SubMenu/DashboardLinksDashboard.tsx
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* fix keepTime and includeVars
* Add ellipsis to menu item label and description
* Use DashboardLink type from grafana/schema
* Update dashboard scene controls layout
* Fix e2e
* Test fix
* Bring back keyboard navigation
* Remove unused code
* One more fix
---------
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Use GetDefaultCloud from SDK
* Use GetAzureCloud from SDK
* Credentials parser moved to azmoncredentials
* Refactor legacy credentials
* Tests
* Fix test description
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
* Swagger: Fix listTokensResponse
It should return a list of Tokens, not a single one
Also regenerated the API spec from the latest changes + this branch
* Remove pointer
* Allow to clear datasource selection
Also improve texts for linked alerts switch
* Remove onClear prop as it does not work
* Change text on datasource selection filter
* Change datasource filter description
* InfluxDB: Add support for `>=` and `<=` comparison operators to InfluxQL Query Builder
* Add front-end support for the new operators
This ensures that the query translates correctly between raw and builder mode
* Chore: add test for new operators
* chore: add front-end tests
* fix: don't skip quoting on `<>`
This preserves the pre-existing behaviour, fixing a failing test
* chore: fix tests
* Transformations: Fix Timeseries to table transformation trend reduction when result is 0
When reduceField function returns 0, the reduced value is set to null. I
think we can remove this "|| null" statement, as:
- There is a check a few lines above to make sure the field type is a number. This might be a reasonable guarantee that the calculation we are doing will make sense and there will be no need to set to null.
- Sparkline cell type already has an option to hide value if we believe the calculation
does not make sense.
Fixes#78025
* make sure we check for undefined
---------
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
* [WIP] Lift RBAC from xorm store
* Cleanup RBAC, fix tests
* Use the scope type map as a map
* Remove dependency on dashboard service
* Make dashboards a map for constant time lookups (useful later)
---
* Lift RBAC tests into a new file to test at service level
* Add necessary access resource structs to xorm store tests
* Move authorization into separate service
* Pass features to searchstore.Builder
* Sort imports
* Code cleanup
* Remove useless scope type check
* Lift permission check into `Authorize()`
* Use clearer language when checking scope types
* Include dashboard permissions in test to ensure they're ignored
* Switch to errutil
* Cleanup sql.Cfg refs
* Add `isManaged` property to frontend model
* Remove enabled and token buttons for managed SA
* Replace trash icon for lock icon for managed SA
* Block the role picker for managed SA
* Filter SA list usiong the managed filter
* Rename external for managed
* Add only managed filter
* Toggle the enable buttons for managed sa
* Disable add token and delete token buttons
* Remove the edit name button
* Disable the Role picker for managed sa
* Hide the permissions section
* Add managed by row
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>