Update dependency react-virtualized-auto-sizer to v1.0.20 (#80596)

* Update dependency react-virtualized-auto-sizer to v1.0.20

* Update dependency react-virtualized-auto-sizer to v1.0.20

* update types

* mock in a few more tests

* fix InspectDataTab test

* fix test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
This commit is contained in:
renovate[bot]
2024-01-17 12:13:14 +00:00
committed by GitHub
parent 5add09a9ed
commit f8056a3e56
19 changed files with 180 additions and 52 deletions

View File

@@ -126,7 +126,7 @@
"@types/react-table": "7.7.19",
"@types/react-test-renderer": "18.0.7",
"@types/react-transition-group": "4.4.10",
"@types/react-virtualized-auto-sizer": "1.0.1",
"@types/react-virtualized-auto-sizer": "1.0.4",
"@types/react-window": "1.8.8",
"@types/react-window-infinite-loader": "^1",
"@types/redux-mock-store": "1.0.6",
@@ -381,7 +381,7 @@
"react-transition-group": "4.4.5",
"react-use": "17.4.3",
"react-virtual": "2.10.4",
"react-virtualized-auto-sizer": "1.0.7",
"react-virtualized-auto-sizer": "1.0.20",
"react-window": "1.8.10",
"react-window-infinite-loader": "1.0.9",
"react-zoom-pan-pinch": "^3.3.0",

View File

@@ -51,7 +51,7 @@
"lodash": "4.17.21",
"react": "18.2.0",
"react-use": "17.4.3",
"react-virtualized-auto-sizer": "1.0.7",
"react-virtualized-auto-sizer": "1.0.20",
"tinycolor2": "1.6.0",
"tslib": "2.6.0"
},
@@ -68,7 +68,7 @@
"@types/jest": "^29.5.4",
"@types/lodash": "4.14.202",
"@types/react": "18.2.15",
"@types/react-virtualized-auto-sizer": "1.0.1",
"@types/react-virtualized-auto-sizer": "1.0.4",
"@types/tinycolor2": "1.4.6",
"babel-jest": "29.7.0",
"jest": "^29.6.4",

View File

@@ -2,7 +2,7 @@ import { render, waitFor, waitForElementToBeRemoved } from '@testing-library/rea
import userEvent from '@testing-library/user-event';
import React from 'react';
import { Route } from 'react-router-dom';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props } from 'react-virtualized-auto-sizer';
import { byRole, byTestId, byText } from 'testing-library-selector';
import { locationService } from '@grafana/runtime';
@@ -23,7 +23,13 @@ jest.mock('app/core/components/AppChrome/AppChromeUpdate', () => ({
}));
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: AutoSizerProps) => children({ height: 600, width: 1 });
return ({ children }: Props) =>
children({
height: 600,
scaledHeight: 600,
scaledWidth: 1,
width: 1,
});
});
jest.mock('@grafana/ui', () => ({
...jest.requireActual('@grafana/ui'),

View File

@@ -2,7 +2,7 @@ import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { default as React, useState } from 'react';
import { Provider } from 'react-redux';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props } from 'react-virtualized-auto-sizer';
import { configureStore } from 'app/store/configureStore';
@@ -30,7 +30,13 @@ jest.mock('@grafana/ui', () => ({
}));
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: AutoSizerProps) => children({ height: 1, width: 1 });
return ({ children }: Props) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
const PayloadEditorWithState = () => {

View File

@@ -1,7 +1,7 @@
import { render, waitFor } from '@testing-library/react';
import { noop } from 'lodash';
import React from 'react';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props } from 'react-virtualized-auto-sizer';
import { byRole } from 'testing-library-selector';
import 'core-js/stable/structured-clone';
@@ -14,7 +14,13 @@ import { mockDashboardDto, mockDashboardSearchItem } from '../../mocks';
import { DashboardPicker } from './DashboardPicker';
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: AutoSizerProps) => children({ height: 600, width: 1 });
return ({ children }: Props) =>
children({
height: 600,
scaledHeight: 600,
scaledWidth: 1,
width: 1,
});
});
const server = setupMswServer();

View File

@@ -2,7 +2,7 @@ import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
import { Provider } from 'react-redux';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props } from 'react-virtualized-auto-sizer';
import { byRole, byTestId, byText } from 'testing-library-selector';
import { contextSrv } from 'app/core/services/context_srv';
@@ -22,7 +22,13 @@ jest.mock('../../hooks/useHasRuler');
jest.spyOn(analytics, 'logInfo');
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: AutoSizerProps) => children({ height: 600, width: 1 });
return ({ children }: Props) =>
children({
height: 600,
scaledHeight: 600,
scaledWidth: 1,
width: 1,
});
});
jest.mock('@grafana/ui', () => ({
...jest.requireActual('@grafana/ui'),

View File

@@ -30,7 +30,16 @@ jest.mock('react-virtualized-auto-sizer', () => {
return {
__esModule: true,
default(props: ComponentProps<typeof AutoSizer>) {
return <div>{props.children({ width: 800, height: 600 })}</div>;
return (
<div>
{props.children({
width: 800,
scaledWidth: 800,
scaledHeight: 600,
height: 600,
})}
</div>
);
},
};
});

View File

@@ -4,7 +4,7 @@ import React from 'react';
import { Provider } from 'react-redux';
import { match, Router } from 'react-router-dom';
import { useEffectOnce } from 'react-use';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props as AutoSizerProps } from 'react-virtualized-auto-sizer';
import { mockToolkitActionCreator } from 'test/core/redux/mocks';
import { TestProvider } from 'test/helpers/TestProvider';
import { getGrafanaContextMock } from 'test/mocks/getGrafanaContextMock';
@@ -74,7 +74,13 @@ jest.mock('@grafana/runtime', () => ({
jest.mock('react-virtualized-auto-sizer', () => {
// The size of the children need to be small enough to be outside the view.
// So it does not trigger the query to be run by the PanelQueryRunner.
return ({ children }: AutoSizerProps) => children({ height: 1, width: 1 });
return ({ children }: AutoSizerProps) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
function getTestDashboard(overrides?: Partial<Dashboard>, metaOverrides?: Partial<DashboardMeta>): DashboardModel {

View File

@@ -2,6 +2,7 @@ import { render, screen, act, waitFor } from '@testing-library/react';
import React from 'react';
import { Provider } from 'react-redux';
import { Router } from 'react-router-dom';
import { Props } from 'react-virtualized-auto-sizer';
import { getGrafanaContextMock } from 'test/mocks/getGrafanaContextMock';
import { config, locationService } from '@grafana/runtime';
@@ -47,6 +48,16 @@ jest.mock('@grafana/runtime', () => ({
}),
}));
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: Props) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
function setup(props: Partial<DashboardPageProxyProps>) {
const context = getGrafanaContextMock();
const store = configureStore({});

View File

@@ -4,7 +4,7 @@ import React from 'react';
import { Provider } from 'react-redux';
import { Router } from 'react-router-dom';
import { useEffectOnce } from 'react-use';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props as AutoSizerProps } from 'react-virtualized-auto-sizer';
import { getGrafanaContextMock } from 'test/mocks/getGrafanaContextMock';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
@@ -37,7 +37,13 @@ jest.mock('app/features/dashboard/dashgrid/LazyLoader', () => {
jest.mock('react-virtualized-auto-sizer', () => {
// // // The size of the children need to be small enough to be outside the view.
// // // So it does not trigger the query to be run by the PanelQueryRunner.
return ({ children }: AutoSizerProps) => children({ height: 1, width: 1 });
return ({ children }: AutoSizerProps) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
jest.mock('app/features/dashboard/state/initDashboard', () => ({

View File

@@ -3,7 +3,7 @@ import React from 'react';
import { Provider } from 'react-redux';
import { Router } from 'react-router-dom';
import { useEffectOnce } from 'react-use';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props as AutoSizerProps } from 'react-virtualized-auto-sizer';
import { getGrafanaContextMock } from 'test/mocks/getGrafanaContextMock';
import { TextBoxVariableModel } from '@grafana/data';
@@ -45,7 +45,13 @@ jest.mock('app/features/dashboard/dashgrid/LazyLoader', () => {
jest.mock('react-virtualized-auto-sizer', () => {
// The size of the children need to be small enough to be outside the view.
// So it does not trigger the query to be run by the PanelQueryRunner.
return ({ children }: AutoSizerProps) => children({ height: 1, width: 1 });
return ({ children }: AutoSizerProps) =>
children({
scaledHeight: 1,
height: 1,
scaledWidth: 1,
width: 1,
});
});
function setup(props: Props) {

View File

@@ -1,6 +1,6 @@
import { render, screen } from '@testing-library/react';
import React from 'react';
import { AutoSizerProps } from 'react-virtualized-auto-sizer';
import { Props as AutoSizerProps } from 'react-virtualized-auto-sizer';
import { TestProvider } from 'test/helpers/TestProvider';
import { CoreApp, createTheme, DataSourceApi, EventBusSrv, LoadingState, PluginExtensionTypes } from '@grafana/data';
@@ -124,7 +124,13 @@ jest.mock('@grafana/runtime', () => ({
// for the AutoSizer component to have a width
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: AutoSizerProps) => children({ height: 1, width: 1 });
return ({ children }: AutoSizerProps) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
const getPluginLinkExtensionsMock = jest.mocked(getPluginLinkExtensions);

View File

@@ -3,7 +3,7 @@ import { get, groupBy } from 'lodash';
import memoizeOne from 'memoize-one';
import React from 'react';
import { connect, ConnectedProps } from 'react-redux';
import AutoSizer from 'react-virtualized-auto-sizer';
import AutoSizer, { HorizontalSize } from 'react-virtualized-auto-sizer';
import {
AbsoluteTimeRange,
@@ -296,7 +296,7 @@ export class Explore extends React.PureComponent<Props, ExploreState> {
this.props.modifyQueries(this.props.exploreId, action, modifier);
};
onResize = (size: { height: number; width: number }) => {
onResize = (size: HorizontalSize) => {
this.props.changeSize(this.props.exploreId, size);
};

View File

@@ -39,7 +39,7 @@ jest.mock('react-virtualized-auto-sizer', () => {
return {
__esModule: true,
default(props: ComponentProps<typeof AutoSizer>) {
return <div>{props.children({ height: 1000, width: 1000 })}</div>;
return <div>{props.children({ height: 1000, width: 1000, scaledHeight: 1000, scaledWidth: 1000 })}</div>;
},
};
});

View File

@@ -1,4 +1,5 @@
import { screen, waitFor } from '@testing-library/react';
import { Props } from 'react-virtualized-auto-sizer';
import { EventBusSrv } from '@grafana/data';
@@ -13,6 +14,16 @@ jest.mock('@grafana/runtime', () => ({
getAppEvents: () => testEventBus,
}));
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: Props) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
jest.mock('app/core/core', () => ({
contextSrv: {
hasPermission: () => true,

View File

@@ -1,4 +1,5 @@
import { screen } from '@testing-library/react';
import { Props } from 'react-virtualized-auto-sizer';
import { EventBusSrv, serializeStateToUrlParam } from '@grafana/data';
@@ -12,6 +13,16 @@ jest.mock('@grafana/runtime', () => ({
getAppEvents: () => testEventBus,
}));
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: Props) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
describe('Explore: handle running/not running query', () => {
afterEach(() => {
tearDown();

View File

@@ -25,7 +25,16 @@ jest.mock('react-virtualized-auto-sizer', () => {
return {
__esModule: true,
default(props: ComponentProps<typeof AutoSizer>) {
return <div>{props.children({ width: 1000, height: 1000 })}</div>;
return (
<div>
{props.children({
width: 1000,
scaledWidth: 1000,
scaledHeight: 1000,
height: 1000,
})}
</div>
);
},
};
});

View File

@@ -1,11 +1,22 @@
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React, { ComponentProps } from 'react';
import { Props } from 'react-virtualized-auto-sizer';
import { DataFrame, FieldType } from '@grafana/data';
import { InspectDataTab } from './InspectDataTab';
jest.mock('react-virtualized-auto-sizer', () => {
return ({ children }: Props) =>
children({
height: 1,
scaledHeight: 1,
scaledWidth: 1,
width: 1,
});
});
const createProps = (propsOverride?: Partial<ComponentProps<typeof InspectDataTab>>) => {
const defaultProps = {
isLoading: false,
@@ -17,18 +28,18 @@ const createProps = (propsOverride?: Partial<ComponentProps<typeof InspectDataTa
{
name: 'First data frame',
fields: [
{ name: 'time', type: FieldType.time, values: [100, 200, 300] },
{ name: 'name', type: FieldType.string, values: ['uniqueA', 'b', 'c'] },
{ name: 'value', type: FieldType.number, values: [1, 2, 3] },
{ name: 'time', type: FieldType.time, values: [100, 200, 300], config: {} },
{ name: 'name', type: FieldType.string, values: ['uniqueA', 'b', 'c'], config: {} },
{ name: 'value', type: FieldType.number, values: [1, 2, 3], config: {} },
],
length: 3,
},
{
name: 'Second data frame',
fields: [
{ name: 'time', type: FieldType.time, values: [400, 500, 600] },
{ name: 'name', type: FieldType.string, values: ['d', 'e', 'g'] },
{ name: 'value', type: FieldType.number, values: [4, 5, 6] },
{ name: 'time', type: FieldType.time, values: [400, 500, 600], config: {} },
{ name: 'name', type: FieldType.string, values: ['d', 'e', 'g'], config: {} },
{ name: 'value', type: FieldType.number, values: [4, 5, 6], config: {} },
],
length: 3,
},
@@ -68,9 +79,9 @@ describe('InspectDataTab', () => {
{
name: 'Data frame with logs',
fields: [
{ name: 'time', type: FieldType.time, values: [100, 200, 300] },
{ name: 'name', type: FieldType.string, values: ['uniqueA', 'b', 'c'] },
{ name: 'value', type: FieldType.number, values: [1, 2, 3] },
{ name: 'time', type: FieldType.time, values: [100, 200, 300], config: {} },
{ name: 'name', type: FieldType.string, values: ['uniqueA', 'b', 'c'], config: {} },
{ name: 'value', type: FieldType.number, values: [1, 2, 3], config: {} },
],
length: 3,
meta: {
@@ -90,11 +101,15 @@ describe('InspectDataTab', () => {
{
name: 'Data frame with traces',
fields: [
{ name: 'traceID', values: ['3fa414edcef6ad90', '3fa414edcef6ad90'] },
{ name: 'spanID', values: ['3fa414edcef6ad90', '0f5c1808567e4403'] },
{ name: 'parentSpanID', values: [undefined, '3fa414edcef6ad90'] },
{ name: 'operationName', values: ['HTTP GET - api_traces_traceid', '/tempopb.Querier/FindTraceByID'] },
{ name: 'serviceName', values: ['tempo-querier', 'tempo-querier'] },
{ name: 'traceID', values: ['3fa414edcef6ad90', '3fa414edcef6ad90'], config: {} },
{ name: 'spanID', values: ['3fa414edcef6ad90', '0f5c1808567e4403'], config: {} },
{ name: 'parentSpanID', values: [undefined, '3fa414edcef6ad90'], config: {} },
{
name: 'operationName',
values: ['HTTP GET - api_traces_traceid', '/tempopb.Querier/FindTraceByID'],
config: {},
},
{ name: 'serviceName', values: ['tempo-querier', 'tempo-querier'], config: {} },
{
name: 'serviceTags',
values: [
@@ -107,10 +122,11 @@ describe('InspectDataTab', () => {
{ key: 'container', type: 'string', value: 'tempo-query' },
],
],
config: {},
},
{ name: 'startTime', values: [1605873894680.409, 1605873894680.587] },
{ name: 'duration', values: [1049.141, 1.847] },
{ name: 'logs', values: [[], []] },
{ name: 'startTime', values: [1605873894680.409, 1605873894680.587], config: {} },
{ name: 'duration', values: [1049.141, 1.847], config: {} },
{ name: 'logs', values: [[], []], config: {} },
{
name: 'tags',
values: [
@@ -123,9 +139,10 @@ describe('InspectDataTab', () => {
{ key: 'span.kind', type: 'string', value: 'client' },
],
],
config: {},
},
{ name: 'warnings', values: [undefined, undefined] },
{ name: 'stackTraces', values: [undefined, undefined] },
{ name: 'warnings', values: [undefined, undefined], config: {} },
{ name: 'stackTraces', values: [undefined, undefined], config: {} },
],
length: 2,
meta: {
@@ -151,6 +168,7 @@ describe('InspectDataTab', () => {
meta: {
preferredVisualisationType: 'nodeGraph',
},
config: {},
},
{
name: 'Edges',
@@ -158,6 +176,7 @@ describe('InspectDataTab', () => {
meta: {
preferredVisualisationType: 'nodeGraph',
},
config: {},
},
] as unknown as DataFrame[];
render(

View File

@@ -3382,7 +3382,7 @@ __metadata:
"@types/jest": "npm:^29.5.4"
"@types/lodash": "npm:4.14.202"
"@types/react": "npm:18.2.15"
"@types/react-virtualized-auto-sizer": "npm:1.0.1"
"@types/react-virtualized-auto-sizer": "npm:1.0.4"
"@types/tinycolor2": "npm:1.4.6"
babel-jest: "npm:29.7.0"
d3: "npm:^7.8.5"
@@ -3391,7 +3391,7 @@ __metadata:
lodash: "npm:4.17.21"
react: "npm:18.2.0"
react-use: "npm:17.4.3"
react-virtualized-auto-sizer: "npm:1.0.7"
react-virtualized-auto-sizer: "npm:1.0.20"
rollup: "npm:2.79.1"
rollup-plugin-dts: "npm:^5.0.0"
rollup-plugin-esbuild: "npm:5.0.0"
@@ -9160,12 +9160,12 @@ __metadata:
languageName: node
linkType: hard
"@types/react-virtualized-auto-sizer@npm:1.0.1":
version: 1.0.1
resolution: "@types/react-virtualized-auto-sizer@npm:1.0.1"
"@types/react-virtualized-auto-sizer@npm:1.0.4":
version: 1.0.4
resolution: "@types/react-virtualized-auto-sizer@npm:1.0.4"
dependencies:
"@types/react": "npm:*"
checksum: 67eff0670a1991c2b16992274ada5f0b3f9d5c2d6209ef38e8f8ae2c0218211a3292882f5b7dd6f09519000dc20847629f049c9acc267e000626b7141e5927a6
checksum: e0d41ac6cf0f48dfef45c0cd70146578f42ad83dad90911aa0dfe72b0e1ea62ca9ff56d4f43f322ec6dae2e7cb4d025aefe0e85241f7782c249aeface1050512
languageName: node
linkType: hard
@@ -17157,7 +17157,7 @@ __metadata:
"@types/react-table": "npm:7.7.19"
"@types/react-test-renderer": "npm:18.0.7"
"@types/react-transition-group": "npm:4.4.10"
"@types/react-virtualized-auto-sizer": "npm:1.0.1"
"@types/react-virtualized-auto-sizer": "npm:1.0.4"
"@types/react-window": "npm:1.8.8"
"@types/react-window-infinite-loader": "npm:^1"
"@types/redux-mock-store": "npm:1.0.6"
@@ -17333,7 +17333,7 @@ __metadata:
react-transition-group: "npm:4.4.5"
react-use: "npm:17.4.3"
react-virtual: "npm:2.10.4"
react-virtualized-auto-sizer: "npm:1.0.7"
react-virtualized-auto-sizer: "npm:1.0.20"
react-window: "npm:1.8.10"
react-window-infinite-loader: "npm:1.0.9"
react-zoom-pan-pinch: "npm:^3.3.0"
@@ -25418,6 +25418,16 @@ __metadata:
languageName: node
linkType: hard
"react-virtualized-auto-sizer@npm:1.0.20":
version: 1.0.20
resolution: "react-virtualized-auto-sizer@npm:1.0.20"
peerDependencies:
react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc
react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc
checksum: 3b7dcc4784906948f287c6342487e1431dda860ef2db4f8d4728fcb60b3ad2161f3bd07fc6499006497d7547652107f5766057357d69bb9552b4961fe98e1448
languageName: node
linkType: hard
"react-virtualized-auto-sizer@npm:1.0.7":
version: 1.0.7
resolution: "react-virtualized-auto-sizer@npm:1.0.7"