Skip to content
Snippets Groups Projects
Commit d791e2e4 authored by Imre Toth's avatar Imre Toth
Browse files

ICSHWI-7397: Restricting user to enter (valid) tag, or commitId for IOC

parent 28f1e721
No related branches found
No related tags found
1 merge request!57ICSHWI-7397: Restricting user to enter (valid) tag, or commitId for IOC
Pipeline #89443 passed
......@@ -414,7 +414,6 @@ export function useRenewToken() {
}
export function unpackLokilog(logData) {
console.log(logData);
return { ...logData };
}
......@@ -455,5 +454,15 @@ export function useNamingNames() {
const api = useContext(apiContext);
const method = callAndUnpack((iocName) => api.apis.Naming.fetchIOCByName({iocName: iocName}), unpackNamingList)
return useAsync({ fcn: method, call: false, init: [] });
}
export function unpackTagAndCommitIdList(tagList) {
return tagList.toString().split(",");
}
export function useTagsAndCommitIds() {
const api = useContext(apiContext);
const method = callAndUnpack((repoUrl) => api.apis.Git.listTagsAndCommitIds({gitRepo: repoUrl}), unpackTagAndCommitIdList)
return useAsync({ fcn: method, call: false, init: [] });
}
\ No newline at end of file
import React, { useEffect, useState } from "react";
import { Button, TextField, Dialog, DialogActions, DialogContent, DialogTitle, makeStyles } from "@material-ui/core";
import { Autocomplete } from "@material-ui/lab";
import { useCSEntrySearch, useNamingNames } from "../../api/SwaggerApi";
import { useCSEntrySearch, useNamingNames, useTagsAndCommitIds } from "../../api/SwaggerApi";
import { useTypingTimer } from "../common/SearchBoxFilter/TypingTimer";
const useStyles = makeStyles((theme) => ({
......@@ -18,6 +18,8 @@ export function IOCDialog({ open, setOpen, isUpdateIoc, submitCallback, title, b
const [names, getNames] = useNamingNames();
const [name, setName] = useState("");
const [nameQuery, onNameKeyUp] = useTypingTimer({interval: 500});
const [tagOrCommitId, getTagOrCommitId] = useTagsAndCommitIds([]);
const [gitRepo, setGitRepo] = useState("");
const handleClose = () => {
setOpen(false);
......@@ -26,12 +28,10 @@ export function IOCDialog({ open, setOpen, isUpdateIoc, submitCallback, title, b
console.log({...init});
console.log(hosts);
console.log(host);
console.log(names);
console.log(name);
useEffect(() => getHosts(`fqdn:"${query}"`), [query, getHosts]);
useEffect(() => getHosts(`fqdn:"${query}"`), [query, getHosts, getTagOrCommitId]);
useEffect(() => getNames(nameQuery), [nameQuery, getNames]);
useEffect(() => getNames(nameQuery), [nameQuery, getNames, getTagOrCommitId]);
const onSubmit = (event) => {
event.preventDefault();
......@@ -71,7 +71,6 @@ export function IOCDialog({ open, setOpen, isUpdateIoc, submitCallback, title, b
autoHighlight
id="nameAutocomplete"
options={names}
defaultValue = { init }
getOptionLabel={(option) => {console.log(option?.name); return option?.name}}
renderInput={(params) => <TextField {...params} label="IOC name" variant="outlined" required/>}
onChange={(event, value, reason) => setName(value)}
......@@ -80,14 +79,24 @@ export function IOCDialog({ open, setOpen, isUpdateIoc, submitCallback, title, b
}
<TextField autoComplete="off" className={classes.textField} id="description" label="description" variant="outlined" defaultValue={init.description || ""} fullWidth />
<TextField autoComplete="off" className={classes.textField} id="git" label="git" variant="outlined" defaultValue={init.git || ""} fullWidth />
<TextField autoComplete="off" className={classes.textField} id="version" label="git reference" variant="outlined" defaultValue={init.version || ""} fullWidth />
<TextField autoComplete="off" className={classes.textField} id="git" label="git" variant="outlined" defaultValue={init.git || ""} fullWidth onChange={(event) => setGitRepo(event.target.value)} />
<Autocomplete
className={classes.textField}
autoHighlight
id="version"
options={tagOrCommitId}
onFocus={(event) => {getTagOrCommitId(gitRepo);}}
getOptionLabel={(option) => {return option}}
disabled={(!gitRepo) || (gitRepo.trim() === "")}
renderInput={(params) => <TextField {...params} label="Git reference" variant="outlined"/>}
/>
<Autocomplete
className={classes.textField}
autoHighlight
id="host"
options={hosts}
defaultValue = { init }
getOptionLabel={option => {console.log(option); return option?.csEntryHost?.fqdn}}
renderInput={(params) => <TextField {...params} label="host" variant="outlined" />}
onChange={(event, value, reason) => setHost(value)}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment