// Libraries import React, { PureComponent } from 'react'; import _ from 'lodash'; // Components import ResetStyles from 'app/core/components/Picker/ResetStyles'; import PickerOption from 'app/core/components/Picker/PickerOption'; import IndicatorsContainer from 'app/core/components/Picker/IndicatorsContainer'; import Select from 'react-select'; // Types import { DataSourceSelectItem } from 'app/types'; export interface Props { onChangeDataSource: (ds: DataSourceSelectItem) => void; datasources: DataSourceSelectItem[]; current: DataSourceSelectItem; } export class DataSourcePicker extends PureComponent { searchInput: HTMLElement; constructor(props) { super(props); } onChange = item => { const ds = this.props.datasources.find(ds => ds.name === item.value); this.props.onChangeDataSource(ds); }; render() { const { datasources, current, onChangeDatasource } = this.props; const options = datasources.map(ds => ({ value: ds.name, label: ds.name, avatarUrl: ds.meta.info.logos.small, })); const value = { label: current.name, label: current.name }; return (