@syncfusion/ej2-treegrid 20.4.54 → 21.1.37
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 +2 -45
- 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 +43 -15
- package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
- package/dist/es6/ej2-treegrid.es5.js +42 -14
- 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 +8 -6
- package/src/treegrid/base/treegrid-model.d.ts +27 -16
- package/src/treegrid/base/treegrid.d.ts +33 -15
- package/src/treegrid/base/treegrid.js +29 -6
- package/src/treegrid/enum.d.ts +79 -138
- package/src/treegrid/models/column.d.ts +10 -8
- 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/page-settings-model.d.ts +1 -1
- package/src/treegrid/models/page-settings.d.ts +1 -1
- 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/models/summary-model.d.ts +2 -2
- package/src/treegrid/models/summary.d.ts +2 -2
- 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';
|
|
@@ -1735,7 +1735,7 @@ var Render = /** @__PURE__ @class */ (function () {
|
|
|
1735
1735
|
addClass([expandIcon], (expand) ? 'e-treegridexpand' : 'e-treegridcollapse');
|
|
1736
1736
|
totalIconsWidth += 18;
|
|
1737
1737
|
container.appendChild(expandIcon);
|
|
1738
|
-
emptyExpandIcon.style.width = '
|
|
1738
|
+
emptyExpandIcon.style.width = '4px';
|
|
1739
1739
|
totalIconsWidth += 7;
|
|
1740
1740
|
container.appendChild(emptyExpandIcon.cloneNode());
|
|
1741
1741
|
}
|
|
@@ -1862,7 +1862,7 @@ var Render = /** @__PURE__ @class */ (function () {
|
|
|
1862
1862
|
}
|
|
1863
1863
|
else {
|
|
1864
1864
|
var str = 'isStringTemplate';
|
|
1865
|
-
var result = args.column["" + templateFn](extend$1({ 'index': '' }, args.data), this.parent, 'template', tempID, this.parent["" + str]
|
|
1865
|
+
var result = args.column["" + templateFn](extend$1({ 'index': '' }, args.data), this.parent, 'template', tempID, this.parent["" + str]);
|
|
1866
1866
|
appendChildren(cellElement, result);
|
|
1867
1867
|
}
|
|
1868
1868
|
delete args.column.template;
|
|
@@ -4068,6 +4068,8 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
4068
4068
|
}
|
|
4069
4069
|
if (this.isVue) {
|
|
4070
4070
|
this.grid.isVue = true;
|
|
4071
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4072
|
+
this.grid.vueInstance = this.vueInstance;
|
|
4071
4073
|
}
|
|
4072
4074
|
createSpinner({ target: this.element }, this.createElement);
|
|
4073
4075
|
this.log(['mapping_fields_missing']);
|
|
@@ -4232,6 +4234,8 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
4232
4234
|
this.grid["" + templateInstance] = this["" + templateInstance];
|
|
4233
4235
|
var isJsComponent = 'isJsComponent';
|
|
4234
4236
|
this.grid["" + isJsComponent] = true;
|
|
4237
|
+
var enableHtmlSanitizer = 'enableHtmlSanitizer';
|
|
4238
|
+
this.grid["" + enableHtmlSanitizer] = this.enableHtmlSanitizer;
|
|
4235
4239
|
};
|
|
4236
4240
|
TreeGrid.prototype.triggerEvents = function (args) {
|
|
4237
4241
|
this.trigger(getObject('name', args), args);
|
|
@@ -4239,7 +4243,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
4239
4243
|
TreeGrid.prototype.IsExpandCollapseClicked = function (args) {
|
|
4240
4244
|
if (!isNullOrUndefined(args.target) && (args.target.classList.contains('e-treegridexpand')
|
|
4241
4245
|
|| args.target.classList.contains('e-treegridcollapse') || args.target.classList.contains('e-summarycell'))
|
|
4242
|
-
&& (!isNullOrUndefined(args.data) && args.data['hasChildRecords'])) {
|
|
4246
|
+
&& (!isNullOrUndefined(args.data) && args.data['hasChildRecords']) && !this.selectionSettings.checkboxOnly) {
|
|
4243
4247
|
args.cancel = true;
|
|
4244
4248
|
return;
|
|
4245
4249
|
}
|
|
@@ -5738,13 +5742,15 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
5738
5742
|
for (var i = 0; i < this.columns.length; i++) {
|
|
5739
5743
|
if (!isNullOrUndefined(this.columns[parseInt(i.toString(), 10)].columns)) {
|
|
5740
5744
|
for (var j = 0; j < this.columns[parseInt(i.toString(), 10)].columns.length; j++) {
|
|
5741
|
-
var stackedColumn = this.columns[parseInt(i.toString(), 10)]
|
|
5745
|
+
var stackedColumn = this.columns[parseInt(i.toString(), 10)]
|
|
5746
|
+
.columns[parseInt(j.toString(), 10)];
|
|
5742
5747
|
var currentColumn = this.grid.getColumnByField(stackedColumn.field);
|
|
5743
5748
|
stackedColumn.width = currentColumn.width;
|
|
5744
5749
|
}
|
|
5745
5750
|
}
|
|
5746
5751
|
else if (!isNullOrUndefined(this.columns[parseInt(i.toString(), 10)].field)) {
|
|
5747
|
-
var
|
|
5752
|
+
var fieldName = this.columns[parseInt(i.toString(), 10)].field;
|
|
5753
|
+
var currentColumn = this.grid.getColumnByField(fieldName);
|
|
5748
5754
|
this.columns[parseInt(i.toString(), 10)].width = currentColumn.width;
|
|
5749
5755
|
}
|
|
5750
5756
|
}
|
|
@@ -6677,8 +6683,8 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
6677
6683
|
}
|
|
6678
6684
|
}
|
|
6679
6685
|
for (var i = 0; i < detailrows.length; i++) {
|
|
6680
|
-
if (!isNullOrUndefined(detailrows[parseInt(i.toString(), 10)]) && !this.allowPaging && !(this.enableVirtualization
|
|
6681
|
-
|
|
6686
|
+
if (!isNullOrUndefined(detailrows[parseInt(i.toString(), 10)]) && !this.allowPaging && !(this.enableVirtualization ||
|
|
6687
|
+
this.enableInfiniteScrolling || isRemoteData(this) || isCountRequired(this))) {
|
|
6682
6688
|
gridRowsObject[detailrows[parseInt(i.toString(), 10)].rowIndex].visible = displayAction !== 'none' ? true : false;
|
|
6683
6689
|
detailrows[parseInt(i.toString(), 10)].style.display = displayAction;
|
|
6684
6690
|
}
|
|
@@ -6779,6 +6785,20 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
6779
6785
|
}
|
|
6780
6786
|
}
|
|
6781
6787
|
};
|
|
6788
|
+
/**
|
|
6789
|
+
* Method to sanitize html element
|
|
6790
|
+
*
|
|
6791
|
+
* @param {any} value - Specifies the html value to sanitize
|
|
6792
|
+
* @returns {any} Returns the sanitized html value
|
|
6793
|
+
* @hidden
|
|
6794
|
+
*/
|
|
6795
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6796
|
+
TreeGrid.prototype.sanitize = function (value) {
|
|
6797
|
+
if (this.enableHtmlSanitizer && typeof (value) === 'string') {
|
|
6798
|
+
return SanitizeHtmlHelper.sanitize(value);
|
|
6799
|
+
}
|
|
6800
|
+
return value;
|
|
6801
|
+
};
|
|
6782
6802
|
/**
|
|
6783
6803
|
* Updates the rows and cells
|
|
6784
6804
|
*
|
|
@@ -7350,6 +7370,9 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
|
|
|
7350
7370
|
__decorate([
|
|
7351
7371
|
Property(false)
|
|
7352
7372
|
], TreeGrid.prototype, "enableColumnVirtualization", void 0);
|
|
7373
|
+
__decorate([
|
|
7374
|
+
Property(false)
|
|
7375
|
+
], TreeGrid.prototype, "enableHtmlSanitizer", void 0);
|
|
7353
7376
|
__decorate([
|
|
7354
7377
|
Property(false)
|
|
7355
7378
|
], TreeGrid.prototype, "enableInfiniteScrolling", void 0);
|
|
@@ -8270,6 +8293,7 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
|
|
|
8270
8293
|
RowDD$$1.prototype.addErrorElem = function () {
|
|
8271
8294
|
var dragelem = document.getElementsByClassName('e-cloneproperties')[0];
|
|
8272
8295
|
var errorelem = dragelem.querySelectorAll('.e-errorelem').length;
|
|
8296
|
+
var sanitize = 'sanitize';
|
|
8273
8297
|
if (!errorelem && !this.parent.rowDropSettings.targetID) {
|
|
8274
8298
|
var ele = document.createElement('div');
|
|
8275
8299
|
classList(ele, ['e-errorcontainer'], []);
|
|
@@ -8277,14 +8301,14 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
|
|
|
8277
8301
|
var errorVal = dragelem.querySelector('.errorValue');
|
|
8278
8302
|
var content$$1 = dragelem.querySelector('.e-rowcell').innerHTML;
|
|
8279
8303
|
if (errorVal) {
|
|
8280
|
-
content$$1 = errorVal.innerHTML;
|
|
8304
|
+
content$$1 = this.parent["" + sanitize](errorVal.innerHTML);
|
|
8281
8305
|
errorVal.parentNode.removeChild(errorVal);
|
|
8282
8306
|
}
|
|
8283
8307
|
dragelem.querySelector('.e-rowcell').innerHTML = '';
|
|
8284
8308
|
var spanContent = document.createElement('span');
|
|
8285
8309
|
spanContent.className = 'errorValue';
|
|
8286
8310
|
spanContent.style.paddingLeft = '16px';
|
|
8287
|
-
spanContent.innerHTML = content$$1;
|
|
8311
|
+
spanContent.innerHTML = this.parent["" + sanitize](content$$1);
|
|
8288
8312
|
dragelem.querySelector('.e-rowcell').appendChild(ele);
|
|
8289
8313
|
dragelem.querySelector('.e-rowcell').appendChild(spanContent);
|
|
8290
8314
|
var dropItemSpan = document.querySelector('.e-dropitemscount');
|
|
@@ -8675,13 +8699,14 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
|
|
|
8675
8699
|
var childRecords = rec[0].childRecords;
|
|
8676
8700
|
var droppedRecordIndex = childRecords.indexOf(droppedRecord) + 1;
|
|
8677
8701
|
childRecords.splice(droppedRecordIndex, 0, draggedRecord_2);
|
|
8678
|
-
|
|
8702
|
+
if (this_1.parent.enableImmutableMode || this_1.parent['isIndentEnabled'] && !this_1.parent.parentIdMapping) {
|
|
8703
|
+
draggedRecord_2.parentItem = droppedRecord.parentItem;
|
|
8704
|
+
draggedRecord_2.level = droppedRecord.level;
|
|
8705
|
+
}
|
|
8679
8706
|
draggedRecord_2.parentUniqueID = droppedRecord.parentUniqueID;
|
|
8680
|
-
draggedRecord_2.level = droppedRecord.level;
|
|
8681
8707
|
if (this_1.parent.parentIdMapping) {
|
|
8682
8708
|
draggedRecord_2[this_1.parent.parentIdMapping] = droppedRecord[this_1.parent.parentIdMapping];
|
|
8683
|
-
draggedRecord_2.
|
|
8684
|
-
draggedRecord_2.level = droppedRecord.level;
|
|
8709
|
+
draggedRecord_2.parentUniqueID = droppedRecord.parentUniqueID;
|
|
8685
8710
|
}
|
|
8686
8711
|
}
|
|
8687
8712
|
if (draggedRecord_2.hasChildRecords) {
|
|
@@ -13677,6 +13702,9 @@ var Freeze$1 = /** @__PURE__ @class */ (function () {
|
|
|
13677
13702
|
row.style.height = row.parentElement.firstElementChild.clientHeight + 'px';
|
|
13678
13703
|
}
|
|
13679
13704
|
row.style.display = args.action;
|
|
13705
|
+
if (freeze && frozenRightRows.length) {
|
|
13706
|
+
frozenRightRows[parseInt(i.toString(), 10)].style.display = args.action;
|
|
13707
|
+
}
|
|
13680
13708
|
var queryselector = args.action === 'none' ? '.e-treecolumn-container .e-treegridcollapse'
|
|
13681
13709
|
: '.e-treecolumn-container .e-treegridexpand';
|
|
13682
13710
|
if (frozenrows[row.rowIndex].querySelector(queryselector)) {
|