Sync URL query upon saving temp vars in manager
Co-authored-by: Deniz Kusefoglu <denizk@gmail.com> Co-authored-by: Jared Scheib <jared.scheib@gmail.com>pull/3556/head
parent
be41ac7d17
commit
a706e44854
|
@ -33,6 +33,7 @@ import {showOverlay} from 'src/shared/actions/overlayTechnology'
|
||||||
import {
|
import {
|
||||||
applyDashboardTempVarOverrides,
|
applyDashboardTempVarOverrides,
|
||||||
stripTempVar,
|
stripTempVar,
|
||||||
|
generateURLQueryFromTempVars,
|
||||||
} from 'src/dashboards/utils/templateVariableQueryGenerator'
|
} from 'src/dashboards/utils/templateVariableQueryGenerator'
|
||||||
|
|
||||||
import {dismissEditingAnnotation} from 'src/shared/actions/annotations'
|
import {dismissEditingAnnotation} from 'src/shared/actions/annotations'
|
||||||
|
@ -297,11 +298,20 @@ class DashboardPage extends Component {
|
||||||
templates,
|
templates,
|
||||||
})
|
})
|
||||||
onSaveTemplatesSuccess()
|
onSaveTemplatesSuccess()
|
||||||
|
this.syncURLQueryFromTempVars(templates)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
syncURLQueryFromTempVars = tempVars => {
|
||||||
|
const {dashboardActions, location} = this.props
|
||||||
|
|
||||||
|
const updatedQueries = generateURLQueryFromTempVars(tempVars)
|
||||||
|
|
||||||
|
dashboardActions.updateURLQueryValue(location, updatedQueries)
|
||||||
|
}
|
||||||
|
|
||||||
handleRunQueryFailure = error => {
|
handleRunQueryFailure = error => {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
this.props.errorThrown(error)
|
this.props.errorThrown(error)
|
||||||
|
|
|
@ -62,6 +62,19 @@ export const makeQueryForTemplate = ({influxql, db, measurement, tagKey}) =>
|
||||||
export const stripTempVar = tempVarName =>
|
export const stripTempVar = tempVarName =>
|
||||||
tempVarName.substr(1, tempVarName.length - 2)
|
tempVarName.substr(1, tempVarName.length - 2)
|
||||||
|
|
||||||
|
export const generateURLQueryFromTempVars = tempVars => {
|
||||||
|
const queries = {}
|
||||||
|
|
||||||
|
tempVars.forEach(({tempVar, values}) => {
|
||||||
|
const selected = values.find(value => value.selected === true)
|
||||||
|
const strippedTempVar = stripTempVar(tempVar)
|
||||||
|
|
||||||
|
queries[strippedTempVar] = selected.value
|
||||||
|
})
|
||||||
|
|
||||||
|
return queries
|
||||||
|
}
|
||||||
|
|
||||||
const reconcileTempVarsWithOverrides = (currentTempVars, tempVarOverrides) => {
|
const reconcileTempVarsWithOverrides = (currentTempVars, tempVarOverrides) => {
|
||||||
if (!tempVarOverrides) {
|
if (!tempVarOverrides) {
|
||||||
return currentTempVars
|
return currentTempVars
|
||||||
|
|
Loading…
Reference in New Issue