diff --git a/CHANGELOG.md b/CHANGELOG.md index de48078dd..0ea8b7fd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### Bug Fixes 1. [4895](https://github.com/influxdata/chronograf/pull/4895): Properly set scroll to row for table graph +1. [4906](https://github.com/influxdata/chronograf/pull/4906): Prevent Kapacitor URLs from being overwritten in Connection Wizard. ## v1.7.5 [2018-12-14] diff --git a/ui/src/sources/components/ConnectionWizard.tsx b/ui/src/sources/components/ConnectionWizard.tsx index 588e6474a..d245724a8 100644 --- a/ui/src/sources/components/ConnectionWizard.tsx +++ b/ui/src/sources/components/ConnectionWizard.tsx @@ -134,6 +134,7 @@ class ConnectionWizard extends PureComponent { setError={this.handleSetKapacitorError} kapacitor={kapacitor} showNewKapacitor={showNewKapacitor} + setKapacitorDraft={this.setKapacitorDraft} /> { return response } + private setKapacitorDraft = (kapacitor: Kapacitor) => { + this.setState({kapacitor}) + } + private handleKapacitorPrev = () => {} private handleSetKapacitorError = (b: boolean) => { diff --git a/ui/src/sources/components/KapacitorStep.tsx b/ui/src/sources/components/KapacitorStep.tsx index b4951f982..b78988aa6 100644 --- a/ui/src/sources/components/KapacitorStep.tsx +++ b/ui/src/sources/components/KapacitorStep.tsx @@ -42,6 +42,7 @@ interface Props { setActiveKapacitor: sourcesActions.SetActiveKapacitor fetchKapacitors: sourcesActions.FetchKapacitorsAsync showNewKapacitor?: boolean + setKapacitorDraft: (kapacitor: Kapacitor) => void } interface State { @@ -73,20 +74,15 @@ class KapacitorStep extends Component { constructor(props: Props) { super(props) - const ActiveKapacitor = ActiveKapacitorFromSources( - props.source, - props.sources - ) + const activeKapacitor = + ActiveKapacitorFromSources(props.source, props.sources) || props.kapacitor - let kapacitor - if (props.showNewKapacitor) { - kapacitor = DEFAULT_KAPACITOR - } else { - kapacitor = ActiveKapacitor || props.kapacitor || DEFAULT_KAPACITOR + let kapacitor = syncHostnames(props.source, DEFAULT_KAPACITOR) + + if (!props.showNewKapacitor && activeKapacitor) { + kapacitor = activeKapacitor } - kapacitor = syncHostnames(props.source, kapacitor) - this.state = {kapacitor} } @@ -98,14 +94,19 @@ class KapacitorStep extends Component { if (this.existingKapacitorHasChanged) { try { const {data: updatedKapacitor} = await updateKapacitor(kapacitor) + await this.fetchNewKapacitors() await pingKapacitor(updatedKapacitor) + notify(notifyKapacitorUpdated()) + this.setState({kapacitor: updatedKapacitor}) + return {error: false, payload: updatedKapacitor} } catch (error) { console.error(error) notify(notifyCouldNotConnectToUpdatedKapacitor(kapacitor.name)) + return {error: true, payload: null} } } @@ -114,10 +115,14 @@ class KapacitorStep extends Component { try { const {data: newKapacitor} = await createKapacitor(source, kapacitor) + await this.fetchNewKapacitors() await pingKapacitor(newKapacitor) + this.setState({kapacitor: newKapacitor}) + notify(notifyKapacitorSuccess()) + return {error: false, payload: newKapacitor} } catch (error) { console.error(error) @@ -142,10 +147,12 @@ class KapacitorStep extends Component { } private onChangeInput = (key: string) => (value: string | boolean) => { - const {setError} = this.props + const {setError, setKapacitorDraft} = this.props const {kapacitor} = this.state - this.setState({kapacitor: {...kapacitor, [key]: value}}) + this.setState({kapacitor: {...kapacitor, [key]: value}}, () => { + setKapacitorDraft(this.state.kapacitor) + }) setError(false) }