ইমপোর্ট
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
নেটিভ টেবিলের ওপর তৈরি ডেটা গ্রিড।
| নাম | টাইপ | ডিফল্ট | বিবরণ |
|---|---|---|---|
rowsদ্বিমুখী | readonly T[] | ডেটা। এডিট সারিগুলো বদলে দেয়, তাই [(rows)] দিয়ে বাইন্ড করুন। | |
columnsইনপুট | NuiGridColumn<T>[] | কলামগুলো, NuiGridColumn অবজেক্ট হিসেবে। | |
rowIdইনপুট | (row: T) => unknown | row.id ?? row | সারির কী, বাছাই ও ট্র্যাকিংয়ের জন্য। |
labelইনপুট | string | গ্রিডের অ্যাক্সেসিবল নাম। | |
selectionইনপুট | 'none' | 'single' | 'multiple' | 'none' | সারি বেছে নেওয়া যায় কি না, আর কয়টি। |
selectedদ্বিমুখী | unknown[] | [] | বেছে নেওয়া সারিগুলোর কী। |
sortদ্বিমুখী | NuiGridSort[] | [] | সর্ট, { column, direction } অবজেক্ট হিসেবে; প্রথমটি সবার আগে প্রয়োগ হয়। |
filtersদ্বিমুখী | Record<string, NuiGridFilter> | {} | প্রতিটি কলাম id-র জন্য একটি ফিল্টার: একটি অপারেটর ও একটি ভ্যালু। |
searchদ্বিমুখী | string | '' | যে শব্দগুলোর সবই সারিতে থাকতে হবে। |
pageSizeদ্বিমুখী | number | 0 | প্রতি পেজে সারি, বা একটানা স্ক্রল করা তালিকার জন্য 0। |
pageদ্বিমুখী | number | 0 | দেখানো পেজ, 0 থেকে শুরু। |
pageSizesইনপুট | number[] | [10, 25, 50, 100] | পেজারের অপশন। |
virtualইনপুট | boolean | 'auto' | 'auto' | শুধু দৃশ্যমান সারিগুলো রেন্ডার করে: সবসময়, কখনো না, অথবা পেজ ছাড়া 100 সারির পরে auto। |
heightইনপুট | string | গ্রিডের সীমা ঠিক করা CSS দৈর্ঘ্য; স্ক্রল হয় ভেতরে। | |
columnStateদ্বিমুখী | NuiGridColumnState[] | [] | প্রতিটি কলামের প্রস্থ, ক্রম, পিন ও দৃশ্যমানতা, সংরক্ষণ ও পুনরুদ্ধারের জন্য। |
modeইনপুট | 'client' | 'server' | 'client' | server সারিগুলো যেমন আসে তেমনই দেখায়, আর সর্টিং, ফিল্টারিং ও পেজিং আপনার হাতে ছেড়ে দেয়। |
totalইনপুট | number | সার্ভারে সারির সংখ্যা। | |
loadingইনপুট | boolean | false | প্রোগ্রেস বার দেখায়, আর কোনো সারি না থাকলে প্লেসহোল্ডার সারি। |
localeইনপুট | string | LOCALE_ID | সংখ্যা ও তারিখ ফরম্যাট করে, আর টাইপ করা সংখ্যা পড়ে। |
labelsইনপুট | Partial<NuiGridLabels> | গ্রিড যত টেক্সট দেখায় বা ঘোষণা করে, অনুবাদের জন্য। | |
cornersইনপুট | NuiCorners | এর কোণগুলোর আকৃতি: round, squircle, bevel, scoop, notch বা square। | |
radiusইনপুট | NuiRadius | এর কোণগুলো কত বড়: none, small, medium, large বা full। | |
densityইনপুট | NuiDensity | এটি কতটা জায়গা নেয়: compact, regular বা roomy। | |
rowActivateআউটপুট | T | Enter বা ডাবল-ক্লিকে খোলা সারি এমিট করে। | |
cellEditআউটপুট | NuiGridEdit<T> | প্রয়োগ করা প্রতিটি এডিট এমিট করে। | |
queryChangeআউটপুট | NuiGridQuery | সর্ট, ফিল্টার, সার্চ ও পেজ বদলালেই সেগুলো এমিট করে। | |
exportCsvমেথড | (options?) => string | দৃশ্যমান কলামগুলোর ফিল্টার ও সর্ট করা সারি, CSV হিসেবে। | |
focusCellমেথড | (row: number, col: number) => void | একটি সেলে ফোকাস করে; সারি -1 হলো হেডার। | |
clearFiltersমেথড | () => void | সব ফিল্টার ও সার্চ মুছে দেয়। |
যে কাস্টমাইজেশন ইনপুট আপনি সেট করেন না, সেগুলো সবচেয়ে কাছের data-nui-* অ্যাট্রিবিউট থেকে ভ্যালু নেয়। কাস্টমাইজেশন গাইড দেখুন।
NuiGridColumn
একটি কলাম। শুধু id ও header আবশ্যক।
| নাম | টাইপ | ডিফল্ট | বিবরণ |
|---|---|---|---|
idপ্রপার্টি | string | ইউনিক; সর্ট, ফিল্টার ও কলামের অবস্থায় এটিই কী। | |
headerপ্রপার্টি | string | হেডারের টেক্সট। | |
valueপ্রপার্টি | keyof T | ((row: T) => V) | সারির একটি কী, বা সারির একটি ফাংশন। ডিফল্ট row[id]। | |
typeপ্রপার্টি | 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'text' | অ্যালাইনমেন্ট, সর্ট, ফিল্টার ও এডিটর ঠিক করে। |
formatপ্রপার্টি | Intl options | ((value, row) => string) | সংখ্যা ও তারিখের জন্য Intl অপশন, বা টেক্সট তৈরির ফাংশন। | |
optionsপ্রপার্টি | NuiOption<V>[] | একটি enum কলামের অপশন, NuiOption অবজেক্ট হিসেবে। | |
width, minWidth, maxWidthপ্রপার্টি | number | পিক্সেলে। | |
flexপ্রপার্টি | number | বাকি জায়গা অন্য flex কলামগুলোর সঙ্গে ভাগ করে নেয়। | |
alignপ্রপার্টি | 'start' | 'center' | 'end' | ডিফল্ট টাইপ অনুযায়ী: সংখ্যা ও তারিখ শেষ প্রান্তে। | |
pinned, hiddenপ্রপার্টি | 'start' | 'end', boolean | কলামের শুরুর পিন ও দৃশ্যমানতা। | |
sortable, filterable, resizable, reorderable, hideableপ্রপার্টি | boolean | true | প্রতিটি false দিয়ে বন্ধ করা যায়। |
compareপ্রপার্টি | (a: V, b: V) => number | কাস্টম সর্ট। | |
editable, validateপ্রপার্টি | boolean | ((row) => boolean), (value, row) => string | null | সেল এডিট করা যায় কি না, আর ভ্যালু বৈধ না হলে একটি বার্তা। | |
setপ্রপার্টি | (row: T, value: V) => T | এডিট করা সারি তৈরি করে। ডিফল্ট: নতুন ভ্যালুসহ একটি কপি। |
NuiGridCell
একটি কলামের সেলগুলো আঁকে। কনটেক্সটে থাকে সারি, সেলের ভ্যালু ও টেক্সট।
| নাম | টাইপ | ডিফল্ট | বিবরণ |
|---|---|---|---|
nuiGridCellইনপুট | string | কলামের id। |
NuiGridHeader
একটি কলামের হেডার আঁকে।
| নাম | টাইপ | ডিফল্ট | বিবরণ |
|---|---|---|---|
nuiGridHeaderইনপুট | string | কলামের id। |
NuiGridEmpty
কোনো সারি না থাকলে যা দেখায়। কনটেক্সট জানায় ফিল্টার সেগুলো লুকিয়েছে কি না।