{"version":3,"sources":["webpack:///./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js","webpack:///./src/assets/img/shuffle (2).svg","webpack:///./src/assets/img/clock (4).svg","webpack:///./src/assets/img/list (2).svg","webpack:///./src/assets/img/random.svg","webpack:///./src/assets/img/remove (1).png"],"names":["Group","parent","groupSettings","sortedColumns","serviceLocator","_this","this","sortRequired","isAppliedGroup","isAppliedUnGroup","reorderingColumns","visualElement","className","styles","attrs","action","helper","e","gObj","target","sender","element","classList","contains","allowReordering","column","getColumnByField","firstElementChild","getAttribute","textContent","style","width","offsetWidth","height","offsetHeight","setAttribute","uid","appendChild","dragStart","add","bindEvents","dragElement","drag","animateDropper","cloneElement","querySelector","trigger","draggableType","dragStop","remove","preventDrop","rearrangeGroup","field","getColumnByUid","columns","indexOf","ungroupColumn","dragField","dropTarget","grouped","slice","call","querySelectorAll","map","cols","JSON","parse","stringify","dropField","dropIndex","dragIndex","splice","flag","push","innerHTML","length","c","addColToGroupDrop","addLabel","removeColFromGroupDrop","drop","droppedElement","aria","setDropTarget","setGrabbed","getHeaderTable","allowGrouping","getColumnHeaderByUid","log","moduleName","getModuleName","columnName","headerText","groupColumn","contentRefresh","focus","getService","addEventListener","groupGenerator","prototype","dragLabel","l10n","getConstant","updateModel","columnDrag","columnDragStart","dropArea","columnDrop","isDestroyed","on","enableAfterRender","onActionComplete","onPropertyChanged","clickHandler","refreshSortIcons","keyPressHandler","initialEnd","render","onGroupAggregates","blazorActionBegin","updateExpand","removeEventListener","off","isCollapseStateEnabled","expandAll","isServerRendered","i","updateGroupDropArea","getColumns","_i","_a","col","preventDefault","selected","allowSelection","getSelectedRowIndexes","rows","getContentTable","children","dataRow","getDataRows","grpRow","rowIndex","expandCollapseRows","collapseAll","isEdit","id","getFocusedElement","row","parentElement","elem","focusModule","currentInfo","applySortFromTarget","unGroupFromTarget","toogleGroupFromHeader","showToggleButton","gHeader","allowSorting","getColumnHeaderByField","sortColumn","trgt","cellIdx","cellIndex","rowIdx","rowNodes","isHide","expandElem","dataManager","query","toExpand","indent","expand","notify","isExpand","updateVirtualRows","enableLazyLoading","contentModule","captionExpand","captionCollapse","setExpand","len","display","updateVisibleexpandCollapseRows","getRowsObject","isDataRow","getRowElementByUID","visible","rObj","getRowObjectFromUID","closest","getDataModule","generateQuery","queries","aggregateQuery","getQuery","clone","args","requestType","rowObject","getData","requiresCount","then","renderModule","dataManagerSuccess","expandCollapse","renderGroupDropArea","initDragAndDrop","refreshToggleBtn","groupElem","createElement","insertBefore","firstChild","showDropArea","clear","initializeGHeaderDrop","initializeGHeaderDrag","dragTarget","distance","accept","instance","handler","arg1","showGroupedColumn","colName","enableColumnVirtualization","filter","setVisible","sortSettings","dataBind","groupAddSortingQuery","isJsComponent","type","direction","isFromGroup","animator","groupedColumn","childDiv","headerCell","title","tabindex","toLowerCase","showUngroupButton","createSeparator","index","toString","isRemove","headers","getElementsByClassName","showColumnMenu","getGHeaderCell","parent_1","module","Object","keys","properties","prop","j","oldProperties","refreshHeader","updateGroupedColumn","updateButtonVisibility","freezeRefresh","isVisible","enable","destroy","gridElement","refreshing","clearGrouping","header","gCols","fieldNames","editedData","aggregates","iterateGroupAggregates","rowData","generateRows","summaryRows","updateSummaryRows","data","isReact","destroyTemplate","cells","cell","isDataCell","dataUid","updatedData","Array","initData","getCurrentViewRecords","deletedCols","changeds","edit","changes","getPrimaryKeyFieldNames","mergeData","item","value","pKeyVal","getObject","hasVal","some","cItem","eData","result","aggrds","aggregateRows","k","aggr","groupedCols","l","group","_loop_1","childRow","closestParent","parentUid","x","state_1","isFrozen","exports"],"mappings":"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","file":"js/chunk-55874db0.ae407667.js","sourcesContent":["import { Draggable, Droppable, isBlazor } from '@syncfusion/ej2-base';\nimport { createElement, closest, remove, classList, addClass, removeClass } from '@syncfusion/ej2-base';\nimport { isNullOrUndefined, extend } from '@syncfusion/ej2-base';\nimport { parentsUntil, isActionPrevent, isGroupAdaptive, updatecloneRow } from '../base/util';\nimport * as events from '../base/constant';\nimport { AriaService } from '../services/aria-service';\nimport { GroupModelGenerator } from '../services/group-model-generator';\nimport { DataUtil } from '@syncfusion/ej2-data';\n/**\n *\n * The `Group` module is used to handle group action.\n */\nvar Group = /** @class */ (function () {\n /**\n * Constructor for Grid group module\n * @hidden\n */\n function Group(parent, groupSettings, sortedColumns, serviceLocator) {\n var _this = this;\n //Internal variables\n this.sortRequired = true;\n this.isAppliedGroup = false;\n this.isAppliedUnGroup = false;\n this.reorderingColumns = [];\n this.visualElement = createElement('div', {\n className: 'e-cloneproperties e-dragclone e-gdclone',\n styles: 'line-height:23px', attrs: { action: 'grouping' }\n });\n this.helper = function (e) {\n var gObj = _this.parent;\n var target = e.sender.target;\n var element = target.classList.contains('e-groupheadercell') ? target :\n parentsUntil(target, 'e-groupheadercell');\n if (!element || (!target.classList.contains('e-drag') && _this.groupSettings.allowReordering)) {\n return false;\n }\n _this.column = gObj.getColumnByField(element.firstElementChild.getAttribute('ej-mappingname'));\n _this.visualElement.textContent = element.textContent;\n _this.visualElement.style.width = element.offsetWidth + 2 + 'px';\n _this.visualElement.style.height = element.offsetHeight + 2 + 'px';\n _this.visualElement.setAttribute('e-mappinguid', _this.column.uid);\n gObj.element.appendChild(_this.visualElement);\n return _this.visualElement;\n };\n this.dragStart = function (e) {\n _this.parent.element.classList.add('e-ungroupdrag');\n if (isBlazor()) {\n e.bindEvents(e.dragElement);\n }\n };\n this.drag = function (e) {\n if (_this.groupSettings.allowReordering) {\n _this.animateDropper(e);\n }\n var target = e.target;\n var cloneElement = _this.parent.element.querySelector('.e-cloneproperties');\n _this.parent.trigger(events.columnDrag, { target: target, draggableType: 'headercell', column: _this.column });\n if (!_this.groupSettings.allowReordering) {\n classList(cloneElement, ['e-defaultcur'], ['e-notallowedcur']);\n if (!(parentsUntil(target, 'e-gridcontent') || parentsUntil(target, 'e-headercell'))) {\n classList(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n }\n };\n this.dragStop = function (e) {\n _this.parent.element.classList.remove('e-ungroupdrag');\n var preventDrop = !(parentsUntil(e.target, 'e-gridcontent') || parentsUntil(e.target, 'e-gridheader'));\n if (_this.groupSettings.allowReordering && preventDrop) {\n remove(e.helper);\n if (parentsUntil(e.target, 'e-groupdroparea')) {\n _this.rearrangeGroup(e);\n }\n else if (!(parentsUntil(e.target, 'e-grid'))) {\n var field = _this.parent.getColumnByUid(e.helper.getAttribute('e-mappinguid')).field;\n if (_this.groupSettings.columns.indexOf(field) !== -1) {\n _this.ungroupColumn(field);\n }\n }\n return;\n }\n else if (preventDrop) {\n remove(e.helper);\n return;\n }\n };\n this.animateDropper = function (e) {\n var uid = _this.parent.element.querySelector('.e-cloneproperties').getAttribute('e-mappinguid');\n var dragField = _this.parent.getColumnByUid(uid).field;\n var parent = parentsUntil(e.target, 'e-groupdroparea');\n var dropTarget = parentsUntil(e.target, 'e-group-animator');\n // tslint:disable-next-line\n var grouped = [].slice.call(_this.element.querySelectorAll('.e-groupheadercell'))\n .map(function (e) { return e.querySelector('div').getAttribute('ej-mappingname'); });\n var cols = JSON.parse(JSON.stringify(grouped));\n if (dropTarget || parent) {\n if (dropTarget) {\n var dropField = dropTarget.querySelector('div[ej-mappingname]').getAttribute('ej-mappingname');\n var dropIndex = +(dropTarget.getAttribute('index'));\n if (dropField !== dragField) {\n var dragIndex = cols.indexOf(dragField);\n if (dragIndex !== -1) {\n cols.splice(dragIndex, 1);\n }\n var flag = dropIndex !== -1 && dragIndex === dropIndex;\n cols.splice(dropIndex + (flag ? 1 : 0), 0, dragField);\n }\n }\n else if (parent && cols.indexOf(dragField) === -1) {\n cols.push(dragField);\n }\n _this.element.innerHTML = '';\n if (cols.length && !_this.element.classList.contains('e-grouped')) {\n _this.element.classList.add('e-grouped');\n }\n _this.reorderingColumns = cols;\n for (var c = 0; c < cols.length; c++) {\n _this.addColToGroupDrop(cols[c]);\n }\n }\n else {\n _this.addLabel();\n _this.removeColFromGroupDrop(dragField);\n }\n };\n this.drop = function (e) {\n var gObj = _this.parent;\n var column = gObj.getColumnByUid(e.droppedElement.getAttribute('e-mappinguid'));\n _this.element.classList.remove('e-hover');\n remove(e.droppedElement);\n _this.aria.setDropTarget(_this.parent.element.querySelector('.e-groupdroparea'), false);\n _this.aria.setGrabbed(_this.parent.getHeaderTable().querySelector('[aria-grabbed=true]'), false);\n if (isNullOrUndefined(column) || column.allowGrouping === false ||\n parentsUntil(gObj.getColumnHeaderByUid(column.uid), 'e-grid').getAttribute('id') !==\n gObj.element.getAttribute('id')) {\n _this.parent.log('action_disabled_column', { moduleName: _this.getModuleName(), columnName: column.headerText });\n return;\n }\n _this.groupColumn(column.field);\n };\n this.contentRefresh = true;\n this.aria = new AriaService();\n this.parent = parent;\n this.groupSettings = groupSettings;\n this.serviceLocator = serviceLocator;\n this.sortedColumns = sortedColumns;\n this.focus = serviceLocator.getService('focus');\n this.addEventListener();\n this.groupGenerator = new GroupModelGenerator(this.parent);\n }\n Group.prototype.addLabel = function () {\n if (!this.element.querySelectorAll('.e-group-animator').length) {\n var dragLabel = this.l10n.getConstant('GroupDropArea');\n this.element.innerHTML = dragLabel;\n this.element.classList.remove('e-grouped');\n }\n };\n Group.prototype.rearrangeGroup = function (e) {\n this.sortRequired = false;\n this.updateModel();\n };\n Group.prototype.columnDrag = function (e) {\n if (this.groupSettings.allowReordering) {\n this.animateDropper(e);\n }\n var gObj = this.parent;\n var cloneElement = this.parent.element.querySelector('.e-cloneproperties');\n classList(cloneElement, ['e-defaultcur'], ['e-notallowedcur']);\n if (!parentsUntil(e.target, 'e-groupdroparea') &&\n !(this.parent.allowReordering && parentsUntil(e.target, 'e-headercell'))) {\n classList(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n e.target.classList.contains('e-groupdroparea') ? this.element.classList.add('e-hover') : this.element.classList.remove('e-hover');\n };\n Group.prototype.columnDragStart = function (e) {\n if (e.target.classList.contains('e-stackedheadercell')) {\n return;\n }\n var gObj = this.parent;\n var dropArea = this.parent.element.querySelector('.e-groupdroparea');\n this.aria.setDropTarget(dropArea, e.column.allowGrouping);\n var element = e.target.classList.contains('e-headercell') ? e.target : parentsUntil(e.target, 'e-headercell');\n this.aria.setGrabbed(element, true, !e.column.allowGrouping);\n };\n Group.prototype.columnDrop = function (e) {\n var gObj = this.parent;\n if (e.droppedElement.getAttribute('action') === 'grouping') {\n var column = gObj.getColumnByUid(e.droppedElement.getAttribute('e-mappinguid'));\n if (isNullOrUndefined(column) || column.allowGrouping === false ||\n parentsUntil(gObj.getColumnHeaderByUid(column.uid), 'e-grid').getAttribute('id') !==\n gObj.element.getAttribute('id')) {\n return;\n }\n this.ungroupColumn(column.field);\n }\n };\n /**\n * @hidden\n */\n Group.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(events.uiUpdate, this.enableAfterRender, this);\n this.parent.on(events.groupComplete, this.onActionComplete, this);\n this.parent.on(events.ungroupComplete, this.onActionComplete, this);\n this.parent.on(events.inBoundModelChanged, this.onPropertyChanged, this);\n this.parent.on(events.click, this.clickHandler, this);\n this.parent.on(events.columnDrag, this.columnDrag, this);\n this.parent.on(events.columnDragStart, this.columnDragStart, this);\n this.parent.on(events.headerDrop, this.columnDrop, this);\n this.parent.on(events.columnDrop, this.columnDrop, this);\n this.parent.on(events.headerRefreshed, this.refreshSortIcons, this);\n this.parent.on(events.sortComplete, this.refreshSortIcons, this);\n this.parent.on(events.keyPressed, this.keyPressHandler, this);\n this.parent.on(events.contentReady, this.initialEnd, this);\n this.parent.on(events.onEmpty, this.initialEnd, this);\n this.parent.on(events.initialEnd, this.render, this);\n this.parent.on(events.groupAggregates, this.onGroupAggregates, this);\n this.parent.on('blazor-action-begin', this.blazorActionBegin, this);\n this.parent.on('group-expand-collapse', this.updateExpand, this);\n this.parent.on('persist-data-changed', this.initialEnd, this);\n };\n /**\n * @hidden\n */\n Group.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(events.initialEnd, this.render);\n this.parent.off(events.uiUpdate, this.enableAfterRender);\n this.parent.off(events.groupComplete, this.onActionComplete);\n this.parent.off(events.ungroupComplete, this.onActionComplete);\n this.parent.off(events.inBoundModelChanged, this.onPropertyChanged);\n this.parent.off(events.click, this.clickHandler);\n this.parent.off(events.columnDrag, this.columnDrag);\n this.parent.off(events.columnDragStart, this.columnDragStart);\n this.parent.off(events.columnDrop, this.columnDrop);\n this.parent.off(events.headerDrop, this.columnDrop);\n this.parent.off(events.headerRefreshed, this.refreshSortIcons);\n this.parent.off(events.sortComplete, this.refreshSortIcons);\n this.parent.off(events.keyPressed, this.keyPressHandler);\n this.parent.off(events.groupAggregates, this.onGroupAggregates);\n this.parent.off('blazor-action-begin', this.blazorActionBegin);\n this.parent.off('group-expand-collapse', this.updateExpand);\n };\n Group.prototype.blazorActionBegin = function () {\n if (this.parent.allowGrouping && !this.parent.isCollapseStateEnabled()) {\n this.expandAll();\n }\n };\n Group.prototype.initialEnd = function () {\n var gObj = this.parent;\n this.parent.off(events.contentReady, this.initialEnd);\n this.parent.off(events.onEmpty, this.initialEnd);\n if (isBlazor() && gObj.isServerRendered) {\n for (var i = 0; i < gObj.columns.length; i++) {\n this.removeColFromGroupDrop(gObj.columns[i].field);\n }\n this.updateGroupDropArea();\n }\n if (this.parent.getColumns().length && this.groupSettings.columns.length) {\n this.contentRefresh = false;\n for (var _i = 0, _a = gObj.groupSettings.columns; _i < _a.length; _i++) {\n var col = _a[_i];\n this.groupColumn(col);\n }\n this.contentRefresh = true;\n }\n };\n Group.prototype.keyPressHandler = function (e) {\n var gObj = this.parent;\n if (e.action !== 'ctrlSpace' && (!this.groupSettings.columns.length ||\n ['altDownArrow', 'altUpArrow', 'ctrlDownArrow', 'ctrlUpArrow', 'enter'].indexOf(e.action) === -1)) {\n return;\n }\n e.preventDefault();\n switch (e.action) {\n case 'altDownArrow':\n case 'altUpArrow':\n var selected = gObj.allowSelection ? gObj.getSelectedRowIndexes() : [];\n if (selected.length) {\n var rows = gObj.getContentTable().querySelector('tbody').children;\n var dataRow = gObj.getDataRows()[selected[selected.length - 1]];\n var grpRow = void 0;\n for (var i = dataRow.rowIndex; i >= 0; i--) {\n if (!rows[i].classList.contains('e-row') && !rows[i].classList.contains('e-detailrow')) {\n grpRow = rows[i];\n break;\n }\n }\n this.expandCollapseRows(grpRow.querySelector(e.action === 'altUpArrow' ?\n '.e-recordplusexpand' : '.e-recordpluscollapse'));\n }\n break;\n case 'ctrlDownArrow':\n this.expandAll();\n break;\n case 'ctrlUpArrow':\n this.collapseAll();\n break;\n case 'enter':\n if (this.parent.isEdit || (closest(e.target, '#' + this.parent.element.id + '_searchbar') !== null)) {\n return;\n }\n var element = this.focus.getFocusedElement();\n var row = element ? element.parentElement.querySelector('[class^=\"e-record\"]') : null;\n if (!row) {\n break;\n }\n this.expandCollapseRows(row);\n break;\n case 'ctrlSpace':\n var elem = gObj.focusModule.currentInfo.element;\n if (elem && elem.classList.contains('e-headercell')) {\n var column = gObj.getColumnByUid(elem.firstElementChild.getAttribute('e-mappinguid'));\n column.field && gObj.groupSettings.columns.indexOf(column.field) < 0 ?\n this.groupColumn(column.field) : this.ungroupColumn(column.field);\n }\n break;\n }\n };\n Group.prototype.clickHandler = function (e) {\n this.expandCollapseRows(e.target);\n this.applySortFromTarget(e.target);\n this.unGroupFromTarget(e.target);\n this.toogleGroupFromHeader(e.target);\n };\n Group.prototype.unGroupFromTarget = function (target) {\n if (target.classList.contains('e-ungroupbutton')) {\n this.ungroupColumn(target.parentElement.getAttribute('ej-mappingname'));\n }\n };\n Group.prototype.toogleGroupFromHeader = function (target) {\n if (this.groupSettings.showToggleButton) {\n if (target.classList.contains('e-grptogglebtn')) {\n if (target.classList.contains('e-toggleungroup')) {\n this.ungroupColumn(this.parent.getColumnByUid(target.parentElement.getAttribute('e-mappinguid')).field);\n }\n else {\n this.groupColumn(this.parent.getColumnByUid(target.parentElement.getAttribute('e-mappinguid')).field);\n }\n }\n else {\n if (target.classList.contains('e-toggleungroup')) {\n this.ungroupColumn(target.parentElement.getAttribute('ej-mappingname'));\n }\n }\n }\n };\n Group.prototype.applySortFromTarget = function (target) {\n var gObj = this.parent;\n var gHeader = closest(target, '.e-groupheadercell');\n if (gObj.allowSorting && gHeader && !target.classList.contains('e-ungroupbutton') &&\n !target.classList.contains('e-toggleungroup')) {\n var field = gHeader.firstElementChild.getAttribute('ej-mappingname');\n if (gObj.getColumnHeaderByField(field).querySelectorAll('.e-ascending').length) {\n gObj.sortColumn(field, 'Descending', true);\n }\n else {\n gObj.sortColumn(field, 'Ascending', true);\n }\n }\n };\n /**\n * Expands or collapses grouped rows by target element.\n * @param {Element} target - Defines the target element of the grouped row.\n * @return {void}\n */\n Group.prototype.expandCollapseRows = function (target) {\n var trgt = parentsUntil(target, 'e-recordplusexpand') ||\n parentsUntil(target, 'e-recordpluscollapse');\n if (trgt) {\n var cellIdx = trgt.cellIndex;\n var rowIdx = trgt.parentElement.rowIndex;\n var rowNodes = this.parent.getContentTable().querySelector('tbody').children;\n var rows = [].slice.call(rowNodes).slice(rowIdx + 1, rowNodes.length);\n var isHide = void 0;\n var expandElem = void 0;\n var dataManager = void 0;\n var query = void 0;\n var toExpand = [];\n var gObj = this.parent;\n var indent = trgt.parentElement.querySelectorAll('.e-indentcell').length;\n var expand = false;\n if (isBlazor() && this.parent.isCollapseStateEnabled()) {\n this.parent.notify('group-expand-collapse', {\n uid: trgt.parentElement.getAttribute('data-uid'),\n isExpand: trgt.classList.contains('e-recordpluscollapse')\n });\n return;\n }\n if (trgt.classList.contains('e-recordpluscollapse')) {\n addClass([trgt], 'e-recordplusexpand');\n removeClass([trgt], 'e-recordpluscollapse');\n trgt.firstElementChild.className = 'e-icons e-gdiagonaldown e-icon-gdownarrow';\n expand = true;\n if (isGroupAdaptive(gObj)) {\n this.updateVirtualRows(gObj, target, expand, query, dataManager);\n }\n if (this.parent.groupSettings.enableLazyLoading) {\n this.parent.contentModule.captionExpand(trgt.parentElement);\n }\n }\n else {\n isHide = true;\n removeClass([trgt], 'e-recordplusexpand');\n addClass([trgt], 'e-recordpluscollapse');\n trgt.firstElementChild.className = 'e-icons e-gnextforward e-icon-grightarrow';\n if (isGroupAdaptive(gObj)) {\n this.updateVirtualRows(gObj, target, !isHide, query, dataManager);\n }\n if (this.parent.groupSettings.enableLazyLoading) {\n this.parent.contentModule.captionCollapse(trgt.parentElement);\n }\n }\n this.aria.setExpand(trgt, expand);\n if (!isGroupAdaptive(gObj) && !this.parent.groupSettings.enableLazyLoading) {\n for (var i = 0, len = rows.length; i < len; i++) {\n if (rows[i].querySelectorAll('td')[cellIdx] &&\n rows[i].querySelectorAll('td')[cellIdx].classList.contains('e-indentcell') && rows) {\n if (isHide) {\n rows[i].style.display = 'none';\n }\n else {\n if (rows[i].querySelectorAll('.e-indentcell').length === indent + 1) {\n rows[i].style.display = '';\n expandElem = rows[i].querySelector('.e-recordplusexpand');\n if (expandElem) {\n toExpand.push(expandElem);\n }\n if (rows[i].classList.contains('e-detailrow')) {\n if (rows[i - 1].querySelectorAll('.e-detailrowcollapse').length) {\n rows[i].style.display = 'none';\n }\n }\n }\n }\n }\n else {\n break;\n }\n }\n this.updateVisibleexpandCollapseRows();\n this.parent.notify(events.refreshExpandandCollapse, { rows: this.parent.getRowsObject() });\n }\n for (var i = 0, len = toExpand.length; i < len; i++) {\n removeClass([toExpand[i]], 'e-recordplusexpand');\n addClass([toExpand[i]], 'e-recordpluscollapse');\n toExpand[i].firstElementChild.className = 'e-icons e-gnextforward e-icon-grightarrow';\n this.expandCollapseRows(toExpand[i]);\n }\n }\n };\n Group.prototype.updateVisibleexpandCollapseRows = function () {\n var rows = this.parent.getRowsObject();\n for (var i = 0, len = rows.length; i < len; i++) {\n if (rows[i].isDataRow && this.parent.getRowElementByUID(rows[i].uid).style.display === 'none') {\n rows[i].visible = false;\n }\n }\n };\n Group.prototype.updateVirtualRows = function (gObj, target, isExpand, query, dataManager) {\n var rObj = gObj.getRowObjectFromUID(target.closest('tr').getAttribute('data-uid'));\n rObj.isExpand = isExpand;\n updatecloneRow(gObj);\n this.parent.notify(events.refreshVirtualMaxPage, {});\n query = gObj.getDataModule().generateQuery(false);\n query.queries = gObj.getDataModule().aggregateQuery(gObj.getQuery().clone()).queries;\n var args = { requestType: 'virtualscroll', rowObject: rObj };\n dataManager = gObj.getDataModule().getData(args, query.requiresCount());\n dataManager.then(function (e) { return gObj.renderModule.dataManagerSuccess(e, args); });\n };\n Group.prototype.expandCollapse = function (isExpand) {\n if (isBlazor() && this.parent.isCollapseStateEnabled()) {\n this.parent.notify('group-expand-collapse', { isExpand: isExpand });\n return;\n }\n if (!isExpand) {\n this.parent.notify(events.initialCollapse, isExpand);\n }\n var rowNodes = this.parent.getContentTable().querySelector('tbody').children;\n var row;\n for (var i = 0, len = rowNodes.length; i < len; i++) {\n if (rowNodes[i].querySelectorAll('.e-recordplusexpand, .e-recordpluscollapse').length) {\n row = rowNodes[i].querySelector(isExpand ? '.e-recordpluscollapse' : '.e-recordplusexpand');\n if (row) {\n row.className = isExpand ? 'e-recordplusexpand' : 'e-recordpluscollapse';\n row.firstElementChild.className = isExpand ? 'e-icons e-gdiagonaldown e-icon-gdownarrow' :\n 'e-icons e-gnextforward e-icon-grightarrow';\n }\n if (!(rowNodes[i].firstElementChild.classList.contains('e-recordplusexpand') ||\n rowNodes[i].firstElementChild.classList.contains('e-recordpluscollapse'))) {\n rowNodes[i].style.display = isExpand ? '' : 'none';\n }\n }\n else {\n rowNodes[i].style.display = isExpand ? '' : 'none';\n }\n }\n this.updateVisibleexpandCollapseRows();\n this.parent.notify(events.refreshExpandandCollapse, { rows: this.parent.getRowsObject() });\n };\n /**\n * Expands all the grouped rows of the Grid.\n * @return {void}\n */\n Group.prototype.expandAll = function () {\n this.expandCollapse(true);\n };\n /**\n * Collapses all the grouped rows of the Grid.\n * @return {void}\n */\n Group.prototype.collapseAll = function () {\n this.expandCollapse(false);\n };\n /**\n * The function is used to render grouping\n * @return {Element}\n * @hidden\n */\n Group.prototype.render = function () {\n this.l10n = this.serviceLocator.getService('localization');\n this.renderGroupDropArea();\n this.initDragAndDrop();\n this.refreshToggleBtn();\n };\n Group.prototype.renderGroupDropArea = function () {\n var groupElem = this.parent.element.querySelector('.e-groupdroparea');\n if (groupElem) {\n remove(groupElem);\n }\n this.element = this.parent.createElement('div', { className: 'e-groupdroparea', attrs: { 'tabindex': '-1' } });\n if (this.groupSettings.allowReordering) {\n this.element.classList.add('e-group-animate');\n }\n this.updateGroupDropArea();\n this.parent.element.insertBefore(this.element, this.parent.element.firstChild);\n if (!this.groupSettings.showDropArea) {\n this.element.style.display = 'none';\n }\n };\n Group.prototype.updateGroupDropArea = function (clear) {\n if (this.groupSettings.showDropArea && !this.groupSettings.columns.length) {\n var dragLabel = this.l10n.getConstant('GroupDropArea');\n this.element.innerHTML = dragLabel;\n this.element.classList.remove('e-grouped');\n }\n else {\n if ((this.element.innerHTML === this.l10n.getConstant('GroupDropArea') && (this.groupSettings.columns.length === 1\n || !this.isAppliedGroup && !this.isAppliedUnGroup)) || clear) {\n this.element.innerHTML = '';\n }\n this.element.classList.add('e-grouped');\n }\n };\n Group.prototype.initDragAndDrop = function () {\n this.initializeGHeaderDrop();\n this.initializeGHeaderDrag();\n };\n Group.prototype.initializeGHeaderDrag = function () {\n var drag = new Draggable(this.element, {\n dragTarget: this.groupSettings.allowReordering ? '.e-drag' : '.e-groupheadercell',\n distance: this.groupSettings.allowReordering ? -10 : 5,\n helper: this.helper,\n dragStart: this.dragStart,\n drag: this.drag,\n dragStop: this.dragStop\n });\n };\n Group.prototype.initializeGHeaderDrop = function () {\n var gObj = this.parent;\n var drop = new Droppable(this.element, {\n accept: '.e-dragclone',\n drop: this.drop\n });\n };\n /**\n * Groups a column by column name.\n * @param {string} columnName - Defines the column name to group.\n * @return {void}\n */\n Group.prototype.groupColumn = function (columnName) {\n var gObj = this.parent;\n var column = gObj.getColumnByField(columnName);\n if (isNullOrUndefined(column) || column.allowGrouping === false ||\n (this.contentRefresh && this.groupSettings.columns.indexOf(columnName) > -1)) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), columnName: column.headerText });\n return;\n }\n if (isActionPrevent(gObj)) {\n gObj.notify(events.preventBatch, { instance: this, handler: this.groupColumn, arg1: columnName });\n return;\n }\n column.visible = gObj.groupSettings.showGroupedColumn;\n this.colName = columnName;\n this.isAppliedGroup = true;\n if (this.contentRefresh) {\n this.updateModel();\n }\n else {\n this.addColToGroupDrop(columnName);\n }\n this.updateGroupDropArea();\n this.isAppliedGroup = false;\n };\n /**\n * Ungroups a column by column name.\n * @param {string} columnName - Defines the column name to ungroup.\n * @return {void}\n */\n Group.prototype.ungroupColumn = function (columnName) {\n var gObj = this.parent;\n var column = this.parent.enableColumnVirtualization ?\n this.parent.columns.filter(function (c) { return c.field === columnName; })[0] : gObj.getColumnByField(columnName);\n if (isNullOrUndefined(column) || column.allowGrouping === false || this.groupSettings.columns.indexOf(columnName) < 0) {\n return;\n }\n if (isActionPrevent(gObj)) {\n gObj.notify(events.preventBatch, { instance: this, handler: this.ungroupColumn, arg1: columnName });\n return;\n }\n column.visible = true;\n if (isBlazor() && gObj.isServerRendered) {\n var setVisible = [];\n setVisible[0] = column;\n this.parent.notify('setvisibility', setVisible);\n }\n this.colName = column.field;\n var columns = JSON.parse(JSON.stringify(this.groupSettings.columns));\n columns.splice(columns.indexOf(this.colName), 1);\n if (this.sortedColumns.indexOf(columnName) < 0) {\n for (var i = 0, len = gObj.sortSettings.columns.length; i < len; i++) {\n if (columnName === gObj.sortSettings.columns[i].field) {\n gObj.sortSettings.columns.splice(i, 1);\n break;\n }\n }\n }\n var isServerRendered = 'isServerRendered';\n if (isBlazor() && this.parent[isServerRendered]) {\n gObj.sortSettings.columns = gObj.sortSettings.columns;\n }\n if (this.groupSettings.allowReordering) {\n this.reorderingColumns = columns;\n }\n this.groupSettings.columns = columns;\n if (gObj.allowGrouping) {\n this.isAppliedUnGroup = true;\n this.parent.dataBind();\n }\n };\n /**\n * The function used to update groupSettings\n * @return {void}\n * @hidden\n */\n Group.prototype.updateModel = function () {\n var gObj = this.parent;\n var i = 0;\n var columns = JSON.parse(JSON.stringify(this.groupSettings.columns));\n columns = this.reorderingColumns.length ? JSON.parse(JSON.stringify(this.reorderingColumns)) : columns;\n if (this.sortRequired) {\n if (columns.indexOf(this.colName) === -1) {\n columns.push(this.colName);\n }\n this.groupAddSortingQuery(this.colName);\n }\n this.sortRequired = true;\n this.parent.groupSettings.columns = columns;\n this.parent.dataBind();\n };\n /**\n * The function used to trigger onActionComplete\n * @return {void}\n * @hidden\n */\n Group.prototype.onActionComplete = function (e) {\n if (isBlazor() && !this.parent.isJsComponent) {\n e.rows = null;\n }\n var gObj = this.parent;\n if (e.requestType === 'grouping') {\n this.addColToGroupDrop(this.colName);\n }\n else {\n this.removeColFromGroupDrop(this.colName);\n }\n var args = this.groupSettings.columns.indexOf(this.colName) > -1 ? {\n columnName: this.colName, requestType: 'grouping', type: events.actionComplete\n } : { requestType: 'ungrouping', type: events.actionComplete };\n this.parent.trigger(events.actionComplete, extend(e, args));\n this.colName = null;\n };\n Group.prototype.groupAddSortingQuery = function (colName) {\n var i = 0;\n while (i < this.parent.sortSettings.columns.length) {\n if (this.parent.sortSettings.columns[i].field === colName) {\n break;\n }\n i++;\n }\n if (this.parent.sortSettings.columns.length === i) {\n this.parent.sortSettings.columns.push({ field: colName, direction: 'Ascending', isFromGroup: true });\n var isServerRendered = 'isServerRendered';\n if (isBlazor() && this.parent[isServerRendered]) {\n this.parent.sortSettings.columns = this.parent.sortSettings.columns;\n }\n }\n else if (!this.parent.allowSorting) {\n this.parent.sortSettings.columns[i].direction = 'Ascending';\n }\n };\n Group.prototype.createElement = function (field) {\n var gObj = this.parent;\n var direction = 'Ascending';\n var animator = this.parent.createElement('div', { className: 'e-grid-icon e-group-animator' });\n var groupedColumn = this.parent.createElement('div', { className: 'e-grid-icon e-groupheadercell' });\n var childDiv = this.parent.createElement('div', { attrs: { 'ej-mappingname': field } });\n var column = this.parent.getColumnByField(field);\n //Todo headerTemplateID for grouped column, disableHtmlEncode \n var headerCell = gObj.getColumnHeaderByUid(column.uid);\n // if (!isNullOrUndefined(column.headerTemplate)) {\n // if (column.headerTemplate.indexOf('#') !== -1) {\n // childDiv.innerHTML = document.querySelector(column.headerTemplate).innerHTML.trim();\n // } else {\n // childDiv.innerHTML = column.headerTemplate;\n // }\n // childDiv.firstElementChild.classList.add('e-grouptext');\n // } else {\n if (this.groupSettings.allowReordering) {\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-drag e-icons e-icon-drag', innerHTML: ' ',\n attrs: { title: 'Drag', tabindex: '-1', 'aria-label': 'Drag the grouped column' }\n }));\n }\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-grouptext', innerHTML: column.headerText,\n attrs: { tabindex: '-1', 'aria-label': 'sort the grouped column' }\n }));\n // }\n if (this.groupSettings.showToggleButton) {\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-togglegroupbutton e-icons e-icon-ungroup e-toggleungroup', innerHTML: ' ',\n attrs: { tabindex: '-1', 'aria-label': 'ungroup button' }\n }));\n }\n if (headerCell.querySelectorAll('.e-ascending,.e-descending').length) {\n direction = headerCell.querySelector('.e-ascending') ? 'Ascending' : 'Descending';\n }\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-groupsort e-icons ' +\n ('e-' + direction.toLowerCase() + ' e-icon-' + direction.toLowerCase()), innerHTML: ' ',\n attrs: { tabindex: '-1', 'aria-label': 'sort the grouped column' }\n }));\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-ungroupbutton e-icons e-icon-hide', innerHTML: ' ',\n attrs: { title: isBlazor() ? this.l10n.getConstant('UnGroupButton') : this.l10n.getConstant('UnGroup'),\n tabindex: '-1', 'aria-label': 'ungroup the grouped column' },\n styles: this.groupSettings.showUngroupButton ? '' : 'display:none'\n }));\n groupedColumn.appendChild(childDiv);\n var index = this.groupSettings.columns.indexOf(field);\n if (this.groupSettings.allowReordering) {\n animator.appendChild(groupedColumn);\n animator.appendChild(this.createSeparator());\n groupedColumn = animator;\n }\n return groupedColumn;\n };\n Group.prototype.addColToGroupDrop = function (field) {\n if (this.groupSettings.allowReordering\n && this.parent.element.querySelector('.e-groupdroparea div[ej-mappingname=' + field + ']')) {\n return;\n }\n var column = this.parent.getColumnByField(field);\n if (isNullOrUndefined(column)) {\n return;\n }\n var groupedColumn = this.createElement(field);\n if (this.groupSettings.allowReordering) {\n var index = this.element.querySelectorAll('.e-group-animator').length;\n groupedColumn.setAttribute('index', index.toString());\n }\n this.element.appendChild(groupedColumn);\n //Todo: rtl \n };\n Group.prototype.createSeparator = function () {\n return this.parent.createElement('span', {\n className: 'e-nextgroup e-icons e-icon-next', innerHTML: ' ',\n attrs: { tabindex: '-1', 'aria-label': 'Separator for the grouped columns' },\n styles: this.groupSettings.showUngroupButton ? '' : 'display:none'\n });\n };\n Group.prototype.refreshToggleBtn = function (isRemove) {\n if (this.groupSettings.showToggleButton) {\n var headers = [].slice.call(this.parent.getHeaderTable().getElementsByClassName('e-headercelldiv'));\n for (var i = 0, len = headers.length; i < len; i++) {\n if (!((headers[i].classList.contains('e-emptycell')) || (headers[i].classList.contains('e-headerchkcelldiv')))) {\n var column = this.parent.getColumnByUid(headers[i].getAttribute('e-mappinguid'));\n if (!this.parent.showColumnMenu || (this.parent.showColumnMenu && !column.showColumnMenu)) {\n if (headers[i].querySelectorAll('.e-grptogglebtn').length) {\n remove(headers[i].querySelectorAll('.e-grptogglebtn')[0]);\n }\n if (!isRemove) {\n headers[i].appendChild(this.parent.createElement('span', {\n className: 'e-grptogglebtn e-icons ' +\n (this.groupSettings.columns.indexOf(column.field) > -1 ? 'e-toggleungroup e-icon-ungroup'\n : 'e-togglegroup e-icon-group'), attrs: { tabindex: '-1', 'aria-label': 'Group button' }\n }));\n }\n }\n }\n }\n }\n };\n Group.prototype.removeColFromGroupDrop = function (field) {\n if (!isNullOrUndefined(this.getGHeaderCell(field))) {\n var elem = this.getGHeaderCell(field);\n if (this.groupSettings.allowReordering) {\n var parent_1 = parentsUntil(elem, 'e-group-animator');\n remove(parent_1);\n }\n else {\n remove(elem);\n }\n this.updateGroupDropArea();\n }\n this.isAppliedUnGroup = false;\n };\n Group.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n for (var _i = 0, _a = Object.keys(e.properties); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'columns':\n var args = void 0;\n if (this.contentRefresh) {\n if (!this.isAppliedUnGroup) {\n if (!this.isAppliedGroup) {\n this.updateGroupDropArea(true);\n for (var j = 0; j < this.parent.sortSettings.columns.length; j++) {\n if (this.parent.sortSettings.columns[j].isFromGroup) {\n this.parent.sortSettings.columns.splice(j, 1);\n j--;\n }\n }\n for (var i = 0; i < this.groupSettings.columns.length; i++) {\n this.colName = this.groupSettings.columns[i];\n var col = this.parent.getColumnByField(this.colName);\n col.visible = this.parent.groupSettings.showGroupedColumn;\n this.groupAddSortingQuery(this.colName);\n if (i < this.groupSettings.columns.length - 1) {\n this.addColToGroupDrop(this.groupSettings.columns[i]);\n }\n }\n }\n args = {\n columnName: this.colName, requestType: e.properties[prop].length ? 'grouping' : 'ungrouping',\n type: events.actionBegin\n };\n }\n else {\n args = { columnName: this.colName, requestType: 'ungrouping', type: events.actionBegin };\n }\n if (!this.groupSettings.showGroupedColumn) {\n var columns = e.oldProperties[prop];\n for (var i = 0; i < columns.length; i++) {\n if (e.properties[prop].indexOf(columns[i]) === -1) {\n this.parent.getColumnByField(columns[i]).visible = true;\n }\n }\n }\n var requestType = 'requestType';\n if (isBlazor() && this.parent.isServerRendered && this.parent.isCollapseStateEnabled() &&\n args[requestType] === 'grouping') {\n this.parent.refreshHeader();\n }\n this.parent.notify(events.modelChanged, args);\n }\n break;\n case 'showDropArea':\n this.updateGroupDropArea();\n this.groupSettings.showDropArea ? this.element.style.display = '' : this.element.style.display = 'none';\n break;\n case 'showGroupedColumn':\n this.updateGroupedColumn(this.groupSettings.showGroupedColumn);\n this.parent.notify(events.modelChanged, { requestType: 'refresh' });\n break;\n case 'showUngroupButton':\n this.updateButtonVisibility(this.groupSettings.showUngroupButton, 'e-ungroupbutton');\n break;\n case 'showToggleButton':\n this.updateButtonVisibility(this.groupSettings.showToggleButton, 'e-togglegroupbutton ');\n this.parent.refreshHeader();\n break;\n case 'enableLazyLoading':\n this.parent.freezeRefresh();\n break;\n }\n }\n };\n Group.prototype.updateGroupedColumn = function (isVisible) {\n for (var i = 0; i < this.groupSettings.columns.length; i++) {\n this.parent.getColumnByField(this.groupSettings.columns[i]).visible = isVisible;\n }\n };\n Group.prototype.updateButtonVisibility = function (isVisible, className) {\n var gHeader = [].slice.call(this.element.querySelectorAll('.' + className));\n for (var i = 0; i < gHeader.length; i++) {\n gHeader[i].style.display = isVisible ? '' : 'none';\n }\n };\n Group.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.render();\n }\n };\n /**\n * To destroy the reorder\n * @return {void}\n * @hidden\n */\n Group.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.e-gridheader') && !gridElement.querySelector('.e-gridcontent'))) {\n return;\n }\n // tslint:disable-next-line:no-any\n if (!this.parent.isDestroyed && !this.parent.refreshing) {\n this.clearGrouping();\n }\n this.removeEventListener();\n this.refreshToggleBtn(true);\n remove(this.element);\n //call ejdrag and drop destroy\n };\n /**\n * Clears all the grouped columns of the Grid.\n * @return {void}\n */\n Group.prototype.clearGrouping = function () {\n var cols = JSON.parse(JSON.stringify(this.groupSettings.columns));\n this.contentRefresh = false;\n for (var i = 0, len = cols.length; i < len; i++) {\n if (i === (len - 1)) {\n this.contentRefresh = true;\n }\n this.ungroupColumn(cols[i]);\n }\n this.contentRefresh = true;\n };\n /**\n * For internal use only - Get the module name.\n * @private\n */\n Group.prototype.getModuleName = function () {\n return 'group';\n };\n Group.prototype.refreshSortIcons = function (e) {\n var gObj = this.parent;\n var header;\n var cols = gObj.sortSettings.columns;\n var gCols = gObj.groupSettings.columns;\n var fieldNames = this.parent.getColumns().map(function (c) { return c.field; });\n this.refreshToggleBtn();\n for (var i = 0, len = cols.length; i < len; i++) {\n if (fieldNames.indexOf(cols[i].field) === -1) {\n continue;\n }\n header = gObj.getColumnHeaderByField(cols[i].field);\n if (!gObj.allowSorting && (this.sortedColumns.indexOf(cols[i].field) > -1 ||\n this.groupSettings.columns.indexOf(cols[i].field) > -1)) {\n classList(header.querySelector('.e-sortfilterdiv'), ['e-ascending', 'e-icon-ascending'], []);\n if (cols.length > 1) {\n header.querySelector('.e-headercelldiv').appendChild(this.parent.createElement('span', { className: 'e-sortnumber', innerHTML: (i + 1).toString() }));\n }\n }\n else if (this.getGHeaderCell(cols[i].field) && this.getGHeaderCell(cols[i].field).querySelectorAll('.e-groupsort').length) {\n if (cols[i].direction === 'Ascending') {\n classList(this.getGHeaderCell(cols[i].field).querySelector('.e-groupsort'), ['e-ascending', 'e-icon-ascending'], ['e-descending', 'e-icon-descending']);\n }\n else {\n classList(this.getGHeaderCell(cols[i].field).querySelector('.e-groupsort'), ['e-descending', 'e-icon-descending'], ['e-ascending', 'e-icon-ascending']);\n }\n }\n }\n for (var i = 0, len = gCols.length; i < len; i++) {\n if (fieldNames.indexOf(gCols[i]) === -1) {\n continue;\n }\n gObj.getColumnHeaderByField(gCols[i]).setAttribute('aria-grouped', 'true');\n }\n };\n Group.prototype.getGHeaderCell = function (field) {\n if (this.element && this.element.querySelector('[ej-mappingname=\"' + field + '\"]')) {\n return this.element.querySelector('[ej-mappingname=\"' + field + '\"]').parentElement;\n }\n return null;\n };\n Group.prototype.onGroupAggregates = function (editedData) {\n var aggregates = this.iterateGroupAggregates(editedData);\n var rowData = this.groupGenerator.generateRows(aggregates, {});\n var summaryRows = this.parent.getRowsObject().filter(function (row) { return !row.isDataRow; });\n var updateSummaryRows = rowData.filter(function (data) { return !data.isDataRow; });\n if (this.parent.isReact) {\n this.parent.destroyTemplate(['groupFooterTemplate', 'groupCaptionTemplate', 'footerTemplate']);\n }\n for (var i = 0; i < updateSummaryRows.length; i++) {\n var row = updateSummaryRows[i];\n var cells = row.cells.filter(function (cell) { return cell.isDataCell; });\n var args = { cells: cells, data: row.data, dataUid: summaryRows[i] ? summaryRows[i].uid : '' };\n this.parent.notify(events.refreshAggregateCell, args);\n }\n };\n Group.prototype.iterateGroupAggregates = function (editedData) {\n var updatedData = editedData instanceof Array ? editedData : [];\n var rows = this.parent.getRowsObject();\n var initData = this.parent.getCurrentViewRecords();\n var deletedCols = [];\n var changeds = rows.map(function (row) {\n if (row.edit === 'delete') {\n deletedCols.push(row.data);\n }\n return row.changes instanceof Object ? row.changes : row.data;\n });\n var field = this.parent.getPrimaryKeyFieldNames()[0];\n changeds = updatedData.length === 0 ? changeds : updatedData;\n var mergeData = initData.map(function (item) {\n var pKeyVal = DataUtil.getObject(field, item);\n var value;\n var hasVal = changeds.some(function (cItem) {\n value = cItem;\n return pKeyVal === DataUtil.getObject(field, cItem);\n });\n return hasVal ? value : item;\n });\n var eData = editedData;\n if (!(eData.type && eData.type === 'cancel') && deletedCols.length > 0) {\n for (var i = 0; i < deletedCols.length; i++) {\n var index = mergeData.indexOf(deletedCols[i]);\n mergeData.splice(index, 1);\n }\n }\n var aggregates = [];\n var aggregateRows = this.parent.aggregates;\n for (var j = 0; j < aggregateRows.length; j++) {\n var row = aggregateRows[j];\n for (var k = 0; k < row.columns.length; k++) {\n var aggr = {};\n var type = row.columns[k].type.toString();\n aggr = { type: type.toLowerCase(), field: row.columns[k].field };\n aggregates.push(aggr);\n }\n }\n var result;\n var aggrds;\n var groupedCols = this.parent.groupSettings.columns;\n for (var l = 0; l < groupedCols.length; l++) {\n aggrds = result ? result : mergeData;\n result = DataUtil.group(aggrds, groupedCols[l], aggregates, null, null);\n }\n return result;\n };\n Group.prototype.updateExpand = function (args) {\n var uid = args.uid;\n var isExpand = args.isExpand;\n var rows = this.parent.getRowsObject();\n for (var i = 0; i < rows.length; i++) {\n var row = rows[i];\n if (row.uid === uid || isNullOrUndefined(uid)) {\n row.isExpand = isExpand;\n var _loop_1 = function (j) {\n var childRow = rows[j];\n var closestParent = void 0;\n if (childRow.parentUid !== row.uid) {\n closestParent = rows.filter(function (x) { return x.uid === childRow.parentUid; })[0];\n }\n if (childRow.parentUid === row.uid) {\n childRow.visible = row.isExpand;\n }\n else if (!isNullOrUndefined(closestParent) && childRow.parentUid === closestParent.uid) {\n if (closestParent.isExpand && closestParent.visible === true) {\n childRow.visible = true;\n }\n else if (closestParent.isExpand && closestParent.visible === false) {\n childRow.visible = false;\n }\n }\n if (isNullOrUndefined(uid)) {\n return \"break\";\n }\n };\n for (var j = i + 1; j < rows.length; j++) {\n var state_1 = _loop_1(j);\n if (state_1 === \"break\")\n break;\n }\n }\n }\n this.parent.notify(events.contentReady, { rows: rows, args: { isFrozen: false, rows: rows } });\n };\n return Group;\n}());\nexport { Group };\n","module.exports = __webpack_public_path__ + \"img/shuffle (2).404de031.svg\";","module.exports = __webpack_public_path__ + \"img/clock (4).50d6c3a9.svg\";","module.exports = __webpack_public_path__ + \"img/list (2).aec15b23.svg\";","module.exports = __webpack_public_path__ + \"img/random.582fcfc9.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAABHNCSVQICAgIfAhkiAAAA65JREFUaEPtmU1IVFEUx//nzcKvFilKjo6jUItatAl0OUKLMoi0TKKggmrThxVWYKAtUnKl9EEFEUEJbTTSRTRuglwmtAmyhQtnnHkZSrYws8W8E/eOMz3fzHPee/Mp+DYD7517z++e+d9zznuXkORiNdgGoAPgfQDtTmaT/Xv8DaDPAEaoxjtm9Ef6Gzwf2g9NewZgZ/bB7HjgaSiuK1Tt+RAbJcGZmaCGboH4HgCXnSlzaBsBoRvVdYNExFFwde4YwCMAlByCOHGlgZQT5PaMEjMX4XswANAOJzPlfgzPw+1tIA7PnQfx89wDpOGR6QKxGhQ7tjWNafIxdJxYDcwCVJ8P7859coA4HFgFUZHzSfIwkvmvkArnwXXaLrfA4yEMzYJ/LQKh2egtTwNoe6X8zeSVmYivLEMbHwbPTAM/F5LzVVSBdu2B0noaKN2W9hrSBueP76FNvAH+/LYGU1IGpaUd5Dtkzd7Eyjl4LMqfJh0BUJMvreg7BtdePwVPOYOOd3gC/uRFZwt3kg6lPMZeOXJoHKS0nQE125eN/YivLCPSf926plMtr6QMrp77tjesbXBTiRSXysiJfwOrK+txN3oGgHwtUI6eTbXEdc9tg0fudgJLiwlO4s5Ds4g87vsPX1wK1+Vemce1ty/Bk/5EwIoquHofZhFcQA3eTu5A/OWXeqKFJgYvXqfWoOW9J/2mEnPdGLBVpGxFnL9MQXsxZB4ZA3yscqaCFnbKuS7Q3kbLUbcFrvlHwaLYbHTp4YVdikjHU+PBdigtx/MIrtO0pDBq3qwSZhM8pVT00Lomywp8VqUiAcw2pwFabkSxOY0b1pgq1/6BrG5O4cNSOtRnD53mTdNheSVcdx5Z1rcwtLU5xQDTAiS6Pl8LNJGnjZ3iRs8EhE19OwKHKPl91xKro6146YyFxHofZL/kC5ebs8laC1ZG2tpGH5RTOWxrJbt4kRgbdtyTUxrQzjRu0LKUjX/UuuaLS2WFdNKD613bzipJ92As+jNfk3aOckx5JaipWWaegnhZTliI+DyxtAAOB+Qjqq0HlVfZ6vysJKjMRNyKpwzbbIFnOKAppxOfmec3z2lEbD3iM7ManABwIOUSC8vAv4mPUqKHV+JUorqwgmpGwz/g9tZHjwvDwSMgjG8KcFIOk9vzLn6yzGqgG6CBgoYn3CS3d1AWNj0oh+c6QWzvy0yuVsp0lWrr4q9J68ClbFTVC0S6wNwBQk2uuJL6YaggGgFcQ1RTE9Tb/APjh+sGFcETywAAAABJRU5ErkJggg==\""],"sourceRoot":""}