Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@syncfusion/ej2-treegrid

Package Overview
Dependencies
Maintainers
4
Versions
239
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@syncfusion/ej2-treegrid - npm Package Compare versions

Comparing version 17.2.40 to 17.2.41

src/treegrid/actions/rowdragdrop.d.ts

8

CHANGELOG.md

@@ -9,2 +9,10 @@ # Changelog

- `#243065` - `expandAll` and `collapseAll` method works fine for remote data with `loadChildOnDemand` property as true.
## 17.2.40 (2019-08-06)
### TreeGrid
#### Bug Fixes
- `#146272` - Ellipsis works fine for tree-view column.

@@ -11,0 +19,0 @@

2

dist/global/index.d.ts
/*!
* filename: index.d.ts
* version : 17.2.40
* version : 17.2.41
* Copyright Syncfusion Inc. 2001 - 2019. All rights reserved.

@@ -5,0 +5,0 @@ * Use of this code is subject to the terms of our license.

{
"_from": "@syncfusion/ej2-treegrid@*",
"_id": "@syncfusion/ej2-treegrid@17.2.39",
"_id": "@syncfusion/ej2-treegrid@17.2.40",
"_inBundle": false,
"_integrity": "sha512-F//M/pjnAoJSVq2f/8jZPItT91wm3bsFUBKDpaWj6P2/j+qqfyCino5z2Vt1ViupIvbfLLTTmqUZi0wcD/CTkA==",
"_integrity": "sha512-lm4RbTGZVChlzyEK8qaXllQWL7qUkX1BIIK22vI4piZ6RAqjTcvxJHH8bHM+O++Xux20qviWcjbxV4q9CuP+6Q==",
"_location": "/@syncfusion/ej2-treegrid",

@@ -27,4 +27,4 @@ "_phantomChildren": {},

],
"_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-17.2.39.tgz",
"_shasum": "a2c8764869525ddb4e9173f5e904300e24b512d4",
"_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-17.2.40.tgz",
"_shasum": "ddd0a4f68e6f945ac57c1a950b1932b9248f3b32",
"_spec": "@syncfusion/ej2-treegrid@*",

@@ -42,3 +42,3 @@ "_where": "/jenkins/workspace/ation_hotfix_16.4.0.42_Vol4-CJVRBFC7Z7RSISPRJNEMNQSRMCB6XTG67IJD6R2DVNXFIKQEITTQ/packages/included",

"@syncfusion/ej2-data": "~17.2.39",
"@syncfusion/ej2-grids": "~17.2.40",
"@syncfusion/ej2-grids": "~17.2.41",
"@syncfusion/ej2-popups": "~17.2.35"

@@ -64,4 +64,4 @@ },

},
"version": "17.2.40",
"version": "17.2.41",
"sideEffects": false
}
import * as index from './index';
index.TreeGrid.Inject(index.Filter, index.Page, index.Sort, index.Reorder, index.Toolbar, index.Aggregate, index.Resize, index.ColumnMenu, index.ExcelExport, index.PdfExport, index.CommandColumn, index.ContextMenu, index.Edit, index.Selection, index.VirtualScroll, index.DetailRow);
index.TreeGrid.Inject(index.Filter, index.Page, index.Sort, index.Reorder, index.Toolbar, index.Aggregate, index.Resize, index.ColumnMenu, index.ExcelExport, index.PdfExport, index.CommandColumn, index.ContextMenu, index.Edit, index.Selection, index.VirtualScroll, index.DetailRow, index.RowDD);
export * from './index';

@@ -0,3 +1,16 @@

var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
}
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { Grid, ContextMenu as cmenu } from '@syncfusion/ej2-grids';
import { isNullOrUndefined } from '@syncfusion/ej2-base';
import { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';
/**

@@ -9,3 +22,3 @@ * ContextMenu Module for TreeGrid

function ContextMenu(parent) {
Grid.Inject(cmenu);
Grid.Inject(TreeGridMenu);
this.parent = parent;

@@ -32,2 +45,3 @@ this.addEventListener();

ContextMenu.prototype.contextMenuOpen = function (args) {
this.parent.grid.notify('collectTreeGrid', { tree: this.parent });
var addRow = args.element.querySelector('#' + this.parent.element.id + '_gridcontrol_cmenu_AddRow');

@@ -79,1 +93,46 @@ var editRecord = args.element.querySelector('#' + this.parent.element.id + '_gridcontrol_cmenu_Edit');

export { ContextMenu };
var TreeGridMenu = /** @class */ (function (_super) {
__extends(TreeGridMenu, _super);
function TreeGridMenu() {
return _super !== null && _super.apply(this, arguments) || this;
}
TreeGridMenu.prototype.addEventListener = function () {
getValue('parent', this).on('collectTreeGrid', this.collectTreeGrid, this);
_super.prototype.addEventListener.call(this);
};
TreeGridMenu.prototype.collectTreeGrid = function (args) {
this.treegrid = args.tree;
};
TreeGridMenu.prototype.contextMenuItemClick = function (args) {
var item = getValue('getKeyFromId', this).apply(this, [args.item.id]);
var isPrevent = false;
switch (item) {
case 'PdfExport':
this.treegrid.pdfExport();
isPrevent = true;
break;
case 'ExcelExport':
this.treegrid.excelExport();
isPrevent = true;
break;
case 'CsvExport':
this.treegrid.csvExport();
isPrevent = true;
break;
case 'Save':
if (this.treegrid.editSettings.mode === 'Cell' && this.treegrid.grid.editSettings.mode === 'Batch') {
isPrevent = true;
this.treegrid.grid.editModule.saveCell();
}
}
if (!isPrevent) {
_super.prototype.contextMenuItemClick.call(this, args);
}
else {
args.column = getValue('targetColumn', this);
args.rowInfo = getValue('targetRowdata', this);
getValue('parent', this).trigger('contextMenuClick', args);
}
};
return TreeGridMenu;
}(cmenu));
import { isNullOrUndefined, extend } from '@syncfusion/ej2-base';
import { DataManager } from '@syncfusion/ej2-data';
import { extendArray, getPlainData } from '../utils';
import { extendArray, getPlainData, getParentData } from '../utils';
export function editAction(details, control, isSelfReference, addRowIndex, selectedIndex, columnName, addRowRecord) {

@@ -30,3 +30,3 @@ var value = details.value;

for (var k = 0; k < modifiedData.length; k++) {
var keys = Object.keys(modifiedData[k]);
var keys = Object.keys(modifiedData[k].taskData);
i = treeData.length;

@@ -63,3 +63,4 @@ var _loop_1 = function () {

|| keys[j] === columnName)) {
treeData[i][keys[j]] = modifiedData[k][keys[j]];
var editedData = getParentData(control, modifiedData[k].uniqueID);
editedData.taskData[keys[j]] = treeData[i][keys[j]] = modifiedData[k][keys[j]];
}

@@ -72,4 +73,4 @@ }

if (isSelfReference) {
originalData[control.parentIdMapping] = treeData[i][control.idMapping];
treeData.splice(i + 1, 0, originalData);
originalData.taskData[control.parentIdMapping] = treeData[i][control.idMapping];
treeData.splice(i + 1, 0, originalData.taskData);
}

@@ -80,15 +81,17 @@ else {

}
treeData[i][control.childMapping].push(originalData);
updateParentRow(key, treeData[i], action, control, isSelfReference);
treeData[i][control.childMapping].push(originalData.taskData);
updateParentRow(key, treeData[i], action, control, isSelfReference, originalData);
}
}
else if (control.editSettings.newRowPosition === 'Below') {
treeData.splice(i + 1, 0, originalData);
treeData.splice(i + 1, 0, originalData.taskData);
updateParentRow(key, treeData[i], action, control, isSelfReference, originalData);
}
else if (!addRowIndex) {
index = 0;
treeData.splice(index, 0, originalData);
treeData.splice(index, 0, originalData.taskData);
}
else if (control.editSettings.newRowPosition === 'Above') {
treeData.splice(i, 0, originalData);
treeData.splice(i, 0, originalData.taskData);
updateParentRow(key, treeData[i], action, control, isSelfReference, originalData);
}

@@ -159,5 +162,6 @@ }

var keys = Object.keys(modifiedData);
var editedData = getParentData(control, modifiedData.uniqueID);
for (var i = 0; i < keys.length; i++) {
if (childRecords[j].hasOwnProperty(keys[i]) && (control.editSettings.mode !== 'Cell' || keys[i] === columnName)) {
childRecords[j][keys[i]] = modifiedData[keys[i]];
editedData[keys[i]] = editedData.taskData[keys[i]] = childRecords[j][keys[i]] = modifiedData[keys[i]];
}

@@ -172,3 +176,3 @@ }

childRecords.splice(j + 1, 0, originalData);
updateParentRow(key, childRecords[j], action, control, isSelfReference);
updateParentRow(key, childRecords[j], action, control, isSelfReference, originalData);
}

@@ -179,11 +183,13 @@ else {

}
childRecords[j][control.childMapping].push(originalData);
updateParentRow(key, childRecords[j], action, control, isSelfReference);
childRecords[j][control.childMapping].push(originalData.taskData);
updateParentRow(key, childRecords[j], action, control, isSelfReference, originalData);
}
}
else if (control.editSettings.newRowPosition === 'Above') {
childRecords.splice(j, 0, originalData);
childRecords.splice(j, 0, originalData.taskData);
updateParentRow(key, childRecords[j], action, control, isSelfReference, originalData);
}
else if (control.editSettings.newRowPosition === 'Below') {
childRecords.splice(j + 1, 0, originalData);
childRecords.splice(j + 1, 0, originalData.taskData);
updateParentRow(key, childRecords[j], action, control, isSelfReference, originalData);
}

@@ -208,54 +214,66 @@ }

export function updateParentRow(key, record, action, control, isSelfReference, child) {
var currentRecords = control.grid.getCurrentViewRecords();
var index;
currentRecords.map(function (e, i) { if (e[key] === record[key]) {
index = i;
return;
} });
record = currentRecords[index];
record.hasChildRecords = false;
if (action === 'add') {
record.expanded = true;
record.hasChildRecords = true;
if (control.sortSettings.columns.length && isNullOrUndefined(child)) {
child = currentRecords.filter(function (e) {
if (e.parentUniqueID === record.uniqueID) {
return e;
if ((control.editSettings.newRowPosition === 'Above' || control.editSettings.newRowPosition === 'Below')
&& action === 'add' && !isNullOrUndefined(child.parentItem)) {
var parentData = getParentData(control, child.parentItem.uniqueID);
parentData.childRecords.push(child);
}
else {
var currentRecords = control.grid.getCurrentViewRecords();
var index_1;
currentRecords.map(function (e, i) { if (e[key] === record[key]) {
index_1 = i;
return;
} });
record = currentRecords[index_1];
record.hasChildRecords = false;
if (action === 'add') {
record.expanded = true;
record.hasChildRecords = true;
if (control.sortSettings.columns.length && isNullOrUndefined(child)) {
child = currentRecords.filter(function (e) {
if (e.parentUniqueID === record.uniqueID) {
return e;
}
else {
return null;
}
});
}
var childRecords = child ? child instanceof Array ? child[0] : child : currentRecords[index_1 + 1];
if (!record.hasOwnProperty('childRecords')) {
record.childRecords = [];
}
else {
if (!isNullOrUndefined(child)) {
record.childRecords.push(child);
}
else {
return null;
}
if (record.childRecords.indexOf(childRecords) === -1) {
record.childRecords.unshift(childRecords);
}
if (isSelfReference) {
if (!record.hasOwnProperty(control.childMapping)) {
record[control.childMapping] = [];
}
});
if (record[control.childMapping].indexOf(childRecords) === -1) {
record[control.childMapping].unshift(childRecords);
}
}
}
var childRecords = child ? child instanceof Array ? child[0] : child : currentRecords[index + 1];
if (!record.hasOwnProperty('childRecords')) {
record.childRecords = [];
}
if (record.childRecords.indexOf(childRecords) === -1) {
record.childRecords.unshift(childRecords);
}
if (isSelfReference) {
if (!record.hasOwnProperty(control.childMapping)) {
record[control.childMapping] = [];
var primaryKeys = control.grid.getPrimaryKeyFieldNames()[0];
var data = control.grid.dataSource instanceof DataManager ?
control.grid.dataSource.dataSource.json : control.grid.dataSource;
for (var i = 0; i < data.length; i++) {
if (data[i][primaryKeys] === record[primaryKeys]) {
data[i] = record;
break;
}
if (record[control.childMapping].indexOf(childRecords) === -1) {
record[control.childMapping].unshift(childRecords);
}
}
control.grid.setRowData(key, record);
var row = control.getRowByIndex(index_1);
control.renderModule.cellRender({
data: record, cell: row.cells[control.treeColumnIndex],
column: control.grid.getColumns()[control.treeColumnIndex]
});
}
var primaryKeys = control.grid.getPrimaryKeyFieldNames()[0];
var data = control.grid.dataSource instanceof DataManager ?
control.grid.dataSource.dataSource.json : control.grid.dataSource;
for (var i = 0; i < data.length; i++) {
if (data[i][primaryKeys] === record[primaryKeys]) {
data[i] = record;
break;
}
}
control.grid.setRowData(key, record);
var row = control.getRowByIndex(index);
control.renderModule.cellRender({
data: record, cell: row.cells[control.treeColumnIndex],
column: control.grid.getColumns()[control.treeColumnIndex]
});
}

@@ -5,3 +5,3 @@ import { Grid, Edit as GridEdit, getUid, getObject } from '@syncfusion/ej2-grids';

import { DataManager } from '@syncfusion/ej2-data';
import { findChildrenRecords } from '../utils';
import { findChildrenRecords, getParentData } from '../utils';
import { editAction, updateParentRow } from './crud-actions';

@@ -438,2 +438,3 @@ /**

var position = null;
value.taskData = isNullOrUndefined(value.taskData) ? extend({}, args.data) : value.taskData;
// let currentData: ITreeData[] = this.batchRecords.length ? this.batchRecords :

@@ -445,3 +446,3 @@ // <ITreeData[]>this.parent.grid.getCurrentViewRecords();

setValue('uniqueIDCollection.' + value.uniqueID, value, this.parent);
var level = -1;
var level = void 0;
var dataIndex = void 0;

@@ -462,3 +463,3 @@ var idMapping = void 0;

}
if (this.parent.editSettings.newRowPosition !== 'Top') {
if (this.parent.editSettings.newRowPosition !== 'Top' && currentData.length) {
if (this.parent.editSettings.newRowPosition === 'Above') {

@@ -487,4 +488,4 @@ position = 'before';

if (this.isSelfReference) {
value.taskData[this.parent.parentIdMapping] = value[this.parent.parentIdMapping] = idMapping;
if (!isNullOrUndefined(value.parentItem)) {
value[this.parent.parentIdMapping] = idMapping;
updateParentRow(key, value.parentItem, 'add', this.parent, this.isSelfReference, value);

@@ -503,3 +504,3 @@ }

if (this.isSelfReference) {
value[this.parent.parentIdMapping] = parentIdMapping;
value.taskData[this.parent.parentIdMapping] = value[this.parent.parentIdMapping] = parentIdMapping;
if (!isNullOrUndefined(value.parentItem)) {

@@ -530,2 +531,14 @@ updateParentRow(key, value.parentItem, 'add', this.parent, this.isSelfReference, value);

}
if (args.requestType === 'delete') {
var deletedValues = args.data;
for (var i = 0; i < deletedValues.length; i++) {
if (deletedValues[i].parentItem) {
var parentItem = getParentData(this.parent, deletedValues[i].parentItem.uniqueID);
if (!isNullOrUndefined(parentItem) && parentItem.hasChildRecords) {
var childIndex = parentItem.childRecords.indexOf(deletedValues[i]);
parentItem.childRecords.splice(childIndex, 1);
}
}
}
}
return args;

@@ -532,0 +545,0 @@ };

@@ -112,3 +112,3 @@ import { getObject, Grid, ExcelExport as GridExcel } from '@syncfusion/ej2-grids';

}
if (property.dataSource) {
if (property && property.dataSource) {
this.parent.dataModule.convertToFlatData(property.dataSource);

@@ -115,0 +115,0 @@ dtSrc = this.parent.flatData;

@@ -113,3 +113,3 @@ import { getObject, PdfExport as GridPdf, Grid } from '@syncfusion/ej2-grids';

}
if (prop.dataSource) {
if (prop && prop.dataSource) {
this.parent.dataModule.convertToFlatData(prop.dataSource);

@@ -116,0 +116,0 @@ dtSrc = this.parent.flatData;

@@ -22,2 +22,3 @@ import { TreeGrid } from '../base';

removeEventListener(): void;
private refreshToolbar;
private toolbarClickHandler;

@@ -24,0 +25,0 @@ /**

import { Grid, Toolbar as tool } from '@syncfusion/ej2-grids';
import * as events from '../base/constant';
import { isNullOrUndefined } from '@syncfusion/ej2-base';
/**

@@ -24,2 +25,3 @@ * Toolbar Module for TreeGrid

Toolbar.prototype.addEventListener = function () {
this.parent.on(events.rowSelected, this.refreshToolbar, this);
this.parent.on(events.toolbarClick, this.toolbarClickHandler, this);

@@ -34,5 +36,36 @@ };

}
this.parent.off(events.rowSelected, this.refreshToolbar);
this.parent.off(events.toolbarClick, this.toolbarClickHandler);
};
Toolbar.prototype.refreshToolbar = function (args) {
var tObj = this.parent;
var isParent;
if (args.rowIndex === 0 || tObj.getSelectedRecords().length > 1) {
this.enableItems([tObj.element.id + '_gridcontrol_indent', tObj.element.id + '_gridcontrol_outdent'], false);
}
else {
if (tObj.getCurrentViewRecords()[args.rowIndex].level >
tObj.getCurrentViewRecords()[args.rowIndex - 1].level) {
this.enableItems([tObj.element.id + '_gridcontrol_indent'], false);
}
else {
this.enableItems([tObj.element.id + '_gridcontrol_indent'], true);
}
if (tObj.getCurrentViewRecords()[args.rowIndex].level ===
tObj.getCurrentViewRecords()[args.rowIndex - 1].level) {
this.enableItems([tObj.element.id + '_gridcontrol_indent'], true);
}
if (tObj.getCurrentViewRecords()[args.rowIndex].level === 0) {
this.enableItems([tObj.element.id + '_gridcontrol_outdent'], false);
}
if (tObj.getCurrentViewRecords()[args.rowIndex].level !== 0) {
this.enableItems([tObj.element.id + '_gridcontrol_outdent'], true);
}
}
if (args.rowIndex === 0 && !isNullOrUndefined(args.data.parentItem)) {
this.enableItems([tObj.element.id + '_gridcontrol_outdent'], true);
}
};
Toolbar.prototype.toolbarClickHandler = function (args) {
var tObj = this.parent;
if (this.parent.editSettings.mode === 'Cell' && this.parent.grid.editSettings.mode === 'Batch' &&

@@ -49,2 +82,28 @@ args.item.id === this.parent.grid.element.id + '_update') {

}
if (args.item.id === tObj.grid.element.id + '_indent' && tObj.getSelectedRecords().length) {
var record = tObj.getCurrentViewRecords()[tObj.getSelectedRowIndexes()[0] - 1];
var dropIndex = void 0;
if (record.level > tObj.getSelectedRecords()[0].level) {
for (var i = 0; i < tObj.getCurrentViewRecords().length; i++) {
if (tObj.getCurrentViewRecords()[i].taskData === record.parentItem.taskData) {
dropIndex = i;
}
}
}
else {
dropIndex = tObj.getSelectedRowIndexes()[0] - 1;
}
tObj.reorderRows([tObj.getSelectedRowIndexes()[0]], dropIndex, 'child');
}
if (args.item.id === tObj.grid.element.id + '_outdent' && tObj.getSelectedRecords().length) {
var index = tObj.getSelectedRowIndexes()[0];
var dropIndex = void 0;
var parentItem = tObj.getSelectedRecords()[0].parentItem;
for (var i = 0; i < tObj.getCurrentViewRecords().length; i++) {
if (tObj.getCurrentViewRecords()[i].taskData === parentItem.taskData) {
dropIndex = i;
}
}
tObj.reorderRows([index], dropIndex, 'below');
}
};

@@ -51,0 +110,0 @@ /**

@@ -103,1 +103,17 @@ /**

export declare const detailDataBound: string;
/** @hidden */
export declare const rowDrag: string;
/** @hidden */
export declare const rowDragStartHelper: string;
/** @hidden */
export declare const rowDrop: string;
/** @hidden */
export declare const rowDragStart: string;
/** @hidden */
export declare const rowsAdd: string;
/** @hidden */
export declare const rowsRemove: string;
/** @hidden */
export declare const rowdraging: string;
/** @hidden */
export declare const rowDropped: string;

@@ -103,1 +103,17 @@ /**

export var detailDataBound = 'detailDataBound';
/** @hidden */
export var rowDrag = 'rowDrag';
/** @hidden */
export var rowDragStartHelper = 'rowDragStartHelper';
/** @hidden */
export var rowDrop = 'rowDrop';
/** @hidden */
export var rowDragStart = 'rowDragStart';
/** @hidden */
export var rowsAdd = 'rows-add';
/** @hidden */
export var rowsRemove = 'rows-remove';
/** @hidden */
export var rowdraging = 'row-draging';
/** @hidden */
export var rowDropped = 'row-dropped';

@@ -1,2 +0,2 @@

import { extend, isNullOrUndefined, setValue, getValue } from '@syncfusion/ej2-base';
import { extend, isNullOrUndefined, setValue, getValue, isBlazor, addClass, removeClass } from '@syncfusion/ej2-base';
import { DataManager, Query, DataUtil } from '@syncfusion/ej2-data';

@@ -71,3 +71,4 @@ import { showSpinner, hideSpinner } from '@syncfusion/ej2-popups';

var _this = this;
this.parent.flatData = (Object.keys(data).length === 0 ? this.parent.dataSource : []);
this.parent.flatData = (Object.keys(data).length === 0 && !(this.parent.dataSource instanceof DataManager) ?
this.parent.dataSource : []);
this.parent.parentData = [];

@@ -138,3 +139,3 @@ var adaptorName = 'adaptorName';

if (!Object.keys(this.hierarchyData).length) {
this.parent.flatData = (this.parent.dataSource);
this.parent.flatData = (!(this.parent.dataSource instanceof DataManager) ? this.parent.dataSource : []);
}

@@ -182,3 +183,4 @@ else {

var adaptorName = 'adaptorName';
if (!this.parent.hasChildMapping && !this.parentItems.length && !(this.parent.dataSource[adaptorName] === 'BlazorAdaptor')) {
if (!this.parent.hasChildMapping && !this.parentItems.length &&
(!(this.parent.dataSource[adaptorName] === 'BlazorAdaptor') && !this.parent.loadChildOnDemand)) {
this.zerothLevelData = args;

@@ -188,3 +190,3 @@ setValue('cancel', true, args);

else {
if (!(this.parent.dataSource[adaptorName] === 'BlazorAdaptor')) {
if (!(this.parent.dataSource[adaptorName] === 'BlazorAdaptor') && !this.parent.loadChildOnDemand) {
for (var rec = 0; rec < records.length; rec++) {

@@ -203,3 +205,3 @@ if ((records[rec][this.parent.hasChildMapping] || this.parentItems.indexOf(records[rec][this.parent.idMapping]) !== -1)

}
args.result = this.parent.dataSource[adaptorName] === 'BlazorAdaptor' ? this.parent.flatData : records;
args.result = this.parent.dataSource[adaptorName] === 'BlazorAdaptor' || this.parent.loadChildOnDemand ? this.parent.flatData : records;
this.parent.notify('updateResults', args);

@@ -213,13 +215,32 @@ };

var _this = this;
var gridRows = this.parent.getRows();
var adaptorName = 'adaptorName';
var args = { row: rowDetails.parentRow, data: rowDetails.record };
if (rowDetails.rows.length > 0) {
rowDetails.record.expanded = true;
for (var i = 0; i < rowDetails.rows.length; i++) {
var _loop_1 = function (i) {
rowDetails.rows[i].style.display = 'table-row';
if ((isBlazor() && this_1.parent.dataSource[adaptorName] === 'BlazorAdaptor') || !this_1.parent.loadChildOnDemand) {
var targetEle = rowDetails.rows[i].getElementsByClassName('e-treegridcollapse')[0];
if (!isNullOrUndefined(targetEle)) {
addClass([targetEle], 'e-treegridexpand');
removeClass([targetEle], 'e-treegridcollapse');
}
var childRecord_1 = this_1.parent.grid.getRowObjectFromUID(rowDetails.rows[i].getAttribute('data-Uid')).data;
var childRows = gridRows.filter(function (r) {
return r.classList.contains('e-gridrowindex' + childRecord_1.index + 'level' + (childRecord_1.level + 1));
});
if (childRows.length) {
this_1.collectExpandingRecs({ record: childRecord_1, rows: childRows, parentRow: rowDetails.parentRow });
}
}
var expandingTd = rowDetails.rows[i].querySelector('.e-detailrowcollapse');
if (!isNullOrUndefined(expandingTd)) {
this.parent.grid.detailRowModule.expand(expandingTd);
this_1.parent.grid.detailRowModule.expand(expandingTd);
}
};
var this_1 = this;
for (var i = 0; i < rowDetails.rows.length; i++) {
_loop_1(i);
}
this.parent.trigger(events.expanded, args);
}

@@ -268,4 +289,6 @@ else {

DataManipulation.prototype.createRecords = function (data, parentRecords) {
var treeGridData = [];
for (var i = 0, len = Object.keys(data).length; i < len; i++) {
var currentData = data[i];
var currentData = extend({}, data[i]);
currentData.taskData = data[i];
var level = 0;

@@ -275,3 +298,2 @@ this.storedIndex++;

if (!isNullOrUndefined(currentData[this.parent.childMapping])) {
currentData.childRecords = currentData[this.parent.childMapping];
currentData.hasChildRecords = true;

@@ -296,2 +318,5 @@ if (this.parent.enableCollapseAll) {

delete parentData[this.parent.childMapping];
if (this.isSelfReference) {
delete parentData.taskData[this.parent.childMapping];
}
currentData.parentItem = parentData;

@@ -310,5 +335,8 @@ currentData.parentUniqueID = parentData.uniqueID;

if (!isNullOrUndefined(currentData[this.parent.childMapping] && currentData[this.parent.childMapping].length)) {
this.createRecords(currentData[this.parent.childMapping], currentData);
var record = this.createRecords(currentData[this.parent.childMapping], currentData);
currentData.childRecords = record;
}
treeGridData.push(currentData);
}
return treeGridData;
};

@@ -315,0 +343,0 @@ /**

@@ -11,1 +11,2 @@ /**

export * from '../actions/resize';
export * from '../actions/rowdragdrop';

@@ -9,1 +9,2 @@ /**

export * from '../actions/resize';
export * from '../actions/rowdragdrop';

@@ -59,2 +59,6 @@ import { Column } from '../models/column';

isSummaryRow?: boolean;
/**
* Specifies the main data
*/
taskData?: ITreeData;
}

@@ -61,0 +65,0 @@ /**

@@ -1,2 +0,2 @@

import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Ajax, ModuleDeclaration, extend} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, isBlazor, getElement } from '@syncfusion/ej2-base';import {Event, Property, NotifyPropertyChanges, INotifyPropertyChanged, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';import { Column, ColumnModel } from '../models/column';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import { ActionEventArgs } from'@syncfusion/ej2-grids';import { DetailDataBoundEventArgs, Row} from '@syncfusion/ej2-grids';import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs} from '@syncfusion/ej2-grids';import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs} from '@syncfusion/ej2-grids';import { FilterSettings } from '../models/filter-settings';import {Filter} from '../actions/filter';import {Aggregate} from '../actions/summary';import { Reorder } from '../actions/reorder';import { Resize } from '../actions/resize';import { Selection as TreeGridSelection } from '../actions/selection';import { ColumnMenu } from '../actions/column-menu';import { DetailRow } from '../actions/detail-row';import { Print } from '../actions/print';import * as events from '../base/constant';import { FilterSettingsModel } from '../models/filter-settings-model';import { SearchSettings} from '../models/search-settings';import { SearchSettingsModel } from '../models/search-settings-model';import {RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';import {ColumnModel as GridColumnModel, Column as GridColumn, CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';import { SelectionSettings } from '../models/selection-settings';import { SelectionSettingsModel } from '../models/selection-settings-model';import {getActualProperties, SortDirection, getObject, ColumnDragEventArgs } from '@syncfusion/ej2-grids';import { TextWrapSettings, TextWrapSettingsModel, PrintMode, Data, IGrid, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import {BeforeDataBoundArgs} from '@syncfusion/ej2-grids';import { DataManager, ReturnOption, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';import { isRemoteData, isOffline, extendArray } from '../utils';import { Grid, QueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { Render } from '../renderer/render';import { DataManipulation } from './data';import { Sort } from '../actions/sort';import { ITreeData, RowExpandedEventArgs, RowExpandingEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs } from './interface';import { CellSaveEventArgs } from './interface';import { iterateArrayOrObject, GridLine } from '@syncfusion/ej2-grids';import { DataSourceChangedEventArgs, DataStateChangeEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';import { ToolbarItems, ToolbarItem, ContextMenuItem, ContextMenuItems, RowPosition } from '../enum';import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';import { PageSettings } from '../models/page-settings';import { PageSettingsModel } from '../models/page-settings-model';import { AggregateRow } from '../models/summary';import { AggregateRowModel } from '../models/summary-model';import { ExcelExport } from '../actions/excel-export';import { PdfExport } from '../actions/pdf-export';import { Toolbar } from '../actions/toolbar';import { Page } from '../actions/page';import { ContextMenu } from '../actions/context-menu';import { EditSettings } from '../models/edit-settings';import { EditSettingsModel } from '../models/edit-settings-model';import { Edit} from '../actions/edit';import { SortSettings } from '../models/sort-settings';import { SortSettingsModel } from '../models/sort-settings-model';
import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Ajax, ModuleDeclaration, extend} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, isBlazor, getElement } from '@syncfusion/ej2-base';import {Event, Property, NotifyPropertyChanges, INotifyPropertyChanged, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';import { Column, ColumnModel } from '../models/column';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import {RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings } from '@syncfusion/ej2-grids';import { ActionEventArgs } from'@syncfusion/ej2-grids';import { DetailDataBoundEventArgs, Row} from '@syncfusion/ej2-grids';import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs} from '@syncfusion/ej2-grids';import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs} from '@syncfusion/ej2-grids';import { FilterSettings } from '../models/filter-settings';import { TextWrapSettings } from '../models/textwrap-settings';import { TextWrapSettingsModel } from '../models/textwrap-settings-model';import {Filter} from '../actions/filter';import {Aggregate} from '../actions/summary';import { Reorder } from '../actions/reorder';import { Resize } from '../actions/resize';import { Selection as TreeGridSelection } from '../actions/selection';import { ColumnMenu } from '../actions/column-menu';import { DetailRow } from '../actions/detail-row';import { Print } from '../actions/print';import * as events from '../base/constant';import { FilterSettingsModel } from '../models/filter-settings-model';import { SearchSettings} from '../models/search-settings';import { SearchSettingsModel } from '../models/search-settings-model';import {RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';import {ColumnModel as GridColumnModel, Column as GridColumn, CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';import { SelectionSettings } from '../models/selection-settings';import { SelectionSettingsModel } from '../models/selection-settings-model';import {getActualProperties, SortDirection, getObject, ColumnDragEventArgs } from '@syncfusion/ej2-grids';import { PrintMode, Data, IGrid, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import {BeforeDataBoundArgs} from '@syncfusion/ej2-grids';import { DataManager, ReturnOption, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';import { isRemoteData, isOffline, extendArray } from '../utils';import { Grid, QueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { Render } from '../renderer/render';import { DataManipulation } from './data';import { RowDD } from '../actions/rowdragdrop';import { Sort } from '../actions/sort';import { ITreeData, RowExpandedEventArgs, RowExpandingEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs } from './interface';import { CellSaveEventArgs } from './interface';import { iterateArrayOrObject, GridLine } from '@syncfusion/ej2-grids';import { DataSourceChangedEventArgs, DataStateChangeEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';import { ToolbarItems, ToolbarItem, ContextMenuItem, ContextMenuItems, RowPosition } from '../enum';import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';import { PageSettings } from '../models/page-settings';import { PageSettingsModel } from '../models/page-settings-model';import { AggregateRow } from '../models/summary';import { AggregateRowModel } from '../models/summary-model';import { ExcelExport } from '../actions/excel-export';import { PdfExport } from '../actions/pdf-export';import { Toolbar } from '../actions/toolbar';import { Page } from '../actions/page';import { ContextMenu } from '../actions/context-menu';import { EditSettings } from '../models/edit-settings';import { EditSettingsModel } from '../models/edit-settings-model';import { Edit} from '../actions/edit';import { SortSettings } from '../models/sort-settings';import { SortSettingsModel } from '../models/sort-settings-model';
import {ComponentModel} from '@syncfusion/ej2-base';

@@ -59,2 +59,8 @@

/**
* Specifies the mapping property path for the expand status of a record in data source
* @default false
*/
allowRowDragAndDrop?: boolean;
/**
* It is used to render TreeGrid table rows.

@@ -97,2 +103,8 @@ * @default []

/**
* If `loadChildOnDemand` is enabled, parent records are render in expanded state.
* @default false
*/
loadChildOnDemand?: boolean;
/**
* If `allowTextWrap` set to true,

@@ -137,2 +149,7 @@ * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.

/**
* Configures the row drop settings of the TreeGrid.
*/
rowDropSettings?: RowDropSettingsModel;
/**
* @hidden

@@ -568,3 +585,3 @@ * It used to render pager template

* @event
* @blazorproperty 'ColumnMenuClicked'
* @blazorproperty 'ColumnMenuItemClicked'
* @blazorType Syncfusion.EJ2.Blazor.Navigations.MenuEventArgs

@@ -693,3 +710,3 @@ */

* @event
* @blazorproperty 'ContextMenuClicked'
* @blazorproperty 'ContextMenuItemClicked'
* @blazorType Syncfusion.EJ2.Blazor.Navigations.MenuEventArgs

@@ -700,2 +717,30 @@ */

/**
* Triggers when row elements are dragged (moved) continuously.
* @event
* @deprecated
*/
rowDrag?: EmitType<RowDragEventArgs>;
/**
* Triggers when row element’s drag(move) starts.
* @event
* @deprecated
*/
rowDragStart?: EmitType<RowDragEventArgs>;
/**
* Triggers when row element’s before drag(move).
* @event
* @deprecated
*/
rowDragStartHelper?: EmitType<RowDragEventArgs>;
/**
* Triggers when row elements are dropped on the target row.
* @event
* @deprecated
*/
rowDrop?: EmitType<RowDragEventArgs>;
/**
* The `selectedRowIndex` allows you to select a row at initial rendering.

@@ -768,2 +813,3 @@ * You can also get the currently selected row index.

* @event
* @blazorproperty 'OnExcelExport'
*/

@@ -770,0 +816,0 @@ beforeExcelExport?: EmitType<Object>;

@@ -6,5 +6,7 @@ import { Component, ModuleDeclaration } from '@syncfusion/ej2-base';

import { ColumnQueryModeType, HeaderCellInfoEventArgs } from '@syncfusion/ej2-grids';
import { RowDragEventArgs, RowDropSettingsModel } from '@syncfusion/ej2-grids';
import { DetailDataBoundEventArgs } from '@syncfusion/ej2-grids';
import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs } from '@syncfusion/ej2-grids';
import { SaveEventArgs, CellSaveArgs, BeginEditArgs, CellEditArgs } from '@syncfusion/ej2-grids';
import { TextWrapSettingsModel } from '../models/textwrap-settings-model';
import { Filter } from '../actions/filter';

@@ -26,3 +28,3 @@ import { Aggregate } from '../actions/summary';

import { SortDirection, ColumnDragEventArgs } from '@syncfusion/ej2-grids';
import { TextWrapSettingsModel, PrintMode, Data, ContextMenuItemModel } from '@syncfusion/ej2-grids';
import { PrintMode, Data, ContextMenuItemModel } from '@syncfusion/ej2-grids';
import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';

@@ -38,2 +40,3 @@ import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';

import { DataManipulation } from './data';
import { RowDD } from '../actions/rowdragdrop';
import { Sort } from '../actions/sort';

@@ -106,2 +109,6 @@ import { RowExpandedEventArgs, RowExpandingEventArgs } from './interface';

/**
* The `rowDragandDrop` is used to manipulate Row Reordering in TreeGrid.
*/
rowDragAndDropModule: RowDD;
/**
* The `contextMenuModule` is used to handle context menu items and its action in the TreeGrid.

@@ -179,2 +186,7 @@ */

/**
* Specifies the mapping property path for the expand status of a record in data source
* @default false
*/
allowRowDragAndDrop: boolean;
/**
* It is used to render TreeGrid table rows.

@@ -212,2 +224,7 @@ * @default []

/**
* If `loadChildOnDemand` is enabled, parent records are render in expanded state.
* @default false
*/
loadChildOnDemand: boolean;
/**
* If `allowTextWrap` set to true,

@@ -246,2 +263,6 @@ * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.

/**
* Configures the row drop settings of the TreeGrid.
*/
rowDropSettings: RowDropSettingsModel;
/**
* @hidden

@@ -624,3 +645,3 @@ * It used to render pager template

* @event
* @blazorproperty 'ColumnMenuClicked'
* @blazorproperty 'ColumnMenuItemClicked'
* @blazorType Syncfusion.EJ2.Blazor.Navigations.MenuEventArgs

@@ -733,3 +754,3 @@ */

* @event
* @blazorproperty 'ContextMenuClicked'
* @blazorproperty 'ContextMenuItemClicked'
* @blazorType Syncfusion.EJ2.Blazor.Navigations.MenuEventArgs

@@ -743,3 +764,22 @@ */

*/
rowDrag: EmitType<RowDragEventArgs>;
/**
* Triggers when row element’s drag(move) starts.
* @event
* @deprecated
*/
rowDragStart: EmitType<RowDragEventArgs>;
/**
* Triggers when row element’s before drag(move).
* @event
* @deprecated
*/
rowDragStartHelper: EmitType<RowDragEventArgs>;
/**
* Triggers when row elements are dropped on the target row.
* @event
* @deprecated
*/
rowDrop: EmitType<RowDragEventArgs>;
/**
* The `selectedRowIndex` allows you to select a row at initial rendering.

@@ -804,2 +844,3 @@ * You can also get the currently selected row index.

* @event
* @blazorproperty 'OnExcelExport'
*/

@@ -1398,2 +1439,6 @@ beforeExcelExport: EmitType<Object>;

/**
* Reorder the rows based on given indexes and position
*/
reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
/**
* The `toolbarModule` is used to manipulate ToolBar items and its action in the TreeGrid.

@@ -1400,0 +1445,0 @@ */

@@ -162,1 +162,14 @@ /**

'Menu';
/**
* Defines the wrap mode.
* * Both - Wraps both header and content.
* * Header - Wraps header alone.
* * Content - Wraps content alone.
*/
export declare type WrapMode =
/** Wraps both header and content */
'Both' |
/** Wraps header alone */
'Header' |
/** Wraps content alone */
'Content';

@@ -177,3 +177,4 @@ import { getObject, appendChildren } from '@syncfusion/ej2-grids';

else if (args.cell.classList.contains('e-templatecell')) {
for (var i = 0; i < args.cell.children.length; i++) {
var len = args.cell.children.length;
for (var i = 0; i < len; len = args.cell.children.length) {
cellElement.appendChild(args.cell.children[i]);

@@ -180,0 +181,0 @@ }

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc