@refinitiv-ui/efx-grid 6.0.134 → 6.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/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