From 1e23ce065103b41b9e7b2b8b862fc1ddfefe5fb3 Mon Sep 17 00:00:00 2001 From: Lu Yu Date: Fri, 12 Apr 2024 18:05:22 +0000 Subject: [PATCH 1/6] adjust style Signed-off-by: Lu Yu --- .../data_source_selector.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/plugins/data_source_management/public/components/data_source_selector/data_source_selector.tsx b/src/plugins/data_source_management/public/components/data_source_selector/data_source_selector.tsx index fa0235a6ec3d..32815bf8ef4a 100644 --- a/src/plugins/data_source_management/public/components/data_source_selector/data_source_selector.tsx +++ b/src/plugins/data_source_management/public/components/data_source_selector/data_source_selector.tsx @@ -234,10 +234,21 @@ export class DataSourceSelector extends React.Component< fullWidth={this.props.fullWidth || false} data-test-subj={'dataSourceSelectorComboBox'} renderOption={(option) => ( - - {option.label} + + + {option.label} + {option.id === this.state.defaultDataSource && ( - + Default )} From ceefbd5cd5ddd9a1fa0dd4fad45c9024fba9b1ff Mon Sep 17 00:00:00 2001 From: Lu Yu Date: Sat, 13 Apr 2024 04:22:36 +0000 Subject: [PATCH 2/6] fix style for data source components Signed-off-by: Lu Yu --- .../data_source_item.test.tsx} | 10 +++--- .../data_source_item/data_source_item.tsx | 28 ++++++++++++++++ .../components/data_source_item/index.ts | 6 ++++ .../components/data_source_menu/types.ts | 1 + .../data_source_filter_group.test.tsx.snap | 28 +++++++--------- .../data_source_filter_group.scss | 14 ++++++++ .../data_source_filter_group.tsx | 11 +++++-- .../public/components/data_source_option.tsx | 29 ---------------- .../data_source_selectable.test.tsx.snap | 21 +++--------- .../data_source_selectable.scss | 12 +++++++ .../data_source_selectable.tsx | 33 ++++++++----------- .../data_source_selector.scss | 8 +++++ .../data_source_selector.tsx | 28 +++++----------- 13 files changed, 119 insertions(+), 110 deletions(-) rename src/plugins/data_source_management/public/components/{data_source_option.test.tsx => data_source_item/data_source_item.test.tsx} (74%) create mode 100644 src/plugins/data_source_management/public/components/data_source_item/data_source_item.tsx create mode 100644 src/plugins/data_source_management/public/components/data_source_item/index.ts create mode 100644 src/plugins/data_source_management/public/components/data_source_multi_selectable/data_source_filter_group.scss delete mode 100644 src/plugins/data_source_management/public/components/data_source_option.tsx create mode 100644 src/plugins/data_source_management/public/components/data_source_selectable/data_source_selectable.scss create mode 100644 src/plugins/data_source_management/public/components/data_source_selector/data_source_selector.scss diff --git a/src/plugins/data_source_management/public/components/data_source_option.test.tsx b/src/plugins/data_source_management/public/components/data_source_item/data_source_item.test.tsx similarity index 74% rename from src/plugins/data_source_management/public/components/data_source_option.test.tsx rename to src/plugins/data_source_management/public/components/data_source_item/data_source_item.test.tsx index 7d6375f47d29..8cb736f2fb61 100644 --- a/src/plugins/data_source_management/public/components/data_source_option.test.tsx +++ b/src/plugins/data_source_management/public/components/data_source_item/data_source_item.test.tsx @@ -6,12 +6,12 @@ import { shallow } from 'enzyme'; import React from 'react'; import { EuiBadge, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { DataSourceOptionItem } from './data_source_option'; -import { SelectedDataSourceOption } from './data_source_multi_selectable/data_source_filter_group'; +import { DataSourceItem } from '.'; +import { DataSourceOption } from '../data_source_menu/types'; describe('Test on ShowDataSourceOption', () => { it('should render the component with label', () => { - const item: SelectedDataSourceOption = { + const item: DataSourceOption = { id: '1', label: 'DataSource 1', visible: true, @@ -19,7 +19,7 @@ describe('Test on ShowDataSourceOption', () => { const defaultDataSource = null; const component = shallow( - + ); expect(component.find(EuiFlexGroup)).toHaveLength(1); @@ -36,7 +36,7 @@ describe('Test on ShowDataSourceOption', () => { const defaultDataSource = '1'; const component = shallow( - + ); expect(component.find(EuiFlexGroup)).toHaveLength(1); diff --git a/src/plugins/data_source_management/public/components/data_source_item/data_source_item.tsx b/src/plugins/data_source_management/public/components/data_source_item/data_source_item.tsx new file mode 100644 index 000000000000..06064ccd1836 --- /dev/null +++ b/src/plugins/data_source_management/public/components/data_source_item/data_source_item.tsx @@ -0,0 +1,28 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ +import React from 'react'; +import { EuiBadge, EuiFlexItem, EuiFlexGroup } from '@elastic/eui'; +import { DataSourceOption } from '../data_source_menu/types'; + +interface DataSourceItemProps { + className: string; + option: DataSourceOption[]; + defaultDataSource: string | null; +} + +export const DataSourceItem = ({ className, option, defaultDataSource }: DataSourceItemProps) => { + return ( + + + {option.label || ''} + + {option.id === defaultDataSource && ( + + Default + + )} + + ); +}; diff --git a/src/plugins/data_source_management/public/components/data_source_item/index.ts b/src/plugins/data_source_management/public/components/data_source_item/index.ts new file mode 100644 index 000000000000..92148b4ce5b5 --- /dev/null +++ b/src/plugins/data_source_management/public/components/data_source_item/index.ts @@ -0,0 +1,6 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +export { DataSourceItem } from './data_source_item'; diff --git a/src/plugins/data_source_management/public/components/data_source_menu/types.ts b/src/plugins/data_source_management/public/components/data_source_menu/types.ts index 17aa35d8b8d0..7c32cd3cd3df 100644 --- a/src/plugins/data_source_management/public/components/data_source_menu/types.ts +++ b/src/plugins/data_source_management/public/components/data_source_menu/types.ts @@ -14,6 +14,7 @@ import { DataSourceAttributes } from '../../types'; export interface DataSourceOption { id: string; label?: string; + checked?: string; } export interface DataSourceGroupLabelOption extends DataSourceOption { diff --git a/src/plugins/data_source_management/public/components/data_source_multi_selectable/__snapshots__/data_source_filter_group.test.tsx.snap b/src/plugins/data_source_management/public/components/data_source_multi_selectable/__snapshots__/data_source_filter_group.test.tsx.snap index fe89b1409510..2963bb5c89e1 100644 --- a/src/plugins/data_source_management/public/components/data_source_multi_selectable/__snapshots__/data_source_filter_group.test.tsx.snap +++ b/src/plugins/data_source_management/public/components/data_source_multi_selectable/__snapshots__/data_source_filter_group.test.tsx.snap @@ -43,13 +43,8 @@ exports[`DataSourceFilterGroup should render normally 1`] = ` />
-