/*!@license * Infragistics.Web.ClientUI Grid Merged Cells 19.1.20 * * Copyright (c) 2011-2019 Infragistics Inc. * * http://www.infragistics.com/ * * Depends on: * Depends on: * jquery-1.9.1.js * jquery.ui.core.js * jquery.ui.widget.js * infragistics.util.js * infragistics.ui.widget.js * infragistics.dataSource.js * infragistics.ui.grid.framework.js * infragistics.ui.shared.js */ (function(factory){if(typeof define==="function"&&define.amd){define(["./infragistics.ui.grid.framework"],factory)}else{return factory(jQuery)}})(function($){"use strict";$.widget("ui.igGridCellMerging",$.ui.igWidget,{localeWidgetName:"CellMerging",css:{mergedCellsTop:"ui-iggrid-mergedcellstop",mergedCellsBottom:"ui-iggrid-mergedcellsbottom",mergedCell:"ui-iggrid-mergedcell",physicallyMergedCell:"ui-iggrid-physicalmergedcell"},options:{mergeType:"visual",mergeOn:"sorting",mergeStrategy:"duplicate",rowMergeStrategy:"duplicate",mergeRows:false,columnSettings:[{columnIndex:-1,columnKey:null,mergeOn:"sorting",mergeStrategy:"duplicate"}],inherit:false},events:{cellsMerging:"cellsMerging",cellsMerged:"cellsMerged"},_createWidget:function(){this.options.columnSettings=[];$.Widget.prototype._createWidget.apply(this,arguments)},_setOption:function(opt){if(opt==="mergeType"){throw new Error(this._getLocaleValue("optionChangeNotSupported").replace("{optionName}",opt))}$.Widget.prototype._setOption.apply(this,arguments);switch(opt){case"mergeOn":case"mergeStrategy":case"columnSettings":this._unmergeColumns();this._initColumnSettings();this._createModel();this._mergeColumns();break;case"mergeRows":this._createRowMergeModel();this.grid.dataBind();break}},changeGlobalLanguage:function(){},changeGlobalRegional:function(){},destroy:function(){this._unmergeRows();this._unmergeColumns();this._unregisterEvents();this._superApply(arguments);return this},mergeColumn:function(column,raiseEvents){var key=this._normalizeColumnId(column);if(!this.isMerged(key)){this._mergeColumn(key,raiseEvents)}return this.element},unmergeColumn:function(column){var key=this._normalizeColumnId(column);if(this.isMerged(key)){this._unmergeColumn(key);this._mergingModel[key].merged=false}return this.element},isMerged:function(column){return this._mergingModel[this._normalizeColumnId(column)].merged},mergeRow:function(id,fireEvents){var pkProp=this.grid.options.primaryKey,dv=this.grid._getDataView(),sri=this.grid._startRowIndex||0,tbody=this.grid.element.children("tbody"),row;if(!tbody){tbody=this.grid.fixedTable().children("tbody")}if(pkProp===null){var index=parseInt(id);if(!isNaN(index)){if(index-sri>=0){row=tbody.find("tr").eq(index-sri);this._mergeRow(index,row,fireEvents)}this._rowMergingModel[index]=true;return}}var rowIndex=-1;for(var i=0;i=0){row=tbody.find("tr").eq(index-sri);this._unmergeRow(row)}this._rowMergingModel[index]=false;return}row=tbody.find("tr[data-id='"+id+"']").eq(0);this._unmergeRow(row);for(var i=0;i0},_dataRows:function(fixed,both){var table;if(both){table=this.grid.element.add(this.grid.fixedTable())}else{table=fixed?this.grid.fixedTable():this.grid.element}return table.children("tbody").children("tr:not([data-container='true'],[data-grouprow='true'],[data-summaryrow='true'])")},_addDummyGroupElements:function(dv,elements){var i,startIndex=this.grid._startRowIndex||0,endIndex=startIndex+this.grid._virtualRowCount||dv.length,visibleDv=dv.slice(startIndex,endIndex);for(i=0;itd[aria-describedby='"+cellAria+"']:not([gbsummarycell])");if(this._hasGroupedColumns()){this._addDummyGroupElements(dv,cells)}if(this.grid._isHierarchicalGrid){dv=dv.slice(0);this._addDummyChildGridElements(tbody,dv,cells)}i=sri>0?sri-1:0;prevCell=this.options.mergeType==="visual"?i-sri<0?$():cells.eq(i-sri):cells.eq(0);prevRec=dv[i++];for(i;i