diff --git a/docs b/docs index 92d6c9e..6e7ec78 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 92d6c9ed1d6053b0fd78de659e879d1da2023bb4 +Subproject commit 6e7ec786d0ea048f282240b27a88e485bbd9b1e8 diff --git a/web/app/dashboard/knowledge/_components/document-list.tsx b/web/app/dashboard/knowledge/_components/document-list.tsx index a61ee2f..662a533 100644 --- a/web/app/dashboard/knowledge/_components/document-list.tsx +++ b/web/app/dashboard/knowledge/_components/document-list.tsx @@ -65,6 +65,7 @@ import { DocumentEditDialog } from "./document-edit"; import { KnowledgeContentDetailDialog } from "./knowledge-content-detail"; import { KnowledgeBulkMoveDialog } from "./knowledge-bulk-move-dialog"; import { KnowledgeDirectoryPanel } from "./knowledge-directory-panel"; +import { SelectionCheckbox } from "./selection-checkbox"; type DocumentListProps = { knowledgeBaseId: number | null; @@ -516,9 +517,8 @@ export function DocumentList({ knowledgeBaseId, onActionStateChange }: DocumentL >
- event.stopPropagation()} onCheckedChange={(checked) => toggleSelected(item.id, Boolean(checked))} aria-label={t("knowledge.selectItem", { name: item.title })} className="mt-0.5" @@ -623,9 +623,8 @@ export function DocumentList({ knowledgeBaseId, onActionStateChange }: DocumentL )} onClick={() => openDetailDialog(item)} > - event.stopPropagation()} onCheckedChange={(checked) => toggleSelected(item.id, Boolean(checked))} aria-label={t("knowledge.selectItem", { name: item.title })} /> diff --git a/web/app/dashboard/knowledge/_components/faq-list.tsx b/web/app/dashboard/knowledge/_components/faq-list.tsx index c19176f..8f608f9 100644 --- a/web/app/dashboard/knowledge/_components/faq-list.tsx +++ b/web/app/dashboard/knowledge/_components/faq-list.tsx @@ -62,6 +62,7 @@ import { FAQImportDialog } from "./faq-import-dialog"; import { KnowledgeContentDetailDialog } from "./knowledge-content-detail"; import { KnowledgeBulkMoveDialog } from "./knowledge-bulk-move-dialog"; import { KnowledgeDirectoryPanel } from "./knowledge-directory-panel"; +import { SelectionCheckbox } from "./selection-checkbox"; type FAQListProps = { knowledgeBaseId: number | null; @@ -459,9 +460,8 @@ export function FAQList({ )} onClick={() => openDetailDialog(item)} > - event.stopPropagation()} onCheckedChange={(checked) => toggleSelected(item.id, Boolean(checked))} aria-label={t("knowledge.selectItem", { name: item.question })} /> diff --git a/web/app/dashboard/knowledge/_components/selection-checkbox.tsx b/web/app/dashboard/knowledge/_components/selection-checkbox.tsx new file mode 100644 index 0000000..36e13e9 --- /dev/null +++ b/web/app/dashboard/knowledge/_components/selection-checkbox.tsx @@ -0,0 +1,26 @@ +"use client"; + +import type { ComponentProps } from "react"; + +import { Checkbox } from "@/components/ui/checkbox"; +import { cn } from "@/lib/utils"; + +type SelectionCheckboxProps = ComponentProps & { + wrapperClassName?: string; +}; + +export function SelectionCheckbox({ + className, + wrapperClassName, + ...props +}: SelectionCheckboxProps) { + return ( + event.stopPropagation()} + onClick={(event) => event.stopPropagation()} + > + + + ); +}