Импорт

import-grid.ts
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';

NuiGrid

Таблица данных на нативной HTML-таблице.

Селектор
nui-grid
NuiGrid: Свойства
ИмяТипПо умолчаниюОписание
rowsДвустороннийreadonly T[]Данные. Правки заменяют строки, поэтому привязывайте через [(rows)].
columnsInputNuiGridColumn<T>[]Столбцы в виде объектов NuiGridColumn.
rowIdInput(row: T) => unknownrow.id ?? rowКлюч строки для выбора и отслеживания.
labelInputstringДоступное имя таблицы.
selectionInput'none' | 'single' | 'multiple''none'Можно ли выбирать строки и сколько.
selectedДвустороннийunknown[][]Ключи выбранных строк.
sortДвустороннийNuiGridSort[][]Сортировка в виде объектов { column, direction }; первый — основной.
filtersДвустороннийRecord<string, NuiGridFilter>{}Фильтр для каждого id столбца: оператор и значение.
searchДвустороннийstring''Слова, которые все должны быть в строке.
pageSizeДвустороннийnumber0Строк на странице; 0 — один прокручиваемый список.
pageДвустороннийnumber0Текущая страница (с 0).
pageSizesInputnumber[][10, 25, 50, 100]Варианты в пагинаторе.
virtualInputboolean | 'auto''auto'Рендерит только видимые строки: всегда, никогда или auto — свыше 100 строк без пагинации.
heightInputstringДлина CSS, ограничивающая таблицу; прокрутка — внутри.
columnStateДвустороннийNuiGridColumnState[][]Ширина, порядок, закрепление и видимость столбцов — для сохранения и восстановления.
modeInput'client' | 'server''client'server показывает строки как есть, а сортировку, фильтрацию и пагинацию оставляет вам.
totalInputnumberЧисло строк на сервере.
loadingInputbooleanfalseПоказывает полосу загрузки, а пока строк нет — строки-заглушки.
localeInputstringLOCALE_IDФорматирует числа и даты и распознаёт введённые числа.
labelsInputPartial<NuiGridLabels>Все показываемые и озвучиваемые тексты — для перевода.
cornersInputNuiCornersФорма углов: round, squircle, bevel, scoop, notch или square.
radiusInputNuiRadiusРадиус скругления углов: none, small, medium, large или full.
densityInputNuiDensityСколько места занимает компонент: compact, regular или roomy.
rowActivateOutputTПередаёт строку, открытую по Enter или двойному клику.
cellEditOutputNuiGridEdit<T>Передаёт каждую принятую правку.
queryChangeOutputNuiGridQueryПередаёт сортировку, фильтры, поиск и страницу при каждом их изменении.
exportCsvМетод(options?) => stringОтфильтрованные и отсортированные строки видимых столбцов в CSV.
focusCellМетод(row: number, col: number) => voidПереводит фокус на ячейку; строка -1 — заголовок.
clearFiltersМетод() => voidСбрасывает все фильтры и поиск.

Если входное свойство настройки не задано, компонент берёт его значение из ближайшего атрибута data-nui-*. Подробнее — в руководстве по настройке.

NuiGridColumn

Один столбец. Обязательны только id и header.

NuiGridColumn: Свойства
ИмяТипПо умолчаниюОписание
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СвойствоbooleantrueКаждое отключается значением false.
compareСвойство(a: V, b: V) => numberСвоя сортировка.
editable, validateСвойствоboolean | ((row) => boolean), (value, row) => string | nullМожно ли редактировать ячейки; сообщение о недопустимом значении.
setСвойство(row: T, value: V) => TСоздаёт изменённую строку. По умолчанию — копия с новым значением.

NuiGridCell

Рисует ячейки столбца. В контексте — строка, значение и текст.

Селектор
ng-template[nuiGridCell]
NuiGridCell: Свойства
ИмяТипПо умолчаниюОписание
nuiGridCellInputstringId столбца.

NuiGridHeader

Рисует заголовок столбца.

Селектор
ng-template[nuiGridHeader]
NuiGridHeader: Свойства
ИмяТипПо умолчаниюОписание
nuiGridHeaderInputstringId столбца.

NuiGridEmpty

Что показать, когда строк нет. Контекст сообщает, скрыли ли их фильтры.

Селектор
ng-template[nuiGridEmpty]