@@ -59,12 +59,13 @@ import {
59
59
PopoverContent ,
60
60
PopoverTrigger ,
61
61
} from "components/Popover/Popover" ;
62
- import { HelpTooltipTitle , HelpTooltipText , HelpTooltipLinksGroup , HelpTooltipLink } from "components/HelpTooltip/HelpTooltip" ;
63
- import { docs } from "utils/docs" ;
62
+ import { HelpTooltipTitle , HelpTooltipText , } from "components/HelpTooltip/HelpTooltip" ;
64
63
import ExpandMoreOutlined from "@mui/icons-material/ExpandMoreOutlined" ;
65
64
import { ProvisionerTag } from "pages/HealthPage/ProvisionerDaemonsPage" ;
66
65
import { Stack } from "components/Stack/Stack" ;
67
66
import { additionalTags } from "utils/provisionertags" ;
67
+ import TextField from "@mui/material/TextField" ;
68
+ import AddIcon from '@mui/icons-material/Add' ;
68
69
69
70
type Tab = "logs" | "resources" | undefined ; // Undefined is to hide the tab
70
71
@@ -194,8 +195,10 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
194
195
} , [ buildLogs ] ) ;
195
196
196
197
const disabled = false ;
197
- const extraTags = additionalTags ( templateVersion . job . tags ) ;
198
- // const extraTags = {
198
+ const [ extraTags , setExtraTags ] = useState ( additionalTags ( templateVersion . job . tags ) ) ;
199
+ const [ keyInput , setKeyInput ] = useState ( "" ) ;
200
+ const [ valueInput , setValueInput ] = useState ( "" ) ;
201
+ // extraTags = {
199
202
// "key1": "value1",
200
203
// "1": "2",
201
204
// "3": "true",
@@ -306,16 +309,57 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
306
309
>
307
310
< HelpTooltipTitle > Provisioner Tags</ HelpTooltipTitle >
308
311
< HelpTooltipText >
309
- { Object . keys ( extraTags ) . length > 0 ? (
310
- < Stack direction = "row" spacing = { 1 } wrap = "wrap" >
311
- { Object . keys ( extraTags ) . map ( ( k ) =>
312
- < ProvisionerTag key = { k } k = { k } v = { extraTags [ k ] } />
313
- ) }
312
+ < Stack >
313
+ { Object . keys ( extraTags ) . length > 0 ? (
314
+ < Stack direction = "row" spacing = { 1 } wrap = "wrap" >
315
+ { Object . keys ( extraTags ) . map ( ( k ) =>
316
+ < ProvisionerTag key = { k } k = { k } v = { extraTags [ k ] } onDelete = { ( ) => {
317
+ return
318
+ } } />
319
+ ) }
320
+ </ Stack >
321
+ ) : ( "No tags" ) }
322
+
323
+ < Stack direction = "row" >
324
+ < TextField
325
+ size = "small"
326
+ name = "key-input"
327
+ autoComplete = "off"
328
+ id = "key-input"
329
+ value = { keyInput }
330
+ onChange = { ( event ) => {
331
+ setKeyInput ( event . target . value ) ;
332
+ } }
333
+ label = "Key"
334
+ />
335
+ < TextField
336
+ size = "small"
337
+ name = "value-input"
338
+ autoComplete = "off"
339
+ id = "value-input"
340
+ value = { valueInput }
341
+ onChange = { ( event ) => {
342
+ setValueInput ( event . target . value ) ;
343
+ } }
344
+ label = "Value"
345
+ />
346
+ < Button
347
+ onClick = { ( ) => {
348
+ if ( keyInput && valueInput ) {
349
+ const newTags = { ...extraTags } ;
350
+ newTags [ keyInput ] = valueInput ;
351
+ setExtraTags ( newTags ) ;
352
+ setKeyInput ( "" ) ;
353
+ setValueInput ( "" ) ;
354
+ }
355
+ } }
356
+ variant = "contained"
357
+ color = "secondary"
358
+ >
359
+ < AddIcon />
360
+ </ Button >
361
+ </ Stack >
314
362
</ Stack >
315
- ) : (
316
- "No tags"
317
- ) }
318
-
319
363
</ HelpTooltipText >
320
364
</ div >
321
365
</ PopoverContent >
0 commit comments