Commit Graph

3077 Commits

Author SHA1 Message Date
Piotr Jamróz
9ace8686a1
Datasources: Improve error handling for testing data sources (#35120)
* 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>
2021-07-08 14:32:27 +02:00
Torkel Ödegaard
eed1f36613
Links: Fix links to other apps outside Grafana when under sub path (#36498) 2021-07-07 15:25:59 +02:00
Matthias Blümel
b49b7faeee
Transformation: show message if not applied on single frame (#36469)
* Transformation: show message if not applied on single frame

* Use FieldValidationMessage component instead

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-07-06 16:41:28 +02:00
Ashley Harrison
cc4d301d50
Annotations: Add typeahead support for tags in builtin annotations (#36377)
* 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>
2021-07-06 10:50:46 +01:00
Karl Persson
2fd7031102
Access Control: Add fine-grained access control to explore (#35883)
* 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>
2021-07-02 14:43:12 +02:00
Tharun Rajendran
36592e0927
Chore: Add tests for ChangePasswordPage and SendResetMailPage (#36313)
* added tests for changePassword and forgotPassword  component

* added tests for ChangePassword screen in user profile section

* addressed review changes
2021-07-01 17:01:09 +03:00
Ivana Huckova
742c737784
Logs panel: Add option to show common labels (#36166)
* 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>
2021-07-01 14:06:58 +02:00
Tharun Rajendran
3b4916853c
chore: Signup Page Component tests (#36279)
* added tests for SignupPage component

* added tests for VerifyEmailPage component

* addressed review changes

* removed id for button and followed consistent id naming pattern
2021-06-30 17:11:27 +02:00
Tharun Rajendran
9f3e84b16c
Routes: Redirect signup user and verify email if settings is disabled (#36303)
Fixes #31635
2021-06-30 13:56:09 +02:00
Tharun Rajendran
c3e26657e9
LoginPage: add tests (#36226)
* added tests for LoginPage component

* addressed review changes and removed snapshot
2021-06-29 17:08:50 +03:00
Dan Fairburn
b9582ea93d
Dashboard: Allow more than 26 queries per panel. (#35442)
* 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>
2021-06-23 15:23:02 +02:00
Alex Khomenko
11335d6f6a
grafana/ui: Add DatePicker (#35742)
* Move DatePicker to grafana/ui

* Export the pickers

* Reuse TimePicker styles

* Fix date formatting

* Remove mockdate

* Add release tags

* Switch to input type='text'

* Move DatePicker to pickers

* Add mdx files

* Update types

* Update tests
2021-06-16 15:57:12 +03:00
Amir Ajorloo
16850630bf
Chore: Improve the mobile view of the login page (#32962)
* 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.
2021-06-16 10:47:12 +02:00
Olof Bourghardt
41fca2e2df
Log level determined from striped message (#35607) 2021-06-15 15:42:18 +02:00
kay delaney
0f81703c35
Chore: Fix more strict typescript errors (#35514) 2021-06-14 15:13:48 +01:00
Hugo Häggmark
1838e6b774
Configuration: Fix changing org preferences on FireFox (#35549) 2021-06-11 11:49:40 +02:00
Tobias Skarhed
5e7df4cf6a
Angular cleanup: Move directives (#35330)
* angular2react: Remove json_editor_ctrl

* angular2react: Move directives

* Add to angular dir
2021-06-08 08:28:56 +02:00
Dimitris Sotirakis
1c49986b2f
Chore: Remove endpoints that contain the slug field (#35104)
* Chore: Remove endpoints that contain the slug field

* More cleanups

* Lint fixes

* Remove unnecessary funcs

* Cleanup frontend code

* Remove deprecated endpoints from docs

* Revert change according to reviewer's comments
2021-06-03 16:20:13 +03:00
kay delaney
2e38bbf751
Chore: Reduce number of strict typescript errors (#34595) 2021-06-01 13:47:29 +01:00
Piotr Jamróz
f4a40a4d85
Logs: Use GraphNG to plot log histograms (#34531)
* 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>
2021-06-01 09:28:25 +02:00
kay delaney
8143991b94
Security: Update default CSP template and fix firefox CSP issues (#34836)
* 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
2021-05-28 17:01:10 +02:00
Jack Westbrook
515c73d8e6
Transformations: Prevent FilterByValue transform crashing panel edit (#34747) 2021-05-26 17:30:34 +02:00
Hugo Häggmark
881abb3af8
Admin: Fixes infinite loading edit profile page (#34627)
* UserProfile: Fixes infinite loading spinner

* Refactor: some clean up

* Refactor: some more cleanup

* Tests: Adds tests for UserProfileEditPage

* Chore: updates after PR comments

* Refactor: removes unnecessary unmount/mount
2021-05-25 14:48:16 +02:00
mmenbawy
6796a89e9d
Loki: Bring back processed bytes as meta info (#34092)
* Loki: Bring back processed bytes as meta info

* style: Lint
2021-05-24 12:28:10 +02:00
Andrej Ocenas
615de9bf34
Zipkin: Add node graph view to trace response (#34414)
* Add graph transform

* Add tests

* Refactor code

* Update test

* Fix zipkin block

Co-authored-by: David Kaltschmidt <david.kaltschmidt@gmail.com>
2021-05-20 10:01:28 +02:00
Dominik Prokop
4cbffae1b4
AppPlugins: Expose react-router to apps (#33775)
* 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>
2021-05-19 19:10:21 +02:00
Marcus Andersson
8b9ff62cbb
Alerting: fixing so we can edit queries on existing alerting rules. (#34227)
* fixing so old query editors can mutate the query object.

* fixing so angular editors that mutate state works.
2021-05-18 17:53:15 +02:00
Domas
098b4fc319
Alerting: wrap top level components in ErrorBoundary (#34040) 2021-05-18 13:56:31 +03:00
Hugo Häggmark
93db2a099b
Revert "ForgottenPassword: Adds better error handling (#34174)" (#34254)
This reverts commit e246ec0d5b.
2021-05-18 09:01:55 +02:00
Zoltán Bedi
e1741695ac
Chore: remove redux-logger (#34220) 2021-05-17 16:43:40 +02:00
Hugo Häggmark
e246ec0d5b
ForgottenPassword: Adds better error handling (#34174)
* ForgottenPassword: Adds better error handling

* Chore: updates after PR comments
2021-05-17 09:15:41 +02:00
Marcus Andersson
07ef4060a3
Alerting: adding a time picker for selecting relative time. (#33689)
* 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>
2021-05-12 17:51:31 +02:00
Hugo Häggmark
c1be52bed0
OrgPicker: Fixes so organisations load (#33990)
* OrgPicker: Fixes so organisations load

* Update public/app/core/components/Select/OrgPicker.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Chore: updates after PR comments

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-05-12 14:21:54 +02:00
Ivana Huckova
73335ebbcb
Logs: Store queries that were run to get log results (#33971)
* 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>
2021-05-12 12:54:15 +02:00
Torkel Ödegaard
ff3d8ed866
Login: Minor improvement to mobile login layout (#33961) 2021-05-12 06:37:18 +02:00
Torkel Ödegaard
985a4dd2b7
Modals: Fix selects in modals (#33939) 2021-05-11 21:19:25 +02:00
Alex Khomenko
60c32dc96a
Add explicit return to GetLoginSubTitle (#33946) 2021-05-11 18:52:16 +02:00
Josh Hunt
72c9d806fd
AzureMonitor: Kusto language support (#33528)
* Add Kusto custom language to Monaco

* Load Kusto schema into monaco

* cleanup + tests

* cleanup + tests

* cleanup :)

* move monaco languages to a registry
2021-05-11 16:48:59 +02:00
Torkel Ödegaard
4fabade35c
v8: Update login page design (#33923)
* Theme: Initial draft of dark login page

* update

* Updated login background

* Updates

* anim test

* Anim tweak

* Animate login box

* Updates

* Updating login page

* Improve footer readability on login page

* Fix sign up button
2021-05-11 16:34:44 +02:00
Leon Sorokin
5fd7c34420
New Panel: Histogram (#33752) 2021-05-10 14:00:59 -05:00
Alexander Zobnin
3a1437fe9c
Access control: Move enterprise-specific access control actions (#33781)
* Access control: add reporting permissions

* Move enterprise-specific access control actions
2021-05-06 15:28:38 +02:00
Jack Westbrook
7f63efb941
Routing: refresh plugin module when pluginId changes (#33579)
* fix(approotpage): load plugin if pluginId changes so ui updates

* fix(approotpage): prevent dashboard search breaking for plugins without navmodel
2021-05-05 13:55:34 +02:00
Zoltán Bedi
578a755cb4
Fix data source picker width issue (#33720)
* Fix data source picker width issue

* Use theme.spacing
2021-05-05 10:17:14 +02:00
Hugo Häggmark
c6d4d14a89
LibraryPanels: Adds folder filter to manage library panel page (#33560)
* LibraryPanels: Adds folder filter

* Refactor: Adds folder filter to library search

* Refactor: splits huge function into smaller functions

* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618)

* Chore: adds tests to LibraryPanelsSearch

* Refactor: Adds reducer and tests

* Chore: changes GrafanaThemeV2

* Refactor: pulls everything behind the feature toggle

* Chore: removes clear icon from FolderFilter

* Chore: adds filter to SortPicker

* Refactor: using useAsync instead
2021-05-04 13:59:40 +02:00
Giordano Ricci
3c79138d21
Fix adjustMetaInfo limit retrieval (#33631) 2021-05-03 12:55:53 +02:00
Torkel Ödegaard
7ee994f843
Theme: Renames new theme model from GrafanaThemeV2 to just GrafanaTheme (#33619) 2021-05-03 09:45:54 +02:00
Torkel Ödegaard
f6ecded86b
Theme: Page styles move to emotion global styles and design tweaks (#33529)
* 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
2021-04-30 10:04:01 +02:00
Ivana Huckova
cf958e0b4f
Explore: Refactor deduplication, hiding of logs and Logs component (#33531)
* 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
2021-04-29 18:26:30 +02:00
Alex Khomenko
3b515e650c
Grafana-UI: Update React Hook Form to v7 (#33328)
* Update hook form

* Update Form component

* Update ChangePassword.tsx

* Update custom types

* Update SaveDashboardForm

* Update form story

* Update FieldArray.story.tsx

* Bump hook form version

* Update typescript to v4.2.4

* Update ForgottenPassword.tsx

* Update LoginForm.tsx

* Update SignupPage.tsx

* Update VerifyEmail.tsx

* Update AdminEditOrgPage.tsx

* Update UserCreatePage.tsx

* Update BasicSettings.tsx

* Update NotificationChannelForm.tsx

* Update NotificationChannelOptions.tsx

* Update NotificationSettings.tsx

* Update OptionElement.tsx

* Update AlertRuleForm.tsx

* Update AlertTypeStep.tsx

* Update AnnotationsField.tsx

* Update ConditionField.tsx

* Update ConditionsStep.tsx

* Update GroupAndNamespaceFields.tsx

* Update LabelsField.tsx

* Update QueryStep.tsx

* Update RowOptionsForm.tsx

* Update SaveDashboardAsForm.tsx

* Update NewDashboardsFolder.tsx

* Update ImportDashboardForm.tsx

* Update DashboardImportPage.tsx

* Update NewOrgPage.tsx

* Update OrgProfile.tsx

* Update UserInviteForm.tsx

* Update PlaylistForm.tsx

* Update ChangePasswordForm.tsx

* Update UserProfileEditForm.tsx

* Update TeamSettings.tsx

* Update SignupInvited.tsx

* Expose setValue from the Form

* Update typescript to v4.2.4

* Remove ref from field props

* Fix tests

* Revert TS update

* Use exact version

* Update latest batch of changes

* Reduce the number of strict TS errors

* Fix defaults

* more type error fixes

* Update CreateTeam

* fix folder picker in rule form

* fixes for hook form 7

* Update docs

Co-authored-by: Domas <domasx2@gmail.com>
2021-04-29 16:54:38 +03:00
Torkel Ödegaard
017bcc73ba
Theme: Move displayProcessor & fieldOverrides & visualizations to use new theme model (#33502)
* WIP updating getColorForTheme

* Progress

* More fixes

* Updating more parts

* Fixing unit tests

* Fixing more tests

* Fixing storybook issues

* More refactoring

* Fixed test
2021-04-29 12:44:06 +02:00
Hugo Häggmark
a9d6d131b3
LibraryPanels: Small UI improvements (#33482) 2021-04-28 17:34:18 +02:00
Jack Westbrook
249004ebef
Pages: update react components to use v2 theme (#33413)
* 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
2021-04-28 16:05:00 +02:00
Hugo Häggmark
22ac0fc3cd
Chore: Migrates remaining Angular modals to React (#33476)
* 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>
2021-04-28 15:22:28 +02:00
Alex Khomenko
6d95f2f1db
Chore: Update typescript to v4.2.4 (#33297)
* Update typescript to v4.2.4

* Update @types/slate

* Fix QueryVariableEditor.test.tsx

* Fix search-related type errors

* Fix Plugin pages type errors

* Fix missing initializer errors

* Update snapshot

* Revert tsconfig changes
2021-04-28 15:40:01 +03:00
Torkel Ödegaard
3a93313f75
Frontend: Auto reload page when chunk is not found (#33445) 2021-04-28 09:31:52 +02:00
Hugo Häggmark
20ee0e9601
LibraryPanels: Adds panel type filter and sorting (#33425)
* Wip: inital commit

* Chore: updating api

* Refactor: adds description search and sorting

* Refactor: adds panel filtering

* Refactor: limits the height of select

* Tests: updates snapshot

* Refactor: small UI improvements
2021-04-28 09:18:13 +02:00
Domas
e8faec5c19
Alerting: create/edit notification templates (#33225) 2021-04-27 16:28:53 +03:00
Jack Westbrook
45fa5fdf48
Buttons: introduce buttonStyle prop (#33384)
* 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>
2021-04-27 12:03:06 +02:00
Torkel Ödegaard
759a501564
Singlstat: Fixes all the singlestat migration issues by moving it to DashboardMigration (#33349)
* Singlstat: Fixes all the singlestat migration issues by doing during DashboardMigration

* fixes

* Updated snapshot
2021-04-27 10:09:37 +02:00
Torkel Ödegaard
424925c3fb
Icons: Fixes iconCache not having same iconRoot as what Icon component used making the pre-cached items not match (#33356) 2021-04-25 11:17:35 -07:00
Torkel Ödegaard
a1b7793959
LoginPage: Fixes minor spacing issue on login page (#33353) 2021-04-25 06:08:56 +02:00
Domas
67f6611d85
Alerting: receivers table in the receivers page (#33119) 2021-04-23 15:54:31 +03:00
Jack Westbrook
c809d63065
Buttons: replace usage of .btn classnames (#33226)
* 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>
2021-04-23 10:06:42 +02:00
Alexander Zobnin
a7e721e987
Access control: Make Admin/Users UI working with the permissions (#33176)
* API: authorize admin/users views

* Render admin/users components based on user's permissions

* Add LDAP permissions (required by admin/user page)

* Extend default admin role by LDAP permissions

* Show/hide LDAP debug views

* Render LDAP debug page if user has access

* Authorize LDAP debug view

* fix permissions definitions

* Add LDAP page permissions

* remove ambiguous permissions check

* Hide logout buttons in sessions table

* Add org/users permissions

* Use org permissions for managing user roles in orgs

* Apply permissions to org/users

* Apply suggestions from review

* Fix tests

* remove scopes from the frontend

* Tweaks according to review

* Handle /invites endpoints
2021-04-22 13:19:41 +03:00
Uchechukwu Obasi
438b403acc
Migrates old Card sass file to GlobalStyles (#33183)
* 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
2021-04-21 16:39:56 +02:00
Torkel Ödegaard
b929822d72
Theme: Renames theme.palette to theme.colors (#33214)
* Theme: Rename theme.palette to theme.colors

* renaming files
2021-04-21 15:34:08 +02:00
Torkel Ödegaard
7e2bf4f6c3
Theming: Make new theme exposed by ThemeContext and make new theme include v1 for compatability (to pass to useTheme) (#33207)
* WIP: Making new theme the default

* Progress

* Updates, lots of updates

* Things are working

* Fixed issues with storybook

* Fixed tests
2021-04-21 14:25:43 +02:00
Ivana Huckova
1c838f5872
Explore: Add more meta information when line limit is hit (#33069)
* 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>
2021-04-21 12:02:34 +02:00
Torkel Ödegaard
dc6d134276
Storybook: Fixes theming of the padded story (that makes stories use primary background by default) (#33166) 2021-04-21 09:45:12 +02:00
kay delaney
bad048b7ba
Performance: Standardize lodash imports to use destructured members (#33040)
* 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
2021-04-21 09:38:00 +02:00
Hugo Häggmark
527b7bd756
Theme: Theme toggle is only persisted for signed in users (#33163) 2021-04-20 15:15:56 +02:00
Hugo Häggmark
025b671146
Dashboard: Unsaved changes warning shown for anyone that can save (#33145)
* Dashboard: Unsaved changes warning shown for anyone that can save

* Refactor: changes the order in function
2021-04-20 09:55:46 +02:00
Hugo Häggmark
9bb1484dc5
ConfirmModal: Migrates to React with new theme (#33107)
* ConfirmModal: Migrates to React

* Refactor: migrates to v2 styles

* Chore: updates after PR comments
2021-04-19 14:30:18 +02:00
Torkel Ödegaard
d62601e664
Theme: Variable name changes & progress (#33088)
* Theme variable renames

* Fixed variable issue issue

* Fixed test

* fixed story

* More tweaks

* Updated snapshot
2021-04-17 19:17:18 +02:00
Torkel Ödegaard
733bb45172
Button/Link Focus: Use focus-visible for keyboard focus (#33066)
* 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
2021-04-16 15:22:31 +02:00
Alexander Zobnin
8b843eb0a6
Access control: expose permissions to the frontend (#32954)
* 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()
2021-04-16 16:02:16 +03:00
Domas
826d82fe95
Alerting: editing existing rules via UI (#33005) 2021-04-16 11:08:26 +03:00
Hugo Häggmark
34b4f7c717
Chore: Reduces strict errors (#33012)
* 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
2021-04-15 14:21:06 +02:00
Torkel Ödegaard
bcd0958849
Theme: Updated font to Inter, updates typography, a start of moving legacy & global styles from sass to emotion (#32988)
* 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
2021-04-14 21:49:38 +02:00
Domas
282c62d8bf
Alerting: Rule edit form (#32877) 2021-04-14 15:57:36 +03:00
Torkel Ödegaard
b0c6cad637
Theme: Updates Alert design and licence warning hook (#32930)
* Theme: Updates Alert design and licence warning hook

* Updated snapshot

* Updated design

* Updated
2021-04-13 18:00:55 +02:00
Torkel Ödegaard
629603dd92
Theming: Updates to select styles and theme model progress (#32797)
* 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
2021-04-12 14:23:00 +02:00
Dominik Prokop
b47fba4b68
v8: remove Singlestat panel and add automatic migration to stat/gauge(#31904)
* 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>
2021-04-12 12:47:17 +02:00
Hugo Häggmark
7d07599dc1
LibraryPanels: Adds initial section and Page to Dashboard submenu (#32876)
* LibraryPanels: Adds initial section and Page to Dashboard submenu

* Refactor: adds perPage as prop

* Chore: renames OrgActionBar

* Chore: updates after PR comments

* Chore: updates snapshot
2021-04-12 09:30:29 +02:00
Domas
e6a98ce1e4
Alerting: bootstrap silences page (#32810) 2021-04-09 13:44:26 +03:00
Dominik Prokop
deccc97985
DataLinks: Ensure window origin to be stripped from url when using absolute urls (#32634)
* 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
2021-04-08 17:38:56 +02:00
Jack Westbrook
8b38b70e00
FolderPicker: Prevent dropdown menu from disappearing off screen (#32603)
* fix(folderpicker): remove position fixed so menu works in panel editor for dashlist & alertlist

* test(folderpicker): update snapshot
2021-04-07 10:18:30 +02:00
Domas
a56293142a
Alerting: unified alerting frontend (#32708) 2021-04-07 08:42:43 +03:00
Torkel Ödegaard
16efc4c1b9
ReactSelect: Upgrades react-select from v3 to v4 and switches from fork to main npm package (#32618)
* ReactSelect: Upgrades react-select from v3 to v4 and switches from fork to main npm package

* Updated snapshot

* Removed hidden time in timepicker
2021-04-02 11:11:46 +02:00
Torkel Ödegaard
d42a5b2561
FrontendMetrics: Adds new backend api that frontend can use to push frontend measurements and counters to prometheus (#32593)
* 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
2021-04-01 20:04:02 +02:00
Leon Sorokin
a080669151
Icons: use plain SVG files, load on-demand (#32387) 2021-04-01 09:09:56 -05:00
Torkel Ödegaard
10badea19e
Emotion: Upgrades emotion from 10 to 11 and updates all import paths (#32541)
* Babel: Updates babel dependencies to latest version

* Emotion: Upgrade form 10 to 11

* Fixing tests

* Updated to use emotion/css instead in test
2021-04-01 14:15:23 +02:00
kay delaney
a98fd22e34
Panel/DashList: Fetch folders with View permission (#32406)
Closes #31357
2021-03-29 11:11:51 +01:00
Torkel Ödegaard
feaaa32ffd
Shortcuts: Fixes panel shortcuts so they always work (#32385)
* Shortcuts: Fixes panel shortcuts so they always work

* Updated snapshot
2021-03-29 07:52:57 +02:00
Zoltán Bedi
8232b6ebbc
Chore: eslint react hook fix for public folder (#31174)
* Fixes under public/app/plugins

* Fixes under public/app/plugins/datasource

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/components

* Fix PanelNotSupported test

* Fix one more warning

* Fix warning in usePanelSave

* Fix traceview empty response

* Azure monitor fixes

* More fixes

* Fix tests for azure monitor

* Fixes after merging master

* Add comment for disabled rules

* Fixes after merging master

* Fixes after merging master

* Adress review comments

* Fix azure tests

* Address review feedbacks
2021-03-25 12:42:14 +01:00
Torkel Ödegaard
9d6c8f8512
PanelEdit: v8 Panel Edit UX (#32124)
* 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
2021-03-25 08:33:13 +01:00
Andrej Ocenas
89a178dfb4
Explore: Fix issue when some query errors were not shown (#32212)
* Remove getFirstNonQueryRowSpecificError

* Move some error handling to separate component

* Update public/app/features/explore/ErrorContainer.tsx

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>

* Add comments

* More explicit expects

* Update tests with proper expects

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>
2021-03-23 11:58:09 +01:00
Ivana Huckova
cfdb9db775
Logs: If log message missing, use empty string (#32080)
* Fix error when message in undefined and add test

* Fix typo
2021-03-23 09:17:55 +01:00
Hugo Häggmark
51e7b87f39
Playlist: Migrates New/Edit pages to React (#32218)
* WIP: initial commit

* Playlist: Migrates New/Edit to React

* Tests: adds tests for PlaylistForm

* Tests: adds more tests

* Chore: moved some styles

* Chore: updates after PR review
2021-03-23 07:45:04 +01:00
Torkel Ödegaard
5821783068
Themes: Switch theme without reload using global shortcut (#32180)
* Themes: Switch theme without reload using global shortcut

* Review updates
2021-03-22 08:48:53 +01:00
Marcus Andersson
69201bbf8c
Plugins: moving the DataSourcePicker to grafana/runtime so it can be reused in plugins (#31628)
* 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.
2021-03-18 10:44:26 +01:00
Joan López de la Franca Beltran
610999cfa2
Auth: Allow soft token revocation (#31601)
* 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>
2021-03-16 17:44:02 +01:00
Dominik Prokop
0d92425bb8
RoutingNG: Fix infinite loop caused by history state not being cleaned up (#31952)
* Fix infinite loop caused by history state not being cleaned up

* Ude forceRouteReload counter instead of bool flag

* Review fix
2021-03-16 09:27:32 +01:00
Piotr Jamróz
f97384c2f9
Replace AppEvents with notifyApp in Explore (#31864)
* Replace AppEvents with notifyApp in Explore

* Replace AppEvents with notifyApp in Explore-related components
2021-03-15 15:11:52 +01:00
Josh Hunt
2fb92789e7
Query editor: avoid avoiding word wrap on query editor components (#31949) 2021-03-15 10:15:14 +00:00
Uchechukwu Obasi
f51653647d
Menu: refactor MenuItem and MenuGroup to be standalone component (#31639)
* 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>
2021-03-11 15:35:17 +01:00
Josh Hunt
13a47aede2
AzureMonitor: Migrate Metrics query editor to React (#30783)
* 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
2021-03-11 11:37:39 +00:00
Torkel Ödegaard
0179d23af0
DataQueryRequest: Remove unused props (#31876) 2021-03-11 10:39:41 +01:00
Dominik Prokop
a55a272276
Routing NG: Replace Angular routing with react-router (#31463)
* 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>
2021-03-10 18:03:36 +01:00
Hugo Häggmark
e87d48921e
Admin: Keeps expired api keys visible in table after delete (#31636)
* 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
2021-03-04 13:20:38 +01:00
Ivana Huckova
4c2e5fcbd0
Explore/Logs: Escaping of incorrectly escaped log lines (#31352)
* POC: Escaping of incorrectly escaped log lines

* Remove unused import

* Fix test, change copy

* Make escapedNewlines optional

* Fix typechecks

* Remove loading state from the escaping button

* Update namings
2021-03-03 18:32:27 +01:00
Torkel Ödegaard
c41b559063
FolderPicker: Remove useNewForms from FolderPicker (#31485)
* FolderPicker: Remove useNewForms from FolderPicker

* Updated snapshot
2021-02-26 08:42:00 +01:00
Jack Westbrook
ad68f3c5e6
DashboardSettings: Migrate Link Settings to React (#31150)
* 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>
2021-02-25 11:50:10 +01:00
kay delaney
47d2a8085b
Frontend changes for library panels feature (#30653)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-02-25 10:26:28 +00:00
Torkel Ödegaard
3e55c967ee
Theming: Support for runtime theme switching and hooks for custom themes (#31301)
* WIP Custom themes

* Load custom themes from URL and via event

* Dynamic page background

* Header color change

* Fixing tests and emotion warnings

* Fixed test

* moving cx to getStyles

* Review fixes

* minor change
2021-02-20 09:02:06 +01:00
Alex Khomenko
c21e45e428
Search: display sort metadata (#31167)
* Search: display metadata

* Search: update SortPicker icon

* Search: display folder meta data

* Search: reset sort picker on layout change

* Search: align tags in Card component

* Search: replace hyphen with dash

* Search: preserve sort state on layout change

* Search: update tests

* Search: fix tests

* Update pkg/services/search/hits.go

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/search/components/SearchItem.tsx

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/search/components/SearchItem.tsx

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/search/types.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Search: fix type error

* Search: add General folder name and adjust icon margin

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2021-02-17 14:06:19 +02:00
Josh Hunt
85e186cf10
Grafana-UI: Add id to Select to make it easier to test (#31230)
* 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
2021-02-16 16:19:55 +00:00
Ivana Huckova
350dcb999a
Loki: Add line limit for annotations (#31183)
* Add line limit to Annotation query editor

* Refactor to keep type consistent
2021-02-16 13:27:17 +01:00
dupondje
884a99e375
Disable Change Password for OAuth users (#27886) 2021-02-16 10:20:41 +01:00
Alex Khomenko
6f1a38cbe2
Variables: Extend option pickers to accept custom onChange callback (#30913)
* Rename DashboardPicker props

* Extend variable option pickers to allow providing custom onchage callback

* Update public/app/features/variables/pickers/OptionsPicker/actions.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Update public/app/features/variables/pickers/OptionsPicker/actions.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Update public/app/features/variables/pickers/OptionsPicker/actions.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Update public/app/features/variables/textbox/TextBoxVariablePicker.tsx

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Codeformat

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-02-12 16:00:12 +02:00
Dominik Prokop
8d339a279b
Eslint: no-duplicate-imports rule (bump grafana-eslint-config) (#30989)
* Eslint: no-duplicate-imports rule (bump grafana-eslint-config)

* Chore: Fix duplicate imports (#31041)

* Rebased this branch into eslint-no-duplicate-imports

* updated some changes

* merged uncaught duplicate imports

* fixes frontend test- I hope

* fixes e2e test- I hope

Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
2021-02-11 13:45:25 +01:00
JC Bize
ea605fdeac
Transformations: Fixed typo in FilterByValue transformer description. (#31078) 2021-02-10 10:43:24 +01:00
Jack Westbrook
ef8a5b760f
Dashboard: Migrate general settings to react (#30914)
* 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>
2021-02-09 12:04:03 +01:00
Torkel Ödegaard
50da456bd0
Alerts: Dedupe alerts so that we do not fill the screen with the same alert messsage (#30935) 2021-02-08 10:56:04 +01:00
Oscar Kilhed
e2ecb70051
Dashboard: Ignore changes to dashboard when the user session expires (#30897)
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.
2021-02-04 15:29:38 +01:00
Torkel Ödegaard
56ef7c4a4c
DataSourceSettings: Adds info box and link to Grafana Cloud (#30891)
* Updated

* DataSourceSettings: Adds info box and link to Grafana Cloud

* Updated wording

* Less words

* use variables

* Fixing ts issues

* fixed import
2021-02-04 11:12:20 +01:00
Ryan McKinley
c9c7bfbcaa
Transforms: allow boolean in field calculations (#30802) 2021-02-02 12:41:58 -08:00
tanner-bruce
7a4c32d703
Fix typo in transformer registry (#30712) 2021-02-02 14:01:57 +01:00
Torkel Ödegaard
9407cdd51c
AlertingNG: Update UX to use new PageToolbar component (#30680)
* AlertingNG: Update UX to use new PageToolbar component

* Removed unused imports
2021-01-29 15:02:01 +01:00
Besart Berisha
3390c6a852
Add alt text to plugin logos (#30710) 2021-01-28 21:39:06 +01:00
Alex Khomenko
e36b035c05
DashboardPicker: switch to promise-based debounce, return dashboard UID (#30706)
* Use uid in dashboard picker

* Set both id and uid from picker

* Use debounce-promise

* Simplify logic

* Use exact package versions
2021-01-28 16:57:57 +02:00
Uchechukwu Obasi
d472c7820c
CustomScrollbar: migrated styles from sass to emotion (#30506)
* 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>
2021-01-27 17:47:24 +01:00
Torkel Ödegaard
75cb6703a6
DashboardSettings & PanelEdit: Use new PageToolbar (#30675)
* DashboardSettings & PanelEdit: Use new PageToolbar

* Update

* removed back button
2021-01-27 16:46:01 +01:00
Torkel Ödegaard
f109f06485
Graph: Fixes auto decimals issue in legend and tooltip (#30628)
* Graph: Fixes auto decimals issue in legend and tooltip

* Updated decimals
2021-01-26 12:37:48 +01:00
Torkel Ödegaard
6bdc9fac45
Decimals: Big Improvements to auto decimals and fixes to auto decimals bug found in 7.4-beta1 (#30519)
* Decimals: Nukes scaledDecimals from the earth it was an abomination

* Moved move tests

* Fixed test

* Updated tests

* Updated test
2021-01-22 16:37:56 +01:00
Torkel Ödegaard
5c8d662bfc
Footer: Fixes layout issue in footer (#30443)
* Footer: Fixes missing icon issue causing footer layout issue

* Another fix
2021-01-21 13:01:20 +01:00
Torkel Ödegaard
1d689888b0
Prettier: Upgrade to 2 (#30387)
* Updated package json but not updated source files

* Update eslint plugin

* updated files
2021-01-20 07:59:48 +01:00
Peter Holmberg
4b888d105d
NgAlerting: View query result (#30218)
* 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
2021-01-19 14:04:54 +01:00
Jack Westbrook
c0dd1b6d11
Dashboard: migrate version history list (#29970)
* 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>
2021-01-19 13:19:01 +01:00
Ryan McKinley
4c122f4601
Query Editor: avoid word wrap (#30373) 2021-01-18 23:13:03 -08:00
Ryan McKinley
bb65113c7d
Transforms: add sort by transformer (#30370) 2021-01-18 23:01:38 -08:00
kay delaney
a246a26a2f
Dashboards: Exit to dashboard when deleting panel from panel view / edit view (#29032)
* Dashboards: Exit to dashboard when deleting panel from panel view / edit view
Closes #11941

* Remove ability to delete panel when viewing/editing
2021-01-18 13:34:45 +00:00
Torkel Ödegaard
e54e997801
Badge: Design improvement & reduce contrast (#30328)
* Badge: Design improvement & reduce contrast

* light theme border tweak

* Updated snapshot
2021-01-18 11:51:27 +01:00
Bogdan Matei
46167785e6
Grafana-UI: Enhances for TimeRangePicker and TimeRangeInput (#30102) 2021-01-15 16:53:57 +02:00
Torkel Ödegaard
d10dbc70a1
Icons: Adds custom icon support ands new panel and interpolation icons (#30277)
* Icons: Adds custom icon support ands new panel and interpolation icons

* Removed icon files

* updated snapshot

* Updates
2021-01-14 15:07:19 +01:00
Torkel Ödegaard
ccf2e255fe
Angular: Fixes issue with angular directive caused by angular upgrade in master (#30114) 2021-01-08 10:56:10 +01:00
Torkel Ödegaard
1c808be0f3
QueryEditorRow: Ability to change query name (#29779)
* QueryEditorRow: Ability to change query name

* Style tweaks

* Updated UX

* Fixed tests

* Added validation messages

* Fixed keyboard navigation

* Updated tests
2021-01-07 15:33:15 +01:00
Peter Holmberg
6c1f8b9c34
Ng Alerting: Remove scroll and fix SplitPane limiters (#29906)
* some layout fixes

* use built in limiter
2020-12-17 16:11:12 +01:00
Torkel Ödegaard
d066da42f8
Dashboard: Migrating dashboard settings to react (#27561)
* 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>
2020-12-17 15:50:11 +01:00
Ivana Huckova
2a76195aed
Loki: Remove unnecessary deduplication (#29421)
* 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
2020-12-15 15:18:12 +01:00
Hugo Häggmark
5f4b528122
Select: Changes default menu placement for Select from auto to bottom (#29837)
* Select: Changes default menuPlacement from auto to bottom

* Tests: Fixes snapshot
2020-12-15 12:46:31 +01:00
Peter Holmberg
6118ab415d
Alerting: Next gen Alerting page (#28397)
* 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>
2020-12-11 14:49:14 +01:00
Zoltán Bedi
b3838d372e
Tracing: Release trace to logs feature (#29443)
* 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>
2020-12-10 19:42:43 +01:00
Uchechukwu Obasi
4ea2c7d2b1
ChangePassword: improved keyboard navigation (#29567)
* ChangePassword: improved keyboard navigation

* updated skip button with appropriate tag

* applied box shadow to skip button
2020-12-10 09:41:44 +01:00
Domas
7d9a528184
Logging: rate limit fronted logging endpoint (#29272)
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2020-12-09 16:22:24 +01:00
Chris Cowan
82b21fe35e
Transformer: Rename metrics based on regex (#29281)
* Grafana: Rename By Regex Transformer

* Removing unused deps

* Add scrollIntoView() to TranformTab.content()

* Exporting RenameByRegexTransformerOptions

* Add doc block to renameByRegex transformer

* Adding doc block for RenameByRegexTransformerOptions

* removing scrollIntoView() for transform tab

* Adding back in scrollIntoView() for transform panel

* Tests: fixes e2e tests

* Apply to displayName instead of just the name of the frame

* Rewrite docblock to match new functionality

* Adding documentation

* Changing TLD to domain name

* Fixing typo

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2020-12-09 11:31:13 +01:00
Torkel Ödegaard
3d6380a0aa
QueryGroup & DataSourceSrv & DataSourcePicker changes simplify usage, error handling and reduce duplication, support for uid (#29542)
* 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
2020-12-04 14:24:55 +01:00
Mathieu Rollet
985c7934d9
Login: Fixes typo in tooltip (#29604)
See "log in" (verb) vs "login" (noun) : https://english.stackexchange.com/a/5304/354852
2020-12-04 10:06:01 +01:00
kay delaney
56db402d0f
Chore: Upgrade typescript to 4.1 (#29493)
* Chore: Upgrade typescript to 4.1
2020-12-03 15:05:59 +00:00
Uchechukwu Obasi
88b1517794
Icon: Changed the icon for signing in (#29530)
* Icon: changed the icon for signing in

Signed-off-by: Uchechukwu Obasi <obasiuche62@gmail.com>

* fixes test-frontend (I hope)
2020-12-02 13:50:53 +01:00
Chi-Hsuan Huang
73518bf1e7
Chore: Enable remaining eslint-plugin-react rules (#29519)
* 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 &quot; replaced ' with &apos;

part of: #29201
2020-12-02 10:03:37 +01:00
Chi-Hsuan Huang
546f569e0c
Chore: Enable eslint-plugin-react partial rules (#29428)
* 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
2020-12-01 16:19:52 +01:00
Totalus
754aca25c5
Transformation: added support for excluding/including rows based on their values. (#26884)
* 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>
2020-12-01 10:22:37 +01:00
Peter Holmberg
06e48cb869
Fix: Migrate Panel edit uiState percentage strings to number (#29412) 2020-11-26 13:27:50 +01:00
Peter Holmberg
0b2a6ec7fe
Core: Move SplitPane layout from PanelEdit. (#29266)
* 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
2020-11-25 11:24:06 +01:00
Dominik Prokop
a312f1ae80
Increase search limit on team add user and improve placeholder (#29258) 2020-11-20 08:57:19 +01:00
Dominik Prokop
671b319315
Fix warnings for conflicting style rules (#29249)
* Bump popper

* Bump react-transition group

* Fix react conflicting style ruls warning

* Fix ts
2020-11-20 08:12:42 +01:00
Timothy Palpant
c94e8e61a9
Make backwards compatible (#29212) 2020-11-19 21:08:16 +01:00
Ryan McKinley
d85d547ab3
BackendSrv: support binary responseType like $http did (#29004) 2020-11-18 09:35:28 -08:00
Will Browne
2939caf9a2
Permissions: Validate against Team/User permission role update (#29101)
* validate against role field update

* lowercase error string

* make all msgs consistent style

* fix wording

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* sayonara simple json

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-11-18 15:36:41 +01:00
Dominik Prokop
0cfb967404
ESlint: React fixes part 1 (#29062)
* Eslint: allign with latest grafana-eslint-config

* fix ts

* Fix react/jsx-key

* Fix react/no-children-prop

* Fix react/jsx-no-target-blank
2020-11-18 15:36:35 +01:00
Domas
76df096791
Logging: Log frontend errors (#28073)
* basic frontend  Sentry integration

* backend endpoint to capture sentry events

* WIP!

* log user email for frontend logs

* remove debug logging

* lint fixes

* Fix type exports & property names

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* additional struct naming fix

* rename log endpoint, config section & interface

* add sentry sample rate to config

* refac to use EchoSrv

* log user id

* backend tests

* tests for SentryEchoBackend

* sentry echo backend tests

* CustomEndpointTransport tests

* Update pkg/api/frontend_logging_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update conf/defaults.ini

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/frontend_logging_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* don't export unnecesasrily

* update go.sum

* get rid of Convey in tests, use stdlib

* add sentry config to sample.ini

* cleanup to set orig logging handler in test

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* PR feedback changes

* lock sentry version

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-11-12 12:29:43 +01:00
Andrej Ocenas
5bed54170e
Chore: Split Explore redux code into multiple sections (#28819)
* 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>
2020-11-09 14:48:24 +01:00
Marcus Andersson
dbaf213f8a
Variables: added __user.email to global variable (#28853)
* added email to global variable.

* forgot to increase the count.
2020-11-05 15:26:08 +01:00
Ivana Huckova
0f7a470138
Icon: Replace font awesome icons where possible (#28757)
* Replace font awesome icons where possible

* Implement small updates
2020-11-04 13:34:40 +01:00
jedstar
77f6c241b1
StatPanels: Add new calculation option for percentage difference (#26369)
* Update fieldReducer.ts

addition of percentage difference to the singlestat panel

* Update time_series2.ts

* Update module.ts

* Update calculations-list.md

* Update docs/sources/panels/calculations-list.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update public/app/plugins/panel/singlestat/module.ts

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update module.ts

* Update calculations-list.md

* Update calculations-list.md

* Update module.ts

* Update fieldReducer.ts

* Update fieldReducer.ts

* Update fieldReducer.test.ts

* change name to remove wildcard characters

* Update calculations-list.md

* Update time_series2.ts

Fix spelling

* Update module.ts

* Update fieldReducer.ts

* formatting

* Update fieldReducer.ts

* Update fieldReducer.test.ts

* Update fieldReducer.test.ts

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-11-04 10:19:23 +01:00
Torkel Ödegaard
5a11abe954
Events: Remove unused or unnecessary events (#28783)
* Events: Removing unused or unnessary events

* More cleanup

* Updated
2020-11-03 15:29:43 +01:00
Torkel Ödegaard
b35d4e1e8e
Dependencies: Update angularjs to 1.8.2 (#28736)
* Angular: Update to angukar v1.8 with backward compatability monkey patches

* Update fix

* Updated

* Updated

* Fixes

* Update wording

* Update
2020-11-03 13:18:10 +01:00
Torkel Ödegaard
74c65eca26
EventBus: Introduces new event bus with emitter backward compatible interface (#27564)
* updated

* Experimenting with event bus with legacy support

* Before switch to emitter

* EventBus & Emitter unification

* Everything using new EventBus

* Making progress

* Fixing merge issues

* Final merge issues

* Updated

* Updates

* Fix

* Updated

* Update

* Update

* Rename methods to publish and subscribe

* Ts fixes

* Updated

* updated

* fixing doc warnigns

* removed unused file
2020-11-03 13:08:54 +01:00
Ivana Huckova
f71f03bf94
Explore: Remove redundant decodeURI and fix urls (#28697)
* Remove redundant path URIdecoding

* Remove redundant comments
2020-11-02 18:14:57 +01:00
tabarra
6a97c456ba
LoginPage: Removed auto-capitalization from the login form (#28716)
* 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
2020-11-02 15:28:09 +01:00
Jack Westbrook
f519f89103
Migration: Remove LegacyForms from dashboard folder permissions (#28564)
* refactor(permissionlist): replace legacyform components with next-gen equivalents

* refactor(permissionlist): replace legacyform components

* refactor(permissionlist): clean up PermissionsInfo

* feat(grafana-ui): define line-height for Select option descriptions

* refactor(permissionlist): remove debug code

* refactor(permissionlist): simplify component tree with horizontalgroup. Add label

* refactor(permissionlist): remove redundant classname from Select
2020-11-02 12:55:34 +01:00
Ivana Huckova
05644e7042
Loki: Fix error when some queries return zero results (#28645)
* 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>
2020-10-30 09:12:57 +01:00
Dominik Prokop
4468d41417
Plugin signing: UI information (#28469)
* first pass

* return list

* types and cleanup

* add to plugin page and add styles

* update comment

* update comment

* fix component path

* simplify error component

* simplify error struct

* fix tests

* don't export and fix string()

* update naming

* remove frontend

* introduce phantom loader

* track single error

* remove error from base

* remove unused struct

* remove unnecessary filter

* add errors endpoint

* Update set log to use id field

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* skip adding BE plugins

* remove errs from plugin + ds list

* remove unnecessary fields

* add signature state to panels

* Fetch plugins errors

* grafana/ui component tweaks

* DS Picker - add unsigned badge

* VizPicker - add unsigned badge

* PluginSignatureBadge tweaks

* Plugins list - add signatures info box

* New datasource page - add signatures info box

* Plugin page - add signatures info box

* Fix test

* Do not show Core label in viz picker

* Update public/app/features/plugins/PluginsErrorsInfo.tsx

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

* Update public/app/features/plugins/PluginListPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/plugins/PluginListPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/datasources/NewDataSourcePage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Review comments 1

* Review comments 2

* Update public/app/features/plugins/PluginsErrorsInfo.tsx

* Update public/app/features/plugins/PluginPage.tsx

* Prettier fix

* remove stale backend code

* Docs issues fix

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-10-27 13:08:08 +01:00
Muhammad Hendri
3abd9957aa
Currency: Adds Indonesian IDR currency (#28363) 2020-10-26 08:17:53 +01:00
Zoltán Bedi
ce1f7908c8
Explore: parse time range fix (#28467)
* 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>
2020-10-22 14:37:07 +02:00
Ivana Huckova
a0932f4d2a
Shorten url: Unification across Explore and Dashboards (#28434)
* WIP: Unify short url for dashboards and explore

* Add tests

* Update

* Address feedback, move createShortUrl to buildUrl
2020-10-22 10:31:58 +02:00
Andrej Ocenas
8f4be08b00
Explore: Support wide data frames (#28393)
* Change how isTimeSeries work

* Simplify the decorators and update tests
2020-10-22 10:19:30 +02:00
Ivana Huckova
3f39b4b601
Loki: Visually distinguish error logs for LogQL2 (#28359)
* Loki: Add errored logs and update UI

* Update messaging

* Add icon and tooltip for errored logs

* Update name of variable for more semantic meaning

* Add tests

* Update test

* Refactor, remove unnecessary state

* Update packages/grafana-data/src/types/logs.ts

* Update packages/grafana-ui/src/components/Logs/LogDetails.tsx

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>
2020-10-21 19:11:32 +02:00
Hugo Häggmark
9305117902
BackendSrv: Fixes queue countdown when unsubscribe is before response (#28323) 2020-10-16 16:20:58 +02:00
Hugo Häggmark
280bf9387c
BackendSrv: Reloads page instead of redirect on Unauthorized Error (#28276) 2020-10-15 08:19:51 +02:00
Ryan McKinley
fe423644ae
Transformations: add Concatenate fields transformer (#28237) 2020-10-14 10:34:04 -07:00
Ryan McKinley
f8e0adb168
Transformations: improve the reduce transformer (#27875) 2020-10-14 08:27:58 -07:00
Ivana Huckova
db071e4939
Explore: Allow shortlink generation (#28222)
* 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
2020-10-14 17:08:27 +02:00
garanews
61749dee23
Fix typos (#28074)
Parsed all repo with a regexp of common misspelled words and fixed.
2020-10-07 11:29:30 +01:00
Hugo Häggmark
de1b2bdc4c
Transformations: Use Observable (#27584)
* 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>
2020-10-06 07:55:09 +02:00
Alex Khomenko
6173aa70b7
UserPicker: Use clearable AsyncSelect for the UserPicker (#27994) 2020-10-03 07:19:45 +02:00
kay delaney
185442115c
Chore: Remove angular dependency from data sources (#27735)
* 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
2020-10-01 18:51:23 +01:00
Ryan McKinley
8a5fc00330
Live: broadcast events when dashboard is saved (#27583)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2020-10-01 10:46:14 -07:00
Andrej Ocenas
26ba7ab598
Chore: Remove loki version hack in explore (#27966) 2020-10-01 15:41:05 +02:00
Ivana Huckova
2f5a60f561
Explore: Remove ui params from url (#27753)
* Remove ui from url

* Update tests

* Update changeDedupStrategy

* Add test coverage
2020-10-01 12:18:21 +02:00
kay delaney
d322417217
Chore: Upgrade typescript and related packages (#27316)
* Chore: Upgrade typescript and related packages
Closes #27115

* Apply suggestions from code review

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* fixes some tests

* Fix failing tests

* Apply suggestions from code review

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-09-25 15:48:41 +01:00
Ivana Huckova
f6c91d1318
Explore: Remove not running query for collapsed elements (#27026)
* 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>
2020-09-22 17:31:42 +02:00
Peter Holmberg
6a14f830ba
Fix: Show an ellipsis if Query row title is too long (#27648)
* 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..
2020-09-21 15:33:50 +02:00
Ryan McKinley
aa40320b45
Live: check logged-in-user for grafana live (#27436) 2020-09-15 00:01:14 -07:00
Torkel Ödegaard
b37e132cec
Annotations: Fixes issue with showing error notice for cancelled annotation queries (#27557) 2020-09-14 09:59:12 +02:00
Torkel Ödegaard
8759a91222
PanelEdit: Drag and drop query order & UI tweaks (#27502)
* PanelEdit: Drag and drop query order & UI tweaks

* Fixed width of title issue

* added correct color and hover

* Updated e2e tests
2020-09-14 08:54:42 +02:00
Berbe
794333de3d
Binary-prefixed data rates (#27022)
* 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
2020-09-11 10:42:54 +02:00
Hugo Häggmark
b3fb25010c
DashboardSettings: Fixes auto refresh crash with space in interval (#27438)
* 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
2020-09-09 07:45:51 +02:00
Alex Khomenko
32f99669ff
Search: refactor tests to use react-testing-library (#27352)
* Search: refactor SearchItem.test.tsx

* Search: refactor SearchResults.test.tsx

* Search: mock search_srv

* Search: refactor SearchResultsFilter.test.tsx

* Search: remove redundant mocks

* Search: fix type errors

* Search: move selectors to e2e-selectors
2020-09-08 18:01:38 +03:00
Peter Holmberg
cf2597421b
Analytics: Respect appsuburl in tracking url (#27442)
* add suburl if it exists

* remove log

* remove another log
2020-09-08 15:38:04 +02:00
Kamal Galrani
f6c31c2e10
Fixes signup workflow and UI (#26263)
* fixes signup flow

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* Update ForgottenPassword.tsx

* fixes build failure

* fixes build failure

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2020-09-07 18:24:46 +03:00
kay delaney
783391a861
CloudWatch Logs: Adjusts CloudWatch Logs timeout logic (#26621)
* 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
2020-09-07 14:41:36 +01:00
Hugo Häggmark
72c3257d19
BackendSrv: Uses credentials and defaults to same-origin (#27385)
Co-authored-by: Liu Yang yangliuyu@163.com
2020-09-04 22:11:34 +02:00
Pranit Bauva
a54df0c3cd
Login: Honour root_url for Forget Password related links (#27368)
Closes #27226
2020-09-04 13:58:22 +02:00
Ryan McKinley
febbc60e8b
RangeUtils: migrate logic from kbn to grafana/data (#27347) 2020-09-02 23:54:06 -07:00
Totalus
7db42f0a3c
Transformations: Adding group by and aggregate on multiple fields transformation
* 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>
2020-08-31 10:46:30 +02:00
Dominik Prokop
6dbb803b3f
Transformations: enable transformations reordering (#27197)
* Transformations: enable queries reorder by drag and drop

* Satisfy ts

* Update unicons and replace ellipsis with draggabledot

* remove import

* Remove that snap

* Review

* review 2
2020-08-31 08:47:27 +02:00
Simon Podlipsky
7121d1e63f
Chore: Use uuid v4 as an identifier instead of Date.now() (#27178) 2020-08-26 11:38:39 +02:00
Torkel Ödegaard
ddabf4ade1
Transforms: Labels to fields rewrite that uses merge transform inside it (#27125)
* 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
2020-08-25 09:40:49 +02:00
Simon Podlipsky
84eb03e7e5
BackendSrv: Use uuid v4 as an identifier instead of Date.now() (#27176) 2020-08-25 08:58:21 +02:00
Alex Khomenko
6b2d44416d
Testing: Use React Testing Library (#27072)
* Add RTL

* Add setupTests.ts

* Refactor DashboardSearch tests
2020-08-20 16:21:42 +03:00
Hugo Häggmark
3504009914
FolderPicker: Fixes not being able to create new folder (#27092)
* 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>
2020-08-20 14:54:58 +02:00
Hugo Häggmark
9e357d84a4
BackendSrv: Queues data source requests but passes through api requests (#26947)
* 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>
2020-08-20 11:32:10 +02:00
Torkel Ödegaard
5398ef1103
Templating: Fixed recursive url update issue for textbox variable (#26981)
* Templating: Fixed recursive url update issue for textbox variable

* Updated link

* updated e2e
2020-08-13 14:38:27 +02:00
Zoltán Bedi
75e14aa120
Chore: Let kbn util infer types (#26907)
* Chore: Let kbn util infer types

Type fixes where needed

* Address review comments + test fix

* Modify kbn method and property names to pascalCase
2020-08-13 09:35:32 +02:00
Torkel Ödegaard
a49daf5676
BackendSrv: Improves logic for hiding requests from query inspector (#26877)
* BackendSrv: Improves logic for hiding requests from query inspector

* fixed tests

* Update explore query inspector
2020-08-10 16:08:11 +02:00
Torkel Ödegaard
6789c6ef39
Transformations: Remove beta notice from transformations and field overrides (#26881)
* Transformations: Remove beta badge for transformations and field overrides

* Removed imports

* Update doc links
2020-08-10 10:58:45 +02:00
Jake Krammer
bf3dcc809d
Admin: Fix updating organization name not updating configuration subtitle (#26315)
* Fix updating organization name not updating configuration subtitle

* PR feedback: Remove unnecessary square brackets

* Refactor code to update redux state in a safer way, add org action test

* Refactor updateConfigurationSubtitle test, remove jest.mock usage

* Consolidate dependency type
2020-08-07 09:00:44 +02:00
Ivana Huckova
4a523c3248
Explore: Sort order of log results (#26669)
* 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>
2020-08-06 18:35:49 +02:00
Andreas Opferkuch
d4af373529
AppPlugin: Show exceptions in dev (#26795)
When NODE_ENV is dev, print exceptions that
bubble up from an app plugin to the console and
make developer aware of this instead of only
"404 Error".
2020-08-05 15:47:25 +02:00
Ivana Huckova
6a86e66d76
Query history: Fix search filtering if null value (#26768)
* Fix filtering if null value

* Add test coverage
2020-08-04 11:03:22 +02:00
Zoltán Bedi
7b218b7198
Explore: parse queryType from explore url (#26349)
* Explore: parse queryType from explore url

* Modify explore.ts parse logic
2020-07-22 16:36:53 +02:00
Ben RUBSON
c65cef2327
Branding: Use AppTitle as document title (#26425)
* Branding: Use AppTitle as document title

* Missing Branding include
2020-07-17 22:07:42 +02:00
Torkel Ödegaard
3c1346d83a
BackendSrv: Fix error alert logic (#26411) 2020-07-17 17:01:21 +02:00
Besart Berisha
373e869652
Explore: show meta data when available (#25798)
* 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
2020-07-17 10:30:27 +02:00
kay delaney
1124da56d6
Queries: Move explore state out of query targets (#26203)
* Datasource/CloudWatch: Interal vars no longer sent with query requests

Closes #26202
2020-07-16 14:00:28 +01:00
Ivana Huckova
21971a4df8
Update bg color based on theme (#26359) 2020-07-15 20:27:28 +02:00
Dominik Prokop
187612ca8d
SignIn button - use correct url (#26239)
* SignIn button - use correct url

* Fix SignIn test (#26266)

* Don't use absolute URL

* post review

* Fix snap

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-07-14 12:56:55 +02:00
kay delaney
1391575853
Chore: Removes some unneeded console logging and changes logs to errors (#26235) 2020-07-10 15:07:04 +01:00
Torkel Ödegaard
8f78b0e7bc
Chore: Fix all Typescript strict null errors (#26204)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Now at 218

* Progress

* Update

* Progress

* Updated tests

* at 159

* fixed tests

* Progress

* YAy blow 100! at 94

* 10,9,8,7,6,5,4,3,2,1... lift off

* Fixed tests

* Fixed more type errors

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-07-10 12:46:59 +02:00
Andrej Ocenas
64bc85963b
Explore: Unification of logs/metrics/traces user interface (#25890)
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>
2020-07-09 15:14:55 +01:00
Torkel Ödegaard
49b5fc4b9a
Chore: More typescript strict null fixes, going for sub 200 (#26134)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Now at 218

* Progress

* Update

* Progress

* Updated tests

* at 159

* fixed tests

* Fixed test
2020-07-09 15:16:35 +02:00
Torkel Ödegaard
0428f27194
Templating: Fix recursive loop of template variable queries when changing ad-hoc-variable (#26191)
* Templating: Fix url sync issue with adhoc variables

* Update packages/grafana-ui/src/components/Segment/SegmentAsync.tsx

* Update packages/grafana-ui/src/components/Segment/SegmentAsync.tsx

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-07-09 10:14:28 +02:00
Torkel Ödegaard
2191fe1285
DataSourceWithBackend: Switch to new Observable fetch api (#26043)
* 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>
2020-07-09 07:32:39 +02:00
Torkel Ödegaard
cace879c96
Templating: Fixed recursive queries triggered when switching dashboard settings view (#26137)
* Templating: Fixed recursive queries triggered when going into dashboard settings

* Fixed unused import

* use locationUtil
2020-07-08 13:22:09 +02:00
Marcus Andersson
17d87071e6
Transform: adding missing "table"-transform and "series to rows"-transform to Grafana v7-transforms. (#26042)
* 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
2020-07-08 12:40:05 +02:00
Torkel Ödegaard
fd44c01675
Chore: Fix typescript strict null fixes now at 298 (#26125)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Fixed incorrect type

* removed unused import
2020-07-08 11:05:20 +02:00
Torkel Ödegaard
81e955e6b5
BackendSrv: Cancellable requests & Observable all the way (#25746)
* 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
2020-07-07 21:22:47 +02:00
Torkel Ödegaard
7e8bd0c1b7
Chore: Fix typescript strict null errors from 674 -> 565 (#26057)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot
2020-07-06 21:16:27 +02:00