@refinitiv-ui/efx-grid 6.0.29 → 6.0.31

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 (47) hide show
  1. package/lib/core/dist/core.js +20 -2
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/grid/Core.js +1 -1
  4. package/lib/core/es6/grid/components/Scrollbar.js +19 -1
  5. package/lib/filter-dialog/lib/filter-dialog.js +11 -8
  6. package/lib/filter-dialog/themes/base.less +7 -3
  7. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  8. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +1 -1
  9. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  10. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +1 -1
  11. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  12. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +1 -1
  13. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
  14. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +1 -1
  15. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  16. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +1 -1
  17. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  18. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
  19. package/lib/grid/index.js +1 -1
  20. package/lib/rt-grid/dist/rt-grid.js +142 -26
  21. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  22. package/lib/rt-grid/es6/ColumnDefinition.d.ts +2 -0
  23. package/lib/rt-grid/es6/ColumnDefinition.js +6 -0
  24. package/lib/rt-grid/es6/FieldDefinition.d.ts +4 -0
  25. package/lib/rt-grid/es6/FieldDefinition.js +27 -1
  26. package/lib/rt-grid/es6/Grid.d.ts +1 -0
  27. package/lib/rt-grid/es6/Grid.js +14 -0
  28. package/lib/rt-grid/es6/RowDefinition.d.ts +1 -1
  29. package/lib/rt-grid/es6/RowDefinition.js +7 -7
  30. package/lib/rt-grid/es6/SnapshotFiller.js +3 -0
  31. package/lib/tr-grid-column-stack/es6/ColumnStack.js +4 -0
  32. package/lib/tr-grid-content-wrap/es6/ContentWrap.d.ts +4 -4
  33. package/lib/tr-grid-content-wrap/es6/ContentWrap.js +116 -70
  34. package/lib/tr-grid-util/es6/DragUI.d.ts +2 -0
  35. package/lib/tr-grid-util/es6/DragUI.js +39 -9
  36. package/lib/tr-grid-util/es6/Popup.d.ts +3 -1
  37. package/lib/tr-grid-util/es6/Popup.js +57 -23
  38. package/lib/tr-grid-util/es6/jet/mockDataAPI.js +29 -1
  39. package/lib/types/es6/ConditionalColoring.d.ts +30 -23
  40. package/lib/types/es6/ContentWrap.d.ts +4 -4
  41. package/lib/types/es6/ExtensionOptions.d.ts +2 -0
  42. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +2 -0
  43. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +4 -0
  44. package/lib/types/es6/RealtimeGrid/Grid.d.ts +1 -0
  45. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +1 -1
  46. package/lib/versions.json +4 -4
  47. package/package.json +1 -1
@@ -69,11 +69,13 @@ declare class Popup extends EventDispatcher {
69
69
 
70
70
  public disableAutoHiding(opt_disabled?: boolean|null): void;
71
71
 
72
+ public disableAutoRepositioning(opt_disabled?: boolean|null): void;
73
+
72
74
  public disableAutoClipping(opt_disabled?: boolean|null): void;
73
75
 
74
76
  public disableHideOnScroll(opt_disabled?: boolean|null): void;
75
77
 
76
- public updatePosition(): void;
78
+ public updatePosition(fallback?: boolean|null): void;
77
79
 
78
80
  public enableUIBlocking(bool?: boolean|null): boolean;
79
81
 
@@ -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
  };
@@ -266,7 +266,7 @@ Adc.request = function (payload, mockResponse) {
266
266
  } else {
267
267
 
268
268
  identifiers = payload.identifiers;
269
- formula = payload.formula.trim().split(","); // TODO: check each field with another way, this doesn't work when user use some comma (,) formula
269
+ formula = Adc.splitFields(payload.formula);
270
270
  fields = [];
271
271
 
272
272
  // _invalidFieldDict is a dictionary of non exist field
@@ -344,6 +344,34 @@ Adc.request = function (payload, mockResponse) {
344
344
  }));
345
345
  };
346
346
 
347
+ /**
348
+ * Splits a string of comma-separated fields into an array of individual field names with optional parentheses and contents.
349
+ *
350
+ * @param {string} strFields - The string of comma-separated fields to split.
351
+ * @returns {Array<string>} - An array of individual field names with optional parentheses and contents.
352
+ */
353
+ Adc.splitFields = function(strFields) {
354
+ if(!strFields) {
355
+ return [];
356
+ }
357
+
358
+ // Split the input string using the regular expression
359
+ // regex is match commas that are not inside parentheses
360
+ /*
361
+ , - matches a comma
362
+ (?![^()]*\) - negative lookahead assertion that matches if the comma is not followed by:
363
+ [^()]* - any characters that are not opening or closing parentheses
364
+ \) - a closing parenthesis
365
+ ) - ending delimiter of the regular expression
366
+ */
367
+ var fields = strFields.split(/,(?![^()]*\))/);
368
+ fields = fields.map(function(field) {
369
+ return field.trim();
370
+ });
371
+
372
+ return fields;
373
+ };
374
+
347
375
  /** @public
348
376
  * @function
349
377
  * @param {string} dataType
@@ -1,39 +1,44 @@
1
1
  import {Ext} from '../../tr-grid-util/es6/Ext.js';
2
- import { GridPlugin } from '../../tr-grid-util/es6/GridPlugin.js';
3
- import { extendObject } from '../../tr-grid-util/es6/Util.js';
2
+ import {GridPlugin} from '../../tr-grid-util/es6/GridPlugin.js';
3
+ import {extendObject, injectCss, prettifyCss} from '../../tr-grid-util/es6/Util.js';
4
4
  import {CellPainter} from '../../tr-grid-util/es6/CellPainter.js';
5
5
  import {FilterBuilder} from '../../tr-grid-util/es6/FilterBuilder.js';
6
6
  import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
7
7
 
8
8
  declare namespace ConditionalColoringPlugin {
9
9
 
10
+ type Options = {
11
+ predefinedColors?: any
12
+ };
13
+
10
14
  type ColumnOptions = {
11
- conditions?: (ConditionalColoringPlugin.Condition)[],
12
- colorText?: (string|boolean),
13
- tickColor?: (string|boolean),
14
- blinking?: (ConditionalColoringPlugin.Blinking|boolean),
15
- field?: string
15
+ conditions?: (ConditionalColoringPlugin.Condition)[]|null,
16
+ colorText?: (string|boolean)|null,
17
+ tickColor?: (string|boolean)|null,
18
+ blinking?: (ConditionalColoringPlugin.Blinking|boolean)|null,
19
+ field?: string|null
16
20
  };
17
21
 
18
22
  type ConditionalColoringOptions = {
19
- conditions?: (ConditionalColoringPlugin.Condition)[],
20
- colorText?: (string|boolean),
21
- tickColor?: (string|boolean),
22
- field?: string
23
+ conditions?: (ConditionalColoringPlugin.Condition)[]|null,
24
+ colorText?: (string|boolean)|null,
25
+ tickColor?: (string|boolean)|null,
26
+ field?: string|null
23
27
  };
24
28
 
25
29
  type Condition = {
26
- expression?: (string|((...params: any[]) => any)),
27
- backgroundColor?: string,
28
- color?: string
30
+ expression?: (string|((...params: any[]) => any))|null,
31
+ backgroundColor?: string|null,
32
+ color?: string|null,
33
+ cssClass?: string|null
29
34
  };
30
35
 
31
36
  type Blinking = {
32
- border?: boolean,
33
- field?: string,
34
- up?: string,
35
- down?: string,
36
- level?: (string|boolean)
37
+ border?: boolean|null,
38
+ field?: string|null,
39
+ up?: string|null,
40
+ down?: string|null,
41
+ level?: (string|boolean)|null
37
42
  };
38
43
 
39
44
  }
@@ -56,21 +61,23 @@ declare class ConditionalColoringPlugin extends GridPlugin {
56
61
 
57
62
  public getColumnColoring(colIndex: number, options?: any): ConditionalColoringPlugin.ColumnOptions;
58
63
 
59
- public setColumnColoring(colIndex: number, columnOptions?: (ConditionalColoringPlugin.ColumnOptions|null)): void;
64
+ public setColumnColoring(colIndex: number, columnOptions?: (ConditionalColoringPlugin.ColumnOptions|null)|null): void;
60
65
 
61
- public setConditionalColoring(colIndex: number, coloringOptions?: (ConditionalColoringPlugin.ConditionalColoringOptions|null)): void;
66
+ public setConditionalColoring(colIndex: number, coloringOptions?: (ConditionalColoringPlugin.ConditionalColoringOptions|null)|null): void;
62
67
 
63
- public setColumnBlinking(colIndex: number, blinkingOptions?: (boolean|ConditionalColoringPlugin.Blinking), field?: string): void;
68
+ public setColumnBlinking(colIndex: number, blinkingOptions?: (boolean|ConditionalColoringPlugin.Blinking)|null, field?: string|null): void;
64
69
 
65
70
  public blinkRow(rowIndex: number, blinkSignal: number, host?: any): void;
66
71
 
72
+ public setPredefinedColors(predefinedColors: any): void;
73
+
67
74
  public getColumnPainter(colIndex: number): CellPainter|null;
68
75
 
69
76
  public applyColor(colIndex: number, cell: any, rowData?: any): void;
70
77
 
71
78
  public static cleanUpPrevRows(): void;
72
79
 
73
- public static setThemeColors(colors: { [key: string]: string }): void;
80
+ public static setThemeColors(colors: { [key: string]: string }|null): void;
74
81
 
75
82
  public reloadThemeColors(): Promise<any>|null;
76
83
 
@@ -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
 
@@ -9,6 +9,7 @@ import ColumnGrouping from "../../tr-grid-column-grouping/es6/ColumnGrouping.js"
9
9
  import ColumnResizing from "../../tr-grid-column-resizing/es6/ColumnResizing.js";
10
10
  import ColumnSelection from "../../tr-grid-column-selection/es6/ColumnSelection.js";
11
11
  import ColumnStack from "../../tr-grid-column-stack/es6/ColumnStack.js";
12
+ import ConditionalColoring from "../../tr-grid-conditional-coloring/es6/ConditionalColoring.js";
12
13
  import ContentWrap from "../../tr-grid-content-wrap/es6/ContentWrap.js";
13
14
  import ContextMenu from "../../tr-grid-contextmenu/es6/ContextMenu.js";
14
15
  import FilterInput from "../../tr-grid-filter-input/es6/FilterInput.js";
@@ -34,6 +35,7 @@ type ExtensionOptions = {
34
35
  columnResizing?: ColumnResizing.Options,
35
36
  columnSelection?: ColumnSelection.Options,
36
37
  columnStack?: ColumnStack.Options,
38
+ conditionalColoring?: ConditionalColoring.Options,
37
39
  contentWrap?: ContentWrap.Options,
38
40
  contextMenu?: ContextMenu.Options,
39
41
  filterInput?: FilterInput.Options,
@@ -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
  };
@@ -136,7 +136,7 @@ declare class RowDefinition {
136
136
 
137
137
  declare const ROW_DEF: string;
138
138
 
139
- declare const ROW_TYPES: RowDefinition.RowTypes|null;
139
+ declare const ROW_TYPES: RowDefinition.RowTypes;
140
140
 
141
141
  declare function rowData(userInput: string): boolean;
142
142
 
package/lib/versions.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "tr-grid-util": "1.3.88",
2
+ "tr-grid-util": "1.3.92",
3
3
  "@grid/column-dragging": "1.0.11",
4
4
  "@grid/row-segmenting": "1.0.23",
5
5
  "@grid/statistics-row": "1.0.13",
@@ -12,9 +12,9 @@
12
12
  "tr-grid-column-grouping": "1.0.46",
13
13
  "tr-grid-column-resizing": "1.0.28",
14
14
  "tr-grid-column-selection": "1.0.26",
15
- "tr-grid-column-stack": "1.0.53",
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",
@@ -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.29"
69
+ "version": "6.0.31"
70
70
  }