sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #05735
[Merge] ~jonesogolo/maas-site-manager:1390-create-search-filter-component into maas-site-manager:main
Jones Ogolo has proposed merging ~jonesogolo/maas-site-manager:1390-create-search-filter-component into maas-site-manager:main.
Commit message:
Feat: Add search and filter to sites list
Requested reviews:
MAAS Committers (maas-committers)
For more details, see:
https://code.launchpad.net/~jonesogolo/maas-site-manager/+git/maas-site-manager/+merge/438514
Work done so far includes:
Adding the search box and connecting it to local state
--
Your team MAAS Committers is requested to review the proposed merge of ~jonesogolo/maas-site-manager:1390-create-search-filter-component into maas-site-manager:main.
diff --git a/frontend/src/components/SitesList/components/SitesTableControls.tsx b/frontend/src/components/SitesList/components/SitesTableControls.tsx
index 2c5b4ee..255b698 100644
--- a/frontend/src/components/SitesList/components/SitesTableControls.tsx
+++ b/frontend/src/components/SitesList/components/SitesTableControls.tsx
@@ -1,4 +1,6 @@
-import { Row, Col } from "@canonical/react-components";
+import { useState } from "react";
+
+import { Row, Col, SearchBox } from "@canonical/react-components";
import type { UseSitesQueryResult } from "../../../hooks/api";
@@ -11,13 +13,26 @@ const SitesTableControls = ({
isLoading,
allColumns,
}: { allColumns: SitesColumn[] } & Pick<UseSitesQueryResult, "data" | "isLoading">) => {
+ const [searchText, setSearchText] = useState("");
+ const handleSearchInput = (inputValue: string) => {
+ setSearchText(inputValue);
+ };
+
return (
<Row>
- <Col size={10}>
+ <Col size={2}>
<h2 className="p-heading--4">
<SitesCount data={data} isLoading={isLoading} />
</h2>
</Col>
+ <Col size={8}>
+ <SearchBox
+ externallyControlled
+ onChange={handleSearchInput}
+ placeholder="Search and filter"
+ value={searchText}
+ />
+ </Col>
<Col className="u-flex u-flex--align-end u-flex--column" size={2}>
<ColumnsVisibilityControl columns={allColumns} />
</Col>
Follow ups