@refinitiv-ui/efx-grid 6.0.161 → 6.0.162

Sign up to get free protection for your applications and to get access to all the features.
package/lib/grid/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import {Grid} from "./lib/efx-grid.js";
2
2
  export {Grid}
3
- window.EFX_GRID = { version: "6.0.161" };
3
+ window.EFX_GRID = { version: "6.0.162" };
@@ -1,10 +1,9 @@
1
1
  /******/ (() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
- var __webpack_exports__ = {};
4
3
 
5
4
  // UNUSED EXPORTS: Grid, default
6
5
 
7
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Dom.js
6
+ ;// ./node_modules/tr-grid-util/es6/Dom.js
8
7
  /** @namespace */
9
8
  let Dom = {};
10
9
 
@@ -356,7 +355,7 @@ Dom.closestTagName = function(elem, tn) {
356
355
  /* harmony default export */ const es6_Dom = ((/* unused pure expression or super */ null && (Dom)));
357
356
 
358
357
 
359
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Conflator.js
358
+ ;// ./node_modules/tr-grid-util/es6/Conflator.js
360
359
  /** Conflator is used to stop multiple executions of a function in the specified period of time by merging multiple calls into one single call. <br>
361
360
  * Conflator guarantees that only one single call will be executed.
362
361
  * @constructor
@@ -551,7 +550,7 @@ Conflator.prototype.enable = function (opt_enabled) {
551
550
  /* harmony default export */ const es6_Conflator = ((/* unused pure expression or super */ null && (Conflator)));
552
551
 
553
552
 
554
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Ext.js
553
+ ;// ./node_modules/tr-grid-util/es6/Ext.js
555
554
  /** Provide ability for prototype based Class to inherits another class
556
555
  * @namespace
557
556
  * @example
@@ -605,7 +604,7 @@ Ext.inherits = function (childCtor, parentCtor) {
605
604
  /* harmony default export */ const es6_Ext = (Ext);
606
605
 
607
606
 
608
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/EventDispatcher.js
607
+ ;// ./node_modules/tr-grid-util/es6/EventDispatcher.js
609
608
  /** Abstract base class that provides event management methods for derived class
610
609
  * @constructor
611
610
  */
@@ -768,7 +767,7 @@ EventDispatcher.preventDefault = preventDefault;
768
767
  /* harmony default export */ const es6_EventDispatcher = (EventDispatcher);
769
768
 
770
769
 
771
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/VariableToken.js
770
+ ;// ./node_modules/tr-grid-util/es6/formula/VariableToken.js
772
771
 
773
772
  /** @constructor
774
773
  * @param {string} str
@@ -1084,7 +1083,7 @@ VariableToken.prototype._resolveArray = function(str) {
1084
1083
  /* harmony default export */ const formula_VariableToken = (VariableToken);
1085
1084
 
1086
1085
 
1087
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/Formula.js
1086
+ ;// ./node_modules/tr-grid-util/es6/formula/Formula.js
1088
1087
 
1089
1088
 
1090
1089
 
@@ -1976,7 +1975,7 @@ Formula._proto = Formula.prototype;
1976
1975
  /* harmony default export */ const formula_Formula = (Formula);
1977
1976
 
1978
1977
 
1979
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/locale/translation-en.js
1978
+ ;// ./node_modules/tr-grid-util/es6/locale/translation-en.js
1980
1979
  /**
1981
1980
  * @namespace
1982
1981
  */
@@ -2029,7 +2028,7 @@ let translationEn = {
2029
2028
 
2030
2029
  /* harmony default export */ const translation_en = (translationEn);
2031
2030
 
2032
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/locale/translation-de.js
2031
+ ;// ./node_modules/tr-grid-util/es6/locale/translation-de.js
2033
2032
  /**
2034
2033
  * @namespace
2035
2034
  */
@@ -2082,7 +2081,7 @@ let translationDe = {
2082
2081
 
2083
2082
  /* harmony default export */ const translation_de = (translationDe);
2084
2083
 
2085
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/locale/translation-ja.js
2084
+ ;// ./node_modules/tr-grid-util/es6/locale/translation-ja.js
2086
2085
  /**
2087
2086
  * @namespace
2088
2087
  */
@@ -2135,7 +2134,7 @@ let translationJa = {
2135
2134
 
2136
2135
  /* harmony default export */ const translation_ja = (translationJa);
2137
2136
 
2138
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/locale/translation-zh.js
2137
+ ;// ./node_modules/tr-grid-util/es6/locale/translation-zh.js
2139
2138
  /**
2140
2139
  * @namespace
2141
2140
  */
@@ -2188,7 +2187,7 @@ let translationZh = {
2188
2187
 
2189
2188
  /* harmony default export */ const translation_zh = (translationZh);
2190
2189
 
2191
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/locale/translation-zh-hant.js
2190
+ ;// ./node_modules/tr-grid-util/es6/locale/translation-zh-hant.js
2192
2191
  /**
2193
2192
  * @namespace
2194
2193
  */
@@ -2241,7 +2240,7 @@ let translationZhHant = {
2241
2240
 
2242
2241
  /* harmony default export */ const translation_zh_hant = (translationZhHant);
2243
2242
 
2244
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/locale/translation.js
2243
+ ;// ./node_modules/tr-grid-util/es6/locale/translation.js
2245
2244
 
2246
2245
 
2247
2246
 
@@ -2261,7 +2260,7 @@ let translation = {
2261
2260
 
2262
2261
  /* harmony default export */ const locale_translation = (translation);
2263
2262
 
2264
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Color.js
2263
+ ;// ./node_modules/tr-grid-util/es6/Color.js
2265
2264
  /** @namespace */
2266
2265
  let Color = {};
2267
2266
 
@@ -2461,7 +2460,7 @@ Color.blendColor = blendColor;
2461
2460
  /* harmony default export */ const es6_Color = ((/* unused pure expression or super */ null && (Color)));
2462
2461
 
2463
2462
 
2464
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Util.js
2463
+ ;// ./node_modules/tr-grid-util/es6/Util.js
2465
2464
 
2466
2465
 
2467
2466
  /** @namespace */
@@ -2953,7 +2952,7 @@ let prepareTSVContent = function (data) {
2953
2952
  /* harmony default export */ const es6_Util = ((/* unused pure expression or super */ null && (Util)));
2954
2953
 
2955
2954
 
2956
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Deferred.js
2955
+ ;// ./node_modules/tr-grid-util/es6/Deferred.js
2957
2956
  /** Deferred promise should be used when asynchronous method does not return promise object (e.g. typical AJAX calls, or native setTimeout()). In other words, deferred promise is used to allow any non-promise logics to be worked in promise pattern.
2958
2957
  * @constructor
2959
2958
  * @param {Function=} resolveHandler
@@ -3063,7 +3062,7 @@ Deferred.prototype._finally = function() {
3063
3062
  /* harmony default export */ const es6_Deferred = ((/* unused pure expression or super */ null && (Deferred)));
3064
3063
 
3065
3064
 
3066
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/ElementObserver.js
3065
+ ;// ./node_modules/tr-grid-util/es6/ElementObserver.js
3067
3066
 
3068
3067
  /** @namespace
3069
3068
  */
@@ -3199,7 +3198,7 @@ ElementObserver._id = 0;
3199
3198
  /* harmony default export */ const es6_ElementObserver = ((/* unused pure expression or super */ null && (ElementObserver)));
3200
3199
 
3201
3200
 
3202
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/ElfUtil.js
3201
+ ;// ./node_modules/tr-grid-util/es6/ElfUtil.js
3203
3202
 
3204
3203
 
3205
3204
 
@@ -3820,7 +3819,7 @@ ElfUtil._retrieveThemeColors = function(profileName) {
3820
3819
  /* harmony default export */ const es6_ElfUtil = (ElfUtil);
3821
3820
 
3822
3821
 
3823
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/DateTime.js
3822
+ ;// ./node_modules/tr-grid-util/es6/DateTime.js
3824
3823
 
3825
3824
 
3826
3825
 
@@ -4330,7 +4329,7 @@ DateTime.toYYYYMMDD = function(dateObj) {
4330
4329
  /* harmony default export */ const es6_DateTime = (DateTime);
4331
4330
 
4332
4331
 
4333
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/functions/Info.js
4332
+ ;// ./node_modules/tr-grid-util/es6/formula/functions/Info.js
4334
4333
 
4335
4334
  /**
4336
4335
  * @namespace Info
@@ -4524,7 +4523,7 @@ Info["ISNASTRING"] = function(value) {
4524
4523
  /* harmony default export */ const functions_Info = (Info);
4525
4524
 
4526
4525
 
4527
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/functions/Logic.js
4526
+ ;// ./node_modules/tr-grid-util/es6/formula/functions/Logic.js
4528
4527
  /**
4529
4528
  * @namespace Logic
4530
4529
  * @description
@@ -4702,7 +4701,7 @@ Logic["TRUE"] = function() {
4702
4701
  /* harmony default export */ const functions_Logic = (Logic);
4703
4702
 
4704
4703
 
4705
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/functions/Math.js
4704
+ ;// ./node_modules/tr-grid-util/es6/formula/functions/Math.js
4706
4705
  /**
4707
4706
  * @namespace GridMath
4708
4707
  * @description
@@ -6328,7 +6327,7 @@ GridMath["TRUNC"] = function(num, num_digits) {
6328
6327
  /* harmony default export */ const functions_Math = (GridMath);
6329
6328
 
6330
6329
 
6331
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/functions/Statistics.js
6330
+ ;// ./node_modules/tr-grid-util/es6/formula/functions/Statistics.js
6332
6331
  /**
6333
6332
  * @namespace Statistic
6334
6333
  * @description
@@ -6564,7 +6563,7 @@ Stat["STDEVP"] = function(/* ... args*/) {
6564
6563
  /* harmony default export */ const Statistics = (Stat);
6565
6564
 
6566
6565
 
6567
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/functions/Text.js
6566
+ ;// ./node_modules/tr-grid-util/es6/formula/functions/Text.js
6568
6567
  /**
6569
6568
  * @namespace Text
6570
6569
  * @description
@@ -7240,7 +7239,7 @@ Text["STRING"] = function(num1, num2) {
7240
7239
  /* harmony default export */ const functions_Text = (Text);
7241
7240
 
7242
7241
 
7243
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/formula/Engine.js
7242
+ ;// ./node_modules/tr-grid-util/es6/formula/Engine.js
7244
7243
 
7245
7244
 
7246
7245
 
@@ -7834,7 +7833,7 @@ Engine._proto = Engine.prototype;
7834
7833
  /* harmony default export */ const formula_Engine = ((/* unused pure expression or super */ null && (Engine)));
7835
7834
 
7836
7835
 
7837
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/util.js
7836
+ ;// ./node_modules/@grid/core/es6/grid/util/util.js
7838
7837
  /**
7839
7838
  * @namespace
7840
7839
  */
@@ -8227,7 +8226,7 @@ util_Util._preventDefault = function (e) {
8227
8226
  /* harmony default export */ const util = (util_Util);
8228
8227
 
8229
8228
 
8230
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/event/EventListeners.js
8229
+ ;// ./node_modules/@grid/core/es6/grid/event/EventListeners.js
8231
8230
 
8232
8231
 
8233
8232
  /** @constructor
@@ -8395,7 +8394,7 @@ EventListeners._proto = EventListeners.prototype; // To allow compression of pro
8395
8394
  /* harmony default export */ const event_EventListeners = (EventListeners);
8396
8395
 
8397
8396
 
8398
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/event/EventDispatcher.js
8397
+ ;// ./node_modules/@grid/core/es6/grid/event/EventDispatcher.js
8399
8398
 
8400
8399
 
8401
8400
  /** Abstract base class that provides event management methods for derived class
@@ -8535,7 +8534,7 @@ EventDispatcher_EventDispatcher._proto = EventDispatcher_EventDispatcher.prototy
8535
8534
  /* harmony default export */ const event_EventDispatcher = (EventDispatcher_EventDispatcher);
8536
8535
 
8537
8536
 
8538
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/DataCache.js
8537
+ ;// ./node_modules/@grid/core/es6/data/DataCache.js
8539
8538
 
8540
8539
 
8541
8540
 
@@ -9134,7 +9133,7 @@ DataCache.constructTable = function (dataset, opt_options, opt_rowIds) {
9134
9133
  /* harmony default export */ const data_DataCache = (DataCache);
9135
9134
 
9136
9135
 
9137
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/Segment.js
9136
+ ;// ./node_modules/@grid/core/es6/data/Segment.js
9138
9137
 
9139
9138
 
9140
9139
 
@@ -10137,7 +10136,7 @@ Segment.prototype.log = function(lines, tabLevel) {
10137
10136
  /* harmony default export */ const data_Segment = ((/* unused pure expression or super */ null && (Segment)));
10138
10137
 
10139
10138
 
10140
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/SegmentCollection.js
10139
+ ;// ./node_modules/@grid/core/es6/data/SegmentCollection.js
10141
10140
 
10142
10141
 
10143
10142
 
@@ -10852,7 +10851,7 @@ SegmentCollection.prototype.setDefaultCollapsing = function(bool) {
10852
10851
  /* harmony default export */ const data_SegmentCollection = (SegmentCollection);
10853
10852
 
10854
10853
 
10855
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/DataTable.js
10854
+ ;// ./node_modules/@grid/core/es6/data/DataTable.js
10856
10855
 
10857
10856
 
10858
10857
 
@@ -13060,7 +13059,7 @@ DataTable._proto = DataTable.prototype;
13060
13059
  /* harmony default export */ const data_DataTable = (DataTable);
13061
13060
 
13062
13061
 
13063
- ;// CONCATENATED MODULE: ./src/js/RowDefinition.js
13062
+ ;// ./src/js/RowDefinition.js
13064
13063
 
13065
13064
  /* eslint-disable */
13066
13065
 
@@ -14540,7 +14539,7 @@ RowDefinition.dispose = function(rowDef) {
14540
14539
 
14541
14540
  /* harmony default export */ const js_RowDefinition = ((/* unused pure expression or super */ null && (RowDefinition)));
14542
14541
 
14543
- ;// CONCATENATED MODULE: ./src/js/FieldDefinition.js
14542
+ ;// ./src/js/FieldDefinition.js
14544
14543
  // TODO: Merge this with Fields in mobile-mon repository
14545
14544
  /* eslint-disable */
14546
14545
 
@@ -15102,7 +15101,7 @@ function onLoadEnd(e) {
15102
15101
 
15103
15102
  /* harmony default export */ const js_FieldDefinition = (FieldDefinition);
15104
15103
 
15105
- ;// CONCATENATED MODULE: ./src/js/PredefinedFormula.js
15104
+ ;// ./src/js/PredefinedFormula.js
15106
15105
 
15107
15106
  /* @constructor */
15108
15107
  let PredefinedFormula = {};
@@ -15137,7 +15136,7 @@ PredefinedFormula.remove = function(field) {
15137
15136
 
15138
15137
  /* harmony default export */ const js_PredefinedFormula = (PredefinedFormula);
15139
15138
 
15140
- ;// CONCATENATED MODULE: ./src/js/ColumnDefinition.js
15139
+ ;// ./src/js/ColumnDefinition.js
15141
15140
  /* eslint-disable */
15142
15141
 
15143
15142
 
@@ -16342,7 +16341,7 @@ ColumnDefinition.prototype.setBackgroundColor = function(color) {
16342
16341
 
16343
16342
  /* harmony default export */ const js_ColumnDefinition = (ColumnDefinition);
16344
16343
 
16345
- ;// CONCATENATED MODULE: ./src/js/SnapshotFiller.js
16344
+ ;// ./src/js/SnapshotFiller.js
16346
16345
  /* eslint-disable */
16347
16346
 
16348
16347
 
@@ -16881,7 +16880,7 @@ SnapshotFiller.prototype._onRTKTimeSeriesSuccess = function (fields, serverResul
16881
16880
 
16882
16881
  /* harmony default export */ const js_SnapshotFiller = (SnapshotFiller);
16883
16882
 
16884
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/GroupDefinitions.js
16883
+ ;// ./node_modules/tr-grid-util/es6/GroupDefinitions.js
16885
16884
 
16886
16885
 
16887
16886
  /** @constructor
@@ -17525,7 +17524,7 @@ GroupDefinitions.prototype.setGroupName = function (groupId, groupName) {
17525
17524
  /* harmony default export */ const es6_GroupDefinitions = ((/* unused pure expression or super */ null && (GroupDefinitions)));
17526
17525
 
17527
17526
 
17528
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/ElementWrapper.js
17527
+ ;// ./node_modules/@grid/core/es6/grid/components/ElementWrapper.js
17529
17528
 
17530
17529
 
17531
17530
 
@@ -18245,7 +18244,7 @@ ElementWrapper._proto = ElementWrapper.prototype;
18245
18244
  /* harmony default export */ const components_ElementWrapper = (ElementWrapper);
18246
18245
 
18247
18246
 
18248
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/CellFloatingPanel.js
18247
+ ;// ./node_modules/@grid/core/es6/grid/components/CellFloatingPanel.js
18249
18248
  /* eslint-disable */
18250
18249
 
18251
18250
 
@@ -18377,7 +18376,7 @@ CellFloatingPanel.prototype._updatePanelItems = function() {
18377
18376
  /* harmony default export */ const components_CellFloatingPanel = (CellFloatingPanel);
18378
18377
 
18379
18378
 
18380
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/Cell.js
18379
+ ;// ./node_modules/@grid/core/es6/grid/components/Cell.js
18381
18380
  /* eslint-disable */
18382
18381
 
18383
18382
 
@@ -19205,7 +19204,7 @@ Cell._proto = Cell.prototype;
19205
19204
  /* harmony default export */ const components_Cell = (Cell);
19206
19205
 
19207
19206
 
19208
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/TrackLayout.js
19207
+ ;// ./node_modules/@grid/core/es6/grid/util/TrackLayout.js
19209
19208
 
19210
19209
 
19211
19210
  /** TrackLayout is like a running track in a football field which contains multiple lanes.
@@ -20109,7 +20108,7 @@ TrackLayout.prototype.copyFrom = function (src, offset) {
20109
20108
  /* harmony default export */ const util_TrackLayout = (TrackLayout);
20110
20109
 
20111
20110
 
20112
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/ILayoutGrid.js
20111
+ ;// ./node_modules/@grid/core/es6/grid/ILayoutGrid.js
20113
20112
  /* eslint-disable */
20114
20113
 
20115
20114
 
@@ -20817,7 +20816,7 @@ ILayoutGrid.prototype.updateColumnSeparators = function () {};
20817
20816
  /* harmony default export */ const grid_ILayoutGrid = ((/* unused pure expression or super */ null && (ILayoutGrid)));
20818
20817
 
20819
20818
 
20820
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/Column.js
20819
+ ;// ./node_modules/@grid/core/es6/grid/components/Column.js
20821
20820
  /* eslint-disable */
20822
20821
 
20823
20822
 
@@ -21437,7 +21436,7 @@ Column._proto = Column.prototype;
21437
21436
  /* harmony default export */ const components_Column = (Column);
21438
21437
 
21439
21438
 
21440
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/VirtualItems.js
21439
+ ;// ./node_modules/@grid/core/es6/grid/components/VirtualItems.js
21441
21440
 
21442
21441
 
21443
21442
  /** @constructor
@@ -21490,7 +21489,7 @@ VirtualItems.prototype.moveItemsToTop = function (numItems) {
21490
21489
  /* harmony default export */ const components_VirtualItems = (VirtualItems);
21491
21490
 
21492
21491
 
21493
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/StretchedCells.js
21492
+ ;// ./node_modules/@grid/core/es6/grid/components/StretchedCells.js
21494
21493
 
21495
21494
  // eslint-disable-line
21496
21495
  // eslint-disable-line
@@ -21834,7 +21833,7 @@ StretchedCells.prototype.moveCellsToTop = function (numCells) {
21834
21833
  /* harmony default export */ const components_StretchedCells = (StretchedCells);
21835
21834
 
21836
21835
 
21837
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/CellSpan.js
21836
+ ;// ./node_modules/@grid/core/es6/grid/components/CellSpan.js
21838
21837
 
21839
21838
  /** @constructor
21840
21839
  * @param {number} x
@@ -21935,7 +21934,7 @@ CellSpan.prototype.retVal = 0;
21935
21934
  /* harmony default export */ const components_CellSpan = (CellSpan);
21936
21935
 
21937
21936
 
21938
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/CellSpans.js
21937
+ ;// ./node_modules/@grid/core/es6/grid/components/CellSpans.js
21939
21938
 
21940
21939
 
21941
21940
  /** @constructor */
@@ -22305,7 +22304,7 @@ CellSpans.prototype._frozenMapping = false;
22305
22304
 
22306
22305
 
22307
22306
 
22308
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/SelectionList.js
22307
+ ;// ./node_modules/@grid/core/es6/grid/util/SelectionList.js
22309
22308
 
22310
22309
  /** @constructor
22311
22310
  * @ignore
@@ -22798,7 +22797,7 @@ SelectionList.prototype._lastIndex = -1;
22798
22797
  /* harmony default export */ const util_SelectionList = (SelectionList);
22799
22798
 
22800
22799
 
22801
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/Reverter.js
22800
+ ;// ./node_modules/@grid/core/es6/grid/util/Reverter.js
22802
22801
 
22803
22802
  /** @description Reverter is used executed the given method after the specified delay. If Reverter is activated the second time within the delay, the delay time will be extended.
22804
22803
  * @constructor
@@ -22879,7 +22878,7 @@ Reverter._proto = Reverter.prototype;
22879
22878
  /* harmony default export */ const util_Reverter = (Reverter);
22880
22879
 
22881
22880
 
22882
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/Scrollbar.js
22881
+ ;// ./node_modules/@grid/core/es6/grid/components/Scrollbar.js
22883
22882
  /* eslint-disable */
22884
22883
 
22885
22884
 
@@ -24294,7 +24293,7 @@ Scrollbar._proto = Scrollbar.prototype;
24294
24293
  /* harmony default export */ const components_Scrollbar = (Scrollbar);
24295
24294
 
24296
24295
 
24297
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/HScrollbar.js
24296
+ ;// ./node_modules/@grid/core/es6/grid/components/HScrollbar.js
24298
24297
  /* eslint-disable */
24299
24298
 
24300
24299
 
@@ -24537,7 +24536,7 @@ HScrollbar._proto = HScrollbar.prototype;
24537
24536
  /* harmony default export */ const components_HScrollbar = (HScrollbar);
24538
24537
 
24539
24538
 
24540
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/CellBoundPainter.js
24539
+ ;// ./node_modules/@grid/core/es6/grid/util/CellBoundPainter.js
24541
24540
  /** @private
24542
24541
  * @function
24543
24542
  * @param {number} idx
@@ -24710,7 +24709,7 @@ CellBoundPainter._proto = CellBoundPainter.prototype;
24710
24709
  /* harmony default export */ const util_CellBoundPainter = (CellBoundPainter);
24711
24710
 
24712
24711
 
24713
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/LayoutGrid.js
24712
+ ;// ./node_modules/@grid/core/es6/grid/LayoutGrid.js
24714
24713
  /* eslint-disable */
24715
24714
 
24716
24715
 
@@ -27687,7 +27686,7 @@ LayoutGrid._proto = LayoutGrid.prototype;
27687
27686
  /* harmony default export */ const grid_LayoutGrid = (LayoutGrid);
27688
27687
 
27689
27688
 
27690
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/ColumnStats.js
27689
+ ;// ./node_modules/@grid/core/es6/data/ColumnStats.js
27691
27690
 
27692
27691
  /** @constructor
27693
27692
  * @param {*=} source
@@ -28117,7 +28116,7 @@ ColumnStats.prototype._refs;
28117
28116
  /* harmony default export */ const data_ColumnStats = (ColumnStats);
28118
28117
 
28119
28118
 
28120
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/WrappedView.js
28119
+ ;// ./node_modules/@grid/core/es6/data/WrappedView.js
28121
28120
 
28122
28121
 
28123
28122
  // eslint-disable-line
@@ -29439,7 +29438,7 @@ WrappedView.prototype.isRowFiltered = function(rid, rowData) {
29439
29438
  /* harmony default export */ const data_WrappedView = (WrappedView);
29440
29439
 
29441
29440
 
29442
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/data/DataView.js
29441
+ ;// ./node_modules/@grid/core/es6/data/DataView.js
29443
29442
 
29444
29443
 
29445
29444
 
@@ -33585,7 +33584,7 @@ DataView._defaultGroupSortingLogic = function(strA, strB) {
33585
33584
  /* harmony default export */ const data_DataView = (DataView);
33586
33585
 
33587
33586
 
33588
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/Conflator.js
33587
+ ;// ./node_modules/@grid/core/es6/grid/util/Conflator.js
33589
33588
 
33590
33589
  /** @description Conflator is used to stop multiple executions of a function in the specified period of time by merging multiple calls into one single call.
33591
33590
  * Conflator guarantees that only one single call will be executed.
@@ -33778,7 +33777,7 @@ Conflator_Conflator._proto = Conflator_Conflator.prototype;
33778
33777
  /* harmony default export */ const util_Conflator = (Conflator_Conflator);
33779
33778
 
33780
33779
 
33781
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/SectionSettings.js
33780
+ ;// ./node_modules/@grid/core/es6/grid/util/SectionSettings.js
33782
33781
  /* eslint-disable */
33783
33782
 
33784
33783
 
@@ -34459,7 +34458,7 @@ SectionSettings._proto = SectionSettings.prototype;
34459
34458
  /* harmony default export */ const util_SectionSettings = (SectionSettings);
34460
34459
 
34461
34460
 
34462
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/util/Virtualizer.js
34461
+ ;// ./node_modules/@grid/core/es6/grid/util/Virtualizer.js
34463
34462
 
34464
34463
 
34465
34464
  // eslint-disable-line
@@ -34801,7 +34800,7 @@ Virtualizer._proto = Virtualizer.prototype;
34801
34800
  /* harmony default export */ const util_Virtualizer = (Virtualizer);
34802
34801
 
34803
34802
 
34804
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/VScrollbar.js
34803
+ ;// ./node_modules/@grid/core/es6/grid/components/VScrollbar.js
34805
34804
  /* eslint-disable */
34806
34805
 
34807
34806
 
@@ -34942,7 +34941,7 @@ VScrollbar._proto = VScrollbar.prototype;
34942
34941
  /* harmony default export */ const components_VScrollbar = (VScrollbar);
34943
34942
 
34944
34943
 
34945
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/VirtualizedLayoutGrid.js
34944
+ ;// ./node_modules/@grid/core/es6/grid/VirtualizedLayoutGrid.js
34946
34945
  /* eslint-disable */
34947
34946
 
34948
34947
 
@@ -36185,7 +36184,7 @@ VirtualizedLayoutGrid._proto = VirtualizedLayoutGrid.prototype;
36185
36184
  /* harmony default export */ const grid_VirtualizedLayoutGrid = (VirtualizedLayoutGrid);
36186
36185
 
36187
36186
 
36188
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/Core.js
36187
+ ;// ./node_modules/@grid/core/es6/grid/Core.js
36189
36188
 
36190
36189
  // eslint-disable-line
36191
36190
 
@@ -42381,7 +42380,7 @@ Core._proto = Core.prototype;
42381
42380
  /* harmony default export */ const grid_Core = ((/* unused pure expression or super */ null && (Core)));
42382
42381
 
42383
42382
 
42384
- ;// CONCATENATED MODULE: ./src/js/StyleLoader.js
42383
+ ;// ./src/js/StyleLoader.js
42385
42384
  /* eslint-disable */
42386
42385
 
42387
42386
 
@@ -42430,7 +42429,7 @@ StyleLoader.applyStyle = function (grid) {
42430
42429
 
42431
42430
  /* harmony default export */ const js_StyleLoader = (StyleLoader);
42432
42431
 
42433
- ;// CONCATENATED MODULE: ./src/js/ReferenceCounter.js
42432
+ ;// ./src/js/ReferenceCounter.js
42434
42433
  /** @constructor
42435
42434
  */
42436
42435
  let ReferenceCounter = function() {
@@ -42683,7 +42682,7 @@ ReferenceCounter.prototype.log = function() {
42683
42682
 
42684
42683
  /* harmony default export */ const js_ReferenceCounter = (ReferenceCounter);
42685
42684
 
42686
- ;// CONCATENATED MODULE: ./src/js/DataConnector.js
42685
+ ;// ./src/js/DataConnector.js
42687
42686
 
42688
42687
 
42689
42688
 
@@ -42975,7 +42974,7 @@ DataConnector.prototype.reset = function () {
42975
42974
 
42976
42975
  /* harmony default export */ const js_DataConnector = (DataConnector);
42977
42976
 
42978
- ;// CONCATENATED MODULE: ./src/js/RowDefSorter.js
42977
+ ;// ./src/js/RowDefSorter.js
42979
42978
 
42980
42979
 
42981
42980
  /** @private
@@ -43208,7 +43207,7 @@ RowDefSorter.prototype._multiColumnsSorter = function(rowDefA, rowDefB, primaryO
43208
43207
 
43209
43208
  /* harmony default export */ const js_RowDefSorter = (RowDefSorter);
43210
43209
 
43211
- ;// CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/plugins/SortableTitlePlugin.js
43210
+ ;// ./node_modules/@grid/core/es6/grid/plugins/SortableTitlePlugin.js
43212
43211
  /* eslint-disable */
43213
43212
 
43214
43213
 
@@ -45187,7 +45186,7 @@ SortableTitlePlugin._proto = SortableTitlePlugin.prototype;
45187
45186
  /* harmony default export */ const plugins_SortableTitlePlugin = ((/* unused pure expression or super */ null && (SortableTitlePlugin)));
45188
45187
 
45189
45188
 
45190
- ;// CONCATENATED MODULE: ./src/js/Grid.js
45189
+ ;// ./src/js/Grid.js
45191
45190
  /* eslint-disable */
45192
45191
 
45193
45192
 
@@ -45252,7 +45251,7 @@ SortableTitlePlugin._proto = SortableTitlePlugin.prototype;
45252
45251
  * @property {Array=} staticDataRows Shorthand for calling {@link Grid#addStaticDataRows}
45253
45252
  * @property {Array.<string>=} dataFields Shorthand for calling {@link Grid#addDataFields}
45254
45253
  * @property {boolean=} rowVirtualization=true If disabled, all data rows will be rendered. This will greatly impact grid's performance if the data set is huge.
45255
- * @property {boolean=} columnVirtualization=false If enabled, all columns will be rendered. This will greatly impact grid's performance if the column set is huge.
45254
+ * @property {boolean=} columnVirtualization=false If enabled, columns that are out of grid's view will NOT be rendered. This could greatly improve grid's performance when there are a lot of columns.
45256
45255
  * @property {(number|null|boolean)=} topFreezingCount=null If number >= 0 will fix number of frozen title section, If false = disabled scrollbar, if null then title section will freeze auto when new section added, this option will not work with scrollbar option.
45257
45256
  * @property {(number|null)=} bottomFreezingCount=null If number >= 0 will fix nuber of frozen footer section, if null then footer section will freeze auto when new section added, this option will not work with scrollbar option.
45258
45257
  * @property {boolean=} borders=false Lines around grid element
@@ -49840,7 +49839,7 @@ Grid_Grid.prototype._getEventHandlers = function() {
49840
49839
 
49841
49840
  /* harmony default export */ const js_Grid = ((/* unused pure expression or super */ null && (Grid_Grid)));
49842
49841
 
49843
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/DataSet.js
49842
+ ;// ./node_modules/tr-grid-util/es6/jet/DataSet.js
49844
49843
  /**
49845
49844
  * @namespace
49846
49845
  */
@@ -50234,7 +50233,7 @@ DataSet.country = [
50234
50233
  /* harmony default export */ const jet_DataSet = (DataSet);
50235
50234
 
50236
50235
 
50237
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/DataGenerator.js
50236
+ ;// ./node_modules/tr-grid-util/es6/jet/DataGenerator.js
50238
50237
 
50239
50238
 
50240
50239
  /** @typedef {Object} DataGenerator~DataOptions
@@ -51078,7 +51077,7 @@ DataGenerator.toRecords = toRecords;
51078
51077
  /* harmony default export */ const jet_DataGenerator = ((/* unused pure expression or super */ null && (DataGenerator)));
51079
51078
 
51080
51079
 
51081
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/MockQuotes.js
51080
+ ;// ./node_modules/tr-grid-util/es6/jet/MockQuotes.js
51082
51081
 
51083
51082
 
51084
51083
  /** @constructor */
@@ -51279,7 +51278,7 @@ MockSubscription.prototype._getUpdateData = function(ric) {
51279
51278
 
51280
51279
 
51281
51280
 
51282
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/CollectionDict.js
51281
+ ;// ./node_modules/tr-grid-util/es6/jet/CollectionDict.js
51283
51282
  /** @description CollectionDict stores a collection (Array) of any value using a text (string) as a key for accessing the collection.
51284
51283
  * @constructor
51285
51284
  */
@@ -51432,7 +51431,7 @@ CollectionDict.prototype.getAllKeys = function() {
51432
51431
  /* harmony default export */ const jet_CollectionDict = ((/* unused pure expression or super */ null && (CollectionDict)));
51433
51432
 
51434
51433
 
51435
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/MockQuotes2.js
51434
+ ;// ./node_modules/tr-grid-util/es6/jet/MockQuotes2.js
51436
51435
 
51437
51436
 
51438
51437
 
@@ -52324,7 +52323,7 @@ MockSubscriptions.prototype._statusMap = {
52324
52323
 
52325
52324
 
52326
52325
 
52327
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/MockArchive.js
52326
+ ;// ./node_modules/tr-grid-util/es6/jet/MockArchive.js
52328
52327
  /** @constructor */
52329
52328
  let MockArchive = function() {
52330
52329
  this._data = {};
@@ -52382,7 +52381,7 @@ MockArchive.prototype.filter = function(func) {
52382
52381
 
52383
52382
 
52384
52383
 
52385
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/MockUtil.js
52384
+ ;// ./node_modules/tr-grid-util/es6/jet/MockUtil.js
52386
52385
  /**
52387
52386
  * @public
52388
52387
  * @type {Object}
@@ -52409,7 +52408,7 @@ function setInvalidFields(fields) {
52409
52408
 
52410
52409
 
52411
52410
 
52412
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/Adc.js
52411
+ ;// ./node_modules/tr-grid-util/es6/jet/Adc.js
52413
52412
 
52414
52413
 
52415
52414
 
@@ -52679,7 +52678,7 @@ Adc.splitFields = function(strFields) {
52679
52678
 
52680
52679
 
52681
52680
 
52682
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/mockDataAPI.js
52681
+ ;// ./node_modules/tr-grid-util/es6/jet/mockDataAPI.js
52683
52682
 
52684
52683
 
52685
52684
 
@@ -52792,7 +52791,7 @@ mockDataAPI.setInvalidFields = setInvalidFields;
52792
52791
 
52793
52792
 
52794
52793
 
52795
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/MockJET.js
52794
+ ;// ./node_modules/tr-grid-util/es6/jet/MockJET.js
52796
52795
 
52797
52796
 
52798
52797
 
@@ -52865,7 +52864,7 @@ MockJET.prototype.contextChange = function(contextAry) {
52865
52864
  /* harmony default export */ const jet_MockJET = ((/* unused pure expression or super */ null && (MockJET)));
52866
52865
 
52867
52866
 
52868
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/TickCodes.js
52867
+ ;// ./node_modules/tr-grid-util/es6/TickCodes.js
52869
52868
  /** @type {Object.<string, number>}
52870
52869
  * @public
52871
52870
  */
@@ -52900,7 +52899,7 @@ let TickFields = {
52900
52899
  /* harmony default export */ const es6_TickCodes = ((/* unused pure expression or super */ null && (TickCodes)));
52901
52900
 
52902
52901
 
52903
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/ExpressionParser.js
52902
+ ;// ./node_modules/tr-grid-util/es6/ExpressionParser.js
52904
52903
  /** @type {Object.<string, number>}
52905
52904
  * @private
52906
52905
  * @const
@@ -53310,7 +53309,7 @@ ExpressionParser.parse = function(expression) {
53310
53309
  /* harmony default export */ const es6_ExpressionParser = ((/* unused pure expression or super */ null && (ExpressionParser)));
53311
53310
 
53312
53311
 
53313
- ;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/CellPainter.js
53312
+ ;// ./node_modules/tr-grid-util/es6/CellPainter.js
53314
53313
 
53315
53314
 
53316
53315
 
@@ -54495,7 +54494,7 @@ CellPainter.prototype.setBlinkingDuration = function(duration) {
54495
54494
  /* harmony default export */ const es6_CellPainter = ((/* unused pure expression or super */ null && (CellPainter)));
54496
54495
 
54497
54496
 
54498
- ;// CONCATENATED MODULE: ./src/index.js
54497
+ ;// ./src/index.js
54499
54498
  /* eslint-disable */
54500
54499
 
54501
54500
  /* eslint-enable */
@@ -62,7 +62,7 @@ import { ElementWrapper } from "../../core/es6/grid/components/ElementWrapper.js
62
62
  * @property {Array=} staticDataRows Shorthand for calling {@link Grid#addStaticDataRows}
63
63
  * @property {Array.<string>=} dataFields Shorthand for calling {@link Grid#addDataFields}
64
64
  * @property {boolean=} rowVirtualization=true If disabled, all data rows will be rendered. This will greatly impact grid's performance if the data set is huge.
65
- * @property {boolean=} columnVirtualization=false If enabled, all columns will be rendered. This will greatly impact grid's performance if the column set is huge.
65
+ * @property {boolean=} columnVirtualization=false If enabled, columns that are out of grid's view will NOT be rendered. This could greatly improve grid's performance when there are a lot of columns.
66
66
  * @property {(number|null|boolean)=} topFreezingCount=null If number >= 0 will fix number of frozen title section, If false = disabled scrollbar, if null then title section will freeze auto when new section added, this option will not work with scrollbar option.
67
67
  * @property {(number|null)=} bottomFreezingCount=null If number >= 0 will fix nuber of frozen footer section, if null then footer section will freeze auto when new section added, this option will not work with scrollbar option.
68
68
  * @property {boolean=} borders=false Lines around grid element
@@ -46,7 +46,6 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
46
46
  * @extends {GridPlugin}
47
47
  */
48
48
  let CellSelectionPlugin = function (options) {
49
- this._textRange = document.createRange();
50
49
  this._unselectables = {
51
50
  title: true,
52
51
  header: true,
@@ -66,7 +65,7 @@ let CellSelectionPlugin = function (options) {
66
65
  this._onMouseDown = this._onMouseDown.bind(this);
67
66
  this._onBlur = this._onBlur.bind(this);
68
67
  this._onCopy = this._onCopy.bind(this);
69
- this._onTab = this._onTab.bind(this);
68
+ this._onKeyDown = this._onKeyDown.bind(this);
70
69
  this._onPostSectionDataBinding = this._onPostSectionDataBinding.bind(this);
71
70
  this._onColumnMoved = this._onColumnMoved.bind(this);
72
71
 
@@ -98,11 +97,6 @@ CellSelectionPlugin._applyStyles = function(grid) {
98
97
  injectCss(CellSelectionPlugin._styles, grid.getElement());
99
98
  };
100
99
 
101
- /** @type {Range}
102
- * @private
103
- */
104
- CellSelectionPlugin.prototype._textRange = null;
105
-
106
100
  /** Current anchor position that mouse down.
107
101
  * @type {Object}
108
102
  * @private
@@ -257,11 +251,7 @@ CellSelectionPlugin.prototype.initialize = function (host, options) {
257
251
 
258
252
  host.listen("focusout", this._onBlur);
259
253
  host.listen("copy", this._onCopy);
260
-
261
- // Listen keydown from other hosts
262
- if(this._tabToSelect) {
263
- host.listen("keydown", this._onTab);
264
- }
254
+ host.listen("keydown", this._onKeyDown); // WARNING: all hosts have keydown listener
265
255
 
266
256
  host.listen("postSectionDataBinding", this._onPostSectionDataBinding);
267
257
  host.listen("columnMoved", this._onColumnMoved);
@@ -290,7 +280,7 @@ CellSelectionPlugin.prototype.unload = function (host) {
290
280
 
291
281
  host.unlisten("copy", this._onCopy);
292
282
  host.unlisten("focusout", this._onBlur);
293
- host.unlisten("keydown", this._onTab);
283
+ host.unlisten("keydown", this._onKeyDown);
294
284
 
295
285
  host.unlisten("postSectionDataBinding", this._onPostSectionDataBinding);
296
286
  host.unlisten("columnMoved", this._onColumnMoved);
@@ -352,9 +342,6 @@ CellSelectionPlugin.prototype.config = function(options) {
352
342
  val = pluginOption["tabToSelect"];
353
343
  if(val) {
354
344
  this._tabToSelect = true;
355
- if(this._hosts[0]) {
356
- this._hosts[0].listen("keydown", this._onTab);
357
- }
358
345
  }
359
346
 
360
347
  // event callback
@@ -416,7 +403,7 @@ CellSelectionPlugin.prototype._getEventHandlers = function() {
416
403
  "mouseup": this._onMouseUp,
417
404
  "copy": this._onCopy,
418
405
  "blur": this._onBlur,
419
- "keydown": this._onTab
406
+ "keydown": this._onKeyDown
420
407
  };
421
408
  };
422
409
  /** Fire when mouse down.
@@ -752,6 +739,11 @@ CellSelectionPlugin.prototype._onBlur = function (e) { // WARNING: This happens
752
739
  if(this._dragging || !this._autoDeselecting) { // Ignore any blur and focusout during the dragging operation
753
740
  return;
754
741
  }
742
+ if(this._realTimeGrid && this._realTimeGrid.contains) {
743
+ if(this._realTimeGrid.contains(e.relatedTarget)) { // For blur event, relatedTarget is the EventTarget receiving focus (if any)
744
+ return; // Grid does not really lose focus to the outside element
745
+ }
746
+ }
755
747
 
756
748
  if(this.deselectAll()) {
757
749
  this._dispatch("selectionChanged", {});
@@ -887,20 +879,74 @@ CellSelectionPlugin.prototype._onCopy = function (e) {
887
879
  EventDispatcher.preventDefault(e);
888
880
  }
889
881
  };
890
-
882
+ /** @private
883
+ * @constant
884
+ * @type {Object}
885
+ */
886
+ const _arrowKeys = {
887
+ "ArrowLeft": true,
888
+ "ArrowRight": true,
889
+ "ArrowUp": true,
890
+ "ArrowDown": true
891
+ };
891
892
  /** @private
892
893
  * @param {KeyboardEvent} e
893
894
  */
894
- CellSelectionPlugin.prototype._onTab = function (e) {
895
- if(e.keyCode === 9) { // Tab key
896
- if(e.altKey || e.ctrlKey || e.metaKey) {
897
- return;
895
+ CellSelectionPlugin.prototype._onKeyDown = function (e) {
896
+ if(e.altKey || e.ctrlKey || e.metaKey || e.defaultPrevented || !this._anchor) {
897
+ return;
898
+ }
899
+
900
+ let handled = false;
901
+ let code = e.code;
902
+ if(code === "Tab") {
903
+ if(this._tabToSelect) {
904
+ handled = (e.shiftKey) ? this.selectPrevCell() : this.selectNextCell();
898
905
  }
899
- let ret = (e.shiftKey) ? this.selectPrevCell() : this.selectNextCell();
900
- if(ret) {
901
- EventDispatcher.preventDefault(e);
906
+ } else if(_arrowKeys[code]) {
907
+ let colIndex = this._anchor["colIndex"];
908
+ let rowIndex = this._anchor["rowIndex"];
909
+ if(e.shiftKey) {
910
+ if(this._curMouse) {
911
+ colIndex = this._curMouse["colIndex"];
912
+ rowIndex = this._curMouse["rowIndex"];
913
+ }
914
+ if(code === "ArrowLeft") {
915
+ colIndex--;
916
+ } else if(code === "ArrowRight") {
917
+ colIndex++;
918
+ } else if(code === "ArrowUp") {
919
+ rowIndex--;
920
+ } else if(code === "ArrowDown") {
921
+ rowIndex++;
922
+ }
923
+ let cellInfo = this._getCellInfo(colIndex, rowIndex);
924
+ if(cellInfo) {
925
+ handled = true;
926
+ let activeGrid = this._getActiveGrid();
927
+ if(activeGrid) {
928
+ activeGrid.scrollToRow(null, rowIndex);
929
+ }
930
+ this._curMouse = cellInfo;
931
+ this._updateSelection(this._newSelectionRect());
932
+ }
933
+ } else if(code === "ArrowLeft") {
934
+ handled = this.selectPrevCell();
935
+ } else if(code === "ArrowRight") {
936
+ handled = this.selectNextCell();
937
+ } else {
938
+ rowIndex = (code === "ArrowUp") ? rowIndex - 1 : rowIndex + 1;
939
+ let cellInfo = this._getCellInfo(colIndex, rowIndex);
940
+ if(cellInfo) {
941
+ this.selectSingleCell(cellInfo);
942
+ handled = true;
943
+ }
902
944
  }
903
945
  }
946
+
947
+ if(handled) {
948
+ EventDispatcher.preventDefault(e);
949
+ }
904
950
  };
905
951
 
906
952
  /** @private
@@ -977,20 +1023,24 @@ CellSelectionPlugin.prototype._getCumulativeIndex = function (obj) {
977
1023
 
978
1024
  /** Add new selection rectangle area.
979
1025
  * @private
1026
+ * @param {Object=} targetPos
980
1027
  * @return {!Object} Rectangle
981
1028
  */
982
- CellSelectionPlugin.prototype._newSelectionRect = function () {
983
- if(!this._anchor || !this._curMouse) {
1029
+ CellSelectionPlugin.prototype._newSelectionRect = function (targetPos) {
1030
+ if(!targetPos) {
1031
+ targetPos = this._curMouse;
1032
+ }
1033
+ if(!this._anchor || !targetPos) {
984
1034
  return this._curRect;
985
1035
  }
986
1036
 
987
1037
  let rect = {};
988
1038
  if(this._mode !== "row") {
989
- if(this._anchor["colIndex"] <= this._curMouse["colIndex"]) {
1039
+ if(this._anchor["colIndex"] <= targetPos["colIndex"]) {
990
1040
  rect.left = this._anchor["colIndex"];
991
- rect.right = this._curMouse["colIndex"] + 1;
1041
+ rect.right = targetPos["colIndex"] + 1;
992
1042
  } else {
993
- rect.left = this._curMouse["colIndex"];
1043
+ rect.left = targetPos["colIndex"];
994
1044
  rect.right = this._anchor["colIndex"] + 1;
995
1045
  }
996
1046
  } else {
@@ -999,7 +1049,7 @@ CellSelectionPlugin.prototype._newSelectionRect = function () {
999
1049
  }
1000
1050
 
1001
1051
  // Required
1002
- let cIndex = this._getCumulativeIndex(this._curMouse);
1052
+ let cIndex = this._getCumulativeIndex(targetPos);
1003
1053
  let aIndex = this._getCumulativeIndex(this._anchor);
1004
1054
 
1005
1055
  if(this._mode !== "column") {
@@ -1440,10 +1490,25 @@ CellSelectionPlugin.prototype.setSelectableSections = function (types) {
1440
1490
  * extension.selectSingleCell({colIndex: 1, rowIndex: 0});
1441
1491
  */
1442
1492
  CellSelectionPlugin.prototype.selectSingleCell = function (anchor) {
1493
+ let prevRowIndex = -1;
1494
+ if(this._anchor) {
1495
+ prevRowIndex = this._anchor["rowIndex"];
1496
+ }
1497
+
1443
1498
  this.deselectAll();
1444
1499
 
1445
1500
  if(!anchor) { return; }
1446
1501
 
1502
+ if(prevRowIndex >= 0) {
1503
+ let activeGrid = this._getActiveGrid();
1504
+ if(activeGrid) {
1505
+ let newRowIndex = anchor["rowIndex"];
1506
+ if(Math.abs(prevRowIndex - newRowIndex) === 1) {
1507
+ activeGrid.scrollToRow(null, newRowIndex);
1508
+ }
1509
+ }
1510
+ }
1511
+
1447
1512
  this._anchor = anchor;
1448
1513
  this._curMouse = anchor;
1449
1514
 
@@ -1490,6 +1555,27 @@ CellSelectionPlugin.prototype.selectCells = function (rect) {
1490
1555
  this._updateSelection(tgtRect);
1491
1556
  };
1492
1557
 
1558
+
1559
+ /** Get cell info object from the specified coordinate
1560
+ * @private
1561
+ * @param {number} colIndex
1562
+ * @param {number} rowIndex
1563
+ * @return {Object} Cell info object
1564
+ */
1565
+ CellSelectionPlugin.prototype._getCellInfo = function (colIndex, rowIndex) {
1566
+ let activeGrid = this._getActiveGrid();
1567
+ if(activeGrid) {
1568
+ let cellInfo = activeGrid.getCellInfo({
1569
+ "colIndex": colIndex,
1570
+ "rowIndex": rowIndex
1571
+ });
1572
+ if(cellInfo) {
1573
+ cellInfo["grid"] = activeGrid; // Check if we need to do this
1574
+ return cellInfo;
1575
+ }
1576
+ }
1577
+ return null;
1578
+ };
1493
1579
  /** Select next cell from the current selection anchor.
1494
1580
  * @public
1495
1581
  * @return {boolean} Return true if the next cell is selected, otherwise false
@@ -1499,22 +1585,23 @@ CellSelectionPlugin.prototype.selectNextCell = function () {
1499
1585
  if(this._anchor) { // TODO: Handle looping
1500
1586
  let activeGrid = this._getActiveGrid();
1501
1587
  if(this._mode == "row") {
1502
- newAnchor = activeGrid.getCellInfo({"colIndex": 0, "rowIndex": this._anchor["rowIndex"] + 1});
1588
+ newAnchor = this._getCellInfo(0, this._anchor["rowIndex"] + 1);
1503
1589
  } else if(this._mode == "column") {
1504
- newAnchor = activeGrid.getCellInfo({"colIndex": this._anchor["colIndex"] + 1, "rowIndex": 0});
1590
+ newAnchor = this._getCellInfo(this._anchor["colIndex"] + 1, 0);
1505
1591
  } else {
1506
1592
  newAnchor = activeGrid.getNextCell(this._anchor);
1507
- if(newAnchor && !newAnchor.cell) {
1508
- newAnchor = null; // Last cell in the last row has been reached
1593
+ if(newAnchor) {
1594
+ if(newAnchor.cell) {
1595
+ newAnchor["grid"] = activeGrid; // Check if we need to do this
1596
+ } else {
1597
+ newAnchor = null; // Last cell in the last row has been reached
1598
+ }
1509
1599
  }
1510
1600
  }
1511
1601
 
1512
- // Need to store active-grid
1513
1602
  if(newAnchor) {
1514
- newAnchor.grid = activeGrid;
1603
+ this.selectSingleCell(newAnchor);
1515
1604
  }
1516
-
1517
- this.selectSingleCell(newAnchor);
1518
1605
  }
1519
1606
  return newAnchor ? true : false;
1520
1607
  };
@@ -1527,22 +1614,23 @@ CellSelectionPlugin.prototype.selectPrevCell = function () {
1527
1614
  if(this._anchor) { // TODO: Handle looping
1528
1615
  let activeGrid = this._getActiveGrid();
1529
1616
  if(this._mode == "row") {
1530
- newAnchor = activeGrid.getCellInfo({"colIndex": 0, "rowIndex": this._anchor["rowIndex"] - 1});
1617
+ newAnchor = this._getCellInfo(0, this._anchor["rowIndex"] - 1);
1531
1618
  } else if(this._mode == "column") {
1532
- newAnchor = activeGrid.getCellInfo({"colIndex": this._anchor["colIndex"] - 1, "rowIndex": 0});
1619
+ newAnchor = this._getCellInfo(this._anchor["colIndex"] - 1, 0);
1533
1620
  } else {
1534
1621
  newAnchor = activeGrid.getPrevCell(this._anchor);
1535
- if(newAnchor && !newAnchor.cell) {
1536
- newAnchor = null; // The first cell in the first row has been reached
1622
+ if(newAnchor) {
1623
+ if(newAnchor.cell) {
1624
+ newAnchor["grid"] = activeGrid; // Check if we need to do this
1625
+ } else {
1626
+ newAnchor = null; // Last cell in the last row has been reached
1627
+ }
1537
1628
  }
1538
1629
  }
1539
1630
 
1540
- // Need to store active-grid
1541
1631
  if(newAnchor) {
1542
- newAnchor.grid = activeGrid;
1632
+ this.selectSingleCell(newAnchor);
1543
1633
  }
1544
-
1545
- this.selectSingleCell(newAnchor);
1546
1634
  }
1547
1635
  return newAnchor ? true : false;
1548
1636
  };
package/lib/versions.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "@grid/statistics-row": "1.0.17",
7
7
  "@grid/zoom": "1.0.13",
8
8
  "tr-grid-auto-tooltip": "1.1.9",
9
- "tr-grid-cell-selection": "1.0.39",
9
+ "tr-grid-cell-selection": "1.1.0",
10
10
  "tr-grid-checkbox": "1.0.70",
11
11
  "tr-grid-column-fitter": "1.0.41",
12
12
  "tr-grid-column-formatting": "0.9.36",
package/package.json CHANGED
@@ -69,5 +69,5 @@
69
69
  "publishConfig": {
70
70
  "access": "public"
71
71
  },
72
- "version": "6.0.161"
72
+ "version": "6.0.162"
73
73
  }