@refinitiv-ui/efx-grid 6.0.30 → 6.0.32

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 (42) hide show
  1. package/lib/core/dist/core.js +310 -117
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/grid/Core.js +53 -28
  4. package/lib/core/es6/grid/ILayoutGrid.js +3 -3
  5. package/lib/core/es6/grid/LayoutGrid.js +67 -23
  6. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +92 -55
  7. package/lib/core/es6/grid/components/Scrollbar.js +19 -1
  8. package/lib/core/es6/grid/util/SelectionList.d.ts +6 -2
  9. package/lib/core/es6/grid/util/SelectionList.js +76 -7
  10. package/lib/filter-dialog/lib/filter-dialog.js +11 -8
  11. package/lib/filter-dialog/themes/base.less +7 -3
  12. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  13. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +1 -1
  14. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  15. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +1 -1
  16. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  17. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +1 -1
  18. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
  19. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +1 -1
  20. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  21. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +1 -1
  22. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  23. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
  24. package/lib/grid/index.js +1 -1
  25. package/lib/statistics-row/es6/StatisticsRow.d.ts +25 -25
  26. package/lib/statistics-row/es6/StatisticsRow.js +9 -4
  27. package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +2 -0
  28. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +14 -0
  29. package/lib/tr-grid-content-wrap/es6/ContentWrap.d.ts +4 -4
  30. package/lib/tr-grid-content-wrap/es6/ContentWrap.js +116 -70
  31. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +23 -1
  32. package/lib/tr-grid-row-dragging/es6/RowDragging.js +339 -40
  33. package/lib/tr-grid-util/es6/DragUI.d.ts +2 -0
  34. package/lib/tr-grid-util/es6/DragUI.js +39 -9
  35. package/lib/tr-grid-util/es6/Popup.d.ts +3 -1
  36. package/lib/tr-grid-util/es6/Popup.js +57 -23
  37. package/lib/types/es6/ContentWrap.d.ts +4 -4
  38. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +2 -0
  39. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +4 -0
  40. package/lib/types/es6/RealtimeGrid/Grid.d.ts +1 -0
  41. package/lib/versions.json +6 -6
  42. package/package.json +1 -1
@@ -221,6 +221,10 @@ Popup.prototype._uiBlocking = false;
221
221
  * @private
222
222
  */
223
223
  Popup.prototype._hideOnScroll = true;
224
+ /** @type {boolean}
225
+ * @private
226
+ */
227
+ Popup.prototype._autoRepositioning = true;
224
228
 
225
229
  /** @public */
226
230
  Popup.prototype.dispose = function () {
@@ -303,6 +307,10 @@ Popup.prototype.init = function (options) {
303
307
  this._hideOnScroll = false;
304
308
  }
305
309
 
310
+ if (options["autoRepositioning"] == false) {
311
+ this._autoRepositioning = false;
312
+ }
313
+
306
314
  this.addListener(options, "show");
307
315
  this.addListener(options, "hide");
308
316
  this.addListener(options, "shown");
@@ -573,6 +581,15 @@ Popup.prototype.disableAutoHiding = function (opt_disabled) {
573
581
  /** @public
574
582
  * @param {boolean=} opt_disabled
575
583
  */
584
+ Popup.prototype.disableAutoRepositioning = function (opt_disabled) {
585
+ var autoRepositioning = (opt_disabled === false);
586
+ if (this._autoRepositioning !== autoRepositioning) {
587
+ this._autoRepositioning = autoRepositioning;
588
+ }
589
+ };
590
+ /** @public
591
+ * @param {boolean=} opt_disabled
592
+ */
576
593
  Popup.prototype.disableAutoClipping = function (opt_disabled) {
577
594
  var autoClipping = (opt_disabled === false);
578
595
  if (this._autoClipping !== autoClipping) {
@@ -592,8 +609,12 @@ Popup.prototype.disableHideOnScroll = function (opt_disabled) {
592
609
 
593
610
  /** @public
594
611
  * @fires Popup#positioning
612
+ * @param {boolean=} fallback=true
595
613
  */
596
- Popup.prototype.updatePosition = function () {
614
+ Popup.prototype.updatePosition = function (fallback) {
615
+ if(fallback == null){
616
+ fallback = true;
617
+ }
597
618
  var t = this;
598
619
  t._resizeTimer = 0;
599
620
 
@@ -630,34 +651,48 @@ Popup.prototype.updatePosition = function () {
630
651
  if (t._positioning == "right") {
631
652
  x = px + aw + this._gap;
632
653
  y = py;
633
- // Re-position, if the popup exceeds the bounds
634
- if ((x + ew > rb) && (px - ew > sx)) {
635
- x = px - ew - this._gap;
636
- }
637
- if ((y + eh > bb) && (py + ah - eh > sy)) {
638
- y = py + ah - eh;
639
- }
640
654
  } else if (t._positioning == "over") {
641
655
  x = px;
642
656
  y = py;
643
- // Re-position, if the popup exceeds the bounds
644
- if ((x + ew > rb) && (px + aw - ew > sx)) {
645
- x = px + aw - ew;
646
- }
647
- if ((y + eh > bb) && (py + aw - eh > sy)) {
648
- y = py + aw - eh;
649
- }
650
657
  } else { // under, bottom, or etc.
651
658
  x = px;
652
659
  y = py + ah;
653
- // Re-position, if the popup exceeds the bounds
654
- if ((x + ew > rb) && (px + aw - ew > sx)) {
655
- x = px + aw - ew;
656
- }
657
- if ((y + eh > bb) && (py - eh > sy)) {
658
- y = py - eh;
660
+ }
661
+
662
+ if(fallback){
663
+ // Re-position for each type of positioning, if the popup exceeds the bounds
664
+ if (t._positioning == "right") {
665
+ if ((x + ew > rb) && (px - ew > sx)) {
666
+ x = px - ew - this._gap;
667
+ }
668
+ if ((y + eh > bb) && (py + ah - eh > sy)) {
669
+ y = py + ah - eh;
670
+ }
671
+ } else if (t._positioning == "over") {
672
+ if ((x + ew > rb) && (px + aw - ew > sx)) {
673
+ x = px + aw - ew;
674
+ }
675
+ if ((y + eh > bb) && (py + aw - eh > sy)) {
676
+ y = py + aw - eh;
677
+ }
678
+ } else { // under, bottom, or etc.
679
+ if ((x + ew > rb) && (px + aw - ew > sx)) {
680
+ x = px + aw - ew;
681
+ }
682
+ if (y + eh > bb) {
683
+ // If popup is exceeded bottom bound
684
+ if(py - eh > sy){
685
+ y = py - eh; // move popup to top of attached element, if it has enough space
686
+ } else {
687
+ y = y - (y + eh - bb); // shift the popup up to make everything in popup visible
688
+ if(y < 0){
689
+ y = 0; // popup should not shift beyond top bound
690
+ }
691
+ }
692
+ }
659
693
  }
660
694
  }
695
+
661
696
  if (t._autoClipping) { // Last resort of positioning
662
697
  if (x + ew > rb) {
663
698
  if (t._origW == null) {
@@ -685,7 +720,6 @@ Popup.prototype.updatePosition = function () {
685
720
  t._dispatch(evtType, t._evtArg);
686
721
  };
687
722
 
688
-
689
723
  /** @public
690
724
  * @param {boolean=} bool
691
725
  * @return {boolean} previous uiBlocking state
@@ -759,7 +793,7 @@ Popup.prototype._onBlurTimer = function () {
759
793
  * @fires Popup#positioning
760
794
  */
761
795
  Popup.prototype._onResize = function () {
762
- if (!this._resizeTimer && this._inDoc) {
796
+ if (!this._resizeTimer && this._inDoc && this._autoRepositioning) {
763
797
  this._resizeTimer = setTimeout(this.updatePosition, 50);
764
798
  }
765
799
  };
@@ -4,11 +4,11 @@ import { GridPlugin } from '../../tr-grid-util/es6/GridPlugin.js';
4
4
  declare namespace ContentWrapPlugin {
5
5
 
6
6
  type Options = {
7
- evenRowHeight?: boolean
7
+ evenRowHeight?: boolean|null
8
8
  };
9
9
 
10
10
  type ColumnOptions = {
11
- contentWrap?: boolean
11
+ contentWrap?: boolean|null
12
12
  };
13
13
 
14
14
  }
@@ -29,11 +29,11 @@ declare class ContentWrapPlugin extends GridPlugin {
29
29
 
30
30
  public getConfigObject(gridOptions?: any): any;
31
31
 
32
- public adjustRowHeight(sectionRef: any, from?: number, to?: number): boolean;
32
+ public adjustRowHeight(sectionRef: any, from?: number|null, to?: number|null): boolean;
33
33
 
34
34
  public adjustRowHeightAt(sectionRef: any, rowIndex: number): boolean;
35
35
 
36
- public enableContentWrapping(colIndex: number, bool?: boolean): void;
36
+ public enableContentWrapping(colIndex: number, bool?: boolean|null): void;
37
37
 
38
38
  public isWrappingContent(colIndex: number): boolean;
39
39
 
@@ -93,6 +93,8 @@ declare class ColumnDefinition {
93
93
 
94
94
  public isTimeSeries(): boolean;
95
95
 
96
+ public isTimeSeriesChild(): boolean;
97
+
96
98
  public isFormulaField(): boolean;
97
99
 
98
100
  public static isFormulaField(field: string): boolean;
@@ -20,12 +20,16 @@ declare namespace FieldDefinition {
20
20
 
21
21
  function setFieldCaching(caching: boolean): void;
22
22
 
23
+ function disableTimeSeriesExpansion(disabled: boolean): void;
24
+
23
25
  function isFormula(field: string): boolean;
24
26
 
25
27
  function isAdc(field: string): boolean;
26
28
 
27
29
  function isRealTimeField(field: string): boolean;
28
30
 
31
+ function isTimeSeriesChild(field: string): boolean;
32
+
29
33
  function isTimeSeries(field: string): boolean;
30
34
 
31
35
  }
@@ -83,6 +83,7 @@ declare namespace Grid {
83
83
  formulaEngine?: boolean|null,
84
84
  adcPollingInterval?: number|null,
85
85
  fieldCaching?: boolean|null,
86
+ timeSeriesExpansion?: boolean|null,
86
87
  childDataField?: string|null,
87
88
  topSection?: boolean|null
88
89
  };
package/lib/versions.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "tr-grid-util": "1.3.89",
2
+ "tr-grid-util": "1.3.92",
3
3
  "@grid/column-dragging": "1.0.11",
4
4
  "@grid/row-segmenting": "1.0.23",
5
- "@grid/statistics-row": "1.0.13",
5
+ "@grid/statistics-row": "1.0.14",
6
6
  "@grid/zoom": "1.0.11",
7
7
  "tr-grid-auto-tooltip": "1.1.5",
8
8
  "tr-grid-cell-selection": "1.0.32",
@@ -11,10 +11,10 @@
11
11
  "tr-grid-column-formatting": "0.9.34",
12
12
  "tr-grid-column-grouping": "1.0.46",
13
13
  "tr-grid-column-resizing": "1.0.28",
14
- "tr-grid-column-selection": "1.0.26",
14
+ "tr-grid-column-selection": "1.0.27",
15
15
  "tr-grid-column-stack": "1.0.54",
16
16
  "tr-grid-conditional-coloring": "1.0.58",
17
- "tr-grid-content-wrap": "1.0.19",
17
+ "tr-grid-content-wrap": "1.0.20",
18
18
  "tr-grid-contextmenu": "1.0.38",
19
19
  "tr-grid-filter-input": "0.9.31",
20
20
  "tr-grid-heat-map": "1.0.28",
@@ -23,7 +23,7 @@
23
23
  "tr-grid-percent-bar": "1.0.22",
24
24
  "tr-grid-printer": "1.0.16",
25
25
  "tr-grid-range-bar": "2.0.3",
26
- "tr-grid-row-dragging": "1.0.24",
26
+ "tr-grid-row-dragging": "1.0.25",
27
27
  "tr-grid-row-filtering": "1.0.55",
28
28
  "tr-grid-row-grouping": "1.0.80",
29
29
  "tr-grid-row-selection": "1.0.22",
@@ -32,6 +32,6 @@
32
32
  "tr-grid-titlewrap": "1.0.19",
33
33
  "@grid/formatters": "1.0.49",
34
34
  "@grid/column-selection-dialog": "4.0.46",
35
- "@grid/filter-dialog": "4.0.56",
35
+ "@grid/filter-dialog": "4.0.57",
36
36
  "@grid/column-format-dialog": "4.0.43"
37
37
  }
package/package.json CHANGED
@@ -66,5 +66,5 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "version": "6.0.30"
69
+ "version": "6.0.32"
70
70
  }