From 51b0e19424314730ad1e1dc6ca8267ce8c25726a Mon Sep 17 00:00:00 2001 From: ebb-tide Date: Thu, 28 Jun 2018 16:26:23 -0700 Subject: [PATCH] Return hydrated template values with correct selected and picked fields --- ui/src/dashboards/reducers/ui.js | 35 ++++++++++++++------------------ 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/ui/src/dashboards/reducers/ui.js b/ui/src/dashboards/reducers/ui.js index e5b31fe1a0..536d056444 100644 --- a/ui/src/dashboards/reducers/ui.js +++ b/ui/src/dashboards/reducers/ui.js @@ -196,30 +196,25 @@ const ui = (state = initialState, action) => { if (template.id !== templateID) { return template } - // || template.type === 'csv' - // get this to run for csvs? const pickedValue = _.get(template, 'values', []).find(v => v.picked) - let val - if (pickedValue) { - val = values.map(value => ({ - picked: _.get(pickedValue, 'value') === value, - value, - type: TEMPLATE_VARIABLE_TYPES[template.type], - })) - } else { - const selectedValue = _.get(template, 'values', []).find( - v => v.selected - ) - val = values.map(value => ({ - picked: _.get(selectedValue, 'value') === value, - value, - type: TEMPLATE_VARIABLE_TYPES[template.type], - })) - } + const selectedValue = _.get(template, 'values', []).find( + v => v.selected + ) + const newValues = values.map(value => { + const isPicked = _.get(pickedValue, 'value', null) === value + const isSelected = _.get(selectedValue, 'value', null) === value + const newValue = { + picked: pickedValue ? isPicked : isSelected, + selected: isSelected, + value, + type: TEMPLATE_VARIABLE_TYPES[template.type], + } + return newValue + }) return { ...template, - values: val, + values: newValues, } })