+
+ {!(limit === 1 && listData.length === 1) && (
+
+ )}
+
+
+ {listData.length > 0 && (
+
+
+ {listData.map((data, index) => (
+
+ ))}
+
+
+ )}
+
+ {helperText && (
+
+
+
+ )}
+
+
+
+ );
+};
+
+export default memo(SortableListComponent);
diff --git a/src/frontend/src/components/core/parameterRenderComponent/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/index.tsx
index a6a256655..af4d4777d 100644
--- a/src/frontend/src/components/core/parameterRenderComponent/index.tsx
+++ b/src/frontend/src/components/core/parameterRenderComponent/index.tsx
@@ -6,6 +6,7 @@ import TabComponent from "@/components/core/parameterRenderComponent/components/
import { TEXT_FIELD_TYPES } from "@/constants/constants";
import { APIClassType, InputFieldType } from "@/types/api";
import { useMemo } from "react";
+import ConnectionComponent from "./components/connectionComponent";
import DictComponent from "./components/dictComponent";
import { EmptyParameterComponent } from "./components/emptyParameterComponent";
import FloatComponent from "./components/floatComponent";
@@ -17,6 +18,7 @@ import LinkComponent from "./components/linkComponent";
import MultiselectComponent from "./components/multiselectComponent";
import PromptAreaComponent from "./components/promptComponent";
import { RefreshParameterComponent } from "./components/refreshParameterComponent";
+import SortableListComponent from "./components/sortableListComponent";
import { StrRenderComponent } from "./components/strRenderComponent";
import ToggleShadComponent from "./components/toggleShadComponent";
import { InputProps, NodeInfoType } from "./types";
@@ -213,6 +215,37 @@ export function ParameterRenderComponent({
id={`slider_${id}`}
/>
);
+ case "sortableList":
+ return (
+