From 3953a05cf3bb2caccdb11d7637d3bdc15d885e7f Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 12 Nov 2025 12:29:54 +0100 Subject: [PATCH] DataTable component Signed-off-by: Jonathan --- .../src/components/form/PeopleSelectField.tsx | 54 +++++- .../pages/organizations/assets/AssetsPage.tsx | 155 ++++++++++++------ packages/hooks/src/useToggle.ts | 2 +- packages/ui/package.json | 7 +- packages/ui/src/Atoms/Card/Card.tsx | 13 +- .../src/Atoms/DataTable/DataTable.stories.tsx | 28 ++++ packages/ui/src/Atoms/DataTable/DataTable.tsx | 70 ++++++++ packages/ui/src/Atoms/Select/Select.tsx | 26 ++- packages/ui/src/Atoms/Table/Table.tsx | 1 + .../ui/src/Molecules/Table/EditableCell.tsx | 102 ++++++++++++ packages/ui/src/index.ts | 2 + packages/ui/src/theme.css | 5 + 12 files changed, 395 insertions(+), 70 deletions(-) create mode 100644 packages/ui/src/Atoms/DataTable/DataTable.stories.tsx create mode 100644 packages/ui/src/Atoms/DataTable/DataTable.tsx create mode 100644 packages/ui/src/Molecules/Table/EditableCell.tsx diff --git a/apps/console/src/components/form/PeopleSelectField.tsx b/apps/console/src/components/form/PeopleSelectField.tsx index 3a6f96b1e..28bd79f0a 100644 --- a/apps/console/src/components/form/PeopleSelectField.tsx +++ b/apps/console/src/components/form/PeopleSelectField.tsx @@ -36,7 +36,10 @@ export function PeopleSelectField({ } function PeopleSelectWithQuery( - props: Pick + props: Pick< + Props, + "organizationId" | "control" | "name" | "disabled" | "optional" + >, ) { const { __ } = useTranslate(); const { name, organizationId, control } = props; @@ -53,15 +56,15 @@ function PeopleSelectWithQuery( id={name} variant="editor" placeholder={__("Select an owner")} - onValueChange={(value) => field.onChange(value === "__NONE__" ? null : value)} + onValueChange={(value) => + field.onChange(value === "__NONE__" ? null : value) + } key={people?.length.toString() ?? "0"} {...field} className="w-full" value={field.value ?? (props.optional ? "__NONE__" : "")} > - {props.optional && ( - - )} + {props.optional && } {people?.map((p) => (