@syncfusion/ej2-treegrid 20.4.54 → 21.1.35
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/CHANGELOG.md +1 -46
- 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 +37 -10
- package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
- package/dist/es6/ej2-treegrid.es5.js +36 -9
- 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 +10 -10
- package/src/treegrid/actions/freeze-column.js +3 -0
- package/src/treegrid/actions/rowdragdrop.js +3 -2
- package/src/treegrid/base/treegrid-model.d.ts +26 -15
- package/src/treegrid/base/treegrid.d.ts +32 -14
- package/src/treegrid/base/treegrid.js +28 -5
- package/src/treegrid/enum.d.ts +79 -138
- package/src/treegrid/models/column.d.ts +5 -3
- package/src/treegrid/models/edit-settings-model.d.ts +13 -9
- package/src/treegrid/models/edit-settings.d.ts +13 -9
- package/src/treegrid/models/filter-settings-model.d.ts +13 -8
- package/src/treegrid/models/filter-settings.d.ts +13 -8
- package/src/treegrid/models/loading-indicator-model.d.ts +4 -2
- package/src/treegrid/models/loading-indicator.d.ts +4 -2
- package/src/treegrid/models/search-settings-model.d.ts +9 -3
- package/src/treegrid/models/search-settings.d.ts +9 -3
- package/src/treegrid/models/selection-settings-model.d.ts +17 -8
- package/src/treegrid/models/selection-settings.d.ts +17 -8
- package/src/treegrid/renderer/render.js +2 -2
- package/styles/bootstrap-dark.css +2 -8
- package/styles/highcontrast-light.css +2 -8
- package/styles/treegrid/_bootstrap5-definition.scss +2 -2
- package/styles/treegrid/_fluent-definition.scss +2 -2
- package/styles/treegrid/_tailwind-definition.scss +2 -2
- package/styles/treegrid/bootstrap-dark.css +2 -8
- package/styles/treegrid/highcontrast-light.css +2 -8
- package/styles/treegrid/_material3-definition.scss +0 -28
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, addClass, classList, closest, compile, createElement, debounce, extend, getEnumValue, getValue, isNullOrUndefined, merge, remove, removeClass, select, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
|
|
1
|
+
import { Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, SanitizeHtmlHelper, addClass, classList, closest, compile, createElement, debounce, extend, getEnumValue, getValue, isNullOrUndefined, merge, remove, removeClass, select, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
|
|
2
2
|
import { Aggregate, Cell, CellRenderer, CellType, Clipboard, ColumnChooser, ColumnFreezeContentRenderer, ColumnFreezeHeaderRenderer, ColumnMenu, ColumnVirtualFreezeRenderer, CommandColumn, ContextMenu, DetailRow, Edit, ExcelExport, Filter, Freeze, FreezeContentRender, FreezeRender, FreezeRowModelGenerator, Grid, InfiniteScroll, InterSectionObserver, Logger, Page, PdfExport, Print, RenderType, Reorder, Resize, RowDD, RowDropSettings, RowRenderer, Scroll, Sort, Toolbar, VirtualContentRenderer, VirtualFreezeHdrRenderer, VirtualFreezeRenderer, VirtualHeaderRenderer, VirtualRowModelGenerator, VirtualScroll, appendChildren, calculateAggregate, detailLists, extend as extend$1, getActualProperties, getObject, getUid, iterateArrayOrObject, parentsUntil, resetRowIndex, setDebounce, templateCompiler } from '@syncfusion/ej2-grids';
|
|
3
3
|
import { createCheckBox } from '@syncfusion/ej2-buttons';
|
|
4
4
|
import { CacheAdaptor, DataManager, DataUtil, Deferred, JsonAdaptor, ODataAdaptor, Predicate, Query, RemoteSaveAdaptor, UrlAdaptor, WebApiAdaptor, WebMethodAdaptor } from '@syncfusion/ej2-data';
|
|
@@ -1601,7 +1601,7 @@ class Render {
|
|
|
1601
1601
|
addClass([expandIcon], (expand) ? 'e-treegridexpand' : 'e-treegridcollapse');
|
|
1602
1602
|
totalIconsWidth += 18;
|
|
1603
1603
|
container.appendChild(expandIcon);
|
|
1604
|
-
emptyExpandIcon.style.width = '
|
|
1604
|
+
emptyExpandIcon.style.width = '4px';
|
|
1605
1605
|
totalIconsWidth += 7;
|
|
1606
1606
|
container.appendChild(emptyExpandIcon.cloneNode());
|
|
1607
1607
|
}
|
|
@@ -1728,7 +1728,7 @@ class Render {
|
|
|
1728
1728
|
}
|
|
1729
1729
|
else {
|
|
1730
1730
|
const str = 'isStringTemplate';
|
|
1731
|
-
const result = args.column[`${templateFn}`](extend$1({ 'index': '' }, args.data), this.parent, 'template', tempID, this.parent[`${str}`]
|
|
1731
|
+
const result = args.column[`${templateFn}`](extend$1({ 'index': '' }, args.data), this.parent, 'template', tempID, this.parent[`${str}`]);
|
|
1732
1732
|
appendChildren(cellElement, result);
|
|
1733
1733
|
}
|
|
1734
1734
|
delete args.column.template;
|
|
@@ -3800,6 +3800,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
3800
3800
|
}
|
|
3801
3801
|
if (this.isVue) {
|
|
3802
3802
|
this.grid.isVue = true;
|
|
3803
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3804
|
+
this.grid.vueInstance = this.vueInstance;
|
|
3803
3805
|
}
|
|
3804
3806
|
createSpinner({ target: this.element }, this.createElement);
|
|
3805
3807
|
this.log(['mapping_fields_missing']);
|
|
@@ -3963,6 +3965,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
3963
3965
|
this.grid[`${templateInstance}`] = this[`${templateInstance}`];
|
|
3964
3966
|
const isJsComponent = 'isJsComponent';
|
|
3965
3967
|
this.grid[`${isJsComponent}`] = true;
|
|
3968
|
+
const enableHtmlSanitizer = 'enableHtmlSanitizer';
|
|
3969
|
+
this.grid[`${enableHtmlSanitizer}`] = this.enableHtmlSanitizer;
|
|
3966
3970
|
}
|
|
3967
3971
|
triggerEvents(args) {
|
|
3968
3972
|
this.trigger(getObject('name', args), args);
|
|
@@ -5457,13 +5461,15 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
5457
5461
|
for (let i = 0; i < this.columns.length; i++) {
|
|
5458
5462
|
if (!isNullOrUndefined(this.columns[parseInt(i.toString(), 10)].columns)) {
|
|
5459
5463
|
for (let j = 0; j < this.columns[parseInt(i.toString(), 10)].columns.length; j++) {
|
|
5460
|
-
const stackedColumn = this.columns[parseInt(i.toString(), 10)]
|
|
5464
|
+
const stackedColumn = this.columns[parseInt(i.toString(), 10)]
|
|
5465
|
+
.columns[parseInt(j.toString(), 10)];
|
|
5461
5466
|
const currentColumn = this.grid.getColumnByField(stackedColumn.field);
|
|
5462
5467
|
stackedColumn.width = currentColumn.width;
|
|
5463
5468
|
}
|
|
5464
5469
|
}
|
|
5465
5470
|
else if (!isNullOrUndefined(this.columns[parseInt(i.toString(), 10)].field)) {
|
|
5466
|
-
const
|
|
5471
|
+
const fieldName = this.columns[parseInt(i.toString(), 10)].field;
|
|
5472
|
+
const currentColumn = this.grid.getColumnByField(fieldName);
|
|
5467
5473
|
this.columns[parseInt(i.toString(), 10)].width = currentColumn.width;
|
|
5468
5474
|
}
|
|
5469
5475
|
}
|
|
@@ -6373,8 +6379,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
6373
6379
|
}
|
|
6374
6380
|
}
|
|
6375
6381
|
for (let i = 0; i < detailrows.length; i++) {
|
|
6376
|
-
if (!isNullOrUndefined(detailrows[parseInt(i.toString(), 10)]) && !this.allowPaging && !(this.enableVirtualization
|
|
6377
|
-
|
|
6382
|
+
if (!isNullOrUndefined(detailrows[parseInt(i.toString(), 10)]) && !this.allowPaging && !(this.enableVirtualization ||
|
|
6383
|
+
this.enableInfiniteScrolling || isRemoteData(this) || isCountRequired(this))) {
|
|
6378
6384
|
gridRowsObject[detailrows[parseInt(i.toString(), 10)].rowIndex].visible = displayAction !== 'none' ? true : false;
|
|
6379
6385
|
detailrows[parseInt(i.toString(), 10)].style.display = displayAction;
|
|
6380
6386
|
}
|
|
@@ -6471,6 +6477,20 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
6471
6477
|
}
|
|
6472
6478
|
}
|
|
6473
6479
|
}
|
|
6480
|
+
/**
|
|
6481
|
+
* Method to sanitize html element
|
|
6482
|
+
*
|
|
6483
|
+
* @param {any} value - Specifies the html value to sanitize
|
|
6484
|
+
* @returns {any} Returns the sanitized html value
|
|
6485
|
+
* @hidden
|
|
6486
|
+
*/
|
|
6487
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6488
|
+
sanitize(value) {
|
|
6489
|
+
if (this.enableHtmlSanitizer && typeof (value) === 'string') {
|
|
6490
|
+
return SanitizeHtmlHelper.sanitize(value);
|
|
6491
|
+
}
|
|
6492
|
+
return value;
|
|
6493
|
+
}
|
|
6474
6494
|
/**
|
|
6475
6495
|
* Updates the rows and cells
|
|
6476
6496
|
*
|
|
@@ -7042,6 +7062,9 @@ __decorate([
|
|
|
7042
7062
|
__decorate([
|
|
7043
7063
|
Property(false)
|
|
7044
7064
|
], TreeGrid.prototype, "enableColumnVirtualization", void 0);
|
|
7065
|
+
__decorate([
|
|
7066
|
+
Property(false)
|
|
7067
|
+
], TreeGrid.prototype, "enableHtmlSanitizer", void 0);
|
|
7045
7068
|
__decorate([
|
|
7046
7069
|
Property(false)
|
|
7047
7070
|
], TreeGrid.prototype, "enableInfiniteScrolling", void 0);
|
|
@@ -7957,6 +7980,7 @@ class RowDD$1 {
|
|
|
7957
7980
|
addErrorElem() {
|
|
7958
7981
|
const dragelem = document.getElementsByClassName('e-cloneproperties')[0];
|
|
7959
7982
|
const errorelem = dragelem.querySelectorAll('.e-errorelem').length;
|
|
7983
|
+
const sanitize = 'sanitize';
|
|
7960
7984
|
if (!errorelem && !this.parent.rowDropSettings.targetID) {
|
|
7961
7985
|
const ele = document.createElement('div');
|
|
7962
7986
|
classList(ele, ['e-errorcontainer'], []);
|
|
@@ -7964,14 +7988,14 @@ class RowDD$1 {
|
|
|
7964
7988
|
const errorVal = dragelem.querySelector('.errorValue');
|
|
7965
7989
|
let content$$1 = dragelem.querySelector('.e-rowcell').innerHTML;
|
|
7966
7990
|
if (errorVal) {
|
|
7967
|
-
content$$1 = errorVal.innerHTML;
|
|
7991
|
+
content$$1 = this.parent[`${sanitize}`](errorVal.innerHTML);
|
|
7968
7992
|
errorVal.parentNode.removeChild(errorVal);
|
|
7969
7993
|
}
|
|
7970
7994
|
dragelem.querySelector('.e-rowcell').innerHTML = '';
|
|
7971
7995
|
const spanContent = document.createElement('span');
|
|
7972
7996
|
spanContent.className = 'errorValue';
|
|
7973
7997
|
spanContent.style.paddingLeft = '16px';
|
|
7974
|
-
spanContent.innerHTML = content$$1;
|
|
7998
|
+
spanContent.innerHTML = this.parent[`${sanitize}`](content$$1);
|
|
7975
7999
|
dragelem.querySelector('.e-rowcell').appendChild(ele);
|
|
7976
8000
|
dragelem.querySelector('.e-rowcell').appendChild(spanContent);
|
|
7977
8001
|
const dropItemSpan = document.querySelector('.e-dropitemscount');
|
|
@@ -13218,12 +13242,15 @@ class Freeze$1 {
|
|
|
13218
13242
|
rows = args.detailrows;
|
|
13219
13243
|
}
|
|
13220
13244
|
for (let i = 0; i < rows.length; i++) {
|
|
13221
|
-
|
|
13245
|
+
const row = rows[parseInt(i.toString(), 10)];
|
|
13222
13246
|
const rData = this.parent.grid.getRowObjectFromUID(row.getAttribute('data-Uid')).data;
|
|
13223
13247
|
if (!isNullOrUndefined(movableRows) && row.parentElement.firstElementChild.clientHeight > 0) {
|
|
13224
13248
|
row.style.height = row.parentElement.firstElementChild.clientHeight + 'px';
|
|
13225
13249
|
}
|
|
13226
13250
|
row.style.display = args.action;
|
|
13251
|
+
if (freeze && frozenRightRows.length) {
|
|
13252
|
+
frozenRightRows[parseInt(i.toString(), 10)].style.display = args.action;
|
|
13253
|
+
}
|
|
13227
13254
|
const queryselector = args.action === 'none' ? '.e-treecolumn-container .e-treegridcollapse'
|
|
13228
13255
|
: '.e-treecolumn-container .e-treegridexpand';
|
|
13229
13256
|
if (frozenrows[row.rowIndex].querySelector(queryselector)) {
|