mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[Discover][DocViewer] Fix toggle columns from doc viewer table tab (#95748)
This commit is contained in:
parent
b0772471ce
commit
3a7f23efac
2 changed files with 45 additions and 0 deletions
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { shallow } from 'enzyme';
|
||||
import { DocViewerTab } from './doc_viewer_tab';
|
||||
import { ElasticSearchHit } from '../../doc_views/doc_views_types';
|
||||
|
||||
describe('DocViewerTab', () => {
|
||||
test('changing columns triggers an update', () => {
|
||||
const props = {
|
||||
title: 'test',
|
||||
component: jest.fn(),
|
||||
id: 1,
|
||||
render: jest.fn(),
|
||||
renderProps: {
|
||||
hit: {} as ElasticSearchHit,
|
||||
columns: ['test'],
|
||||
},
|
||||
};
|
||||
|
||||
const wrapper = shallow(<DocViewerTab {...props} />);
|
||||
|
||||
const nextProps = {
|
||||
...props,
|
||||
renderProps: {
|
||||
hit: {} as ElasticSearchHit,
|
||||
columns: ['test2'],
|
||||
},
|
||||
};
|
||||
|
||||
const shouldUpdate = (wrapper!.instance() as DocViewerTab).shouldComponentUpdate(nextProps, {
|
||||
hasError: false,
|
||||
error: '',
|
||||
});
|
||||
expect(shouldUpdate).toBe(true);
|
||||
});
|
||||
});
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { isEqual } from 'lodash';
|
||||
import { I18nProvider } from '@kbn/i18n/react';
|
||||
import { DocViewRenderTab } from './doc_viewer_render_tab';
|
||||
import { DocViewerError } from './doc_viewer_render_error';
|
||||
|
@ -46,6 +47,7 @@ export class DocViewerTab extends React.Component<Props, State> {
|
|||
return (
|
||||
nextProps.renderProps.hit._id !== this.props.renderProps.hit._id ||
|
||||
nextProps.id !== this.props.id ||
|
||||
!isEqual(nextProps.renderProps.columns, this.props.renderProps.columns) ||
|
||||
nextState.hasError
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue