@refinitiv-ui/efx-grid 6.0.105 → 6.0.107

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.
Files changed (46) hide show
  1. package/lib/core/dist/core.js +12 -11
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/grid/Core.js +7 -8
  4. package/lib/core/es6/grid/ILayoutGrid.js +1 -1
  5. package/lib/core/es6/grid/components/Scrollbar.js +4 -2
  6. package/lib/filter-dialog/lib/filter-dialog.d.ts +2 -0
  7. package/lib/filter-dialog/lib/filter-dialog.js +23 -1
  8. package/lib/filter-dialog/themes/base-checkbox.less +1 -2
  9. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  10. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  11. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  12. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  13. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  14. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  15. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  16. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
  17. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  18. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  19. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  20. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  21. package/lib/formatters/es6/FormatterBuilder.js +10 -1
  22. package/lib/formatters/es6/SimpleTickerFormatter.d.ts +0 -2
  23. package/lib/formatters/es6/SimpleTickerFormatter.js +1 -0
  24. package/lib/grid/index.js +1 -1
  25. package/lib/rt-grid/dist/rt-grid.js +32 -15
  26. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  27. package/lib/rt-grid/es6/FieldDefinition.d.ts +2 -0
  28. package/lib/rt-grid/es6/FieldDefinition.js +20 -4
  29. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +128 -89
  30. package/lib/tr-grid-printer/es6/CellWriter.d.ts +6 -5
  31. package/lib/tr-grid-printer/es6/CellWriter.js +57 -49
  32. package/lib/tr-grid-printer/es6/ColumnWriter.d.ts +1 -0
  33. package/lib/tr-grid-printer/es6/ColumnWriter.js +3 -1
  34. package/lib/tr-grid-printer/es6/GridPrinter.js +117 -99
  35. package/lib/tr-grid-printer/es6/PrintTrait.d.ts +1 -0
  36. package/lib/tr-grid-printer/es6/PrintTrait.js +60 -47
  37. package/lib/tr-grid-printer/es6/SectionWriter.d.ts +4 -1
  38. package/lib/tr-grid-printer/es6/SectionWriter.js +40 -15
  39. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
  40. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +14 -0
  41. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +6 -0
  42. package/lib/tr-grid-util/es6/MultiTableManager.js +1 -0
  43. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +2 -0
  44. package/lib/types/es6/SimpleTickerFormatter.d.ts +0 -2
  45. package/lib/versions.json +7 -7
  46. package/package.json +1 -1
@@ -26,8 +26,8 @@ import { EventDispatcher } from "../../tr-grid-util/es6/EventDispatcher.js";
26
26
  * @extends{EventDispatcher}
27
27
  * @suppress {checkTypes}
28
28
  */
29
- var PrintTrait = function() {
30
- var t = this;
29
+ let PrintTrait = function() {
30
+ let t = this;
31
31
  t._onKeyDown = t._onKeyDown.bind(t);
32
32
  t._onMediaQuery = t._onMediaQuery.bind(t);
33
33
  t._onBeforePrint = t._onBeforePrint.bind(t);
@@ -44,19 +44,19 @@ Ext.inherits(PrintTrait, EventDispatcher);
44
44
  /** @type {number}
45
45
  * @private
46
46
  */
47
- var IDLE = 0;
47
+ const IDLE = 0;
48
48
  /** @type {number}
49
49
  * @private
50
50
  */
51
- var COUNTING = 1;
51
+ const COUNTING = 1;
52
52
  /** @type {number}
53
53
  * @private
54
54
  */
55
- var BEFORE_PRINT = 2;
55
+ const BEFORE_PRINT = 2;
56
56
  /** @type {number}
57
57
  * @private
58
58
  */
59
- var AFTER_PRINT = 3;
59
+ const AFTER_PRINT = 3;
60
60
 
61
61
  /** @type {number}
62
62
  * @private
@@ -97,7 +97,11 @@ PrintTrait.prototype._state = IDLE;
97
97
  /** @type {number}
98
98
  * @private
99
99
  */
100
- PrintTrait.prototype._timerId = 0;
100
+ PrintTrait.prototype._beforePrintTimer = 0;
101
+ /** @type {number}
102
+ * @private
103
+ */
104
+ PrintTrait.prototype._afterPrintTimer = 0;
101
105
  /** @type {boolean}
102
106
  * @public
103
107
  */
@@ -117,10 +121,10 @@ PrintTrait._env = {};
117
121
  * @return {Object}
118
122
  */
119
123
  PrintTrait.calculateEnvironment = function() {
120
- var env = PrintTrait._env;
121
- var ua = navigator.userAgent;
122
- var jet = window["JET"];
123
- var cd = jet ? jet["ContainerDescription"] : "";
124
+ let env = PrintTrait._env;
125
+ let ua = navigator.userAgent;
126
+ let jet = window["JET"];
127
+ let cd = jet ? jet["ContainerDescription"] : "";
124
128
 
125
129
  env.isMac = /Mac/.test(navigator.platform);
126
130
  env.isIE = (ua.indexOf("MSIE ") > 0) || (ua.indexOf("Trident/") > 0) || (ua.indexOf("Edge/") > 0);
@@ -138,7 +142,7 @@ PrintTrait.prototype.observe = function(iframeElement) {
138
142
  return;
139
143
  }
140
144
 
141
- var winObj = null;
145
+ let winObj = null;
142
146
 
143
147
  if(iframeElement) {
144
148
  if(iframeElement.contentWindow) {
@@ -199,10 +203,15 @@ PrintTrait.prototype.isObserving = function() {
199
203
  * @suppress {checkTypes}
200
204
  */
201
205
  PrintTrait.prototype.dispose = function() {
202
- this.removeAllEventlisteners();
206
+ this.removeAllEventListeners();
203
207
 
204
- if(this._timerId) {
205
- clearTimeout(this._timerId);
208
+ if(this._beforePrintTimer) {
209
+ clearTimeout(this._beforePrintTimer);
210
+ this._beforePrintTimer = 0;
211
+ }
212
+ if(this._afterPrintTimer) {
213
+ clearTimeout(this._afterPrintTimer);
214
+ this._afterPrintTimer = 0;
206
215
  }
207
216
 
208
217
  this._onPrintEnd(); // Force ending the process
@@ -213,7 +222,7 @@ PrintTrait.prototype.dispose = function() {
213
222
  */
214
223
  PrintTrait.prototype.print = function() {
215
224
  if(!this._window) {
216
- console.error("Cannot perform printing. Window object must be specified by using observe() method.");
225
+ console.warn("Cannot perform printing. Window object must be specified by using observe() method.");
217
226
  return;
218
227
  }
219
228
  if(this._state !== IDLE) {
@@ -233,10 +242,9 @@ PrintTrait.prototype.print = function() {
233
242
  this._eventArg["documentElement"] = this.getDocumentElement();
234
243
  this._eventArg["bodyElement"] = this.getBodyElement();
235
244
  this.getDocumentElement().classList.add("tr-printing-mode");
236
- this._dispatch("pageCounting", this._eventArg);
237
245
 
238
246
  if(PrintTrait.DEBUG) {
239
- var debugBtn = PrintTrait._debugBtn = document.createElement("button");
247
+ let debugBtn = PrintTrait._debugBtn = document.createElement("button");
240
248
  debugBtn.addEventListener("click", this._onBeforePrint);
241
249
  debugBtn.textContent = "BeforePrint";
242
250
  debugBtn.style.display = "unset";
@@ -246,30 +254,35 @@ PrintTrait.prototype.print = function() {
246
254
  debugBtn.style.transform = "translateX(-50%)";
247
255
  debugBtn.style.top = "20px";
248
256
  document.body.appendChild(debugBtn);
249
- } else {
257
+ }
258
+ this._dispatch("pageCounting", this._eventArg);
259
+
260
+ if(!PrintTrait.DEBUG) {
250
261
  /**
251
262
  * _onBeforePrint() was originally execute by window 'beforeprint' event.
252
263
  * Due to Custom Elements can't be create during 'beforeprint', _onBeforePrint() needs to be executed manually.
253
264
  * And window.print() need to be executed after some delay to make sure Custom Elements are created and rendered.
254
265
  * See here: https://html.spec.whatwg.org/multipage/custom-elements.html#custom-element-reactions
255
266
  */
267
+ this._beforePrintTimer = setTimeout(this._print, 500);
256
268
  this._onBeforePrint();
257
- setTimeout(this._print, 500);
258
269
  }
259
270
  };
260
271
  /** @public
261
272
  */
262
273
  PrintTrait.prototype._print = function() {
274
+ this._beforePrintTimer = 0;
263
275
  this._defaultPrint.call(this._window);
276
+ this._dispatch("printed", this._eventArg);
264
277
  };
265
278
  /** @public
266
279
  * @param {number} pageCount
267
280
  * @return {!Element}
268
281
  */
269
282
  PrintTrait.createBlankPages = function(pageCount) {
270
- var rootElem = document.createElement("div");
271
- for(var i = 0; i < pageCount; ++i) {
272
- var bp = document.createElement("div");
283
+ let rootElem = document.createElement("div");
284
+ for(let i = 0; i < pageCount; ++i) {
285
+ let bp = document.createElement("div");
273
286
  if(PrintTrait.DEBUG) {
274
287
  bp.textContent = "Page " + (i + 1);
275
288
  } else {
@@ -286,8 +299,8 @@ PrintTrait.createBlankPages = function(pageCount) {
286
299
  * @return {!Element}
287
300
  */
288
301
  PrintTrait.prototype.createClientBox = function(pw, ph) {
289
- var rootElem = document.createElement("div");
290
- var styObj = rootElem.style;
302
+ let rootElem = document.createElement("div");
303
+ let styObj = rootElem.style;
291
304
  styObj.width = pw + "px";
292
305
  styObj.height = ph + "px";
293
306
 
@@ -329,9 +342,7 @@ PrintTrait.prototype.getBodyElement = function() {
329
342
  * @param {KeyboardEvent} e
330
343
  */
331
344
  PrintTrait.prototype._onKeyDown = function(e) {
332
- var ctrlCmdKey = PrintTrait._env.isMac ? e.metaKey : e.ctrlKey;
333
-
334
- if(ctrlCmdKey) {
345
+ if(e.metaKey || e.ctrlKey) {
335
346
  if(!e.altKey) {
336
347
  if(e.keyCode === 80) { // P
337
348
  e.preventDefault();
@@ -359,18 +370,18 @@ PrintTrait.prototype._onBeforePrint = function(e) {
359
370
  this._state = BEFORE_PRINT;
360
371
  this._calculatePageSize(this._correction, this._fixedSize);
361
372
 
362
-
363
373
  this._eventArg["documentElement"] = this.getDocumentElement();
364
374
  this._eventArg["bodyElement"] = this.getBodyElement();
365
375
  this.getDocumentElement().classList.add("tr-printing-mode");
366
- this._dispatch("beforeprint", this._eventArg);
367
376
 
368
377
  if(PrintTrait.DEBUG) {
369
- var debugBtn = PrintTrait._debugBtn;
378
+ let debugBtn = PrintTrait._debugBtn;
370
379
  debugBtn.removeEventListener("click", this._onBeforePrint);
371
380
  debugBtn.addEventListener("click", this._onAfterPrint);
372
381
  debugBtn.textContent = "AfterPrint";
373
382
  }
383
+
384
+ this._dispatch("beforeprint", this._eventArg);
374
385
  }
375
386
  };
376
387
  /** @private
@@ -382,22 +393,22 @@ PrintTrait.prototype._onAfterPrint = function(e) {
382
393
  this._calculatePageSize();
383
394
 
384
395
  this.getDocumentElement().classList.remove("tr-printing-mode");
385
- this._dispatch("afterprint", this._eventArg);
386
- this._timerId = setTimeout(this._onPrintEnd, 0);
387
-
388
396
  if (PrintTrait._debugBtn) { // For debugging
389
- var pn = PrintTrait._debugBtn.parentNode;
397
+ let pn = PrintTrait._debugBtn.parentNode;
390
398
  if(pn) {
391
399
  pn.removeChild(PrintTrait._debugBtn);
392
400
  }
393
401
  PrintTrait._debugBtn = null;
394
402
  }
403
+
404
+ this._afterPrintTimer = setTimeout(this._onPrintEnd, 0);
405
+ this._dispatch("afterprint", this._eventArg);
395
406
  }
396
407
  };
397
408
  /** @private
398
409
  */
399
410
  PrintTrait.prototype._onPrintEnd = function() {
400
- this._timerId = 0;
411
+ this._afterPrintTimer = 0;
401
412
  this._state = IDLE;
402
413
  };
403
414
  /** @private
@@ -409,13 +420,13 @@ PrintTrait.prototype._calculatePageSize = function(sizeCorrection, fixedSize) {
409
420
  if(PrintTrait._env.isIE) {
410
421
  return false; // Cannot calculate paper size in IE
411
422
  }
412
- var documentElement = this.getDocumentElement();
413
- var cw = documentElement.clientWidth;
423
+ let documentElement = this.getDocumentElement();
424
+ let cw = documentElement.clientWidth;
414
425
  var iw = this._window.innerWidth || 0;
415
- var ch = documentElement.clientHeight;
416
- var ih = this._window.innerHeight || 0;
417
- var nw = (cw >= iw) ? cw : iw;
418
- var nh = (ch >= ih) ? ch : ih;
426
+ let ch = documentElement.clientHeight;
427
+ let ih = this._window.innerHeight || 0;
428
+ let nw = (cw >= iw) ? cw : iw;
429
+ let nh = (ch >= ih) ? ch : ih;
419
430
 
420
431
  if(fixedSize) {
421
432
  if(nw > nh) {
@@ -426,9 +437,9 @@ PrintTrait.prototype._calculatePageSize = function(sizeCorrection, fixedSize) {
426
437
  nh = this._defaultHeight;
427
438
  }
428
439
  } else if(sizeCorrection) {
429
- var portrait = nh >= nw;
430
- var ar = this._calculateAspectRatio(nw, nh);
431
- var paperSize = PrintTrait._paperSizes[ar];
440
+ let portrait = nh >= nw;
441
+ let ar = this._calculateAspectRatio(nw, nh);
442
+ let paperSize = PrintTrait._paperSizes[ar];
432
443
  if(!paperSize) {
433
444
  paperSize = PrintTrait._paperSizes[ar - 1] || PrintTrait._paperSizes[ar + 1];
434
445
  }
@@ -457,8 +468,8 @@ PrintTrait.prototype._calculatePageSize = function(sizeCorrection, fixedSize) {
457
468
  * @return {number}
458
469
  */
459
470
  PrintTrait.prototype._calculateAspectRatio = function(w, h) {
460
- var portrait = h >= w;
461
- var ratio = (portrait) ? w / h : h / w;
471
+ let portrait = h >= w;
472
+ let ratio = (portrait) ? w / h : h / w;
462
473
  return Math.floor(ratio * 1000); // Return 3 digit precision
463
474
  };
464
475
 
@@ -478,4 +489,6 @@ PrintTrait._paperSizes = {
478
489
  };
479
490
 
480
491
 
492
+
493
+ export default PrintTrait;
481
494
  export { PrintTrait };
@@ -29,10 +29,12 @@ declare class SectionWriter extends ElementWrapper {
29
29
 
30
30
  public enableRowClass(rowIndex: number, className: string, enabled: boolean): void;
31
31
 
32
- public stretchCell(colIndex: number, rowIndex: number, opt_stretching?: boolean|null, opt_noLeftStretching?: boolean|null): void;
32
+ public stretchCell(cellRef: any, rowIndex?: number|null, stretching?: boolean|null, onlyToTheRight?: boolean|null): any;
33
33
 
34
34
  public hasCellSpan(): boolean;
35
35
 
36
+ public getStretchedCell(cellRef: any, rowIndex?: number|null): any;
37
+
36
38
  public getCellRowSpan(colIndex: number, rowIndex: number): number;
37
39
 
38
40
  public setCellRowSpan(colIndex: number, rowIndex: number, rowSpan: number): void;
@@ -51,4 +53,5 @@ declare class SectionWriter extends ElementWrapper {
51
53
 
52
54
  }
53
55
 
56
+ export default SectionWriter;
54
57
  export { SectionWriter };
@@ -7,7 +7,7 @@ import { CellWriter } from "./CellWriter.js";
7
7
  * @constructor
8
8
  * @extends {ElementWrapper}
9
9
  */
10
- var SectionWriter = function () {
10
+ let SectionWriter = function () {
11
11
  this._cellWriter = new CellWriter();
12
12
  this._table = new Table();
13
13
  this._columns = [];
@@ -34,7 +34,7 @@ SectionWriter.prototype.getFirstIndexInView = function () {
34
34
  * @return {number}
35
35
  */
36
36
  SectionWriter.prototype.getLastIndexInView = function () {
37
- return this._table.getRowCount();
37
+ return this._table.getRowCount() - 1; // WARNING: This is inclusive
38
38
  };
39
39
 
40
40
  /** @public
@@ -48,7 +48,7 @@ SectionWriter.prototype.getColumnCount = function () {
48
48
  * @return {*}
49
49
  */
50
50
  SectionWriter.prototype.getColumn = function (colIndex) {
51
- var col = this._columns[colIndex];
51
+ let col = this._columns[colIndex];
52
52
  if (!col) {
53
53
  col = this._columns[colIndex] = {};
54
54
  }
@@ -81,7 +81,7 @@ SectionWriter.prototype.setRowCount = function (val) {
81
81
  * @return {CellWriter}
82
82
  */
83
83
  SectionWriter.prototype.getCell = function (colIndex, rowIndex) {
84
- var cell = this._table.getCell(colIndex, rowIndex);
84
+ let cell = this._table.getCell(colIndex, rowIndex);
85
85
  if(cell) {
86
86
  this._cellWriter.cloak(cell);
87
87
  return this._cellWriter;
@@ -94,7 +94,7 @@ SectionWriter.prototype.getCell = function (colIndex, rowIndex) {
94
94
  * @return {Element|Node|NodeList}
95
95
  */
96
96
  SectionWriter.prototype.getCellContent = function (colIndex, rowIndex) {
97
- var cell = this.getCell(colIndex, rowIndex);
97
+ let cell = this.getCell(colIndex, rowIndex);
98
98
  return cell ? cell.getContent() : null;
99
99
  };
100
100
  /** Set data to the specified cell
@@ -104,7 +104,7 @@ SectionWriter.prototype.getCellContent = function (colIndex, rowIndex) {
104
104
  * @param {string|Element|tr.IElementControl|*} data this can be HTML element, string, number, date, image
105
105
  */
106
106
  SectionWriter.prototype.setCellContent = function (colIndex, rowIndex, data) {
107
- var cell = this.getCell(colIndex, rowIndex);
107
+ let cell = this.getCell(colIndex, rowIndex);
108
108
  if(cell) {
109
109
  cell.setContent(data);
110
110
  }
@@ -119,17 +119,24 @@ SectionWriter.prototype.setCellContent = function (colIndex, rowIndex, data) {
119
119
  SectionWriter.prototype.enableRowClass = function (rowIndex, className, enabled) { };
120
120
 
121
121
  /** This will make the specified cell horizontally span to fit entire row regardless of position of the cell -- cell will shift to the left most of the section.<br>
122
- * If opt_noLeftStretching is true, the cell will not extend to the left most position<br>
122
+ * If onlyToTheRight is true, the cell will not extend to the left most position<br>
123
123
  * This is different from cell colSpan, which the cell remain in the same position. tr-stretched class will also be added to the cell
124
124
  * @public
125
- * @param {number} colIndex
126
- * @param {number} rowIndex
127
- * @param {boolean=} opt_stretching Default is true
128
- * @param {boolean=} opt_noLeftStretching Default is false (expand cell to the left).
129
- */
130
- SectionWriter.prototype.stretchCell = function (colIndex, rowIndex, opt_stretching, opt_noLeftStretching) {
131
- var cell = this._table.getCell(colIndex, rowIndex);
132
- cell.setAttribute("colspan", this._table.getColumnCount());
125
+ * @param {*} cellRef Either column index or cell reference is acceptable
126
+ * @param {number=} rowIndex If the cell instance is given as the first parameter, this parameter will be ignored.
127
+ * @param {boolean=} stretching Default is true
128
+ * @param {boolean=} onlyToTheRight=false By default, cell will be stretched to both left and right directions, covering entire row. Set to true to expand only to the right
129
+ * @return {*} The cell being stretched
130
+ * @example
131
+ * grid.stretchCell(1, 0); // The second cell on the first row will be stretched covering the entire row
132
+ * grid.stretchCell(cellInstance, 0, true); // The given cell will be stretched covering the entire row
133
+ */
134
+ SectionWriter.prototype.stretchCell = function (cellRef, rowIndex, stretching, onlyToTheRight) {
135
+ let cell = this._table.getCell(cellRef, rowIndex);
136
+ if(stretching !== false) {
137
+ cell.setAttribute("colspan", this._table.getColumnCount());
138
+ }
139
+ return cell;
133
140
  };
134
141
  /** {@link SectionWriter#stretchCell}
135
142
  * @public
@@ -143,6 +150,22 @@ SectionWriter.prototype.unstretchCell = function (colIndex, rowIndex) {};
143
150
  * @return {boolean}
144
151
  */
145
152
  SectionWriter.prototype.hasCellSpan = function () { return false; };
153
+ /**
154
+ * @public
155
+ * @param {*} cellRef
156
+ * @param {number=} rowIndex
157
+ * @return {*}
158
+ */
159
+ SectionWriter.prototype.getStretchedCell = function (cellRef, rowIndex) {
160
+ if(typeof rowIndex === "number") {
161
+ let cell = this._table.getCell(cellRef, rowIndex);
162
+ let colSpan = +cell.getAttribute("colspan");
163
+ if(colSpan > 1) {
164
+ return cell;
165
+ }
166
+ }
167
+ return null;
168
+ };
146
169
  /** @description Returns zero or negative value, if the cell is spanned over (i.e. occupied by the spanning cell). <br>
147
170
  * Negative value is distance from the spanning cell (i.e. -1 means one cell from the spanning cell and -2 means two cells from the spanning cell) <br>
148
171
  * Return one, if the cell has no span (normal cell). <br>
@@ -210,4 +233,6 @@ SectionWriter.prototype._startBindingSession = function (enabled) {
210
233
  };
211
234
 
212
235
 
236
+
237
+ export default SectionWriter;
213
238
  export { SectionWriter };
@@ -26,6 +26,7 @@ declare namespace RowFilteringPlugin {
26
26
  type FilterDialogOptions = {
27
27
  sortUI?: boolean|null,
28
28
  filterUI?: boolean|null,
29
+ advancedFilter?: boolean|null,
29
30
  fieldDataType?: string|null,
30
31
  lang?: string|null,
31
32
  rawDataAccessor?: ((...params: any[]) => any)|null,
@@ -33,6 +34,7 @@ declare namespace RowFilteringPlugin {
33
34
  sortLogic?: ((...params: any[]) => any)|null,
34
35
  itemList?: any[]|null,
35
36
  additionalItems?: any[]|null,
37
+ compactMode?: boolean|null,
36
38
  blankValues?: (boolean|string)|null
37
39
  };
38
40
 
@@ -80,6 +80,7 @@ The expression can take various forms:<br>
80
80
  * @description Options that specify UIs of filter dialog
81
81
  * @property {boolean=} sortUI=true show/hide sort UI
82
82
  * @property {boolean=} filterUI=true show/hide filter UI
83
+ * @property {boolean=} advancedFilter=true show advaced filter tab
83
84
  * @property {string=} fieldDataType data type of column
84
85
  * @property {string=} lang dialog language
85
86
  * @property {Function=} rawDataAccessor In case you have custom data type for the specified field, data getter is needed to retrieve raw value for filtering
@@ -87,6 +88,7 @@ The expression can take various forms:<br>
87
88
  * @property {Function=} sortLogic This function for sorting filter item list in the dialog. The comparison will perform on raw values, and not formatted values
88
89
  * @property {Array=} itemList Item list to be shown in the dialog. If this is not specified, the list will be collected from existing data on the grid
89
90
  * @property {Array=} additionalItems Additional items to be put on the itemList
91
+ * @property {boolean=} compactMode=false force compact mode in dialog
90
92
  * @property {(boolean|string)=} blankValues Display a "(Blanks)" item in the filter dialog to represent an empty value. If a string is passed, it will be used as the label for the blank item
91
93
  */
92
94
 
@@ -1813,6 +1815,8 @@ RowFilteringPlugin.prototype.openDialog = function(colIndex, runtimeDialogOption
1813
1815
  let dialogConfig = { // default config
1814
1816
  sortUI: true,
1815
1817
  filterUI: true,
1818
+ advancedFilter: true,
1819
+ compactMode: false,
1816
1820
  fieldDataType: "",
1817
1821
  lang: "",
1818
1822
  rawDataAccessor: null,
@@ -1974,6 +1978,16 @@ RowFilteringPlugin._overrideConfig = function(config, userConfig) {
1974
1978
  config.filterUI = filterUI;
1975
1979
  }
1976
1980
 
1981
+ let advancedFilter = userConfig["advancedFilter"];
1982
+ if (advancedFilter != null) {
1983
+ config.advancedFilter = advancedFilter;
1984
+ }
1985
+
1986
+ let compactMode = userConfig["compactMode"];
1987
+ if (compactMode != null) {
1988
+ config.compactMode = compactMode;
1989
+ }
1990
+
1977
1991
  let fieldDataType = userConfig["fieldDataType"];
1978
1992
  if(fieldDataType != null) {
1979
1993
  config.fieldDataType = fieldDataType;
@@ -396,6 +396,12 @@ RowGroupingPlugin.prototype.initialize = function (host, options) {
396
396
  return;
397
397
  }
398
398
 
399
+ if(options && !options.multitable) {
400
+ while (this._hosts.length) {
401
+ this.unload(this._hosts[0]);
402
+ }
403
+ }
404
+
399
405
  this._hosts.push(host);
400
406
 
401
407
  ExpanderIcon.loadExpanderStyles();
@@ -341,6 +341,7 @@ MultiTableManager.prototype._addTable = function(tableIndex) {
341
341
 
342
342
  let configObj = this._cloneConfig();
343
343
  configObj.extensions = this._generateExtensions();
344
+ configObj.multitable = true;
344
345
 
345
346
  delete configObj.staticDataRows;
346
347
  delete configObj.rows;
@@ -6,6 +6,8 @@ declare namespace FieldDefinition {
6
6
 
7
7
  function set(field: string, def: any): void;
8
8
 
9
+ function resetAll(): void;
10
+
9
11
  function get(field: string): any;
10
12
 
11
13
  function getFieldInfo(field: string): any;
@@ -19,7 +19,5 @@ declare class SimpleTickerFormatter {
19
19
 
20
20
  }
21
21
 
22
- declare function onContextCreated(): void;
23
-
24
22
  export default SimpleTickerFormatter;
25
23
  export { SimpleTickerFormatter };
package/lib/versions.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "tr-grid-util": "1.3.151",
3
- "tr-grid-printer": "1.0.17",
2
+ "tr-grid-util": "1.3.152",
3
+ "tr-grid-printer": "1.0.18",
4
4
  "@grid/column-dragging": "1.0.20",
5
5
  "@grid/row-segmenting": "1.0.31",
6
6
  "@grid/statistics-row": "1.0.17",
@@ -19,19 +19,19 @@
19
19
  "tr-grid-contextmenu": "1.0.41",
20
20
  "tr-grid-filter-input": "0.9.39",
21
21
  "tr-grid-heat-map": "1.0.29",
22
- "tr-grid-in-cell-editing": "1.0.86",
22
+ "tr-grid-in-cell-editing": "1.0.87",
23
23
  "tr-grid-pagination": "1.0.24",
24
24
  "tr-grid-percent-bar": "1.0.24",
25
25
  "tr-grid-range-bar": "2.0.8",
26
26
  "tr-grid-row-dragging": "1.0.35",
27
- "tr-grid-row-filtering": "1.0.76",
28
- "tr-grid-row-grouping": "1.0.87",
27
+ "tr-grid-row-filtering": "1.0.77",
28
+ "tr-grid-row-grouping": "1.0.88",
29
29
  "tr-grid-row-selection": "1.0.30",
30
30
  "tr-grid-rowcoloring": "1.0.25",
31
31
  "tr-grid-textformatting": "1.0.48",
32
32
  "tr-grid-titlewrap": "1.0.22",
33
- "@grid/formatters": "1.0.52",
33
+ "@grid/formatters": "1.0.53",
34
34
  "@grid/column-selection-dialog": "4.0.57",
35
- "@grid/filter-dialog": "4.0.64",
35
+ "@grid/filter-dialog": "4.0.65",
36
36
  "@grid/column-format-dialog": "4.0.45"
37
37
  }
package/package.json CHANGED
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "access": "public"
69
69
  },
70
- "version": "6.0.105"
70
+ "version": "6.0.107"
71
71
  }