@syncfusion/ej2-react-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel. for React
587 lines (583 loc) • 27.9 kB
JSON
{
"name": "Grids",
"description": "Grid Components",
"blazorType": "native",
"keywords": {
"common": ["ej2", "ej2-grids", "syncfusion", "web-components", "data-grid", "data-table", "grid", "pager", "data", "table", "Typescript"],
"angular": ["angular", "ng-grids", "ej2-angular-grids", "ej2-ng-grids"],
"react": ["react", "reactjs", "react-grids", "ej2-react-grids"],
"vue": ["vue", "vuejs", "vue-grids", "ej2-vue-grids" ]
},
"repository": {
"type": "git",
"url": "https://github.com/syncfusion/ej2-grids"
},
"eventInterfaces": ["ActionEventArgs", "AddEventArgs", "CellDeselectEventArgs", "CellSelectEventArgs", "CellSelectingEventArgs",
"ColumnChooserEventArgs", "ColumnDragEventArgs", "ColumnMenuClickEventArgs", "ColumnMenuOpenEventArgs", "ContextMenuClickEventArgs",
"ContextMenuOpenEventArgs", "DataSourceChangedEventArgs", "DataStateChangeEventArgs", "DeleteEventArgs", "DetailDataBoundEventArgs",
"DialogEditEventArgs", "EditEventArgs", "ExcelHeaderQueryCellInfoEventArgs", "ExcelQueryCellInfoEventArgs", "ExportDetailDataBoundEventArgs",
"FailureEventArgs", "FilterEventArgs", "FilterSearchBeginEventArgs", "GroupEventArgs", "HeaderCellInfoEventArgs",
"PageEventArgs", "PdfHeaderQueryCellInfoEventArgs", "PdfQueryCellInfoEventArgs", "PrintEventArgs", "QueryCellInfoEventArgs",
"RecordDoubleClickEventArgs", "RowDataBoundEventArgs", "RowDeselectEventArgs", "RowDragEventArgs", "RowDropEventArgs",
"RowSelectEventArgs", "RowSelectingEventArgs", "SaveEventArgs", "SearchEventArgs", "SortEventArgs"],
"components": [{
"baseClass": "Grid",
"directoryName": "grid",
"type": "simple",
"isTModel":true,
"isGenericClass": true,
"blazorPlaceholder": "datagrid",
"defaultTag": "<grid id='sample'></grid>",
"blazorType": "native",
"templateProps": [
"template",
"headerTemplate",
"commandsTemplate",
"filter.itemTemplate",
"editTemplate",
"filterTemplate",
"columnChooserSettings.headerTemplate",
"columnChooserSettings.template",
"columnChooserSettings.footerTemplate"
],
"blazorDependency": [
"ej2-base",
"ej2-data",
"ej2-popups",
"ej2-navigations/blazor/Toolbar",
"ej2-navigations/blazor/ContextMenu",
"ej2-inputs/blazor/NumericTextBox",
"ej2-inputs/blazor/TextBox",
"ej2-calendars/blazor/DatePicker",
"ej2-calendars/DateTimePicker",
"ej2-dropdowns/DropDownList",
"ej2-dropdowns/AutoComplete",
"ej2-popups/blazor/Dialog",
"ej2-popups/blazor/Tooltip",
"ej2-splitbuttons/blazor/DropDownButton"
],
"twoWays": [
"dataSource"
],
"dynamicModules": [
"Filter",
"Page",
"Selection",
"Sort",
"Group",
"Reorder",
"RowDD",
"DetailRow",
"Toolbar",
"Aggregate",
"Search",
"VirtualScroll",
"Edit",
"Resize",
"ExcelExport",
"PdfExport",
"CommandColumn",
"ContextMenu",
"Freeze",
"ColumnMenu",
"ColumnChooser",
"ForeignKey",
"InfiniteScroll",
"LazyLoadGroup"
],
"diModuleFiles": [
{ "fileName": "Filter" },
{ "fileName": "Page" },
{ "fileName": "Selection" },
{ "fileName": "Sort" },
{ "fileName": "Group" },
{ "fileName": "Reorder" },
{ "fileName": "row-reorder" },
{ "fileName": "detail-row" },
{ "fileName": "toolbar" },
{ "fileName": "aggregate" },
{ "fileName": "virtual-scroll" },
{ "fileName": "edit" },
{ "fileName": "resize" },
{ "fileName": "Excel-Export" },
{ "fileName": "Pdf-Export" },
{ "fileName": "Command-Column" },
{ "fileName": "Context-Menu" },
{ "fileName": "Freeze" },
{ "fileName": "Column-Menu" },
{ "fileName": "column-chooser" },
{ "fileName": "Foreign-Key" },
{ "fileName": "infinite-scroll"},
{ "fileName": "lazy-load-group"}
],
"comment": [
"/**",
" * `ejs-grid` represents the Angular Grid Component.",
" * ```html",
" * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'></ejs-grid>",
" * ```",
" */"
],
"reactComment": [
"/**",
" * `GridComponent` represents the react Grid.",
" * ```tsx",
" * <GridComponent dataSource={data} allowPaging={true} allowSorting={true}/>",
" * ```",
" */"
],
"vueComment": [
"/**",
" * `ejs-grid` represents the VueJS Grid Component.",
" * ```vue",
" * <ejs-grid :dataSource='data' allowPaging='true' allowSorting='true'></ejs-grid>",
" * ```",
" */"
],
"complexDirective": [{
"propertyName": "filterSettings",
"baseClass": "FilterSettings",
"migratedTagDirective": [{
"arrayDirectiveClassName": "filterColumns",
"directiveClassName": "filterColumn",
"propertyName": "columns",
"directoryName": "grid",
"baseClass": "Predicate"
}]
},
{
"propertyName": "sortSettings",
"baseClass": "SortSettings",
"migratedTagDirective": [{
"arrayDirectiveClassName": "sortColumns",
"directiveClassName": "sortColumn",
"propertyName": "columns",
"directoryName": "grid",
"baseClass": "SortDescriptor"
}]
},
{
"propertyName": "groupSettings",
"baseClass": "GroupSettings",
"blazorTemplates":["captionTemplate"],
"blazorTemplateModels": {
"captionTemplate": "CaptionTemplateContext"
}
},
{
"propertyName": "editSettings",
"baseClass": "EditSettings",
"isPartialClass": true,
"blazorTemplates":["template",
"headerTemplate",
"footerTemplate"
]
},
{
"propertyName": "pageSettings",
"baseClass": "PageSettings",
"blazorTemplates":["template"],
"blazorTemplateModels": {
"template": "PagerTemplateContext"
}
},
{
"propertyName": "rowDropSettings",
"baseClass": "RowDropSettings"
},
{
"propertyName": "searchSettings",
"baseClass": "SearchSettings"
},
{
"propertyName": "selectionSettings",
"baseClass": "SelectionSettings"
},
{
"propertyName": "textWrapSettings",
"baseClass": "TextWrapSettings"
},
{
"propertyName": "columnChooserSettings",
"baseClass": "ColumnChooserSettings"
},
{
"propertyName": "resizeSettings",
"baseClass": "ResizeSettings"
},
{
"propertyName": "infiniteScrollSettings",
"baseClass": "InfiniteScrollSettings"
},
{
"propertyName": "loadingIndicator",
"baseClass": "LoadingIndicator",
"migratedTagDirective": [{
"propertyName": "indicatorType",
"directoryName": "grid",
"baseClass": "IndicatorType"
}]
}
],
"tagDirective": [{
"arrayDirectiveClassName": "columns",
"directiveClassName": "column",
"isTModel":true,
"propertyName": "columns",
"isPartialClass": true,
"arrayDirectiveSelector": "ejs-grid>e-columns",
"directiveSelector": "ejs-grid>e-columns>e-column",
"directoryName": "grid",
"baseClass": "GridColumn",
"isCircularBlazorComponent": true,
"comment": [
"/**",
" * `e-column` directive represent a column of the Angular Grid. ",
" * It must be contained in a Grid component(`ejs-grid`). ",
" * ```html",
" * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> ",
" * <e-columns>",
" * <e-column field='ID' width='100'></e-column>",
" * <e-column field='name' headerText='Name' width='100'></e-column>",
" * </e-columns>",
" * </ejs-grid>",
" * ```",
" */"
],
"reactComment": [
"/**",
" * `ColumnDirective` represent a column of the react Grid. ",
" * It must be contained in a Grid component(`GridComponent`). ",
" * ```tsx",
" * <GridComponent dataSource={data} allowPaging={true} allowSorting={true}> ",
" * <ColumnsDirective>",
" * <ColumnDirective field='ID' width='100'></ColumnDirective>",
" * <ColumnDirective field='name' headerText='Name' width='100'></ColumnDirective>",
" * <ColumnsDirective>",
" * </GridComponent>",
" * ```",
" */"
],
"vueComment": [
"/**",
" * `e-column` directive represent a column of the VueJS Grid. ",
" * It must be contained in a Grid component(`ejs-grid`). ",
" * ```vue",
" * <ejs-grid :dataSource='data' allowPaging='true' allowSorting='true'> ",
" * <e-columns>",
" * <e-column field='ID' width='100'/>",
" * <e-column field='name' headerText='Name' width='100'/>",
" * </e-columns>",
" * </ejs-grid>",
" * ```",
" */"
],
"templateProperties": [
"template",
"headerTemplate",
"commandsTemplate",
"filter.itemTemplate",
"editTemplate",
"filterTemplate"
],
"blazorTemplates":[
"template",
"headerTemplate",
"editTemplate",
"filterTemplate"
],
"blazorTemplateModels":{
"filterTemplate": "PredicateModel"
},
"customProperties": [{
"name": "customFormat",
"type": "object",
"defaultValue": null,
"comments": "Gets the format from the user which can be standard or custom"
}],
"migratedTagDirective": [{
"arrayDirectiveClassName": "CommandColumns",
"directiveClassName": "CommandColumn",
"directoryName": "grid",
"propertyName": "commands",
"baseClass": "CommandColumnModel",
"isPartialClass": true
}],
"tagDirective": [
{
"arrayDirectiveClassName": "StackedColumns",
"directiveClassName": "StackedColumn",
"propertyName": "columns",
"arrayDirectiveSelector": "ejs-grid>e-columns>e-column>e-stacked-columns",
"directiveSelector": "ejs-grid>e-columns>e-column>e-stacked-columns>e-stacked-column",
"directoryName": "grid",
"baseClass": "StackedColumn",
"fileName": "stacked-column",
"comment": [
"/**",
" * `e-stacked-column` directive represent the stacked column of the Angular Grid.",
" * It must be contained in a StackedColumns component(`e-stacked-columns`). ",
" * ```html",
" * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> ",
" * <e-columns>",
" * <e-column field='ID' width='100'></e-column>",
" * <e-column headerText='Details' width='100'>",
" * <e-stacked-columns>",
" * <e-stacked-column field='Name' width='140'></e-stacked-column>",
" * </e-stacked-columns>",
" * </e-column>",
" * </e-columns>",
" * </ejs-grid>",
" * ```",
" */"
],
"templateProperties": [
"template",
"headerTemplate",
"commandsTemplate",
"filter.itemTemplate",
"editTemplate",
"filterTemplate"
],
"customProperties": [
{
"name": "customFormat",
"type": "object",
"defaultValue": null,
"comments": "Gets the format from the user which can be standard or custom"
}
],
"migratedTagDirective": [
{
"arrayDirectiveClassName": "CommandColumns",
"directiveClassName": "CommandColumn",
"directoryName": "grid",
"propertyName": "commands",
"baseClass": "CommandColumnModel",
"isPartialClass": true
}
]
}
]
},
{
"arrayDirectiveClassName": "aggregates",
"directiveClassName": "aggregate",
"arrayDirectiveSelector": "ejs-grid>e-aggregates",
"directiveSelector": "ejs-grid>e-aggregates>e-aggregate",
"directoryName": "grid",
"propertyName": "aggregates",
"baseClass": "AggregateRow",
"comment": [
"/**",
" * `e-aggregate` directive represent a aggregate row of the Angular Grid. ",
" * It must be contained in a Grid component(`ejs-grid`). ",
" * ```html",
" * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> ",
" * <e-columns>",
" * <e-column field='ID' width='100'></e-column>",
" * <e-column field='name' headerText='Name' width='100'></e-column>",
" * </e-columns>",
" * <e-aggregates>",
" * <e-aggregate>",
" * <e-columns>",
" * <e-column field='ID' type='Min'></e-column>",
" * </e-columns>",
" * </e-aggregate>",
" * </e-aggregates>",
" * </ejs-grid>",
" * ```",
" */"
],
"reactComment": [
"/**",
" * `AggregateDirective` represent a aggregate row of the react Grid. ",
" * It must be contained in a Grid component(`GridComponent`). ",
" * ```tsx",
" * <GridComponent dataSource={data} allowPaging={true} allowSorting={true}> ",
" * <ColumnsDirective>",
" * <ColumnDirective field='ID' width='100'></ColumnDirective>",
" * <ColumnDirective field='name' headerText='Name' width='100'></ColumnDirective>",
" * </ColumnsDirective>",
" * <AggregatesDirective>",
" * <AggregateDirective>",
" * <AggregateColumnsDirective>",
" * <AggregateColumnDirective field='ID' type='Min'></AggregateColumnsDirective>",
" * </<AggregateColumnsDirective>",
"* </AggregateDirective>",
" * </AggregatesDirective>",
" * </GridComponent>",
" * ```",
" */"
],
"vueComment": [
"/**",
" * `e-aggregate` directive represent a aggregate row of the VueJS Grid. ",
" * It must be contained in a Grid component(`ejs-grid`). ",
" * ```vue",
" * <ejs-grid :dataSource]='data' allowPaging='true' allowSorting='true'>",
" * <e-columns>",
" * <e-column field='ID' width='100'/>",
" * <e-column field='name' headerText='Name' width='100'/>",
" * </e-columns>",
" * <e-aggregates>",
" * <e-aggregate>",
" * <e-columns>",
" * <e-column field='ID' type='Min'/>",
" * </e-columns>",
" * </e-aggregate>",
" * </e-aggregates>",
" * </ejs-grid>",
" * ```",
" */"
],
"tagDirective": [{
"arrayDirectiveClassName": "AggregateColumns",
"directiveClassName": "AggregateColumn",
"arrayDirectiveSelector": "ejs-grid>e-aggregates>e-aggregate>e-columns",
"directiveSelector": "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column",
"directoryName": "grid",
"fileName": "aggregate-columns",
"propertyName": "columns",
"baseClass": "AggregateColumn",
"aspDirectiveSelector": "e-aggregate-column",
"aspArrayDirectiveSelector": "e-aggregate-columns",
"templateProperties": [
"footerTemplate",
"groupFooterTemplate",
"groupCaptionTemplate"
],
"blazorTemplates":[
"footerTemplate",
"groupFooterTemplate",
"groupCaptionTemplate"
],
"blazorTemplateModels": {
"footerTemplate" : "AggregateTemplateContext",
"groupFooterTemplate" : "AggregateTemplateContext",
"groupCaptionTemplate" : "AggregateTemplateContext"
},
"comment": [
"/**",
" * `e-aggregate->e-column` directive represent a aggregate column of the Angular Grid. ",
" * ```html",
" * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> ",
" * <e-columns>",
" * <e-column field='ID' width='100'></e-column>",
" * <e-column field='name' headerText='Name' width='100'></e-column>",
" * </e-columns>",
" * <e-aggregates>",
" * <e-aggregate>",
" * <e-columns>",
" * <e-column field='ID' type='Min'></e-column>",
" * </e-columns>",
" * </e-aggregate>",
" * </e-aggregates>",
" * </ejs-grid>",
" * ```",
" */"
],
"reactComment": [
"/**",
" * `AggregateColumnDirective represent a aggregate column of the react Grid. ",
" * ```tsx",
" * <GridComponent dataSource={data} allowPaging={true} allowSorting={true}> ",
" * <ColumnsDirective>",
" * <ColumnDirective field='ID' width='100'></ColumnDirective>",
" * <ColumnDirective field='name' headerText='Name' width='100'></ColumnDirective>",
" * </ColumnsDirective>",
" * <AggregatesDirective>",
" * <AggregateDirective>",
" * <AggregateColumnsDirective>",
" * <AggregateColumnDirective field='ID' type='Min'></AggregateColumnsDirective>",
" * </AggregateColumnsDirective>",
" * </AggregateDirective>",
" * </AggregatesDirective>",
" * </GridComponent>",
" * ```",
" */"
],
"vueComment": [
"/**",
" * `e-aggregate->e-column` directive represent a aggregate column of the VueJS Grid. ",
" * ```vue",
" * <ejs-grid :dataSource='data' allowPaging='true' allowSorting='true'> ",
" * <e-columns>",
" * <e-column field='ID' width='100'/>",
" * <e-column field='name' headerText='Name' width='100'/>",
" * </e-columns>",
" * <e-aggregates>",
" * <e-aggregate>",
" * <e-columns>",
" * <e-column field='ID' type='Min'/>",
" * </e-columns>",
" * </e-aggregate>",
" * </e-aggregates>",
" * </ejs-grid>",
" * ```",
" */"
]
}]
}
],
"templateProperties": [
"rowTemplate",
"emptyRecordTemplate",
"detailTemplate",
"toolbarTemplate",
"pagerTemplate",
"editSettings.template",
"groupSettings.captionTemplate",
"columnChooserSettings.headerTemplate",
"columnChooserSettings.template",
"columnChooserSettings.footerTemplate"
],
"blazorTemplates":[
"rowTemplate",
"detailTemplate",
"toolbarTemplate"
],
"interfaces": [
{
"InterfaceName": "IFilter",
"PropertyName": [
"itemTemplate"
]
}
]
},
{
"baseClass": "Pager",
"directoryName": "pager",
"type": "simple",
"twoWays": ["currentPage", "pageSize", "pageCount", "pageSizes"],
"comment": [
"/**",
" * `ejs-pager` represents the Angular Pager Component.",
" * ```html",
" * <ejs-pager></ejs-pager>",
" * ```",
" */"
],
"reactComment": [
"/**",
" * `PagerComponent` represents the react Pager.",
" * ```tsx",
" * <PagerComponent/>",
" * ```",
" */"
],
"vueComment": [
"/**",
" * `ejs-pager` represents the VueJS Pager Component.",
" * ```vue",
" * <ejs-pager></ejs-pager>",
" * ```",
" */"
],
"templateProperties": [
"template"
]
}
]
}