@refinitiv-ui/efx-grid 6.0.101 → 6.0.103
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/core/dist/core.js +289 -532
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/DataCache.d.ts +0 -12
- package/lib/core/es6/data/DataCache.js +11 -371
- package/lib/core/es6/data/WrappedView.d.ts +1 -0
- package/lib/core/es6/data/WrappedView.js +1 -0
- package/lib/core/es6/grid/Core.js +1 -1
- package/lib/core/es6/grid/LayoutGrid.d.ts +1 -0
- package/lib/core/es6/grid/LayoutGrid.js +25 -2
- package/lib/core/es6/grid/VirtualizedLayoutGrid.d.ts +1 -0
- package/lib/core/es6/grid/VirtualizedLayoutGrid.js +24 -104
- package/lib/core/es6/grid/util/CellBoundPainter.d.ts +16 -0
- package/lib/core/es6/grid/util/CellBoundPainter.js +171 -0
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +30 -21
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/FieldDefinition.d.ts +1 -1
- package/lib/rt-grid/es6/FieldDefinition.js +21 -21
- package/lib/rt-grid/es6/RowDefinition.js +9 -0
- package/lib/tr-grid-cell-selection/es6/CellSelection.js +22 -8
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +8 -0
- package/lib/types/es6/Core/data/DataCache.d.ts +0 -12
- package/lib/types/es6/Core/data/WrappedView.d.ts +1 -0
- package/lib/types/es6/Core/grid/LayoutGrid.d.ts +1 -0
- package/lib/types/es6/Core/grid/VirtualizedLayoutGrid.d.ts +1 -0
- package/lib/types/es6/Core/grid/util/CellBoundPainter.d.ts +16 -0
- package/lib/versions.json +2 -2
- package/package.json +1 -1
@@ -45,8 +45,6 @@ declare class DataCache extends EventDispatcher {
|
|
45
45
|
|
46
46
|
public setData(rid: string, cid: string, value: any): boolean;
|
47
47
|
|
48
|
-
public hasDataCloudData(rid: string): boolean;
|
49
|
-
|
50
48
|
public setRowData(rid: string, values?: { [key: string]: any }|null, opt_eventArg?: any): boolean;
|
51
49
|
|
52
50
|
public cloneRowData(rid: string): any;
|
@@ -63,19 +61,9 @@ declare class DataCache extends EventDispatcher {
|
|
63
61
|
|
64
62
|
public log(opt_options?: any): void;
|
65
63
|
|
66
|
-
public setDataCloudSettings(userId: string, productId: string, url: string, opt_lang?: string|null): void;
|
67
|
-
|
68
|
-
public getDataCloudFields(): (string)[]|null;
|
69
|
-
|
70
|
-
public addDataCloudFields(fields: (string)[]|string|null): boolean;
|
71
|
-
|
72
|
-
public removeDataCloudField(field: string): boolean;
|
73
|
-
|
74
64
|
}
|
75
65
|
|
76
66
|
declare function cid(rid: string, cid: string): any;
|
77
67
|
|
78
|
-
declare function ricMap(field: string): boolean;
|
79
|
-
|
80
68
|
export default DataCache;
|
81
69
|
export { DataCache };
|
@@ -28,9 +28,6 @@ let DataCache = function () {
|
|
28
28
|
_t._onInsert = _t._onInsert.bind(_t);
|
29
29
|
_t._onUpdate = _t._onUpdate.bind(_t);
|
30
30
|
_t._onDelete = _t._onDelete.bind(_t);
|
31
|
-
_t._onBatchRequestADCData = _t._onBatchRequestADCData.bind(_t);
|
32
|
-
_t._onADCUpdate = _t._onADCUpdate.bind(_t);
|
33
|
-
_t._onADCError = _t._onADCError.bind(_t);
|
34
31
|
_t._onQ2DataChanged = _t._onQ2DataChanged.bind(_t);
|
35
32
|
_t._onQ2SubAdded = _t._onQ2SubAdded.bind(_t);
|
36
33
|
_t._onQ2SubRemoved = _t._onQ2SubRemoved.bind(_t);
|
@@ -205,13 +202,6 @@ DataCache.prototype.clearAllData = function (opt_suppressEvent) { // All subscri
|
|
205
202
|
this._subs = {};
|
206
203
|
this._rows = {};
|
207
204
|
|
208
|
-
if (this._adcTimerId >= 0) {
|
209
|
-
clearTimeout(this._adcTimerId);
|
210
|
-
this._adcTimerId = -1;
|
211
|
-
}
|
212
|
-
|
213
|
-
this._adcRicMap = null;
|
214
|
-
|
215
205
|
if (!opt_suppressEvent) {
|
216
206
|
this._dispatchDataChange({"globalChange": true});
|
217
207
|
}
|
@@ -388,30 +378,10 @@ DataCache.prototype.setData = function (rid, cid, value) { // Data changed event
|
|
388
378
|
|
389
379
|
/**
|
390
380
|
* @public
|
381
|
+
* @ignore
|
391
382
|
* @param {string} rid
|
392
|
-
* @return {boolean}
|
393
383
|
*/
|
394
|
-
DataCache.prototype.hasDataCloudData = function (rid) {
|
395
|
-
if (!this._adcFields) {
|
396
|
-
return false;
|
397
|
-
}
|
398
|
-
|
399
|
-
let row = this.getRowData(rid);
|
400
|
-
|
401
|
-
if (!row) {
|
402
|
-
return false;
|
403
|
-
}
|
404
|
-
|
405
|
-
for (let i = this._adcFields.length; --i >= 0;) {
|
406
|
-
let data = row[this._adcFields[i]];
|
407
|
-
|
408
|
-
if (data != null) {
|
409
|
-
return true;
|
410
|
-
}
|
411
|
-
}
|
412
|
-
|
413
|
-
return false;
|
414
|
-
};
|
384
|
+
DataCache.prototype.hasDataCloudData = function (rid) {};
|
415
385
|
|
416
386
|
/**
|
417
387
|
* @public
|
@@ -587,97 +557,36 @@ DataCache.prototype.log = function (opt_options) {
|
|
587
557
|
//#region ADC
|
588
558
|
/** Deprecated. Built-in Data Service is deprecated due to the lack of flexibility.
|
589
559
|
* @public
|
560
|
+
* @ignore
|
590
561
|
* @param {string} userId
|
591
562
|
* @param {string} productId
|
592
563
|
* @param {string} url
|
593
564
|
* @param {string=} opt_lang
|
594
565
|
*/
|
595
|
-
DataCache.prototype.setDataCloudSettings = function (userId, productId, url, opt_lang) {
|
596
|
-
if (userId != null) {
|
597
|
-
this._userId = userId;
|
598
|
-
}
|
599
|
-
|
600
|
-
if (productId != null) {
|
601
|
-
this._productId = productId;
|
602
|
-
}
|
603
|
-
|
604
|
-
if (url != null) {
|
605
|
-
this._adcUrl = url;
|
606
|
-
}
|
607
|
-
|
608
|
-
if (opt_lang) {
|
609
|
-
this._lang = opt_lang;
|
610
|
-
}
|
611
|
-
};
|
566
|
+
DataCache.prototype.setDataCloudSettings = function (userId, productId, url, opt_lang) {};
|
612
567
|
|
613
568
|
/**
|
614
569
|
* Deprecated. Built-in Data Service is deprecated due to the lack of flexibility.
|
615
570
|
* @public
|
616
|
-
* @
|
571
|
+
* @ignore
|
617
572
|
*/
|
618
|
-
DataCache.prototype.getDataCloudFields = function () {
|
619
|
-
return this._adcFields; // Return private members
|
620
|
-
};
|
573
|
+
DataCache.prototype.getDataCloudFields = function () {};
|
621
574
|
|
622
575
|
/**
|
623
576
|
* Deprecated. Built-in Data Service is deprecated due to the lack of flexibility.
|
624
577
|
* @public
|
578
|
+
* @ignore
|
625
579
|
* @param {Array.<string>|string} fields
|
626
|
-
* @return {boolean} Return true if success, and false otherwise
|
627
580
|
*/
|
628
|
-
DataCache.prototype.addDataCloudFields = function (fields) {
|
629
|
-
if (!this._adcFields) {
|
630
|
-
this._adcFields = [];
|
631
|
-
this._adcRefMap = {};
|
632
|
-
}
|
633
|
-
|
634
|
-
let newFields = [];
|
635
|
-
|
636
|
-
if (fields instanceof Array) {
|
637
|
-
for (let i = fields.length; --i >= 0;) {
|
638
|
-
this._addDataCloudField(fields[i], newFields);
|
639
|
-
}
|
640
|
-
} else {
|
641
|
-
this._addDataCloudField(/** @type {string} */(fields), newFields);
|
642
|
-
}
|
643
|
-
|
644
|
-
if (newFields.length <= 0) {
|
645
|
-
return false;
|
646
|
-
}
|
647
|
-
|
648
|
-
let ricMap = this.getAllRics();
|
649
|
-
|
650
|
-
this._batchRequestDataCloud(ricMap, newFields);
|
651
|
-
|
652
|
-
return true;
|
653
|
-
};
|
581
|
+
DataCache.prototype.addDataCloudFields = function (fields) {};
|
654
582
|
|
655
583
|
/**
|
656
584
|
* Deprecated. Built-in Data Service is deprecated due to the lack of flexibility.
|
657
585
|
* @public
|
586
|
+
* @ignore
|
658
587
|
* @param {string} field
|
659
|
-
* @return {boolean} Return true if success, and false otherwise
|
660
588
|
*/
|
661
|
-
DataCache.prototype.removeDataCloudField = function (field) {
|
662
|
-
if (!this._adcFields) {
|
663
|
-
return false;
|
664
|
-
}
|
665
|
-
|
666
|
-
if (!this._adcRefMap[field]) {
|
667
|
-
return false;
|
668
|
-
}
|
669
|
-
|
670
|
-
--this._adcRefMap[field];
|
671
|
-
|
672
|
-
if (!this._adcRefMap[field]) {
|
673
|
-
let foundAt = this._adcFields.indexOf(field);
|
674
|
-
|
675
|
-
this._adcFields.splice(foundAt, 1);
|
676
|
-
this.clearColumnData(field);
|
677
|
-
}
|
678
|
-
|
679
|
-
return true;
|
680
|
-
};
|
589
|
+
DataCache.prototype.removeDataCloudField = function (field) {};
|
681
590
|
//#endregion ADC
|
682
591
|
//#endregion Public
|
683
592
|
|
@@ -829,9 +738,6 @@ DataCache.prototype._insertRic = function (subId, ric, values) {
|
|
829
738
|
|
830
739
|
let rid = subId + ric;
|
831
740
|
|
832
|
-
// We cannot cache event arguments because user may want to collect all the updates
|
833
|
-
this._onADCForNewRic(subId, ric);
|
834
|
-
|
835
741
|
let rowData = this.getRowData(rid);
|
836
742
|
if (!rowData) { // Ensure that we have subscription id and ric from Quotes2
|
837
743
|
let tmp = values;
|
@@ -926,36 +832,6 @@ DataCache.prototype._onQ2SubRemoved = function (e) {
|
|
926
832
|
}
|
927
833
|
};
|
928
834
|
|
929
|
-
/**
|
930
|
-
* @private
|
931
|
-
* @param {string} subId Subscription id
|
932
|
-
* @param {string} ric
|
933
|
-
*/
|
934
|
-
DataCache.prototype._onADCForNewRic = function (subId, ric) {
|
935
|
-
let sub = this._subs[subId];
|
936
|
-
|
937
|
-
if (!sub) {
|
938
|
-
return;
|
939
|
-
}
|
940
|
-
|
941
|
-
if (this._adcFields) {
|
942
|
-
if (!sub["rics"][ric]) { // First time insertion
|
943
|
-
if (this._adcTimerId < 0) {
|
944
|
-
this._adcRicMap = {};
|
945
|
-
this._adcTimerId = setTimeout(this._onBatchRequestADCData, 100);
|
946
|
-
}
|
947
|
-
|
948
|
-
if (!this._adcRicMap[ric]) {
|
949
|
-
this._adcRicMap[ric] = [];
|
950
|
-
}
|
951
|
-
|
952
|
-
this._adcRicMap[ric].push(subId);
|
953
|
-
}
|
954
|
-
}
|
955
|
-
|
956
|
-
sub["rics"][ric] = true;
|
957
|
-
};
|
958
|
-
|
959
835
|
/**
|
960
836
|
* @private
|
961
837
|
* @param {string} subId
|
@@ -989,7 +865,7 @@ DataCache.prototype._onDuplicateRic = function (subId, dupData) {
|
|
989
865
|
ric = children[i];
|
990
866
|
values = this._cloneRowData(dupSubId, ric, subId);
|
991
867
|
|
992
|
-
this._onInsert(sub, ric, values);
|
868
|
+
this._onInsert(sub, ric, values);
|
993
869
|
}
|
994
870
|
}
|
995
871
|
};
|
@@ -1006,7 +882,6 @@ DataCache.prototype._onInsert = function (sub, ric, values/*, rowN*/) {
|
|
1006
882
|
if (this._quotes2) {
|
1007
883
|
this._insertRic(subId, ric, values);
|
1008
884
|
} else {
|
1009
|
-
this._onADCForNewRic(subId, ric);
|
1010
885
|
this.setRowData(subId + ric, values, {"subscription": sub, "ric": ric});
|
1011
886
|
}
|
1012
887
|
};
|
@@ -1031,191 +906,6 @@ DataCache.prototype._onDelete = function (sub, ric, values/*, rowN*/) {
|
|
1031
906
|
this.setRowData(sub["id"] + ric, null, {"subscription": sub, "ric": ric});
|
1032
907
|
};
|
1033
908
|
|
1034
|
-
/**
|
1035
|
-
* @private
|
1036
|
-
* @param {string} field
|
1037
|
-
* @param {Array.<string>} ary_out
|
1038
|
-
*/
|
1039
|
-
DataCache.prototype._addDataCloudField = function (field, ary_out) {
|
1040
|
-
if (!this._adcRefMap[field]) {
|
1041
|
-
this._adcFields.push(field);
|
1042
|
-
|
1043
|
-
ary_out.push(field);
|
1044
|
-
|
1045
|
-
this._adcRefMap[field] = 1;
|
1046
|
-
} else {
|
1047
|
-
++this._adcRefMap[field];
|
1048
|
-
}
|
1049
|
-
};
|
1050
|
-
|
1051
|
-
/**
|
1052
|
-
* @private
|
1053
|
-
* @param {Object} e
|
1054
|
-
* @suppress {missingProperties}
|
1055
|
-
*/
|
1056
|
-
DataCache.prototype._onADCUpdate = function (e) {
|
1057
|
-
let xhr = e["currentTarget"]; // XMLHttpRequest
|
1058
|
-
let resp = null;
|
1059
|
-
|
1060
|
-
try {
|
1061
|
-
resp = JSON.parse(xhr.responseText);
|
1062
|
-
// window.console.log("Successfully parse: " + resp.rows);
|
1063
|
-
} catch (err) {
|
1064
|
-
return;
|
1065
|
-
}
|
1066
|
-
|
1067
|
-
if (resp["status"] !== "Ok") {
|
1068
|
-
return;
|
1069
|
-
}
|
1070
|
-
|
1071
|
-
let colCount = resp["cols"];
|
1072
|
-
let rows = resp["rows"];
|
1073
|
-
let colDefs = rows[0]; // The first row is always the column definition
|
1074
|
-
let ricIndex = -1;
|
1075
|
-
let fieldIndices = {};
|
1076
|
-
|
1077
|
-
for (let i = 0; i < colCount; ++i) {
|
1078
|
-
let colDef = colDefs[i];
|
1079
|
-
|
1080
|
-
if (colDef["i"] === "instrument") {
|
1081
|
-
ricIndex = i;
|
1082
|
-
} else if (colDef["r"]) {
|
1083
|
-
fieldIndices[colDef["r"]] = i;
|
1084
|
-
}
|
1085
|
-
}
|
1086
|
-
|
1087
|
-
let rowCount = rows.length;
|
1088
|
-
|
1089
|
-
for (let j = 1; j < rowCount; ++j) { // Start from 1
|
1090
|
-
let row = rows[j];
|
1091
|
-
let ric = row[ricIndex];
|
1092
|
-
let values = {};
|
1093
|
-
|
1094
|
-
for (let field in fieldIndices) {
|
1095
|
-
let value = row[fieldIndices[field]];
|
1096
|
-
|
1097
|
-
if (value != null) {
|
1098
|
-
// Data should be merged from the backend.
|
1099
|
-
// Don't override data with null value.
|
1100
|
-
// TODO: Merge all the row into one single row
|
1101
|
-
if (value !== null && value["f"] == null) {
|
1102
|
-
if (this._quotes2) {
|
1103
|
-
values[field] = value;
|
1104
|
-
values[field + "_FORMATTED"] = value;
|
1105
|
-
} else {
|
1106
|
-
values[field] = {"formatted": value + "", "raw": value};
|
1107
|
-
}
|
1108
|
-
}
|
1109
|
-
}
|
1110
|
-
}
|
1111
|
-
|
1112
|
-
let subIds = xhr.ricMap[ric];
|
1113
|
-
|
1114
|
-
if (subIds) { // Only ric within the subscription can be updated
|
1115
|
-
for (i = subIds.length; --i >= 0;) {
|
1116
|
-
let subId = subIds[i];
|
1117
|
-
|
1118
|
-
if (this._subs[subId]) { // Only update the existing subscription
|
1119
|
-
// window.console.log("ADC update " + subId + ric + " with " + JSON.stringify(values));
|
1120
|
-
this.setRowData(subId + ric, values); // Event is fired
|
1121
|
-
}
|
1122
|
-
}
|
1123
|
-
}
|
1124
|
-
}
|
1125
|
-
};
|
1126
|
-
|
1127
|
-
/**
|
1128
|
-
* @private
|
1129
|
-
* @param {Object} e
|
1130
|
-
*/
|
1131
|
-
DataCache.prototype._onADCError = function (e) {
|
1132
|
-
window.console.log(e);
|
1133
|
-
};
|
1134
|
-
|
1135
|
-
/**
|
1136
|
-
* @private
|
1137
|
-
* @param {Object} e
|
1138
|
-
*/
|
1139
|
-
DataCache.prototype._onBatchRequestADCData = function (e) {
|
1140
|
-
if (this._adcTimerId <= 0) {
|
1141
|
-
return;
|
1142
|
-
}
|
1143
|
-
|
1144
|
-
this._adcTimerId = -1;
|
1145
|
-
this._batchRequestDataCloud(this._adcRicMap, this._adcFields);
|
1146
|
-
this._adcRicMap = null;
|
1147
|
-
};
|
1148
|
-
|
1149
|
-
/**
|
1150
|
-
* @private
|
1151
|
-
* @param {Object.<string, Array.<string>>} ricMap of Array of subscription object
|
1152
|
-
* @param {Array.<string>} fields
|
1153
|
-
* @return {XMLHttpRequest}
|
1154
|
-
*/
|
1155
|
-
DataCache.prototype._batchRequestDataCloud = function (ricMap, fields) {
|
1156
|
-
if (!this._adcUrl) {
|
1157
|
-
return null;
|
1158
|
-
}
|
1159
|
-
|
1160
|
-
let rics = [];
|
1161
|
-
|
1162
|
-
for (let ric in ricMap) {
|
1163
|
-
rics.push(ric);
|
1164
|
-
}
|
1165
|
-
|
1166
|
-
// Request data cloud in small multiple batches because the service cannot handle a long request
|
1167
|
-
while (rics.length > 30) {
|
1168
|
-
this._requestDataCloud(ricMap, fields, rics.splice(0, 30));
|
1169
|
-
}
|
1170
|
-
|
1171
|
-
return this._requestDataCloud(ricMap, fields, rics);
|
1172
|
-
};
|
1173
|
-
|
1174
|
-
/**
|
1175
|
-
* @private
|
1176
|
-
* @param {Object.<string, Array.<string>>} ricMap of Array of subscription object
|
1177
|
-
* @param {Array.<string>} fields
|
1178
|
-
* @param {Array.<string>} rics
|
1179
|
-
* @return {XMLHttpRequest}
|
1180
|
-
*/
|
1181
|
-
DataCache.prototype._requestDataCloud = function (ricMap, fields, rics) { // Small batch
|
1182
|
-
if (!rics || rics.length <= 0) {
|
1183
|
-
return null;
|
1184
|
-
}
|
1185
|
-
|
1186
|
-
if (!fields || fields.length <= 0) {
|
1187
|
-
return null;
|
1188
|
-
}
|
1189
|
-
|
1190
|
-
let xhr = new XMLHttpRequest();
|
1191
|
-
|
1192
|
-
xhr.onload = this._onADCUpdate;
|
1193
|
-
xhr.onerror = this._onADCError;
|
1194
|
-
xhr.ricMap = ricMap;
|
1195
|
-
|
1196
|
-
xhr.open("POST", this._adcUrl, true);
|
1197
|
-
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
1198
|
-
|
1199
|
-
let body = 'formula=' + fields + '&identifiers=' + rics;
|
1200
|
-
|
1201
|
-
// window.console.log("ADC is requested with " + body);
|
1202
|
-
if (this._productId) {
|
1203
|
-
body += '&productid=' + this._productId;
|
1204
|
-
}
|
1205
|
-
|
1206
|
-
if (this._userId) {
|
1207
|
-
body += '&uuid=' + this._userId;
|
1208
|
-
}
|
1209
|
-
|
1210
|
-
if (this._lang) {
|
1211
|
-
body += '&lang=' + this._lang;
|
1212
|
-
}
|
1213
|
-
|
1214
|
-
xhr.send(body);
|
1215
|
-
|
1216
|
-
return xhr;
|
1217
|
-
};
|
1218
|
-
|
1219
909
|
/**
|
1220
910
|
* @private
|
1221
911
|
* @param {string|Object.<string, *>} obj
|
@@ -1272,62 +962,12 @@ DataCache.prototype._quotes2 = null;
|
|
1272
962
|
*/
|
1273
963
|
DataCache.prototype._staticFields = null;
|
1274
964
|
|
1275
|
-
//#region ADC
|
1276
|
-
/**
|
1277
|
-
* @private
|
1278
|
-
* @type {Array.<string>}
|
1279
|
-
*/
|
1280
|
-
DataCache.prototype._adcFields = null;
|
1281
|
-
|
1282
|
-
/**
|
1283
|
-
* @private
|
1284
|
-
* @type {Object.<string, number>}
|
1285
|
-
*/
|
1286
|
-
DataCache.prototype._adcRefMap = null;
|
1287
|
-
|
1288
|
-
/**
|
1289
|
-
* @private
|
1290
|
-
* @type {number}
|
1291
|
-
*/
|
1292
|
-
DataCache.prototype._adcTimerId = -1;
|
1293
|
-
|
1294
|
-
/**
|
1295
|
-
* @private
|
1296
|
-
* @description ricMap of Array of subscription object
|
1297
|
-
* @type {Object.<string, Array.<string>>}
|
1298
|
-
*/
|
1299
|
-
DataCache.prototype._adcRicMap = null;
|
1300
|
-
|
1301
|
-
/**
|
1302
|
-
* @private
|
1303
|
-
* @type {string}
|
1304
|
-
*/
|
1305
|
-
DataCache.prototype._adcUrl = "/datacloud/rest/select";
|
1306
|
-
|
1307
|
-
/**
|
1308
|
-
* @private
|
1309
|
-
* @type {string}
|
1310
|
-
*/
|
1311
|
-
DataCache.prototype._userId = "";
|
1312
|
-
|
1313
|
-
/**
|
1314
|
-
* @private
|
1315
|
-
* @type {string}
|
1316
|
-
*/
|
1317
|
-
DataCache.prototype._productId = "";
|
1318
|
-
|
1319
965
|
/** @protected
|
1320
966
|
* @ignore
|
1321
967
|
* @type {boolean}
|
1322
968
|
*/
|
1323
969
|
DataCache.prototype._composing = false;
|
1324
970
|
|
1325
|
-
/** @protected
|
1326
|
-
* @ignore
|
1327
|
-
* @type {string}
|
1328
|
-
*/
|
1329
|
-
DataCache.prototype._lang = "";
|
1330
|
-
//#endregion ADC
|
1331
971
|
//#endregion Private
|
1332
972
|
|
1333
973
|
DataCache._proto = DataCache.prototype;
|
@@ -2,6 +2,7 @@ import Ext from "../../../tr-grid-util/es6/Ext.js";
|
|
2
2
|
import EventDispatcher from "../grid/event/EventDispatcher.js";
|
3
3
|
import DataView from "./DataView.js"; // eslint-disable-line
|
4
4
|
import DataTable from "./DataTable.js"; // eslint-disable-line
|
5
|
+
import DataCache from "./DataCache.js"; // eslint-disable-line
|
5
6
|
import ColumnStats from "./ColumnStats.js"; // eslint-disable-line
|
6
7
|
|
7
8
|
declare namespace WrappedView {
|
@@ -2,6 +2,7 @@ import Ext from "../../../tr-grid-util/es6/Ext.js";
|
|
2
2
|
import EventDispatcher from "../grid/event/EventDispatcher.js";
|
3
3
|
import DataView from "./DataView.js"; // eslint-disable-line
|
4
4
|
import DataTable from "./DataTable.js"; // eslint-disable-line
|
5
|
+
import DataCache from "./DataCache.js"; // eslint-disable-line
|
5
6
|
import ColumnStats from "./ColumnStats.js"; // eslint-disable-line
|
6
7
|
|
7
8
|
/** @event WrappedView#dataChanged
|
@@ -11,6 +11,7 @@ import SelectionList from "./util/SelectionList.js";
|
|
11
11
|
import ILayoutGrid from "./ILayoutGrid.js";
|
12
12
|
import ElementWrapper from "./components/ElementWrapper.js";
|
13
13
|
import HScrollbar from "./components/HScrollbar.js";
|
14
|
+
import CellBoundPainter from "./util/CellBoundPainter.js";
|
14
15
|
|
15
16
|
declare class LayoutGrid extends ElementWrapper {
|
16
17
|
|
@@ -12,6 +12,7 @@ import SelectionList from "./util/SelectionList.js";
|
|
12
12
|
import ILayoutGrid from "./ILayoutGrid.js";
|
13
13
|
import ElementWrapper from "./components/ElementWrapper.js";
|
14
14
|
import HScrollbar from "./components/HScrollbar.js";
|
15
|
+
import CellBoundPainter from "./util/CellBoundPainter.js";
|
15
16
|
/* eslint-enable */
|
16
17
|
|
17
18
|
//#region Events
|
@@ -277,7 +278,10 @@ LayoutGrid.prototype._leftColumnSeparator = null;
|
|
277
278
|
* @private
|
278
279
|
*/
|
279
280
|
LayoutGrid.prototype._rightColumnSeparator = null;
|
280
|
-
|
281
|
+
/** @type {Element}
|
282
|
+
* @private
|
283
|
+
*/
|
284
|
+
LayoutGrid.prototype._cellBoundPainter = null;
|
281
285
|
/**
|
282
286
|
* {@link ElementWrapper#dispose}
|
283
287
|
* @override
|
@@ -302,6 +306,10 @@ LayoutGrid.prototype.dispose = function () {
|
|
302
306
|
this._ctx = null;
|
303
307
|
this._hscrollbar = null;
|
304
308
|
|
309
|
+
if(this._cellBoundPainter) {
|
310
|
+
this._cellBoundPainter.dispose();
|
311
|
+
}
|
312
|
+
|
305
313
|
this._dispose();
|
306
314
|
};
|
307
315
|
/**
|
@@ -2272,7 +2280,22 @@ LayoutGrid.prototype.selectCell = function (colIndex, rowIndex, selected) {
|
|
2272
2280
|
* @param {number} width
|
2273
2281
|
* @param {number} height
|
2274
2282
|
*/
|
2275
|
-
LayoutGrid.prototype.setCellBounds = function (colIndex, rowIndex, width, height) {
|
2283
|
+
LayoutGrid.prototype.setCellBounds = function (colIndex, rowIndex, width, height) {
|
2284
|
+
let boundLayer = this._initBoundLayer();
|
2285
|
+
let cellBoundPainter = this._cellBoundPainter;
|
2286
|
+
if(!cellBoundPainter) {
|
2287
|
+
cellBoundPainter = this._cellBoundPainter = new CellBoundPainter({
|
2288
|
+
boundLayer: boundLayer,
|
2289
|
+
layoutX: this._trackX,
|
2290
|
+
layoutY: this._trackY,
|
2291
|
+
hscrollbar: this._hscrollbar,
|
2292
|
+
calculateColumnBounds: this.calculateColumnBounds.bind(this)
|
2293
|
+
});
|
2294
|
+
}
|
2295
|
+
|
2296
|
+
let colCount = this.getColumnCount();
|
2297
|
+
cellBoundPainter.setCellBounds(colIndex, rowIndex, width, height, colCount);
|
2298
|
+
};
|
2276
2299
|
/** @public
|
2277
2300
|
* @ignore
|
2278
2301
|
* @return {!TrackLayout}
|
@@ -6,6 +6,7 @@ import ILayoutGrid from "./ILayoutGrid.js";
|
|
6
6
|
import LayoutGrid from "./LayoutGrid.js";
|
7
7
|
import ElementWrapper from "./components/ElementWrapper.js";
|
8
8
|
import HScrollbar from "./components/HScrollbar.js";
|
9
|
+
import CellBoundPainter from "./util/CellBoundPainter.js";
|
9
10
|
|
10
11
|
declare class VirtualizedLayoutGrid extends ElementWrapper {
|
11
12
|
|