@refinitiv-ui/efx-grid 6.0.72 → 6.0.74
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/column-selection-dialog/lib/column-selection-dialog.js +9 -7
- package/lib/column-selection-dialog/themes/base.less +4 -8
- package/lib/column-selection-dialog/themes/elemental/dark/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/elemental/light/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/elemental/light/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/halo/column-selection-dialog.less +3 -0
- package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/solar/charcoal/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/solar/column-selection-dialog.less +5 -1
- package/lib/column-selection-dialog/themes/solar/pearl/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +61 -37
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.d.ts +1 -1
- package/lib/rt-grid/es6/Grid.js +51 -34
- package/lib/tr-grid-cell-selection/es6/CellSelection.d.ts +2 -0
- package/lib/tr-grid-cell-selection/es6/CellSelection.js +19 -0
- package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +27 -24
- package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +2 -0
- package/lib/tr-grid-filter-input/es6/FilterInput.js +33 -0
- package/lib/tr-grid-range-bar/es6/RangeBar.js +20 -3
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +35 -11
- package/lib/types/es6/FilterInput.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +1 -1
- package/lib/versions.json +6 -6
- package/package.json +1 -1
@@ -188,7 +188,7 @@ declare class Grid extends EventDispatcher {
|
|
188
188
|
|
189
189
|
public addStaticDataRows(dataRows: any[]|null, fields?: (string)[]|null): void;
|
190
190
|
|
191
|
-
public updateDataSet(records: (any)[]|null, rowIdentifier
|
191
|
+
public updateDataSet(records: (any)[]|null, rowIdentifier?: string|null): void;
|
192
192
|
|
193
193
|
public removeRow(rowRef: Grid.RowReference|null): RowDefinition|null;
|
194
194
|
|
package/lib/rt-grid/es6/Grid.js
CHANGED
@@ -2402,7 +2402,7 @@ Grid.prototype.addStaticDataRows = function(dataRows, fields) {
|
|
2402
2402
|
/** Insert, update, remove and reorder data based on the given array of records
|
2403
2403
|
* @public
|
2404
2404
|
* @param {Array.<Object>} records Array of records for insert, remove, update, reorder in one operation
|
2405
|
-
* @param {string} rowIdentifier Check difference data with the row identifier map property for operate record.
|
2405
|
+
* @param {string=} rowIdentifier Check difference data with the row identifier map property for operate record.
|
2406
2406
|
* @example
|
2407
2407
|
* // Grid data set will be updated to 3 records. All rows in the grid will be cleared and new rows will be inserted
|
2408
2408
|
* grid.updateDataSet([
|
@@ -2454,47 +2454,64 @@ Grid.prototype.updateDataSet = function(records, rowIdentifier) {
|
|
2454
2454
|
var rowDef, id, record, i;
|
2455
2455
|
var rowDefs = this.getAllRowDefinitions(); // Include the filter/hidden rows
|
2456
2456
|
var rowDefCount = rowDefs.length;
|
2457
|
-
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2461
|
-
|
2462
|
-
|
2463
|
-
|
2464
|
-
|
2457
|
+
if(rowIdentifier) {
|
2458
|
+
for (i = 0; i < rowDefCount; i++) {
|
2459
|
+
rowDef = rowDefs[i];
|
2460
|
+
if(rowDef) {
|
2461
|
+
id = rowDef.getRowData()[rowIdentifier];
|
2462
|
+
if(id || id === 0) {
|
2463
|
+
oldDataMap[id] = rowDef;
|
2464
|
+
} else { // Any existing rowDef without row identifier should be removed
|
2465
|
+
this.removeRow(rowDef); // Slow
|
2466
|
+
}
|
2465
2467
|
}
|
2466
2468
|
}
|
2467
|
-
}
|
2468
2469
|
|
2469
|
-
|
2470
|
-
|
2471
|
-
|
2472
|
-
|
2473
|
-
|
2474
|
-
|
2475
|
-
|
2476
|
-
|
2477
|
-
|
2478
|
-
|
2479
|
-
|
2470
|
+
var idMap = {};
|
2471
|
+
var newDataMap = {};
|
2472
|
+
for (i = recordCount - 1; i >= 0; i--) {
|
2473
|
+
record = records[i];
|
2474
|
+
id = record[rowIdentifier];
|
2475
|
+
rowDef = oldDataMap[id];
|
2476
|
+
newDataMap[id] = record; // Assign a new data map to compare to the previous data
|
2477
|
+
record[fieldSorting] = i;
|
2478
|
+
if(idMap[id]) { // Prevent assign data in duplicate row
|
2479
|
+
continue;
|
2480
|
+
}
|
2481
|
+
idMap[id] = true;
|
2482
|
+
if (!rowDef) {
|
2483
|
+
this.insertRow({ values: record}); // Insert last position
|
2484
|
+
} else {
|
2485
|
+
rowDef.setRowData(record);
|
2486
|
+
}
|
2480
2487
|
}
|
2481
|
-
|
2482
|
-
|
2483
|
-
|
2484
|
-
|
2485
|
-
|
2488
|
+
// Check Remove previous data
|
2489
|
+
for (var rowIdentifierName in oldDataMap) {
|
2490
|
+
if (oldDataMap[rowIdentifierName] && !newDataMap[rowIdentifierName]) {
|
2491
|
+
this.removeRow(oldDataMap[rowIdentifierName]); // Slow
|
2492
|
+
}
|
2493
|
+
}
|
2494
|
+
this._dt.sortOnce(ROW_DEF, "a", compareNumber, fieldSorting);
|
2495
|
+
} else {
|
2496
|
+
for (i = 0; i < rowDefCount; i++) {
|
2497
|
+
record = records[i];
|
2498
|
+
if(record) {
|
2499
|
+
oldDataMap[i] = rowDefs[i]; // Use index instead of rowIdentifier
|
2500
|
+
} else {
|
2501
|
+
this.removeRow(rowDefs[i]); // Need to use rowRef, can't use index in view
|
2502
|
+
}
|
2486
2503
|
}
|
2487
|
-
}
|
2488
2504
|
|
2489
|
-
|
2490
|
-
|
2491
|
-
|
2492
|
-
|
2505
|
+
for (i = 0; i < recordCount; i++) { // It will be sort by index when insert / update
|
2506
|
+
record = records[i];
|
2507
|
+
rowDef = oldDataMap[i];
|
2508
|
+
if (!rowDef) {
|
2509
|
+
this.insertRow({ values: record}); // Insert last position
|
2510
|
+
} else {
|
2511
|
+
rowDef.setRowData(record);
|
2512
|
+
}
|
2493
2513
|
}
|
2494
2514
|
}
|
2495
|
-
|
2496
|
-
// Sorting
|
2497
|
-
this._dt.sortOnce(ROW_DEF, "a", compareNumber, fieldSorting);
|
2498
2515
|
};
|
2499
2516
|
/** @private
|
2500
2517
|
* @param {Array|Object} item
|
@@ -3,6 +3,8 @@ import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
|
|
3
3
|
import { MouseDownTrait } from "../../tr-grid-util/es6/MouseDownTrait.js";
|
4
4
|
import { EventDispatcher } from "../../tr-grid-util/es6/EventDispatcher.js";
|
5
5
|
import { isIE, cloneObject, prepareTSVContent } from "../../tr-grid-util/es6/Util.js";
|
6
|
+
import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
|
7
|
+
import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
6
8
|
|
7
9
|
declare namespace CellSelectionPlugin {
|
8
10
|
|
@@ -3,6 +3,8 @@ import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
|
|
3
3
|
import { MouseDownTrait } from "../../tr-grid-util/es6/MouseDownTrait.js";
|
4
4
|
import { EventDispatcher } from "../../tr-grid-util/es6/EventDispatcher.js";
|
5
5
|
import { isIE, cloneObject, prepareTSVContent } from "../../tr-grid-util/es6/Util.js";
|
6
|
+
import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
|
7
|
+
import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
6
8
|
|
7
9
|
/** @typedef {Object} CellSelectionPlugin~Options
|
8
10
|
* @description The options can be specified by `cellSelection` property of the main grid's options
|
@@ -65,6 +67,22 @@ var CellSelectionPlugin = function CellSelectionPlugin(options) {
|
|
65
67
|
};
|
66
68
|
Ext.inherits(CellSelectionPlugin, GridPlugin);
|
67
69
|
|
70
|
+
/** @type {string}
|
71
|
+
* @private
|
72
|
+
*/
|
73
|
+
CellSelectionPlugin._styles = prettifyCss([":host .tr-grid .cell.selection", ["background-image: none;", "background-color: var(--grid-selection-bgcolor);"]]);
|
74
|
+
|
75
|
+
/** @private
|
76
|
+
* @param {Object} grid core grid instance
|
77
|
+
*/
|
78
|
+
CellSelectionPlugin._applyStyles = function (grid) {
|
79
|
+
if (!grid || grid._cellSelectionStyles || !ElfUtil.isHaloTheme()) {
|
80
|
+
return;
|
81
|
+
}
|
82
|
+
grid._cellSelectionStyles = true; // Prevent loading the same style twice
|
83
|
+
injectCss(CellSelectionPlugin._styles, grid.getElement());
|
84
|
+
};
|
85
|
+
|
68
86
|
/** @type {Range}
|
69
87
|
* @private
|
70
88
|
*/
|
@@ -254,6 +272,7 @@ CellSelectionPlugin.prototype.initialize = function (host, options) {
|
|
254
272
|
if (this._hosts.length === 1) {
|
255
273
|
this.config(options);
|
256
274
|
}
|
275
|
+
CellSelectionPlugin._applyStyles(host);
|
257
276
|
};
|
258
277
|
|
259
278
|
/** Prevent memory leak, when we leave witout unlisten.
|
@@ -1156,8 +1156,8 @@ ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
|
|
1156
1156
|
return; // dataRows could be empty in case of no column is presented
|
1157
1157
|
}
|
1158
1158
|
|
1159
|
-
var c, r, cell, painter, changedCols, rowDef, rid, changedRow, changedRows
|
1160
|
-
var dataRow, insertedId, colData,
|
1159
|
+
var c, r, cell, painter, changedCols, rowDef, rid, changedRow, changedRows;
|
1160
|
+
var dataRow, insertedId, colData, cachedValues, updatePrev;
|
1161
1161
|
var section = e["section"];
|
1162
1162
|
var colCount = section.getColumnCount();
|
1163
1163
|
var fromR = /** @type{number} */(e["fromRowIndex"]);
|
@@ -1182,27 +1182,28 @@ ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
|
|
1182
1182
|
if (!dataRow) continue; // prevent from null value access when using with RowGroupingExtension
|
1183
1183
|
|
1184
1184
|
changedCols = null;
|
1185
|
+
var allowBlinking = false;
|
1186
|
+
var insertedRow = null;
|
1185
1187
|
if (blinkingEnabled) {
|
1186
1188
|
if (this._realTimeGrid) {
|
1187
1189
|
// TODO: check rid from e.rids
|
1188
1190
|
rowDef = /** @type{RowDefinition} */(dataRow["ROW_DEF"]);
|
1189
|
-
|
1190
|
-
|
1191
|
-
allowBlinking = !insertedRow || this._insertionBlinking;
|
1192
|
-
if (rid && allowBlinking) {
|
1191
|
+
if(rowDef){
|
1192
|
+
rid = rowDef.getRowId();
|
1193
1193
|
changedCols = rowDef.getUpdates();
|
1194
1194
|
}
|
1195
1195
|
} else { // composite grid
|
1196
1196
|
changedRow = changedRows[r];
|
1197
1197
|
if (changedRow) {
|
1198
1198
|
rid = changedRow.rid;
|
1199
|
-
|
1200
|
-
allowBlinking = !insertedRow || this._insertionBlinking;
|
1201
|
-
if (allowBlinking) {
|
1202
|
-
changedCols = changedRow.changed;
|
1203
|
-
}
|
1199
|
+
changedCols = changedRow.changed;
|
1204
1200
|
}
|
1205
1201
|
}
|
1202
|
+
insertedRow = rid ? insertedId[rid] : null;
|
1203
|
+
allowBlinking = !insertedRow || this._insertionBlinking;
|
1204
|
+
if (!allowBlinking) {
|
1205
|
+
changedCols = null;
|
1206
|
+
}
|
1206
1207
|
}
|
1207
1208
|
|
1208
1209
|
if (!rid) {
|
@@ -1225,24 +1226,26 @@ ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
|
|
1225
1226
|
painter = this.getColumnPainter(c);
|
1226
1227
|
if (painter) {
|
1227
1228
|
colData = this._getColumnData(c);
|
1228
|
-
bgBlinking = false;
|
1229
|
-
blinking
|
1230
|
-
|
1229
|
+
var bgBlinking = false;
|
1230
|
+
if (colData["blinking"] && actualUpdate) {
|
1231
|
+
var blinking = false;
|
1231
1232
|
var field = colData["blinkingField"] || this._getField(c);
|
1232
1233
|
var newValue = dataRow[field];
|
1233
|
-
if
|
1234
|
-
|
1235
|
-
|
1236
|
-
if (
|
1234
|
+
if(allowBlinking){
|
1235
|
+
if (prevDataRow) {
|
1236
|
+
var prevValue = prevDataRow[field];
|
1237
|
+
if (prevValue != null) {
|
1238
|
+
if (changedCols && changedCols[field]) {
|
1239
|
+
blinking = true;
|
1240
|
+
bgBlinking = painter.blinkCell(cell, newValue, prevValue, dataRow, dataRow);
|
1241
|
+
}
|
1242
|
+
}
|
1243
|
+
} else {
|
1244
|
+
if(prevRowCount && insertedRow){
|
1237
1245
|
blinking = true;
|
1238
|
-
bgBlinking = painter.blinkCell(cell, newValue,
|
1246
|
+
bgBlinking = painter.blinkCell(cell, newValue, newValue, dataRow, dataRow);
|
1239
1247
|
}
|
1240
1248
|
}
|
1241
|
-
} else {
|
1242
|
-
if(prevRowCount && insertedRow){
|
1243
|
-
blinking = true;
|
1244
|
-
bgBlinking = painter.blinkCell(cell, newValue, newValue, dataRow, dataRow);
|
1245
|
-
}
|
1246
1249
|
}
|
1247
1250
|
|
1248
1251
|
if (!blinking) {
|
@@ -48,6 +48,8 @@ declare class FilterInputPlugin extends GridPlugin {
|
|
48
48
|
|
49
49
|
public removeColumnFilter(colIndex?: (null|number)|null): void;
|
50
50
|
|
51
|
+
public setInputValue(colIndex: number, value: any): void;
|
52
|
+
|
51
53
|
public refresh(delayMs?: number|null): void;
|
52
54
|
|
53
55
|
public setFilterLogic(colIndex: number, func: ((...params: any[]) => any)|null, ctx?: any): void;
|
@@ -837,11 +837,44 @@ FilterInputPlugin.prototype.removeColumnFilters = function (colIndex) {
|
|
837
837
|
|
838
838
|
|
839
839
|
FilterInputPlugin.prototype.removeColumnFilter = FilterInputPlugin.prototype.removeColumnFilters;
|
840
|
+
/** @public
|
841
|
+
* @param {number} colIndex
|
842
|
+
* @param {*} value
|
843
|
+
*/
|
844
|
+
|
845
|
+
FilterInputPlugin.prototype.setInputValue = function (colIndex, value) {
|
846
|
+
var inputElem = this.getColumnInput(colIndex);
|
847
|
+
|
848
|
+
if (!inputElem) {
|
849
|
+
return;
|
850
|
+
}
|
851
|
+
|
852
|
+
var colOpt = this._getExtColumnOption(colIndex);
|
853
|
+
|
854
|
+
var type = colOpt.type ? colOpt.type.toLowerCase() : "";
|
855
|
+
|
856
|
+
if (type == "date") {
|
857
|
+
var dateObj = ElfDate.from(value);
|
858
|
+
value = dateObj ? dateObj.toDateString().substr(4) : "";
|
859
|
+
}
|
860
|
+
|
861
|
+
if (type == "multiselect") {
|
862
|
+
inputElem.values = value;
|
863
|
+
|
864
|
+
var textMap = FilterInputPlugin._createMapObject(value);
|
865
|
+
|
866
|
+
this.filterColumn(colIndex, "", textMap);
|
867
|
+
} else {
|
868
|
+
inputElem.value = value;
|
869
|
+
this.filterColumn(colIndex, value);
|
870
|
+
}
|
871
|
+
};
|
840
872
|
/** Force filtering for every column
|
841
873
|
* @public
|
842
874
|
* @param {number=} delayMs=0 Set delay in millisecond to avoid repeatedly filtering
|
843
875
|
*/
|
844
876
|
|
877
|
+
|
845
878
|
FilterInputPlugin.prototype.refresh = function (delayMs) {
|
846
879
|
if (delayMs) {
|
847
880
|
if (!this._refreshTimer) {
|
@@ -494,9 +494,17 @@ RangeBarPlugin.prototype._onPostSectionBinding = function (e) {
|
|
494
494
|
cell.setTooltip(textTooltip); // WARNING: this may be confuse with auto-tooltip extension
|
495
495
|
}
|
496
496
|
|
497
|
+
var span;
|
498
|
+
if (high == null && low == null && last == null) {
|
499
|
+
// Empty case
|
500
|
+
span = document.createElement("span");
|
501
|
+
span.textContent = "";
|
502
|
+
cell.setContent(span);
|
503
|
+
continue;
|
504
|
+
}
|
497
505
|
if (high == null || low == null || high < low) {
|
498
|
-
//
|
499
|
-
|
506
|
+
// Empty low or high case
|
507
|
+
span = document.createElement("span");
|
500
508
|
span.textContent = "N/A";
|
501
509
|
cell.setContent(span);
|
502
510
|
continue;
|
@@ -545,8 +553,17 @@ RangeBarPlugin.prototype._onPostSectionBinding = function (e) {
|
|
545
553
|
var highNormalize = _normalizeValue(low, high, last);
|
546
554
|
rangeBar.range = [highNormalize, lastNormalize];
|
547
555
|
}
|
548
|
-
|
556
|
+
if (low === high) {
|
557
|
+
// low equal high case (avoid normalize to infinity)
|
558
|
+
rangeBar.range = [-100, 100];
|
559
|
+
lastNormalize = last < low ? -100 : 100; // topValue will be left or right
|
560
|
+
}
|
549
561
|
|
562
|
+
if (last == null) {
|
563
|
+
// only last is empty (low and high should have value)
|
564
|
+
rangeBar.range = [];
|
565
|
+
lastNormalize = null;
|
566
|
+
}
|
550
567
|
rangeBar.topValue = lastNormalize;
|
551
568
|
if (this.valueLabel) {
|
552
569
|
rangeBar.topLabel = last;
|
@@ -209,7 +209,7 @@ RowFilteringPlugin.prototype._uiTimerId = 0;
|
|
209
209
|
* @private
|
210
210
|
*/
|
211
211
|
|
212
|
-
RowFilteringPlugin.prototype.
|
212
|
+
RowFilteringPlugin.prototype._filterTimerId = 0;
|
213
213
|
/** @type {Function}
|
214
214
|
* @private
|
215
215
|
*/
|
@@ -315,6 +315,16 @@ RowFilteringPlugin.prototype.unload = function (host) {
|
|
315
315
|
host.unlisten("columnRemoved", this._onColumnRemoved);
|
316
316
|
|
317
317
|
if (!this._hosts.length) {
|
318
|
+
if (this._uiTimerId) {
|
319
|
+
clearTimeout(this._uiTimerId);
|
320
|
+
this._uiTimerId = 0;
|
321
|
+
}
|
322
|
+
|
323
|
+
if (this._filterTimerId) {
|
324
|
+
clearTimeout(this._filterTimerId);
|
325
|
+
this._filterTimerId = 0;
|
326
|
+
}
|
327
|
+
|
318
328
|
this._hasPendingFilter = false;
|
319
329
|
|
320
330
|
if (this._filterDialog) {
|
@@ -688,6 +698,18 @@ RowFilteringPlugin.prototype._parseFilter = function (exp, colIndex, ctx) {
|
|
688
698
|
|
689
699
|
|
690
700
|
RowFilteringPlugin.prototype.addColumnFilter = function (colIndex, exp, ctx) {
|
701
|
+
if (colIndex < 0 || colIndex >= this.getColumnCount()) {
|
702
|
+
return false;
|
703
|
+
}
|
704
|
+
|
705
|
+
var cfo = this._getColumnFilterOption(colIndex);
|
706
|
+
|
707
|
+
if (cfo) {
|
708
|
+
if (cfo._expressions[0] === exp) {
|
709
|
+
return false; // The same expression is getting added on the same column twice
|
710
|
+
}
|
711
|
+
}
|
712
|
+
|
691
713
|
var func = null;
|
692
714
|
|
693
715
|
if (typeof exp === "function") {
|
@@ -706,10 +728,6 @@ RowFilteringPlugin.prototype.addColumnFilter = function (colIndex, exp, ctx) {
|
|
706
728
|
return false;
|
707
729
|
}
|
708
730
|
|
709
|
-
if (colIndex < 0 || colIndex >= this.getColumnCount()) {
|
710
|
-
return false;
|
711
|
-
}
|
712
|
-
|
713
731
|
var colSettings = this._getUserColumnSettings(colIndex);
|
714
732
|
|
715
733
|
colSettings.expression = exp; // WARNING: Only the last expression are saved (previous one is overwritten)
|
@@ -728,8 +746,7 @@ RowFilteringPlugin.prototype.addColumnFilter = function (colIndex, exp, ctx) {
|
|
728
746
|
ctx["field"] = field;
|
729
747
|
}
|
730
748
|
|
731
|
-
|
732
|
-
|
749
|
+
cfo = this._initColumnFilterOption(colIndex);
|
733
750
|
cfo._field = field; // TODO: Handle fieldDataType
|
734
751
|
|
735
752
|
cfo._filters.push(func);
|
@@ -811,6 +828,7 @@ RowFilteringPlugin.prototype._getColumnExpression = function (colIndex) {
|
|
811
828
|
* @private
|
812
829
|
* @param {number} colIndex
|
813
830
|
* @param {RowFilteringPlugin~ColumnOptions} userObj
|
831
|
+
* @returns {boolean} Returns true if there is an active filter in the column options
|
814
832
|
* @example
|
815
833
|
* var colDef1 = {
|
816
834
|
* "field": "PCTCHNG",
|
@@ -861,6 +879,8 @@ RowFilteringPlugin.prototype._setColumnOptions = function (colIndex, userObj) {
|
|
861
879
|
if (iconActivation == "always" || iconActivation == "onHover") {
|
862
880
|
this._updateColumnIcon(colIndex);
|
863
881
|
}
|
882
|
+
|
883
|
+
return exp != null;
|
864
884
|
};
|
865
885
|
/** @private
|
866
886
|
* @param {number} colIndex
|
@@ -1374,8 +1394,8 @@ RowFilteringPlugin.prototype._filterLogic = function (rid, rowData) {
|
|
1374
1394
|
|
1375
1395
|
|
1376
1396
|
RowFilteringPlugin.prototype._requestFilterRefresh = function () {
|
1377
|
-
if (!this.
|
1378
|
-
this.
|
1397
|
+
if (!this._filterTimerId) {
|
1398
|
+
this._filterTimerId = setTimeout(this.refresh, 10);
|
1379
1399
|
}
|
1380
1400
|
};
|
1381
1401
|
/** @private */
|
@@ -1398,7 +1418,7 @@ RowFilteringPlugin.prototype._setTimerForUpdatingIcons = function () {
|
|
1398
1418
|
|
1399
1419
|
|
1400
1420
|
RowFilteringPlugin.prototype.refresh = function () {
|
1401
|
-
this.
|
1421
|
+
this._filterTimerId = 0;
|
1402
1422
|
this._activeColFilters = this._columnFilters; //check cstp
|
1403
1423
|
|
1404
1424
|
var cstkp = this._getPlugin("ColumnStackPlugin");
|
@@ -2292,7 +2312,11 @@ RowFilteringPlugin.prototype._onDialogSortChanged = function (e) {
|
|
2292
2312
|
|
2293
2313
|
RowFilteringPlugin.prototype._onColumnAdded = function (e) {
|
2294
2314
|
if (e["context"]) {
|
2295
|
-
this._setColumnOptions(e["colIndex"], e["context"]);
|
2315
|
+
var hasFilter = this._setColumnOptions(e["colIndex"], e["context"]);
|
2316
|
+
|
2317
|
+
if (hasFilter) {
|
2318
|
+
this._applyPendingFilter();
|
2319
|
+
}
|
2296
2320
|
}
|
2297
2321
|
};
|
2298
2322
|
/** @private
|
@@ -48,6 +48,8 @@ declare class FilterInputPlugin extends GridPlugin {
|
|
48
48
|
|
49
49
|
public removeColumnFilter(colIndex?: (null|number)|null): void;
|
50
50
|
|
51
|
+
public setInputValue(colIndex: number, value: any): void;
|
52
|
+
|
51
53
|
public refresh(delayMs?: number|null): void;
|
52
54
|
|
53
55
|
public setFilterLogic(colIndex: number, func: ((...params: any[]) => any)|null, ctx?: any): void;
|
@@ -190,7 +190,7 @@ declare class Grid extends EventDispatcher {
|
|
190
190
|
|
191
191
|
public addStaticDataRows(dataRows: any[]|null, fields?: (string)[]|null): void;
|
192
192
|
|
193
|
-
public updateDataSet(records: (any)[]|null, rowIdentifier
|
193
|
+
public updateDataSet(records: (any)[]|null, rowIdentifier?: string|null): void;
|
194
194
|
|
195
195
|
public removeRow(rowRef: Grid.RowReference|null): RowDefinition|null;
|
196
196
|
|
package/lib/versions.json
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
"@grid/statistics-row": "1.0.15",
|
7
7
|
"@grid/zoom": "1.0.11",
|
8
8
|
"tr-grid-auto-tooltip": "1.1.6",
|
9
|
-
"tr-grid-cell-selection": "1.0.
|
9
|
+
"tr-grid-cell-selection": "1.0.34",
|
10
10
|
"tr-grid-checkbox": "1.0.60",
|
11
11
|
"tr-grid-column-fitter": "1.0.39",
|
12
12
|
"tr-grid-column-formatting": "0.9.35",
|
@@ -14,24 +14,24 @@
|
|
14
14
|
"tr-grid-column-resizing": "1.0.28",
|
15
15
|
"tr-grid-column-selection": "1.0.31",
|
16
16
|
"tr-grid-column-stack": "1.0.73",
|
17
|
-
"tr-grid-conditional-coloring": "1.0.
|
17
|
+
"tr-grid-conditional-coloring": "1.0.67",
|
18
18
|
"tr-grid-content-wrap": "1.0.20",
|
19
19
|
"tr-grid-contextmenu": "1.0.40",
|
20
|
-
"tr-grid-filter-input": "0.9.
|
20
|
+
"tr-grid-filter-input": "0.9.37",
|
21
21
|
"tr-grid-heat-map": "1.0.29",
|
22
22
|
"tr-grid-in-cell-editing": "1.0.81",
|
23
23
|
"tr-grid-pagination": "1.0.24",
|
24
24
|
"tr-grid-percent-bar": "1.0.22",
|
25
|
-
"tr-grid-range-bar": "2.0.
|
25
|
+
"tr-grid-range-bar": "2.0.6",
|
26
26
|
"tr-grid-row-dragging": "1.0.31",
|
27
|
-
"tr-grid-row-filtering": "1.0.
|
27
|
+
"tr-grid-row-filtering": "1.0.65",
|
28
28
|
"tr-grid-row-grouping": "1.0.82",
|
29
29
|
"tr-grid-row-selection": "1.0.25",
|
30
30
|
"tr-grid-rowcoloring": "1.0.25",
|
31
31
|
"tr-grid-textformatting": "1.0.46",
|
32
32
|
"tr-grid-titlewrap": "1.0.20",
|
33
33
|
"@grid/formatters": "1.0.50",
|
34
|
-
"@grid/column-selection-dialog": "4.0.
|
34
|
+
"@grid/column-selection-dialog": "4.0.55",
|
35
35
|
"@grid/filter-dialog": "4.0.60",
|
36
36
|
"@grid/column-format-dialog": "4.0.44"
|
37
37
|
}
|
package/package.json
CHANGED