@syncfusion/ej2-treegrid 20.3.61 → 20.4.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +16 -1
- package/CHANGELOG.md +8 -61
- package/README.md +64 -51
- package/dist/ej2-treegrid.min.js +2 -2
- package/dist/ej2-treegrid.umd.min.js +2 -2
- package/dist/ej2-treegrid.umd.min.js.map +1 -1
- package/dist/es6/ej2-treegrid.es2015.js +1190 -906
- package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
- package/dist/es6/ej2-treegrid.es5.js +1248 -942
- package/dist/es6/ej2-treegrid.es5.js.map +1 -1
- package/dist/global/ej2-treegrid.min.js +2 -2
- package/dist/global/ej2-treegrid.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +16 -10
- package/src/treegrid/actions/batch-edit.js +82 -82
- package/src/treegrid/actions/clipboard.js +34 -33
- package/src/treegrid/actions/context-menu.js +1 -1
- package/src/treegrid/actions/crud-actions.js +62 -55
- package/src/treegrid/actions/detail-row.js +7 -7
- package/src/treegrid/actions/edit.js +61 -60
- package/src/treegrid/actions/excel-export.js +2 -2
- package/src/treegrid/actions/filter.js +13 -13
- package/src/treegrid/actions/freeze-column.js +9 -8
- package/src/treegrid/actions/infinite-scroll.js +19 -19
- package/src/treegrid/actions/logger.js +10 -10
- package/src/treegrid/actions/page.js +8 -8
- package/src/treegrid/actions/reorder.js +2 -2
- package/src/treegrid/actions/rowdragdrop.js +88 -82
- package/src/treegrid/actions/selection.js +34 -32
- package/src/treegrid/actions/sort.js +7 -6
- package/src/treegrid/actions/summary.js +24 -24
- package/src/treegrid/actions/toolbar.js +2 -2
- package/src/treegrid/base/data.js +242 -55
- package/src/treegrid/base/treegrid-model.d.ts +20 -4
- package/src/treegrid/base/treegrid.d.ts +24 -5
- package/src/treegrid/base/treegrid.js +224 -188
- package/src/treegrid/models/column.js +3 -3
- package/src/treegrid/models/index.d.ts +2 -0
- package/src/treegrid/models/index.js +1 -0
- package/src/treegrid/models/loading-indicator-model.d.ts +19 -0
- package/src/treegrid/models/loading-indicator.d.ts +16 -0
- package/src/treegrid/models/loading-indicator.js +34 -0
- package/src/treegrid/renderer/render.js +20 -19
- package/src/treegrid/renderer/virtual-row-model-generator.js +6 -5
- package/src/treegrid/renderer/virtual-tree-content-render.js +128 -99
- package/src/treegrid/utils.js +12 -11
package/.eslintrc.json
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
"extends": [
|
|
7
7
|
"eslint:recommended",
|
|
8
8
|
"plugin:@typescript-eslint/recommended",
|
|
9
|
-
"plugin:jsdoc/recommended"
|
|
9
|
+
"plugin:jsdoc/recommended",
|
|
10
|
+
"plugin:security/recommended"
|
|
10
11
|
],
|
|
11
12
|
"parser": "@typescript-eslint/parser",
|
|
12
13
|
"parserOptions": {
|
|
@@ -18,10 +19,24 @@
|
|
|
18
19
|
"plugins": [
|
|
19
20
|
"@typescript-eslint",
|
|
20
21
|
"@typescript-eslint/tslint",
|
|
22
|
+
"eslint-plugin-security",
|
|
21
23
|
"jsdoc"
|
|
22
24
|
],
|
|
23
25
|
"rules": {
|
|
24
26
|
"use-isnan": "error",
|
|
27
|
+
"security/detect-unsafe-regex":"error",
|
|
28
|
+
"security/detect-buffer-noassert":"error",
|
|
29
|
+
"security/detect-child-process":"error",
|
|
30
|
+
"security/detect-disable-mustache-escape":"error",
|
|
31
|
+
"security/detect-eval-with-expression":"error",
|
|
32
|
+
"security/detect-no-csrf-before-method-override":"error",
|
|
33
|
+
"security/detect-non-literal-fs-filename":"error",
|
|
34
|
+
"security/detect-non-literal-regexp":"error",
|
|
35
|
+
"security/detect-non-literal-require":"error",
|
|
36
|
+
"security/detect-object-injection":"error",
|
|
37
|
+
"security/detect-possible-timing-attacks":"error",
|
|
38
|
+
"security/detect-pseudoRandomBytes":"error",
|
|
39
|
+
"security/detect-new-buffer":"error",
|
|
25
40
|
"@typescript-eslint/no-inferrable-types": "off",
|
|
26
41
|
"@typescript-eslint/ban-types": ["warn", {
|
|
27
42
|
"types": {
|
package/CHANGELOG.md
CHANGED
|
@@ -4,72 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
### Tree Grid
|
|
6
6
|
|
|
7
|
-
####
|
|
8
|
-
|
|
9
|
-
- `#I419247` - `expandRow` and `collapseRow` methods are working properly while expanding or collapsing a row respectively when `frozenRows` property enabled
|
|
10
|
-
|
|
11
|
-
## 20.3.60 (2022-12-06)
|
|
12
|
-
|
|
13
|
-
### Tree Grid
|
|
14
|
-
|
|
15
|
-
#### Bug Fixes
|
|
16
|
-
|
|
17
|
-
- `#I419658` - Resolved template column not rendered properly when stacked header enabled.
|
|
18
|
-
|
|
19
|
-
## 20.3.58 (2022-11-22)
|
|
20
|
-
|
|
21
|
-
### Tree Grid
|
|
22
|
-
|
|
23
|
-
#### Bug Fixes
|
|
24
|
-
|
|
25
|
-
- `#I417095` - NVDA screen reader problem for expand/collapse action has been resolved.
|
|
26
|
-
- `#I418121` - Resolved row selected issue while performing expand/collapse operation.
|
|
27
|
-
|
|
28
|
-
## 20.3.57 (2022-11-15)
|
|
29
|
-
|
|
30
|
-
### Tree Grid
|
|
31
|
-
|
|
32
|
-
#### Bug Fixes
|
|
33
|
-
|
|
34
|
-
- `#I410505` - Resolved the tree column cell was selected while performing the expand or collapse operation.
|
|
35
|
-
- `#I414378` - Resolved `selectedItems` not getting properly after performing the filter action with checkbox enabled.
|
|
36
|
-
|
|
37
|
-
## 20.3.52 (2022-10-26)
|
|
38
|
-
|
|
39
|
-
### Tree Grid
|
|
40
|
-
|
|
41
|
-
#### Bug Fixes
|
|
42
|
-
|
|
43
|
-
- `#I411501` - Checkbox-column selectAll behaviour works properly while clear searching.
|
|
44
|
-
- `#I411372` - Confirmation dialog shows properly while expanding/collapsing actions on batch edit mode.
|
|
45
|
-
|
|
46
|
-
## 20.3.50 (2022-10-18)
|
|
47
|
-
|
|
48
|
-
### Tree Grid
|
|
49
|
-
|
|
50
|
-
#### Bug Fixes
|
|
51
|
-
|
|
52
|
-
- `#I395009` - `selectedItems` are getting properly after performing filter actions.
|
|
53
|
-
- `#I407372` - Resolved script error when navigate over the cells through tab pressing on keyboard navigations while using row drag and drop with collapsed state record.
|
|
54
|
-
- `#I411504`, `#I404107`, `#I402745`, `#I403053` - Expand icon is showing properly while using the custom binding.
|
|
55
|
-
|
|
56
|
-
## 20.3.49 (2022-10-11)
|
|
57
|
-
|
|
58
|
-
### Tree Grid
|
|
59
|
-
|
|
60
|
-
#### Bug fixes
|
|
7
|
+
#### Features
|
|
61
8
|
|
|
62
|
-
-
|
|
63
|
-
- `#
|
|
9
|
+
- Provided the shimmer effect for tree grid while loading, refreshing and data processing. Please find the demo [here](https://ej2.syncfusion.com/demos/#/bootstrap5/tree-grid/loading-animation.html).
|
|
10
|
+
- `#I307202`, `#FB20655` - Provided support to load child records on demand while virtual scrolling in remote data binding. Find more details in the documentation [here](https://ej2.syncfusion.com/documentation/treegrid/data-binding/remote-data/#loadchildondemand-with-virtualization).
|
|
64
11
|
|
|
65
|
-
## 20.3.
|
|
12
|
+
## 20.3.47 (2022-09-29)
|
|
66
13
|
|
|
67
14
|
### Tree Grid
|
|
68
15
|
|
|
69
|
-
####
|
|
16
|
+
#### Features
|
|
70
17
|
|
|
71
|
-
-
|
|
72
|
-
- `#
|
|
18
|
+
- Provided support for inline editing with virtualization enabled. Please find the demo [here](https://ej2.syncfusion.com/demos/#/bootstrap5/tree-grid/virtual-scrolling.html).
|
|
19
|
+
- `#I323425`, `#I332700`, `#I344742`, `#I375307` - Provided support for frozen column with virtualization enabled.
|
|
73
20
|
|
|
74
21
|
## 20.2.36 (2022-06-30)
|
|
75
22
|
|
|
@@ -221,4 +168,4 @@
|
|
|
221
168
|
#### Bug Fixes
|
|
222
169
|
|
|
223
170
|
- Expanding and Collapsing records is working fine when `pageSizeMode` is set as `All`.
|
|
224
|
-
- `expandAtLevel`, `collapseAtLevel`, `expandAll` and `collapseAll` methods are working fine when `pageSizeMode` is set as `All`.
|
|
171
|
+
- `expandAtLevel`, `collapseAtLevel`, `expandAll` and `collapseAll` methods are working fine when `pageSizeMode` is set as `All`.
|
package/README.md
CHANGED
|
@@ -1,70 +1,83 @@
|
|
|
1
|
-
#
|
|
1
|
+
# JavaScript TreeGrid Control
|
|
2
2
|
|
|
3
|
-
The TreeGrid
|
|
3
|
+
The [JavaScript TreeGrid](https://www.syncfusion.com/javascript-ui-controls/js-tree-grid?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm) control is a feature-rich control used to visualize self-referential and hierarchical data effectively in a tabular format. It pulls data from a data source, such as array of JSON objects, `OData web services`, or [DataManager](https://ej2.syncfusion.com/documentation/data/data-binding/). It also incudes interactions like expanding and collapsing the parent records.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://ej2.syncfusion.com/documentation/treegrid/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm">Getting Started</a> .
|
|
7
|
+
<a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/treegrid-overview.html">Online demos</a> .
|
|
8
|
+
<a href="https://www.syncfusion.com/javascript-ui-controls/js-tree-grid?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm">Learn more</a>
|
|
9
|
+
</p>
|
|
6
10
|
|
|
7
|
-
>
|
|
8
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
<img alt="JavaScript TreeGrid Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-treegrid.png"> </p>
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
Trusted by the world's leading companies
|
|
16
|
+
<a href="https://www.syncfusion.com">
|
|
17
|
+
<img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Bootstrap logo">
|
|
18
|
+
</a>
|
|
19
|
+
</p>
|
|
9
20
|
|
|
10
21
|
## Setup
|
|
11
22
|
|
|
12
|
-
To install
|
|
23
|
+
To install Tree Grid and its dependent packages, use the following command.
|
|
13
24
|
|
|
14
25
|
```sh
|
|
15
26
|
npm install @syncfusion/ej2-treegrid
|
|
16
27
|
```
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
##
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* [
|
|
38
|
-
* [
|
|
39
|
-
* [
|
|
40
|
-
* [
|
|
41
|
-
* [
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* [
|
|
49
|
-
* [**Context menu**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/tree-grid/default-context-menu.html) -The context menu provides a list of actions to be performed in the TreeGrid. It appears when a cell, header, or the pager is right-clicked.
|
|
50
|
-
* [**Export**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/tree-grid/default-exporting.html) - Provides the options to Export the TreeGrid data to Excel, PDF, and CSV formats.
|
|
51
|
-
* **RTL support** - Provides a full-fledged right-to-left mode which aligns content in the TreeGrid control from right to left.
|
|
52
|
-
* **Localization** - Provides inherent support to localize the UI.
|
|
28
|
+
## Supported frameworks
|
|
29
|
+
|
|
30
|
+
TreeGrid control is also offered in the following list of frameworks.
|
|
31
|
+
|
|
32
|
+
| [<img src="https://ej2.syncfusion.com/github/images/angular.svg" height="50" />](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)<br/> [Angular](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/react.svg" height="50" />](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)<br/> [React](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/> [Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/> [ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/> [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github) |
|
|
33
|
+
| :-----: | :-----: | :-----: | :-----: | :-----: |
|
|
34
|
+
|
|
35
|
+
## Showcase samples
|
|
36
|
+
|
|
37
|
+
* Expense Tracker - [Source](https://github.com/syncfusion/ej2-sample-ts-expensetracker?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/expensetracker/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm#/dashboard)
|
|
38
|
+
* Loan Calculator - [Source](https://github.com/syncfusion/ej2-sample-ts-loancalculator), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/loancalculator/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm)
|
|
39
|
+
|
|
40
|
+
## Key features
|
|
41
|
+
|
|
42
|
+
* [Data sources](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/localdata.html): Bind the TreeGrid control with an array of JSON objects or DataManager. Large data can be bound to tree grid wth high performance using load-on-demand concept.
|
|
43
|
+
* [Sorting](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/sorting.html): Supports n levels of sorting and allows the use of a comparer function for customized sorting.
|
|
44
|
+
* [Filtering](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/filtering.html): Offers filter UIs such as filter bar and menu at each column to filter data. Also allows for filtering based on related parent or child records.
|
|
45
|
+
* [Paging](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/default-paging.html): Provides the option to easily switch between pages using the pager bar. The number of rows in a page can also be customized. The pager also helps provide support for load-on-demand data binding.
|
|
46
|
+
* [Editing](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/inline-editing.html): Provides the options for create, read, update, and delete operations. In addition to built-in editor controls to edit a particular column value, using template support users can use custom editor components that suit their application needs.
|
|
47
|
+
* [Virtual scrolling](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/virtual-scrolling.html): This feature improves the performance of the tree grid control when binding large amounts of data by only rendering the currently visible parts of the user interface and rendering other elements as needed while scrolling. Both column and row virtualization are supported.
|
|
48
|
+
* [Columns](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/columnformatting.html): Column definitions are used as the dataSource schema in the TreeGrid. This plays a vital role in rendering column values in the required format. Column functionalities such as resizing, reordering, column template, show or hide columns, stacked header, etc., are supported.
|
|
49
|
+
* [Column re-ordering](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/reorder.html): Drag any column and drop it at any position in the TreeGrid’s column header row, to reposition the column.
|
|
50
|
+
* [Column resizing](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/resizing.html): Resizing allows changing column width on the fly by simply dragging the right corner of the column header.
|
|
51
|
+
* [Row re-ordering](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/row-reorder.html): Allows rows to be rearranged through drag and drop actions, changing their position and hierarchy level. A child row can be moved as a sibling within the same parent row or as a child to a different parent row.
|
|
52
|
+
* [Cell styling](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/conditional-formatting.html): Customize treegrid cells by using CSS or programmatically.
|
|
53
|
+
* [Selection](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/selection.html): Rows or cells can be selected in the TreeGrid. One or more rows or cells can also be selected by holding Shift, Ctrl or Command, or programmatically.
|
|
54
|
+
* [Templates](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/column-template.html): Templates can be used to create custom user experiences in the TreeGrid.
|
|
55
|
+
* [Aggregation](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/aggregate-default.html): Provides the option to easily visualize aggregates for column values. Also allows for the display of aggregates for each group of child rows within different parent rows.
|
|
56
|
+
* [Context menu](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/default-context-menu.html): The context menu provides a list of actions to be performed in the TreeGrid. It appears when a cell, header, or the pager is right-clicked. Also allows for the addition of custom items with unique functionality to the context menu.
|
|
57
|
+
* [Export](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=javascript-treegrid-npm#/bootstrap5/tree-grid/default-exporting.html): Provides the option to export the tree grid data to Excel, PDF, and CSV formats.
|
|
58
|
+
* [RTL support](https://ej2.syncfusion.com/documentation/treegrid/global-local/#right-to-left-rtl): Provides the right-to-left mode which aligns content in the TreeGrid component from right to left. This improves user experience and accessibility for those who work with RTL languages like Hebrew and Arabic.
|
|
59
|
+
* [Localization](https://ej2.syncfusion.com/documentation/treegrid/global-local/#localization): Provides inherent support to localize the UI.
|
|
53
60
|
|
|
54
61
|
## Support
|
|
55
62
|
|
|
56
|
-
Product support is available through following mediums.
|
|
63
|
+
Product support is available through the following mediums.
|
|
64
|
+
|
|
65
|
+
* [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
|
|
66
|
+
* [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm)
|
|
67
|
+
* [GitHub issues](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new)
|
|
68
|
+
* [Request feature or report bug](https://www.syncfusion.com/feedback/javascript?utm_source=npm&utm_medium=listing&utm_campaign=javascript-treegrid-npm)
|
|
69
|
+
* Live chat
|
|
57
70
|
|
|
58
|
-
|
|
59
|
-
* New [GitHub issue](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new).
|
|
60
|
-
* Ask your query in Stack Overflow with tag `syncfusion`, `ej2`.
|
|
71
|
+
## Changelog
|
|
61
72
|
|
|
62
|
-
|
|
73
|
+
Check the changelog [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/controls/treegrid/CHANGELOG.md?utm_source=npm&utm_campaign=grid). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
|
|
63
74
|
|
|
64
|
-
|
|
75
|
+
## License and copyright
|
|
65
76
|
|
|
66
|
-
|
|
77
|
+
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [JavaScript UI controls](https://www.syncfusion.com/javascript-ui-controls), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
|
|
78
|
+
|
|
79
|
+
> A [free community license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
|
|
67
80
|
|
|
68
|
-
|
|
81
|
+
See [LICENSE FILE](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/license?utm_source=npm&utm_campaign=grid) for more info.
|
|
69
82
|
|
|
70
|
-
© Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
|
|
83
|
+
© Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
|