گانت

gantt-chartکامپوننت تقویم

کارها روی محور زمان شمسی که از راست به چپ جلو می‌ره، با فهرست کارها سمت راست، پیشرفت داخل هر نوار، فلش وابستگی، نقطه‌ی عطف، خط امروز و تعطیلی‌های رنگی.

۵ مهر تا ۱۲ آبان ۱۴۰۵

کار
فاز ۱: کشف
پژوهش کاربران۷ روز
نقشه‌ی سفر کاربر۴ روز
فاز ۲: ساخت
طراحی رابط۸ روز
پیاده‌سازی فرانت۱۳ روز
API و درگاه پرداخت۱۲ روز
فاز ۳: انتشار
تست و رفع اشکال۶ روز
انتشارنقطه
مهر ۱۴۰۵آبان ۱۴۰۵۵۶۷۸۹۱۰۱۱۱۲۱۳۱۴۱۵۱۶۱۷۱۸۱۹۲۰۲۱۲۲۲۳۲۴۲۵۲۶۲۷۲۸۲۹۳۰۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲
برنامه‌ی کارها
کارشروعپایانپیشرفت
پژوهش کاربران۸ مهر ۱۴۰۵۱۴ مهر ۱۴۰۵۱۰۰٪
نقشه‌ی سفر کاربر۱۵ مهر ۱۴۰۵۱۸ مهر ۱۴۰۵۱۰۰٪
طراحی رابط۱۹ مهر ۱۴۰۵۲۶ مهر ۱۴۰۵۵۵٪
پیاده‌سازی فرانت۲۳ مهر ۱۴۰۵۵ آبان ۱۴۰۵۲۰٪
API و درگاه پرداخت۲۱ مهر ۱۴۰۵۲ آبان ۱۴۰۵۳۵٪
تست و رفع اشکال۳ آبان ۱۴۰۵۸ آبان ۱۴۰۵۰٪
انتشار۹ آبان ۱۴۰۵۹ آبان ۱۴۰۵—

نصب

  1. با CLI

    اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگی‌هاش را می‌نویسه.

    $ npx vibefarsi add gantt-chart
  2. نصب دستی

    محتوای تب «کد» را در components/calendar/gantt-chart.tsx بگذارید. پیش‌نیاز: calendar-core، segmented-control.

    $ npm i lucide-react
    کپی کل فایلregistry json

استفاده

usage.tsx
1import { GanttChart } from "@/components/calendar/gantt-chart"23<GanttChart4  tasks={[5    { id: "design", title: "طراحی", start: d(1), end: d(5), progress: 1 },6    { id: "build", title: "پیاده‌سازی", start: d(6), end: d(15), progress: 0.4, dependsOn: ["design"] },7    { id: "launch", title: "انتشار", start: d(16), end: d(16), milestone: true, dependsOn: ["build"] },8  ]}9  onTaskChange={(t, start, end) => update(t.id, { start, end })}10/>

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
tasksGanttTask[]-start و end روزهای اول و آخرن و هر دو حساب میشن. progress بین ۰ و ۱ و dependsOn آرایه‌ی id کارهای قبلیه.
zoom / defaultZoom"day" | "week" | "month""day"بزرگ‌نمایی محور زمان.
from / toDate-بازه‌ی نمایش. پیش‌فرض از اولین تا آخرین کار با کمی حاشیه است.
onTaskChange(task, start, end) => void-کشیدن نوار و لبه‌هاش را روشن می‌کنه.
listWidth / rowHeightnumber200 / 36عرض فهرست کارها و ارتفاع هر ردیف.

نکته‌ها

  • روی نوار فوکوس‌شده Alt و چپ یا راست کار را یک روز جابه‌جا می‌کنه و با Shift فقط پایانش را.