UNPKG

@syncfusion/ej2-filemanager

Version:
155 lines (134 loc) 4.6 kB
import { Property, ChildProperty, NumberFormatOptions, DateFormatOptions } from '@syncfusion/ej2-base';import { SortComparer } from '../base/interface'; import {TextAlign} from "./column"; /** * Interface for a class Column */ export interface ColumnModel { /** * Defines the field name of column which is mapped with mapping name of DataSource. * The bounded columns can be sort, filter and group etc., * The `field` name must be a valid JavaScript identifier, * the first character must be an alphabet and should not contain spaces and special characters. * * @default '' */ field?: string; /** * Defines the header text of column which is used to display in column header. * If `headerText` is not defined, then field name value will be assigned to header text. * * @default '' */ headerText?: string; /** * Defines the width of the column in pixels or percentage. * * @default '' */ width?: string | number; /** * Defines the minimum width of the column in pixels or percentage. * * @default '' */ minWidth?: string | number; /** * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage. * * @default '' */ maxWidth?: string | number; /** * Defines the alignment of the column in both header and content cells. * * @default Left */ textAlign?: TextAlign; /** * Define the alignment of column header which is used to align the text of column header. * * @default null */ headerTextAlign?: TextAlign; /** * Defines the data type of the column. * * @default null */ type?: string; /** * It is used to change display value with the given format and does not affect the original data. * Gets the format from the user which can be standard or custom * [`number`](../../common/internationalization/#manipulating-numbers) * and [`date`](../../common/internationalization/#manipulating-datetime) formats. * * @default null * @aspType string */ format?: string | NumberFormatOptions | DateFormatOptions; /** * Defines the column template that renders customized element in each cell of the column. * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID. * * @default null * @aspType string */ template?: string | Function; /** * Defines the custom sort comparer function. * The sort comparer function has the same functionality like * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer. * * @default null * @aspType string */ sortComparer?: SortComparer | string; /** * Defines the column template as string or HTML element ID which is used to add customized element in the column header. * * @default null * @aspType string */ headerTemplate?: string | Function; /** * If `allowSorting` set to false, then it disables sorting option of a particular column. * By default all columns are sortable. * * @default true */ allowSorting?: boolean; /** * If `allowResizing` set to false, it disables resize option of a particular column. * * @default true */ allowResizing?: boolean; /** * The CSS styles and attributes of the content cells of a particular column can be customized. * * @default null */ customAttributes?: { [x: string]: Object }; /** * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html). * `hideAtMedia` accepts only valid Media Queries. * * @default '' */ hideAtMedia?: string; /** * It is used to change display value with the given format and does not affect the original data. * Gets the format from the user which can be standard or custom * [`number`](../../common/internationalization/#manipulating-numbers) * and [`date`](../../common/internationalization/#manipulating-datetime) formats. * * @default null */ customFormat?: { [x: string]: Object }; /** * If `isPrimaryKey` is set to true, considers this column as the primary key constraint. * * @default false */ isPrimaryKey?: boolean; }