@refinitiv-ui/efx-grid 6.0.99 → 6.0.100
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.js +24 -16
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +2 -0
- package/lib/core/es6/grid/Core.js +24 -16
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +303 -24
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.d.ts +4 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +20 -0
- package/lib/rt-grid/es6/Grid.d.ts +2 -0
- package/lib/rt-grid/es6/Grid.js +222 -1
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +9 -1
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +203 -1
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +18 -6
- package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +1 -3
- package/lib/tr-grid-row-selection/es6/RowSelection.js +39 -58
- package/lib/types/es6/InCellEditing.d.ts +9 -1
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +2 -0
- package/lib/types/es6/RowSelection.d.ts +1 -3
- package/lib/versions.json +3 -3
- package/package.json +1 -1
@@ -464,12 +464,22 @@ RowDraggingPlugin.prototype.getConfigObject = function (out_obj) {
|
|
464
464
|
if(!extOptions) {
|
465
465
|
extOptions = obj.rowDragging = {};
|
466
466
|
}
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
467
|
+
|
468
|
+
if(this._dragBoxEnabled) {
|
469
|
+
extOptions.dragBox = this._dragBoxEnabled;
|
470
|
+
}
|
471
|
+
if(!this._mouseInput) {
|
472
|
+
extOptions.mouseInput = this._mouseInput;
|
473
|
+
}
|
474
|
+
if(!this._autoScroll) {
|
475
|
+
extOptions.autoScroll = this._autoScroll;
|
476
|
+
}
|
477
|
+
if(!this._dataTransfer) {
|
478
|
+
extOptions.dataTransfer = this._dataTransfer;
|
479
|
+
}
|
480
|
+
if(this._uiDisabled) {
|
481
|
+
extOptions.disabled = this._uiDisabled;
|
482
|
+
}
|
473
483
|
|
474
484
|
return obj;
|
475
485
|
};
|
@@ -1103,6 +1113,8 @@ RowDraggingPlugin.prototype._moveRows = function (srcRowRef, destRowIndex, srcGr
|
|
1103
1113
|
|
1104
1114
|
let moveCount = movedRowIds ? movedRowIds.length : 0;
|
1105
1115
|
if(moveCount) {
|
1116
|
+
destGrid.focus();
|
1117
|
+
|
1106
1118
|
evtArg["originRowId"] = movedRowIds[0];
|
1107
1119
|
evtArg["originRowIds"] = movedRowIds;
|
1108
1120
|
evtArg["destinationRowId"] = destRowId; // Return empty string for the last row
|
@@ -1,9 +1,7 @@
|
|
1
1
|
import { Ext } from "../../tr-grid-util/es6/Ext.js";
|
2
2
|
import { EventDispatcher } from "../../tr-grid-util/es6/EventDispatcher.js";
|
3
3
|
import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
|
4
|
-
import { isMac as isMacFn } from "../../tr-grid-util/es6/Util.js";
|
5
|
-
import { isIE, prepareTSVContent } from "../../tr-grid-util/es6/Util.js";
|
6
|
-
import { prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
4
|
+
import { isMac as isMacFn, prepareTSVContent, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
7
5
|
|
8
6
|
declare namespace RowSelectionPlugin {
|
9
7
|
|
@@ -1,9 +1,7 @@
|
|
1
1
|
import { Ext } from "../../tr-grid-util/es6/Ext.js";
|
2
2
|
import { EventDispatcher } from "../../tr-grid-util/es6/EventDispatcher.js";
|
3
3
|
import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
|
4
|
-
import { isMac as isMacFn } from "../../tr-grid-util/es6/Util.js";
|
5
|
-
import { isIE, prepareTSVContent } from "../../tr-grid-util/es6/Util.js";
|
6
|
-
import { prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
4
|
+
import { isMac as isMacFn, prepareTSVContent, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
7
5
|
|
8
6
|
/** @private
|
9
7
|
* @type {boolean}
|
@@ -43,7 +41,6 @@ const IS_MAC = isMacFn();
|
|
43
41
|
let RowSelectionPlugin = function (options) {
|
44
42
|
let t = this;
|
45
43
|
t._onMouseDown = t._onMouseDown.bind(t);
|
46
|
-
t._onMouseMove = t._onMouseMove.bind(t);
|
47
44
|
t._onClick = t._onClick.bind(t);
|
48
45
|
t._onKeyDown = t._onKeyDown.bind(t);
|
49
46
|
t._onBeforeRowRemoved = t._onBeforeRowRemoved.bind(t);
|
@@ -53,7 +50,6 @@ let RowSelectionPlugin = function (options) {
|
|
53
50
|
t._updateMenuIcon = t._updateMenuIcon.bind(t);
|
54
51
|
|
55
52
|
t._hosts = [];
|
56
|
-
t._isIE = isIE();
|
57
53
|
t._textRange = document.createRange();
|
58
54
|
|
59
55
|
if(options) {
|
@@ -101,10 +97,6 @@ RowSelectionPlugin.prototype._selectionField = "SELECTED_ROW";
|
|
101
97
|
* @description use with _basedOnContent mode for tracking current anchor row
|
102
98
|
*/
|
103
99
|
RowSelectionPlugin.prototype._anchorRowId = "";
|
104
|
-
/** @type {boolean}
|
105
|
-
* @private
|
106
|
-
*/
|
107
|
-
RowSelectionPlugin.prototype._isIE = false;
|
108
100
|
/** @type {Range}
|
109
101
|
* @private
|
110
102
|
*/
|
@@ -578,19 +570,40 @@ RowSelectionPlugin.prototype.disableMultiSelection = function (disabled) {
|
|
578
570
|
this._singleSelMode = disabled !== false;
|
579
571
|
};
|
580
572
|
|
573
|
+
/** Focus the active grid only if there is no selected text
|
574
|
+
* @private
|
575
|
+
* @param {boolean=} force
|
576
|
+
* @returns {boolean} Returns true if there is any change
|
577
|
+
*/
|
578
|
+
RowSelectionPlugin.prototype._focusGrid = function (force) {
|
579
|
+
if(this._activeGrid) {
|
580
|
+
if(force || !window.getSelection().toString()) {
|
581
|
+
this._activeGrid.focus();
|
582
|
+
return true;
|
583
|
+
}
|
584
|
+
}
|
585
|
+
return false;
|
586
|
+
};
|
581
587
|
/** @private
|
582
588
|
* @param {Event} e
|
583
589
|
*/
|
584
590
|
RowSelectionPlugin.prototype._onClick = function (e) {
|
585
|
-
if(this._pendingClickIndex >= 0
|
586
|
-
|
587
|
-
|
588
|
-
|
591
|
+
if(this._pendingClickIndex >= 0) {
|
592
|
+
let performClick = (this._activeGrid && this._anchorSection) ? true : false;
|
593
|
+
if(performClick) {
|
594
|
+
let curPos = this._activeGrid.getRelativePosition(e);
|
595
|
+
performClick = curPos.rowIndex === this._pendingClickIndex && curPos.section === this._anchorSection;
|
596
|
+
}
|
597
|
+
if(performClick) {
|
598
|
+
this._selectSingleRow(this._anchorSection, this._pendingClickIndex);
|
599
|
+
this._focusGrid();
|
589
600
|
|
590
|
-
|
591
|
-
|
601
|
+
if(!this._basedOnContent) { // Protect against rowPositionChanged and postBindingSection event
|
602
|
+
this._updateMenuIcon();
|
603
|
+
}
|
604
|
+
this._dispatchSelectionChanged(e);
|
592
605
|
}
|
593
|
-
this.
|
606
|
+
this._pendingClickIndex = -1;
|
594
607
|
}
|
595
608
|
};
|
596
609
|
/** @public
|
@@ -634,10 +647,9 @@ RowSelectionPlugin.prototype._onMouseDown = function (e) {
|
|
634
647
|
}
|
635
648
|
}
|
636
649
|
|
650
|
+
this._pendingClickIndex = -1;
|
637
651
|
let host = this.getRelativeGrid(e);
|
638
652
|
|
639
|
-
this._clearPendingClickIndex(host);
|
640
|
-
|
641
653
|
if(!host) {
|
642
654
|
return;
|
643
655
|
}
|
@@ -683,7 +695,8 @@ RowSelectionPlugin.prototype._onMouseDown = function (e) {
|
|
683
695
|
if(singleSelection) { // Click: selects a single row
|
684
696
|
this._anchorSection = section;
|
685
697
|
if(prevSel) { // Click on the selected row
|
686
|
-
|
698
|
+
// Delay the operation to allow drag and drop operation
|
699
|
+
this._pendingClickIndex = rowIndex;
|
687
700
|
return;
|
688
701
|
} else { // Perform single click immediately
|
689
702
|
let prevGrid = this._activeGrid;
|
@@ -698,44 +711,16 @@ RowSelectionPlugin.prototype._onMouseDown = function (e) {
|
|
698
711
|
}
|
699
712
|
}
|
700
713
|
|
701
|
-
if(this.
|
702
|
-
e.preventDefault();
|
703
|
-
this._activeGrid.focus();
|
714
|
+
if(this._focusGrid(!prevSel)) {
|
715
|
+
e.preventDefault(); // Prevent changing focus due to clicking on unfocusable element
|
704
716
|
}
|
705
717
|
|
706
718
|
if(!this._basedOnContent) { // Protect against rowPositionChanged and postBindingSection event
|
707
719
|
this._updateMenuIcon();
|
708
720
|
}
|
709
721
|
|
710
|
-
this._dispatchSelectionChanged(e, rowIndex, section);
|
711
|
-
};
|
712
722
|
|
713
|
-
|
714
|
-
* @private
|
715
|
-
* @param {Event} e
|
716
|
-
*/
|
717
|
-
RowSelectionPlugin.prototype._onMouseMove = function (e) {
|
718
|
-
let host = this.getRelativeGrid(e);
|
719
|
-
this._clearPendingClickIndex(host);
|
720
|
-
};
|
721
|
-
|
722
|
-
/** To set _pendingClickIndex
|
723
|
-
* @private
|
724
|
-
* @param {number} rowIndex
|
725
|
-
* @param {Object=} host core grid instance
|
726
|
-
*/
|
727
|
-
RowSelectionPlugin.prototype._setPendingClickIndex = function (rowIndex, host) {
|
728
|
-
this._pendingClickIndex = rowIndex;
|
729
|
-
host && host.listen("mousemove", this._onMouseMove);
|
730
|
-
};
|
731
|
-
|
732
|
-
/** To clear _pendingClickIndex
|
733
|
-
* @private
|
734
|
-
* @param {Object=} host core grid instance
|
735
|
-
*/
|
736
|
-
RowSelectionPlugin.prototype._clearPendingClickIndex = function (host) {
|
737
|
-
this._pendingClickIndex = -1;
|
738
|
-
host && host.unlisten("mousemove", this._onMouseMove);
|
723
|
+
this._dispatchSelectionChanged(e, rowIndex, section);
|
739
724
|
};
|
740
725
|
|
741
726
|
/** @private
|
@@ -865,7 +850,7 @@ RowSelectionPlugin.prototype.getSelectedText = function () {
|
|
865
850
|
if(!this._compositeGrid && !this._realTimeGrid) return "";
|
866
851
|
|
867
852
|
let selectedRows = this.getSelectedRows();
|
868
|
-
let rowCount = selectedRows.length;
|
853
|
+
let rowCount = selectedRows ? selectedRows.length : 0;
|
869
854
|
let columnCount = this.getColumnCount();
|
870
855
|
let text = "";
|
871
856
|
let dv = this._activeGrid.getDataSource();
|
@@ -938,7 +923,7 @@ RowSelectionPlugin.prototype._clearSelectedRows = function (preserveAnchor) { //
|
|
938
923
|
if(!preserveAnchor) {
|
939
924
|
this._anchorSection = null;
|
940
925
|
}
|
941
|
-
this.
|
926
|
+
this._pendingClickIndex = -1;
|
942
927
|
this._clearMenuIcon();
|
943
928
|
};
|
944
929
|
/** @private
|
@@ -952,9 +937,7 @@ RowSelectionPlugin.prototype._selectByKey = function (direction, e, pageKey) {
|
|
952
937
|
|
953
938
|
if(!this._anchorSection) { return; }
|
954
939
|
|
955
|
-
|
956
|
-
this._activeGrid.focus();
|
957
|
-
}
|
940
|
+
this._focusGrid(true);
|
958
941
|
|
959
942
|
let shiftKey = e.shiftKey;
|
960
943
|
let next = 0;
|
@@ -1267,9 +1250,7 @@ RowSelectionPlugin.prototype._gotoGrid = function (gridIndex) {
|
|
1267
1250
|
let sectionIndex = this._anchorSection.getIndex();
|
1268
1251
|
this.clearSelectedRows(); // Clear all current grid's selections
|
1269
1252
|
this.selectSingleRow(anchorRow, sectionIndex, this._hosts[gridIndex]); // go to the next grid at the first column
|
1270
|
-
|
1271
|
-
this._activeGrid.focus();
|
1272
|
-
}
|
1253
|
+
this._focusGrid(true);
|
1273
1254
|
};
|
1274
1255
|
|
1275
1256
|
/** @private
|
@@ -31,7 +31,9 @@ declare namespace InCellEditingPlugin {
|
|
31
31
|
rowEditorClosed?: ((...params: any[]) => any)|null,
|
32
32
|
autoSuggest?: Element|null,
|
33
33
|
closingOnScroll?: boolean|null,
|
34
|
-
autoHiding?: boolean|null
|
34
|
+
autoHiding?: boolean|null,
|
35
|
+
readonly?: boolean|null,
|
36
|
+
starterText?: (string|boolean)|null
|
35
37
|
};
|
36
38
|
|
37
39
|
type Cache = {
|
@@ -81,6 +83,8 @@ declare class InCellEditingPlugin extends GridPlugin {
|
|
81
83
|
|
82
84
|
public disableDblClick(opt_disabled?: boolean|null): void;
|
83
85
|
|
86
|
+
public showStarterText(bool?: boolean|null): void;
|
87
|
+
|
84
88
|
public isEditing(): boolean;
|
85
89
|
|
86
90
|
public getTextBox(columnIndex?: number|null, grid?: any): Element|null;
|
@@ -99,6 +103,10 @@ declare class InCellEditingPlugin extends GridPlugin {
|
|
99
103
|
|
100
104
|
public isColumnEditable(colIndex: number): boolean;
|
101
105
|
|
106
|
+
public enableReadonly(bool: boolean): void;
|
107
|
+
|
108
|
+
public disableReadonly(bool: boolean): void;
|
109
|
+
|
102
110
|
public openRowEditor(rowIndex: number, grid?: any): void;
|
103
111
|
|
104
112
|
public closeRowEditor(isCommit?: boolean|null): void;
|
@@ -287,6 +287,8 @@ declare class Grid extends EventDispatcher {
|
|
287
287
|
|
288
288
|
public setRicData(ric: string, values: any): void;
|
289
289
|
|
290
|
+
public getAllRics(): (string)[]|null;
|
291
|
+
|
290
292
|
public setRowData(rowRef: Grid.RowReference|null, values: any): void;
|
291
293
|
|
292
294
|
public setStaticRowData(rowRef: Grid.RowReference|null, values: any): void;
|
@@ -1,9 +1,7 @@
|
|
1
1
|
import { Ext } from "../../tr-grid-util/es6/Ext.js";
|
2
2
|
import { EventDispatcher } from "../../tr-grid-util/es6/EventDispatcher.js";
|
3
3
|
import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
|
4
|
-
import { isMac as isMacFn } from "../../tr-grid-util/es6/Util.js";
|
5
|
-
import { isIE, prepareTSVContent } from "../../tr-grid-util/es6/Util.js";
|
6
|
-
import { prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
4
|
+
import { isMac as isMacFn, prepareTSVContent, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
7
5
|
|
8
6
|
declare namespace RowSelectionPlugin {
|
9
7
|
|
package/lib/versions.json
CHANGED
@@ -19,14 +19,14 @@
|
|
19
19
|
"tr-grid-contextmenu": "1.0.41",
|
20
20
|
"tr-grid-filter-input": "0.9.39",
|
21
21
|
"tr-grid-heat-map": "1.0.29",
|
22
|
-
"tr-grid-in-cell-editing": "1.0.
|
22
|
+
"tr-grid-in-cell-editing": "1.0.85",
|
23
23
|
"tr-grid-pagination": "1.0.24",
|
24
24
|
"tr-grid-percent-bar": "1.0.24",
|
25
25
|
"tr-grid-range-bar": "2.0.8",
|
26
|
-
"tr-grid-row-dragging": "1.0.
|
26
|
+
"tr-grid-row-dragging": "1.0.35",
|
27
27
|
"tr-grid-row-filtering": "1.0.74",
|
28
28
|
"tr-grid-row-grouping": "1.0.87",
|
29
|
-
"tr-grid-row-selection": "1.0.
|
29
|
+
"tr-grid-row-selection": "1.0.30",
|
30
30
|
"tr-grid-rowcoloring": "1.0.25",
|
31
31
|
"tr-grid-textformatting": "1.0.48",
|
32
32
|
"tr-grid-titlewrap": "1.0.22",
|
package/package.json
CHANGED