UNPKG

@true-directive/base

Version:

The set of base classes for the TrueDirective Grid

225 lines (224 loc) 9.77 kB
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; }