import * as i0 from '@angular/core';
import { ViewContainerRef, QueryList, ElementRef, Renderer2, Injector, ValueProvider } from '@angular/core';
import { ComplexBase, ArrayBase, IComponentBase } from '@syncfusion/ej2-angular-base';
import { Grid, Pager } from '@syncfusion/ej2-grids';
export * from '@syncfusion/ej2-grids';
import * as i1 from '@angular/common';
/**
* `e-stacked-column` directive represent the stacked column of the Angular Grid.
* It must be contained in a StackedColumns component(`e-stacked-columns`).
* ```html
*
*
*
*
*
*
*
*
*
*
* ```
*/
declare class StackedColumnDirective extends ComplexBase {
private viewContainerRef;
directivePropList: any;
/**
* Defines the column type.
*
* The following values are supported:
** string
** number
** date
** datetime
** boolean
** CheckBox
** RowNumber
*
*- `CheckBox` renders a checkbox selection column.
*- `RowNumber` renders a read-only column with automatically generated row numbers.
*
* @default null
*/
type: any;
/**
* If `allowEditing` set to false, then it disables editing of a particular column.
* By default all columns are editable.
* @default true
*/
allowEditing: any;
/**
* If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
* By default all columns are filterable.
* @default true
*/
allowFiltering: any;
/**
* Enables formula entry and evaluation for the column.
* When enabled, users can enter formulas directly into the column cells.
* @default false
*/
allowFormula: any;
/**
* If `allowGrouping` set to false, then it disables grouping of a particular column.
* By default all columns are groupable.
* @default true
*/
allowGrouping: any;
/**
* If `allowReordering` set to false, then it disables reorder of a particular column.
* By default all columns can be reorder.
* @default true
*/
allowReordering: any;
/**
* If `allowResizing` set to false, it disables resize option of a particular column.
* @default true
*/
allowResizing: any;
/**
* If `allowSearching` set to false, then it disables Searching of a particular column.
* By default all columns allow Searching.
* @default true
*/
allowSearching: any;
/**
* If `allowSorting` set to false, then it disables sorting option of a particular column.
* By default all columns are sortable.
* @default true
*/
allowSorting: any;
/**
* If `autoFit` set to true, then the particular column content width will be
* adjusted based on its content in the initial rendering itself.
* Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
* @default false
*/
autoFit: any;
/**
* Defines the cell content's overflow mode. The available modes are
* * `Clip` - Truncates the cell content when it overflows its area.
* * `Ellipsis` - Displays ellipsis when the cell content overflows its area.
* * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
* also it will display tooltip while hover on ellipsis applied cell.
* @default Ellipsis
*/
clipMode: any;
/**
* Used to render multiple header rows(stacked headers) on the Grid header.
* @default null
*/
columns: any;
/**
* `commands` provides an option to display command buttons in every cell.
* The available built-in command buttons are
* * Edit - Edit the record.
* * Delete - Delete the record.
* * Save - Save the record.
* * Cancel - Cancel the edit state.
*
* The following code example implements the custom command column.
*```html
*
*
*```
*```typescript
*var gridObj = new Grid({
*datasource: window.gridData,
*columns : [
* { field: 'CustomerID', headerText: 'Customer ID' },
* { field: 'CustomerName', headerText: 'Customer Name' },
* {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}
*]
*gridObj.appendTo("#Grid");
*```
*
* @default null
*/
commands: any;
/**
* The CSS styles and attributes of the content cells of a particular column can be customized.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: filterData,
*columns: [
* { field: 'OrderID', headerText: 'Order ID' },
* {
* field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {
* class: 'employeeid',
* type: 'employee-id-cell'
* }
* }]
*});
*gridObj.appendTo('#Grid');
*```
*
* @default null
*/
customAttributes: any;
/**
* Defines the column data source which will act as foreign data source.
* @default null
*/
dataSource: any;
/**
* Defines default values for the component when adding a new record to the Grid.
* @default null
* @asptype object
*/
defaultValue: any;
/**
* If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
* @default true
*/
disableHtmlEncode: any;
/**
* If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
* @default false
*/
displayAsCheckBox: any;
/**
* Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.
* @default {}
*/
edit: any;
/**
* Defines the type of component for editing.
* @default 'stringedit'
*/
editType: any;
/**
* Allows grid to perform column spanning on the specified column.
* @default true
*/
enableColumnSpan: any;
/**
* If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
* By default no columns are group by format.
* @default true
*/
enableGroupByFormat: any;
/**
* Allows grid to perform row spanning on the specified column.
* @default true
*/
enableRowSpan: any;
/**
* Defines the field name of column which is mapped with mapping name of DataSource.
* The bounded columns can be sort, filter and group etc.,
* If the `field` name contains “dot”, then it is considered as complex binding.
* 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: any;
/**
* Defines the filter options to customize filtering for the particular column.
* @default {}
*/
filter: any;
/**
* The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
* It have create and read functions.
* * create: It is used for creating custom components.
* * read: It is used to perform custom filter action.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: filterData,
*columns: [
* { field: 'OrderID', headerText: 'Order ID' },
* {
* field: 'EmployeeID', filterBarTemplate: {
* create: (args: { element: Element, column: Column }) => {
* let input: HTMLInputElement = document.createElement('input');
* input.id = 'EmployeeID';
* input.type = 'text';
* return input;
* },
* write: (args: { element: Element, column: Column }) => {
* args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
* },
* read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
* gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
* }
* }
* }],
* allowFiltering: true
*});
*gridObj.appendTo('#Grid');
*```
*
* @default null
*/
filterBarTemplate: any;
/**
* It defines the custom filter comparer function.
*/
filterComparer: any;
/**
* Defines the mapping column name of the foreign data source.
* If it is not defined then the `columns.field` will be considered as mapping column name
* @default null
*/
foreignKeyField: any;
/**
* Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data
* @default null
*/
foreignKeyValue: any;
/**
* 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: any;
/**
* Defines the method which is used to achieve custom formatting from an external function.
* This function triggers before rendering of each cell.
*
* ```html
*
*```
*```typescript
*class ExtendedFormatter implements ICellFormatter {
*public getValue(column: Column, data: Object): Object {
* return '' + data['Verified'] + '';
*}
*}
*let gridObj: Grid = new Grid({
* dataSource: filterData,
* columns: [
* { field: 'ShipName', headerText: 'Ship Name' },
* { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]
*});
*gridObj.appendTo('#Grid');
*```
*
* @default null
*/
formatter: any;
/**
* defines which side the column need to freeze
* The available built-in freeze directions are
* * Left - Freeze the column at left side.
* * Right - Freeze the column at right side.
* * Fixed - Freeze the column at Center.
* * None - Does not freeze the column.
* @default None
*/
freeze: any;
/**
* 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 null
*/
headerText: any;
/**
* Define the alignment of column header which is used to align the text of column header.
* @aspdefaultvalueignore
* @default null
*/
headerTextAlign: any;
/**
* Defines the method used to apply custom header cell values from external function and display this on each cell rendered.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
*columns: [
* { field: 'EmployeeID', headerText: 'Employee ID' },
* { field: 'EmployeeName', headerText: 'Employee First Name',
* headerValueAccessor: (field: string,column: Column) => {
* return "newheadername";
* },
* }]
*});
*```
*
* @default null
*/
headerValueAccessor: any;
/**
* column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
* `hideAtMedia` accepts only valid Media Queries.
* @default ''
*/
hideAtMedia: any;
/**
* Gets the unique identifier value of the column. It is used to get the object.
* @default null
*/
index: any;
/**
* You can use this property to freeze selected columns in grid.
* @default false
*/
isFrozen: any;
/**
* If `isIdentity` is set to true, then this column is considered as identity column.
* @default false
*/
isIdentity: any;
/**
* If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
* @default false
*/
isPrimaryKey: any;
/**
* Defines the mapping column name of the foreign data source.
* If it is not defined then the `columns.field` will be considered as mapping column name
* @default false
*/
lockColumn: any;
/**
* Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
* @default ''
*/
maxWidth: any;
/**
* Defines the minimum width of the column in pixels or percentage.
* @default ''
*/
minWidth: any;
/**
* If `showColumnMenu` set to false, then it disable the column menu of a particular column.
* By default column menu will show for all columns
* @default true
*/
showColumnMenu: any;
/**
* If `showInColumnChooser` set to false, then hides the particular column in column chooser.
* By default all columns are displayed in column Chooser.
* @default true
*/
showInColumnChooser: any;
/**
* It defines the custom sort comparer function.
*/
sortComparer: any;
/**
* Determines the behavior of the `aria-label` attribute for cells in template columns.
* If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.
* @default {}
*/
templateOptions: any;
/**
* Defines the alignment of the column in both header and content cells.
* @default Left
*/
textAlign: any;
/**
* Gets the unique identifier value of the column. It is used to get the object.
* @default ''
*/
uid: any;
/**
* `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.
* @default null
*/
validationRules: any;
/**
* Defines the method used to apply custom cell values from external function and display this on each cell rendered.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
*columns: [
* { field: 'EmployeeID', headerText: 'Employee ID' },
* { field: 'EmployeeName', headerText: 'Employee First Name',
* valueAccessor: (field: string, data: Object, column: Column) => {
* return data['EmployeeName'][0];
* },
* }]
*});
*```
*
* @default null
*/
valueAccessor: any;
/**
* If `visible` is set to false, hides the particular column. By default, all columns are displayed.
* @default true
*/
visible: any;
/**
* Defines the width of the column in pixels or percentage.
* @default ''
*/
width: any;
constructor(viewContainerRef: ViewContainerRef);
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-columns>e-column>e-stacked-columns>e-stacked-column", never, { "allowEditing": { "alias": "allowEditing"; "required": false; }; "allowFiltering": { "alias": "allowFiltering"; "required": false; }; "allowFormula": { "alias": "allowFormula"; "required": false; }; "allowGrouping": { "alias": "allowGrouping"; "required": false; }; "allowReordering": { "alias": "allowReordering"; "required": false; }; "allowResizing": { "alias": "allowResizing"; "required": false; }; "allowSearching": { "alias": "allowSearching"; "required": false; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "autoFit": { "alias": "autoFit"; "required": false; }; "clipMode": { "alias": "clipMode"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "commands": { "alias": "commands"; "required": false; }; "customAttributes": { "alias": "customAttributes"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "disableHtmlEncode": { "alias": "disableHtmlEncode"; "required": false; }; "displayAsCheckBox": { "alias": "displayAsCheckBox"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "editTemplate": { "alias": "editTemplate"; "required": false; }; "editType": { "alias": "editType"; "required": false; }; "enableColumnSpan": { "alias": "enableColumnSpan"; "required": false; }; "enableGroupByFormat": { "alias": "enableGroupByFormat"; "required": false; }; "enableRowSpan": { "alias": "enableRowSpan"; "required": false; }; "field": { "alias": "field"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterBarTemplate": { "alias": "filterBarTemplate"; "required": false; }; "filterComparer": { "alias": "filterComparer"; "required": false; }; "filterTemplate": { "alias": "filterTemplate"; "required": false; }; "foreignKeyField": { "alias": "foreignKeyField"; "required": false; }; "foreignKeyValue": { "alias": "foreignKeyValue"; "required": false; }; "format": { "alias": "format"; "required": false; }; "formatter": { "alias": "formatter"; "required": false; }; "freeze": { "alias": "freeze"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "headerText": { "alias": "headerText"; "required": false; }; "headerTextAlign": { "alias": "headerTextAlign"; "required": false; }; "headerValueAccessor": { "alias": "headerValueAccessor"; "required": false; }; "hideAtMedia": { "alias": "hideAtMedia"; "required": false; }; "index": { "alias": "index"; "required": false; }; "isFrozen": { "alias": "isFrozen"; "required": false; }; "isIdentity": { "alias": "isIdentity"; "required": false; }; "isPrimaryKey": { "alias": "isPrimaryKey"; "required": false; }; "lockColumn": { "alias": "lockColumn"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "showColumnMenu": { "alias": "showColumnMenu"; "required": false; }; "showInColumnChooser": { "alias": "showInColumnChooser"; "required": false; }; "sortComparer": { "alias": "sortComparer"; "required": false; }; "template": { "alias": "template"; "required": false; }; "templateOptions": { "alias": "templateOptions"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "type": { "alias": "type"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "validationRules": { "alias": "validationRules"; "required": false; }; "valueAccessor": { "alias": "valueAccessor"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, ["template", "headerTemplate", "commandsTemplate", "filter_itemTemplate", "editTemplate", "filterTemplate"], never, true, never>;
}
/**
* StackedColumn Array Directive
* @private
*/
declare class StackedColumnsDirective extends ArrayBase {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-columns>e-column>e-stacked-columns", never, {}, {}, ["children"], never, true, never>;
}
/**
* `e-column` directive represent a column of the Angular Grid.
* It must be contained in a Grid component(`ejs-grid`).
* ```html
*
*
*
*
*
*
* ```
*/
declare class ColumnDirective extends ComplexBase {
private viewContainerRef;
directivePropList: any;
childColumns: any;
tags: string[];
/**
* Defines the column type.
*
* The following values are supported:
** string
** number
** date
** datetime
** boolean
** CheckBox
** RowNumber
*
*- `CheckBox` renders a checkbox selection column.
*- `RowNumber` renders a read-only column with automatically generated row numbers.
*
* @default null
*/
type: any;
/**
* If `allowEditing` set to false, then it disables editing of a particular column.
* By default all columns are editable.
* @default true
*/
allowEditing: any;
/**
* If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
* By default all columns are filterable.
* @default true
*/
allowFiltering: any;
/**
* Enables formula entry and evaluation for the column.
* When enabled, users can enter formulas directly into the column cells.
* @default false
*/
allowFormula: any;
/**
* If `allowGrouping` set to false, then it disables grouping of a particular column.
* By default all columns are groupable.
* @default true
*/
allowGrouping: any;
/**
* If `allowReordering` set to false, then it disables reorder of a particular column.
* By default all columns can be reorder.
* @default true
*/
allowReordering: any;
/**
* If `allowResizing` set to false, it disables resize option of a particular column.
* @default true
*/
allowResizing: any;
/**
* If `allowSearching` set to false, then it disables Searching of a particular column.
* By default all columns allow Searching.
* @default true
*/
allowSearching: any;
/**
* If `allowSorting` set to false, then it disables sorting option of a particular column.
* By default all columns are sortable.
* @default true
*/
allowSorting: any;
/**
* If `autoFit` set to true, then the particular column content width will be
* adjusted based on its content in the initial rendering itself.
* Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
* @default false
*/
autoFit: any;
/**
* Defines the cell content's overflow mode. The available modes are
* * `Clip` - Truncates the cell content when it overflows its area.
* * `Ellipsis` - Displays ellipsis when the cell content overflows its area.
* * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
* also it will display tooltip while hover on ellipsis applied cell.
* @default Ellipsis
*/
clipMode: any;
/**
* Used to render multiple header rows(stacked headers) on the Grid header.
* @default null
*/
columns: any;
/**
* `commands` provides an option to display command buttons in every cell.
* The available built-in command buttons are
* * Edit - Edit the record.
* * Delete - Delete the record.
* * Save - Save the record.
* * Cancel - Cancel the edit state.
*
* The following code example implements the custom command column.
*```html
*
*
*```
*```typescript
*var gridObj = new Grid({
*datasource: window.gridData,
*columns : [
* { field: 'CustomerID', headerText: 'Customer ID' },
* { field: 'CustomerName', headerText: 'Customer Name' },
* {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}
*]
*gridObj.appendTo("#Grid");
*```
*
* @default null
*/
commands: any;
/**
* The CSS styles and attributes of the content cells of a particular column can be customized.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: filterData,
*columns: [
* { field: 'OrderID', headerText: 'Order ID' },
* {
* field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {
* class: 'employeeid',
* type: 'employee-id-cell'
* }
* }]
*});
*gridObj.appendTo('#Grid');
*```
*
* @default null
*/
customAttributes: any;
/**
* Defines the column data source which will act as foreign data source.
* @default null
*/
dataSource: any;
/**
* Defines default values for the component when adding a new record to the Grid.
* @default null
* @asptype object
*/
defaultValue: any;
/**
* If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
* @default true
*/
disableHtmlEncode: any;
/**
* If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
* @default false
*/
displayAsCheckBox: any;
/**
* Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.
* @default {}
*/
edit: any;
/**
* Defines the type of component for editing.
* @default 'stringedit'
*/
editType: any;
/**
* Allows grid to perform column spanning on the specified column.
* @default true
*/
enableColumnSpan: any;
/**
* If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
* By default no columns are group by format.
* @default true
*/
enableGroupByFormat: any;
/**
* Allows grid to perform row spanning on the specified column.
* @default true
*/
enableRowSpan: any;
/**
* Defines the field name of column which is mapped with mapping name of DataSource.
* The bounded columns can be sort, filter and group etc.,
* If the `field` name contains “dot”, then it is considered as complex binding.
* 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: any;
/**
* Defines the filter options to customize filtering for the particular column.
* @default {}
*/
filter: any;
/**
* The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
* It have create and read functions.
* * create: It is used for creating custom components.
* * read: It is used to perform custom filter action.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: filterData,
*columns: [
* { field: 'OrderID', headerText: 'Order ID' },
* {
* field: 'EmployeeID', filterBarTemplate: {
* create: (args: { element: Element, column: Column }) => {
* let input: HTMLInputElement = document.createElement('input');
* input.id = 'EmployeeID';
* input.type = 'text';
* return input;
* },
* write: (args: { element: Element, column: Column }) => {
* args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
* },
* read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
* gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
* }
* }
* }],
* allowFiltering: true
*});
*gridObj.appendTo('#Grid');
*```
*
* @default null
*/
filterBarTemplate: any;
/**
* It defines the custom filter comparer function.
*/
filterComparer: any;
/**
* Defines the mapping column name of the foreign data source.
* If it is not defined then the `columns.field` will be considered as mapping column name
* @default null
*/
foreignKeyField: any;
/**
* Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data
* @default null
*/
foreignKeyValue: any;
/**
* 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: any;
/**
* Defines the method which is used to achieve custom formatting from an external function.
* This function triggers before rendering of each cell.
*
* ```html
*
*```
*```typescript
*class ExtendedFormatter implements ICellFormatter {
*public getValue(column: Column, data: Object): Object {
* return '' + data['Verified'] + '';
*}
*}
*let gridObj: Grid = new Grid({
* dataSource: filterData,
* columns: [
* { field: 'ShipName', headerText: 'Ship Name' },
* { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]
*});
*gridObj.appendTo('#Grid');
*```
*
* @default null
*/
formatter: any;
/**
* defines which side the column need to freeze
* The available built-in freeze directions are
* * Left - Freeze the column at left side.
* * Right - Freeze the column at right side.
* * Fixed - Freeze the column at Center.
* * None - Does not freeze the column.
* @default None
*/
freeze: any;
/**
* 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 null
*/
headerText: any;
/**
* Define the alignment of column header which is used to align the text of column header.
* @aspdefaultvalueignore
* @default null
*/
headerTextAlign: any;
/**
* Defines the method used to apply custom header cell values from external function and display this on each cell rendered.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
*columns: [
* { field: 'EmployeeID', headerText: 'Employee ID' },
* { field: 'EmployeeName', headerText: 'Employee First Name',
* headerValueAccessor: (field: string,column: Column) => {
* return "newheadername";
* },
* }]
*});
*```
*
* @default null
*/
headerValueAccessor: any;
/**
* column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
* `hideAtMedia` accepts only valid Media Queries.
* @default ''
*/
hideAtMedia: any;
/**
* Gets the unique identifier value of the column. It is used to get the object.
* @default null
*/
index: any;
/**
* You can use this property to freeze selected columns in grid.
* @default false
*/
isFrozen: any;
/**
* If `isIdentity` is set to true, then this column is considered as identity column.
* @default false
*/
isIdentity: any;
/**
* If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
* @default false
*/
isPrimaryKey: any;
/**
* Defines the mapping column name of the foreign data source.
* If it is not defined then the `columns.field` will be considered as mapping column name
* @default false
*/
lockColumn: any;
/**
* Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
* @default ''
*/
maxWidth: any;
/**
* Defines the minimum width of the column in pixels or percentage.
* @default ''
*/
minWidth: any;
/**
* If `showColumnMenu` set to false, then it disable the column menu of a particular column.
* By default column menu will show for all columns
* @default true
*/
showColumnMenu: any;
/**
* If `showInColumnChooser` set to false, then hides the particular column in column chooser.
* By default all columns are displayed in column Chooser.
* @default true
*/
showInColumnChooser: any;
/**
* It defines the custom sort comparer function.
*/
sortComparer: any;
/**
* Determines the behavior of the `aria-label` attribute for cells in template columns.
* If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.
* @default {}
*/
templateOptions: any;
/**
* Defines the alignment of the column in both header and content cells.
* @default Left
*/
textAlign: any;
/**
* Gets the unique identifier value of the column. It is used to get the object.
* @default ''
*/
uid: any;
/**
* `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.
* @default null
*/
validationRules: any;
/**
* Defines the method used to apply custom cell values from external function and display this on each cell rendered.
*
* ```html
*
*```
*```typescript
*let gridObj: Grid = new Grid({
*dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
*columns: [
* { field: 'EmployeeID', headerText: 'Employee ID' },
* { field: 'EmployeeName', headerText: 'Employee First Name',
* valueAccessor: (field: string, data: Object, column: Column) => {
* return data['EmployeeName'][0];
* },
* }]
*});
*```
*
* @default null
*/
valueAccessor: any;
/**
* If `visible` is set to false, hides the particular column. By default, all columns are displayed.
* @default true
*/
visible: any;
/**
* Defines the width of the column in pixels or percentage.
* @default ''
*/
width: any;
constructor(viewContainerRef: ViewContainerRef);
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-columns>e-column", never, { "allowEditing": { "alias": "allowEditing"; "required": false; }; "allowFiltering": { "alias": "allowFiltering"; "required": false; }; "allowFormula": { "alias": "allowFormula"; "required": false; }; "allowGrouping": { "alias": "allowGrouping"; "required": false; }; "allowReordering": { "alias": "allowReordering"; "required": false; }; "allowResizing": { "alias": "allowResizing"; "required": false; }; "allowSearching": { "alias": "allowSearching"; "required": false; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "autoFit": { "alias": "autoFit"; "required": false; }; "clipMode": { "alias": "clipMode"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "commands": { "alias": "commands"; "required": false; }; "customAttributes": { "alias": "customAttributes"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "disableHtmlEncode": { "alias": "disableHtmlEncode"; "required": false; }; "displayAsCheckBox": { "alias": "displayAsCheckBox"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "editTemplate": { "alias": "editTemplate"; "required": false; }; "editType": { "alias": "editType"; "required": false; }; "enableColumnSpan": { "alias": "enableColumnSpan"; "required": false; }; "enableGroupByFormat": { "alias": "enableGroupByFormat"; "required": false; }; "enableRowSpan": { "alias": "enableRowSpan"; "required": false; }; "field": { "alias": "field"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterBarTemplate": { "alias": "filterBarTemplate"; "required": false; }; "filterComparer": { "alias": "filterComparer"; "required": false; }; "filterTemplate": { "alias": "filterTemplate"; "required": false; }; "foreignKeyField": { "alias": "foreignKeyField"; "required": false; }; "foreignKeyValue": { "alias": "foreignKeyValue"; "required": false; }; "format": { "alias": "format"; "required": false; }; "formatter": { "alias": "formatter"; "required": false; }; "freeze": { "alias": "freeze"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "headerText": { "alias": "headerText"; "required": false; }; "headerTextAlign": { "alias": "headerTextAlign"; "required": false; }; "headerValueAccessor": { "alias": "headerValueAccessor"; "required": false; }; "hideAtMedia": { "alias": "hideAtMedia"; "required": false; }; "index": { "alias": "index"; "required": false; }; "isFrozen": { "alias": "isFrozen"; "required": false; }; "isIdentity": { "alias": "isIdentity"; "required": false; }; "isPrimaryKey": { "alias": "isPrimaryKey"; "required": false; }; "lockColumn": { "alias": "lockColumn"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "showColumnMenu": { "alias": "showColumnMenu"; "required": false; }; "showInColumnChooser": { "alias": "showInColumnChooser"; "required": false; }; "sortComparer": { "alias": "sortComparer"; "required": false; }; "template": { "alias": "template"; "required": false; }; "templateOptions": { "alias": "templateOptions"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "type": { "alias": "type"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "validationRules": { "alias": "validationRules"; "required": false; }; "valueAccessor": { "alias": "valueAccessor"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, ["childColumns", "template", "headerTemplate", "commandsTemplate", "filter_itemTemplate", "editTemplate", "filterTemplate"], never, true, never>;
}
/**
* Column Array Directive
* @private
*/
declare class ColumnsDirective extends ArrayBase {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-columns", never, {}, {}, ["children"], never, true, never>;
}
/**
* `e-aggregate->e-column` directive represent a aggregate column of the Angular Grid.
* ```html
*
*
*
*
*
*
*
*
*
*
*
*
*
* ```
*/
declare class AggregateColumnDirective extends ComplexBase {
private viewContainerRef;
directivePropList: any;
/**
* Defines the aggregate type of a particular column.
* To use multiple aggregates for single column, specify the `type` as array.
* Types of aggregate are,
* * sum
* * average
* * max
* * min
* * count
* * truecount
* * falsecount
* * custom
* > Specify the `type` value as `custom` to use custom aggregation.
* @default null
* @asptype string
*/
type: any;
/**
* Defines the column name to display the aggregate value. If `columnName` is not defined,
* then `field` name value will be assigned to the `columnName` property.
* @default null
*/
columnName: any;
/**
* Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`.
* To use custom aggregate value in the template, use the key as `${custom}`.
* **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object.
* **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.
* @default null
*/
customAggregate: any;
/**
* Defines the column name to perform aggregation.
* @default null
*/
field: any;
/**
* Format is applied to a calculated value before it is displayed.
* Gets the format from the user, which can be standard or custom
* [`number`](../../common/internationalization/#manipulating-numbers)
* and [`date`](../../common/internationalization/#manipulating-numbers) formats.
* @asptype string
* @blazortype string
* @default null
*/
format: any;
constructor(viewContainerRef: ViewContainerRef);
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-aggregates>e-aggregate>e-columns>e-column", never, { "columnName": { "alias": "columnName"; "required": false; }; "customAggregate": { "alias": "customAggregate"; "required": false; }; "field": { "alias": "field"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "format": { "alias": "format"; "required": false; }; "groupCaptionTemplate": { "alias": "groupCaptionTemplate"; "required": false; }; "groupFooterTemplate": { "alias": "groupFooterTemplate"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, ["footerTemplate", "groupFooterTemplate", "groupCaptionTemplate"], never, true, never>;
}
/**
* AggregateColumn Array Directive
* @private
*/
declare class AggregateColumnsDirective extends ArrayBase {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-aggregates>e-aggregate>e-columns", never, {}, {}, ["children"], never, true, never>;
}
/**
* `e-aggregate` directive represent a aggregate row of the Angular Grid.
* It must be contained in a Grid component(`ejs-grid`).
* ```html
*
*
*
*
*
*
*
*
*
*
*
*
*
* ```
*/
declare class AggregateDirective extends ComplexBase {
private viewContainerRef;
directivePropList: any;
childColumns: any;
tags: string[];
/**
* Configures the aggregate columns.
* @default []
*/
columns: any;
constructor(viewContainerRef: ViewContainerRef);
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-aggregates>e-aggregate", never, { "columns": { "alias": "columns"; "required": false; }; }, {}, ["childColumns"], never, true, never>;
}
/**
* Aggregate Array Directive
* @private
*/
declare class AggregatesDirective extends ArrayBase {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaratione-aggregates", never, {}, {}, ["children"], never, true, never>;
}
/**
* `ejs-grid` represents the Angular Grid Component.
* ```html
*
* ```
*/
declare class GridComponent extends Grid implements IComponentBase {
private ngEle;
private srenderer;
private viewContainerRef;
private injector;
context: any;
tagObjects: any;
actionBegin: any;
actionComplete: any;
actionFailure: any;
advancedFilterBegin: any;
advancedFilterClose: any;
advancedFilterComplete: any;
advancedFilterOpen: any;
batchAdd: any;
batchCancel: any;
batchDelete: any;
beforeAutoFill: any;
beforeBatchAdd: any;
beforeBatchDelete: any;
beforeBatchSave: any;
beforeCopy: any;
beforeCustomFilterOpen: any;
beforeDataBound: any;
beforeDetailTemplateDetach: any;
beforeExcelExport: any;
beforeOpenAdaptiveDialog: any;
beforeOpenColumnChooser: any;
beforePaste: any;
beforePdfExport: any;
beforePrint: any;
beforeWebMcpToolExecute: any;
beginEdit: any;
cellDeselected: any;
cellDeselecting: any;
cellEdit: any;
cellFocus: any;
cellSave: any;
cellSaved: any;
cellSelected: any;
cellSelecting: any;
checkBoxChange: any;
columnDataStateChange: any;
columnDeselected: any;
columnDeselecting: any;
columnDrag: any;
columnDragStart: any;
columnDrop: any;
columnMenuClick: any;
columnMenuClose: any;
columnMenuOpen: any;
columnSelected: any;
columnSelecting: any;
commandClick: any;
contextMenuClick: any;
contextMenuClose: any;
contextMenuOpen: any;
created: any;
dataBound: any;
dataSourceChanged: any;
dataStateChange: any;
destroyed: any;
detailCollapse: any;
detailCollapsed: any;
detailDataBound: any;
detailExpand: any;
detailExpanded: any;
excelAggregateQueryCellInfo: any;
excelExportComplete: any;
excelHeaderQueryCellInfo: any;
excelQueryCellInfo: any;
exportDetailDataBound: any;
exportDetailTemplate: any;
exportGroupCaption: any;
headerCellInfo: any;
keyPressed: any;
lazyLoadGroupCollapse: any;
lazyLoadGroupExpand: any;
load: any;
pdfAggregateQueryCellInfo: any;
pdfExportComplete: any;
pdfHeaderQueryCellInfo: any;
pdfQueryCellInfo: any;
printComplete: any;
queryCellInfo: any;
recordClick: any;
recordDoubleClick: any;
resizeStart: any;
resizeStop: any;
resizing: any;
rowDataBound: any;
rowDeselected: any;
rowDeselecting: any;
rowDrag: any;
rowDragStart: any;
rowDragStartHelper: any;
rowDrop: any;
rowSelected: any;
rowSelecting: any;
toolbarClick: any;
dataSourceChange: any;
childColumns: QueryList;
childAggregates: QueryList;
tags: string[];
constructor(ngEle: ElementRef, srenderer: Renderer2, viewContainerRef: ViewContainerRef, injector: Injector);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
ngAfterContentChecked(): void;
registerEvents: (eventList: string[]) => void;
addTwoWay: (propList: string[]) => void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
/**
* NgModule definition for the Grid component.
* Re-exports standalone Grid component and directives so existing apps can keep using:
* `imports: [GridModule]`
*/
declare class GridModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
declare const FilterService: ValueProvider;
declare const PageService: ValueProvider;
declare const SelectionService: ValueProvider;
declare const SortService: ValueProvider;
declare const GroupService: ValueProvider;
declare const ReorderService: ValueProvider;
declare const RowDDService: ValueProvider;
declare const DetailRowService: ValueProvider;
declare const ToolbarService: ValueProvider;
declare const AggregateService: ValueProvider;
declare const SearchService: ValueProvider;
declare const VirtualScrollService: ValueProvider;
declare const EditService: ValueProvider;
declare const ResizeService: ValueProvider;
declare const ExcelExportService: ValueProvider;
declare const PdfExportService: ValueProvider;
declare const CommandColumnService: ValueProvider;
declare const ContextMenuService: ValueProvider;
declare const FreezeService: ValueProvider;
declare const ColumnMenuService: ValueProvider;
declare const ColumnChooserService: ValueProvider;
declare const ForeignKeyService: ValueProvider;
declare const InfiniteScrollService: ValueProvider;
declare const LazyLoadGroupService: ValueProvider;
declare const DomVirtualizationService: ValueProvider;
declare const FormulaService: ValueProvider;
declare const AdvancedFilterService: ValueProvider;
declare const WebMcpGridService: ValueProvider;
/**
* NgModule definition for the Grid component with providers.
*/
declare class GridAllModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
/**
* `ejs-pager` represents the Angular Pager Component.
* ```html
*
* ```
*/
declare class PagerComponent extends Pager implements IComponentBase {
private ngEle;
private srenderer;
private viewContainerRef;
private injector;
context: any;
tagObjects: any;
click: any;
created: any;
dropDownChanged: any;
currentPageChange: any;
pageSizeChange: any;
pageCountChange: any;
pageSizesChange: any;
constructor(ngEle: ElementRef, srenderer: Renderer2, viewContainerRef: ViewContainerRef, injector: Injector);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
ngAfterContentChecked(): void;
registerEvents: (eventList: string[]) => void;
addTwoWay: (propList: string[]) => void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
/**
* NgModule definition for the Pager component.
* Re-exports standalone Pager component and directives so existing apps can keep using:
* `imports: [PagerModule]`
*/
declare class PagerModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
/**
* NgModule definition for the Pager component with providers.
*/
declare class PagerAllModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
export { AdvancedFilterService, AggregateColumnDirective, AggregateColumnsDirective, AggregateDirective, AggregateService, AggregatesDirective, ColumnChooserService, ColumnDirective, ColumnMenuService, ColumnsDirective, CommandColumnService, ContextMenuService, DetailRowService, DomVirtualizationService, EditService, ExcelExportService, FilterService, ForeignKeyService, FormulaService, FreezeService, GridAllModule, GridComponent, GridModule, GroupService, InfiniteScrollService, LazyLoadGroupService, PageService, PagerAllModule, PagerComponent, PagerModule, PdfExportService, ReorderService, ResizeService, RowDDService, SearchService, SelectionService, SortService, StackedColumnDirective, StackedColumnsDirective, ToolbarService, VirtualScrollService, WebMcpGridService };