@siberiaweb/components
Version:
173 lines (127 loc) • 3.25 kB
text/typescript
import DataCell from "./DataCell";
import Col from "./Col";
import DataRow from "./DataRow";
import Settings from "./Settings";
/**
* Типы обработчиков.
*/
namespace HandlerTypes {
/**
* Вывод строки.
*
* @template TRecord Тип записи.
*
* @returns Метод возвращает true, если выполнен пользовательский вывод и false в противном случае.
*/
export type RowRender< TRecord > = (
/*
Строка.
*/
row: DataRow< TRecord >
) => boolean;
/**
* Получение значения поля.
*
* @template TRecord Тип записи.
*/
export type GetFieldValue< TRecord > = (
/*
Столбец.
*/
col: Col,
/*
Запись.
*/
record: TRecord,
/*
Текущее значение.
*/
currentValue: any
) => any;
/**
* Получение значения поля для вывода на экран.
*
* @template TRecord Тип записи.
*/
export type GetDisplayValue< TRecord > = (
/*
Столбец.
*/
col: Col,
/*
Значение поля в записи.
*/
value: any,
/*
Запись.
*/
record: TRecord
) => string;
/**
* Вывод ячейки.
*
* @template TRecord Тип записи.
*/
export type CellRender< TRecord > = (
/*
Ячейка.
*/
cell: DataCell< TRecord >
) => void;
/**
* Вывод значения в ячейку.
*
* @template TRecord Тип записи.
*
* @returns Метод возвращает true, если выполнен пользовательский вывод и false в противном случае.
*/
export type CellOutputValue< TRecord > = (
/*
Ячейка.
*/
cell: DataCell< TRecord >
) => boolean;
/**
* Настройка ячейки.
*
* @template TRecord Тип записи.
*/
export type CellCustomize< TRecord > = (
/*
Ячейка.
*/
cell: DataCell< TRecord >
) => void;
/**
* Настройка строки.
*
* @template TRecord Тип записи.
*/
export type RowCustomize< TRecord > = (
/*
Строка.
*/
row: DataRow< TRecord >
) => void;
/**
* Проверка, что запись может быть выбрана.
*
* @template TRecord Тип записи.
*/
export type CheckRecordSelectable< TRecord > = (
/*
Запись.
*/
record: TRecord
) => boolean;
/**
* Сохранение настроек.
*/
export type SaveSettings = (
/*
Настройки.
*/
settings: Settings
) => void;
}
export default HandlerTypes;