@syncfusion/ej2-treegrid 20.1.51 → 20.1.56
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 +16 -0
- 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 +102 -19
- package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
- package/dist/es6/ej2-treegrid.es5.js +101 -18
- 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 +9 -9
- package/src/treegrid/actions/context-menu.js +50 -0
- package/src/treegrid/actions/page.d.ts +1 -0
- package/src/treegrid/actions/page.js +11 -0
- package/src/treegrid/actions/rowdragdrop.js +2 -2
- package/src/treegrid/actions/selection.js +4 -2
- package/src/treegrid/base/treegrid.d.ts +1 -0
- package/src/treegrid/base/treegrid.js +22 -4
- package/src/treegrid/enum.d.ts +8 -2
- package/src/treegrid/enum.js +2 -0
- package/src/treegrid/models/column.d.ts +6 -6
- package/src/treegrid/models/column.js +6 -6
- package/src/treegrid/renderer/render.d.ts +4 -4
- package/src/treegrid/renderer/render.js +4 -4
- package/styles/bootstrap-dark.css +12 -95
- package/styles/bootstrap.css +12 -95
- package/styles/bootstrap4.css +12 -94
- package/styles/bootstrap5-dark.css +12 -94
- package/styles/bootstrap5.css +12 -94
- package/styles/fabric-dark.css +12 -93
- package/styles/fabric.css +12 -93
- package/styles/fluent-dark.css +13 -96
- package/styles/fluent.css +13 -96
- package/styles/highcontrast-light.css +10 -104
- package/styles/highcontrast.css +10 -104
- package/styles/material-dark.css +8 -84
- package/styles/material.css +8 -85
- package/styles/tailwind-dark.css +8 -82
- package/styles/tailwind.css +8 -82
- package/styles/treegrid/bootstrap-dark.css +12 -95
- package/styles/treegrid/bootstrap.css +12 -95
- package/styles/treegrid/bootstrap4.css +12 -94
- package/styles/treegrid/bootstrap5-dark.css +12 -94
- package/styles/treegrid/bootstrap5.css +12 -94
- package/styles/treegrid/fabric-dark.css +12 -93
- package/styles/treegrid/fabric.css +12 -93
- package/styles/treegrid/fluent-dark.css +13 -96
- package/styles/treegrid/fluent.css +13 -96
- package/styles/treegrid/highcontrast-light.css +10 -104
- package/styles/treegrid/highcontrast.css +10 -104
- package/styles/treegrid/material-dark.css +8 -84
- package/styles/treegrid/material.css +8 -85
- package/styles/treegrid/tailwind-dark.css +8 -82
- package/styles/treegrid/tailwind.css +8 -82
|
@@ -77,12 +77,12 @@ class Column {
|
|
|
77
77
|
merge(this, options);
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
* Update the State changes reflected for TreeGrid columndirective in react platform.
|
|
81
|
+
*
|
|
82
|
+
* @param {Column} column - specifies the column
|
|
83
|
+
* @returns {void}
|
|
84
|
+
* @hidden
|
|
85
|
+
*/
|
|
86
86
|
setProperties(column) {
|
|
87
87
|
//Angular two way binding
|
|
88
88
|
const keys = Object.keys(column);
|
|
@@ -884,10 +884,12 @@ class Selection {
|
|
|
884
884
|
getCheckboxcolumnIndex() {
|
|
885
885
|
let mappingUid;
|
|
886
886
|
let columnIndex;
|
|
887
|
-
const
|
|
887
|
+
const stackedHeader = "stackedHeader";
|
|
888
|
+
const columnModel = 'columnModel';
|
|
889
|
+
const columns = this.parent[stackedHeader] ? this.parent[columnModel] : (this.parent.columns);
|
|
888
890
|
for (let col = 0; col < columns.length; col++) {
|
|
889
891
|
if (columns[col].showCheckbox) {
|
|
890
|
-
mappingUid =
|
|
892
|
+
mappingUid = columns[col].uid;
|
|
891
893
|
}
|
|
892
894
|
}
|
|
893
895
|
const headerCelllength = this.parent.getHeaderContent().querySelectorAll('.e-headercelldiv').length;
|
|
@@ -1659,10 +1661,10 @@ class Render {
|
|
|
1659
1661
|
}
|
|
1660
1662
|
}
|
|
1661
1663
|
/**
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1664
|
+
* @param {string} columnUid - Defines column uid
|
|
1665
|
+
* @returns {void}
|
|
1666
|
+
* @hidden
|
|
1667
|
+
*/
|
|
1666
1668
|
refreshReactColumnTemplateByUid(columnUid) {
|
|
1667
1669
|
if (this.parent.isReact) {
|
|
1668
1670
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -2333,6 +2335,8 @@ var ContextMenuItems;
|
|
|
2333
2335
|
ContextMenuItems[ContextMenuItems["LastPage"] = 13] = "LastPage";
|
|
2334
2336
|
ContextMenuItems[ContextMenuItems["NextPage"] = 14] = "NextPage";
|
|
2335
2337
|
ContextMenuItems[ContextMenuItems["AddRow"] = 15] = "AddRow";
|
|
2338
|
+
ContextMenuItems[ContextMenuItems["RowIndent"] = 16] = "RowIndent";
|
|
2339
|
+
ContextMenuItems[ContextMenuItems["RowOutdent"] = 17] = "RowOutdent";
|
|
2336
2340
|
})(ContextMenuItems || (ContextMenuItems = {}));
|
|
2337
2341
|
|
|
2338
2342
|
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -2986,6 +2990,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
2986
2990
|
this.addedRecords = 'addedRecords';
|
|
2987
2991
|
this.indentOutdentAction = 'indentOutdentAction';
|
|
2988
2992
|
this.modifiedRecords = [];
|
|
2993
|
+
this.stackedHeader = false;
|
|
2989
2994
|
this.objectEqualityChecker = (old, current) => {
|
|
2990
2995
|
if (old) {
|
|
2991
2996
|
const keys = Object.keys(old);
|
|
@@ -3393,7 +3398,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
3393
3398
|
}
|
|
3394
3399
|
extendRequiredModules(modules) {
|
|
3395
3400
|
const IsRowDDInjected = this.injectedModules.filter((e) => {
|
|
3396
|
-
return e.
|
|
3401
|
+
return e.prototype.getModuleName() === 'rowDragAndDrop';
|
|
3397
3402
|
});
|
|
3398
3403
|
if (this.allowRowDragAndDrop || IsRowDDInjected.length) {
|
|
3399
3404
|
if ((!isNullOrUndefined(this.toolbar) && (this.toolbar['includes']('Indent') ||
|
|
@@ -4196,6 +4201,16 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
4196
4201
|
target: '.e-content', id: this.element.id + '_gridcontrol_cmenu_AddRow',
|
|
4197
4202
|
items: [{ text: this.l10n.getConstant('Above'), id: 'Above' }, { text: this.l10n.getConstant('Below'), id: 'Below' }, { text: this.l10n.getConstant('Child'), id: 'Child' }] });
|
|
4198
4203
|
break;
|
|
4204
|
+
case 'Indent':
|
|
4205
|
+
case ContextMenuItems.RowIndent:
|
|
4206
|
+
items.push({ text: this.l10n.getConstant('RowIndent'),
|
|
4207
|
+
target: '.e-content', iconCss: 'e-indent e-icons', id: this.element.id + '_gridcontrol_cmenu_Indent' });
|
|
4208
|
+
break;
|
|
4209
|
+
case 'Outdent':
|
|
4210
|
+
case ContextMenuItems.RowOutdent:
|
|
4211
|
+
items.push({ text: this.l10n.getConstant('RowOutdent'),
|
|
4212
|
+
target: '.e-content', iconCss: 'e-outdent e-icons', id: this.element.id + '_gridcontrol_cmenu_Outdent' });
|
|
4213
|
+
break;
|
|
4199
4214
|
default:
|
|
4200
4215
|
items.push(this.contextMenuItems[i]);
|
|
4201
4216
|
}
|
|
@@ -4214,6 +4229,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
4214
4229
|
*/
|
|
4215
4230
|
getGridToolbar() {
|
|
4216
4231
|
if (this.toolbar) {
|
|
4232
|
+
this.l10n = new L10n('treegrid', this.defaultLocale, this.locale);
|
|
4217
4233
|
const items = [];
|
|
4218
4234
|
let tooltipText;
|
|
4219
4235
|
for (let i = 0; i < this.toolbar.length; i++) {
|
|
@@ -4455,6 +4471,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
4455
4471
|
break;
|
|
4456
4472
|
case 'locale':
|
|
4457
4473
|
this.grid.locale = this.locale;
|
|
4474
|
+
this.TreeGridLocale();
|
|
4475
|
+
this.grid.toolbar = this.getGridToolbar();
|
|
4476
|
+
this.grid.contextMenuItems = this.getContextMenu();
|
|
4458
4477
|
break;
|
|
4459
4478
|
case 'selectedRowIndex':
|
|
4460
4479
|
this.grid.selectedRowIndex = this.selectedRowIndex;
|
|
@@ -4927,7 +4946,11 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
4927
4946
|
* @returns {Column} - Returns tree grid column
|
|
4928
4947
|
*/
|
|
4929
4948
|
getColumnByUid(uid) {
|
|
4930
|
-
|
|
4949
|
+
let Columns = this.initialRender ? this.grid.columns : this.columns;
|
|
4950
|
+
const columnModel = 'columnModel';
|
|
4951
|
+
if (this.grid.columns.length !== this.columnModel.length) {
|
|
4952
|
+
Columns = this.grid[columnModel];
|
|
4953
|
+
}
|
|
4931
4954
|
return iterateArrayOrObject(Columns, (item) => {
|
|
4932
4955
|
if (item.uid === uid) {
|
|
4933
4956
|
return item;
|
|
@@ -5055,7 +5078,6 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
5055
5078
|
temp = this.columnModel[this.treeColumnIndex].template;
|
|
5056
5079
|
field = this.columnModel[this.treeColumnIndex].field;
|
|
5057
5080
|
}
|
|
5058
|
-
let stackedHeader = false;
|
|
5059
5081
|
let gridColumn;
|
|
5060
5082
|
if (!this.enableColumnVirtualization || (this.enableColumnVirtualization && this.columnModel.length === gridColumns.length)) {
|
|
5061
5083
|
this.columnModel = [];
|
|
@@ -5073,9 +5095,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
|
|
|
5073
5095
|
const merge$$1 = 'deepMerge';
|
|
5074
5096
|
this[merge$$1] = ['columns']; // Workaround for blazor updateModel
|
|
5075
5097
|
if (this.grid.columns.length !== this.columnModel.length) {
|
|
5076
|
-
stackedHeader = true;
|
|
5098
|
+
this.stackedHeader = true;
|
|
5077
5099
|
}
|
|
5078
|
-
if (!stackedHeader) {
|
|
5100
|
+
if (!this.stackedHeader) {
|
|
5079
5101
|
this.setProperties({ columns: this.columnModel }, true);
|
|
5080
5102
|
}
|
|
5081
5103
|
this[merge$$1] = undefined; // Workaround for blazor updateModel
|
|
@@ -7724,8 +7746,8 @@ class RowDD$1 {
|
|
|
7724
7746
|
if (this.dropPosition === 'bottomSegment') {
|
|
7725
7747
|
const primaryKeyField = this.parent.getPrimaryKeyFieldNames()[0];
|
|
7726
7748
|
const rowIndex = selectedItemIndex === -1 ?
|
|
7727
|
-
(this.parent.grid.getRowIndexByPrimaryKey(data[0][primaryKeyField]))
|
|
7728
|
-
: this.parent.getSelectedRowIndexes()[0]
|
|
7749
|
+
(this.parent.grid.getRowIndexByPrimaryKey(data[0][primaryKeyField]))
|
|
7750
|
+
: this.parent.getSelectedRowIndexes()[0];
|
|
7729
7751
|
const selectedRecord = this.parent.getCurrentViewRecords()[rowIndex];
|
|
7730
7752
|
this.droppedRecord = getParentData(this.parent, selectedRecord.parentItem.uniqueID);
|
|
7731
7753
|
}
|
|
@@ -9034,6 +9056,16 @@ class Page$1 {
|
|
|
9034
9056
|
}
|
|
9035
9057
|
return newResults;
|
|
9036
9058
|
}
|
|
9059
|
+
updatePageSize(pageingDetails) {
|
|
9060
|
+
const updateSize = pageingDetails.result.length;
|
|
9061
|
+
const gridPagerModule = this.parent.grid.pagerModule;
|
|
9062
|
+
if (this.parent.pageSettings.pageSizes === true) {
|
|
9063
|
+
if (gridPagerModule.pagerObj.pagerdropdownModule['dropDownListObject'].value === gridPagerModule.pagerObj.getLocalizedLabel('All')) {
|
|
9064
|
+
gridPagerModule['pagerObj'].totalRecordsCount = updateSize;
|
|
9065
|
+
this.parent.grid.pageSettings.pageSize = updateSize;
|
|
9066
|
+
}
|
|
9067
|
+
}
|
|
9068
|
+
}
|
|
9037
9069
|
pageAction(pageingDetails) {
|
|
9038
9070
|
const dm = new DataManager(pageingDetails.result);
|
|
9039
9071
|
if (this.parent.pageSettings.pageSizeMode === 'Root') {
|
|
@@ -9069,6 +9101,7 @@ class Page$1 {
|
|
|
9069
9101
|
pageingDetails.count = visualData.length;
|
|
9070
9102
|
let query = new Query();
|
|
9071
9103
|
const size = this.parent.grid.pageSettings.pageSize;
|
|
9104
|
+
this.updatePageSize(pageingDetails);
|
|
9072
9105
|
let current = this.parent.grid.pageSettings.currentPage;
|
|
9073
9106
|
if (visualData.length < (current * size)) {
|
|
9074
9107
|
current = (Math.floor(visualData.length / size)) + ((visualData.length % size) ? 1 : 0);
|
|
@@ -9647,6 +9680,8 @@ class ContextMenu$1 {
|
|
|
9647
9680
|
contextMenuOpen(args) {
|
|
9648
9681
|
const addRow = select('#' + this.parent.element.id + '_gridcontrol_cmenu_AddRow', args.element);
|
|
9649
9682
|
const editRecord = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Edit', args.element);
|
|
9683
|
+
const indent = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Indent', args.element);
|
|
9684
|
+
const outdent = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Outdent', args.element);
|
|
9650
9685
|
if (addRow) {
|
|
9651
9686
|
if (this.parent.grid.editSettings.allowAdding === false) {
|
|
9652
9687
|
addRow.style.display = 'none';
|
|
@@ -9659,6 +9694,47 @@ class ContextMenu$1 {
|
|
|
9659
9694
|
&& !(isNullOrUndefined(editRecord)) && !(editRecord.classList.contains('e-menu-hide'))) {
|
|
9660
9695
|
editRecord.style.display = 'none';
|
|
9661
9696
|
}
|
|
9697
|
+
if (indent || outdent) {
|
|
9698
|
+
const tObj = this.parent;
|
|
9699
|
+
const selectedrow = tObj.getSelectedRows()[0];
|
|
9700
|
+
const targetElement = args.event.target.closest('td');
|
|
9701
|
+
if (isNullOrUndefined(targetElement) || (!isNullOrUndefined(targetElement) && !targetElement.classList.contains('e-rowcell'))) {
|
|
9702
|
+
indent.style.display = outdent.style.display = 'none';
|
|
9703
|
+
}
|
|
9704
|
+
else {
|
|
9705
|
+
if (selectedrow.rowIndex === 0 || tObj.getSelectedRowIndexes().length > 1) {
|
|
9706
|
+
indent.style.display = outdent.style.display = 'none';
|
|
9707
|
+
}
|
|
9708
|
+
else if (args['name'] !== 'rowDeselected' || (!isNullOrUndefined(selectedrow) && tObj.grid.isCheckBoxSelection)) {
|
|
9709
|
+
const selectedItem = tObj.getCurrentViewRecords()[selectedrow.rowIndex];
|
|
9710
|
+
if (!isNullOrUndefined(selectedItem)) {
|
|
9711
|
+
if ((selectedItem.level > tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level)) {
|
|
9712
|
+
indent.style.display = 'none';
|
|
9713
|
+
}
|
|
9714
|
+
else {
|
|
9715
|
+
indent.style.display = 'block';
|
|
9716
|
+
}
|
|
9717
|
+
if (selectedItem.level === tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level) {
|
|
9718
|
+
indent.style.display = 'block';
|
|
9719
|
+
}
|
|
9720
|
+
if (selectedItem.level === 0) {
|
|
9721
|
+
outdent.style.display = 'none';
|
|
9722
|
+
}
|
|
9723
|
+
if (selectedItem.level !== 0) {
|
|
9724
|
+
outdent.style.display = 'block';
|
|
9725
|
+
}
|
|
9726
|
+
}
|
|
9727
|
+
}
|
|
9728
|
+
if (args['name'] === 'rowDeselected' && isNullOrUndefined(selectedrow) && !tObj.grid.isCheckBoxSelection) {
|
|
9729
|
+
if (this.parent.toolbar['includes']('Indent')) {
|
|
9730
|
+
indent.style.display = 'none';
|
|
9731
|
+
}
|
|
9732
|
+
if (this.parent.toolbar['includes']('Outdent')) {
|
|
9733
|
+
outdent.style.display = 'none';
|
|
9734
|
+
}
|
|
9735
|
+
}
|
|
9736
|
+
}
|
|
9737
|
+
}
|
|
9662
9738
|
}
|
|
9663
9739
|
contextMenuClick(args) {
|
|
9664
9740
|
if (args.item.id === 'Above' || args.item.id === 'Below' || args.item.id === 'Child') {
|
|
@@ -9666,6 +9742,13 @@ class ContextMenu$1 {
|
|
|
9666
9742
|
this.parent.setProperties({ editSettings: { newRowPosition: args.item.id } }, true);
|
|
9667
9743
|
this.parent.addRecord();
|
|
9668
9744
|
}
|
|
9745
|
+
if (args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Indent' || args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Outdent') {
|
|
9746
|
+
if (!isNullOrUndefined(this.parent.rowDragAndDropModule)) {
|
|
9747
|
+
const indentOutdentAction = 'indentOutdentAction';
|
|
9748
|
+
const action = args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Indent' ? 'indent' : 'outdent';
|
|
9749
|
+
this.parent.rowDragAndDropModule[indentOutdentAction](null, action);
|
|
9750
|
+
}
|
|
9751
|
+
}
|
|
9669
9752
|
}
|
|
9670
9753
|
/**
|
|
9671
9754
|
* For internal use only - Get the module name.
|