@refinitiv-ui/efx-grid 6.0.134 → 6.0.136
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +51 -33
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/DataConnector.d.ts +2 -0
- package/lib/rt-grid/es6/DataConnector.js +12 -5
- package/lib/rt-grid/es6/Grid.js +12 -7
- package/lib/rt-grid/es6/SnapshotFiller.d.ts +1 -1
- package/lib/rt-grid/es6/SnapshotFiller.js +21 -15
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +3 -1
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +23 -19
- package/lib/tr-grid-util/es6/RowPainter.js +2 -2
- package/lib/types/es6/InCellEditing.d.ts +3 -1
- package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +1 -1
- package/lib/versions.json +2 -2
- package/package.json +1 -1
@@ -11,8 +11,8 @@ import RowDefinition from "./RowDefinition.js"; // eslint-disable-line
|
|
11
11
|
*/
|
12
12
|
let DataConnector = function () {
|
13
13
|
let t = this;
|
14
|
-
t._commitRicsChanges = t._commitRicsChanges.bind(
|
15
|
-
t._commitFieldsChanges = t._commitFieldsChanges.bind(
|
14
|
+
t._commitRicsChanges = t._commitRicsChanges.bind(t);
|
15
|
+
t._commitFieldsChanges = t._commitFieldsChanges.bind(t);
|
16
16
|
t._fieldChangedConflator = new Conflator(0, t._commitFieldsChanges);
|
17
17
|
t._ricChangedConflator = new Conflator(0, t._commitRicsChanges);
|
18
18
|
t._fields = new ReferenceCounter();
|
@@ -21,8 +21,6 @@ let DataConnector = function () {
|
|
21
21
|
};
|
22
22
|
Ext.inherits(DataConnector, EventDispatcher);
|
23
23
|
|
24
|
-
|
25
|
-
//#region Private Members
|
26
24
|
/** @type {Conflator}
|
27
25
|
* @private
|
28
26
|
*/
|
@@ -43,7 +41,16 @@ DataConnector.prototype._rics = null;
|
|
43
41
|
* @private
|
44
42
|
*/
|
45
43
|
DataConnector.prototype._fields = null;
|
46
|
-
|
44
|
+
|
45
|
+
/** @public
|
46
|
+
*/
|
47
|
+
DataConnector.prototype.dispose = function () {
|
48
|
+
this.removeAllEventListeners();
|
49
|
+
|
50
|
+
this._rowDefMap = this._fields = this._rics = null;
|
51
|
+
this._fieldChangedConflator.reset();
|
52
|
+
this._ricChangedConflator.reset();
|
53
|
+
};
|
47
54
|
|
48
55
|
/** Get all ric with no duplication
|
49
56
|
* @public
|
package/lib/rt-grid/es6/Grid.js
CHANGED
@@ -632,7 +632,9 @@ Grid.prototype.dispose = function() {
|
|
632
632
|
this.removeAllRows(); // Some conflators are reset
|
633
633
|
this._sorter.dispose();
|
634
634
|
this._grid.dispose();
|
635
|
-
this.
|
635
|
+
this._snapshot.dispose();
|
636
|
+
this._connector.dispose();
|
637
|
+
this._connector = null;
|
636
638
|
|
637
639
|
if(!this._sharedDataSource) { // Make sure that this is the final grid, and its data is disposed
|
638
640
|
if(this._subs) {
|
@@ -1643,7 +1645,7 @@ Grid.prototype.replaceColumn = function (columnOption, colRef) {
|
|
1643
1645
|
* @param {Object} response
|
1644
1646
|
*/
|
1645
1647
|
Grid.prototype._onFieldLoadedSuccess = function (field, colDef, response) {
|
1646
|
-
if
|
1648
|
+
if(this._connector && response && response.id) {
|
1647
1649
|
let fieldDef = response;
|
1648
1650
|
if (colDef && colDef.getField() === field) {
|
1649
1651
|
if (colDef.isDefaultName() && fieldDef.name) {
|
@@ -1668,12 +1670,14 @@ Grid.prototype._onFieldLoadedError = function (err) {
|
|
1668
1670
|
* @param {string} referrer
|
1669
1671
|
*/
|
1670
1672
|
Grid.prototype._onFieldLoaded = function (field, referrer) {
|
1671
|
-
|
1672
|
-
|
1673
|
-
|
1674
|
-
|
1673
|
+
if(this._connector) {
|
1674
|
+
// For time series, we need to wait until the field is loadedm, then we can insert a child from the field data.
|
1675
|
+
if(FieldDefinition.isTimeSeries(field)) {
|
1676
|
+
let colDef = this.getColumnDefinitionById(referrer); // The 'referrer' is a column ID that was just added
|
1677
|
+
this._populateTimeSeriesChildren(colDef);
|
1678
|
+
}
|
1679
|
+
this._connector.addFields(field, referrer);
|
1675
1680
|
}
|
1676
|
-
this._connector.addFields(field, referrer);
|
1677
1681
|
};
|
1678
1682
|
|
1679
1683
|
/**
|
@@ -2694,6 +2698,7 @@ Grid.prototype.removeAllRows = function() {
|
|
2694
2698
|
|
2695
2699
|
this._dc.clearAllData();
|
2696
2700
|
this._dt.clearAllData();
|
2701
|
+
this._dt.setClassificationSource(this._dc);
|
2697
2702
|
this._clearDataUpdates();
|
2698
2703
|
|
2699
2704
|
rowDefs.forEach(RowDefinition.dispose); // Each individual subscription is unsubscribed along with disposed rowDef
|
@@ -20,7 +20,11 @@ let SnapshotFiller = function () {
|
|
20
20
|
};
|
21
21
|
Ext.inherits(SnapshotFiller, EventDispatcher);
|
22
22
|
|
23
|
-
|
23
|
+
/** @private
|
24
|
+
* @type {Object}
|
25
|
+
*/
|
26
|
+
SnapshotFiller._mockAdc = null;
|
27
|
+
|
24
28
|
/** @type {number}
|
25
29
|
* @private
|
26
30
|
*/
|
@@ -41,23 +45,27 @@ SnapshotFiller.prototype._rtk;
|
|
41
45
|
* @private
|
42
46
|
*/
|
43
47
|
SnapshotFiller.prototype._adcOptions = null;
|
44
|
-
|
48
|
+
|
45
49
|
|
46
50
|
/** @public
|
47
51
|
* @param {*} rtk RTK instance
|
48
52
|
*/
|
49
|
-
SnapshotFiller.prototype.
|
50
|
-
this.
|
53
|
+
SnapshotFiller.prototype.dispose = function () {
|
54
|
+
this.removeAllEventListeners();
|
55
|
+
if(this._timerId) {
|
56
|
+
clearTimeout(this._timerId);
|
57
|
+
this._timerId = 0;
|
58
|
+
}
|
59
|
+
this._rics = this._fields = this._rtk = this._adcOptions = null;
|
51
60
|
};
|
52
61
|
|
53
|
-
/**
|
54
|
-
* @
|
55
|
-
* @type {Object}
|
62
|
+
/** @public
|
63
|
+
* @param {*} rtk RTK instance
|
56
64
|
*/
|
57
|
-
SnapshotFiller.
|
58
|
-
|
59
|
-
|
60
|
-
|
65
|
+
SnapshotFiller.prototype.setRTK = function (rtk) {
|
66
|
+
this._rtk = rtk;
|
67
|
+
};
|
68
|
+
/** @public
|
61
69
|
* @param {string} str
|
62
70
|
* @param {*} value
|
63
71
|
*/
|
@@ -68,8 +76,7 @@ SnapshotFiller.setMockAdc = function(str, value) {
|
|
68
76
|
SnapshotFiller._mockAdc[str] = value;
|
69
77
|
};
|
70
78
|
|
71
|
-
/**
|
72
|
-
* @public
|
79
|
+
/** @public
|
73
80
|
* @param {string} str
|
74
81
|
* @return {*}
|
75
82
|
*/
|
@@ -80,8 +87,7 @@ SnapshotFiller.getMockAdc = function(str) {
|
|
80
87
|
return SnapshotFiller._mockAdc[str];
|
81
88
|
};
|
82
89
|
|
83
|
-
/**
|
84
|
-
* @public
|
90
|
+
/** @public
|
85
91
|
*/
|
86
92
|
SnapshotFiller.clearMockAdc = function() {
|
87
93
|
SnapshotFiller._mockAdc = null;
|
@@ -84,10 +84,12 @@ declare class InCellEditingPlugin extends GridPlugin {
|
|
84
84
|
|
85
85
|
public disableDblClick(opt_disabled?: boolean|null): void;
|
86
86
|
|
87
|
-
public showStarterText(
|
87
|
+
public showStarterText(shown?: boolean|null): void;
|
88
88
|
|
89
89
|
public _requestUpdateStarterText(): void;
|
90
90
|
|
91
|
+
public updateStarterText(shown?: boolean|null): void;
|
92
|
+
|
91
93
|
public isEditing(): boolean;
|
92
94
|
|
93
95
|
public getTextBox(columnIndex?: number|null, grid?: any): Element|null;
|
@@ -417,8 +417,7 @@ InCellEditingPlugin._styles = prettifyCss([
|
|
417
417
|
],
|
418
418
|
":host .starter-text", [
|
419
419
|
"padding: var(--grid-cell-padding,0 8px 0 8px);",
|
420
|
-
"pointer-events: none;"
|
421
|
-
"line-height: 28px" // WARNING: hardcode, it can be calculate with row height
|
420
|
+
"pointer-events: none;"
|
422
421
|
]
|
423
422
|
]);
|
424
423
|
|
@@ -1113,14 +1112,13 @@ InCellEditingPlugin.prototype._onGridKeyDown = function (e) {
|
|
1113
1112
|
};
|
1114
1113
|
|
1115
1114
|
/**
|
1116
|
-
* @description Show starter text when the grid
|
1115
|
+
* @description Show starter text when the grid has no ric
|
1117
1116
|
* @public
|
1118
|
-
* @param {boolean=}
|
1117
|
+
* @param {boolean=} shown
|
1119
1118
|
*/
|
1120
|
-
InCellEditingPlugin.prototype.showStarterText = function (
|
1121
|
-
this.
|
1119
|
+
InCellEditingPlugin.prototype.showStarterText = function (shown) {
|
1120
|
+
this.updateStarterText(shown !== false);
|
1122
1121
|
};
|
1123
|
-
|
1124
1122
|
/**
|
1125
1123
|
* @description Request to show starter text
|
1126
1124
|
* @public
|
@@ -1132,25 +1130,26 @@ InCellEditingPlugin.prototype._requestUpdateStarterText = function () {
|
|
1132
1130
|
if(this._updateStarterTextConflator.conflate()){
|
1133
1131
|
return;
|
1134
1132
|
}
|
1135
|
-
this.
|
1133
|
+
this.updateStarterText();
|
1136
1134
|
};
|
1137
1135
|
|
1138
1136
|
/**
|
1139
|
-
* @
|
1140
|
-
* @
|
1137
|
+
* @public
|
1138
|
+
* @description Updates the starter text to either show or hide it.
|
1139
|
+
* @param {boolean=} shown Forces the display of the starter text if "true", if "false" it hides the starter text. If not given as a parameter, it automates updating the display of the starter text
|
1141
1140
|
*/
|
1142
|
-
InCellEditingPlugin.prototype.
|
1141
|
+
InCellEditingPlugin.prototype.updateStarterText = function (shown) {
|
1143
1142
|
if(!this._realTimeGrid || !this._starterText) {
|
1144
1143
|
return;
|
1145
1144
|
}
|
1146
1145
|
// TODO: handled grid have ric but no one rows.
|
1147
1146
|
let popup;
|
1148
1147
|
if(!this._starterTextPopup) {
|
1149
|
-
popup = this._starterTextPopup = this.
|
1148
|
+
popup = this._starterTextPopup = this._createStarterTextElement();
|
1150
1149
|
} else {
|
1151
1150
|
popup = this._starterTextPopup;
|
1152
1151
|
}
|
1153
|
-
if(
|
1152
|
+
if(shown === false || this._realTimeGrid.hasRic()) {
|
1154
1153
|
popup.hide();
|
1155
1154
|
return;
|
1156
1155
|
}
|
@@ -1177,8 +1176,9 @@ InCellEditingPlugin.prototype._updateStaterText = function (force) {
|
|
1177
1176
|
let popupElem = popup.getElement();
|
1178
1177
|
popupElem.style.top = pos.y + "px";
|
1179
1178
|
popupElem.style.left = pos.x + "px";
|
1179
|
+
popupElem.style.lineHeight = editableCell.getHeight() + "px";
|
1180
1180
|
}
|
1181
|
-
popup.show(
|
1181
|
+
popup.show(shown, grid.getParent());
|
1182
1182
|
};
|
1183
1183
|
|
1184
1184
|
/** @private
|
@@ -1188,10 +1188,14 @@ InCellEditingPlugin.prototype._getFirstEditableColumnIndex = function () {
|
|
1188
1188
|
if(this._readonly) {
|
1189
1189
|
return -1;
|
1190
1190
|
}
|
1191
|
+
let grid = this._hosts[0];
|
1192
|
+
if(!grid) {
|
1193
|
+
return -1;
|
1194
|
+
}
|
1191
1195
|
let colCount = this.getColumnCount();
|
1192
1196
|
let editableCol = -1;
|
1193
1197
|
for (let i = 0; i < colCount; i++) {
|
1194
|
-
if(this.isColumnEditable(i)) { // this._editableContent already check in this method
|
1198
|
+
if(grid.isColumnVisible(i) && this.isColumnEditable(i)) { // this._editableContent already check in this method
|
1195
1199
|
editableCol = i;
|
1196
1200
|
break;
|
1197
1201
|
}
|
@@ -1202,7 +1206,7 @@ InCellEditingPlugin.prototype._getFirstEditableColumnIndex = function () {
|
|
1202
1206
|
/** @private
|
1203
1207
|
* @return {Object}
|
1204
1208
|
*/
|
1205
|
-
InCellEditingPlugin.prototype.
|
1209
|
+
InCellEditingPlugin.prototype._createStarterTextElement = function () {
|
1206
1210
|
let container = document.createElement("div");
|
1207
1211
|
container.textContent = this._starterText;
|
1208
1212
|
container.className = "starter-text";
|
@@ -1392,9 +1396,9 @@ InCellEditingPlugin.prototype.isColumnEditable = function (colIndex) {
|
|
1392
1396
|
InCellEditingPlugin.prototype.enableReadonly = function (enabled) {
|
1393
1397
|
this._readonly = enabled !== false;
|
1394
1398
|
if(this._readonly) {
|
1395
|
-
this.
|
1399
|
+
this.updateStarterText(false);
|
1396
1400
|
} else {
|
1397
|
-
this.
|
1401
|
+
this.updateStarterText();
|
1398
1402
|
}
|
1399
1403
|
};
|
1400
1404
|
/**
|
@@ -1642,7 +1646,7 @@ InCellEditingPlugin.prototype._openEditor = function (e, host, arg) {
|
|
1642
1646
|
|
1643
1647
|
// Dispatch an event for user to setup stuff
|
1644
1648
|
t._dispatch("editorOpened", arg); // User may modify the editor
|
1645
|
-
t.
|
1649
|
+
t.updateStarterText(false); // Currently Starter text open doesn't have the ric, it needs to be forcefully hide
|
1646
1650
|
|
1647
1651
|
inputElement.focus();
|
1648
1652
|
if(typeof inputElement.select === "function") {
|
@@ -143,10 +143,10 @@ RowPainter._styles = prettifyCss([
|
|
143
143
|
"font-family: Arial;"
|
144
144
|
],
|
145
145
|
".tr-grid .expander.closed", [
|
146
|
-
"transform:
|
146
|
+
"transform: rotate(-90deg);"
|
147
147
|
],
|
148
148
|
".tr-grid .cell.closed .expander", [
|
149
|
-
"transform:
|
149
|
+
"transform: rotate(-90deg);"
|
150
150
|
],
|
151
151
|
".tr-grid .tr-lg .cell.folder.content-header", [ // Used for header row in contentAsHeader mode, espectially with solar theme
|
152
152
|
"background-color: inherit;"
|
@@ -84,10 +84,12 @@ declare class InCellEditingPlugin extends GridPlugin {
|
|
84
84
|
|
85
85
|
public disableDblClick(opt_disabled?: boolean|null): void;
|
86
86
|
|
87
|
-
public showStarterText(
|
87
|
+
public showStarterText(shown?: boolean|null): void;
|
88
88
|
|
89
89
|
public _requestUpdateStarterText(): void;
|
90
90
|
|
91
|
+
public updateStarterText(shown?: boolean|null): void;
|
92
|
+
|
91
93
|
public isEditing(): boolean;
|
92
94
|
|
93
95
|
public getTextBox(columnIndex?: number|null, grid?: any): Element|null;
|
package/lib/versions.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"tr-grid-util": "1.3.
|
2
|
+
"tr-grid-util": "1.3.168",
|
3
3
|
"tr-grid-printer": "1.0.18",
|
4
4
|
"@grid/column-dragging": "1.0.21",
|
5
5
|
"@grid/row-segmenting": "1.0.35",
|
@@ -19,7 +19,7 @@
|
|
19
19
|
"tr-grid-contextmenu": "1.0.44",
|
20
20
|
"tr-grid-filter-input": "0.9.43",
|
21
21
|
"tr-grid-heat-map": "1.0.30",
|
22
|
-
"tr-grid-in-cell-editing": "1.0.
|
22
|
+
"tr-grid-in-cell-editing": "1.0.93",
|
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.9",
|
package/package.json
CHANGED