Navigation: Convert PluginDetails page to use new Page extensions (#58509)

* Added labels

* App page fixes

* Switch to switch

* wip

* Updates

* I am stuck

* Minor tweak

* This props interface could work

* removed change

* use new page extensions in plugin details page

* add link separator, fix action button spacing

* some renaming

* Move PageInfo into it's own folder + add tests

* add support for new props in old page header

* remove PluginDetailsHeader as it's no longer used

* Fix unit tests

* fix some badge alignments

* center align actions

* badge alignment + only show downloads for community/commercial plugins

* better link alignment

* conditionally render description

* move install control warnings to below subtitle + refactor

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
This commit is contained in:
Ashley Harrison
2022-11-09 14:44:38 +00:00
committed by GitHub
parent cced175ccf
commit 159607fe6f
19 changed files with 287 additions and 184 deletions

View File

@@ -214,7 +214,7 @@ describe('Plugin details page', () => {
const installedVersion = '1.3.443';
const { queryByText } = renderPluginDetails({ id, installedVersion });
expect(await queryByText(`Version: ${installedVersion}`)).toBeInTheDocument();
expect(await queryByText(`${installedVersion}`)).toBeInTheDocument();
});
it('should display the latest compatible version in the header if a plugin is not installed', async () => {
@@ -230,7 +230,7 @@ describe('Plugin details page', () => {
};
const { findByText, queryByText } = renderPluginDetails({ id, details });
expect(await findByText('Version: 1.1.1')).toBeInTheDocument();
expect(await findByText('1.1.1')).toBeInTheDocument();
expect(queryByText(/>=8.0.0/i)).toBeInTheDocument();
});
@@ -430,9 +430,7 @@ describe('Plugin details page', () => {
});
// Wait for the dependencies part to be loaded
expect(await queryByText(/dependencies:/i)).toBeInTheDocument();
expect(queryByText('Grafana >=8.0.0')).toBeInTheDocument();
expect(await queryByText('Grafana >=8.0.0')).toBeInTheDocument();
});
it('should show a confirm modal when trying to uninstall a plugin', async () => {