diff --git a/src/frontend/src/pages/StorePage/index.tsx b/src/frontend/src/pages/StorePage/index.tsx
index b8ef061fd..65d83d062 100644
--- a/src/frontend/src/pages/StorePage/index.tsx
+++ b/src/frontend/src/pages/StorePage/index.tsx
@@ -45,20 +45,19 @@ export default function StorePage(): JSX.Element {
const [size, setPageSize] = useState(10);
const [index, setPageIndex] = useState(1);
- function handleChangePagination(pageIndex: number, pageSize: number) {}
-
useEffect(() => {
handleGetComponents();
}, []);
const handleGetComponents = () => {
setLoading(true);
- getStoreComponents(1, 10)
+ getStoreComponents(index - 1, 10000)
.then((res) => {
- setSearchData(res);
+ setSearchData(res.slice(0, 10));
setLoading(false);
setErrorApiKey(false);
setData(res);
+ setTotalRowsCount(res.length);
})
.catch((err) => {
setSearchData([]);
@@ -84,6 +83,34 @@ export default function StorePage(): JSX.Element {
);
};
+ function handleChangePagination(pageIndex: number, pageSize: number) {
+ setLoading(true);
+ getStoreComponents(pageIndex, pageSize)
+ .then((res) => {
+ setPageIndex(pageIndex);
+ setPageSize(pageSize);
+ setSearchData(res);
+ setLoading(false);
+ setErrorApiKey(false);
+ setData(res);
+ })
+ .catch((err) => {
+ setSearchData([]);
+ setLoading(false);
+ setErrorApiKey(true);
+ setErrorData({
+ title: "Error to get components.",
+ list: [err["response"]["data"]["detail"]],
+ });
+ });
+ }
+
+ function resetFilter() {
+ setPageIndex(1);
+ setPageSize(10);
+ handleGetComponents();
+ }
+
const loadingWithApiKey = loading;
const renderComponents = !loading;
@@ -113,103 +140,108 @@ export default function StorePage(): JSX.Element {
Search flows and components from the community.
- {renderComponents && (
-
-
-
- Added Only
-
-
- {
- setInputText(e.target.value);
- }}
- onKeyDown={(e) => {
- if (e.key === "Enter") {
- handleSearch(inputText);
- }
- }}
- value={inputText}
- />
-
-
-
-
+ {renderComponents && (
+ <>
+
+ {searchData
+ .filter(
+ (f) =>
+ Array.from(filteredCategories).length === 0 ||
+ filteredCategories.has(f.is_component)
+ )
+ .map((item, idx) => (
+
+ ))}
+
+ >
+ )}
+
+ {totalRowsCount > 0 && !loading && (
+
)}
-
{loadingWithApiKey && (
Loading...
)}
diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts
index 536253771..f444d4b98 100644
--- a/src/frontend/src/types/components/index.ts
+++ b/src/frontend/src/types/components/index.ts
@@ -271,6 +271,7 @@ export type PaginatorComponentType = {
rowsCount?: number[];
totalRowsCount: number;
paginate: (pageIndex: number, pageSize: number) => void;
+ storeComponent?: boolean;
};
export type ConfirmationModalType = {