@refinitiv-ui/efx-grid 6.0.60 → 6.0.62

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +1 -1
  2. package/lib/column-selection-dialog/lib/column-selection-dialog.js +1 -41
  3. package/lib/column-selection-dialog/themes/base.less +32 -0
  4. package/lib/column-selection-dialog/themes/elemental/dark/column-selection-dialog.js +1 -1
  5. package/lib/column-selection-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  6. package/lib/column-selection-dialog/themes/elemental/light/column-selection-dialog.js +1 -1
  7. package/lib/column-selection-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  8. package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +1 -1
  9. package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  10. package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +1 -1
  11. package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +1 -1
  12. package/lib/column-selection-dialog/themes/solar/charcoal/column-selection-dialog.js +1 -1
  13. package/lib/column-selection-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  14. package/lib/column-selection-dialog/themes/solar/pearl/column-selection-dialog.js +1 -1
  15. package/lib/column-selection-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  16. package/lib/core/dist/core.js +2 -6
  17. package/lib/core/dist/core.min.js +1 -1
  18. package/lib/core/es6/grid/Core.js +2 -6
  19. package/lib/grid/index.js +1 -1
  20. package/lib/tr-grid-column-stack/es6/ColumnStack.js +1 -0
  21. package/lib/tr-grid-range-bar/es6/RangeBar.js +11 -0
  22. package/lib/tr-grid-util/es6/ElementObserver.js +2 -1
  23. package/lib/tr-grid-util/es6/ExpressionParser.js +55 -13
  24. package/lib/tr-grid-util/es6/FilterBuilder.js +13 -7
  25. package/lib/tr-grid-util/es6/FilterOperators.d.ts +25 -23
  26. package/lib/tr-grid-util/es6/FilterOperators.js +26 -25
  27. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +35 -13
  28. package/lib/tr-grid-util/es6/jet/DataGenerator.js +42 -17
  29. package/lib/utils/index.d.ts +2 -1
  30. package/lib/utils/index.js +2 -1
  31. package/lib/versions.json +5 -5
  32. package/package.json +1 -1
@@ -562,7 +562,7 @@ Core.prototype._batches = null;
562
562
  * @return {string}
563
563
  */
564
564
  Core.getVersion = function () {
565
- return "5.1.74";
565
+ return "5.1.75";
566
566
  };
567
567
  /** {@link ElementWrapper#dispose}
568
568
  * @override
@@ -5071,14 +5071,10 @@ Core.prototype._onColInViewChanged = function (e) {
5071
5071
  var last = pli > li ? pli : li; // INCLUSIVE
5072
5072
 
5073
5073
  this._activateColumns(fi, li, first, last);
5074
-
5075
- var rfi = this._rowVirtualizer.getFirstIndexInView();
5076
- var rli = this._rowVirtualizer.getLastIndexInView();
5077
5074
  var sectionCount = this.getSectionCount();
5078
5075
  for (var s = 0; s < sectionCount; ++s) { // For each section
5079
5076
  var sectionSettings = this._settings[s];
5080
- var rowIndexOffset = sectionSettings.getRowOffset();
5081
- this.updateRowData(sectionSettings, rfi - rowIndexOffset, rli - rowIndexOffset);
5077
+ this.updateRowData(sectionSettings); // It will be render all rows in view
5082
5078
  }
5083
5079
  };
5084
5080
  /** @private
package/lib/grid/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import {Grid} from "./lib/efx-grid.js";
2
2
  export {Grid}
3
- window.EFX_GRID = { version: "6.0.60" };
3
+ window.EFX_GRID = { version: "6.0.62" };
@@ -1800,6 +1800,7 @@ ColumnStackPlugin.prototype.addColumnToStack = function(colRef, stackId) {
1800
1800
 
1801
1801
  // If an unpinned column is added to a pinned stack, the pinning position should be updated
1802
1802
  if(stack.leftPinned || stack.rightPinned) {
1803
+ var colCount = this.getColumnCount();
1803
1804
  if(stack.leftPinned && colIndex > leftPinnedIndex) {
1804
1805
  leftPinnedIndex++;
1805
1806
  this._freezeColumn(leftPinnedIndex, rightPinnedCount);
@@ -90,6 +90,10 @@ var RangeBarPlugin = function RangeBarPlugin() {
90
90
  };
91
91
  Ext.inherits(RangeBarPlugin, GridPlugin);
92
92
 
93
+ /** @type {boolean}
94
+ * @private
95
+ */
96
+ RangeBarPlugin._LEDGuage = true;
93
97
  /** @type {boolean}
94
98
  * @private
95
99
  */
@@ -144,6 +148,10 @@ RangeBarPlugin.prototype.initialize = function (host, options) {
144
148
  * @ignore
145
149
  */
146
150
  RangeBarPlugin.prototype._afterInit = function () {
151
+ if (!ElfUtil.hasComponent("ef-led-gauge")) {
152
+ console.log("The LED Gauge component is required for the range bar extension. Please make sure to import both the LED Gauge component and its theme.");
153
+ RangeBarPlugin._LEDGuage = false;
154
+ }
147
155
  var colCount = this.getColumnCount();
148
156
  for (var i = 0; i < colCount; ++i) {
149
157
  this._setColumnRenderer(i);
@@ -449,6 +457,9 @@ RangeBarPlugin.prototype._onThemeLoaded = function () {
449
457
  * @param {Object} e
450
458
  */
451
459
  RangeBarPlugin.prototype._onPostSectionBinding = function (e) {
460
+ if (!RangeBarPlugin._LEDGuage) {
461
+ return;
462
+ }
452
463
  var section = e["section"];
453
464
  var dataRows = /** @type{Array.<Object>} */e["dataRows"];
454
465
  var colCount = section.getColumnCount();
@@ -91,7 +91,8 @@ ElementObserver._addListener = function(elem, fn) {
91
91
  }
92
92
  };
93
93
 
94
- /** @public Add a listener to a html lang attribute
94
+ /** Add a listener to a html lang attribute
95
+ * @public
95
96
  * @param {Element} element An element within the DOM tree to watch for changes
96
97
  */
97
98
  ElementObserver.addLanguageListener = function(element) {
@@ -17,7 +17,9 @@ var OperatorPrecedences = {
17
17
  "-": 4,
18
18
  "*": 5,
19
19
  "%": 6,
20
- "/": 6
20
+ "/": 6,
21
+ "!": 7,
22
+ "!!": 7
21
23
  };
22
24
  /** @type {Object.<string, Function>}
23
25
  * @private
@@ -36,10 +38,32 @@ var OperatorFunctions = {
36
38
  "==": function(lhs, rhs){ return lhs == rhs; },
37
39
  "!=": function(lhs, rhs){ return lhs != rhs; },
38
40
  "&&": function(lhs, rhs){ return lhs && rhs; },
39
- "||": function(lhs, rhs){ return lhs || rhs; }
41
+ "||": function(lhs, rhs){ return lhs || rhs; },
42
+ "!": function(lhs, rhs){ return !lhs; },
43
+ "!!": function(lhs, rhs){ return !!lhs; }
40
44
  };
41
45
  /** @type {Object.<string, Function>}
42
46
  * @private
47
+ * @const
48
+ */
49
+ var OperandRequirements = {
50
+ "+": 2,
51
+ "-": 2,
52
+ "*": 2,
53
+ "/": 2,
54
+ "%": 2,
55
+ "<": 2,
56
+ ">": 2,
57
+ "<=": 2,
58
+ ">=": 2,
59
+ "==": 2,
60
+ "!=": 2,
61
+ "&&": 2,
62
+ "||": 2,
63
+ "!": 1,
64
+ "!!": 1
65
+ };
66
+ /** @private
43
67
  * @function
44
68
  * @param {Array.<Object>} ary
45
69
  * @param {string|number} value
@@ -57,10 +81,20 @@ var _addToken = function(ary, value, type, dataType) {
57
81
  }
58
82
  if(type === "operator") {
59
83
  tok.precedence = OperatorPrecedences[value];
84
+ } else if(type === "parenthesis") {
85
+ tok.precedence = 0;
60
86
  }
61
87
  ary.push(tok);
62
88
  return ary.length - 1;
63
89
  };
90
+ /** @private
91
+ * @function
92
+ * @param {Object} obj
93
+ * @returns {*}
94
+ */
95
+ var _toValue = function(obj) { // eslint-disable-line
96
+ return obj.value;
97
+ };
64
98
 
65
99
  /** @public
66
100
  * @namespace
@@ -174,8 +208,9 @@ ExpressionParser._tester = function(ctx) {
174
208
  for(var i = 0; i < inputCount; ++i) {
175
209
  var tok = rpn[i];
176
210
  if(tok.type !== "literal") {
177
- if(operandCount >= 2) {
178
- operandCount -= 2;
211
+ var requiredCount = OperandRequirements[tok.value];
212
+ if(operandCount >= requiredCount) {
213
+ operandCount -= requiredCount;
179
214
  } else {
180
215
  console.warn("Cannot parse an expression with insufficient number of operands");
181
216
  return true;
@@ -216,11 +251,18 @@ ExpressionParser._filter = function(ctx, rowData) {
216
251
  curRes = rowData ? rowData[tokValue] : null;
217
252
  }
218
253
  } else { // operator
219
- curRes = OperatorFunctions[tokValue](
220
- results[operandCount - 2],
221
- results[operandCount - 1]
222
- );
223
- operandCount -= 2;
254
+ if(OperandRequirements[tokValue] === 1) {
255
+ curRes = OperatorFunctions[tokValue](
256
+ results[operandCount - 1]
257
+ );
258
+ operandCount -= 1;
259
+ } else { // 2
260
+ curRes = OperatorFunctions[tokValue](
261
+ results[operandCount - 2],
262
+ results[operandCount - 1]
263
+ );
264
+ operandCount -= 2;
265
+ }
224
266
  }
225
267
  results[operandCount++] = curRes;
226
268
  }
@@ -289,7 +331,6 @@ ExpressionParser.parse = function(expression) {
289
331
  }
290
332
  infixTokens.push(tok);
291
333
  }
292
- // TODO: Handle the case where subtraction operator is in front of a variable
293
334
  ExpressionParser._tokens.length = 0;
294
335
 
295
336
  // Convert Infix notation to Reverse Polish Notation (Postfix)
@@ -324,9 +365,10 @@ ExpressionParser.parse = function(expression) {
324
365
  }
325
366
  }
326
367
  } else { // operator
327
- lastOp = operators[operators.length - 1];
328
- var prevPrecedence = lastOp ? lastOp.precedence : null;
329
- if(prevPrecedence != null && tok.precedence <= prevPrecedence) {
368
+ while(operators.length) {
369
+ if(tok.precedence > operators[operators.length - 1].precedence) {
370
+ break;
371
+ }
330
372
  rpn.push(operators.pop());
331
373
  }
332
374
  operators.push(tok);
@@ -110,7 +110,7 @@ var _filterByConditions = function(ctx, rowData) {
110
110
  if(ctx._rawDataAccessor) {
111
111
  val = ctx._rawDataAccessor(val);
112
112
  }
113
- var str, num, dateVal; // intentionally left undefined
113
+ var str, lowercasedStr, num, dateVal; // intentionally left undefined
114
114
  var finalResult = false;
115
115
  var result = false;
116
116
  for(var i = 0; i < condCount; ++i) {
@@ -163,12 +163,16 @@ var _filterByConditions = function(ctx, rowData) {
163
163
  str = val;
164
164
  }
165
165
  str = convertToString(str);
166
- if(!opDef.caseSensitive) {
167
- str = str.toLowerCase();
168
- }
169
166
  }
170
167
 
171
- result = opFunc(str, cond.value);
168
+ if(opDef.caseSensitive) {
169
+ result = opFunc(str, cond.value);
170
+ } else {
171
+ if(lowercasedStr == null) {
172
+ lowercasedStr = str.toLowerCase();
173
+ }
174
+ result = opFunc(lowercasedStr, cond.value);
175
+ }
172
176
  }
173
177
  if(i > 0) {
174
178
  if(orConnector) {
@@ -428,6 +432,8 @@ FilterBuilder.prototype.buildFilter = function() {
428
432
  }
429
433
 
430
434
  // Prepare user value to be in ready to use form to boost performance
435
+ var fieldName = this._fieldName;
436
+ var fmtFieldName = this._formattedFieldName;
431
437
  var formatter = this._formatter;
432
438
  var conds = this._conditions.slice();
433
439
  for(var i = 0; i < condCount; ++i) {
@@ -452,8 +458,8 @@ FilterBuilder.prototype.buildFilter = function() {
452
458
  } else if(opType === "string") {
453
459
  if(formatter) { // WARNING: This is not in sync when _formattedDataAccessor exists
454
460
  var dummyRow = {};
455
- dummyRow[fieldName] = inputStr;
456
- dummyRow[fmtFieldName] = inputStr;
461
+ dummyRow[fieldName] = value;
462
+ dummyRow[fmtFieldName] = value;
457
463
  value = formatter(dummyRow); // WARNING: dummyRow may not provide enough data for formatting correctly
458
464
  }
459
465
  value = convertToString(value);
@@ -11,33 +11,35 @@ declare namespace FilterOperators {
11
11
  };
12
12
 
13
13
  type Operators = {
14
- EQ: FilterOperators.Operator|null,
15
- NEQ: FilterOperators.Operator|null,
16
- NUMEQ: FilterOperators.Operator|null,
17
- NUMNEQ: FilterOperators.Operator|null,
18
- GT: FilterOperators.Operator|null,
19
- GTE: FilterOperators.Operator|null,
20
- LT: FilterOperators.Operator|null,
21
- LTE: FilterOperators.Operator|null,
22
- BEGIN: FilterOperators.Operator|null,
23
- NBEGIN: FilterOperators.Operator|null,
24
- END: FilterOperators.Operator|null,
25
- NEND: FilterOperators.Operator|null,
26
- CONT: FilterOperators.Operator|null,
27
- NCONT: FilterOperators.Operator|null,
28
- EQ_BLANK: FilterOperators.Operator|null,
29
- EQ_NBLANK: FilterOperators.Operator|null,
30
- DT: FilterOperators.Operator|null,
31
- DTA: FilterOperators.Operator|null,
32
- DTB: FilterOperators.Operator|null,
33
- TXTEQ: FilterOperators.Operator|null,
34
- BLANK: FilterOperators.Operator|null,
35
- NBLANK: FilterOperators.Operator|null
14
+ EQ: FilterOperators.Operator,
15
+ NEQ: FilterOperators.Operator,
16
+ NUMEQ: FilterOperators.Operator,
17
+ NUMNEQ: FilterOperators.Operator,
18
+ GT: FilterOperators.Operator,
19
+ GTE: FilterOperators.Operator,
20
+ LT: FilterOperators.Operator,
21
+ LTE: FilterOperators.Operator,
22
+ BEGIN: FilterOperators.Operator,
23
+ NBEGIN: FilterOperators.Operator,
24
+ END: FilterOperators.Operator,
25
+ NEND: FilterOperators.Operator,
26
+ CONT: FilterOperators.Operator,
27
+ NCONT: FilterOperators.Operator,
28
+ EQ_BLANK: FilterOperators.Operator,
29
+ EQ_NBLANK: FilterOperators.Operator,
30
+ DT: FilterOperators.Operator,
31
+ DTA: FilterOperators.Operator,
32
+ DTB: FilterOperators.Operator,
33
+ TXTEQ: FilterOperators.Operator,
34
+ BLANK: FilterOperators.Operator,
35
+ NBLANK: FilterOperators.Operator
36
36
  };
37
37
 
38
38
  }
39
39
 
40
- declare const OperatorFunctions: { [key: string]: ((...params: any[]) => any) }|null;
40
+ declare const FilterOperators: FilterOperators.Operators;
41
+
42
+ declare const OperatorFunctions: { [key: string]: ((...params: any[]) => any) };
41
43
 
42
44
  export default FilterOperators;
43
45
  export { FilterOperators, OperatorFunctions };
@@ -6,33 +6,34 @@
6
6
  * @property {string} formula Formula expression used by the operator
7
7
  */
8
8
 
9
- /** @typedef {Object.<string, FilterOperators~Operators>} FilterOperators~Operators
10
- * @property {FilterOperators~Operator} EQ Equal
11
- * @property {FilterOperators~Operator} NEQ Not equal
12
- * @property {FilterOperators~Operator} NUMEQ Number equal to
13
- * @property {FilterOperators~Operator} NUMNEQ Number not equal to
14
- * @property {FilterOperators~Operator} GT Greater than
15
- * @property {FilterOperators~Operator} GTE Greater than or equal
16
- * @property {FilterOperators~Operator} LT Less than
17
- * @property {FilterOperators~Operator} LTE Less than or equal
18
- * @property {FilterOperators~Operator} BEGIN Begin
19
- * @property {FilterOperators~Operator} NBEGIN Not begin
20
- * @property {FilterOperators~Operator} END End
21
- * @property {FilterOperators~Operator} NEND Not end
22
- * @property {FilterOperators~Operator} CONT Contain
23
- * @property {FilterOperators~Operator} NCONT Not contain
24
- * @property {FilterOperators~Operator} EQ_BLANK Equal to blank value
25
- * @property {FilterOperators~Operator} EQ_NBLANK Equal to non blank value
26
- * @property {FilterOperators~Operator} DT Date is
27
- * @property {FilterOperators~Operator} DTA Date is after
28
- * @property {FilterOperators~Operator} DTB Date is before
29
- * @property {FilterOperators~Operator} TXTEQ Alias to EQ
30
- * @property {FilterOperators~Operator} BLANK Alias to EQ_BLANK
31
- * @property {FilterOperators~Operator} NBLANK Alias to EQ_NBLANK
9
+ /** @typedef {Object.<string, FilterOperators~Operator>} FilterOperators~Operators
10
+ * @property {!FilterOperators~Operator} EQ Equal
11
+ * @property {!FilterOperators~Operator} NEQ Not equal
12
+ * @property {!FilterOperators~Operator} NUMEQ Number equal to
13
+ * @property {!FilterOperators~Operator} NUMNEQ Number not equal to
14
+ * @property {!FilterOperators~Operator} GT Greater than
15
+ * @property {!FilterOperators~Operator} GTE Greater than or equal
16
+ * @property {!FilterOperators~Operator} LT Less than
17
+ * @property {!FilterOperators~Operator} LTE Less than or equal
18
+ * @property {!FilterOperators~Operator} BEGIN Begin
19
+ * @property {!FilterOperators~Operator} NBEGIN Not begin
20
+ * @property {!FilterOperators~Operator} END End
21
+ * @property {!FilterOperators~Operator} NEND Not end
22
+ * @property {!FilterOperators~Operator} CONT Contain
23
+ * @property {!FilterOperators~Operator} NCONT Not contain
24
+ * @property {!FilterOperators~Operator} EQ_BLANK Equal to blank value
25
+ * @property {!FilterOperators~Operator} EQ_NBLANK Equal to non blank value
26
+ * @property {!FilterOperators~Operator} DT Date is
27
+ * @property {!FilterOperators~Operator} DTA Date is after
28
+ * @property {!FilterOperators~Operator} DTB Date is before
29
+ * @property {!FilterOperators~Operator} TXTEQ Alias to EQ
30
+ * @property {!FilterOperators~Operator} BLANK Alias to EQ_BLANK
31
+ * @property {!FilterOperators~Operator} NBLANK Alias to EQ_NBLANK
32
32
  */
33
33
 
34
- /** @namespace
34
+ /** @type {!FilterOperators~Operators}
35
35
  * @public
36
+ * @const
36
37
  */
37
38
  var FilterOperators = {
38
39
  EQ: {
@@ -196,7 +197,7 @@ FilterOperators.BLANK = FilterOperators.EQ_BLANK;
196
197
  FilterOperators.NBLANK = FilterOperators.EQ_NBLANK;
197
198
 
198
199
 
199
- /** @type {Object.<string, Function>}
200
+ /** @type {!Object.<string, Function>}
200
201
  * @public
201
202
  * @const
202
203
  */
@@ -1,16 +1,36 @@
1
1
  import DataSet from "./DataSet.js";
2
2
 
3
+ declare namespace DataGenerator {
4
+
5
+ type DataOptions = {
6
+ seed?: number|null,
7
+ numRows?: number|null,
8
+ rowCount?: number|null
9
+ };
10
+
11
+ type FieldInformation = {
12
+ type?: string|null,
13
+ prefix?: string|null,
14
+ suffix?: string|null,
15
+ min?: number|null,
16
+ max?: number|null,
17
+ prec?: string|null,
18
+ fixedValue?: string|null,
19
+ members?: any[]|null,
20
+ generate?: ((...params: any[]) => any)|null
21
+ };
22
+
23
+ }
24
+
3
25
  declare class DataGenerator {
4
26
 
5
27
  constructor(seed?: number|null);
6
28
 
7
- public static readonly seed: number|null;
8
-
9
- public generate(fields: string|(string)[]|null, options?: (number|any)|null): (any[])[];
29
+ public generate(fields: string|(string)[]|null, options?: (number|DataGenerator.DataOptions)|null): (any[])[];
10
30
 
11
31
  public generateRecords(fields: string|(string)[]|null, options?: (number|any)|null): (any)[];
12
32
 
13
- public generateQuoteData(field: string, options?: any): any;
33
+ public generateQuoteData(field: string, options?: DataGenerator.DataOptions|null): any;
14
34
 
15
35
  public getSeed(): number|null;
16
36
 
@@ -32,13 +52,13 @@ declare class DataGenerator {
32
52
 
33
53
  public randString(min?: number|null, max?: number|null): string;
34
54
 
35
- public static generate(fields: string|(string)[]|null, options?: any): (any[])[];
55
+ public static generate(fields: string|(string)[]|null, options?: DataGenerator.DataOptions|null): (any[])[];
36
56
 
37
- public static generateRecord(fields: string|(string)[]|null, options?: any): any;
57
+ public static generateRecord(fields: string|(string)[]|null, options?: DataGenerator.DataOptions|null): any;
38
58
 
39
- public static generateRecords(fields: string|(string)[]|null, options?: (number|any)|null): (any)[];
59
+ public static generateRecords(fields: string|(string)[]|null, options?: (number|DataGenerator.DataOptions)|null): (any)[];
40
60
 
41
- public static addFieldInfo(field: string, options: any|((...params: any[]) => any)|null): void;
61
+ public static addFieldInfo(field: string, options: DataGenerator.FieldInformation|((...params: any[]) => any)|null): void;
42
62
 
43
63
  public static randNumber(min?: number|null, max?: number|null, prec?: (number|null)|null, seed?: number|null): number;
44
64
 
@@ -56,11 +76,13 @@ declare class DataGenerator {
56
76
 
57
77
  public static randString(min?: number|null, max?: number|null, subType?: string|null, seed?: number|null): string;
58
78
 
79
+ public static toRecords(data2D: (any[])[]|null, fields?: (string)[]|null): (any)[]|null;
80
+
59
81
  }
60
82
 
61
83
  declare function getFieldInfo(field: string): any;
62
84
 
63
- declare function addFieldInfo(field: string, options: any|((...params: any[]) => any)|null): void;
85
+ declare function addFieldInfo(field: string, options: DataGenerator.FieldInformation|((...params: any[]) => any)|null): void;
64
86
 
65
87
  declare function pseudoRandNumber(seed: number): number;
66
88
 
@@ -84,13 +106,13 @@ declare function toRecords(data2D: (any[])[]|null, fields?: (string)[]|null): (a
84
106
 
85
107
  declare function getSeed(): number;
86
108
 
87
- declare function generate(fields: string|(string)[]|null, options?: any): (any[])[];
109
+ declare function generate(fields: string|(string)[]|null, options?: DataGenerator.DataOptions|null): (any[])[];
88
110
 
89
- declare function generateRecord(fields: string|(string)[]|null, options?: (number|any)|null, seed?: number|null): any;
111
+ declare function generateRecord(fields: string|(string)[]|null, options?: (number|DataGenerator.DataOptions)|null, seed?: number|null): any;
90
112
 
91
- declare function generateRecords(fields: string|(string)[]|null, options?: (number|any)|null): (any)[];
113
+ declare function generateRecords(fields: string|(string)[]|null, options?: (number|DataGenerator.DataOptions)|null): (any)[];
92
114
 
93
- declare function generateQuoteData(field: string, options?: any, seed?: number|null): any;
115
+ declare function generateQuoteData(field: string, options?: DataGenerator.DataOptions|null, seed?: number|null): any;
94
116
 
95
117
  export default DataGenerator;
96
118
  export {
@@ -1,5 +1,25 @@
1
1
  import DataSet from "./DataSet.js";
2
2
 
3
+ /** @typedef {Object} DataGenerator~DataOptions
4
+ * @description Options for generating data
5
+ * @property {number=} seed Seed for randomization. If seed is not specified (default), new set of data will be generated every time. Otherwise, the same set of data will be generated.
6
+ * @property {number=} numRows Number of rows to be generated
7
+ * @property {number=} rowCount Alias to numRows
8
+ */
9
+
10
+ /** @typedef {Object} DataGenerator~FieldInformation
11
+ * @description Information object for defining how data are generated for a specific field
12
+ * @property {string=} type Available types are number, float, boolean, set, function, and isoDate
13
+ * @property {string=} prefix Add a text prefix to the data
14
+ * @property {string=} suffix Add a text suffix to the data
15
+ * @property {number=} min Minimum value of the numeric data
16
+ * @property {number=} max Maximum value of the numeric data. This is exclusive (not included in the result).
17
+ * @property {string=} prec Precision (place number after the decimal point) of the numeric data.
18
+ * @property {string=} fixedValue Single/static/constant value
19
+ * @property {Array=} members List of possible data when the type is "set"
20
+ * @property {Function=} generate Function for generating data when the type is "function"
21
+ */
22
+
3
23
  /** @private
4
24
  * @param {Object} fInfo
5
25
  * @param {number=} seed
@@ -26,8 +46,7 @@ var _generateDate1 = function(fInfo, seed) {
26
46
 
27
47
  var POW10 = [1, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10];
28
48
 
29
- /** to format data including type, suffix, prefix, min, max, prec, fixedValue, changeOnly, members, isoDate.
30
- * @type {Object}
49
+ /** @type {Object.<string, DataGenerator~DataOptions>}
31
50
  * @private
32
51
  */
33
52
  var _fieldInfo = {
@@ -100,7 +119,7 @@ var getFieldInfo = function(field) {
100
119
 
101
120
  /** @public
102
121
  * @param {string} field
103
- * @param {Object|Function} options
122
+ * @param {DataGenerator~FieldInformation|Function} options
104
123
  */
105
124
  var addFieldInfo = function(field, options) {
106
125
  if(field) {
@@ -299,9 +318,10 @@ var getSeed = function() {
299
318
  return DataGenerator.seed;
300
319
  };
301
320
 
302
- /** @public
321
+ /** Generate 2 dimensional array of data from the specified field and options. Note that 2D array data structure is not recommended for usage due to the position of fields/columns can be changed at runtime.
322
+ * @public
303
323
  * @param {string|Array.<string>} fields
304
- * @param {Object=} options
324
+ * @param {DataGenerator~DataOptions=} options
305
325
  * @return {!Array.<Array>} 2D Array of data
306
326
  */
307
327
  var generate = function(fields, options) {
@@ -314,7 +334,7 @@ var generate = function(fields, options) {
314
334
  /** WARNING: This method does not modify global seed
315
335
  * @public
316
336
  * @param {string|Array.<string>} fields
317
- * @param {(number|Object)=} options Configuration object or seed number
337
+ * @param {(number|DataGenerator~DataOptions)=} options Configuration object or seed number
318
338
  * @param {number=} seed
319
339
  * @return {!Object} Object with the given fields as its keys
320
340
  */
@@ -342,7 +362,7 @@ var generateRecord = function(fields, options, seed) {
342
362
 
343
363
  /** @public
344
364
  * @param {string|Array.<string>} fields
345
- * @param {(number|Object)=} options Configuration object or number of rows
365
+ * @param {(number|DataGenerator~DataOptions)=} options Configuration object or number of rows
346
366
  * @return {!Array.<Object>} Array of object with the given fields as its keys
347
367
  */
348
368
  var generateRecords = function(fields, options) {
@@ -366,7 +386,7 @@ var generateRecords = function(fields, options) {
366
386
  /** WARNING: This method does not modify global seed
367
387
  * @public
368
388
  * @param {string} field
369
- * @param {Object=} options
389
+ * @param {DataGenerator~DataOptions=} options
370
390
  * @param {number=} seed
371
391
  * @return {!Object} Object with value, formattedValue and other properties
372
392
  */
@@ -462,7 +482,7 @@ var _hash = function(str) {
462
482
  };
463
483
  /** @private
464
484
  * @param {string} field
465
- * @param {Object=} options
485
+ * @param {DataGenerator~DataOptions=} options
466
486
  * @param {number=} seed
467
487
  * @return {!Object} Object with value and other properties
468
488
  */
@@ -533,9 +553,10 @@ var DataGenerator = function(seed) {
533
553
  */
534
554
  DataGenerator.prototype._seed = null;
535
555
 
536
- /** @public
556
+ /** Generate 2 dimensional array of data from the specified field and options. Note that 2D array data structure is not recommended for usage due to the position of fields/columns can be changed at runtime.
557
+ * @public
537
558
  * @param {string|Array.<string>} fields
538
- * @param {(number|Object)=} options
559
+ * @param {(number|DataGenerator~DataOptions)=} options
539
560
  * @return {!Array.<Array>} 2D Array of data
540
561
  */
541
562
  DataGenerator.prototype.generate = function(fields, options) {
@@ -570,7 +591,7 @@ DataGenerator.prototype.generateRecords = function(fields, options) {
570
591
 
571
592
  /** @public
572
593
  * @param {string} field
573
- * @param {Object=} options
594
+ * @param {DataGenerator~DataOptions=} options
574
595
  * @return {!Object} Object with value, formattedValue and other properties
575
596
  */
576
597
  DataGenerator.prototype.generateQuoteData = function(field, options) {
@@ -700,33 +721,35 @@ DataGenerator.prototype.randString = function(min, max) {
700
721
 
701
722
  /** @type {?number}
702
723
  * @public
724
+ * @ignore
703
725
  */
704
726
  DataGenerator.seed = null;
705
- /** @public
727
+ /** Generate 2 dimensional array of data from the specified field and options. Note that 2D array data structure is not recommended for usage due to the position of fields/columns can be changed at runtime.
728
+ * @public
706
729
  * @function
707
730
  * @param {string|Array.<string>} fields
708
- * @param {Object=} options
731
+ * @param {DataGenerator~DataOptions=} options
709
732
  * @return {!Array.<Array>} 2D Array of data
710
733
  */
711
734
  DataGenerator.generate = generate;
712
735
  /** @public
713
736
  * @function
714
737
  * @param {string|Array.<string>} fields
715
- * @param {Object=} options
738
+ * @param {DataGenerator~DataOptions=} options
716
739
  * @return {Object} Object with the given fields as its keys
717
740
  */
718
741
  DataGenerator.generateRecord = generateRecord;
719
742
  /** @public
720
743
  * @function
721
744
  * @param {string|Array.<string>} fields
722
- * @param {(number|Object)=} options Configuration object or seed number
745
+ * @param {(number|DataGenerator~DataOptions)=} options Configuration object or number of rows
723
746
  * @return {!Array.<Object>} Array of object with the given fields as its keys
724
747
  */
725
748
  DataGenerator.generateRecords = generateRecords;
726
749
  /** @public
727
750
  * @function
728
751
  * @param {string} field
729
- * @param {Object|Function} options
752
+ * @param {DataGenerator~FieldInformation|Function} options
730
753
  */
731
754
  DataGenerator.addFieldInfo = addFieldInfo;
732
755
  /** Return a floating-point random number in the range min - max (inclusive of min, but not max) with prec digits of precision.
@@ -801,6 +824,8 @@ DataGenerator.randDate = randDate;
801
824
  DataGenerator.randString = randString;
802
825
 
803
826
  /** Convert 2D Array to Array of records
827
+ * @public
828
+ * @function
804
829
  * @param {Array.<Array>} data2D Array of values
805
830
  * @param {Array.<string>=} fields Keys to be mapped on the output records.
806
831
  * @return {Array.<Object>} records
@@ -1,6 +1,7 @@
1
1
  import { GridPrinter } from "../tr-grid-printer/es6/GridPrinter.js";
2
2
  import { Table } from "../tr-grid-util/es6/Table.js";
3
3
  import { MultiTableManager } from "../tr-grid-util/es6/MultiTableManager.js";
4
+ import { FilterOperators, OperatorFunctions } from "../tr-grid-util/es6/FilterOperators.js";
4
5
  import { DataGenerator } from "../tr-grid-util/es6/jet/DataGenerator.js";
5
6
  import { MockRTK } from "../tr-grid-util/es6/jet/MockRTK.js";
6
- export { GridPrinter, Table, MultiTableManager, DataGenerator, MockRTK };
7
+ export { GridPrinter, Table, MultiTableManager, DataGenerator, MockRTK, FilterOperators, OperatorFunctions };
@@ -1,6 +1,7 @@
1
1
  import { GridPrinter } from "../tr-grid-printer/es6/GridPrinter.js";
2
2
  import { Table } from "../tr-grid-util/es6/Table.js";
3
3
  import { MultiTableManager } from "../tr-grid-util/es6/MultiTableManager.js";
4
+ import { FilterOperators, OperatorFunctions } from "../tr-grid-util/es6/FilterOperators.js";
4
5
  import { DataGenerator } from "../tr-grid-util/es6/jet/DataGenerator.js";
5
6
  import { MockRTK } from "../tr-grid-util/es6/jet/MockRTK.js";
6
- export { GridPrinter, Table, MultiTableManager, DataGenerator, MockRTK };
7
+ export { GridPrinter, Table, MultiTableManager, DataGenerator, MockRTK, FilterOperators, OperatorFunctions };