@refinitiv-ui/efx-grid 6.0.24 → 6.0.26
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.css +1 -1
- package/lib/core/dist/core.js +1331 -145
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +11 -0
- package/lib/core/es6/grid/Core.js +81 -10
- package/lib/core/es6/grid/util/ElementFrameWork.js +1 -1
- package/lib/core/es6/tr-grid-theme.js +1 -1
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +768 -53
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +1 -1
- package/lib/rt-grid/es6/FieldDefinition.d.ts +2 -0
- package/lib/rt-grid/es6/FieldDefinition.js +13 -2
- package/lib/rt-grid/es6/Grid.d.ts +3 -1
- package/lib/rt-grid/es6/Grid.js +83 -39
- package/lib/rt-grid/es6/RowDefinition.d.ts +14 -1
- package/lib/rt-grid/es6/RowDefinition.js +54 -2
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +3 -2
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +314 -566
- package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +13 -11
- package/lib/tr-grid-column-selection/es6/ColumnSelection.js +233 -81
- package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +3 -3
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +50 -56
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +21 -9
- package/lib/tr-grid-range-bar/es6/RangeBar.d.ts +18 -9
- package/lib/tr-grid-range-bar/es6/RangeBar.js +318 -139
- package/lib/tr-grid-util/es6/GridPlugin.d.ts +1 -1
- package/lib/tr-grid-util/es6/GridPlugin.js +13 -15
- package/lib/tr-grid-util/es6/GroupDefinitions.d.ts +58 -0
- package/lib/tr-grid-util/es6/GroupDefinitions.js +538 -0
- package/lib/tr-grid-util/es6/Popup.js +1 -1
- package/lib/tr-grid-util/es6/index.d.ts +2 -0
- package/lib/tr-grid-util/es6/index.js +3 -0
- package/lib/types/es6/ColumnGrouping.d.ts +3 -2
- package/lib/types/es6/ColumnSelection.d.ts +13 -11
- package/lib/types/es6/ColumnStack.d.ts +3 -3
- package/lib/types/es6/Core/grid/Core.d.ts +11 -0
- package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +3 -1
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +14 -1
- package/lib/types/es6/index.d.ts +1 -1
- package/lib/versions.json +6 -6
- package/package.json +1 -1
@@ -7,22 +7,22 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
|
7
7
|
declare namespace ColumnSelectionPlugin {
|
8
8
|
|
9
9
|
type Options = {
|
10
|
-
singleSelection?: boolean,
|
11
|
-
clickToggle?: boolean,
|
12
|
-
selectionChanged?: ((...params: any[]) => any),
|
13
|
-
menuClicked?: ((...params: any[]) => any),
|
14
|
-
menuPosition?: string
|
10
|
+
singleSelection?: boolean|null,
|
11
|
+
clickToggle?: boolean|null,
|
12
|
+
selectionChanged?: ((...params: any[]) => any)|null,
|
13
|
+
menuClicked?: ((...params: any[]) => any)|null,
|
14
|
+
menuPosition?: string|null
|
15
15
|
};
|
16
16
|
|
17
17
|
type ColumnOptions = {
|
18
|
-
unselectable?: boolean
|
18
|
+
unselectable?: boolean|null
|
19
19
|
};
|
20
20
|
|
21
21
|
}
|
22
22
|
|
23
23
|
declare class ColumnSelectionPlugin extends GridPlugin {
|
24
24
|
|
25
|
-
constructor(options?: ColumnSelectionPlugin.Options);
|
25
|
+
constructor(options?: ColumnSelectionPlugin.Options|null);
|
26
26
|
|
27
27
|
public getName(): string;
|
28
28
|
|
@@ -34,7 +34,7 @@ declare class ColumnSelectionPlugin extends GridPlugin {
|
|
34
34
|
|
35
35
|
public getConfigObject(gridOptions?: any): any;
|
36
36
|
|
37
|
-
public disable(opt_bool?: boolean): void;
|
37
|
+
public disable(opt_bool?: boolean|null): void;
|
38
38
|
|
39
39
|
public isEnabled(): boolean;
|
40
40
|
|
@@ -46,9 +46,11 @@ declare class ColumnSelectionPlugin extends GridPlugin {
|
|
46
46
|
|
47
47
|
public getLastSelectedColumn(): number;
|
48
48
|
|
49
|
-
public setSelectedColumn(colIndex: number, opt_select?: boolean, opt_grid?: any): boolean;
|
49
|
+
public setSelectedColumn(colIndex: number, opt_select?: boolean|null, opt_grid?: any): boolean;
|
50
50
|
|
51
|
-
public selectSingleColumn(opt_colIndex?: (number|null), opt_grid?: any): void;
|
51
|
+
public selectSingleColumn(opt_colIndex?: (number|null)|null, opt_grid?: any): void;
|
52
|
+
|
53
|
+
public selectSingleGroup(groupId: string, opt_grid?: any): void;
|
52
54
|
|
53
55
|
public selectRange(anchorIndex: number, len: number, opt_grid?: any): void;
|
54
56
|
|
@@ -58,7 +60,7 @@ declare class ColumnSelectionPlugin extends GridPlugin {
|
|
58
60
|
|
59
61
|
public clearSelectedColumns(): void;
|
60
62
|
|
61
|
-
public clearSelection(cols?: (number|(number)[])): void;
|
63
|
+
public clearSelection(cols?: (number|(number)[])|null): void;
|
62
64
|
|
63
65
|
public selectAll(): void;
|
64
66
|
|
@@ -115,6 +115,12 @@ ColumnSelectionPlugin.prototype._menuButton = null;
|
|
115
115
|
*/
|
116
116
|
|
117
117
|
ColumnSelectionPlugin.prototype._menuPosition = "outside";
|
118
|
+
/** @type {Object}
|
119
|
+
* @private
|
120
|
+
*/
|
121
|
+
|
122
|
+
ColumnSelectionPlugin.prototype._cgp = null; // Column grouping extension
|
123
|
+
|
118
124
|
/** @public
|
119
125
|
* @return {string}
|
120
126
|
*/
|
@@ -152,15 +158,12 @@ ColumnSelectionPlugin.prototype.initialize = function (host, options) {
|
|
152
158
|
host.listen("columnPositionChanged", this._onColumnPositionChanged);
|
153
159
|
this.config(options);
|
154
160
|
|
155
|
-
if (
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
} else {
|
160
|
-
ColumnSelectionPlugin._stylePromise = ElfUtil.getThemeColors();
|
161
|
+
if (ColumnSelectionPlugin._stylePromise) {
|
162
|
+
ColumnSelectionPlugin._applyThemeColor(host);
|
163
|
+
} else {
|
164
|
+
ColumnSelectionPlugin._stylePromise = ElfUtil.getThemeColors();
|
161
165
|
|
162
|
-
|
163
|
-
}
|
166
|
+
ColumnSelectionPlugin._stylePromise.then(this._onThemeLoaded)["catch"](this._onThemeLoaded);
|
164
167
|
}
|
165
168
|
};
|
166
169
|
/** @private
|
@@ -170,7 +173,7 @@ ColumnSelectionPlugin.prototype.initialize = function (host, options) {
|
|
170
173
|
ColumnSelectionPlugin.prototype._onThemeLoaded = function () {
|
171
174
|
if (!ColumnSelectionPlugin._styles) {
|
172
175
|
var styles = [".column-selection-menu", ["position: absolute;", "background-color: var(--grid-column-menu-icon-bgcolor);", "color: var(--grid-column-menu-icon-color);", "z-index: 1;", "cursor: pointer;", "text-align: center;", "width: 16px;", "height: 16px;", "padding: 6px;"], ".column-selection-menu:hover", ["background-color: var(--grid-column-menu-icon-hover-bgcolor);"], ".column-selection-menu-inside", ["padding: 4px;" // if not outside icon, move to inside
|
173
|
-
]];
|
176
|
+
], ".selected-column .cell.selected-group", ["background-color: var(--grid-selection-bgcolor);"]];
|
174
177
|
ColumnSelectionPlugin._styles = prettifyCss(styles);
|
175
178
|
}
|
176
179
|
|
@@ -194,6 +197,15 @@ ColumnSelectionPlugin._applyThemeColor = function (grid) {
|
|
194
197
|
injectCss(ColumnSelectionPlugin._styles, grid.getParent());
|
195
198
|
}
|
196
199
|
};
|
200
|
+
/**
|
201
|
+
* @protected
|
202
|
+
* @ignore
|
203
|
+
*/
|
204
|
+
|
205
|
+
|
206
|
+
ColumnSelectionPlugin.prototype._afterInit = function () {
|
207
|
+
this._cgp = this._getPlugin("ColumnGroupingPlugin");
|
208
|
+
};
|
197
209
|
/** @public
|
198
210
|
* @param {Object=} host core grid object
|
199
211
|
*/
|
@@ -436,48 +448,13 @@ ColumnSelectionPlugin.prototype.getLastSelectedColumn = function () {
|
|
436
448
|
|
437
449
|
|
438
450
|
ColumnSelectionPlugin.prototype.setSelectedColumn = function (colIndex, opt_select, opt_grid) {
|
439
|
-
|
440
|
-
return false;
|
441
|
-
}
|
442
|
-
|
443
|
-
if (opt_grid) {
|
444
|
-
if (opt_grid !== this._activeGrid) {
|
445
|
-
this._activeGrid = opt_grid; // TODO: Check if the grid is one of the hosts
|
446
|
-
}
|
447
|
-
}
|
448
|
-
|
449
|
-
if (!this._activeGrid) {
|
450
|
-
this._activeGrid = this._hosts[0]; // Select the first grid
|
451
|
-
|
452
|
-
if (!this._activeGrid) {
|
453
|
-
return false;
|
454
|
-
}
|
455
|
-
}
|
456
|
-
|
457
|
-
if (colIndex >= this.getColumnCount()) {
|
458
|
-
return false;
|
459
|
-
}
|
460
|
-
|
461
|
-
var selection = opt_select ? true : false;
|
462
|
-
|
463
|
-
if (selection && this._getColumnOption(colIndex, "unselectable")) {
|
464
|
-
return false;
|
465
|
-
}
|
466
|
-
|
467
|
-
this._hasSelection = selection ? true : null;
|
468
|
-
this._pendingSelectionOnAdded = -1; // New selection happens before resolving the pending selection
|
451
|
+
var dirty = this._setSelectedColumn(colIndex, opt_select, opt_grid);
|
469
452
|
|
470
|
-
|
471
|
-
|
472
|
-
var len = this._hosts.length;
|
473
|
-
|
474
|
-
for (var i = 0; i < len; ++i) {
|
475
|
-
this._hosts[i].selectColumn(colIndex, selection);
|
453
|
+
if (dirty) {
|
454
|
+
this._updateGroupSelection();
|
476
455
|
}
|
477
456
|
|
478
|
-
|
479
|
-
|
480
|
-
return true;
|
457
|
+
return dirty;
|
481
458
|
};
|
482
459
|
/** Select the specified column on an active grid, and clear all other column selections
|
483
460
|
* @public
|
@@ -499,9 +476,42 @@ ColumnSelectionPlugin.prototype.selectSingleColumn = function (opt_colIndex, opt
|
|
499
476
|
var activeGrid = opt_grid || this._activeGrid;
|
500
477
|
this.clearAllSelections();
|
501
478
|
|
502
|
-
if (this.
|
479
|
+
if (this._setSelectedColumn(opt_colIndex, true, activeGrid)) {
|
503
480
|
this._anchorCol = opt_colIndex; // Update the anchor
|
504
481
|
}
|
482
|
+
|
483
|
+
this._updateGroupSelection();
|
484
|
+
};
|
485
|
+
/**
|
486
|
+
* Select the columns in a group on an active grid, and clear all other column selections
|
487
|
+
* This does not working with single selection mode
|
488
|
+
* @public
|
489
|
+
* @param {string} groupId
|
490
|
+
* @param {Object=} opt_grid core grid object
|
491
|
+
*/
|
492
|
+
|
493
|
+
|
494
|
+
ColumnSelectionPlugin.prototype.selectSingleGroup = function (groupId, opt_grid) {
|
495
|
+
var activeGrid = opt_grid || this._activeGrid;
|
496
|
+
var cgp = this._cgp;
|
497
|
+
|
498
|
+
if (!cgp || !groupId) {
|
499
|
+
return;
|
500
|
+
}
|
501
|
+
|
502
|
+
var childIndices = cgp.getChildColumnIndices(groupId);
|
503
|
+
var dirty = false;
|
504
|
+
this.clearAllSelections();
|
505
|
+
|
506
|
+
for (var i = 0; i <= childIndices.length; i++) {
|
507
|
+
dirty |= this._setSelectedColumn(childIndices[i], true, activeGrid);
|
508
|
+
}
|
509
|
+
|
510
|
+
if (dirty) {
|
511
|
+
this._anchorCol = childIndices[0];
|
512
|
+
}
|
513
|
+
|
514
|
+
this._updateGroupSelection();
|
505
515
|
};
|
506
516
|
/** Select from the anchorIndex to the target by length
|
507
517
|
* @public
|
@@ -724,6 +734,116 @@ ColumnSelectionPlugin.prototype.isSelectedColumn = function (colIndex) {
|
|
724
734
|
ColumnSelectionPlugin.prototype.getActiveGrid = function () {
|
725
735
|
return this._activeGrid;
|
726
736
|
};
|
737
|
+
/** Select or deselect a column on the active grid
|
738
|
+
* @private
|
739
|
+
* @param {number} colIndex
|
740
|
+
* @param {boolean=} opt_select=false Null or undefined value will be treated as false value
|
741
|
+
* @param {Object=} opt_grid core grid object
|
742
|
+
* @return {boolean} Return true for successful selection, otherwise false
|
743
|
+
*/
|
744
|
+
|
745
|
+
|
746
|
+
ColumnSelectionPlugin.prototype._setSelectedColumn = function (colIndex, opt_select, opt_grid) {
|
747
|
+
if (!(colIndex >= 0)) {
|
748
|
+
return false;
|
749
|
+
}
|
750
|
+
|
751
|
+
if (opt_grid) {
|
752
|
+
if (opt_grid !== this._activeGrid) {
|
753
|
+
this._activeGrid = opt_grid; // TODO: Check if the grid is one of the hosts
|
754
|
+
}
|
755
|
+
}
|
756
|
+
|
757
|
+
if (!this._activeGrid) {
|
758
|
+
this._activeGrid = this._hosts[0]; // Select the first grid
|
759
|
+
|
760
|
+
if (!this._activeGrid) {
|
761
|
+
return false;
|
762
|
+
}
|
763
|
+
}
|
764
|
+
|
765
|
+
if (colIndex >= this.getColumnCount()) {
|
766
|
+
return false;
|
767
|
+
}
|
768
|
+
|
769
|
+
var selection = opt_select ? true : false;
|
770
|
+
|
771
|
+
if (selection && this._getColumnOption(colIndex, "unselectable")) {
|
772
|
+
return false;
|
773
|
+
}
|
774
|
+
|
775
|
+
this._hasSelection = selection ? true : null;
|
776
|
+
this._pendingSelectionOnAdded = -1; // New selection happens before resolving the pending selection
|
777
|
+
|
778
|
+
this._pendingSelectionOnRemoved = -1; // New selection happens before resolving the pending selection
|
779
|
+
|
780
|
+
var len = this._hosts.length;
|
781
|
+
|
782
|
+
for (var i = 0; i < len; ++i) {
|
783
|
+
this._hosts[i].selectColumn(colIndex, selection);
|
784
|
+
}
|
785
|
+
|
786
|
+
this._updateMenuIcon();
|
787
|
+
|
788
|
+
return true;
|
789
|
+
};
|
790
|
+
/**
|
791
|
+
* @private
|
792
|
+
* @param {Array<number>} colIndices
|
793
|
+
* @return {boolean}
|
794
|
+
*/
|
795
|
+
|
796
|
+
|
797
|
+
ColumnSelectionPlugin.prototype._isSelectedColumns = function (colIndices) {
|
798
|
+
var isAllSelected = false;
|
799
|
+
var count = colIndices.length;
|
800
|
+
|
801
|
+
if (this._activeGrid) {
|
802
|
+
for (var i = 0; i < count; i++) {
|
803
|
+
var colIndex = colIndices[i];
|
804
|
+
isAllSelected = this._activeGrid.isSelectedColumn(colIndex);
|
805
|
+
|
806
|
+
if (!isAllSelected) {
|
807
|
+
break;
|
808
|
+
}
|
809
|
+
}
|
810
|
+
}
|
811
|
+
|
812
|
+
return isAllSelected;
|
813
|
+
};
|
814
|
+
/**
|
815
|
+
* @private
|
816
|
+
* @param {Array<number>} colIndices
|
817
|
+
*/
|
818
|
+
|
819
|
+
|
820
|
+
ColumnSelectionPlugin.prototype._updateGroupSelection = function () {
|
821
|
+
var cgp = this._cgp;
|
822
|
+
var grid = this._activeGrid;
|
823
|
+
|
824
|
+
if (!cgp || !grid) {
|
825
|
+
return;
|
826
|
+
}
|
827
|
+
|
828
|
+
var section = grid.getSection("title");
|
829
|
+
var groupDefs = cgp.getGroupDefinitions();
|
830
|
+
var count = groupDefs.length;
|
831
|
+
|
832
|
+
for (var i = 0; i < count; i++) {
|
833
|
+
var groupDef = groupDefs[i];
|
834
|
+
var groupId = groupDef["id"];
|
835
|
+
var childIndices = cgp.getChildColumnIndices(groupId);
|
836
|
+
var rowIndex = cgp.getGroupLevel(groupId);
|
837
|
+
var colIndex = childIndices[0];
|
838
|
+
var cell = section.getCell(colIndex, rowIndex);
|
839
|
+
|
840
|
+
if (this._isSelectedColumns(childIndices)) {
|
841
|
+
cell.addClass("selected-group");
|
842
|
+
} else {
|
843
|
+
cell.removeClass("selected-group");
|
844
|
+
}
|
845
|
+
}
|
846
|
+
};
|
727
847
|
/** Left click on title causes selection change. <br>
|
728
848
|
* Ctrl/Shift left click on title causes multi selection. <br>
|
729
849
|
* Left click anywhere, not title, causes deselection.
|
@@ -743,7 +863,8 @@ ColumnSelectionPlugin.prototype._onClick = function (e) {
|
|
743
863
|
return;
|
744
864
|
}
|
745
865
|
|
746
|
-
var
|
866
|
+
var cgp = this._cgp;
|
867
|
+
var info = cgp ? cgp.getCellInfo(e) : host.getRelativePosition(e);
|
747
868
|
|
748
869
|
if (!info["hit"] || info["sectionType"] !== "title") {
|
749
870
|
return;
|
@@ -763,43 +884,72 @@ ColumnSelectionPlugin.prototype._onClick = function (e) {
|
|
763
884
|
}
|
764
885
|
|
765
886
|
var cIndex = info["colIndex"];
|
766
|
-
var
|
887
|
+
var isNewGridClicked = !this._activeGrid || this._activeGrid !== host;
|
888
|
+
var groupId = info["groupId"];
|
889
|
+
var childIndices, childCount;
|
890
|
+
|
891
|
+
if (groupId) {
|
892
|
+
childIndices = cgp.getChildColumnIndices(groupId);
|
893
|
+
childCount = childIndices.length;
|
894
|
+
}
|
767
895
|
|
768
|
-
if (
|
896
|
+
if (isNewGridClicked) {
|
769
897
|
this.clearAllSelections();
|
770
898
|
this._activeGrid = host;
|
771
|
-
this.
|
772
|
-
|
773
|
-
} else {
|
774
|
-
// The same active grid case
|
775
|
-
if (e.ctrlKey) {
|
776
|
-
var newState = !this.isSelectedColumn(cIndex); // toggle
|
899
|
+
this._anchorCol = -1;
|
900
|
+
}
|
777
901
|
|
778
|
-
|
902
|
+
if (e.ctrlKey || e.metaKey) {
|
903
|
+
if (!groupId && (!this._singleSelMode || this.isSelectedColumn(cIndex))) {
|
904
|
+
this.setSelectedColumn(cIndex, !this.isSelectedColumn(cIndex));
|
905
|
+
this._anchorCol = this.isSelectedColumn(cIndex) ? cIndex : this.getFirstSelectedColumn();
|
906
|
+
} else {
|
907
|
+
var newState = !this._isSelectedColumns(childIndices);
|
779
908
|
|
780
|
-
|
781
|
-
this.
|
782
|
-
} else if (this._anchorCol === cIndex) {
|
783
|
-
this._anchorCol = this.getFirstSelectedColumn();
|
909
|
+
for (var i = 0; i < childCount; i++) {
|
910
|
+
this.setSelectedColumn(childIndices[i], newState, host);
|
784
911
|
}
|
912
|
+
|
913
|
+
this._anchorCol = newState ? childIndices[0] : this.getFirstSelectedColumn();
|
914
|
+
}
|
915
|
+
} else if (e.shiftKey && !this._singleSelMode) {
|
916
|
+
if (groupId) {
|
917
|
+
var firstGroupCol = childIndices[0];
|
918
|
+
var lastGroupCol = childIndices[childCount - 1];
|
919
|
+
|
920
|
+
if (this._anchorCol >= firstGroupCol && this._anchorCol <= lastGroupCol) {
|
921
|
+
this._anchorCol = firstGroupCol;
|
922
|
+
cIndex = lastGroupCol;
|
923
|
+
} else if (this._anchorCol > firstGroupCol) {
|
924
|
+
cIndex = firstGroupCol;
|
925
|
+
} else if (this._anchorCol < lastGroupCol) {
|
926
|
+
cIndex = lastGroupCol;
|
927
|
+
}
|
928
|
+
}
|
929
|
+
|
930
|
+
this._selectFromAnchorToTarget(cIndex);
|
931
|
+
} else if (this._clickToggleMode) {
|
932
|
+
var cols = this.getSelectedColumns();
|
933
|
+
|
934
|
+
if (cols.length === 1 && cols[0] === cIndex) {
|
935
|
+
this.setSelectedColumn(cIndex, false); // toggle
|
936
|
+
|
937
|
+
this._anchorCol = -1;
|
938
|
+
} else if (childIndices && cols.length == childCount && this._isSelectedColumns(childIndices)) {
|
939
|
+
this.clearAllSelections();
|
940
|
+
this._anchorCol = -1;
|
785
941
|
} else {
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
if (cols.length === 1 && cols[0] === cIndex) {
|
793
|
-
this.setSelectedColumn(cIndex, false); // toggle
|
794
|
-
|
795
|
-
this._anchorCol = -1;
|
796
|
-
} else {
|
797
|
-
this.selectSingleColumn(cIndex);
|
798
|
-
}
|
799
|
-
} else {
|
800
|
-
this.selectSingleColumn(cIndex);
|
801
|
-
}
|
942
|
+
groupId ? this.selectSingleGroup(groupId) : this.selectSingleColumn(cIndex);
|
943
|
+
}
|
944
|
+
} else {
|
945
|
+
if (this._singleSelMode) {
|
946
|
+
if (groupId) {
|
947
|
+
return;
|
802
948
|
}
|
949
|
+
|
950
|
+
this.selectSingleColumn(cIndex);
|
951
|
+
} else {
|
952
|
+
groupId ? this.selectSingleGroup(groupId) : this.selectSingleColumn(cIndex);
|
803
953
|
}
|
804
954
|
}
|
805
955
|
|
@@ -1139,13 +1289,15 @@ ColumnSelectionPlugin.prototype._selectFromAnchorToTarget = function (targetInde
|
|
1139
1289
|
|
1140
1290
|
if (targetIndex <= this._anchorCol) {
|
1141
1291
|
for (i = targetIndex; i <= this._anchorCol; ++i) {
|
1142
|
-
this.
|
1292
|
+
this._setSelectedColumn(i, true, grid);
|
1143
1293
|
}
|
1144
1294
|
} else {
|
1145
1295
|
for (i = this._anchorCol; i <= targetIndex; ++i) {
|
1146
|
-
this.
|
1296
|
+
this._setSelectedColumn(i, true, grid);
|
1147
1297
|
}
|
1148
1298
|
}
|
1299
|
+
|
1300
|
+
this._updateGroupSelection();
|
1149
1301
|
};
|
1150
1302
|
/** @private
|
1151
1303
|
* @param {Event} e
|
@@ -98,11 +98,11 @@ declare class ColumnStackPlugin extends GridPlugin {
|
|
98
98
|
|
99
99
|
public getStackMemberIds(stackId: string): (string)[];
|
100
100
|
|
101
|
-
public getColumnIdsByIndex(
|
101
|
+
public getColumnIdsByIndex(colIndices: number|(number)[]|null): (string)[];
|
102
102
|
|
103
|
-
public getColumnIndicesByColumnIds(
|
103
|
+
public getColumnIndicesByColumnIds(colIds: string|(string)[]|null): (string)[];
|
104
104
|
|
105
|
-
public getColumnIdsByFields(
|
105
|
+
public getColumnIdsByFields(fields: string|(string)[]|null): (string)[];
|
106
106
|
|
107
107
|
public addColumnToStack(colRef: number|string|null, stackId: string): void;
|
108
108
|
|