@true-directive/base
Version:
The set of base classes for the TrueDirective Grid
225 lines (224 loc) • 9.77 kB
TypeScript
import { ColumnType, GridPart } from './enums';
import { FilterOperator, Filter } from './filter.class';
import { Summary, SummaryType } from './summary.class';
/**
* Grid column. Contains:
* - data field,
* - caption,
* - data type,
* - column width,
* - width calc params for the columnAutoWidth option,
* - calculated column width (when columnAutoWidth option is turned on),
* - css-classes for column cells
* - column summaries,
* - column settings
*/
export declare class Column {
fieldName: string;
caption: string;
width: number;
type: ColumnType;
band: string;
format: string;
/**
* Сonstructor
* @param fieldName Data field to display
* @param caption Text for the column header. Если не задано, будет отображено
* наименование поля.
* @param width Ширина (в заданных единицах измерения)
* @param {ColumnType} dataType Тип данных (see [[ColumnType]]).
* Если не задано, принимается равным ColumnType.STRING.
* @param band='' Заголовок группы колонок
* @param format='' Формат вывода значения
*/
constructor(fieldName: string, caption?: string, width?: number, type?: ColumnType, band?: string, format?: string);
/**
* Минимальная ширина в заданных единицах измерения. Ни при каких условиях
* ширина колонки не будет меньше заданного здесь значения
*/
autoWidthMin: number;
/**
* Приоритет отображения. Если ширины клиентской части грида не хватает,
* чтобы уместить колонку с её минимальным размером, то первыми перестанут
* отображаться колонки, приоритет которых минимален.
* Если приоритет не задан, то они никогда не перестают отображаться.
*/
autoWidthPriority: number;
/**
* Фиксированная ширина колонки. Не будет пересчитываться.
*/
autoWidthFixed: boolean;
/**
* Разрешено ли пользователю изменять ширину колонки
*/
columnResize: boolean;
/**
* Разрешено ли пользователю перемещать эту колонку
*/
columnReorder: boolean;
/**
* Разрешена ли сортировка по колонке
*/
allowSorting: boolean;
/**
* Разрешен ли фильтр по колонке
*/
allowFilter: boolean;
/**
* Показывать колонку в таблице, если по ней произведена группировка
* (данная опция пока отклчючена)
*/
showIfGrouped: boolean;
/**
* Разрешено ли редактирование данных в этой колонке
*/
allowEdit: boolean;
/**
* Видимость колонки
*/
visible: boolean;
/**
* Список итогов колонки
*/
readonly summaries: Summary[];
/**
* Признак того, что колонка является временной при перемещении
*/
temp: boolean;
/**
* В какой части грида находится колонка. По умолчанию - в основной центральной
* части.
*/
fixed: GridPart;
/**
* Расчетная ширина при отображении
*/
displayedWidth: number;
/**
* Расчетная ширина заголовка колонки
*/
headerWidth: number;
/**
* Ширина при отображении с единицей измерения
*/
displayedWidthU: string;
/**
* Ширина заголовка с единицей измерения
*/
displayedHeaderWidth: string;
/**
* Отображаемое поле.
* Если задано, то вместо заданного в свойстве [fieldName] поля отображается это.
* Например, чтобы сортировка и фильтры производились по значению,
* а отображалось отформатированное значение.
* Также используется, когда к какому-то идентификатору привязано текстовое значение.
* При редактировании отображается исходное значение.
*/
displayField: string;
/**
* Поле, содержащее ссылку для полей с dataType = ColumnType.REFERENCE
*/
referenceField: string;
/**
* Target of the
*/
referenceTarget: string;
/**
* Общий класс для всех ячеек колонки
*/
class: string;
/**
* Поле, из которого можно получить класс ячейки конкретной строки
*/
classField: string;
/**
* Тип компонента, который будет вставлен во все ячейки колонки вместо
* значения (см. Cell components)
*/
cellComponentType: any;
/**
* Тип компонента, который будет использован как редактор для ячеек этой колонки
*/
editorComponentType: any;
/**
* Тип компонента, который будет использован как фильтр
*/
filterComponentType: any;
/**
* Чекбокс, находящийся в заголовке отмечен
*/
private _checked?;
/**
* Источник данных для выпадающего списка при редактировании.
* Ожидается массив или Observable
*/
optionsData: any;
/**
* Список колонок выпадающего списка при редактировании
* Если не задан, то будет создана одна колонка с полем name.
*/
optionsColumns: Column[];
/**
* Узначем, отмечен ли чекбокс в заголовке колонки
*/
readonly isChecked: boolean;
/**
* Устанавливаем, отмечен ли чекбокс в заголовке колонки
*/
setChecked(v: boolean): void;
/**
* Является ли колонка
*/
readonly isCheckbox: boolean;
/**
* Содержит ли колонка числовые значения
*/
readonly isNumeric: boolean;
/**
* Содержит ли колонка boolean значения
*/
readonly isBoolean: boolean;
/**
* Может ли в значении колонки находиться текстовое содержимое
* @return True, если может
*/
readonly isText: boolean;
/**
* Можно ли пользователю менять порядок этой колонки (перетаскивание мышью за
* заголовок колонки)
* @return True, если можно
*/
readonly canReorder: boolean;
/**
* Можно ли пользователю менять ширину колонки
* @return True, если можно
*/
readonly canResize: boolean;
/**
* Создание фильтра для колонки перед его редактированием.
* @param v Значение по умолчанию (берется из выделенной строки, если есть)
* @return Фильтр для колонки
*/
createFilter(v: any, operator?: FilterOperator): Filter;
/**
* Добавление итога по колонке
* @param t {SummaryType} Тип суммирования
* @return {Summary} Вся необходимая информация для подсчета итогов
*/
addSummary(t: SummaryType): void;
/**
* Изменение итога по колонке. Добавляет или удаляет или изменяет
* итог по колонке.
* @param t {SummaryType} Тип суммирования
* @param a {Summary} Текущее суммирование. Если не задан, то удаляются все имеющиеся
* итоги. Если задано, то это суммирование заменяется на новое, или удаляется в случае,
* если тип суммирования не задан
*/
setSummary(t: SummaryType, a?: Summary): void;
clearSummaries(): void;
/**
* Клонирование колонки
* @return Возвращает новый instance класса Column с такими же свойствами, что и текущая колонка
*/
clone(): Column;
}