Skip to content

Commit

Permalink
Fix toggle column action in the discover page (#8905)
Browse files Browse the repository at this point in the history
* Update DocViewerTab if columns is changed
* Add unit test for DocViewerTab prop 'columns' changed
* Add changeset file
* Changeset file for PR #8905 created/updated
* Use the new license header

---------

Signed-off-by: Tony Lee <[email protected]>
Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com>
Co-authored-by: Miki <[email protected]>
  • Loading branch information
3 people authored Dec 13, 2024
1 parent 85273e3 commit faa6b54
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/8905.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
fix:
- Fix toggle column action in the discover page ([#8905](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8905))
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

import React from 'react';
import { mount } from 'enzyme';
import { DocViewerTab, DocViewerTabProps } from './doc_viewer_tab';
import { DocViewRenderProps } from '../../doc_views/doc_views_types';

test('DocViewerTab updated when getting new renderProps', () => {
const MockComp = ({ columns }: DocViewRenderProps) => (
<div data-test-subj="test-div">{columns![0]}</div>
);

const mockProps: DocViewerTabProps = {
id: 1,
title: 'Test1',
component: MockComp,
renderProps: {
hit: { _id: '1' },
columns: ['test1'],
},
};

const wrapper = mount(<DocViewerTab {...mockProps} />);

const div = wrapper.find({ 'data-test-subj': 'test-div' });
expect(div.text()).toEqual('test1');

mockProps.renderProps = { hit: { _id: '1' }, columns: ['test2'] };
wrapper.setProps(mockProps);
expect(div.text()).toEqual('test2');
});
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ export class DocViewerTab extends React.Component<Props, State> {
shouldComponentUpdate(nextProps: Props, nextState: State) {
return (
nextProps.renderProps.hit._id !== this.props.renderProps.hit._id ||
nextProps.renderProps.columns !== this.props.renderProps.columns ||
nextProps.id !== this.props.id ||
nextState.hasError
);
Expand Down

0 comments on commit faa6b54

Please sign in to comment.