본문으로 건너뛰기

예제

데이터 표시

호스트가 제공하는 형식으로 레코드 상세, 간단한 표, 페이지 이동, 운영 지표를 표시합니다.

공개 계약NxDetailRowResourceTableNxOverviewBandNxPaginationNxStatCardNxStatusBadge

실행 미리 보기

실시간

생산 현황

2026년 8월 15일 오전 12:30 기준
진행 중
12
확인 필요
3
오늘 완료
48
정시 완료율
94.8%이전 30일

담당자

Min Kim

사업장

Seoul Plant
생산 현황
작업 지시공정상태
WO-1042절단진행 중
WO-1043조립대기 중

복사 가능한 소스

코드 예시
TSX
import { useState } from "react";

import {
    NxDetailRow,
    NxOverviewBand,
    NxPagination,
    NxStatCard,
    NxStatusBadge,
    ResourceTable,
} from "@nexia/sdk/host";

const rows = [
    { id: "WO-1042", line: "Cutting", status: "Running" },
    { id: "WO-1043", line: "Assembly", status: "Waiting" },
];

export function DataDisplayExample() {
    const [page, setPage] = useState(1);

    return (
        <div className="grid gap-6">
            <NxOverviewBand
                title="Production overview"
                asOf="2026-08-15T09:30:00+09:00"
                cards={[
                    { key: "running", label: "Running", value: 12 },
                    { key: "attention", label: "Needs attention", value: 3 },
                    { key: "complete", label: "Completed today", value: 48 },
                ]}
            />
            <div className="grid gap-4 md:grid-cols-2">
                <NxStatCard
                    label="On-time completion"
                    value="94.8%"
                    hint="Previous 30 days"
                    bordered
                />
                <div className="rounded-control border border-border-subtle p-4">
                    <NxDetailRow label="Owner">Min Kim</NxDetailRow>
                    <NxDetailRow label="Plant">Seoul Plant</NxDetailRow>
                </div>
            </div>
            <ResourceTable
                label="Production work orders"
                rows={rows}
                getKey={(row) => row.id}
                columns={[
                    { key: "id", header: "Work order", cell: (row) => row.id },
                    { key: "line", header: "Line", cell: (row) => row.line },
                    {
                        key: "status",
                        header: "Status",
                        cell: (row) => (
                            <NxStatusBadge variant="info">
                                {row.status}
                            </NxStatusBadge>
                        ),
                    },
                ]}
            />
            <NxPagination current={page} total={5} onChange={setPage} />
        </div>
    );
}