From 7d2d26aab5cff1d6094f4ce301aeff6ad249797d Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 2 Jun 2025 20:40:38 +0200 Subject: [PATCH] Add document type field Signed-off-by: Bryan Frimin Signed-off-by: Sacha Al Himdani --- .../documents/DocumentLinkDialog.tsx | 15 +- .../documents/LinkedDocumentsCard.tsx | 6 + .../DocumentLinkDialogQuery.graphql.ts | 17 +- .../LinkedDocumentsCardFragment.graphql.ts | 13 +- .../FrameworkGraphNodeQuery.graphql.ts | 13 +- apps/console2/src/layouts/MainLayout.tsx | 2 +- ...etailPageAttachDocumentMutation.graphql.ts | 13 +- .../CreateFrameworkDialogMutation.graphql.ts | 203 ------------------ .../organizations/measures/MeasuresPage.tsx | 28 ++- .../organizations/people/PeopleListPage.tsx | 9 - .../vendors/tabs/VendorCertificationsTab.tsx | 1 - apps/console2/src/routes/measureRoutes.ts | 17 +- apps/console2/src/types.ts | 11 +- packages/helpers/src/documents.ts | 14 ++ packages/helpers/src/index.ts | 3 +- packages/helpers/src/string.ts | 10 + packages/ui/src/Layouts/Layout.tsx | 15 +- .../Badge/DocumentTypeBadge.stories.tsx | 16 ++ .../src/Molecules/Badge/DocumentTypeBadge.tsx | 12 ++ packages/ui/src/index.ts | 1 + 20 files changed, 166 insertions(+), 253 deletions(-) delete mode 100644 apps/console2/src/pages/organizations/frameworks/dialogs/__generated__/CreateFrameworkDialogMutation.graphql.ts create mode 100644 packages/helpers/src/documents.ts create mode 100644 packages/ui/src/Molecules/Badge/DocumentTypeBadge.stories.tsx create mode 100644 packages/ui/src/Molecules/Badge/DocumentTypeBadge.tsx diff --git a/apps/console2/src/components/documents/DocumentLinkDialog.tsx b/apps/console2/src/components/documents/DocumentLinkDialog.tsx index 10e183ff7..f5a1ba1d3 100644 --- a/apps/console2/src/components/documents/DocumentLinkDialog.tsx +++ b/apps/console2/src/components/documents/DocumentLinkDialog.tsx @@ -3,6 +3,7 @@ import { Dialog, DialogContent, DialogFooter, + DocumentTypeBadge, IconMagnifyingGlass, IconPlusLarge, IconTrashCan, @@ -13,8 +14,12 @@ import { useTranslate } from "@probo/i18n"; import { Suspense, useMemo, useState, type ReactNode } from "react"; import { graphql } from "relay-runtime"; import { useLazyLoadQuery } from "react-relay"; -import type { DocumentLinkDialogQuery } from "./__generated__/DocumentLinkDialogQuery.graphql"; +import type { + DocumentLinkDialogQuery, + DocumentLinkDialogQuery$data, +} from "./__generated__/DocumentLinkDialogQuery.graphql"; import { useOrganizationId } from "/hooks/useOrganizationId"; +import type { NodeOf } from "/types"; const documentsQuery = graphql` query DocumentLinkDialogQuery($organizationId: ID!) { @@ -26,6 +31,7 @@ const documentsQuery = graphql` node { id title + documentType } } } @@ -102,8 +108,12 @@ function DocumentLinkDialogContent(props: Omit) { ); } +type Document = NodeOf< + DocumentLinkDialogQuery$data["organization"]["documents"] +>; + type RowProps = { - document: { title: string; id: string }; + document: Document; linkedDocuments: Set; disabled?: boolean; onLink: (documentId: string) => void; @@ -123,6 +133,7 @@ function DocumentRow(props: RowProps) { onClick={() => onClick(props.document.id)} > {props.document.title} +