⁦Table⁩، List اور چارٹس

خود بنائی گئی قطاروں کی جگہ ترتیب دینے کے قابل Table اور ایسا چارٹ استعمال کریں جو لے آؤٹ کو کبھی نہ ہلائے۔

اس باب کی ایپ آپ کے کونسول میں چل رہی ہے۔ اسے ⌘⌥JCtrl+Shift+J⌘⌥KCtrl+Shift+K⌘⌥C سے کھولیں (پہلے ڈیولپر فیچرز فعال کریں)، پھر اسے آزمائیں۔
باب دیکھیں3:05

اس باب میں

  • ترتیب دینے کے قابل ٹیبل
  • اس کے اوپر ایک چارٹ
  • مزید کمپوننٹس

ہاتھ سے بنائی گئی قطاروں کی جگہ کمپوننٹس استعمال کریں: کی بورڈ نیویگیشن اور ترتیب دینے کے لیے <Table>، ورچوئلائزڈ اسکرولنگ کے لیے <List>، اور آٹھویں حصے والے بلاکس اور چوتھائی حصے والے نقطوں سے بنے چارٹس۔

ترتیب دینے کے قابل ٹیبل

کالم آبجیکٹس کی ایک اَرے ہیں۔ جس کالم کی width نہ ہو وہ grow کے مطابق باقی جگہ میں حصہ لیتا ہے، ترتیب دیتے وقت value کا موازنہ ہوتا ہے، اور render سیل بناتا ہے۔

app/deployments/page.tsx+10-1tsx
شامل کردہ: import { Table, type SortState, type TableColumn } from "@textjs/app";شامل کردہ: شامل کردہ: const COLUMNS: TableColumn<Deployment>[] = [شامل کردہ:   { key: "status", header: "Status", width: 11, render: (d) => <Status status={d.status} /> },شامل کردہ:   { key: "commit", header: "Commit", grow: 2 },شامل کردہ:   { key: "project", header: "Project", width: 10 },شامل کردہ:   { key: "duration", header: "Build", width: 6, align: "right", value: (d) => d.duration, render: (d) => <Text>{`${d.duration}s`}</Text> },شامل کردہ: ];export default function DeploymentsPage() {شامل کردہ:   const [sort, setSort] = useState<SortState | null>(null);  …ہٹائے گئے:   return rows.map((d) => …);شامل کردہ:   return <Table columns={COLUMNS} rows={rows} getRowKey={(d) => d.id} sortable sort={sort} onSortChange={setSort} autoFocus />;}

جب فوکس ٹیبل پر ہو تو ↑ ↓ ہائی لائٹ کو حرکت دیتے ہیں، s ترتیب کے لیے اگلا کالم منتخب کرتا ہے، S سمت الٹتا ہے اور Enter سے onSelect کال ہوتا ہے۔ لمبے ٹیبل صرف نظر آنے والی قطاریں پینٹ کرتے ہیں۔

اس کے اوپر ایک چارٹ

<Sparkline> اپنے باکس کو تازہ ترین پوائنٹس سے بھرتا ہے۔ <BarChart> آپ کے لیے لیبلز اور ویلیوز کو سیدھ میں رکھتا ہے۔

app/deployments/page.tsx+15tsx
شامل کردہ: import { BarChart, Sparkline } from "@textjs/app";شامل کردہ: شامل کردہ:   const [chart, setChart] = useState<"spark" | "bars">("spark");شامل کردہ:   useInput((e) => {شامل کردہ:     if (e.input === "c") setChart((c) => (c === "spark" ? "bars" : "spark"));شامل کردہ:   });شامل کردہ:   return (    <Box className="flex-col grow gap-1">شامل کردہ:       <Box className="flex-col" height={4}>شامل کردہ:         <Text color="subtle">Build time, last 24 deployments</Text>شامل کردہ:         {chart === "spark" ? (شامل کردہ:           <Sparkline data={buildTimes} height={3} color="accent" />شامل کردہ:         ) : (شامل کردہ:           <BarChart data={byProject} formatValue={(v) => `${v}s`} />شامل کردہ:         )}شامل کردہ:       </Box>      <Table … />    </Box>  );

چارٹ باکس کی اونچائی مقرر ہے، اس لیے چارٹ بدلنے سے ٹیبل کبھی اپنی جگہ سے نہیں ہلتا، اور اس کی قطاریں دوبارہ انکوڈ نہیں ہوتیں۔

مزید کمپوننٹس

<List>، <Tree>، <Tabs>، <Select>، <Input>، <Modal>، <Toaster>، <CommandPalette>، <ProgressBar>، <LineChart> اور دیگر کی دستاویزات کمپوننٹس کے تحت موجود ہیں۔

آزمائیں

یہ باب کے اختتام پر Acme Deploys ہے، جو DevTools میں چل رہی ہے۔ پیڈ پر کلک کریں، پھر نیچے دی گئی کلیدیں استعمال کریں۔

▼ 07 · ⁦Table⁩، List اور چارٹس

کونسول کھولیں

⌘⌥J
CtrlShiftJ
⌘⌥K
CtrlShiftK
⌘⌥C

ایپ DevTools میں رینڈر ہوتی ہے۔پہلے Safari کی ترتیبات → ایڈوانسڈ میں “ویب ڈیولپرز کے لیے فیچرز دکھائیں” آن کریں۔ پھر یہاں کلک کریں اور ⁦s⁩ دبائیں۔

ڈیسک ٹاپ پر کھولیں

یہ ایپ DevTools کونسول میں رینڈر ہوتی ہے، جس کے لیے ڈیسک ٹاپ براؤزر چاہیے۔

کوئز

2 سوالات

باب مکمل کرنے کے لیے ہر سوال کا جواب دیں۔

ترتیب دینے کے قابل Table پر فوکس ہو تو s کیا کرتا ہے؟

 

چارٹ باکس کی اونچائی مقرر کیوں رکھیں؟