import React from 'react'; import { Form, SegmentSelection, Button, IconButton } from 'UI'; import FilterSeries from '../FilterSeries'; import { connect } from 'react-redux'; import { edit as editMetric, save } from 'Duck/customMetrics'; import CustomMetricWidgetPreview from 'App/components/Dashboard/Widgets/CustomMetricsWidgets/CustomMetricWidgetPreview'; interface Props { metric: any; editMetric: (metric) => void; save: (metric) => void; loading: boolean; } function CustomMetricForm(props: Props) { const { metric, loading } = props; const addSeries = () => { const newSeries = { name: `Series ${metric.series.size + 1}`, type: '', series: [], filter: { type: '', value: '', }, }; props.editMetric({ ...metric, series: [...metric.series, newSeries], }); } const removeSeries = (index) => { const newSeries = metric.series.filter((_series, i) => { return i !== index; }); props.editMetric({ ...metric, series: newSeries, }); } const write = ({ target: { value, name } }) => props.editMetric({ ...metric.toData(), [ name ]: value }) const changeConditionTab = (e, { name, value }) => { props.editMetric({ ...metric.toData(), [ 'type' ]: value }) }; return (
); } export default connect(state => ({ metric: state.getIn(['customMetrics', 'instance']), loading: state.getIn(['customMetrics', 'saveRequest', 'loading']), }), { editMetric, save })(CustomMetricForm);