diff --git a/public/app/features/datasources/NewDataSourcePage.tsx b/public/app/features/datasources/NewDataSourcePage.tsx index 6ef46480e6d..f03304327a6 100644 --- a/public/app/features/datasources/NewDataSourcePage.tsx +++ b/public/app/features/datasources/NewDataSourcePage.tsx @@ -1,114 +1,51 @@ import React, { PureComponent } from 'react'; import { connect } from 'react-redux'; import { hot } from 'react-hot-loader'; -import Select from 'react-select'; import PageHeader from 'app/core/components/PageHeader/PageHeader'; -import { DataSourceType, NavModel } from 'app/types'; +import { NavModel, Plugin } from 'app/types'; import { addDataSource, loadDataSourceTypes } from './state/actions'; import { updateLocation } from '../../core/actions'; import { getNavModel } from 'app/core/selectors/navModel'; export interface Props { navModel: NavModel; - dataSourceTypes: DataSourceType[]; + dataSourceTypes: Plugin[]; addDataSource: typeof addDataSource; loadDataSourceTypes: typeof loadDataSourceTypes; updateLocation: typeof updateLocation; } -export interface State { - name: string; - type: { value: string; label: string }; -} - -class NewDataSourcePage extends PureComponent { - state = { - name: '', - type: null, - }; - +class NewDataSourcePage extends PureComponent { componentDidMount() { this.props.loadDataSourceTypes(); } - onChangeName = event => { - this.setState({ - name: event.target.value, - }); - }; - - onTypeChanged = type => { - this.setState({ - type: type, - }); - }; - - submitForm = event => { - event.preventDefault(); - - if (!this.isFieldsEmpty()) { - this.props.addDataSource(this.state.name, this.state.type.value); - } - }; - - goBack = () => { - this.props.updateLocation({ path: '/datasources' }); - }; - - isFieldsEmpty = () => { - const { name, type } = this.state; - - if (name === '' && !type) { - return true; - } else if (name !== '' && !type) { - return true; - } else { - return !!(name === '' && type); - } + onDataSourceTypeClicked = type => { + this.props.addDataSource(type.name, type.value); }; render() { const { navModel, dataSourceTypes } = this.props; - const { name, type } = this.state; return (
-

New Data source

-
-
- Name - -
-
- Type -