Skip to content

Commit 0389f2b

Browse files
committed
add autocomplete on revision
1 parent 300f07a commit 0389f2b

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

cyclops-ui/src/components/pages/TemplateStore/TemplateStore.tsx

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
Popover,
1717
Checkbox,
1818
Switch,
19+
AutoComplete,
1920
} from "antd";
2021
import axios from "axios";
2122
import {
@@ -66,6 +67,9 @@ const TemplateStore = () => {
6667
const [templateSourceTypeFilter, setTemplateSourceTypeFilter] =
6768
useState<string[]>(sourceTypeFilter);
6869

70+
const [repoRevisions, setRepoRevisions] = useState<string[]>([]);
71+
const [repoRevisionOptions, setRepoRevisionOptions] = useState([]);
72+
6973
const [addForm] = Form.useForm();
7074
const [editForm] = Form.useForm();
7175
const [notificationApi, contextHolder] = notification.useNotification();
@@ -346,6 +350,27 @@ const TemplateStore = () => {
346350
);
347351
};
348352

353+
const fetchRepoRevisions = (e) => {
354+
axios
355+
.get(`/api/templates/revisions?repo=` + e.target.value)
356+
.then((res) => {
357+
setRepoRevisions(res.data);
358+
})
359+
.catch(() => {});
360+
};
361+
362+
const handleRepoInput = (value) => {
363+
if (repoRevisions.length === 0) {
364+
setRepoRevisionOptions([]);
365+
return;
366+
}
367+
368+
const filtered = repoRevisions
369+
.filter((item) => item.toLowerCase().includes(value.toLowerCase()))
370+
.map((item) => ({ value: item }));
371+
setRepoRevisionOptions(filtered);
372+
};
373+
349374
return (
350375
<div>
351376
{error.message.length !== 0 && (
@@ -636,7 +661,7 @@ const TemplateStore = () => {
636661
rules={[{ required: true, message: "Repo URL is required" }]}
637662
style={{ marginBottom: "12px" }}
638663
>
639-
<Input />
664+
<Input onBlur={fetchRepoRevisions} />
640665
</Form.Item>
641666

642667
<Form.Item
@@ -653,7 +678,13 @@ const TemplateStore = () => {
653678
name={["ref", "version"]}
654679
style={{ marginBottom: "12px" }}
655680
>
656-
<Input />
681+
<AutoComplete
682+
options={repoRevisionOptions}
683+
onSearch={handleRepoInput}
684+
allowClear
685+
>
686+
<Input />
687+
</AutoComplete>
657688
</Form.Item>
658689

659690
{advancedTemplateGitOpsWrite()}

0 commit comments

Comments
 (0)