Commit Graph

510 Commits

Author SHA1 Message Date
Taewoo K
7f84e83ffe
Datasource: datasource config page header redesign (#66999)
* Wip

* remove name input from page body

* render title & subTitle in datasource page in connections and remove unused prop - uid

* styling on actions button group

* remove unused props in edit datasource page

* set gap as 8px between buttons

* move editable datasourcename to the header

* add subTitle component

* remove useRef and use autoFocus prop

* pass false to isDefault  when dataSource is undefined

* change button text

* remove suffix icon

* remove unused import - Icon

* consolidate duplicate useDataSourceSettingsNav into datasrouces hook

* move dataSource context to useDataSourceSettingsNav

* remove Explore button in the footer

* remove unused props

* fix failing test on button group

* fix typo on file naming

* remove disabled prop

* fix param

* add test

* add test files

* disable editing title in readOnly provision datasource

* update name should save dataSource

* prevent swith toggle change from label clicking and change margin

* update tooltip message

* use datasource update on header instead of state update

* remvoe subTitle component and move subTitle component next to page Info component

* Added title

* remove subTitle in buildNavModel

* replace Button with Badge

* make datasourceheader as a component

* horizontal gap of 24px between pageInfo and actions components

* align page Info value items

* accept react node as page info label and add tooltip to Default item

* update navId for edit datasource page in connections

* update unit testing for Title

* fix gen_que

* betterer

* prettier fix

* fix e2e test

* add data-testid to nameEditIcon selector

* fix tooltip text

* fix navId for connections datasources edit page

* fix e2e selector: change autoSizeInput to Input

* adding ellipsis to EditDataSourceTitle

* override grafana-ui titleContainer h1 styles

* UI cleanup and apply readOnly to default datasource switch

* add period

* datasource name validation

* title and page info alignment

* add feature toggle - dataSourcePageHeader

* restore basicSettings component and apply feature toggle

* go lint

* Revert "title and page info alignment"

This reverts commit 681ac51f11.

* remove editable fields from page Header - name, default datasource switch

* fix go test: toggle generator

* remove test id

* remove alerting badge in BasicSettings component

* Revert "remove alerting badge in BasicSettings component"

This reverts commit fb33ff9028.

* feature toggle on alerting badge

* rename component & filename

* move DataSourceInfo type

* change button to link in test

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Miguel Palau Zarza <mpalauzarza@gmail.com>
2023-05-23 09:18:00 -04:00
Ivan Ortega Alba
9e61172245
DS Picker: Use custom scrollbar (#68845) 2023-05-22 23:55:18 +02:00
Torkel Ödegaard
2f6d538044
DataSourcePicker: Design tweak proposal (#68747)
* DataSourcePicker: Design tweak proposal

* Revert unrelated change

* Remove unrelated change

* Fixed spacing of logo
2023-05-22 14:53:40 +02:00
Andriy
39e57489a1
fix: Use fall back alert type for data source healthcheck alert when status is not recognised (#68650) 2023-05-22 13:50:46 +02:00
Ivan Ortega Alba
49467b3e5a
DS Picker takes the max height available and flip when needed (#68698)
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2023-05-18 19:42:19 +02:00
Ivan Ortega Alba
1505a188eb
Dashboards: Remove no-datasource screen (#68574)
* Dashboards: Remove non-ds configured landing page

* Remove `datasourceOnboarding` feature toggle
2023-05-17 14:22:40 +02:00
Ivan Ortega Alba
da00df8e5c
DS Picker: Align open advanced button to right (#68394) 2023-05-12 16:03:25 +00:00
Ivan Ortega Alba
ede8df846e
Add/Edit Panel: Enable new DS picker toggle by default (#68380)
* Add Panel: Enable new DS picker and onboarding DS prompt

* Add e2e selectors
2023-05-12 17:09:30 +02:00
Ivan Ortega Alba
cb293ecf1c
Improve DS Advance Picker to give user context about the built in DS and CTA (#68203)
* Add description to DS built-in list of items

* Open the new DS view in a new tab
2023-05-10 15:56:00 -03:00
Juan Cabanas
8ec5527479
DataSourceModal: responsive behavior (#67944) 2023-05-09 09:52:29 -03:00
Juan Cabanas
24668137f8
NavBar: app chrome state wrongly overwritten when ds modal is opened (#67952) 2023-05-08 16:51:42 -03:00
Ashley Harrison
37378c4dd8
Navigation: more nav interface cleanup (#67708)
more nav interface cleanup
2023-05-04 14:17:44 +01:00
Ivan Ortega Alba
1afaf4d73e
Improve empty state when no ds picker were found (#67422) 2023-05-04 13:17:03 +03:00
David Harris
44f75ba185
chore: fix link to docs (#67642)
* chore: fix link to docs

* Update public/app/features/datasources/components/DataSourcesList.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

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

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-05-02 18:05:54 +01:00
Torkel Ödegaard
9614dc2446
Connections: Simplify connections nav (#66813)
* Connections: Simplify connections nav

* rename Connections pages everywhere

---------

Co-authored-by: Miklós Tolnai <miklos.tolnai@grafana.com>
2023-05-02 10:51:59 +02:00
Kuba Siemiatkowski
ba8bba78fc
Datasource: Move the Delete data source button back to the bottom (#67552)
* - move delete button back to the lower section

* - remove the top Delete button

* - fix e2e tests
2023-05-01 12:16:16 +02:00
Oscar Kilhed
836fef6785
DataSourcePicker: keyboard navigatable list hook and implementation in the new data source picker dropdown (#67370)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-04-28 18:19:31 +02:00
Kuba Siemiatkowski
f8faacd54a
Datasource: Overhaul plugin error handling and action buttons (#67014)
* - initial work on data source config page

* - add links to test status box
- add tracking function

* - add test for the DataSourceConfigAlert component

* - fix flicker of the alert box

* - fix the build

* - small improvements

* - fix failing build

* - fix failing unit tests

* - prettier and betterer fixes

* - fix failing e2e tests

* - fix build again

* - rewrite solution according to the PR comments

* - cleanup

* - fix failing e2e

* - use absolute path in link

* Minor fixes

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-04-28 15:57:17 +02:00
Ivan Ortega Alba
8b6160bc66
Fix: Advanced DS picker search is case sensitive (#67420) 2023-04-28 10:38:14 +00:00
Ivan Ortega Alba
4d96afa979
Check add DS permissions in advanced DS picker (#67237) 2023-04-27 16:51:31 +02:00
Ivan Ortega Alba
a576bd4f26
DataSourcePicker: Tweak styles (#67280) 2023-04-26 15:07:51 +02:00
Oscar Kilhed
a4f1206811
DataSourcePicker: Fix datasource picker input not clearing on close (#67248)
Fix datasource picker input not clearing on close
2023-04-26 12:27:32 +02:00
Oscar Kilhed
044d7f61c7
DataSourcePicker: fix flickering datasource dropdown (#67206)
* fix flickering

* refactor onClose/onOpen

* do not set value of input, make the placeholder look like the value instead

* Show search icon when the dropdown is open

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-04-26 10:08:32 +03:00
Ivan Ortega Alba
581cc85ba5
Add analytics to new DS picker and onboarding experience (#67060)
* Add analytics to ds picker advanced mode

* Add analytics to ds picker dropdown
2023-04-25 21:07:16 +02:00
Ivan Ortega Alba
44035ecbb2
Advanced DS Picker open Connections page when toggle is enabled (#67139) 2023-04-25 10:42:04 +02:00
Ivan Ortega Alba
4d474e8e4f
Fix icon size for data source picker list item (#67144) 2023-04-25 10:41:31 +02:00
Ashley Harrison
4e492ae725
Navigation: Unify Page component (#66951)
* remove old page component

* add test to check initDashboard is only called once (prevent variables loading twice)

* add help node

* update unit tests

* remove last mentions of topnav

* fix unit tests

* remove unused props from ButtonRow interface

* remove prop from test
2023-04-24 16:41:32 +01:00
Oscar Kilhed
d419402a43
DataSourcePicker: Add recently used from local storage to ds picker (#66985)
* Add recently used from local storage to ds picker
2023-04-21 18:07:11 +03:00
Ivan Ortega Alba
49624ca2ef
Adjust styles for DS picker dropdown and modal (#67004)
Adjust styles for dropdown and modal
2023-04-21 11:25:03 +02:00
Ivan Ortega Alba
40c7b3126e
Prompt DS modal when the user adds the first panel to a dashboard (#66911)
* Prompt DS modal when the user adds the first panel to a dashboard

* Rename state prop and use toggle

* Change modal size

* Avoid flickering for dashboard modal when changing number of results

* When editing panel 1, only display when new dashboard
2023-04-20 13:44:19 +02:00
Oscar Kilhed
a7e74f6d6d
DataSourcePicker: Refactor and collapse the DataSourceDropdown components (#66820)
* clean up the components and convert to functional components

* Create hooks for getting DS

* remove focus style override from input

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-04-20 12:11:13 +02:00
Ivan Ortega Alba
3edc246ca3
Variables are available in the new DS picker and modal (#66923) 2023-04-20 11:34:24 +02:00
Ivan Ortega Alba
c7af53b79f
[Under FF] New DS Picker with advance mode (#66566)
* Add a wrapper to switch between the previous and new DS picker depending on the feature toggle advancedDataSourcePicker.

* Add a new component to represent the modal DS picker, which we will refer as advanced DS picker
Integrate this into the Edit panel, for now, until we're ready to replace everywhere the grafana-runtime DS picker by the wrapper.

* Replace Drawer component with the dropdown

* Adjust the first version of the styles to fit into this Figma design

* Adjust the design of the FileDropzoneDefaultChildren to match with the new DS modal but everywhere else is used nowadays.

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2023-04-19 16:08:09 +03:00
Ashley Harrison
ab08b4f7f2
Chore: Clean up NavModel interface (#66548)
* clean up navmodel interface

* remove concept of sections from NavModel interface

* clean up applinks
2023-04-17 16:01:32 +01:00
Ashley Harrison
4abe0249ba
Chore: Clean up old navigation (#66287)
* remove code outside of the topnav feature flag

* delete NavBar folder

* remove topnav toggle from backend

* restructure AppChrome folder

* fix utils mock

* fix applinks tests

* remove tests since they're covered in e2e

* fix 1 of the approotpage tests

* Fix another dashboardpage test

* remove reverse portalling + test for plugins using deprecated onNavChanged method

* kick drone

* handle correlations
2023-04-14 09:43:11 +01:00
mikkancso
659024f672
EditDataSources: Add EditDataSourceActions to EditDataSourcePages (#64487)
* add EditDataSourceActions to EditDataSourcePages

* fix tests

* EditDSPage: do not show buttons in header if topnav is off

* remove delete button from the header

* EditDSPage: hide buttons from footer when topnav is on

* update tests

* rename ActionProps to Props

* wrap setting of feature toggle in act in jest test

* fix jest test by using waitFor
2023-04-13 09:53:18 +02:00
Ashley Harrison
1261345b81
Chore: Upgrade to react 18 (#64428)
* update react 18 related deps

* fix some types

* make sure we're on react-router-dom >= 5.3.3

* Use new root API

* Remove StrictMode for now - react 18 double rendering causes issues

* fix + ignore some @grafana/ui types

* fix some more types

* use renderHook from @testing-library/react in almost all cases

* fix storybook types

* rewrite useDashboardSave to not use useEffect

* make props optional

* only render if props are provided

* add correct type for useCallback

* make resourcepicker tests more robust

* fix ModalManager rendering

* fix some more unit tests

* store the click coordinates in a ref as setState is NOT synchronous

* fix remaining e2e tests

* rewrite dashboardpage tests to avoid act warnings

* undo lint ignores

* fix ExpanderCell types

* set SymbolCell type correctly

* fix QueryAndExpressionsStep

* looks like the types were actually wrong instead :D

* undo this for now...

* remove spinner waits

* more robust tests

* rewrite errorboundary test to not explicitly count the number of renders

* make urlParam expect async

* increase timeout in waitFor

* revert ExplorePage test changes

* Update public/app/features/dashboard/containers/DashboardPage.test.tsx

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

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

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

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

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

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

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

* skip fakeTimer test, ignore table types for now + other review comments

* update package peerDeps

* small tweak to resourcepicker test

* update lockfile...

* increase timeout in sharepublicdashboard tests

* ensure ExplorePaneContainer passes correct queries to initializeExplore

* fix LokiContextUI test

* fix unit tests

* make importDashboard flow more consistent

* wait for dashboard name before continuing

* more test fixes

* readd dashboard name to variable e2e tests

* wait for switches to be enabled before clicking

* fix modal rendering

* don't use @testing-library/dom directly

* quick fix for rendering of panels in firefox

* make PromQueryField test more robust

* don't wait for chartData - in react 18 this can happen before the wait code even gets executed

---------

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2023-04-11 10:51:54 +01:00
mikkancso
eec7462bc3
Admin/Plugins: Change alert about Connections to subtitle (#65913)
* change ConnectionRedirectNotice to a subtitle on Admin/Plugins

* cleanup ConnectionsRedirectNotice a bit
2023-04-05 10:23:25 +02:00
Ashley Harrison
b19f7bb653
Chore: update more unit tests to work with react 18 (#64812)
update more unit tests to work with react 18
2023-03-16 10:00:39 +00:00
Giordano Ricci
bda1a91e80
Chore: fix EmptyStateNoDatasource flaky test (#64520)
Chore: fix EmptyStateNoDatasourceflaky test
2023-03-14 10:03:04 +00:00
Ashley Harrison
53186c14a4
Chore: Improve some types (#64675)
* some type fixes

* few more

* more type fixes

* fix the majority of (window as any) calls

* don't make new variable for event

* few more

* MOAR
2023-03-14 09:51:44 +00:00
Timur Olzhabayev
20b79b41eb
Feat: Changing link destination for get more plugins (#63517)
* Changing link destination for get more plugins

* Changing codeowners to plugins platform frontend

* Remove unused variable
2023-03-07 15:16:27 +01:00
Timur Olzhabayev
0b2dfaa710
Feat: Linking to plugin details page rather than externally for new datasources (#63499)
Changed links to help enterprise users install plugins directly via internal grafana catalog instead of linking out to grafana.com
2023-03-02 17:08:40 +01:00
mikkancso
913cb17eac
Connections: Fix minor issues around Your connections/Data sources page (#63801)
* Connections: redirects to data sources

If Data sources page is the only child of Your connections, then the
NavLandingPage doesn't really make sense.

* DataSourcesList: do not show add button twice

If there are no data sources configured, then the DataSourcesList page
shows a large CTA to add a data source. Therefore, the add new data
source button in the header is redundant, let's remove it from there
in this case.

* DataSources: redirect to Connections after delete

The primary place of the DataSourceList page is under Connections,
provided that the `dataConnectionsConsole` feature is turned on.
Therefore, let's redirect there after deleting a data source.
2023-03-01 08:23:08 +01:00
Giordano Ricci
c136ad1f16
Datasource Onboarding: Prevent flickering of onboarding page after first load (#63360)
* Datasource Onboarding: Prevent flickering of onboarding page after first load

* add loading state to loadDatasources & refactor

* fix test

* avoid loading state when loading datasources on add

* fix test

* add explainer on why fetching datasources is needed
2023-02-24 11:48:30 +00:00
Ashley Harrison
f8d89eff56
Chore: fix type errors in tests (#63270)
* fix any's in tests

* fix more any's in tests

* more test type fixes

* fixing any's in tests part 3

* more test type fixes

* fixing test any's p5

* some tidy up

* fix template_srv
2023-02-14 16:46:42 +01:00
Levente Balogh
fc6a4eee61
Datasources: Add optional tracking for datasources list viewed (#62949)
chore: add optional tracking for datasources list viewed
2023-02-06 14:57:55 +01:00
Levente Balogh
e3512ddd7e
Datasources: Fix tracking event name (#62940)
fix: fix typo in event name
2023-02-06 12:15:44 +01:00
Levente Balogh
b32c1022c5
Datasources: Add more optional UI tracking (#62785)
* chore: add more optional UI tracking for datasources

* tests: fix the tests by wrapping them in a router
2023-02-03 09:47:42 +01:00
Levente Balogh
de97ac7128
Datasources: Rename a UI tracking event property (#62788)
refactor: rename the the `editLink` property to `path`
2023-02-03 09:00:04 +01:00
Torkel Ödegaard
b8e7ef48d0
AppChrome: Unify logic for chromeless pages that should not have NavBar, CommandPalette, Search etc (#62281)
* Keybindings: No global keybindings on chromeless pages

* simplify condition

* Refactoring

* Align name and file

* Move logic into AppChrome

* minor fix

* Update Page.tsx

* Fixing test

* Fixed tests

* More fixes

* Fixed more tests

* Fixing final test

* Fixed search in old nav
2023-02-02 09:53:06 +01:00
Timur Olzhabayev
ce50168b70
Fix: Save and test error message does not persist across datasource instance settings anymore 2023-02-02 09:50:12 +01:00
Will Browne
e7bfc4e749
TestData: Remove references to TestData "DB" (#62603)
* remove refs testdatadb

* fix trailing semi-colon

* remove pluginName completely
2023-01-31 16:40:00 +00:00
Gilles De Mey
702fd0f9e8
Docs: Update wording / text and copy (#61868)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-01-30 15:26:21 +00:00
Levente Balogh
9b2abe7613
Datasources: Extend properties for the datasource-test tracking event (#62292)
chore: extend properties for the test datasource tracking event
2023-01-30 08:29:13 +01:00
Levente Balogh
83ff974b86
Datasources: Add the props for the "add datasource" event (#62227)
chore: pass editLink to the add datasource user event
2023-01-27 10:47:18 +01:00
Ludovic Viaud
220ee3d1d4
Prometheus: Disabled inputs when settings are read-only (#60354) 2023-01-10 16:13:42 +01:00
Torkel Ödegaard
f71bfd88c5
DataSourceList: Build a dashboard button to open new dashboard in panel edit with data source already set (#60532)
* New dashboard with preset data source

* Updates

* use replace instead

* Tests: fix failing tests

* Chore: add UID to the error message

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-01-06 09:21:40 -05:00
mikkancso
18f5f763a9
Connections: Align permissions for Connections page (#60725)
* protect /connection url paths with permissions

These permissions match the original ones at /datasources and /plugins

* add Connections section to navtree only if user has permissions

This commit works only when the easystart plugin is not present.
I'll see what I can do when it is present in the next commit(s).

* update datasources page permissions

The datasources page have Explore buttons on datasource entries,
therefore it makes sense to show this page for those, who can't edit or
create datasources but have explore permissions.
This applies for the traditional Editor role.

* DataSourcesList: link to edit page only if has right to write

If the user doesn't have rights to write datasources, then it's better
to not create a link from cards to the edit page. This way they won't
see the configuration of the data sources either, which is a desirable
outcome.

Also, I moved the query for DataSourcesExplore permission out from the
DataSourcesListView component in the DataSourcesList component, next to
the other permission queries - for the sake of consistency.

* fix permissions for connect data

This way it matches the permissions of the "Plugins" page.

* fix applinks test
2023-01-06 03:11:27 -05:00
mikkancso
8e8f498674
Connections: Add redirect notice for datasources and plugins pages (#61037)
* add redirect notice for datasources and plugins pages

* do not depend on the internal implementation of Alert

The deleted css piece was problematic because it relied on the internals
of Alert.
If we don't remove that padding, then the Alert looks a bit off, so I
added some title to the Alert to look better.

This way the Connections LinkButton is not vertically aligned to the
center, but this is the closest we can get to the designed alert without
doing hacks and reimplementing the Alert component.
2023-01-06 09:00:29 +01:00
Giordano Ricci
122be161f9
Datasource Onboarding: add tracking (#60918)
* Datasource Onboarding: add tracking

* remove unused var

* set ds logo alt text to empty screenn and remove presentation role

* run i18n:extract

* Revert "run i18n:extract"

This reverts commit 5313ac9661.
2023-01-05 22:27:43 +00:00
Giordano Ricci
9ff3bf4849
Explore: Use Datasource Onboarding page when visiting without any datasource set up (#60399)
* allow DatasourceOnboarding title and cta text customization

* Explore: use Datasource Onboarding page when visiting without any datasource set up

* move & rename DatasourceOnboarding

* Rename component
2022-12-29 15:38:40 +00:00
Dominik Prokop
c3c4a57c79
grafana/data: Move getPanelOptionsWithDefaults from core (#60813)
* grafana/data: Move getPanelOptionsWithDefaults from core

* Add internal comments
2022-12-29 05:48:22 -08:00
Joao Silva
bf541ee3d1
DatasourceList: Fixes using sub path on datasources URL (#59597) 2022-12-21 14:21:04 +01:00
Ashley Harrison
ba6d2f2a82
Chore: improve some more types (#60476)
* improve some more types

* fixes

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-12-20 13:07:57 +00:00
mikkancso
edb86d4bf3
DataSources: fix DataSourceAddButton component (#60176)
* fix DataSourceAddButton component

This component implicitly returned `false` when `canCreateDataSource`
was false, and that way it didn't qualify as a function component.
We fixed it to explicitly return null in this case.

* DataSourceAddButton: update function signature

This is more consistent with other code in this codebase.
2022-12-15 09:25:03 +01:00
Ashley Harrison
3a5c3b517c
Navigation: conditionally use actions in DataSourceListPage (#60300)
* conditionally use actions in DataSourceListPage

* fix unit tests
2022-12-14 13:19:29 +00:00
Karl Persson
6d1bcd9f40
DataSourcePermissions: Handle licensing properly for ds permissions (#59694)
* RBAC: add viewer grand if dspermissions enforcement is not enabled

* RBAC: Change permissions based on role prefix

* RBAC: Add option to for permission service to add a license middleware

* RBAC: Remove actions from query struct
2022-12-02 13:19:14 +01:00
mikkancso
c72322874d
Connections: Update "Your connections/Data sources" page (#58589)
* navtree.go: update Data sources title and subtitle

* DataSourceList: move add button to header

* DataSourcesList: add buttons to items

The action buttons are added inside `<Card.Tags>` so that they end up at
the right end of the card, as it was designed.

The "Build a Dashboard" button's functionality is not defined yet.

* DataSourcesListHeader: add sort picker

* fix css

* tests: look for the updated "Add new data source" text

* tests: use an async test method to verify component updates are wrapped in an act()

* update e2e selector for add data source button

* fix DataSourceList{,Page} tests

* add comment for en dash character

* simplify sorting

* add link to Build a Dashboard button

* fix test

* test build a dashboard and explore buttons

* test sorting data source elements

* DataSourceAddButton: hide button when user has no permission

* PageActionBar: remove unneeded '?'

* DataSourcesList: hide explore button if user has no permission

* DataSourcesListPage.test: make setup prop explicit

* DataSourcesList: use theme.spacing

* datasources: assure explore url includes appSubUrl

* fix tests and add test case for missing permissions

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-11-30 09:41:01 +01:00
kay delaney
a8c181bf6a
Chore: Migrate usage of v1 theme to v2 (#58154) 2022-11-03 18:15:55 +00:00
Marcus Andersson
b804b2f073
Plugins: Added hook to make it easier to track interactions in plugins (#56126)
* first stab at context away plugin tracking.

* adding a plugin context and a hook to get hold of a tracker that always appends the plugin context information.

* wip

* improved the code a bit.

* wip

* Fixed type errors.

* added datasource_uid to data sources.

* fixed error message when trying to use hook outside of context.

* small refactoring according to feedback.

* using the correct provider for data source context.

* check not needed.

* enforcing the interaction name to start with grafana_plugin_

* exposing guards for the other context type.

* added structure for writing reporter hook tests.

* added some more tests.

* added tests.

* reverted back to inheritance between context types.

* adding mock for getDataSourceSrv
2022-11-02 16:57:57 +01:00
Ashley Harrison
e5c68f40c2
Accessibility: enable rule jsx-a11y/label-has-associated-control (#57964)
* use labels correctly

* fix opentsdb labels

* fix unit tests

* use aria-label instead of data-testid
2022-11-01 14:37:58 +00:00
Andrej Ocenas
0845ac2f53
Profiling: Add Phlare and Parca datasources (#57809)
* Add phlare datasource

* Rename

* Add parca

* Add self field to parca

* Make sure phlare works with add to dashboard flow

* Add profiling category and hide behind feature flag

* Update description and logos

* Update phlare icon

* Cleanup logging

* Clean up logging

* Fix for shift+enter

* onRunQuery to set label

* Update type naming

* Fix lint

* Fix test and quality issues

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2022-10-28 13:33:37 +02:00
kay delaney
b49713d323
Chore: Remove unused files (#57515) 2022-10-25 23:34:53 +01:00
Galen Kistler
f93c3acc51
Prometheus: Flavor/version configuration (#57554)
* Revert "Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)"
This reverts commit 2432ce619a.
* Adds new fields and documentation for Prometheus datasource configuration: prometheus type, and version
2022-10-24 14:53:11 -05:00
Galen Kistler
2432ce619a
Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)
This reverts commit 7ecbc98b3e.
2022-10-24 12:33:11 -05:00
Galen Kistler
7ecbc98b3e
Prometheus: Type and flavor configuration (#56496)
* Adding two new fields to the data JSON in the prometheus datasource configuration: prometheusType, and prometheusVersion.
* Version field will attempt to auto-detect via buildinfo API when prometheus Type is selected
2022-10-24 09:26:32 -05:00
Yaelle Chaudy
6ee69853dc
Datasource Config Editor: Add event-based funnel for measuring CVR (#55105)
* Added start event on adding new DS from datasources/new page

* Added end event + tests

* revert analytics.ts changes

* revert azure tracking changes

* changed version in doc

* update props name for consistency with plugin-platform PR to come

* Updated tests
2022-10-24 11:09:26 +02:00
Levente Balogh
ae5e8bc53b
refactor: rename Data Connections to Connections (#56353) 2022-10-05 09:56:58 +02:00
Sonia Aguilar
ef641ea9c9
Alerting: fix alert supported warning when editing data source name (#55886) 2022-09-28 14:41:54 +02:00
kay delaney
64bbb7a7ce
Chore: Update and enforce usage of typed react-redux hooks (#55349)
* Chore: Update and enforce usage of typed react-redux hooks
2022-09-19 10:49:35 +01:00
Torkel Ödegaard
d639b5a7f8
Datasources: New data source page should work with new nav (#55094) 2022-09-14 21:12:09 +02:00
Torkel Ödegaard
d59bb1e4c2
IconName: Move to grafana/data and use type on NavModelItem (#55013)
* IconName: Allow strings

* Moving to grafana/data and adding type to NavModelItem

* Removed any type

* ts fix
2022-09-12 20:09:33 +02:00
kay delaney
4c7732ad17
Chore: Upgrade Typescript to 4.8.2 (#54901)
* Chore: Upgrade typescript to 4.8.2
2022-09-09 16:17:58 +01:00
Torkel Ödegaard
11de1dfe40
TopNav: Plugin page layouts / information architecture (#53174)
* Change nav structure when topnav is enable to do initial tests with new information architecture

* Support for nested sections

* Updated

* sentance case

* Progress on plugin challange

* Rewrite to functional component

* Progress

* Updates

* Progress

* Progress on things

* missing file

* Fixing issue with runtime, need to use setter way to set component exposed via runtime

* Move PageLayoutType to grafana/data

* Fixing breadcrumb issue, adding more tests

* reverted backend change

* fix recursive issue with cleanup
2022-09-05 14:56:08 +02:00
Ashley Harrison
d765aaff49
use navId + pageNav on datasource pages (#54218) 2022-08-25 13:58:41 +01:00
Ashley Harrison
3cf95d7eee
Chore: fix some anys pt.2 (#53928)
* correctly type some more any's

* undo this change for now...
2022-08-22 16:51:33 +01:00
Gilles De Mey
0923d2455c
Alerting: Show alerting enabled for Alertmanager data sources (#54023) 2022-08-22 14:34:55 +02:00
Sonia Aguilar
f416651842
Show alerting availability in data source details (#53391)
* Show alerting availability in data source details

* Show tooltip info in data source dropdown when creating an alert

* return earlier in HeaderExtras component

* Use getDataSourceSrv().getInstanceSettings instead of getDataSourceSrv().get to simplify

* Make information icon clickable and open a new window with documentation url
2022-08-12 15:32:07 +02:00
Levente Balogh
d7556bd189
fix: use type instead of uid to get datasource metadata (#53543) 2022-08-11 07:24:39 +02:00
Agnès Toulet
44cc9132e3
RBAC: Add RBAC for query caching (#52113)
* start adding RBAC for query caching

* update with scope

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-07-28 09:49:58 +02:00
Levente Balogh
a1c565dec9
Data Connections: Add data sources (#52436)
* feat: show data-sources under the data-connections page

* refactor: add a constant for data-sources routes

* refactor: add a context that holds the currently active data-sources routes

* refactor: use the data-sources routes constant wherever possible

* refactor: use the data-sources routes context wherever possible

* feat(data-connections): add edit and new pages

* feat(data-connections): set the the custom routes via the context provider

* fix(data-connections): set the active tab properly

We needed to update the routes to match with the ones on the backend ("data-sources" vs "datasources"),
and we also needed to check if it is the default tab, in which case we would like to highlight the Datasources tab.

* tests: fix tests for Data Connections page

* fix: address rebase issues

* tests: find button based on role and text

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* fix: add missing closing ) paren in tests

* refactor: use implicit return types for components

* tests: change role from "button" to "link"

* refactor: stop using unnecessary wrapper components

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-07-25 14:29:21 +02:00
Agnès Toulet
66f941adb8
RBAC: Add RBAC for data source insights (#51496) 2022-07-20 12:54:26 +02:00
Levente Balogh
d6d49d8ba3
DataSources: refactor datasource pages to be reusable (#51874)
* refactor: move utility functions out of the redux actions

* refactor: move password handlers to the feature root

* refactor: move API related functions to an api.ts

* refactor: move components under a /components folder

* refactor: move page containers under a /pages folder and extract components

* refactor: update mocks to be easier to reuse

* refactor: move tests into a state/tests/ subfolder

* refactor: expose 'initialState' for plugins

* refactor: move generic types to the root folder of the feature

* refactor: import path fixe

* refactor: update import paths for app routes

* chore: update betterer

* refactor: fix type errors due to changed mock functions

* chore: fix mocking context_srv in tests

* refactor: udpate imports to be more concise

* fix: update failing test because of mocks

* refactor: use the new `navId` prop where we can

* fix: use UID instead ID in datasource edit links

* fix:clean up Redux state when unmounting the edit page

* refactor: use `uid` instead of `id`

* refactor: always fetch the plugin details when editing a datasource

The deleted lines could provide performance benefits, although they also make the
implementation more prone to errors. (Mostly because we are storing the information
about the currently loaded plugin in a single field, and it was not validating if it
is for the latest one).

We are planning to introduce some kind of caching, but first we would like to clean up
the underlying state a bit (plugins & datasources.

* fix: add missing dispatch() wrapper for update datasource callback

* refactor: prefer using absolute import paths

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* fix: ESLINT import order issue

* refactor: put test files next to their files

* refactor: use implicit return types for components

* fix: remove caching from datasource fetching

I have introduced a cache to only fetch data-sources once, however as we
are missing a good logic for updating the instances in the Redux store
when they change (create, update, delete), this approach is not keeping the UI in sync.
Due to this reason I have removed the caching for now, and will reintroduce it once we have a
more robust client-side state logic.

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-20 09:25:09 +02:00
Levente Balogh
99de3313f7
Datasources: Refactor the list page (#51438)
* refactor(Data Sources): rename file to follow naming convention

* refactor: use react-redux hooks for interacting with the store

* tests: update data-sources list related test files

* refactor: extract datasource list page contents

* refactor: pass dataSources to the DataSourcesList as a prop

* refactor: use proper typing for navIndex mocks
2022-07-07 11:15:34 +02:00
Torkel Ödegaard
1e85a6f4fd
TopNav: New page layouts (#51510)
* First stab at new page layouts behind feature toggle

* Simplifying PageHeader

* Progress on a new model that can more easily support new and old page layouts

* Progress

* rename folder

* Progress

* Minor change

* fixes

* Fixing tests

* Make breadcrumbs work

* Add tests for old Page component

* Adding tests for new Page component and behavior

* fixing page header test

* Fixed test

* AppChrome outside route

* Renaming folder

* Minor fix

* Updated

* Fixing StoragePage

* Fix for banners

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-06 17:00:56 +02:00
Seyaji
ec1480b964
Chore: Convert DataSourceDashboards test to RTL (#51294)
* Convert DataSourceDashboards test to RTL

* Convert DataSourceDashboards test to RTL

* Convert DataSourceDashboards test to RTL

* Update public/app/features/datasources/DataSourceDashboards.test.tsx

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

* Convert DataSourceDashboards test to RTL

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-06-23 14:39:00 +03:00
Seyaji
3710c9a7c8
Chore: Convert DataSourcesListPage test to RTL (#51138)
* Convert DataSourceListPage test to RTL

* Convert DataSourceListPage test to RTL
2022-06-21 11:47:54 +01:00
Seyaji
606732dd5e
Chore: Converts ButtonRow tests to RTL (#51068) 2022-06-20 15:46:11 +03:00
Seyaji
244650835e
Refactor 'Basic Settings' test to RTL from Enzyme (#51059)
* Refactor 'Basic Settings' test to RTL from Enzyme

* Update public/app/features/datasources/settings/BasicSettings.test.tsx

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

* Refactor 'Basic Settings' test to RTL from Enzyme

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-06-18 13:13:51 +03:00