@refinitiv-ui/efx-grid 6.0.2 → 6.0.3

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 (54) hide show
  1. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +13 -1
  2. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +15 -2
  3. package/lib/column-selection-dialog/lib/column-selection-dialog.js +146 -5
  4. package/lib/core/dist/core.js +65 -27
  5. package/lib/core/dist/core.min.js +1 -1
  6. package/lib/core/es6/data/DataTable.js +32 -10
  7. package/lib/core/es6/data/DataView.d.ts +0 -6
  8. package/lib/core/es6/data/DataView.js +0 -4
  9. package/lib/core/es6/data/Segment.d.ts +2 -0
  10. package/lib/core/es6/data/Segment.js +7 -0
  11. package/lib/core/es6/data/WrappedView.js +6 -6
  12. package/lib/core/es6/grid/Core.js +15 -7
  13. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +5 -0
  14. package/lib/filter-dialog/lib/checkbox-list.d.ts +13 -1
  15. package/lib/filter-dialog/lib/filter-dialog.d.ts +13 -1
  16. package/lib/filter-dialog/lib/filter-dialog.js +16 -3
  17. package/lib/grid/lib/efx-grid.d.ts +22 -10
  18. package/lib/grid/lib/efx-grid.js +8 -8
  19. package/lib/grid/themes/base.less +1 -1
  20. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  21. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  22. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  23. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  24. package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
  25. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
  26. package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
  27. package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
  28. package/lib/row-segmenting/es6/RowSegmenting.js +4 -2
  29. package/lib/rt-grid/dist/rt-grid.js +3 -1
  30. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  31. package/lib/rt-grid/es6/Grid.js +3 -1
  32. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +2 -1
  33. package/lib/tr-grid-checkbox/es6/Checkbox.js +13 -1
  34. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +5 -1
  35. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +1 -1
  36. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +13 -1
  37. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +1 -3
  38. package/lib/tr-grid-row-dragging/es6/RowDragging.js +65 -60
  39. package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +8 -8
  40. package/lib/tr-grid-row-selection/es6/RowSelection.js +32 -22
  41. package/lib/tr-grid-util/es6/ExpanderIcon.js +2 -2
  42. package/lib/tr-grid-util/es6/MultiTableManager.d.ts +8 -0
  43. package/lib/tr-grid-util/es6/MultiTableManager.js +164 -57
  44. package/lib/tr-grid-util/es6/RowPainter.js +16 -8
  45. package/lib/tr-grid-util/es6/jsx.d.ts +223 -0
  46. package/lib/types/es6/Checkbox.d.ts +2 -1
  47. package/lib/types/es6/Core/data/DataView.d.ts +0 -6
  48. package/lib/types/es6/Core/data/Segment.d.ts +2 -0
  49. package/lib/types/es6/InCellEditing.d.ts +1 -1
  50. package/lib/types/es6/RowDragging.d.ts +1 -3
  51. package/lib/types/es6/RowSelection.d.ts +8 -8
  52. package/lib/types/es6/index.d.ts +1 -0
  53. package/lib/versions.json +10 -10
  54. package/package.json +1 -1
@@ -49,6 +49,10 @@ var _newArrayOfObject = function (num) {
49
49
  * @param {boolean=} bool
50
50
  */
51
51
  var _toggleInlineElement = function (elem, bool) {
52
+ if(!elem || elem.style.display === "none") {
53
+ return;
54
+ }
55
+
52
56
  var s = elem.style;
53
57
  if(bool == null) {
54
58
  bool = s.display !== "inline-block";
@@ -68,7 +72,7 @@ var _toggleInlineElement = function (elem, bool) {
68
72
  var MultiTableManager = function (gridElem) {
69
73
  this._onDelayedConfiguration = this._onDelayedConfiguration.bind(this);
70
74
  this._onConfiguration = this._onConfiguration.bind(this);
71
- this._onDataChanged = this._onDataChanged.bind(this);
75
+ this._onWrapCountChanged = this._onWrapCountChanged.bind(this);
72
76
 
73
77
  this._tables = [];
74
78
  if(gridElem) {
@@ -102,6 +106,10 @@ MultiTableManager.prototype._emeraldGrid = false;
102
106
  * @private
103
107
  */
104
108
  MultiTableManager.prototype._ready = false;
109
+ /** @type {number}
110
+ * @private
111
+ */
112
+ MultiTableManager.prototype._wrapSize = 0;
105
113
 
106
114
 
107
115
  /** @public
@@ -196,6 +204,7 @@ MultiTableManager._onVScrollbarSynchronization = function(vScrollbarHost, hScrol
196
204
  for(var i = 0; i < gridLen; ++i) {
197
205
  var gridElem = gridElems[i];
198
206
  var core = gridElem.api.getCoreGrid();
207
+
199
208
  _toggleInlineElement(gridElem, true);
200
209
  if(i > 0) {
201
210
  mainCore.synchronizeVScrollbar(core);
@@ -234,6 +243,8 @@ MultiTableManager.prototype.setGridConfig = function (configObj) {
234
243
  * @param {Object} e
235
244
  */
236
245
  MultiTableManager.prototype._onDelayedConfiguration = function (e) {
246
+ this._ready = false;
247
+ // TODO: Handle the case where config is changed at runtime
237
248
  setTimeout(this._onConfiguration, 10); // Add delay to ensure that scrollbars are synchronized first
238
249
  };
239
250
  /** @private
@@ -245,15 +256,16 @@ MultiTableManager.prototype._onConfiguration = function () {
245
256
  }
246
257
  this._ready = true;
247
258
 
248
- this.setTableCount(this._tableCount);
259
+ if(this._wrapSize) {
260
+ this._wrapTable(this._wrapSize);
261
+ } else {
262
+ this._setTableCount(this._tableCount);
263
+ }
249
264
  };
250
265
 
251
266
  /** @public
252
267
  */
253
268
  MultiTableManager.prototype.dispose = function () {
254
- // var main = this._tables[0];
255
- // main.api.getDataSource().unlisten("dataChanged", this._onDataChanged);
256
-
257
269
  var len = this._tables.length;
258
270
  for(var i = 0; i < len; ++i) {
259
271
  this._tables[i].dispose();
@@ -272,7 +284,8 @@ MultiTableManager.prototype._cloneConfig = function () {
272
284
  if(this._configObj) {
273
285
  obj = cloneObject(this._configObj);
274
286
  if(Array.isArray(obj.columns)) {
275
- obj.columns = this._configObj.columns.slice();
287
+ var runtimeConfig = this._tables[0].api ? this._tables[0].api.getConfigObject() : this._configObj;
288
+ obj.columns = runtimeConfig.columns.slice();
276
289
  }
277
290
  }
278
291
  return obj || {};
@@ -282,13 +295,12 @@ MultiTableManager.prototype._cloneConfig = function () {
282
295
  * @return {number}
283
296
  */
284
297
  MultiTableManager.prototype.getTableCount = function() {
285
- return this._tableCount;
298
+ return this._tables.length;
286
299
  };
287
- /**
288
- * @public
300
+ /** @private
289
301
  * @param {number} num Number of tables. Number cannot be less than one.
290
302
  */
291
- MultiTableManager.prototype.setTableCount = function(num) {
303
+ MultiTableManager.prototype._setTableCount = function(num) {
292
304
  this._tableCount = num > 0 ? num : 1;
293
305
 
294
306
  if(this._ready) {
@@ -301,30 +313,53 @@ MultiTableManager.prototype.setTableCount = function(num) {
301
313
  }
302
314
  };
303
315
  /**
316
+ * @public
317
+ * @param {number} num Number of tables. Number cannot be less than one.
318
+ */
319
+ MultiTableManager.prototype.setTableCount = function(num) {
320
+ if(this._wrapSize) {
321
+ this._wrapTable(0);
322
+ }
323
+ this._setTableCount(num);
324
+ };
325
+ /**
304
326
  * @private
327
+ * @param {number} tableIndex
305
328
  * @return {Element}
306
329
  */
307
- MultiTableManager.prototype._addTable = function() {
330
+ MultiTableManager.prototype._addTable = function(tableIndex) {
308
331
  var main = this._tables[0];
309
332
  var parentElem = main.parentNode;
333
+ var core = main.api.getCoreGrid();
310
334
  var mainDataView = main.api.getDataView();
311
335
  // var mainDataTable = main.api.getDataTable();
336
+ var stp = core.getPlugin("SortableTitlePlugin");
337
+ var dtp = core.getPlugin("DragAndDropTitlePlugin");
312
338
 
313
339
  var configObj = this._cloneConfig();
314
340
  configObj.extensions = this._generateExtensions();
341
+
315
342
  delete configObj.staticDataRows;
316
343
  delete configObj.rows;
317
344
  delete configObj.dataModel;
318
345
 
319
- var rowCount = mainDataView.getRowCount();
320
-
321
- var ary = _newArrayOfObject(rowCount);
322
- if(this._emeraldGrid) {
323
- configObj.dataModel = {
324
- data: ary
325
- };
346
+ if(this._wrapSize) {
347
+ var wrappedViews = mainDataView.getWrappedViews();
348
+ configObj.dataView = wrappedViews[tableIndex - 1];
349
+ configObj.grid = main.api;
326
350
  } else {
327
- configObj.rows = ary;
351
+ configObj["SortableTitle"] = stp;
352
+ configObj["DragAndDropTitle"] = dtp;
353
+ var rowCount = mainDataView.getRowCount();
354
+
355
+ var ary = _newArrayOfObject(rowCount);
356
+ if(this._emeraldGrid) {
357
+ configObj.dataModel = {
358
+ data: ary
359
+ };
360
+ } else {
361
+ configObj.rows = ary;
362
+ }
328
363
  }
329
364
 
330
365
  var sub = document.createElement(main.tagName);
@@ -347,19 +382,22 @@ MultiTableManager.prototype._addTables = function(num) {
347
382
 
348
383
  var main = this._tables[0];
349
384
  _toggleInlineElement(main, true); // TODO: Check if we need to do this every time
385
+
350
386
  // main.api.setFitContentWidth(true);
351
387
 
352
388
  for(var i = 0; i < num; ++i) {
353
- var grid = this._addTable();
389
+ var grid = this._addTable(this._tables.length);
354
390
  this._tables.push(grid);
355
391
  }
356
392
 
357
- if(main._vScrollbarSynchronization) {
358
- MultiTableManager.synchronizeVScrollbar(
359
- main.api.getCoreGrid().getVScrollbar().getParent(),
360
- main.parentNode,
361
- this._tables
362
- );
393
+ if(!this._wrapSize) {
394
+ if(main._vScrollbarSynchronization) {
395
+ MultiTableManager.synchronizeVScrollbar(
396
+ main.api.getCoreGrid().getVScrollbar().getParent(),
397
+ main.parentNode,
398
+ this._tables
399
+ );
400
+ }
363
401
  }
364
402
  };
365
403
  /**
@@ -381,20 +419,62 @@ MultiTableManager.prototype._removeTables = function(num) {
381
419
  sub.parentNode.removeChild(sub);
382
420
  }
383
421
  }
384
- if(this._tables.length === 1) {
385
- // TODO: Reset state
386
- this._tables[0].style.display = "";
422
+ // if(this._tables.length === 1) {
423
+ // TODO: Reset state
424
+ // this._tables[0].style.display = ""; // Remove display inline
425
+ // }
426
+ };
427
+
428
+
429
+ /** @private
430
+ * @param {number} rowCount Number of row per table. Set number to zero to turn off wrap mode.
431
+ */
432
+ MultiTableManager.prototype._wrapTable = function(rowCount) {
433
+ this._wrapSize = rowCount > 0 ? rowCount : 0;
434
+
435
+ if(this._ready) {
436
+ var main = this._tables[0];
437
+ if(this._wrapSize) {
438
+ main.style.display = "none";
439
+ main.api.getCoreGrid().getVScrollbar().disable();
440
+ } else {
441
+ main.style.display = "";
442
+ _toggleInlineElement(main, true);
443
+ main.api.getCoreGrid().getVScrollbar().disable(false);
444
+ }
445
+
446
+ var dv = main.api.getDataView();
447
+ dv.listen("wrapCountChanged", this._onWrapCountChanged);
448
+ dv.wrapView(this._wrapSize);
387
449
  }
388
450
  };
389
451
  /**
390
- * @private
452
+ * @public
453
+ * @param {number} rowCount Number of row per table. Set number to zero to turn off wrap mode.
454
+ */
455
+ MultiTableManager.prototype.wrapTable = function(rowCount) {
456
+ if(rowCount && this._tableCount > 1) {
457
+ this._setTableCount(1);
458
+ }
459
+ if(!rowCount || rowCount < 0) {
460
+ rowCount = 0;
461
+ }
462
+ if(this._wrapSize !== rowCount) {
463
+ this._wrapTable(rowCount);
464
+ }
465
+ };
466
+ /** @private
391
467
  * @param {Object} e
392
468
  */
393
- MultiTableManager.prototype._onDataChanged = function(e) {
394
-
469
+ MultiTableManager.prototype._onWrapCountChanged = function(e) {
470
+ if(e.prevCount < e.newCount) {
471
+ this._addTables(e.newCount - e.prevCount);
472
+ }
473
+ if(e.newCount < e.prevCount) {
474
+ this._removeTables(e.prevCount - e.newCount);
475
+ }
395
476
  };
396
477
 
397
-
398
478
  /** @public
399
479
  * @param {number=} at
400
480
  * @return {Element}
@@ -445,23 +525,6 @@ MultiTableManager.prototype._execAll = function(methodName, args) {
445
525
  }
446
526
  };
447
527
 
448
- /** @private
449
- * @param {number} num
450
- */
451
- MultiTableManager.prototype._setRtRowCount = function(num) {
452
- var tableCount = this._tables.length;
453
- // grid.api.getRowCount();
454
- for(var i = 1; i < tableCount; ++i) {
455
- var sub = this._tables[i];
456
- sub.api.insertRows(_newArrayOfObject(num));
457
- }
458
- };
459
- /** @private
460
- * @param {number} num
461
- */
462
- MultiTableManager.prototype._addCsRows = function(num) {
463
- };
464
-
465
528
  /** @public
466
529
  * @param {Object=} rowOption
467
530
  * @param {number=} at
@@ -471,10 +534,14 @@ MultiTableManager.prototype.insertRow = function(rowOption, at) {
471
534
  return; // TODO
472
535
  }
473
536
 
474
- var tableCount = this._tables.length;
475
- for(var i = 0; i < tableCount; ++i) {
476
- var tbl = this._tables[i];
477
- tbl.api.insertRow(rowOption, at);
537
+ if(this._wrapSize) {
538
+ this.getTable().api.insertRow(rowOption, at);
539
+ } else {
540
+ var tableCount = this._tables.length;
541
+ for(var i = 0; i < tableCount; ++i) {
542
+ var tbl = this._tables[i];
543
+ tbl.api.insertRow(rowOption, at);
544
+ }
478
545
  }
479
546
  };
480
547
  /** @public
@@ -488,18 +555,58 @@ MultiTableManager.prototype.removeRow = function(at) {
488
555
  at = this.getRowCount() - 1;
489
556
  }
490
557
 
558
+ if(this._wrapSize) {
559
+ this.getTable().api.removeRow(at);
560
+ } else {
561
+ var tableCount = this._tables.length;
562
+ for(var i = 0; i < tableCount; ++i) {
563
+ var tbl = this._tables[i];
564
+ tbl.api.removeRow(at);
565
+ }
566
+ }
567
+ };
568
+
569
+ /** @public
570
+ * @return {number}
571
+ */
572
+ MultiTableManager.prototype.getRowCount = function() {
573
+ return this.getTable().api.getRowCount();
574
+ };
575
+
576
+ /** @public
577
+ * @param {*} columnOption String will be treated as field, while object is treated as the column options
578
+ * @param {number=} idx
579
+ */
580
+ MultiTableManager.prototype.insertColumn = function(columnOption, idx) {
581
+ if(this._emeraldGrid) {
582
+ return; // TODO
583
+ }
584
+
491
585
  var tableCount = this._tables.length;
492
586
  for(var i = 0; i < tableCount; ++i) {
493
587
  var tbl = this._tables[i];
494
- tbl.api.removeRow(at);
588
+ tbl.api.insertColumn(columnOption, idx);
589
+ }
590
+ };
591
+ /** @public
592
+ * @param {*} colRef Column reference
593
+ */
594
+ MultiTableManager.prototype.removeColumn = function(colRef) {
595
+ if(this._emeraldGrid) {
596
+ return; // TODO
597
+ }
598
+ var tableCount = this._tables.length;
599
+ for(var i = 0; i < tableCount; ++i) {
600
+ var tbl = this._tables[i];
601
+ tbl.api.removeColumn(colRef);
495
602
  }
496
603
  };
497
604
 
498
605
  /** @public
499
606
  * @return {number}
500
607
  */
501
- MultiTableManager.prototype.getRowCount = function() {
502
- return this.getTable().api.getRowCount();
608
+ MultiTableManager.prototype.getColumnCount = function() {
609
+ return this.getTable().api.getColumnCount();
503
610
  };
504
611
 
505
612
  export default MultiTableManager;
@@ -13,6 +13,7 @@ var RowPainter = function(options) {
13
13
  this._onCellClicked = options.onCellClicked;
14
14
  this._headerMenuClicked = options.headerMenuClicked;
15
15
  this._menuIconClicked = this._menuIconClicked.bind(this);
16
+ this._segmentMode = options.segmentMode;
16
17
  };
17
18
 
18
19
  /** @type {string}
@@ -108,10 +109,12 @@ RowPainter.enableHeaderMenu = function(grid, enabled) {
108
109
  * @param {number} rowIndex
109
110
  * @param {number} checkboxColumnIndex
110
111
  */
111
- RowPainter._clearCellContent = function(section, fromColumnIndex, toColumnIndex, rowIndex, checkboxColumnIndex) {
112
- for (var c = fromColumnIndex; c <= toColumnIndex; ++c) {
113
- if (section.isColumnVisible(c) && c !== checkboxColumnIndex) {
114
- section.getCell(c, rowIndex, false).setContent("");
112
+ RowPainter.prototype._clearCellContent = function(section, fromColumnIndex, toColumnIndex, rowIndex, checkboxColumnIndex) {
113
+ if(!this._segmentMode) {
114
+ for (var c = fromColumnIndex; c <= toColumnIndex; ++c) {
115
+ if (section.isColumnVisible(c) && c !== checkboxColumnIndex) {
116
+ section.getCell(c, rowIndex, false).setContent("");
117
+ }
115
118
  }
116
119
  }
117
120
  };
@@ -123,6 +126,7 @@ RowPainter._clearCellContent = function(section, fromColumnIndex, toColumnIndex,
123
126
  */
124
127
  RowPainter.prototype.removeHeaderStyle = function(section, columnIndex, rowIndex) {
125
128
  section.enableRowClass(rowIndex, "header", false); // TODO: Slow
129
+ section.enableRowClass(rowIndex, "folder", false); // TODO: Slow
126
130
  var cell = section.unstretchCell(columnIndex, rowIndex);
127
131
  this._removeHeaderStyle(cell);
128
132
  cell = section.getCell(columnIndex, rowIndex, false);
@@ -165,14 +169,14 @@ RowPainter.prototype.applyHeaderStyle = function(e) {
165
169
  } else {
166
170
  section.unstretchCell(mainCol, r);
167
171
  section.enableRowClass(r, "header", true);
168
-
172
+ section.enableRowClass(r, "closed", e.collapsed ? true : false);
169
173
  // Remove content from cell that appear on right side of mainCol
170
- RowPainter._clearCellContent(section, mainCol + 1, colCount - 1, r, checkboxColumnIndex);
174
+ this._clearCellContent(section, mainCol + 1, colCount - 1, r, checkboxColumnIndex);
171
175
  }
172
176
  cell._groupHeaderStyle = true;
173
177
 
174
178
  // Remove content from cell that appear on left side of mainCol
175
- RowPainter._clearCellContent(section, 0, mainCol - 1, r, checkboxColumnIndex);
179
+ this._clearCellContent(section, 0, mainCol - 1, r, checkboxColumnIndex);
176
180
 
177
181
  // Footer rows and some specific group levels contains no expander (arrow)
178
182
  var newIcon = ExpanderIcon.renderOn(cell, e.hiddenArrow);
@@ -181,7 +185,11 @@ RowPainter.prototype.applyHeaderStyle = function(e) {
181
185
  }
182
186
 
183
187
  if (!footerRow) {
184
- cell.addClass("folder"); // Required by the fallback arrow from the CSS rules. TODO: Change this
188
+ if (stretching) {
189
+ cell.addClass("folder"); // Stretched cell is in the cover-layer
190
+ } else {
191
+ section.enableRowClass(r, "folder", true); // Required by the fallback arrow from the CSS rules. TODO: Change this
192
+ }
185
193
  if (this._clickableCell) {
186
194
  cell.listen("click", this._onCellClicked);
187
195
  }
@@ -0,0 +1,223 @@
1
+ export declare namespace JSXInterface {
2
+ interface ControlHTMLAttributes<T> extends HTMLAttributes<T> {
3
+ accept?: string;
4
+ alt?: string;
5
+ autoComplete?: string;
6
+ autocomplete?: string;
7
+ autoFocus?: boolean;
8
+ autofocus?: boolean | string;
9
+ capture?: string;
10
+ checked?: boolean;
11
+ crossOrigin?: string;
12
+ crossorigin?: string;
13
+ disabled?: boolean;
14
+ form?: string;
15
+ formAction?: string;
16
+ formaction?: string;
17
+ formEncType?: string;
18
+ formenctype?: string;
19
+ formMethod?: string;
20
+ formmethod?: string;
21
+ formNoValidate?: boolean;
22
+ formnovalidate?: boolean;
23
+ formTarget?: string;
24
+ formtarget?: string;
25
+ height?: number | string;
26
+ list?: string;
27
+ max?: number | string;
28
+ maxLength?: number;
29
+ maxlength?: number | string;
30
+ min?: number | string;
31
+ minLength?: number;
32
+ minlength?: number | string;
33
+ multiple?: boolean;
34
+ name?: string;
35
+ pattern?: string;
36
+ placeholder?: string;
37
+ readOnly?: boolean;
38
+ readonly?: boolean | string;
39
+ required?: boolean;
40
+ size?: number;
41
+ src?: string;
42
+ step?: number | string;
43
+ type?: string;
44
+ value?: string | string[] | number;
45
+ width?: number | string;
46
+ }
47
+ interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
48
+ innerHTML?: string;
49
+ key?: string | number;
50
+ accessKey?: string;
51
+ class?: string | {
52
+ [className: string]: boolean;
53
+ };
54
+ contentEditable?: boolean | string;
55
+ contenteditable?: boolean | string;
56
+ contextMenu?: string;
57
+ contextmenu?: string;
58
+ dir?: string;
59
+ draggable?: boolean;
60
+ hidden?: boolean;
61
+ id?: string;
62
+ lang?: string;
63
+ spellCheck?: boolean;
64
+ spellcheck?: boolean | string;
65
+ style?: {
66
+ [key: string]: string | undefined;
67
+ };
68
+ tabIndex?: number;
69
+ tabindex?: number | string;
70
+ title?: string;
71
+ inputMode?: string;
72
+ inputmode?: string;
73
+ is?: string;
74
+ radioGroup?: string;
75
+ radiogroup?: string;
76
+ part?: string;
77
+ role?: string;
78
+ about?: string;
79
+ datatype?: string;
80
+ inlist?: any;
81
+ prefix?: string;
82
+ property?: string;
83
+ resource?: string;
84
+ typeof?: string;
85
+ vocab?: string;
86
+ autoCapitalize?: string;
87
+ autocapitalize?: string;
88
+ autoCorrect?: string;
89
+ autocorrect?: string;
90
+ autoSave?: string;
91
+ autosave?: string;
92
+ color?: string;
93
+ itemProp?: string;
94
+ itemprop?: string;
95
+ itemScope?: boolean;
96
+ itemscope?: boolean;
97
+ itemType?: string;
98
+ itemtype?: string;
99
+ itemID?: string;
100
+ itemid?: string;
101
+ itemRef?: string;
102
+ itemref?: string;
103
+ results?: number;
104
+ security?: string;
105
+ unselectable?: boolean;
106
+ }
107
+ interface DOMAttributes<T = Element> {
108
+ ref?: any;
109
+ slot?: string;
110
+ children?: any;
111
+ onCopy?: (event: ClipboardEvent) => void;
112
+ onCopyCapture?: (event: ClipboardEvent) => void;
113
+ onCut?: (event: ClipboardEvent) => void;
114
+ onCutCapture?: (event: ClipboardEvent) => void;
115
+ onPaste?: (event: ClipboardEvent) => void;
116
+ onPasteCapture?: (event: ClipboardEvent) => void;
117
+ onCompositionEnd?: (event: CompositionEvent) => void;
118
+ onCompositionEndCapture?: (event: CompositionEvent) => void;
119
+ onCompositionStart?: (event: CompositionEvent) => void;
120
+ onCompositionStartCapture?: (event: CompositionEvent) => void;
121
+ onCompositionUpdate?: (event: CompositionEvent) => void;
122
+ onCompositionUpdateCapture?: (event: CompositionEvent) => void;
123
+ onFocus?: (event: FocusEvent) => void;
124
+ onFocusCapture?: (event: FocusEvent) => void;
125
+ onBlur?: (event: FocusEvent) => void;
126
+ onBlurCapture?: (event: FocusEvent) => void;
127
+ onChange?: (event: Event) => void;
128
+ onChangeCapture?: (event: Event) => void;
129
+ onInput?: (event: Event) => void;
130
+ onInputCapture?: (event: Event) => void;
131
+ onReset?: (event: Event) => void;
132
+ onResetCapture?: (event: Event) => void;
133
+ onSubmit?: (event: Event) => void;
134
+ onSubmitCapture?: (event: Event) => void;
135
+ onInvalid?: (event: Event) => void;
136
+ onInvalidCapture?: (event: Event) => void;
137
+ onLoad?: (event: Event) => void;
138
+ onLoadCapture?: (event: Event) => void;
139
+ onError?: (event: Event) => void;
140
+ onErrorCapture?: (event: Event) => void;
141
+ onKeyDown?: (event: KeyboardEvent) => void;
142
+ onKeyDownCapture?: (event: KeyboardEvent) => void;
143
+ onKeyPress?: (event: KeyboardEvent) => void;
144
+ onKeyPressCapture?: (event: KeyboardEvent) => void;
145
+ onKeyUp?: (event: KeyboardEvent) => void;
146
+ onKeyUpCapture?: (event: KeyboardEvent) => void;
147
+ onAuxClick?: (event: MouseEvent) => void;
148
+ onClick?: (event: MouseEvent) => void;
149
+ onClickCapture?: (event: MouseEvent) => void;
150
+ onContextMenu?: (event: MouseEvent) => void;
151
+ onContextMenuCapture?: (event: MouseEvent) => void;
152
+ onDblClick?: (event: MouseEvent) => void;
153
+ onDblClickCapture?: (event: MouseEvent) => void;
154
+ onDrag?: (event: DragEvent) => void;
155
+ onDragCapture?: (event: DragEvent) => void;
156
+ onDragEnd?: (event: DragEvent) => void;
157
+ onDragEndCapture?: (event: DragEvent) => void;
158
+ onDragEnter?: (event: DragEvent) => void;
159
+ onDragEnterCapture?: (event: DragEvent) => void;
160
+ onDragExit?: (event: DragEvent) => void;
161
+ onDragExitCapture?: (event: DragEvent) => void;
162
+ onDragLeave?: (event: DragEvent) => void;
163
+ onDragLeaveCapture?: (event: DragEvent) => void;
164
+ onDragOver?: (event: DragEvent) => void;
165
+ onDragOverCapture?: (event: DragEvent) => void;
166
+ onDragStart?: (event: DragEvent) => void;
167
+ onDragStartCapture?: (event: DragEvent) => void;
168
+ onDrop?: (event: DragEvent) => void;
169
+ onDropCapture?: (event: DragEvent) => void;
170
+ onMouseDown?: (event: MouseEvent) => void;
171
+ onMouseDownCapture?: (event: MouseEvent) => void;
172
+ onMouseEnter?: (event: MouseEvent) => void;
173
+ onMouseLeave?: (event: MouseEvent) => void;
174
+ onMouseMove?: (event: MouseEvent) => void;
175
+ onMouseMoveCapture?: (event: MouseEvent) => void;
176
+ onMouseOut?: (event: MouseEvent) => void;
177
+ onMouseOutCapture?: (event: MouseEvent) => void;
178
+ onMouseOver?: (event: MouseEvent) => void;
179
+ onMouseOverCapture?: (event: MouseEvent) => void;
180
+ onMouseUp?: (event: MouseEvent) => void;
181
+ onMouseUpCapture?: (event: MouseEvent) => void;
182
+ onTouchCancel?: (event: TouchEvent) => void;
183
+ onTouchCancelCapture?: (event: TouchEvent) => void;
184
+ onTouchEnd?: (event: TouchEvent) => void;
185
+ onTouchEndCapture?: (event: TouchEvent) => void;
186
+ onTouchMove?: (event: TouchEvent) => void;
187
+ onTouchMoveCapture?: (event: TouchEvent) => void;
188
+ onTouchStart?: (event: TouchEvent) => void;
189
+ onTouchStartCapture?: (event: TouchEvent) => void;
190
+ onPointerDown?: (event: PointerEvent) => void;
191
+ onPointerDownCapture?: (event: PointerEvent) => void;
192
+ onPointerMove?: (event: PointerEvent) => void;
193
+ onPointerMoveCapture?: (event: PointerEvent) => void;
194
+ onPointerUp?: (event: PointerEvent) => void;
195
+ onPointerUpCapture?: (event: PointerEvent) => void;
196
+ onPointerCancel?: (event: PointerEvent) => void;
197
+ onPointerCancelCapture?: (event: PointerEvent) => void;
198
+ onPointerEnter?: (event: PointerEvent) => void;
199
+ onPointerEnterCapture?: (event: PointerEvent) => void;
200
+ onPointerLeave?: (event: PointerEvent) => void;
201
+ onPointerLeaveCapture?: (event: PointerEvent) => void;
202
+ onPointerOver?: (event: PointerEvent) => void;
203
+ onPointerOverCapture?: (event: PointerEvent) => void;
204
+ onPointerOut?: (event: PointerEvent) => void;
205
+ onPointerOutCapture?: (event: PointerEvent) => void;
206
+ onGotPointerCapture?: (event: PointerEvent) => void;
207
+ onGotPointerCaptureCapture?: (event: PointerEvent) => void;
208
+ onLostPointerCapture?: (event: PointerEvent) => void;
209
+ onLostPointerCaptureCapture?: (event: PointerEvent) => void;
210
+ onScroll?: (event: UIEvent) => void;
211
+ onScrollCapture?: (event: UIEvent) => void;
212
+ onWheel?: (event: WheelEvent) => void;
213
+ onWheelCapture?: (event: WheelEvent) => void;
214
+ onAnimationStart?: (event: AnimationEvent) => void;
215
+ onAnimationStartCapture?: (event: AnimationEvent) => void;
216
+ onAnimationEnd?: (event: AnimationEvent) => void;
217
+ onAnimationEndCapture?: (event: AnimationEvent) => void;
218
+ onAnimationIteration?: (event: AnimationEvent) => void;
219
+ onAnimationIterationCapture?: (event: AnimationEvent) => void;
220
+ onTransitionEnd?: (event: TransitionEvent) => void;
221
+ onTransitionEndCapture?: (event: TransitionEvent) => void;
222
+ }
223
+ }
@@ -12,7 +12,8 @@ declare namespace CheckboxPlugin {
12
12
  checkboxCreated?: ((...params: any[]) => any),
13
13
  checkboxBinding?: ((...params: any[]) => any),
14
14
  clicked?: ((...params: any[]) => any),
15
- width?: number
15
+ width?: number,
16
+ topCheckboxHandler?: boolean
16
17
  };
17
18
 
18
19
  type ColumnOptions = {
@@ -7,12 +7,6 @@ import EventDispatcher from "../grid/event/EventDispatcher.js";
7
7
  import Util from "../grid/util/util.js";
8
8
  import { Conflator } from "../../../../tr-grid-util/es6/Conflator.js";
9
9
 
10
- declare namespace DataView {
11
-
12
- type IDataView = DataTable|WrappedView|DataView;
13
-
14
- }
15
-
16
10
  declare class DataView extends EventDispatcher {
17
11
 
18
12
  constructor(source?: DataTable|DataView);
@@ -20,6 +20,8 @@ declare class Segment {
20
20
 
21
21
  public getChildIds(): (string)[];
22
22
 
23
+ public getChildCount(): number;
24
+
23
25
  public collapse(bool?: boolean): boolean;
24
26
 
25
27
  public expand(bool?: boolean): boolean;
@@ -3,7 +3,7 @@ import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js";
3
3
  import { Dom } from "../../tr-grid-util/es6/Dom.js";
4
4
  import { Popup } from "../../tr-grid-util/es6/Popup.js";
5
5
  import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
6
- import { isTouchDevice } from "../../tr-grid-util/es6/Util.js";
6
+ import { isTouchDevice, injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
7
7
  import { ElfDate } from "../../tr-grid-util/es6/ElfDate.js";
8
8
  import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
9
9