diff options
Diffstat (limited to 'lib/vendor-document-list/ship/enhanced-documents-table.tsx')
| -rw-r--r-- | lib/vendor-document-list/ship/enhanced-documents-table.tsx | 41 |
1 files changed, 13 insertions, 28 deletions
diff --git a/lib/vendor-document-list/ship/enhanced-documents-table.tsx b/lib/vendor-document-list/ship/enhanced-documents-table.tsx index cae0fe06..dabb05bb 100644 --- a/lib/vendor-document-list/ship/enhanced-documents-table.tsx +++ b/lib/vendor-document-list/ship/enhanced-documents-table.tsx @@ -4,17 +4,14 @@ import React from "react" import type { DataTableAdvancedFilterField, - DataTableFilterField, - DataTableRowAction, } from "@/types/table" import { useDataTable } from "@/hooks/use-data-table" import { getUserVendorDocuments, getUserVendorDocumentStats } from "@/lib/vendor-document-list/enhanced-document-service" import { DataTableAdvancedToolbar } from "@/components/data-table/data-table-advanced-toolbar" -import { toast } from "sonner" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" -import { FileText, FileInput, FileOutput, FolderOpen, Building2 } from "lucide-react" +import { FileText, FileInput, FileOutput, Building2 } from "lucide-react" import { Label } from "@/components/ui/label" import { DataTable } from "@/components/data-table/data-table" @@ -67,8 +64,11 @@ export function SimplifiedDocumentsTable({ const [documentResult, statsResult] = promiseResults // π₯ λ°μ΄ν° ꡬ쑰λΆν΄λ₯Ό λ©λͺ¨μ΄μ μ΄μ
- const { data, pageCount, total, drawingKind, vendorInfo } = React.useMemo(() => documentResult, [documentResult]) - const { stats, totalDocuments, primaryDrawingKind } = React.useMemo(() => statsResult, [statsResult]) + const documentData = React.useMemo(() => documentResult as Awaited<ReturnType<typeof getUserVendorDocuments>>, [documentResult]) + const statsData = React.useMemo(() => statsResult as Awaited<ReturnType<typeof getUserVendorDocumentStats>>, [statsResult]) + + const { data, pageCount, drawingKind } = documentData + const { primaryDrawingKind, b4Stats: serverB4Stats } = statsData // π₯ B4 νν° μν μΆκ° const [b4FilterType, setB4FilterType] = React.useState<'all' | 'gtt_deliverable' | 'shi_input'>('all') @@ -98,7 +98,7 @@ export function SimplifiedDocumentsTable({ // π₯ B4 λ° Project Code νν°λ§λ λ°μ΄ν° λ©λͺ¨μ΄μ μ΄μ
const filteredData = React.useMemo(() => { - let result = data + let result: SimplifiedDocumentsView[] = data // B4 νν° μ μ© if (b4FilterType !== 'all') { @@ -126,15 +126,9 @@ export function SimplifiedDocumentsTable({ } }, [filteredData, handleDataLoaded]) - // π₯ μνλ€μ μμ μ μΌλ‘ κ΄λ¦¬ - const [rowAction, setRowAction] = React.useState<DataTableRowAction<SimplifiedDocumentsView> | null>(null) - const [expandedRows] = React.useState<Set<string>>(() => new Set()) - // π₯ μ»¬λΌ λ©λͺ¨μ΄μ μ΄μ
μ΅μ ν const columns = React.useMemo( - () => getSimplifiedDocumentColumns({ - setRowAction, - }), + () => getSimplifiedDocumentColumns({}), [] ) @@ -284,7 +278,7 @@ export function SimplifiedDocumentsTable({ // π₯ ν
μ΄λΈ μ΄κΈ° μν λ©λͺ¨μ΄μ μ΄μ
const tableInitialState = React.useMemo(() => ({ - sorting: [{ id: "createdAt", desc: true }], + sorting: [{ id: "createdAt" as const, desc: true }], columnPinning: { right: ["actions"] }, }), []) @@ -314,20 +308,11 @@ export function SimplifiedDocumentsTable({ return activeDrawingKind ? DRAWING_KIND_INFO[activeDrawingKind] : null }, [activeDrawingKind]) - // π₯ B4 λ¬Έμ ν΅κ³ κ³μ° + // π₯ B4 λ¬Έμ ν΅κ³ - μλ²μμ λ°μμ¨ μ 체 ν΅κ³ μ¬μ© const b4Stats = React.useMemo(() => { - if (!hasB4Documents) return null - - const gttDeliverableCount = data.filter(doc => - doc.drawingKind === 'B4' && doc.drawingMoveGbn === 'λλ©΄μ
μ' - ).length - - const shiInputCount = data.filter(doc => - doc.drawingKind === 'B4' && doc.drawingMoveGbn === 'λλ©΄μ μΆ' - ).length - - return { gttDeliverableCount, shiInputCount } - }, [data, hasB4Documents]) + if (!hasB4Documents || !serverB4Stats) return null + return serverB4Stats + }, [hasB4Documents, serverB4Stats]) return ( <div className="w-full space-y-4"> |
