Make CSV values editable

pull/1347/head
Jared Scheib 2017-04-26 15:17:08 -07:00
parent 06582cfb82
commit e2dac89c7d
1 changed files with 40 additions and 3 deletions

View File

@ -16,6 +16,31 @@ import {TEMPLATE_TYPES} from 'src/dashboards/constants'
import q import q
from 'src/dashboards/utils/onlyTheBigliestBigLeagueTemplateVariableQueryGenerator' from 'src/dashboards/utils/onlyTheBigliestBigLeagueTemplateVariableQueryGenerator'
const RowValues = ({
selectedType,
values = [],
isEditing,
onStartEdit,
autoFocusTarget,
}) => {
const _values = values.map(({value}) => value).join(', ')
if (selectedType === 'csv') {
return (
<TableInput
name="values"
defaultValue={_values}
isEditing={isEditing}
onStartEdit={onStartEdit}
autoFocusTarget={autoFocusTarget}
/>
)
}
return values.length
? <span>{_values}</span>
: <span>(No values to display)</span>
}
const TemplateVariableRow = ({ const TemplateVariableRow = ({
template: {id, label, tempVar, values}, template: {id, label, tempVar, values},
isEditing, isEditing,
@ -78,9 +103,13 @@ const TemplateVariableRow = ({
/> />
</div> </div>
<div className="td"> <div className="td">
{values.length <RowValues
? values.map(({value}) => value).join(', ') selectedType={selectedType}
: '(No values to display)'} values={values}
isEditing={isEditing}
onStartEdit={onStartEdit}
autoFocusTarget={autoFocusTarget}
/>
</div> </div>
<div className="td" style={{display: 'flex'}}> <div className="td" style={{display: 'flex'}}>
{isEditing {isEditing
@ -350,4 +379,12 @@ TableInput.propTypes = {
autoFocusTarget: string, autoFocusTarget: string,
} }
RowValues.propTypes = {
selectedType: string.isRequired,
values: arrayOf(shape()),
isEditing: bool.isRequired,
onStartEdit: func.isRequired,
autoFocusTarget: string,
}
export default OnClickOutside(RowWrapper) export default OnClickOutside(RowWrapper)