@refinitiv-ui/efx-grid 6.0.40 → 6.0.41
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/column-selection-dialog/lib/column-selection-dialog.d.ts +2 -1
- package/lib/column-selection-dialog/lib/column-selection-dialog.js +23 -7
- package/lib/core/dist/core.js +25 -26
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.js +25 -26
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +2083 -1753
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.js +55 -7
- package/lib/rt-grid/es6/RowDefinition.d.ts +2 -2
- package/lib/rt-grid/es6/RowDefinition.js +37 -18
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +26 -40
- package/lib/tr-grid-util/es6/CellPainter.d.ts +2 -1
- package/lib/tr-grid-util/es6/CellPainter.js +6 -4
- package/lib/tr-grid-util/es6/ExpressionParser.d.ts +10 -0
- package/lib/tr-grid-util/es6/ExpressionParser.js +366 -0
- package/lib/tr-grid-util/es6/FilterBuilder.d.ts +10 -6
- package/lib/tr-grid-util/es6/FilterBuilder.js +264 -234
- package/lib/tr-grid-util/es6/FilterOperators.d.ts +3 -1
- package/lib/tr-grid-util/es6/FilterOperators.js +51 -2
- package/lib/tr-grid-util/es6/Util.d.ts +0 -3
- package/lib/tr-grid-util/es6/Util.js +0 -53
- package/lib/tr-grid-util/es6/formula/Formula.js +3 -3
- package/lib/types/es6/ColumnDragging.d.ts +51 -0
- package/lib/types/es6/ExtensionOptions.d.ts +2 -0
- package/lib/types/es6/Extensions.d.ts +3 -1
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -2
- package/lib/types/es6/index.d.ts +1 -0
- package/lib/versions.json +3 -3
- package/package.json +1 -1
@@ -36,6 +36,7 @@
|
|
36
36
|
*/
|
37
37
|
var FilterOperators = {
|
38
38
|
EQ: {
|
39
|
+
id: "EQ",
|
39
40
|
name: "Equal to",
|
40
41
|
type: "string",
|
41
42
|
positive: 1,
|
@@ -43,6 +44,7 @@ var FilterOperators = {
|
|
43
44
|
formula: "str == input"
|
44
45
|
},
|
45
46
|
NEQ: {
|
47
|
+
id: "NEQ",
|
46
48
|
name: "Not equal to",
|
47
49
|
type: "string",
|
48
50
|
positive: 0,
|
@@ -50,6 +52,7 @@ var FilterOperators = {
|
|
50
52
|
formula: "str != input"
|
51
53
|
},
|
52
54
|
NUMEQ: {
|
55
|
+
id: "NUMEQ",
|
53
56
|
name: "Number equal to",
|
54
57
|
type: "number",
|
55
58
|
positive: 1,
|
@@ -57,6 +60,7 @@ var FilterOperators = {
|
|
57
60
|
formula: "val == input"
|
58
61
|
},
|
59
62
|
NUMNEQ: {
|
63
|
+
id: "NUMNEQ",
|
60
64
|
name: "Number not equal to",
|
61
65
|
type: "number",
|
62
66
|
positive: 0,
|
@@ -64,6 +68,7 @@ var FilterOperators = {
|
|
64
68
|
formula: "val != input"
|
65
69
|
},
|
66
70
|
GT: {
|
71
|
+
id: "GT",
|
67
72
|
name: "Greater than",
|
68
73
|
type: "number",
|
69
74
|
positive: 1,
|
@@ -71,6 +76,7 @@ var FilterOperators = {
|
|
71
76
|
formula: "val > input"
|
72
77
|
},
|
73
78
|
GTE: {
|
79
|
+
id: "GTE",
|
74
80
|
name: "Greater than or equal to",
|
75
81
|
type: "number",
|
76
82
|
positive: 1,
|
@@ -78,6 +84,7 @@ var FilterOperators = {
|
|
78
84
|
formula: "val >= input"
|
79
85
|
},
|
80
86
|
LT: {
|
87
|
+
id: "LT",
|
81
88
|
name: "Less than",
|
82
89
|
type: "number",
|
83
90
|
positive: 1,
|
@@ -85,6 +92,7 @@ var FilterOperators = {
|
|
85
92
|
formula: "val < input"
|
86
93
|
},
|
87
94
|
LTE: {
|
95
|
+
id: "LTE",
|
88
96
|
name: "Less than or equal to",
|
89
97
|
type: "number",
|
90
98
|
positive: 1,
|
@@ -92,6 +100,7 @@ var FilterOperators = {
|
|
92
100
|
formula: "val <= input"
|
93
101
|
},
|
94
102
|
BEGIN: {
|
103
|
+
id: "BEGIN",
|
95
104
|
name: "Begin with",
|
96
105
|
type: "string",
|
97
106
|
positive: 1,
|
@@ -99,6 +108,7 @@ var FilterOperators = {
|
|
99
108
|
formula: "str.indexOf(input) === 0"
|
100
109
|
},
|
101
110
|
NBEGIN: {
|
111
|
+
id: "NBEGIN",
|
102
112
|
name: "Not begin with",
|
103
113
|
type: "string",
|
104
114
|
positive: 0,
|
@@ -106,6 +116,7 @@ var FilterOperators = {
|
|
106
116
|
formula: "str.indexOf(input) !== 0"
|
107
117
|
},
|
108
118
|
END: {
|
119
|
+
id: "END",
|
109
120
|
name: "End with",
|
110
121
|
type: "string",
|
111
122
|
positive: 1,
|
@@ -113,6 +124,7 @@ var FilterOperators = {
|
|
113
124
|
formula: "(str.length >= input.length) && str.lastIndexOf(input) === (str.length - input.length)"
|
114
125
|
},
|
115
126
|
NEND: {
|
127
|
+
id: "NEND",
|
116
128
|
name: "Not end with",
|
117
129
|
type: "string",
|
118
130
|
positive: 0,
|
@@ -120,6 +132,7 @@ var FilterOperators = {
|
|
120
132
|
formula: "(str.length < input.length) || str.lastIndexOf(input) !== (str.length - input.length)"
|
121
133
|
},
|
122
134
|
CONT: {
|
135
|
+
id: "CONT",
|
123
136
|
name: "Contain",
|
124
137
|
type: "string",
|
125
138
|
positive: 1,
|
@@ -127,6 +140,7 @@ var FilterOperators = {
|
|
127
140
|
formula: "str.indexOf(input) >= 0"
|
128
141
|
},
|
129
142
|
NCONT: {
|
143
|
+
id: "NCONT",
|
130
144
|
name: "Not contain",
|
131
145
|
type: "string",
|
132
146
|
positive: 0,
|
@@ -134,6 +148,7 @@ var FilterOperators = {
|
|
134
148
|
formula: "str.indexOf(input) < 0"
|
135
149
|
},
|
136
150
|
EQ_BLANK: {
|
151
|
+
id: "EQ_BLANK",
|
137
152
|
name: "Equal to blank value",
|
138
153
|
type: "blank", // Blank checking
|
139
154
|
positive: 1,
|
@@ -141,14 +156,15 @@ var FilterOperators = {
|
|
141
156
|
formula: "!val && val !== 0" // false boolean value would not pass
|
142
157
|
},
|
143
158
|
EQ_NBLANK: {
|
159
|
+
id: "EQ_NBLANK",
|
144
160
|
name: "Equal to non blank value",
|
145
161
|
type: "blank", // Blank checking
|
146
162
|
positive: 1,
|
147
163
|
caseSensitive: 1,
|
148
164
|
formula: "(val || val === 0) ? true : false"
|
149
165
|
},
|
150
|
-
// 86400000 is millisecond in a day. It is used to remove time part from date object for comparison
|
151
166
|
DT: {
|
167
|
+
id: "DT",
|
152
168
|
name: "Date is",
|
153
169
|
type: "date",
|
154
170
|
positive: 1,
|
@@ -156,6 +172,7 @@ var FilterOperators = {
|
|
156
172
|
formula: "ts === input"
|
157
173
|
},
|
158
174
|
DTA: {
|
175
|
+
id: "DTA",
|
159
176
|
name: "Date is After",
|
160
177
|
type: "date",
|
161
178
|
positive: 1,
|
@@ -163,6 +180,7 @@ var FilterOperators = {
|
|
163
180
|
formula: "ts > input"
|
164
181
|
},
|
165
182
|
DTB: {
|
183
|
+
id: "DTB",
|
166
184
|
name: "Date is Before",
|
167
185
|
type: "date",
|
168
186
|
positive: 1,
|
@@ -177,5 +195,36 @@ FilterOperators.TXTEQ = FilterOperators.EQ;
|
|
177
195
|
FilterOperators.BLANK = FilterOperators.EQ_BLANK;
|
178
196
|
FilterOperators.NBLANK = FilterOperators.EQ_NBLANK;
|
179
197
|
|
198
|
+
|
199
|
+
/** @type {Object.<string, Function>}
|
200
|
+
* @public
|
201
|
+
* @const
|
202
|
+
*/
|
203
|
+
var OperatorFunctions = {
|
204
|
+
EQ: function(str, input) { return str == input; },
|
205
|
+
NEQ: function(str, input) { return str != input; },
|
206
|
+
NUMEQ: function(num, input) { return num == input; },
|
207
|
+
NUMNEQ: function(num, input) { return num != input; },
|
208
|
+
GT: function(num, input) { return num > input; },
|
209
|
+
GTE: function(num, input) { return num >= input; },
|
210
|
+
LT: function(num, input) { return num < input; },
|
211
|
+
LTE: function(num, input) { return num <= input; },
|
212
|
+
BEGIN: function(str, input) { return str.indexOf(input) === 0; },
|
213
|
+
NBEGIN: function(str, input) { return str.indexOf(input) !== 0; },
|
214
|
+
END: function(str, input) {
|
215
|
+
return (str.length >= input.length) && str.lastIndexOf(input) === (str.length - input.length);
|
216
|
+
},
|
217
|
+
NEND: function(str, input) {
|
218
|
+
return (str.length < input.length) || str.lastIndexOf(input) !== (str.length - input.length);
|
219
|
+
},
|
220
|
+
CONT: function(str, input) { return str.indexOf(input) >= 0; },
|
221
|
+
NCONT: function(str, input) { return str.indexOf(input) < 0; },
|
222
|
+
EQ_BLANK: function(val, input) { return !val && val !== 0; },
|
223
|
+
EQ_NBLANK: function(val, input) { return (val || val === 0) ? true : false; },
|
224
|
+
DT: function(ts, input) { return ts === input; },
|
225
|
+
DTA: function(ts, input) { return ts > input; },
|
226
|
+
DTB: function(ts, input) { return ts < input; }
|
227
|
+
};
|
228
|
+
|
180
229
|
export default FilterOperators;
|
181
|
-
export { FilterOperators };
|
230
|
+
export { FilterOperators, OperatorFunctions };
|
@@ -28,8 +28,6 @@ declare function deepEqual(obj1: any, obj2: any): boolean;
|
|
28
28
|
|
29
29
|
declare function extendArrayProperty(obj: any, propName: string, ary: any): any[]|null;
|
30
30
|
|
31
|
-
declare function parseCondition(expression: string|((...params: any[]) => any)|null): ((...params: any[]) => any)|null;
|
32
|
-
|
33
31
|
declare function prettifyCss(css: string|any[]|null): string;
|
34
32
|
|
35
33
|
declare function getShadowRoot(elem: Element|null): DocumentFragment|null;
|
@@ -58,7 +56,6 @@ export {
|
|
58
56
|
arrayToObject,
|
59
57
|
extendProperty,
|
60
58
|
extendArrayProperty,
|
61
|
-
parseCondition,
|
62
59
|
prettifyCss,
|
63
60
|
getShadowRoot,
|
64
61
|
injectCss,
|
@@ -301,58 +301,6 @@ var extendArrayProperty = function (obj, propName, ary) {
|
|
301
301
|
return objAry;
|
302
302
|
};
|
303
303
|
|
304
|
-
|
305
|
-
/** Regex for matching the field token E.g. '[CF_BID]'
|
306
|
-
* @type {!RegExp}
|
307
|
-
* @private
|
308
|
-
* @const
|
309
|
-
*/
|
310
|
-
var _bracketExp = new RegExp(/\[[^\[]*\]/g); // eslint-disable-line no-useless-escape
|
311
|
-
/** @public
|
312
|
-
* @function
|
313
|
-
* @param {string|Function} expression
|
314
|
-
* @return {Function}
|
315
|
-
* @example
|
316
|
-
* var fn = parseCondition("[CF_BID] >= 10 && [CF_BID] <= 100");
|
317
|
-
* window.console.log(fn(25));
|
318
|
-
*/
|
319
|
-
var parseCondition = function(expression) {
|
320
|
-
if(!expression) {
|
321
|
-
return null;
|
322
|
-
}
|
323
|
-
if(typeof expression !== "string") {
|
324
|
-
return (typeof expression == "function") ? /** @type {Function} */(expression) : null;
|
325
|
-
}
|
326
|
-
|
327
|
-
var brackets = expression.match(_bracketExp); // Retrieving field tokens (anything in between brackets)
|
328
|
-
var map = {}; // For checking duplication
|
329
|
-
var fields = [];
|
330
|
-
var len = brackets ? brackets.length : 0;
|
331
|
-
for(var i = len; --i >= 0;) {
|
332
|
-
var field = brackets[i];
|
333
|
-
if(!map[field]) {
|
334
|
-
map[field] = "f[" + fields.length + "]"; // Create mapping of field token to array with index E.g. { "[CF_BID]": "f[0]" }
|
335
|
-
fields.push(field.substring(1, field.length - 1)); // Strip '[' and ']' of field token to get field name
|
336
|
-
}
|
337
|
-
}
|
338
|
-
|
339
|
-
// Replace the field tokens with rowData of array with index E.g. [CF_BID] ==> rowData[f[0]]
|
340
|
-
expression = expression.replace(_bracketExp, function(match) {
|
341
|
-
return "rowData[" + map[match] + "]";
|
342
|
-
});
|
343
|
-
var finalExp = "(function(f, rowData) { return (" + expression + "); })";
|
344
|
-
|
345
|
-
var fn = null;
|
346
|
-
try {
|
347
|
-
fn = eval(finalExp);
|
348
|
-
fn = fn.bind(null, fields); // Bind fields for matching field name
|
349
|
-
} catch(err) {
|
350
|
-
console.log(err.message);
|
351
|
-
}
|
352
|
-
return (fn) ? fn : null;
|
353
|
-
};
|
354
|
-
|
355
|
-
|
356
304
|
/** @private
|
357
305
|
* @param {string|Array.<string>} item
|
358
306
|
* @return {string}
|
@@ -583,7 +531,6 @@ export {
|
|
583
531
|
arrayToObject,
|
584
532
|
extendProperty,
|
585
533
|
extendArrayProperty,
|
586
|
-
parseCondition,
|
587
534
|
prettifyCss,
|
588
535
|
getShadowRoot,
|
589
536
|
injectCss,
|
@@ -93,7 +93,7 @@ Formula.prototype._alias = ""; // Alias name of formula
|
|
93
93
|
/** @private
|
94
94
|
* @type {Function}
|
95
95
|
*/
|
96
|
-
Formula.prototype._main = null; // Function resulted from
|
96
|
+
Formula.prototype._main = null; // Function resulted from resolving an expression
|
97
97
|
|
98
98
|
/** @private
|
99
99
|
* @type {Array.<Function>}
|
@@ -201,7 +201,7 @@ Formula.prototype.calculate = function(rowData) {
|
|
201
201
|
return null;
|
202
202
|
};
|
203
203
|
|
204
|
-
/** Function resulted from
|
204
|
+
/** Function resulted from resolving an expression
|
205
205
|
* @public
|
206
206
|
* @return {Function} Returns function that takes an JSON object as a parameter. Return null if function is not valid JavaScript codes.
|
207
207
|
*/
|
@@ -673,7 +673,7 @@ Formula.prototype._parse = function(exp) {
|
|
673
673
|
Formula.prototype._createFunction = function (expression) {
|
674
674
|
var func = null;
|
675
675
|
try {
|
676
|
-
func =
|
676
|
+
func = new Function("__R", "return " + expression + ";");
|
677
677
|
func = func.bind(this);
|
678
678
|
func({}); // Try to execute the method once to check error
|
679
679
|
} catch(err) {
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { Ext } from "../../tr-grid-util/es6/Ext.js";
|
2
|
+
import { preventDefault } from "../../tr-grid-util/es6/EventDispatcher.js";
|
3
|
+
import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
|
4
|
+
import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
|
5
|
+
import { cloneObject } from "../../tr-grid-util/es6/Util.js";
|
6
|
+
import { DragUI } from "../../tr-grid-util/es6/DragUI.js";
|
7
|
+
|
8
|
+
declare namespace ColumnDraggingPlugin {
|
9
|
+
|
10
|
+
type Options = {
|
11
|
+
dragStart?: ((...params: any[]) => any)|null,
|
12
|
+
drag?: ((...params: any[]) => any)|null,
|
13
|
+
dragEnd?: ((...params: any[]) => any)|null,
|
14
|
+
preColumnMoved?: ((...params: any[]) => any)|null,
|
15
|
+
columnMoved?: ((...params: any[]) => any)|null,
|
16
|
+
dragInterval?: ((...params: any[]) => any)|null,
|
17
|
+
dragBoxRenderer?: ((...params: any[]) => any)|null
|
18
|
+
};
|
19
|
+
|
20
|
+
}
|
21
|
+
|
22
|
+
declare class ColumnDraggingPlugin extends GridPlugin {
|
23
|
+
|
24
|
+
constructor(options?: ColumnDraggingPlugin.Options|null);
|
25
|
+
|
26
|
+
public getName(): string;
|
27
|
+
|
28
|
+
public hasMultiTableSupport(): boolean;
|
29
|
+
|
30
|
+
public initialize(host: any, options?: any): void;
|
31
|
+
|
32
|
+
public unload(host?: any): void;
|
33
|
+
|
34
|
+
public config(options?: any): void;
|
35
|
+
|
36
|
+
public getConfigObject(gridOptions?: any): any;
|
37
|
+
|
38
|
+
public lockFrozenColumn(lock: boolean): void;
|
39
|
+
|
40
|
+
public disable(disabled?: boolean|null): void;
|
41
|
+
|
42
|
+
public isDisabled(): boolean;
|
43
|
+
|
44
|
+
public disableMoving(disabled?: boolean|null): void;
|
45
|
+
|
46
|
+
public disableDragBox(disabled?: boolean|null): void;
|
47
|
+
|
48
|
+
}
|
49
|
+
|
50
|
+
export default ColumnDraggingPlugin;
|
51
|
+
export { ColumnDraggingPlugin, ColumnDraggingPlugin as ColumnDragging, ColumnDraggingPlugin as ColumnDraggingExtension };
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import ColumnDragging from "../../column-dragging/es6/ColumnDragging.js";
|
1
2
|
import RowSegmenting from "../../row-segmenting/es6/RowSegmenting.js";
|
2
3
|
import StatisticsRow from "../../statistics-row/es6/StatisticsRow.js";
|
3
4
|
import Zoom from "../../zoom/es6/Zoom.js";
|
@@ -24,6 +25,7 @@ import RowColoring from "../../tr-grid-rowcoloring/es6/RowColoring.js";
|
|
24
25
|
import TextFormatting from "../../tr-grid-textformatting/es6/TextFormatting.js";
|
25
26
|
|
26
27
|
type ExtensionOptions = {
|
28
|
+
columnDragging?: ColumnDragging.Options,
|
27
29
|
rowSegmenting?: RowSegmenting.Options,
|
28
30
|
statisticsRow?: StatisticsRow.Options,
|
29
31
|
zoom?: Zoom.Options,
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import ColumnDragging from "../../column-dragging/es6/ColumnDragging.js";
|
1
2
|
import RowSegmenting from "../../row-segmenting/es6/RowSegmenting.js";
|
2
3
|
import StatisticsRow from "../../statistics-row/es6/StatisticsRow.js";
|
3
4
|
import Zoom from "../../zoom/es6/Zoom.js";
|
@@ -27,7 +28,8 @@ import RowColoring from "../../tr-grid-rowcoloring/es6/RowColoring.js";
|
|
27
28
|
import TextFormatting from "../../tr-grid-textformatting/es6/TextFormatting.js";
|
28
29
|
import TitleWrap from "../../tr-grid-titlewrap/es6/TitleWrap.js";
|
29
30
|
|
30
|
-
type Extensions =
|
31
|
+
type Extensions = ColumnDragging |
|
32
|
+
RowSegmenting |
|
31
33
|
StatisticsRow |
|
32
34
|
Zoom |
|
33
35
|
AutoTooltip |
|
@@ -104,7 +104,7 @@ declare class RowDefinition {
|
|
104
104
|
|
105
105
|
public resetUpdates(): void;
|
106
106
|
|
107
|
-
public registerToView(view:
|
107
|
+
public registerToView(view: DataView|null, rowId?: string|null): void;
|
108
108
|
|
109
109
|
public static deregisterFromView(rowIds: (string)[]|null, rowDef: RowDefinition|null): (string)[]|null;
|
110
110
|
|
@@ -142,7 +142,7 @@ declare const ROW_DEF: string;
|
|
142
142
|
|
143
143
|
declare const ROW_TYPES: RowDefinition.RowTypes;
|
144
144
|
|
145
|
-
declare function rowData(userInput: string,
|
145
|
+
declare function rowData(userInput: string, extractedOptions: any): boolean;
|
146
146
|
|
147
147
|
export {RowDefinition, ROW_DEF, ROW_TYPES};
|
148
148
|
export default RowDefinition;
|
package/lib/types/es6/index.d.ts
CHANGED
package/lib/versions.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"tr-grid-util": "1.3.
|
2
|
+
"tr-grid-util": "1.3.109",
|
3
3
|
"@grid/column-dragging": "1.0.14",
|
4
4
|
"@grid/row-segmenting": "1.0.24",
|
5
5
|
"@grid/statistics-row": "1.0.14",
|
@@ -9,7 +9,7 @@
|
|
9
9
|
"tr-grid-checkbox": "1.0.60",
|
10
10
|
"tr-grid-column-fitter": "1.0.39",
|
11
11
|
"tr-grid-column-formatting": "0.9.34",
|
12
|
-
"tr-grid-column-grouping": "1.0.
|
12
|
+
"tr-grid-column-grouping": "1.0.50",
|
13
13
|
"tr-grid-column-resizing": "1.0.28",
|
14
14
|
"tr-grid-column-selection": "1.0.28",
|
15
15
|
"tr-grid-column-stack": "1.0.63",
|
@@ -31,7 +31,7 @@
|
|
31
31
|
"tr-grid-textformatting": "1.0.45",
|
32
32
|
"tr-grid-titlewrap": "1.0.19",
|
33
33
|
"@grid/formatters": "1.0.49",
|
34
|
-
"@grid/column-selection-dialog": "4.0.
|
34
|
+
"@grid/column-selection-dialog": "4.0.48",
|
35
35
|
"@grid/filter-dialog": "4.0.57",
|
36
36
|
"@grid/column-format-dialog": "4.0.43"
|
37
37
|
}
|
package/package.json
CHANGED