@refinitiv-ui/efx-grid 6.0.106 → 6.0.108
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/core/dist/core.js +162 -59
 - package/lib/core/dist/core.min.js +1 -1
 - package/lib/core/es6/grid/Core.d.ts +2 -2
 - package/lib/core/es6/grid/Core.js +156 -55
 - package/lib/core/es6/grid/ILayoutGrid.js +1 -1
 - package/lib/core/es6/grid/components/Scrollbar.js +5 -3
 - package/lib/filter-dialog/lib/filter-dialog.d.ts +2 -0
 - package/lib/filter-dialog/lib/filter-dialog.js +23 -1
 - package/lib/filter-dialog/themes/base-checkbox.less +1 -2
 - package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
 - package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
 - package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
 - package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
 - package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
 - package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
 - package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
 - package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
 - package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
 - package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
 - package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
 - package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
 - package/lib/formatters/es6/index.d.ts +22 -1
 - package/lib/formatters/es6/index.js +22 -1
 - package/lib/grid/index.js +1 -1
 - package/lib/rt-grid/dist/rt-grid.js +13 -12
 - package/lib/rt-grid/dist/rt-grid.min.js +1 -1
 - package/lib/rt-grid/es6/FieldDefinition.js +1 -1
 - package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +1452 -1304
 - package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +128 -89
 - package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
 - package/lib/tr-grid-row-filtering/es6/RowFiltering.js +14 -0
 - package/lib/tr-grid-util/es6/GroupDefinitions.js +3 -3
 - package/lib/types/es6/Core/grid/Core.d.ts +2 -2
 - package/lib/types/es6/RowFiltering.d.ts +2 -0
 - package/lib/types/es6/SimpleTickerFormatter.d.ts +0 -2
 - package/lib/versions.json +6 -6
 - package/package.json +1 -1
 
    
        package/lib/core/dist/core.js
    CHANGED
    
    | 
         @@ -3783,7 +3783,7 @@ ILayoutGrid.prototype.setRowOffset = function (index) { }; 
     | 
|
| 
       3783 
3783 
     | 
    
         
             
            ILayoutGrid.prototype.updateLayout = function () { };
         
     | 
| 
       3784 
3784 
     | 
    
         | 
| 
       3785 
3785 
     | 
    
         
             
            /** This will make the specified cell horizontally span to fit entire row regardless of position of the cell -- cell will shift to the left most of the section.<br>
         
     | 
| 
       3786 
     | 
    
         
            -
            * If  
     | 
| 
      
 3786 
     | 
    
         
            +
            * If onlyToTheRight is true, the cell will not extend to the left most position<br>
         
     | 
| 
       3787 
3787 
     | 
    
         
             
            * This is different from cell colSpan, which the cell remain in the same position. tr-stretched class will also be added to the cell
         
     | 
| 
       3788 
3788 
     | 
    
         
             
            * @public
         
     | 
| 
       3789 
3789 
     | 
    
         
             
            * @param {number|Cell} cellRef Either column index or cell reference is acceptable
         
     | 
| 
         @@ -6391,7 +6391,6 @@ Scrollbar.updateTrackThickness = function () { 
     | 
|
| 
       6391 
6391 
     | 
    
         | 
| 
       6392 
6392 
     | 
    
         
             
            /** @override */
         
     | 
| 
       6393 
6393 
     | 
    
         
             
            Scrollbar.prototype.dispose = function () {
         
     | 
| 
       6394 
     | 
    
         
            -
             
     | 
| 
       6395 
6394 
     | 
    
         
             
            	let sbListeners = Scrollbar._listeners;
         
     | 
| 
       6396 
6395 
     | 
    
         
             
            	if(sbListeners) {
         
     | 
| 
       6397 
6396 
     | 
    
         
             
            		let idx = sbListeners.indexOf(this._onThicknessChanged);
         
     | 
| 
         @@ -6855,7 +6854,7 @@ Scrollbar.prototype._clearAllPanes = function() { 
     | 
|
| 
       6855 
6854 
     | 
    
         
             
            */
         
     | 
| 
       6856 
6855 
     | 
    
         
             
            Scrollbar.prototype.disableKeyboardInput = function (opt_disabled) {
         
     | 
| 
       6857 
6856 
     | 
    
         
             
            	if(opt_disabled === false) {
         
     | 
| 
       6858 
     | 
    
         
            -
            		this._element.setAttribute("tabindex", " 
     | 
| 
      
 6857 
     | 
    
         
            +
            		this._element.setAttribute("tabindex", "-1"); // tabindex makes the element focusable. The negative value exclude it from tab key navigation
         
     | 
| 
       6859 
6858 
     | 
    
         
             
            		this._element.addEventListener("keydown", this._onKeyDown, false);
         
     | 
| 
       6860 
6859 
     | 
    
         
             
            	} else {
         
     | 
| 
       6861 
6860 
     | 
    
         
             
            		this._element.removeAttribute("tabindex");
         
     | 
| 
         @@ -7050,8 +7049,11 @@ Scrollbar.prototype._onStartFading = function (e) { 
     | 
|
| 
       7050 
7049 
     | 
    
         
             
            * @param {Object} e
         
     | 
| 
       7051 
7050 
     | 
    
         
             
            */
         
     | 
| 
       7052 
7051 
     | 
    
         
             
            Scrollbar.prototype._onTrackScroll = function (e) {
         
     | 
| 
       7053 
     | 
    
         
            -
            	 
     | 
| 
      
 7052 
     | 
    
         
            +
            	if(!this._element) {
         
     | 
| 
      
 7053 
     | 
    
         
            +
            		return; // Element has been disposed
         
     | 
| 
      
 7054 
     | 
    
         
            +
            	}
         
     | 
| 
       7054 
7055 
     | 
    
         | 
| 
      
 7056 
     | 
    
         
            +
            	let tScrollVal = (this._vertical) ? e.target["scrollTop"] : e.target["scrollLeft"];
         
     | 
| 
       7055 
7057 
     | 
    
         
             
            	let pScrollVal = this._convertTrackToPane(tScrollVal);
         
     | 
| 
       7056 
7058 
     | 
    
         | 
| 
       7057 
7059 
     | 
    
         
             
            	pScrollVal = this._calcProperScrollValue(pScrollVal);
         
     | 
| 
         @@ -25140,6 +25142,9 @@ VirtualizedLayoutGrid._proto = VirtualizedLayoutGrid.prototype; 
     | 
|
| 
       25140 
25142 
     | 
    
         
             
            /** @event Core#preForcedUpdate
         
     | 
| 
       25141 
25143 
     | 
    
         
             
            * @ignore
         
     | 
| 
       25142 
25144 
     | 
    
         
             
            */
         
     | 
| 
      
 25145 
     | 
    
         
            +
            /** @event Core#tabNavigation
         
     | 
| 
      
 25146 
     | 
    
         
            +
            * @ignore
         
     | 
| 
      
 25147 
     | 
    
         
            +
            */
         
     | 
| 
       25143 
25148 
     | 
    
         
             
            //#endregion Events
         
     | 
| 
       25144 
25149 
     | 
    
         | 
| 
       25145 
25150 
     | 
    
         
             
            /** @private
         
     | 
| 
         @@ -25150,6 +25155,44 @@ VirtualizedLayoutGrid._proto = VirtualizedLayoutGrid.prototype; 
     | 
|
| 
       25150 
25155 
     | 
    
         
             
            let ascNumberSorter = function (a, b) {
         
     | 
| 
       25151 
25156 
     | 
    
         
             
            	return a - b;
         
     | 
| 
       25152 
25157 
     | 
    
         
             
            };
         
     | 
| 
      
 25158 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 25159 
     | 
    
         
            +
            * @return {!Element}
         
     | 
| 
      
 25160 
     | 
    
         
            +
            */
         
     | 
| 
      
 25161 
     | 
    
         
            +
            let _createHiddenInput = function () {
         
     | 
| 
      
 25162 
     | 
    
         
            +
            	let hiddenInput = document.createElement("input");
         
     | 
| 
      
 25163 
     | 
    
         
            +
            	let styleObj = hiddenInput.style;
         
     | 
| 
      
 25164 
     | 
    
         
            +
            	styleObj.position = "absolute";
         
     | 
| 
      
 25165 
     | 
    
         
            +
            	styleObj.width = styleObj.height = styleObj.padding = styleObj.border = "0";
         
     | 
| 
      
 25166 
     | 
    
         
            +
            	hiddenInput.value = "0";
         
     | 
| 
      
 25167 
     | 
    
         
            +
            	return hiddenInput;
         
     | 
| 
      
 25168 
     | 
    
         
            +
            };
         
     | 
| 
      
 25169 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 25170 
     | 
    
         
            +
            * @param {Object} e
         
     | 
| 
      
 25171 
     | 
    
         
            +
            * @return {boolean}
         
     | 
| 
      
 25172 
     | 
    
         
            +
            */
         
     | 
| 
      
 25173 
     | 
    
         
            +
            let _isTabCommand = function (e) {
         
     | 
| 
      
 25174 
     | 
    
         
            +
            	if(e.keyCode === 9) {
         
     | 
| 
      
 25175 
     | 
    
         
            +
            		return !e.ctrlKey && !e.altKey && !e.metaKey;
         
     | 
| 
      
 25176 
     | 
    
         
            +
            	}
         
     | 
| 
      
 25177 
     | 
    
         
            +
            	return false;
         
     | 
| 
      
 25178 
     | 
    
         
            +
            };
         
     | 
| 
      
 25179 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 25180 
     | 
    
         
            +
            * @param {Element} elem
         
     | 
| 
      
 25181 
     | 
    
         
            +
            * @return {Element}
         
     | 
| 
      
 25182 
     | 
    
         
            +
            */
         
     | 
| 
      
 25183 
     | 
    
         
            +
            let _getActiveElement = function (elem) {
         
     | 
| 
      
 25184 
     | 
    
         
            +
            	if(elem) {
         
     | 
| 
      
 25185 
     | 
    
         
            +
            		if(elem.getRootNode) {
         
     | 
| 
      
 25186 
     | 
    
         
            +
            			let rootNode = elem.getRootNode(); // Get uncomposed root node
         
     | 
| 
      
 25187 
     | 
    
         
            +
            			if(rootNode && rootNode !== elem) { // The root node could be the element itself, if it is not attached to the DOM tree
         
     | 
| 
      
 25188 
     | 
    
         
            +
            				return rootNode.activeElement || null;
         
     | 
| 
      
 25189 
     | 
    
         
            +
            			}
         
     | 
| 
      
 25190 
     | 
    
         
            +
            		} else { // Older browser does not support getRootNode
         
     | 
| 
      
 25191 
     | 
    
         
            +
            			return document.activeElement;
         
     | 
| 
      
 25192 
     | 
    
         
            +
            		}
         
     | 
| 
      
 25193 
     | 
    
         
            +
            	}
         
     | 
| 
      
 25194 
     | 
    
         
            +
            	return null;
         
     | 
| 
      
 25195 
     | 
    
         
            +
            };
         
     | 
| 
       25153 
25196 
     | 
    
         | 
| 
       25154 
25197 
     | 
    
         
             
            /** @constructor
         
     | 
| 
       25155 
25198 
     | 
    
         
             
            * @param {Element=} opt_initializer this can be either element id (string) or DOM element.
         
     | 
| 
         @@ -25173,6 +25216,8 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25173 
25216 
     | 
    
         
             
            	_t._onMouseMove = _t._onMouseMove.bind(_t);
         
     | 
| 
       25174 
25217 
     | 
    
         
             
            	_t._onRowHightlighted = _t._onRowHightlighted.bind(_t);
         
     | 
| 
       25175 
25218 
     | 
    
         
             
            	_t._onGridClicked = _t._onGridClicked.bind(_t);
         
     | 
| 
      
 25219 
     | 
    
         
            +
            	_t._onKeyDown = _t._onKeyDown.bind(_t);
         
     | 
| 
      
 25220 
     | 
    
         
            +
            	_t._onKeyUp = _t._onKeyUp.bind(_t);
         
     | 
| 
       25176 
25221 
     | 
    
         | 
| 
       25177 
25222 
     | 
    
         
             
            	_t._onWindowResize = _t._onWindowResize.bind(_t);
         
     | 
| 
       25178 
25223 
     | 
    
         
             
            	_t._onSectionDataChanged = _t._onSectionDataChanged.bind(_t);
         
     | 
| 
         @@ -25193,7 +25238,7 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25193 
25238 
     | 
    
         
             
            	_t._onColInViewChanged =  _t._onColInViewChanged.bind(_t);
         
     | 
| 
       25194 
25239 
     | 
    
         | 
| 
       25195 
25240 
     | 
    
         
             
            	_t._updateVScrollbar = _t._updateVScrollbar.bind(_t);
         
     | 
| 
       25196 
     | 
    
         
            -
            	_t. 
     | 
| 
      
 25241 
     | 
    
         
            +
            	_t.updateColumnBounds = _t.updateColumnBounds.bind(_t);
         
     | 
| 
       25197 
25242 
     | 
    
         
             
            	_t._dispatchColumnPositionChanged = _t._dispatchColumnPositionChanged.bind(_t);
         
     | 
| 
       25198 
25243 
     | 
    
         
             
            	_t._dispatchRowPositionChanged = _t._dispatchRowPositionChanged.bind(_t);
         
     | 
| 
       25199 
25244 
     | 
    
         
             
            	_t._requestScrollbarUpdate = _t._requestScrollbarUpdate.bind(_t);
         
     | 
| 
         @@ -25234,7 +25279,7 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25234 
25279 
     | 
    
         
             
            	// Initialize vertical scrollbar
         
     | 
| 
       25235 
25280 
     | 
    
         
             
            	_t._vscrollbar = new components_VScrollbar();
         
     | 
| 
       25236 
25281 
     | 
    
         
             
            	_t._vscrollbar.disable();
         
     | 
| 
       25237 
     | 
    
         
            -
            	_t._vscrollbar.setParent( 
     | 
| 
      
 25282 
     | 
    
         
            +
            	_t._vscrollbar.setParent(_t.getParent() || _t.getElement());
         
     | 
| 
       25238 
25283 
     | 
    
         | 
| 
       25239 
25284 
     | 
    
         
             
            	_t._vscrollbar.listen("scroll", _t._onVScroll);
         
     | 
| 
       25240 
25285 
     | 
    
         
             
            	_t._vscrollbar.listen("layoutChanged", _t._onVScroll);
         
     | 
| 
         @@ -25247,25 +25292,28 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25247 
25292 
     | 
    
         
             
            	// Initialize horizontal scrollbars
         
     | 
| 
       25248 
25293 
     | 
    
         
             
            	_t._hscrollbar = new components_HScrollbar();
         
     | 
| 
       25249 
25294 
     | 
    
         
             
            	_t._hscrollbar.disable();
         
     | 
| 
       25250 
     | 
    
         
            -
            	_t._hscrollbar.setParent( 
     | 
| 
      
 25295 
     | 
    
         
            +
            	_t._hscrollbar.setParent(_t.getParent() || _t.getElement());
         
     | 
| 
       25251 
25296 
     | 
    
         | 
| 
       25252 
     | 
    
         
            -
            	_t._hscrollbar.listen("scroll",  
     | 
| 
       25253 
     | 
    
         
            -
            	_t._hscrollbar.listen("layoutChanged",  
     | 
| 
       25254 
     | 
    
         
            -
            	_t._hscrollbar.listen("activated",  
     | 
| 
       25255 
     | 
    
         
            -
            	_t._hscrollbar.listen("deactivated",  
     | 
| 
      
 25297 
     | 
    
         
            +
            	_t._hscrollbar.listen("scroll", _t._onHScroll);
         
     | 
| 
      
 25298 
     | 
    
         
            +
            	_t._hscrollbar.listen("layoutChanged", _t._onHScroll);
         
     | 
| 
      
 25299 
     | 
    
         
            +
            	_t._hscrollbar.listen("activated", _t.updateLayout);
         
     | 
| 
      
 25300 
     | 
    
         
            +
            	_t._hscrollbar.listen("deactivated", _t.updateLayout);
         
     | 
| 
       25256 
25301 
     | 
    
         | 
| 
       25257 
25302 
     | 
    
         
             
            	// cross-reference scrollbars
         
     | 
| 
       25258 
25303 
     | 
    
         
             
            	_t._hscrollbar.setOtherScrollbar(_t._vscrollbar);
         
     | 
| 
       25259 
25304 
     | 
    
         
             
            	_t._vscrollbar.setOtherScrollbar(_t._hscrollbar);
         
     | 
| 
       25260 
25305 
     | 
    
         | 
| 
      
 25306 
     | 
    
         
            +
             
     | 
| 
      
 25307 
     | 
    
         
            +
            	_t._element.addEventListener("keydown", _t._onKeyDown);
         
     | 
| 
      
 25308 
     | 
    
         
            +
            	_t._element.addEventListener("keyup", _t._onKeyUp);
         
     | 
| 
       25261 
25309 
     | 
    
         
             
            	if (util.isMobile || util.isTouchDevice) {
         
     | 
| 
       25262 
     | 
    
         
            -
            		_t._element.addEventListener("touchmove",  
     | 
| 
      
 25310 
     | 
    
         
            +
            		_t._element.addEventListener("touchmove", _t._onMouseMove, false);
         
     | 
| 
       25263 
25311 
     | 
    
         
             
            	} else {
         
     | 
| 
       25264 
     | 
    
         
            -
            		_t._element.addEventListener("mousemove",  
     | 
| 
      
 25312 
     | 
    
         
            +
            		_t._element.addEventListener("mousemove", _t._onMouseMove, false);
         
     | 
| 
       25265 
25313 
     | 
    
         
             
            	}
         
     | 
| 
       25266 
25314 
     | 
    
         | 
| 
       25267 
25315 
     | 
    
         
             
            	if(util.isSafari){
         
     | 
| 
       25268 
     | 
    
         
            -
            		_t._element.addEventListener("click",  
     | 
| 
      
 25316 
     | 
    
         
            +
            		_t._element.addEventListener("click", _t._onGridClicked);
         
     | 
| 
       25269 
25317 
     | 
    
         
             
            	}
         
     | 
| 
       25270 
25318 
     | 
    
         | 
| 
       25271 
25319 
     | 
    
         
             
            	window.addEventListener("resize", _t._onWindowResize, false); // Should be unlistened after destroyed
         
     | 
| 
         @@ -25273,10 +25321,17 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25273 
25321 
     | 
    
         
             
            	_t._colVirtualizer.listen("indexChanged", _t._onColInViewChanged);
         
     | 
| 
       25274 
25322 
     | 
    
         
             
            	_t._rowHeightConflator = new util_Conflator(_t._onRowHeightChanged, 50);
         
     | 
| 
       25275 
25323 
     | 
    
         
             
            	_t._vScrollbarConflator = new util_Conflator(_t._updateVScrollbar, 200);
         
     | 
| 
       25276 
     | 
    
         
            -
            	_t._columnBoundConflator = new util_Conflator(_t. 
     | 
| 
      
 25324 
     | 
    
         
            +
            	_t._columnBoundConflator = new util_Conflator(_t.updateColumnBounds, 10);
         
     | 
| 
       25277 
25325 
     | 
    
         
             
            	_t._columnPositionConflator = new util_Conflator(_t._dispatchColumnPositionChanged, 10);
         
     | 
| 
       25278 
25326 
     | 
    
         
             
            	_t._rowPositionConflator = new util_Conflator(_t._dispatchRowPositionChanged, 10);
         
     | 
| 
       25279 
25327 
     | 
    
         | 
| 
      
 25328 
     | 
    
         
            +
            	_t._firstHiddenInput = _createHiddenInput();
         
     | 
| 
      
 25329 
     | 
    
         
            +
            	_t._firstHiddenInput.className = "first-input";
         
     | 
| 
      
 25330 
     | 
    
         
            +
            	_t._lastHiddenInput = _createHiddenInput();
         
     | 
| 
      
 25331 
     | 
    
         
            +
            	_t._lastHiddenInput.className = "last-input";
         
     | 
| 
      
 25332 
     | 
    
         
            +
            	_t._element.insertBefore(_t._firstHiddenInput, _t._element.firstChild);
         
     | 
| 
      
 25333 
     | 
    
         
            +
            	_t._element.appendChild(_t._lastHiddenInput);
         
     | 
| 
      
 25334 
     | 
    
         
            +
             
     | 
| 
       25280 
25335 
     | 
    
         
             
            	// Initialize events for external users
         
     | 
| 
       25281 
25336 
     | 
    
         
             
            	_t._addEvents(
         
     | 
| 
       25282 
25337 
     | 
    
         
             
            		"sectionAdded",
         
     | 
| 
         @@ -25305,7 +25360,8 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25305 
25360 
     | 
    
         
             
            		"beforeColumnBoundUpdate",
         
     | 
| 
       25306 
25361 
     | 
    
         
             
            		"beforeBatchOperation",
         
     | 
| 
       25307 
25362 
     | 
    
         
             
            		"afterBatchOperation",
         
     | 
| 
       25308 
     | 
    
         
            -
            		"pinningChanged"
         
     | 
| 
      
 25363 
     | 
    
         
            +
            		"pinningChanged",
         
     | 
| 
      
 25364 
     | 
    
         
            +
            		"tabNavigation"
         
     | 
| 
       25309 
25365 
     | 
    
         
             
            	);
         
     | 
| 
       25310 
25366 
     | 
    
         | 
| 
       25311 
25367 
     | 
    
         
             
            	// For debugging in advanced optimization mode
         
     | 
| 
         @@ -25314,9 +25370,9 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25314 
25370 
     | 
    
         
             
            		map = {};
         
     | 
| 
       25315 
25371 
     | 
    
         
             
            		Core_Core["map"] = map;
         
     | 
| 
       25316 
25372 
     | 
    
         
             
            	}
         
     | 
| 
       25317 
     | 
    
         
            -
             
     | 
| 
       25318 
     | 
    
         
            -
            	 
     | 
| 
       25319 
     | 
    
         
            -
            	let id =  
     | 
| 
      
 25373 
     | 
    
         
            +
             
     | 
| 
      
 25374 
     | 
    
         
            +
            	_t._element["_control"] = _t;
         
     | 
| 
      
 25375 
     | 
    
         
            +
            	let id = _t._element.id || _t._element.name;
         
     | 
| 
       25320 
25376 
     | 
    
         
             
            	if(!id || map[id]) {
         
     | 
| 
       25321 
25377 
     | 
    
         
             
            		id = "_grid" + Core_Core._runningGridId;
         
     | 
| 
       25322 
25378 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -25324,17 +25380,6 @@ let Core_Core = function (opt_initializer) { 
     | 
|
| 
       25324 
25380 
     | 
    
         
             
            	map[id] = _t;
         
     | 
| 
       25325 
25381 
     | 
    
         
             
            	Core_Core._runningGridId++;
         
     | 
| 
       25326 
25382 
     | 
    
         | 
| 
       25327 
     | 
    
         
            -
            	// init hiddenInput for retrieve copy and cut event
         
     | 
| 
       25328 
     | 
    
         
            -
            	let hiddenInput = document.createElement("input");
         
     | 
| 
       25329 
     | 
    
         
            -
            	hiddenInput.style.position = "absolute";
         
     | 
| 
       25330 
     | 
    
         
            -
            	hiddenInput.style.width = "0";
         
     | 
| 
       25331 
     | 
    
         
            -
            	hiddenInput.style.height = "0";
         
     | 
| 
       25332 
     | 
    
         
            -
            	hiddenInput.style.padding = "0";
         
     | 
| 
       25333 
     | 
    
         
            -
            	hiddenInput.style.border = "0";
         
     | 
| 
       25334 
     | 
    
         
            -
            	hiddenInput.value = "0";
         
     | 
| 
       25335 
     | 
    
         
            -
            	_t._hiddenInput = hiddenInput;
         
     | 
| 
       25336 
     | 
    
         
            -
            	elem.insertBefore(hiddenInput, elem.firstChild);
         
     | 
| 
       25337 
     | 
    
         
            -
             
     | 
| 
       25338 
25383 
     | 
    
         
             
            	// Ensure all affected plugins are loaded prior zoom plugin
         
     | 
| 
       25339 
25384 
     | 
    
         
             
            	// use as entity to trigger updateLayout once zoom is changed
         
     | 
| 
       25340 
25385 
     | 
    
         
             
            	Object.defineProperty(_t, "zoomFactor", {
         
     | 
| 
         @@ -25614,11 +25659,16 @@ Core_Core.prototype._rowRefreshTimer = 0; 
     | 
|
| 
       25614 
25659 
     | 
    
         
             
            * @private
         
     | 
| 
       25615 
25660 
     | 
    
         
             
            */
         
     | 
| 
       25616 
25661 
     | 
    
         
             
            Core_Core.prototype._layoutUpdating = false;
         
     | 
| 
       25617 
     | 
    
         
            -
            /** A  
     | 
| 
       25618 
     | 
    
         
            -
            * @type {Element}
         
     | 
| 
      
 25662 
     | 
    
         
            +
            /** A hidden input that allows grid to receive keyboard input and focus
         
     | 
| 
      
 25663 
     | 
    
         
            +
            * @type {!Element}
         
     | 
| 
       25619 
25664 
     | 
    
         
             
            * @private
         
     | 
| 
       25620 
25665 
     | 
    
         
             
            */
         
     | 
| 
       25621 
     | 
    
         
            -
            Core_Core.prototype. 
     | 
| 
      
 25666 
     | 
    
         
            +
            Core_Core.prototype._firstHiddenInput;
         
     | 
| 
      
 25667 
     | 
    
         
            +
            /** A hidden input that allows grid to receive keyboard input and focus
         
     | 
| 
      
 25668 
     | 
    
         
            +
            * @type {!Element}
         
     | 
| 
      
 25669 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 25670 
     | 
    
         
            +
            */
         
     | 
| 
      
 25671 
     | 
    
         
            +
            Core_Core.prototype._lastHiddenInput;
         
     | 
| 
       25622 
25672 
     | 
    
         
             
            /** @type {number}
         
     | 
| 
       25623 
25673 
     | 
    
         
             
            * @private
         
     | 
| 
       25624 
25674 
     | 
    
         
             
            */
         
     | 
| 
         @@ -25662,7 +25712,7 @@ Core_Core.prototype._hasPendingRowChange = false; 
     | 
|
| 
       25662 
25712 
     | 
    
         
             
            * @return {string}
         
     | 
| 
       25663 
25713 
     | 
    
         
             
            */
         
     | 
| 
       25664 
25714 
     | 
    
         
             
            Core_Core.getVersion = function () {
         
     | 
| 
       25665 
     | 
    
         
            -
            	return "5.1. 
     | 
| 
      
 25715 
     | 
    
         
            +
            	return "5.1.110";
         
     | 
| 
       25666 
25716 
     | 
    
         
             
            };
         
     | 
| 
       25667 
25717 
     | 
    
         
             
            /** {@link ElementWrapper#dispose}
         
     | 
| 
       25668 
25718 
     | 
    
         
             
            * @override
         
     | 
| 
         @@ -25723,11 +25773,12 @@ Core_Core.prototype.dispose = function () { 
     | 
|
| 
       25723 
25773 
     | 
    
         | 
| 
       25724 
25774 
     | 
    
         
             
            	// Clean Top node
         
     | 
| 
       25725 
25775 
     | 
    
         
             
            	let elem = this._element;
         
     | 
| 
       25726 
     | 
    
         
            -
            	if (elem 
     | 
| 
      
 25776 
     | 
    
         
            +
            	if (elem) {
         
     | 
| 
       25727 
25777 
     | 
    
         
             
            		if (elem["_control"]) {
         
     | 
| 
       25728 
25778 
     | 
    
         
             
            			delete elem["_control"];
         
     | 
| 
       25729 
25779 
     | 
    
         
             
            		}
         
     | 
| 
       25730 
     | 
    
         
            -
            		elem.removeChild(this. 
     | 
| 
      
 25780 
     | 
    
         
            +
            		elem.removeChild(this._firstHiddenInput);
         
     | 
| 
      
 25781 
     | 
    
         
            +
            		elem.removeChild(this._lastHiddenInput);
         
     | 
| 
       25731 
25782 
     | 
    
         
             
            	}
         
     | 
| 
       25732 
25783 
     | 
    
         
             
            	this._dispose();
         
     | 
| 
       25733 
25784 
     | 
    
         | 
| 
         @@ -26892,7 +26943,7 @@ Core_Core.prototype._moveColumn = function (fromCol, destCol) { 
     | 
|
| 
       26892 
26943 
     | 
    
         
             
            			this._colVirtualizer.update();
         
     | 
| 
       26893 
26944 
     | 
    
         
             
            		}
         
     | 
| 
       26894 
26945 
     | 
    
         
             
            	}
         
     | 
| 
       26895 
     | 
    
         
            -
            	this. 
     | 
| 
      
 26946 
     | 
    
         
            +
            	this.updateColumnBounds();
         
     | 
| 
       26896 
26947 
     | 
    
         
             
            	this._updateColumnSeparators();
         
     | 
| 
       26897 
26948 
     | 
    
         
             
            	return true;
         
     | 
| 
       26898 
26949 
     | 
    
         
             
            };
         
     | 
| 
         @@ -29125,15 +29176,14 @@ Core_Core.prototype.reserveRightSpace = function (size) { 
     | 
|
| 
       29125 
29176 
     | 
    
         
             
            	return false;
         
     | 
| 
       29126 
29177 
     | 
    
         
             
            };
         
     | 
| 
       29127 
29178 
     | 
    
         | 
| 
       29128 
     | 
    
         
            -
            /** Get hidden input  
     | 
| 
       29129 
     | 
    
         
            -
            * this input for make grid can copy <br>
         
     | 
| 
       29130 
     | 
    
         
            -
            * normal user should not touch it <br>
         
     | 
| 
       29131 
     | 
    
         
            -
            * but sometime grid extension will have to use this element
         
     | 
| 
      
 29179 
     | 
    
         
            +
            /** Get the hidden input. This input allows grid to receive keyboard input
         
     | 
| 
       29132 
29180 
     | 
    
         
             
            * @public
         
     | 
| 
       29133 
     | 
    
         
            -
            * @ 
     | 
| 
      
 29181 
     | 
    
         
            +
            * @ignore
         
     | 
| 
      
 29182 
     | 
    
         
            +
            * @param {boolean} firstInput
         
     | 
| 
      
 29183 
     | 
    
         
            +
            * @return {!Element}
         
     | 
| 
       29134 
29184 
     | 
    
         
             
            */
         
     | 
| 
       29135 
     | 
    
         
            -
            Core_Core.prototype.getHiddenInput = function () {
         
     | 
| 
       29136 
     | 
    
         
            -
            	return this. 
     | 
| 
      
 29185 
     | 
    
         
            +
            Core_Core.prototype.getHiddenInput = function (firstInput) {
         
     | 
| 
      
 29186 
     | 
    
         
            +
            	return firstInput ? this._firstHiddenInput : this._lastHiddenInput;
         
     | 
| 
       29137 
29187 
     | 
    
         
             
            };
         
     | 
| 
       29138 
29188 
     | 
    
         | 
| 
       29139 
29189 
     | 
    
         
             
            /** Focus grid element without bringing grid into window's view. This is useful when grid is very wide or tall, since window can be scrolled to focused element by default in some browsers.
         
     | 
| 
         @@ -29142,8 +29192,8 @@ Core_Core.prototype.getHiddenInput = function () { 
     | 
|
| 
       29142 
29192 
     | 
    
         
             
            * @see {@link http://help.dottoro.com/ljqmdirr.php}
         
     | 
| 
       29143 
29193 
     | 
    
         
             
            */
         
     | 
| 
       29144 
29194 
     | 
    
         
             
            Core_Core.prototype.focus = function () {
         
     | 
| 
       29145 
     | 
    
         
            -
            	let elem = this. 
     | 
| 
       29146 
     | 
    
         
            -
            	let activeElem =  
     | 
| 
      
 29195 
     | 
    
         
            +
            	let elem = this._lastHiddenInput;
         
     | 
| 
      
 29196 
     | 
    
         
            +
            	let activeElem = _getActiveElement(elem);
         
     | 
| 
       29147 
29197 
     | 
    
         
             
            	if(elem && elem !== activeElem) {
         
     | 
| 
       29148 
29198 
     | 
    
         
             
            		let x = window.pageXOffset;
         
     | 
| 
       29149 
29199 
     | 
    
         
             
            		let y = window.pageYOffset;
         
     | 
| 
         @@ -29274,7 +29324,7 @@ Core_Core.prototype.selectColumn = function (colIndex, selected) { 
     | 
|
| 
       29274 
29324 
     | 
    
         
             
            	for (let i = this._settings.length; --i >= 0; ) {
         
     | 
| 
       29275 
29325 
     | 
    
         
             
            		this._settings[i].getSection().selectColumn(colIndex, selected);
         
     | 
| 
       29276 
29326 
     | 
    
         
             
            	}
         
     | 
| 
       29277 
     | 
    
         
            -
            	this. 
     | 
| 
      
 29327 
     | 
    
         
            +
            	this.updateColumnBounds();
         
     | 
| 
       29278 
29328 
     | 
    
         
             
            };
         
     | 
| 
       29279 
29329 
     | 
    
         
             
            /** @public
         
     | 
| 
       29280 
29330 
     | 
    
         
             
            * @param {number} colIndex
         
     | 
| 
         @@ -29288,9 +29338,9 @@ Core_Core.prototype.isSelectedColumn = function (colIndex) { 
     | 
|
| 
       29288 
29338 
     | 
    
         
             
            	return false;
         
     | 
| 
       29289 
29339 
     | 
    
         
             
            };
         
     | 
| 
       29290 
29340 
     | 
    
         | 
| 
       29291 
     | 
    
         
            -
            /** @ 
     | 
| 
      
 29341 
     | 
    
         
            +
            /** @public
         
     | 
| 
       29292 
29342 
     | 
    
         
             
            */
         
     | 
| 
       29293 
     | 
    
         
            -
            Core_Core.prototype. 
     | 
| 
      
 29343 
     | 
    
         
            +
            Core_Core.prototype.updateColumnBounds = function () {
         
     | 
| 
       29294 
29344 
     | 
    
         
             
            	if(this._columnBoundConflator.conflate()) {
         
     | 
| 
       29295 
29345 
     | 
    
         
             
            		return;
         
     | 
| 
       29296 
29346 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -29777,14 +29827,14 @@ Core_Core.prototype._newSection = function (opt_type, sectionName) { 
     | 
|
| 
       29777 
29827 
     | 
    
         
             
            Core_Core.prototype._putToLast = function(section) {
         
     | 
| 
       29778 
29828 
     | 
    
         
             
            	let sectionCount = this._settings.length;
         
     | 
| 
       29779 
29829 
     | 
    
         
             
            	if (sectionCount === 0) {
         
     | 
| 
       29780 
     | 
    
         
            -
            		section. 
     | 
| 
      
 29830 
     | 
    
         
            +
            		section.insertBefore(this._lastHiddenInput);
         
     | 
| 
       29781 
29831 
     | 
    
         
             
            	} else {
         
     | 
| 
       29782 
29832 
     | 
    
         
             
            		let lastGrid = this.getLastSection();
         
     | 
| 
       29783 
29833 
     | 
    
         
             
            		let nextSibling = lastGrid.getElement().nextSibling;
         
     | 
| 
       29784 
29834 
     | 
    
         
             
            		if (nextSibling !== null) {
         
     | 
| 
       29785 
29835 
     | 
    
         
             
            			section.insertBefore(nextSibling);
         
     | 
| 
       29786 
29836 
     | 
    
         
             
            		} else {
         
     | 
| 
       29787 
     | 
    
         
            -
            			section. 
     | 
| 
      
 29837 
     | 
    
         
            +
            			section.insertBefore(this._lastHiddenInput);
         
     | 
| 
       29788 
29838 
     | 
    
         
             
            		}
         
     | 
| 
       29789 
29839 
     | 
    
         
             
            	}
         
     | 
| 
       29790 
29840 
     | 
    
         
             
            };
         
     | 
| 
         @@ -30170,7 +30220,7 @@ Core_Core.prototype._onVScroll = function (e) { 
     | 
|
| 
       30170 
30220 
     | 
    
         
             
            Core_Core.prototype._onHScroll = function (e) {
         
     | 
| 
       30171 
30221 
     | 
    
         
             
            	let scrollVal = this._hscrollbar.getScrollLeft();
         
     | 
| 
       30172 
30222 
     | 
    
         
             
            	this._colVirtualizer.setViewOffset(scrollVal); // Trigger virtualization event
         
     | 
| 
       30173 
     | 
    
         
            -
            	this. 
     | 
| 
      
 30223 
     | 
    
         
            +
            	this.updateColumnBounds();
         
     | 
| 
       30174 
30224 
     | 
    
         
             
            	this._dispatchColumnPositionChanged();
         
     | 
| 
       30175 
30225 
     | 
    
         
             
            };
         
     | 
| 
       30176 
30226 
     | 
    
         
             
            /** @private
         
     | 
| 
         @@ -30469,14 +30519,66 @@ Core_Core.prototype._onMouseMove = function () { 
     | 
|
| 
       30469 
30519 
     | 
    
         
             
            };
         
     | 
| 
       30470 
30520 
     | 
    
         
             
            /** @private */
         
     | 
| 
       30471 
30521 
     | 
    
         
             
            Core_Core.prototype._onGridClicked = function () {
         
     | 
| 
       30472 
     | 
    
         
            -
            	// research for dragging
         
     | 
| 
       30473 
30522 
     | 
    
         
             
            	let selection = window.getSelection();
         
     | 
| 
       30474 
     | 
    
         
            -
            	if(selection.toString()){
         
     | 
| 
      
 30523 
     | 
    
         
            +
            	if(!selection.toString()){
         
     | 
| 
      
 30524 
     | 
    
         
            +
            		if(!this._element.contains(_getActiveElement(this._element))){
         
     | 
| 
      
 30525 
     | 
    
         
            +
            			this.focus();
         
     | 
| 
      
 30526 
     | 
    
         
            +
            		}
         
     | 
| 
      
 30527 
     | 
    
         
            +
            	}
         
     | 
| 
      
 30528 
     | 
    
         
            +
            };
         
     | 
| 
      
 30529 
     | 
    
         
            +
             
     | 
| 
      
 30530 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 30531 
     | 
    
         
            +
            * @param {Object} e
         
     | 
| 
      
 30532 
     | 
    
         
            +
            */
         
     | 
| 
      
 30533 
     | 
    
         
            +
            Core_Core.prototype._onKeyDown = function (e) {
         
     | 
| 
      
 30534 
     | 
    
         
            +
            	if(!_isTabCommand(e)) {
         
     | 
| 
       30475 
30535 
     | 
    
         
             
            		return;
         
     | 
| 
       30476 
30536 
     | 
    
         
             
            	}
         
     | 
| 
       30477 
     | 
    
         
            -
            	let  
     | 
| 
       30478 
     | 
    
         
            -
            	 
     | 
| 
       30479 
     | 
    
         
            -
             
     | 
| 
      
 30537 
     | 
    
         
            +
            	let activeElement = _getActiveElement(this._element);
         
     | 
| 
      
 30538 
     | 
    
         
            +
            	let onTheEdge = false;
         
     | 
| 
      
 30539 
     | 
    
         
            +
            	if(this._firstHiddenInput === activeElement) {
         
     | 
| 
      
 30540 
     | 
    
         
            +
            		onTheEdge = -1;
         
     | 
| 
      
 30541 
     | 
    
         
            +
            	} else if(this._lastHiddenInput === activeElement) {
         
     | 
| 
      
 30542 
     | 
    
         
            +
            		onTheEdge = 1;
         
     | 
| 
      
 30543 
     | 
    
         
            +
            	}
         
     | 
| 
      
 30544 
     | 
    
         
            +
             
     | 
| 
      
 30545 
     | 
    
         
            +
            	this._dispatch("tabNavigation", {
         
     | 
| 
      
 30546 
     | 
    
         
            +
            		"activeElement": activeElement,
         
     | 
| 
      
 30547 
     | 
    
         
            +
            		"firstHiddenInput": this._firstHiddenInput,
         
     | 
| 
      
 30548 
     | 
    
         
            +
            		"lastHiddenInput": this._lastHiddenInput,
         
     | 
| 
      
 30549 
     | 
    
         
            +
            		"onTheEdge": onTheEdge,
         
     | 
| 
      
 30550 
     | 
    
         
            +
            		"shiftKey": e.shiftKey,
         
     | 
| 
      
 30551 
     | 
    
         
            +
            		"event": e
         
     | 
| 
      
 30552 
     | 
    
         
            +
            	});
         
     | 
| 
      
 30553 
     | 
    
         
            +
             
     | 
| 
      
 30554 
     | 
    
         
            +
            	if(onTheEdge && !e.defaultPrevented) {
         
     | 
| 
      
 30555 
     | 
    
         
            +
            		if(onTheEdge > 0 && e.shiftKey) {
         
     | 
| 
      
 30556 
     | 
    
         
            +
            			this._firstHiddenInput.focus(); // jump to the top
         
     | 
| 
      
 30557 
     | 
    
         
            +
            			e.preventDefault();
         
     | 
| 
      
 30558 
     | 
    
         
            +
            		} else if(onTheEdge < 0 && !e.shiftKey) {
         
     | 
| 
      
 30559 
     | 
    
         
            +
            			this._lastHiddenInput.focus(); // skip to the end
         
     | 
| 
      
 30560 
     | 
    
         
            +
            			e.preventDefault();
         
     | 
| 
      
 30561 
     | 
    
         
            +
            		}
         
     | 
| 
      
 30562 
     | 
    
         
            +
            	}
         
     | 
| 
      
 30563 
     | 
    
         
            +
            };
         
     | 
| 
      
 30564 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 30565 
     | 
    
         
            +
            * @param {Object} e
         
     | 
| 
      
 30566 
     | 
    
         
            +
            */
         
     | 
| 
      
 30567 
     | 
    
         
            +
            Core_Core.prototype._onKeyUp = function (e) {
         
     | 
| 
      
 30568 
     | 
    
         
            +
            	if(!_isTabCommand(e)) {
         
     | 
| 
      
 30569 
     | 
    
         
            +
            		return;
         
     | 
| 
      
 30570 
     | 
    
         
            +
            	}
         
     | 
| 
      
 30571 
     | 
    
         
            +
            	var activeElem = _getActiveElement(this._element);
         
     | 
| 
      
 30572 
     | 
    
         
            +
            	if(e.shiftKey) {
         
     | 
| 
      
 30573 
     | 
    
         
            +
            		if(activeElem === this._lastHiddenInput) {
         
     | 
| 
      
 30574 
     | 
    
         
            +
            			this._firstHiddenInput.focus();
         
     | 
| 
      
 30575 
     | 
    
         
            +
            			e.preventDefault();
         
     | 
| 
      
 30576 
     | 
    
         
            +
            		}
         
     | 
| 
      
 30577 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 30578 
     | 
    
         
            +
            		if(activeElem === this._firstHiddenInput) {
         
     | 
| 
      
 30579 
     | 
    
         
            +
            			this._lastHiddenInput.focus();
         
     | 
| 
      
 30580 
     | 
    
         
            +
            			e.preventDefault();
         
     | 
| 
      
 30581 
     | 
    
         
            +
            		}
         
     | 
| 
       30480 
30582 
     | 
    
         
             
            	}
         
     | 
| 
       30481 
30583 
     | 
    
         
             
            };
         
     | 
| 
       30482 
30584 
     | 
    
         | 
| 
         @@ -30659,6 +30761,7 @@ Core_Core.prototype._onSectionCountChanged = function (opt_suppressLayout) { 
     | 
|
| 
       30659 
30761 
     | 
    
         | 
| 
       30660 
30762 
     | 
    
         
             
            		// Reinsert sections
         
     | 
| 
       30661 
30763 
     | 
    
         
             
            		this._vscrollbar.setScrollContent(this, this._getAllSections(), this._startVScrollbarIndex);
         
     | 
| 
      
 30764 
     | 
    
         
            +
            		this._element.appendChild(this._lastHiddenInput); // Ensure that the hidden input is always at the last position
         
     | 
| 
       30662 
30765 
     | 
    
         | 
| 
       30663 
30766 
     | 
    
         
             
            		if(!opt_suppressLayout) {
         
     | 
| 
       30664 
30767 
     | 
    
         
             
            			this._updateScrollbarHeight(true, true);
         
     | 
| 
         @@ -30676,7 +30779,7 @@ Core_Core.prototype._onColumnCountChanged = function () { 
     | 
|
| 
       30676 
30779 
     | 
    
         
             
            	let pinnedLeft = this._countPinnedLeftColumns();
         
     | 
| 
       30677 
30780 
     | 
    
         
             
            	let pinnedRight = this._countPinnedRightColumns();
         
     | 
| 
       30678 
30781 
     | 
    
         | 
| 
       30679 
     | 
    
         
            -
            	this. 
     | 
| 
      
 30782 
     | 
    
         
            +
            	this.updateColumnBounds();
         
     | 
| 
       30680 
30783 
     | 
    
         
             
            	this._updateColumnSeparators();
         
     | 
| 
       30681 
30784 
     | 
    
         | 
| 
       30682 
30785 
     | 
    
         
             
            	if (this._hScrollbarEnabled && pinnedLeft + pinnedRight < this.getColumnCount()) {
         
     | 
| 
         @@ -30972,7 +31075,7 @@ Core_Core.prototype._syncLayoutToColumns = function (from, to, opt_forceDispatch 
     | 
|
| 
       30972 
31075 
     | 
    
         
             
            	// TODO: Check if "to" should be greater than or equal to first pinnied right index
         
     | 
| 
       30973 
31076 
     | 
    
         
             
            	let paneChanged = forceUpdate || (from < this.getHScrollStartIndex()) || (to > this.getFirstPinnedRightIndex());
         
     | 
| 
       30974 
31077 
     | 
    
         
             
            	this._updateScrollbarWidth(paneChanged, true /* contentChanged */);
         
     | 
| 
       30975 
     | 
    
         
            -
            	this. 
     | 
| 
      
 31078 
     | 
    
         
            +
            	this.updateColumnBounds();
         
     | 
| 
       30976 
31079 
     | 
    
         
             
            	this._updateColumnSeparators();
         
     | 
| 
       30977 
31080 
     | 
    
         
             
            	this._dispatchColumnPositionChanged();
         
     | 
| 
       30978 
31081 
     | 
    
         |