diff --git a/client/homebrew/editor/tagInput/tagInput.jsx b/client/homebrew/editor/tagInput/tagInput.jsx index bd3f53db4..8063b4ab2 100644 --- a/client/homebrew/editor/tagInput/tagInput.jsx +++ b/client/homebrew/editor/tagInput/tagInput.jsx @@ -7,13 +7,26 @@ const TagInput = ({unique = true, values = [], ...props})=>{ const [temporaryValue, setTemporaryValue] = useState(''); const [valueContext, setValueContext] = useState(values.map((value)=>({ value: value, editing : false }))); - const readTag = (value)=>{ + + const editTag = (evt)=>{ + setValueContext(valueContext.map((context)=>{ + context.editing = context.value === evt.target.dataset.value ? true : false; + return context; + })) + } + + const renderReadTag = (value)=>{ return ( -
{value}
+
editTag(evt)}> + {value} +
) } - const writeTag = (value)=>{ + const renderWriteTag = (value)=>{ return ( ) @@ -25,7 +38,7 @@ const TagInput = ({unique = true, values = [], ...props})=>{
- {Object.values(valueContext).map((context, i)=>{ return context.editing ? writeTag(context.value) : readTag(context.value) })} + {Object.values(valueContext).map((context, i)=>{ return context.editing ? renderWriteTag(context.value) : renderReadTag(context.value) })}