예제
인사이트 화면
날짜 범위 필터를 권한과 조회 상태를 명시하는 인사이트 화면에 연결합니다.
공개 계약
NxInsightFilterBarNxInsightSurface실행 미리 보기
실시간완료된 작업 지시: 148
복사 가능한 소스
코드 예시
TSX
import { useState } from "react";
import {
NxInsightFilterBar,
NxInsightSurface,
} from "@nexia/sdk/host";
type RangePreset = "7d" | "30d" | "90d" | "qtd" | "ytd" | "custom";
export function InsightSurfacesExample() {
const [range, setRange] = useState<RangePreset>("30d");
const [dates, setDates] = useState({
from: "2026-07-17",
through: "2026-08-15",
});
const filter = {
range,
...dates,
isCustom: range === "custom",
setRange,
setCustomRange: (from: string, through: string) => {
setRange("custom");
setDates({ from, through });
},
reset: () => setRange("30d"),
};
return (
<div className="min-h-80 overflow-hidden rounded-control border border-border-subtle">
<NxInsightSurface
appKey="production"
title="Production insight"
subtitle="Review throughput for the selected range."
context={{
isLoading: false,
isError: false,
legalEntityPublicId: "le_demo",
}}
canRead
query={{ isLoading: false, isError: false }}
asOf="2026-08-15T09:30:00+09:00"
filter={
<NxInsightFilterBar
filter={filter}
presets={["7d", "30d", "90d", "custom"]}
/>
}
stats={
<div className="rounded-control border border-border-subtle p-5">
Completed work orders: 148
</div>
}
/>
</div>
);
}