@refinitiv-ui/efx-grid 6.0.34 → 6.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/column-dragging/es6/ColumnDragging.js +50 -40
 - package/lib/core/dist/core.css +1 -1
 - package/lib/core/dist/core.js +248 -8
 - package/lib/core/dist/core.min.js +1 -1
 - package/lib/core/es6/data/DataCache.js +20 -1
 - package/lib/core/es6/data/DataTable.d.ts +2 -0
 - package/lib/core/es6/data/DataTable.js +18 -1
 - package/lib/core/es6/data/DataView.d.ts +2 -0
 - package/lib/core/es6/data/DataView.js +11 -0
 - package/lib/core/es6/grid/Core.d.ts +12 -0
 - package/lib/core/es6/grid/Core.js +88 -3
 - package/lib/core/es6/grid/ILayoutGrid.js +4 -0
 - package/lib/core/es6/grid/LayoutGrid.d.ts +4 -0
 - package/lib/core/es6/grid/LayoutGrid.js +95 -3
 - package/lib/core/es6/grid/VirtualizedLayoutGrid.js +6 -0
 - package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +6 -0
 - package/lib/core/es6/tr-grid-theme.js +1 -1
 - package/lib/grid/index.js +1 -1
 - package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
 - package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
 - package/lib/grid/themes/halo/efx-grid.less +1 -1
 - package/lib/grid/themes/halo/light/efx-grid.js +1 -1
 - package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
 - package/lib/rt-grid/dist/rt-grid.js +367 -148
 - package/lib/rt-grid/dist/rt-grid.min.js +1 -1
 - package/lib/rt-grid/es6/Grid.js +37 -31
 - package/lib/rt-grid/es6/RowDefSorter.d.ts +5 -5
 - package/lib/rt-grid/es6/RowDefSorter.js +165 -71
 - package/lib/tr-grid-column-selection/es6/ColumnSelection.js +66 -0
 - package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +3 -0
 - package/lib/tr-grid-column-stack/es6/ColumnStack.js +566 -607
 - package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +1 -1
 - package/lib/tr-grid-range-bar/es6/RangeBar.d.ts +4 -1
 - package/lib/tr-grid-range-bar/es6/RangeBar.js +99 -39
 - package/lib/tr-grid-row-dragging/es6/RowDragging.js +14 -3
 - package/lib/tr-grid-rowcoloring/es6/RowColoring.js +3 -2
 - package/lib/tr-grid-util/es6/DragUI.js +7 -3
 - package/lib/tr-grid-util/es6/GroupDefinitions.d.ts +7 -1
 - package/lib/tr-grid-util/es6/GroupDefinitions.js +39 -3
 - package/lib/tr-grid-util/es6/jet/DataGenerator.js +36 -33
 - package/lib/types/es6/ColumnStack.d.ts +2 -0
 - package/lib/types/es6/Core/data/DataTable.d.ts +3 -1
 - package/lib/types/es6/Core/data/DataView.d.ts +2 -0
 - package/lib/types/es6/Core/grid/Core.d.ts +12 -0
 - package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +5 -5
 - package/lib/versions.json +8 -8
 - package/package.json +1 -1
 
    
        package/lib/core/dist/core.js
    CHANGED
    
    | 
         @@ -4765,6 +4765,10 @@ ILayoutGrid.prototype.calculateColumnBounds = function (lftIdx, rgtIdx, outPosit 
     | 
|
| 
       4765 
4765 
     | 
    
         
             
            * @param {number=} topPx Top position of bound
         
     | 
| 
       4766 
4766 
     | 
    
         
             
            */
         
     | 
| 
       4767 
4767 
     | 
    
         
             
            ILayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx) {};
         
     | 
| 
      
 4768 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 4769 
     | 
    
         
            +
            * @ignore
         
     | 
| 
      
 4770 
     | 
    
         
            +
            */
         
     | 
| 
      
 4771 
     | 
    
         
            +
            ILayoutGrid.prototype.updateColumnSeparators = function () {};
         
     | 
| 
       4768 
4772 
     | 
    
         | 
| 
       4769 
4773 
     | 
    
         
             
            /* harmony default export */ const grid_ILayoutGrid = (ILayoutGrid);
         
     | 
| 
       4770 
4774 
     | 
    
         | 
| 
         @@ -8754,7 +8758,14 @@ LayoutGrid.prototype._colSelDirty = false; 
     | 
|
| 
       8754 
8758 
     | 
    
         
             
            * @private
         
     | 
| 
       8755 
8759 
     | 
    
         
             
            */
         
     | 
| 
       8756 
8760 
     | 
    
         
             
            LayoutGrid.prototype._hscrollbar = null;
         
     | 
| 
       8757 
     | 
    
         
            -
             
     | 
| 
      
 8761 
     | 
    
         
            +
            /** @type {Element}
         
     | 
| 
      
 8762 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 8763 
     | 
    
         
            +
            */
         
     | 
| 
      
 8764 
     | 
    
         
            +
            LayoutGrid.prototype._leftColumnSeparator = null;
         
     | 
| 
      
 8765 
     | 
    
         
            +
            /** @type {Element}
         
     | 
| 
      
 8766 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 8767 
     | 
    
         
            +
            */
         
     | 
| 
      
 8768 
     | 
    
         
            +
            LayoutGrid.prototype._rightColumnSeparator = null;
         
     | 
| 
       8758 
8769 
     | 
    
         | 
| 
       8759 
8770 
     | 
    
         
             
            /**
         
     | 
| 
       8760 
8771 
     | 
    
         
             
             * {@link ElementWrapper#dispose}
         
     | 
| 
         @@ -10721,8 +10732,7 @@ LayoutGrid.prototype.selectColumn = function (colIndex, selected) { 
     | 
|
| 
       10721 
10732 
     | 
    
         | 
| 
       10722 
10733 
     | 
    
         
             
            		var boundLayer = this._boundLayer;
         
     | 
| 
       10723 
10734 
     | 
    
         
             
            		if(!boundLayer) {
         
     | 
| 
       10724 
     | 
    
         
            -
            			 
     | 
| 
       10725 
     | 
    
         
            -
            			boundLayer.className = "cover-layer";
         
     | 
| 
      
 10735 
     | 
    
         
            +
            			this._initBoundLayer();
         
     | 
| 
       10726 
10736 
     | 
    
         
             
            			this._updateLayers();
         
     | 
| 
       10727 
10737 
     | 
    
         
             
            		}
         
     | 
| 
       10728 
10738 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -10894,6 +10904,92 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx) 
     | 
|
| 
       10894 
10904 
     | 
    
         
             
            	}
         
     | 
| 
       10895 
10905 
     | 
    
         
             
            };
         
     | 
| 
       10896 
10906 
     | 
    
         | 
| 
      
 10907 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 10908 
     | 
    
         
            +
            */
         
     | 
| 
      
 10909 
     | 
    
         
            +
            LayoutGrid.prototype.updateColumnSeparators = function () {
         
     | 
| 
      
 10910 
     | 
    
         
            +
            	var pinnedLeftCount = this._hscrollbar.getPinnedLeftColumnCount();
         
     | 
| 
      
 10911 
     | 
    
         
            +
            	var pinnedRightCount = this._hscrollbar.getPinnedRightColumnCount();
         
     | 
| 
      
 10912 
     | 
    
         
            +
            	if ((pinnedLeftCount || pinnedRightCount) && !this._boundLayer) {
         
     | 
| 
      
 10913 
     | 
    
         
            +
            		this._initBoundLayer();
         
     | 
| 
      
 10914 
     | 
    
         
            +
            	}
         
     | 
| 
      
 10915 
     | 
    
         
            +
             
     | 
| 
      
 10916 
     | 
    
         
            +
            	var isScrollbarActive = false;
         
     | 
| 
      
 10917 
     | 
    
         
            +
            	if(this._hscrollbar) {
         
     | 
| 
      
 10918 
     | 
    
         
            +
            		isScrollbarActive = this._hscrollbar.isActive();
         
     | 
| 
      
 10919 
     | 
    
         
            +
            	}
         
     | 
| 
      
 10920 
     | 
    
         
            +
             
     | 
| 
      
 10921 
     | 
    
         
            +
            	var boundLayer = this._boundLayer;
         
     | 
| 
      
 10922 
     | 
    
         
            +
             
     | 
| 
      
 10923 
     | 
    
         
            +
            	var colSeparator = this._leftColumnSeparator;
         
     | 
| 
      
 10924 
     | 
    
         
            +
            	if (isScrollbarActive && pinnedLeftCount) {
         
     | 
| 
      
 10925 
     | 
    
         
            +
            		if (!colSeparator) {
         
     | 
| 
      
 10926 
     | 
    
         
            +
            			colSeparator = this._leftColumnSeparator = this._createColumnSeparator();
         
     | 
| 
      
 10927 
     | 
    
         
            +
            		}
         
     | 
| 
      
 10928 
     | 
    
         
            +
            		if (!colSeparator.parentNode) {
         
     | 
| 
      
 10929 
     | 
    
         
            +
            			if (boundLayer.children.length) {
         
     | 
| 
      
 10930 
     | 
    
         
            +
            				boundLayer.insertBefore(colSeparator, boundLayer.children[0]);
         
     | 
| 
      
 10931 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 10932 
     | 
    
         
            +
            				boundLayer.appendChild(colSeparator);
         
     | 
| 
      
 10933 
     | 
    
         
            +
            			}
         
     | 
| 
      
 10934 
     | 
    
         
            +
            		}
         
     | 
| 
      
 10935 
     | 
    
         
            +
             
     | 
| 
      
 10936 
     | 
    
         
            +
            		var rightPos = this._trackX.getLaneStart(pinnedLeftCount);
         
     | 
| 
      
 10937 
     | 
    
         
            +
            		colSeparator.style.left = (rightPos - 1) + "px";
         
     | 
| 
      
 10938 
     | 
    
         
            +
            		colSeparator.style.height = this._trackY.getTrackSize() + "px";
         
     | 
| 
      
 10939 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 10940 
     | 
    
         
            +
            		if (colSeparator && colSeparator.parentNode) {
         
     | 
| 
      
 10941 
     | 
    
         
            +
            			this._boundLayer.removeChild(colSeparator);
         
     | 
| 
      
 10942 
     | 
    
         
            +
            		}
         
     | 
| 
      
 10943 
     | 
    
         
            +
            	}
         
     | 
| 
      
 10944 
     | 
    
         
            +
             
     | 
| 
      
 10945 
     | 
    
         
            +
            	colSeparator = this._rightColumnSeparator;
         
     | 
| 
      
 10946 
     | 
    
         
            +
            	if (isScrollbarActive && pinnedRightCount) {
         
     | 
| 
      
 10947 
     | 
    
         
            +
            		if (!colSeparator) {
         
     | 
| 
      
 10948 
     | 
    
         
            +
            			colSeparator = this._rightColumnSeparator = this._createColumnSeparator();
         
     | 
| 
      
 10949 
     | 
    
         
            +
            		}
         
     | 
| 
      
 10950 
     | 
    
         
            +
             
     | 
| 
      
 10951 
     | 
    
         
            +
            		if (!colSeparator.parentNode) {
         
     | 
| 
      
 10952 
     | 
    
         
            +
            			if (boundLayer.children.length) {
         
     | 
| 
      
 10953 
     | 
    
         
            +
            				boundLayer.insertBefore(colSeparator, boundLayer.children[0]);
         
     | 
| 
      
 10954 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 10955 
     | 
    
         
            +
            				boundLayer.appendChild(colSeparator);
         
     | 
| 
      
 10956 
     | 
    
         
            +
            			}
         
     | 
| 
      
 10957 
     | 
    
         
            +
            		}
         
     | 
| 
      
 10958 
     | 
    
         
            +
            		var colCount = this.getColumnCount();
         
     | 
| 
      
 10959 
     | 
    
         
            +
            		var colWidth = this._trackX.getLaneEnd(colCount - 1) - this._trackX.getLaneStart(colCount - pinnedRightCount);
         
     | 
| 
      
 10960 
     | 
    
         
            +
            		var viewSize = this._getViewSize();
         
     | 
| 
      
 10961 
     | 
    
         
            +
             
     | 
| 
      
 10962 
     | 
    
         
            +
            		colSeparator.style.left = (viewSize - colWidth - this._rightSpaceSize) + "px";
         
     | 
| 
      
 10963 
     | 
    
         
            +
            		colSeparator.style.height = this._trackY.getTrackSize() + "px";
         
     | 
| 
      
 10964 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 10965 
     | 
    
         
            +
            		if (colSeparator && colSeparator.parentNode) {
         
     | 
| 
      
 10966 
     | 
    
         
            +
            			this._boundLayer.removeChild(colSeparator);
         
     | 
| 
      
 10967 
     | 
    
         
            +
            		}
         
     | 
| 
      
 10968 
     | 
    
         
            +
            	}
         
     | 
| 
      
 10969 
     | 
    
         
            +
            };
         
     | 
| 
      
 10970 
     | 
    
         
            +
             
     | 
| 
      
 10971 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 10972 
     | 
    
         
            +
            * @return {Element}
         
     | 
| 
      
 10973 
     | 
    
         
            +
            */
         
     | 
| 
      
 10974 
     | 
    
         
            +
            LayoutGrid.prototype._createColumnSeparator = function() {
         
     | 
| 
      
 10975 
     | 
    
         
            +
            	var colSeparator = document.createElement("div");
         
     | 
| 
      
 10976 
     | 
    
         
            +
            	colSeparator.classList.add("column-separator");
         
     | 
| 
      
 10977 
     | 
    
         
            +
            	return colSeparator;
         
     | 
| 
      
 10978 
     | 
    
         
            +
            };
         
     | 
| 
      
 10979 
     | 
    
         
            +
             
     | 
| 
      
 10980 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 10981 
     | 
    
         
            +
            * @return {Element}
         
     | 
| 
      
 10982 
     | 
    
         
            +
            */
         
     | 
| 
      
 10983 
     | 
    
         
            +
            LayoutGrid.prototype._initBoundLayer = function () {
         
     | 
| 
      
 10984 
     | 
    
         
            +
            	var boundLayer = this._boundLayer;
         
     | 
| 
      
 10985 
     | 
    
         
            +
            	if(!boundLayer) {
         
     | 
| 
      
 10986 
     | 
    
         
            +
            		boundLayer = this._boundLayer = document.createElement("div");
         
     | 
| 
      
 10987 
     | 
    
         
            +
            		boundLayer.className = "cover-layer";
         
     | 
| 
      
 10988 
     | 
    
         
            +
            		this._element.appendChild(boundLayer);
         
     | 
| 
      
 10989 
     | 
    
         
            +
            	}
         
     | 
| 
      
 10990 
     | 
    
         
            +
            	return boundLayer;
         
     | 
| 
      
 10991 
     | 
    
         
            +
            };
         
     | 
| 
      
 10992 
     | 
    
         
            +
             
     | 
| 
       10897 
10993 
     | 
    
         
             
            /**
         
     | 
| 
       10898 
10994 
     | 
    
         
             
             * @private
         
     | 
| 
       10899 
10995 
     | 
    
         
             
             * @param {number} indexX
         
     | 
| 
         @@ -12764,7 +12860,8 @@ DataCache_DataCache.prototype._insertRic = function (subId, ric, values) { 
     | 
|
| 
       12764 
12860 
     | 
    
         
             
            	// We cannot cache event arguments because user may want to collect all the updates
         
     | 
| 
       12765 
12861 
     | 
    
         
             
            	this._onADCForNewRic(subId, ric);
         
     | 
| 
       12766 
12862 
     | 
    
         | 
| 
       12767 
     | 
    
         
            -
            	 
     | 
| 
      
 12863 
     | 
    
         
            +
            	var rowData = this.getRowData(rid);
         
     | 
| 
      
 12864 
     | 
    
         
            +
            	if (!rowData) { // Ensure that we have subscription id and ric from Quotes2
         
     | 
| 
       12768 
12865 
     | 
    
         
             
            		var tmp = values;
         
     | 
| 
       12769 
12866 
     | 
    
         | 
| 
       12770 
12867 
     | 
    
         
             
            		values = {}; // Clone a new object for duplicated ric
         
     | 
| 
         @@ -12775,6 +12872,11 @@ DataCache_DataCache.prototype._insertRic = function (subId, ric, values) { 
     | 
|
| 
       12775 
12872 
     | 
    
         | 
| 
       12776 
12873 
     | 
    
         
             
            		values["SUB_ID"] = subId;
         
     | 
| 
       12777 
12874 
     | 
    
         
             
            		values["RIC"] = ric;
         
     | 
| 
      
 12875 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 12876 
     | 
    
         
            +
            		var rowDef = rowData["ROW_DEF"];
         
     | 
| 
      
 12877 
     | 
    
         
            +
            		if(rowDef && rowDef.isChain()){
         
     | 
| 
      
 12878 
     | 
    
         
            +
            			values["SUB_ID"] = subId;
         
     | 
| 
      
 12879 
     | 
    
         
            +
            		}
         
     | 
| 
       12778 
12880 
     | 
    
         
             
            	}
         
     | 
| 
       12779 
12881 
     | 
    
         | 
| 
       12780 
12882 
     | 
    
         
             
            	this.setRowData(rid, values);
         
     | 
| 
         @@ -12811,6 +12913,12 @@ DataCache_DataCache.prototype._onQ2SubAdded = function (e) { 
     | 
|
| 
       12811 
12913 
     | 
    
         
             
            		var sub = subs[i];
         
     | 
| 
       12812 
12914 
     | 
    
         
             
            		var ric = sub["ric"];
         
     | 
| 
       12813 
12915 
     | 
    
         | 
| 
      
 12916 
     | 
    
         
            +
            		// chain subId fires twice, one with "_ci_" and one without "_ci_"
         
     | 
| 
      
 12917 
     | 
    
         
            +
            		// the subId with "_ci_" should be ignore
         
     | 
| 
      
 12918 
     | 
    
         
            +
            		if(sub["id"].indexOf("_ci_") >= 0){
         
     | 
| 
      
 12919 
     | 
    
         
            +
            			continue;
         
     | 
| 
      
 12920 
     | 
    
         
            +
            		}
         
     | 
| 
      
 12921 
     | 
    
         
            +
             
     | 
| 
       12814 
12922 
     | 
    
         
             
            		this.addSubscription(sub, ric);
         
     | 
| 
       12815 
12923 
     | 
    
         | 
| 
       12816 
12924 
     | 
    
         
             
            		if (duplicateSubIds) { // There will be no network request for duplicate subs, and hence we need to update the data from our cache
         
     | 
| 
         @@ -12835,6 +12943,13 @@ DataCache_DataCache.prototype._onQ2SubRemoved = function (e) { 
     | 
|
| 
       12835 
12943 
     | 
    
         | 
| 
       12836 
12944 
     | 
    
         
             
            	for (var i = 0; i < len; ++i) {
         
     | 
| 
       12837 
12945 
     | 
    
         
             
            		var sub = subs[i];
         
     | 
| 
      
 12946 
     | 
    
         
            +
             
     | 
| 
      
 12947 
     | 
    
         
            +
            		// chain subId fires twice, one with "_ci_" and one without "_ci_"
         
     | 
| 
      
 12948 
     | 
    
         
            +
            		// the subId with "_ci_" should be ignore
         
     | 
| 
      
 12949 
     | 
    
         
            +
            		if(sub["id"].indexOf("_ci_") >= 0){
         
     | 
| 
      
 12950 
     | 
    
         
            +
            			continue;
         
     | 
| 
      
 12951 
     | 
    
         
            +
            		}
         
     | 
| 
      
 12952 
     | 
    
         
            +
             
     | 
| 
       12838 
12953 
     | 
    
         
             
            		this.removeSubscription(sub);
         
     | 
| 
       12839 
12954 
     | 
    
         
             
            	}
         
     | 
| 
       12840 
12955 
     | 
    
         
             
            };
         
     | 
| 
         @@ -15676,7 +15791,24 @@ DataTable.prototype.setSortingLogic = function(func) { 
     | 
|
| 
       15676 
15791 
     | 
    
         
             
            * @param {DataTable.SortLogic} func Use null to remove current sorting logic
         
     | 
| 
       15677 
15792 
     | 
    
         
             
            */
         
     | 
| 
       15678 
15793 
     | 
    
         
             
            DataTable.prototype.setColumnSortingLogic = function(cid, func) {
         
     | 
| 
       15679 
     | 
    
         
            -
            	 
     | 
| 
      
 15794 
     | 
    
         
            +
            	if(cid) {
         
     | 
| 
      
 15795 
     | 
    
         
            +
            		this._compMap[cid] = func;
         
     | 
| 
      
 15796 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15797 
     | 
    
         
            +
            };
         
     | 
| 
      
 15798 
     | 
    
         
            +
            /** Get sorting logic for the specified field. Default logic is returned, if no logic is specified for the column
         
     | 
| 
      
 15799 
     | 
    
         
            +
            * @public
         
     | 
| 
      
 15800 
     | 
    
         
            +
            * @param {string=} cid
         
     | 
| 
      
 15801 
     | 
    
         
            +
            * @return {DataTable.SortLogic}
         
     | 
| 
      
 15802 
     | 
    
         
            +
            */
         
     | 
| 
      
 15803 
     | 
    
         
            +
            DataTable.prototype.getColumnSortingLogic = function(cid) {
         
     | 
| 
      
 15804 
     | 
    
         
            +
            	if(cid) {
         
     | 
| 
      
 15805 
     | 
    
         
            +
            		var logic = this._compMap[cid];
         
     | 
| 
      
 15806 
     | 
    
         
            +
            		if(logic) {
         
     | 
| 
      
 15807 
     | 
    
         
            +
            			return logic;
         
     | 
| 
      
 15808 
     | 
    
         
            +
            		}
         
     | 
| 
      
 15809 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15810 
     | 
    
         
            +
             
     | 
| 
      
 15811 
     | 
    
         
            +
            	return this._compMap["_default"] || null;
         
     | 
| 
       15680 
15812 
     | 
    
         
             
            };
         
     | 
| 
       15681 
15813 
     | 
    
         | 
| 
       15682 
15814 
     | 
    
         
             
            /** Freeze data table so that no event is fired for data processing until executing {@link DataTable#unfreeze} method
         
     | 
| 
         @@ -19423,6 +19555,17 @@ DataView.prototype.setColumnSortingLogic = function(cid, func) { 
     | 
|
| 
       19423 
19555 
     | 
    
         
             
            		this._dt.setColumnSortingLogic(cid, func);
         
     | 
| 
       19424 
19556 
     | 
    
         
             
            	}
         
     | 
| 
       19425 
19557 
     | 
    
         
             
            };
         
     | 
| 
      
 19558 
     | 
    
         
            +
            /** Get sorting logic for the specified field. Default logic is returned, if no logic is specified for the column
         
     | 
| 
      
 19559 
     | 
    
         
            +
            * @public
         
     | 
| 
      
 19560 
     | 
    
         
            +
            * @param {string=} cid
         
     | 
| 
      
 19561 
     | 
    
         
            +
            * @return {DataTable.SortLogic}
         
     | 
| 
      
 19562 
     | 
    
         
            +
            */
         
     | 
| 
      
 19563 
     | 
    
         
            +
            DataView.prototype.getColumnSortingLogic = function(cid) {
         
     | 
| 
      
 19564 
     | 
    
         
            +
            	if(this._dt) {
         
     | 
| 
      
 19565 
     | 
    
         
            +
            		return this._dt.getColumnSortingLogic(cid);
         
     | 
| 
      
 19566 
     | 
    
         
            +
            	}
         
     | 
| 
      
 19567 
     | 
    
         
            +
            	return null;
         
     | 
| 
      
 19568 
     | 
    
         
            +
            };
         
     | 
| 
       19426 
19569 
     | 
    
         
             
            /** Check if this view is in sorting mode
         
     | 
| 
       19427 
19570 
     | 
    
         
             
            * @public
         
     | 
| 
       19428 
19571 
     | 
    
         
             
            * @return {boolean}
         
     | 
| 
         @@ -24945,6 +25088,12 @@ VirtualizedLayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderA 
     | 
|
| 
       24945 
25088 
     | 
    
         
             
            	this._grid.updateColumnBounds(posAry, noBorderAry, topPx);
         
     | 
| 
       24946 
25089 
     | 
    
         
             
            	this._updateRowBounds();
         
     | 
| 
       24947 
25090 
     | 
    
         
             
            };
         
     | 
| 
      
 25091 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 25092 
     | 
    
         
            +
            * @ignore
         
     | 
| 
      
 25093 
     | 
    
         
            +
            */
         
     | 
| 
      
 25094 
     | 
    
         
            +
            VirtualizedLayoutGrid.prototype.updateColumnSeparators = function () {
         
     | 
| 
      
 25095 
     | 
    
         
            +
            	this._grid.updateColumnSeparators();
         
     | 
| 
      
 25096 
     | 
    
         
            +
            };
         
     | 
| 
       24948 
25097 
     | 
    
         
             
            /** @private
         
     | 
| 
       24949 
25098 
     | 
    
         
             
            */
         
     | 
| 
       24950 
25099 
     | 
    
         
             
            VirtualizedLayoutGrid.prototype._initBoundLayer = function () {
         
     | 
| 
         @@ -25159,6 +25308,7 @@ VirtualizedLayoutGrid._proto = VirtualizedLayoutGrid.prototype; 
     | 
|
| 
       25159 
25308 
     | 
    
         | 
| 
       25160 
25309 
     | 
    
         
             
             // eslint-disable-line
         
     | 
| 
       25161 
25310 
     | 
    
         | 
| 
      
 25311 
     | 
    
         
            +
             
     | 
| 
       25162 
25312 
     | 
    
         
             
             // eslint-disable-line
         
     | 
| 
       25163 
25313 
     | 
    
         | 
| 
       25164 
25314 
     | 
    
         | 
| 
         @@ -25358,7 +25508,9 @@ var Core_Core = function (opt_initializer) { 
     | 
|
| 
       25358 
25508 
     | 
    
         
             
            		"rowRemoved",
         
     | 
| 
       25359 
25509 
     | 
    
         
             
            		"columnPositionChanged",
         
     | 
| 
       25360 
25510 
     | 
    
         
             
            		"rowPositionChanged",
         
     | 
| 
       25361 
     | 
    
         
            -
            		"beforeColumnBoundUpdate"
         
     | 
| 
      
 25511 
     | 
    
         
            +
            		"beforeColumnBoundUpdate",
         
     | 
| 
      
 25512 
     | 
    
         
            +
            		"beforeBatchOperation",
         
     | 
| 
      
 25513 
     | 
    
         
            +
            		"afterBatchOperation"
         
     | 
| 
       25362 
25514 
     | 
    
         
             
            	);
         
     | 
| 
       25363 
25515 
     | 
    
         | 
| 
       25364 
25516 
     | 
    
         
             
            	// For debugging in advanced optimization mode
         
     | 
| 
         @@ -25433,6 +25585,15 @@ Core_Core.SectionReference; 
     | 
|
| 
       25433 
25585 
     | 
    
         
             
            */
         
     | 
| 
       25434 
25586 
     | 
    
         
             
            Core_Core.MouseInfo;
         
     | 
| 
       25435 
25587 
     | 
    
         | 
| 
      
 25588 
     | 
    
         
            +
            /** @typedef {Object} Core~BatchInfo
         
     | 
| 
      
 25589 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 25590 
     | 
    
         
            +
            * @property {string=} reset //set columns
         
     | 
| 
      
 25591 
     | 
    
         
            +
            * @property {string=} insertion //add cols
         
     | 
| 
      
 25592 
     | 
    
         
            +
            * @property {string=} removal //remove cols
         
     | 
| 
      
 25593 
     | 
    
         
            +
            * @property {string=} moving //reorder
         
     | 
| 
      
 25594 
     | 
    
         
            +
            */
         
     | 
| 
      
 25595 
     | 
    
         
            +
            Core_Core.BatchInfo;
         
     | 
| 
      
 25596 
     | 
    
         
            +
             
     | 
| 
       25436 
25597 
     | 
    
         
             
            /** @typedef {Core.MouseInfo|ElementWrapper|Element} Core~CellReference
         
     | 
| 
       25437 
25598 
     | 
    
         
             
            * @description A section in core grid can be refered by the following object <br>
         
     | 
| 
       25438 
25599 
     | 
    
         
             
            * `{Core.MouseInfo}` : Object with valid x, y coordinates and section index <br>
         
     | 
| 
         @@ -25687,6 +25848,10 @@ Core_Core.prototype._rowHeightTimerId = 0; 
     | 
|
| 
       25687 
25848 
     | 
    
         
             
            * @private
         
     | 
| 
       25688 
25849 
     | 
    
         
             
            */
         
     | 
| 
       25689 
25850 
     | 
    
         
             
            Core_Core.prototype._groupDefs = null;
         
     | 
| 
      
 25851 
     | 
    
         
            +
            /** @type {BatchInfo}
         
     | 
| 
      
 25852 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 25853 
     | 
    
         
            +
            */
         
     | 
| 
      
 25854 
     | 
    
         
            +
            Core_Core.prototype._batches = null;
         
     | 
| 
       25690 
25855 
     | 
    
         
             
            //#region Public Methods
         
     | 
| 
       25691 
25856 
     | 
    
         | 
| 
       25692 
25857 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -25694,7 +25859,7 @@ Core_Core.prototype._groupDefs = null; 
     | 
|
| 
       25694 
25859 
     | 
    
         
             
            * @return {string}
         
     | 
| 
       25695 
25860 
     | 
    
         
             
            */
         
     | 
| 
       25696 
25861 
     | 
    
         
             
            Core_Core.getVersion = function () {
         
     | 
| 
       25697 
     | 
    
         
            -
            	return "5.1. 
     | 
| 
      
 25862 
     | 
    
         
            +
            	return "5.1.50";
         
     | 
| 
       25698 
25863 
     | 
    
         
             
            };
         
     | 
| 
       25699 
25864 
     | 
    
         
             
            /** {@link ElementWrapper#dispose}
         
     | 
| 
       25700 
25865 
     | 
    
         
             
            * @override
         
     | 
| 
         @@ -26633,6 +26798,10 @@ Core_Core.prototype.removeColumnAt = function (index) { 
     | 
|
| 
       26633 
26798 
     | 
    
         | 
| 
       26634 
26799 
     | 
    
         
             
            	if (this._hasListener("columnRemoved")) {
         
     | 
| 
       26635 
26800 
     | 
    
         
             
            		var e = {};
         
     | 
| 
      
 26801 
     | 
    
         
            +
            		var batches = this._batches;
         
     | 
| 
      
 26802 
     | 
    
         
            +
            		if(batches){
         
     | 
| 
      
 26803 
     | 
    
         
            +
            			e["batches"] = batches;
         
     | 
| 
      
 26804 
     | 
    
         
            +
            		}
         
     | 
| 
       26636 
26805 
     | 
    
         
             
            		e["atTheMiddle"] = true;
         
     | 
| 
       26637 
26806 
     | 
    
         
             
            		e["colIndex"] = index;
         
     | 
| 
       26638 
26807 
     | 
    
         
             
            		e["columns"] = "deprecated";
         
     | 
| 
         @@ -26903,6 +27072,7 @@ Core_Core.prototype._moveColumn = function (fromCol, destCol) { 
     | 
|
| 
       26903 
27072 
     | 
    
         
             
            		}
         
     | 
| 
       26904 
27073 
     | 
    
         
             
            	}
         
     | 
| 
       26905 
27074 
     | 
    
         
             
            	this._updateColumnBounds();
         
     | 
| 
      
 27075 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       26906 
27076 
     | 
    
         
             
            	return true;
         
     | 
| 
       26907 
27077 
     | 
    
         
             
            };
         
     | 
| 
       26908 
27078 
     | 
    
         | 
| 
         @@ -27233,6 +27403,7 @@ Core_Core.prototype.setDefaultRowHeight = function (val, opt_includeTitle) { 
     | 
|
| 
       27233 
27403 
     | 
    
         
             
            		this._syncRowHeights();
         
     | 
| 
       27234 
27404 
     | 
    
         
             
            		this._rowHeightSync = true;
         
     | 
| 
       27235 
27405 
     | 
    
         
             
            		this.setRowScrollingStep(this._rowScrollingStep);
         
     | 
| 
      
 27406 
     | 
    
         
            +
            		this._updateColumnSeparators();
         
     | 
| 
       27236 
27407 
     | 
    
         
             
            	}
         
     | 
| 
       27237 
27408 
     | 
    
         
             
            };
         
     | 
| 
       27238 
27409 
     | 
    
         | 
| 
         @@ -28067,6 +28238,7 @@ Core_Core.prototype.freezeColumn = function (frozenColIndex, numRightColumn) { 
     | 
|
| 
       28067 
28238 
     | 
    
         | 
| 
       28068 
28239 
     | 
    
         
             
            	this._onColumnCountChanged(); // Activate horizontal scrollbar and column virtualization
         
     | 
| 
       28069 
28240 
     | 
    
         
             
            	this._updateScrollbarWidth(true, true);
         
     | 
| 
      
 28241 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       28070 
28242 
     | 
    
         
             
            };
         
     | 
| 
       28071 
28243 
     | 
    
         | 
| 
       28072 
28244 
     | 
    
         
             
            /** @private
         
     | 
| 
         @@ -29308,6 +29480,21 @@ Core_Core.prototype._updateColumnBounds = function () { 
     | 
|
| 
       29308 
29480 
     | 
    
         
             
            		section.updateColumnBounds(posAry, noBorderAry);
         
     | 
| 
       29309 
29481 
     | 
    
         
             
            	}
         
     | 
| 
       29310 
29482 
     | 
    
         
             
            };
         
     | 
| 
      
 29483 
     | 
    
         
            +
            /* @private
         
     | 
| 
      
 29484 
     | 
    
         
            +
            */
         
     | 
| 
      
 29485 
     | 
    
         
            +
            Core_Core.prototype._updateColumnSeparators = function() {
         
     | 
| 
      
 29486 
     | 
    
         
            +
            	var sectCount = this._settings.length;
         
     | 
| 
      
 29487 
     | 
    
         
            +
            	if(!sectCount) {
         
     | 
| 
      
 29488 
     | 
    
         
            +
            		return;
         
     | 
| 
      
 29489 
     | 
    
         
            +
            	}
         
     | 
| 
      
 29490 
     | 
    
         
            +
             
     | 
| 
      
 29491 
     | 
    
         
            +
            	for(var i = 0; i < sectCount; i++) {
         
     | 
| 
      
 29492 
     | 
    
         
            +
            		var section = this._settings[i].getSection();
         
     | 
| 
      
 29493 
     | 
    
         
            +
            		if (section) {
         
     | 
| 
      
 29494 
     | 
    
         
            +
            			section.updateColumnSeparators();
         
     | 
| 
      
 29495 
     | 
    
         
            +
            		}
         
     | 
| 
      
 29496 
     | 
    
         
            +
            	}
         
     | 
| 
      
 29497 
     | 
    
         
            +
            };
         
     | 
| 
       29311 
29498 
     | 
    
         | 
| 
       29312 
29499 
     | 
    
         
             
            /** @public
         
     | 
| 
       29313 
29500 
     | 
    
         
             
            * @param {number} startColIndex INCLUSIVE
         
     | 
| 
         @@ -29477,6 +29664,40 @@ Core_Core.prototype.getColumnGroupChildIds = function (groupId) { 
     | 
|
| 
       29477 
29664 
     | 
    
         
             
            	}
         
     | 
| 
       29478 
29665 
     | 
    
         
             
            	return null;
         
     | 
| 
       29479 
29666 
     | 
    
         
             
            };
         
     | 
| 
      
 29667 
     | 
    
         
            +
             
     | 
| 
      
 29668 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 29669 
     | 
    
         
            +
            * @param {string} batchType
         
     | 
| 
      
 29670 
     | 
    
         
            +
            * @return {boolean}
         
     | 
| 
      
 29671 
     | 
    
         
            +
            * @fires Core#beforeBatchOperation
         
     | 
| 
      
 29672 
     | 
    
         
            +
            */
         
     | 
| 
      
 29673 
     | 
    
         
            +
            Core_Core.prototype.startBatch = function (batchType) {
         
     | 
| 
      
 29674 
     | 
    
         
            +
            	if(!batchType){
         
     | 
| 
      
 29675 
     | 
    
         
            +
            		return false;
         
     | 
| 
      
 29676 
     | 
    
         
            +
            	}
         
     | 
| 
      
 29677 
     | 
    
         
            +
            	if(!this._batches){
         
     | 
| 
      
 29678 
     | 
    
         
            +
            		this._batches = {};
         
     | 
| 
      
 29679 
     | 
    
         
            +
            	}
         
     | 
| 
      
 29680 
     | 
    
         
            +
            	this._batches[batchType] = batchType;
         
     | 
| 
      
 29681 
     | 
    
         
            +
            	this._dispatch("beforeBatchOperation", { batches: this._batches, batchType: batchType });
         
     | 
| 
      
 29682 
     | 
    
         
            +
            	return true;
         
     | 
| 
      
 29683 
     | 
    
         
            +
            };
         
     | 
| 
      
 29684 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 29685 
     | 
    
         
            +
            * @param {string} batchType
         
     | 
| 
      
 29686 
     | 
    
         
            +
            * @return {boolean}
         
     | 
| 
      
 29687 
     | 
    
         
            +
            * @fires Core#afterBatchOperation
         
     | 
| 
      
 29688 
     | 
    
         
            +
            */
         
     | 
| 
      
 29689 
     | 
    
         
            +
            Core_Core.prototype.stopBatch = function (batchType) {
         
     | 
| 
      
 29690 
     | 
    
         
            +
            	if(!batchType){
         
     | 
| 
      
 29691 
     | 
    
         
            +
            		return false;
         
     | 
| 
      
 29692 
     | 
    
         
            +
            	}
         
     | 
| 
      
 29693 
     | 
    
         
            +
            	this._dispatch("afterBatchOperation", { batches: this._batches, batchType: batchType });
         
     | 
| 
      
 29694 
     | 
    
         
            +
             
     | 
| 
      
 29695 
     | 
    
         
            +
            	delete this._batches[batchType];
         
     | 
| 
      
 29696 
     | 
    
         
            +
            	if((0,es6_Util/* isEmptyObject */.Qr)(this._batches)){
         
     | 
| 
      
 29697 
     | 
    
         
            +
            		this._batches = null;
         
     | 
| 
      
 29698 
     | 
    
         
            +
            	}
         
     | 
| 
      
 29699 
     | 
    
         
            +
            	return true;
         
     | 
| 
      
 29700 
     | 
    
         
            +
            };
         
     | 
| 
       29480 
29701 
     | 
    
         
             
            //#endregion Public Methods
         
     | 
| 
       29481 
29702 
     | 
    
         | 
| 
       29482 
29703 
     | 
    
         
             
            //#region Private Methods
         
     | 
| 
         @@ -29720,6 +29941,10 @@ Core_Core.prototype._dispatchColumnAddedEvent = function (at, count, atTheMiddle 
     | 
|
| 
       29720 
29941 
     | 
    
         
             
            	if (this._hasListener("columnAdded")) {
         
     | 
| 
       29721 
29942 
     | 
    
         
             
            		var e = {};
         
     | 
| 
       29722 
29943 
     | 
    
         
             
            		e["atTheMiddle"] = atTheMiddle;
         
     | 
| 
      
 29944 
     | 
    
         
            +
            		var batches = this._batches;
         
     | 
| 
      
 29945 
     | 
    
         
            +
            		if(batches){
         
     | 
| 
      
 29946 
     | 
    
         
            +
            			e["batches"] = batches;
         
     | 
| 
      
 29947 
     | 
    
         
            +
            		}
         
     | 
| 
       29723 
29948 
     | 
    
         
             
            		if(count === 1) {
         
     | 
| 
       29724 
29949 
     | 
    
         
             
            			e["colIndex"] = at;
         
     | 
| 
       29725 
29950 
     | 
    
         
             
            			e["context"] = ctx;
         
     | 
| 
         @@ -29871,6 +30096,10 @@ Core_Core.prototype._removeColumn = function (num) {  // TODO: change the logic 
     | 
|
| 
       29871 
30096 
     | 
    
         | 
| 
       29872 
30097 
     | 
    
         
             
            	if (this._hasListener("columnRemoved")) {
         
     | 
| 
       29873 
30098 
     | 
    
         
             
            		var e = {};
         
     | 
| 
      
 30099 
     | 
    
         
            +
            		var batches = this._batches;
         
     | 
| 
      
 30100 
     | 
    
         
            +
            		if(batches){
         
     | 
| 
      
 30101 
     | 
    
         
            +
            			e["batches"] = batches;
         
     | 
| 
      
 30102 
     | 
    
         
            +
            		}
         
     | 
| 
       29874 
30103 
     | 
    
         
             
            		for (var c = colCount; --c >= newCount; ) {
         
     | 
| 
       29875 
30104 
     | 
    
         
             
            			var colDef = removedCols[c - newCount];
         
     | 
| 
       29876 
30105 
     | 
    
         
             
            			e["colIndex"] = c;
         
     | 
| 
         @@ -30335,6 +30564,8 @@ Core_Core.prototype._onRowCountChanged = function (e) { 
     | 
|
| 
       30335 
30564 
     | 
    
         
             
            	if(!forceUpdate) {
         
     | 
| 
       30336 
30565 
     | 
    
         
             
            		this._updateVScrollbar(); // Asynchronous
         
     | 
| 
       30337 
30566 
     | 
    
         
             
            	}
         
     | 
| 
      
 30567 
     | 
    
         
            +
             
     | 
| 
      
 30568 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       30338 
30569 
     | 
    
         
             
            	if(prevRowCount < newRowCount) {
         
     | 
| 
       30339 
30570 
     | 
    
         
             
            		this._dispatch("rowAdded", e);
         
     | 
| 
       30340 
30571 
     | 
    
         
             
            	} else if(prevRowCount > newRowCount) {
         
     | 
| 
         @@ -30392,7 +30623,7 @@ Core_Core.prototype._onRowHeightChanged = function (e) { 
     | 
|
| 
       30392 
30623 
     | 
    
         
             
            				minSectionIndex >= this._startVScrollbarIndex);
         
     | 
| 
       30393 
30624 
     | 
    
         
             
            		}
         
     | 
| 
       30394 
30625 
     | 
    
         
             
            	}
         
     | 
| 
       30395 
     | 
    
         
            -
             
     | 
| 
      
 30626 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       30396 
30627 
     | 
    
         
             
            	this._dispatchRowPositionChanged();
         
     | 
| 
       30397 
30628 
     | 
    
         
             
            };
         
     | 
| 
       30398 
30629 
     | 
    
         
             
            /** @private
         
     | 
| 
         @@ -30457,6 +30688,7 @@ Core_Core.prototype._onColumnCountChanged = function () { 
     | 
|
| 
       30457 
30688 
     | 
    
         
             
            	var pinnedRight = this._countPinnedRightColumns();
         
     | 
| 
       30458 
30689 
     | 
    
         | 
| 
       30459 
30690 
     | 
    
         
             
            	this._updateColumnBounds();
         
     | 
| 
      
 30691 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       30460 
30692 
     | 
    
         | 
| 
       30461 
30693 
     | 
    
         
             
            	if (this._hScrollbarEnabled && pinnedLeft + pinnedRight < this.getColumnCount()) {
         
     | 
| 
       30462 
30694 
     | 
    
         
             
            		this._hscrollbar.enable();
         
     | 
| 
         @@ -30738,6 +30970,7 @@ Core_Core.prototype._syncLayoutToColumns = function (from, to, opt_forceDispatch 
     | 
|
| 
       30738 
30970 
     | 
    
         
             
            	var paneChanged = forceUpdate || (from < this.getHScrollStartIndex()) || (to > this.getFirstPinnedRightIndex());
         
     | 
| 
       30739 
30971 
     | 
    
         
             
            	this._updateScrollbarWidth(paneChanged, true /* contentChanged */);
         
     | 
| 
       30740 
30972 
     | 
    
         
             
            	this._updateColumnBounds();
         
     | 
| 
      
 30973 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       30741 
30974 
     | 
    
         
             
            	this._dispatchColumnPositionChanged();
         
     | 
| 
       30742 
30975 
     | 
    
         | 
| 
       30743 
30976 
     | 
    
         
             
            	if (dirty || opt_forceDispatching) {
         
     | 
| 
         @@ -30833,6 +31066,7 @@ Core_Core.prototype._updateLayout = function () { 
     | 
|
| 
       30833 
31066 
     | 
    
         
             
            		var section = this._settings[s].getSection();
         
     | 
| 
       30834 
31067 
     | 
    
         
             
            		section.updateLayout(); // Notify section about forced recalculation of the layout
         
     | 
| 
       30835 
31068 
     | 
    
         
             
            	}
         
     | 
| 
      
 31069 
     | 
    
         
            +
            	this._updateColumnSeparators();
         
     | 
| 
       30836 
31070 
     | 
    
         
             
            };
         
     | 
| 
       30837 
31071 
     | 
    
         | 
| 
       30838 
31072 
     | 
    
         
             
            /** @private */
         
     | 
| 
         @@ -32395,6 +32629,9 @@ SortableTitlePlugin.prototype._sortDataView = function (opt_action) { 
     | 
|
| 
       32395 
32629 
     | 
    
         
             
            	if (!this._dataSorting) { return; }
         
     | 
| 
       32396 
32630 
     | 
    
         | 
| 
       32397 
32631 
     | 
    
         
             
            	var sortCount = this._sortStates.length;
         
     | 
| 
      
 32632 
     | 
    
         
            +
            	if(this._userManagedLogic && sortCount > 1) { // The logic is managed by the user. There is no point in using multi-column sorting
         
     | 
| 
      
 32633 
     | 
    
         
            +
            		sortCount = 1;
         
     | 
| 
      
 32634 
     | 
    
         
            +
            	}
         
     | 
| 
       32398 
32635 
     | 
    
         
             
            	var orders = null;
         
     | 
| 
       32399 
32636 
     | 
    
         
             
            	var sortLogics = null;
         
     | 
| 
       32400 
32637 
     | 
    
         
             
            	var c_ref = null;
         
     | 
| 
         @@ -32410,6 +32647,9 @@ SortableTitlePlugin.prototype._sortDataView = function (opt_action) { 
     | 
|
| 
       32410 
32647 
     | 
    
         
             
            		} else {
         
     | 
| 
       32411 
32648 
     | 
    
         
             
            			c_ref = this.getColumnSortingFields();
         
     | 
| 
       32412 
32649 
     | 
    
         
             
            		}
         
     | 
| 
      
 32650 
     | 
    
         
            +
            		if(this._userManagedLogic && c_ref.length > 1) {
         
     | 
| 
      
 32651 
     | 
    
         
            +
            			c_ref = c_ref.slice(0, 1);
         
     | 
| 
      
 32652 
     | 
    
         
            +
            		}
         
     | 
| 
       32413 
32653 
     | 
    
         
             
            	}
         
     | 
| 
       32414 
32654 
     | 
    
         | 
| 
       32415 
32655 
     | 
    
         
             
            	// Perform sorting even if there is no sort state
         
     |