@refinitiv-ui/efx-grid 6.0.41 → 6.0.43

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 (91) hide show
  1. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +1 -0
  2. package/lib/column-format-dialog/lib/column-format-dialog.js +3 -24
  3. package/lib/column-format-dialog/lib/preview-table.d.ts +1 -1
  4. package/lib/column-format-dialog/lib/preview-table.js +15 -27
  5. package/lib/core/dist/core.js +843 -871
  6. package/lib/core/dist/core.min.js +1 -1
  7. package/lib/core/es6/grid/Core.d.ts +4 -0
  8. package/lib/core/es6/grid/Core.js +67 -2
  9. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +3 -2
  10. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +32 -26
  11. package/lib/core/es6/grid/util/util.js +25 -9
  12. package/lib/formatters/es6/CoralButtonFormatter.d.ts +2 -2
  13. package/lib/formatters/es6/CoralCheckboxFormatter.d.ts +1 -1
  14. package/lib/formatters/es6/CoralComboBoxFormatter.d.ts +4 -4
  15. package/lib/formatters/es6/CoralIconFormatter.d.ts +3 -3
  16. package/lib/formatters/es6/CoralInputFormatter.d.ts +1 -1
  17. package/lib/formatters/es6/CoralRadioButtonFormatter.d.ts +2 -2
  18. package/lib/formatters/es6/CoralSelectFormatter.d.ts +4 -4
  19. package/lib/formatters/es6/CoralToggleFormatter.d.ts +1 -1
  20. package/lib/formatters/es6/DuplexEmeraldDateTimePickerFormatter.d.ts +1 -1
  21. package/lib/formatters/es6/EFButtonFormatter.d.ts +2 -2
  22. package/lib/formatters/es6/EFCheckboxFormatter.d.ts +1 -1
  23. package/lib/formatters/es6/EFComboBoxFormatter.d.ts +4 -4
  24. package/lib/formatters/es6/EFDateTimePickerFormatter.d.ts +1 -1
  25. package/lib/formatters/es6/EFIconFormatter.d.ts +3 -3
  26. package/lib/formatters/es6/EFNumberFieldFormatter.d.ts +1 -1
  27. package/lib/formatters/es6/EFRadioButtonFormatter.d.ts +2 -2
  28. package/lib/formatters/es6/EFSelectFormatter.d.ts +4 -4
  29. package/lib/formatters/es6/EFTextFieldFormatter.d.ts +1 -1
  30. package/lib/formatters/es6/EFToggleFormatter.d.ts +1 -1
  31. package/lib/formatters/es6/EmeraldDateTimePickerFormatter.d.ts +1 -1
  32. package/lib/formatters/es6/FormatterBuilder.d.ts +6 -2
  33. package/lib/formatters/es6/FormatterBuilder.js +328 -178
  34. package/lib/formatters/es6/NumericInputFormatter.d.ts +1 -1
  35. package/lib/formatters/es6/PercentBarFormatter.d.ts +6 -6
  36. package/lib/formatters/es6/SimpleImageFormatter.d.ts +3 -3
  37. package/lib/formatters/es6/SimpleInputFormatter.d.ts +1 -1
  38. package/lib/formatters/es6/SimpleLinkFormatter.d.ts +3 -3
  39. package/lib/formatters/es6/SimpleTickerFormatter.d.ts +3 -3
  40. package/lib/formatters/es6/SimpleToggleFormatter.d.ts +3 -3
  41. package/lib/formatters/es6/TextFormatter.d.ts +1 -1
  42. package/lib/grid/index.js +1 -1
  43. package/lib/rt-grid/dist/rt-grid.js +213 -44
  44. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  45. package/lib/rt-grid/es6/Grid.d.ts +24 -1
  46. package/lib/rt-grid/es6/Grid.js +92 -4
  47. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +4 -0
  48. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +34 -19
  49. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +9 -3
  50. package/lib/tr-grid-column-stack/es6/ColumnStack.js +324 -388
  51. package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +17 -17
  52. package/lib/tr-grid-filter-input/es6/FilterInput.js +146 -33
  53. package/lib/tr-grid-util/es6/DateTime.js +3 -3
  54. package/lib/tr-grid-util/es6/GridPlugin.js +1 -1
  55. package/lib/types/es6/ColumnGrouping.d.ts +4 -0
  56. package/lib/types/es6/ColumnStack.d.ts +9 -3
  57. package/lib/types/es6/CoralButtonFormatter.d.ts +2 -2
  58. package/lib/types/es6/CoralCheckboxFormatter.d.ts +1 -1
  59. package/lib/types/es6/CoralComboBoxFormatter.d.ts +4 -4
  60. package/lib/types/es6/CoralIconFormatter.d.ts +3 -3
  61. package/lib/types/es6/CoralInputFormatter.d.ts +1 -1
  62. package/lib/types/es6/CoralRadioButtonFormatter.d.ts +2 -2
  63. package/lib/types/es6/CoralSelectFormatter.d.ts +4 -4
  64. package/lib/types/es6/CoralToggleFormatter.d.ts +1 -1
  65. package/lib/types/es6/Core/grid/Core.d.ts +4 -0
  66. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +3 -2
  67. package/lib/types/es6/DuplexEmeraldDateTimePickerFormatter.d.ts +1 -1
  68. package/lib/types/es6/EFButtonFormatter.d.ts +2 -2
  69. package/lib/types/es6/EFCheckboxFormatter.d.ts +1 -1
  70. package/lib/types/es6/EFComboBoxFormatter.d.ts +4 -4
  71. package/lib/types/es6/EFDateTimePickerFormatter.d.ts +1 -1
  72. package/lib/types/es6/EFIconFormatter.d.ts +3 -3
  73. package/lib/types/es6/EFNumberFieldFormatter.d.ts +1 -1
  74. package/lib/types/es6/EFRadioButtonFormatter.d.ts +2 -2
  75. package/lib/types/es6/EFSelectFormatter.d.ts +4 -4
  76. package/lib/types/es6/EFTextFieldFormatter.d.ts +1 -1
  77. package/lib/types/es6/EFToggleFormatter.d.ts +1 -1
  78. package/lib/types/es6/EmeraldDateTimePickerFormatter.d.ts +1 -1
  79. package/lib/types/es6/FilterInput.d.ts +17 -17
  80. package/lib/types/es6/FormatterBuilder.d.ts +6 -2
  81. package/lib/types/es6/NumericInputFormatter.d.ts +1 -1
  82. package/lib/types/es6/PercentBarFormatter.d.ts +6 -6
  83. package/lib/types/es6/RealtimeGrid/Grid.d.ts +22 -0
  84. package/lib/types/es6/SimpleImageFormatter.d.ts +3 -3
  85. package/lib/types/es6/SimpleInputFormatter.d.ts +1 -1
  86. package/lib/types/es6/SimpleLinkFormatter.d.ts +3 -3
  87. package/lib/types/es6/SimpleTickerFormatter.d.ts +3 -3
  88. package/lib/types/es6/SimpleToggleFormatter.d.ts +3 -3
  89. package/lib/types/es6/TextFormatter.d.ts +1 -1
  90. package/lib/versions.json +6 -6
  91. package/package.json +1 -1
@@ -7,30 +7,30 @@ import { CoralItems } from '../../tr-grid-util/es6/CoralItems.js';
7
7
  declare namespace FilterInputPlugin {
8
8
 
9
9
  type GridColumn = {
10
- filterInput?: FilterInputPlugin.ColumnOptions
10
+ filterInput?: FilterInputPlugin.ColumnOptions|null
11
11
  };
12
12
 
13
13
  type ColumnOptions = {
14
- defaultLogic?: ((...params: any[]) => any),
15
- filterLogic?: ((...params: any[]) => any),
16
- disabled?: boolean,
17
- placeholder?: string,
18
- type?: string,
19
- entries?: any[],
14
+ defaultLogic?: ((...params: any[]) => any)|null,
15
+ filterLogic?: ((...params: any[]) => any)|null,
16
+ disabled?: boolean|null,
17
+ placeholder?: string|null,
18
+ type?: string|null,
19
+ entries?: any[]|null,
20
20
  defaultValue?: any,
21
- trigger?: string
21
+ trigger?: string|null
22
22
  };
23
23
 
24
24
  type Options = {
25
- inputCreated?: ((...params: any[]) => any),
26
- trigger?: string
25
+ inputCreated?: ((...params: any[]) => any)|null,
26
+ trigger?: string|null
27
27
  };
28
28
 
29
29
  }
30
30
 
31
31
  declare class FilterInputPlugin extends GridPlugin {
32
32
 
33
- constructor(options?: FilterInputPlugin.Options);
33
+ constructor(options?: FilterInputPlugin.Options|null);
34
34
 
35
35
  public getName(): string;
36
36
 
@@ -42,17 +42,17 @@ declare class FilterInputPlugin extends GridPlugin {
42
42
 
43
43
  public getConfigObject(out_obj?: any): any;
44
44
 
45
- public getColumnInput(colIndex: number): Element;
45
+ public getColumnInput(colIndex: number): Element|null;
46
46
 
47
- public removeColumnFilters(colIndex?: (null|number)): void;
47
+ public removeColumnFilters(colIndex?: (null|number)|null): void;
48
48
 
49
- public removeColumnFilter(colIndex?: (null|number)): void;
49
+ public removeColumnFilter(colIndex?: (null|number)|null): void;
50
50
 
51
- public refresh(delayMs?: number): void;
51
+ public refresh(delayMs?: number|null): void;
52
52
 
53
- public setFilterLogic(colIndex: number, func: ((...params: any[]) => any), ctx?: any): void;
53
+ public setFilterLogic(colIndex: number, func: ((...params: any[]) => any)|null, ctx?: any): void;
54
54
 
55
- public filterColumn(colIndex: number, text: string): void;
55
+ public filterColumn(colIndex: number, text: string, textMap?: any): void;
56
56
 
57
57
  }
58
58
 
@@ -14,7 +14,7 @@ import { CoralItems } from '../../tr-grid-util/es6/CoralItems.js';
14
14
  * @property {Function=} filterLogic=null Alias to `defaultLogic`
15
15
  * @property {boolean=} disabled=false Disable UI
16
16
  * @property {string=} placeholder="" Placeholder text inside the input
17
- * @property {string=} type="text" Type of UI. Available types are "number", "select", "dropdown", "date"
17
+ * @property {string=} type="text" Type of UI. Available types are "number", "multiselect" ,"select", "dropdown", "date"
18
18
  * @property {Array=} entries Entries of dropdown filters when type is "select"
19
19
  * @property {*=} defaultValue Default value of input filter
20
20
  * @property {string=} trigger="keyup" Available types of trigger are `false | ""` (no trigger) , `"keyup"` (default) , `"enter"` (on enter key *only available for text type)
@@ -465,12 +465,20 @@ FilterInputPlugin.prototype._createColumnInputs = function (section, host) {
465
465
  var defaultValue = colOpt.defaultValue;
466
466
 
467
467
  if (defaultValue) {
468
- if (colOpt.type == "date") {
468
+ var type = colOpt.type.toLowerCase();
469
+
470
+ if (type == "date") {
469
471
  var dateObj = ElfDate.from(defaultValue);
470
472
  defaultValue = dateObj ? dateObj.toDateString().substr(4) : "";
471
473
  }
472
474
 
473
- this.filterColumn(c, defaultValue);
475
+ if (type == "multiselect") {
476
+ var textMap = FilterInputPlugin._createMapObject(defaultValue);
477
+
478
+ this.filterColumn(c, "", textMap);
479
+ } else {
480
+ this.filterColumn(c, defaultValue);
481
+ }
474
482
  }
475
483
  }
476
484
  };
@@ -482,6 +490,7 @@ FilterInputPlugin.prototype._createColumnInputs = function (section, host) {
482
490
  FilterInputPlugin._uiMap = {
483
491
  number: "ef-input",
484
492
  select: "ef-select",
493
+ multiselect: "ef-combo-box",
485
494
  dropdown: "ef-select",
486
495
  date: "ef-datetime-picker"
487
496
  };
@@ -492,6 +501,11 @@ FilterInputPlugin._uiMap = {
492
501
 
493
502
  FilterInputPlugin.prototype._createFilterUI = function (colOpt) {
494
503
  var elemType = colOpt.type;
504
+
505
+ if (elemType) {
506
+ elemType = elemType.toLowerCase();
507
+ }
508
+
495
509
  var defaultValue = colOpt.defaultValue;
496
510
  var elemTrigger = colOpt.trigger != null ? colOpt.trigger : this._inputTrigger;
497
511
  var uiTag = FilterInputPlugin._uiMap[elemType] || "input";
@@ -520,10 +534,6 @@ FilterInputPlugin.prototype._createFilterUI = function (colOpt) {
520
534
  elem.addEventListener("keydown", FilterInputPlugin._stopPropagation, false);
521
535
  elem.addEventListener("click", FilterInputPlugin._stopPropagation, false);
522
536
 
523
- if (defaultValue) {
524
- elem.value = colOpt.defaultValue;
525
- }
526
-
527
537
  switch (uiTag) {
528
538
  case "ef-input":
529
539
  elem.setAttribute("type", "number");
@@ -551,6 +561,17 @@ FilterInputPlugin.prototype._createFilterUI = function (colOpt) {
551
561
 
552
562
  break;
553
563
 
564
+ case "ef-combo-box":
565
+ elem.multiple = true;
566
+ elem.data = CoralItems.create(colOpt.entries);
567
+ elem.addEventListener("opened-changed", this._onOpenedChanged, false);
568
+
569
+ if (elemTrigger != false && elemTrigger != "") {
570
+ elem.addEventListener("value-changed", this._onInputChanged, false);
571
+ }
572
+
573
+ break;
574
+
554
575
  case "ef-datetime-picker":
555
576
  if (elemTrigger != false && elemTrigger != "") {
556
577
  elem.addEventListener("value-changed", this._onDateChanged, false);
@@ -593,6 +614,14 @@ FilterInputPlugin.prototype._createFilterUI = function (colOpt) {
593
614
  break;
594
615
  }
595
616
 
617
+ if (defaultValue) {
618
+ if (elemType === "multiselect") {
619
+ elem.values = defaultValue;
620
+ } else {
621
+ elem.value = defaultValue;
622
+ }
623
+ }
624
+
596
625
  return elem;
597
626
  };
598
627
  /** @private
@@ -660,17 +689,25 @@ FilterInputPlugin.prototype._retrieveColumnOption = function (colIndex, colDef)
660
689
  var type = filterOption["type"];
661
690
 
662
691
  if (typeof type == "string") {
692
+ type = type.toLowerCase();
663
693
  option["type"] = type;
694
+
695
+ if (type == "multiselect") {
696
+ option._comparingLogic = FilterInputPlugin._multiSelectionFilter;
697
+ }
664
698
  }
665
699
 
666
700
  var entries = filterOption["entries"];
667
701
 
668
702
  if (Array.isArray(entries)) {
669
703
  // Add Clear filter option
670
- entries.push({
671
- label: 'No Filter',
672
- value: 'No Filter'
673
- });
704
+ if (type === "select") {
705
+ entries.push({
706
+ label: 'No Filter',
707
+ value: 'No Filter'
708
+ });
709
+ }
710
+
674
711
  option["entries"] = entries;
675
712
  }
676
713
 
@@ -713,11 +750,12 @@ FilterInputPlugin.prototype.updateUI = function (colIndex, text) {
713
750
  /** @private
714
751
  * @param {number} colIndex
715
752
  * @param {string} text
753
+ * @param {Object=} textMap
716
754
  * @return {Object} Column option
717
755
  */
718
756
 
719
757
 
720
- FilterInputPlugin.prototype._updateColumnOption = function (colIndex, text) {
758
+ FilterInputPlugin.prototype._updateColumnOption = function (colIndex, text, textMap) {
721
759
  var option = this._getExtColumnOption(colIndex);
722
760
 
723
761
  if (!option) {
@@ -736,6 +774,12 @@ FilterInputPlugin.prototype._updateColumnOption = function (colIndex, text) {
736
774
  arg.inputText = option.inputText = inputText;
737
775
  arg.lowerCasedText = inputText.toLowerCase();
738
776
  arg.colIndex = colIndex;
777
+
778
+ if (textMap && !Object.keys(textMap).length) {
779
+ textMap = null;
780
+ }
781
+
782
+ arg.textMap = option.textMap = textMap;
739
783
  }
740
784
 
741
785
  return option;
@@ -830,6 +874,7 @@ FilterInputPlugin.prototype.setFilterLogic = function (colIndex, func, ctx) {
830
874
  var option = this._newExtColumnOption(colIndex);
831
875
 
832
876
  var inputText = option.inputText;
877
+ var textMap = option.textMap;
833
878
 
834
879
  if (func) {
835
880
  if (ctx != null) {
@@ -841,19 +886,20 @@ FilterInputPlugin.prototype.setFilterLogic = function (colIndex, func, ctx) {
841
886
 
842
887
  option._comparingLogic = func;
843
888
 
844
- if (inputText) {
845
- this.filterColumn(colIndex, inputText);
889
+ if (inputText || textMap) {
890
+ this.filterColumn(colIndex, inputText, textMap);
846
891
  }
847
892
  };
848
893
  /** Force filtering for a single column by changing filtering text
849
894
  * @public
850
895
  * @param {number} colIndex
851
896
  * @param {string} text
897
+ * @param {Object=} textMap
852
898
  */
853
899
 
854
900
 
855
- FilterInputPlugin.prototype.filterColumn = function (colIndex, text) {
856
- var option = this._updateColumnOption(colIndex, text);
901
+ FilterInputPlugin.prototype.filterColumn = function (colIndex, text, textMap) {
902
+ var option = this._updateColumnOption(colIndex, text, textMap);
857
903
 
858
904
  if (!option) {
859
905
  return;
@@ -879,7 +925,9 @@ FilterInputPlugin.prototype._setColumnFilter = function (colIndex, filterOptions
879
925
  proc.removeColumnFilters(colIndex); // TODO: this is slow
880
926
  }
881
927
 
882
- if (filterOptions._comparingLogic && filterOptions.inputText) {
928
+ var hasFilterContent = filterOptions.inputText || filterOptions.textMap;
929
+
930
+ if (filterOptions._comparingLogic && hasFilterContent) {
883
931
  var columnFilter = filterOptions._columnFilter;
884
932
 
885
933
  if (!columnFilter) {
@@ -911,13 +959,17 @@ FilterInputPlugin.prototype._onInputChanged = function (e) {
911
959
  var colIndex = pos.colIndex;
912
960
  var input =
913
961
  /** @type{Element} */
914
- e.currentTarget; // If selected No Filter option - remove select filter
915
-
916
- if (input.value === "No Filter" && input.tagName.indexOf("SELECT") >= 0) {
917
- input.value = null;
962
+ e.currentTarget;
963
+ var filterValue = input.value;
964
+ var textMap; // If selected No Filter option - remove select filter
965
+
966
+ if (filterValue === "No Filter" && input.tagName.indexOf("SELECT") >= 0) {
967
+ filterValue = null;
968
+ } else if (input.tagName.indexOf("COMBO-BOX") >= 0) {
969
+ textMap = FilterInputPlugin._createMapObject(input.values);
918
970
  }
919
971
 
920
- this.filterColumn(colIndex, input.value);
972
+ this.filterColumn(colIndex, filterValue, textMap);
921
973
  };
922
974
  /** @private
923
975
  * @param {Object=} e
@@ -969,6 +1021,49 @@ FilterInputPlugin._compareRow = function (filterOptions, rowData, rid) {
969
1021
  FilterInputPlugin._rtCompareRow = function (filterOptions, rowData, rid) {
970
1022
  return filterOptions._comparingLogic(filterOptions._filterArguments, rowData["ROW_DEF"].getRowData());
971
1023
  };
1024
+ /** @private
1025
+ * @function
1026
+ * @param {Array<string>} ary
1027
+ * @return {Object}
1028
+ */
1029
+
1030
+
1031
+ FilterInputPlugin._createMapObject = function (ary) {
1032
+ var textMap = {};
1033
+
1034
+ if (ary) {
1035
+ var count = ary.length;
1036
+
1037
+ for (var i = 0; i < count; i++) {
1038
+ var str = ary[i].toLowerCase();
1039
+ textMap[str] = true;
1040
+ }
1041
+ }
1042
+
1043
+ return textMap;
1044
+ };
1045
+ /** @private
1046
+ * @function
1047
+ * @param {Object} data
1048
+ * @return {string}
1049
+ */
1050
+
1051
+
1052
+ FilterInputPlugin._transformToLowercaseString = function (data) {
1053
+ var dataStr = "";
1054
+
1055
+ if (typeof data != "string") {
1056
+ if (data instanceof Date) {
1057
+ dataStr = data.toDateString().toLowerCase();
1058
+ } else {
1059
+ dataStr = (data + "").toLocaleLowerCase;
1060
+ }
1061
+ } else if (data) {
1062
+ dataStr = data.toLowerCase();
1063
+ }
1064
+
1065
+ return dataStr;
1066
+ };
972
1067
  /** Default Filter Logic
973
1068
  * @private
974
1069
  * @function
@@ -986,17 +1081,7 @@ FilterInputPlugin._containingFilter = function (e, rowData) {
986
1081
  var data = rowData[e.field];
987
1082
 
988
1083
  if (data != null) {
989
- var dataStr;
990
-
991
- if (typeof data != "string") {
992
- if (data instanceof Date) {
993
- dataStr = data.toDateString().toLowerCase();
994
- } else {
995
- dataStr = data + "";
996
- }
997
- } else if (data) {
998
- dataStr = data.toLowerCase();
999
- }
1084
+ var dataStr = FilterInputPlugin._transformToLowercaseString(data);
1000
1085
 
1001
1086
  if (dataStr) {
1002
1087
  if (eventType === "number") {
@@ -1014,6 +1099,34 @@ FilterInputPlugin._containingFilter = function (e, rowData) {
1014
1099
 
1015
1100
  return true;
1016
1101
  };
1102
+ /** Filter Logic for multi selection input
1103
+ * @private
1104
+ * @function
1105
+ * @param {Object} e Filter argument
1106
+ * @param {Object} rowData
1107
+ * @return {boolean}
1108
+ */
1109
+
1110
+
1111
+ FilterInputPlugin._multiSelectionFilter = function (e, rowData) {
1112
+ var inputMap = e.textMap;
1113
+
1114
+ if (inputMap) {
1115
+ var data = rowData[e.field];
1116
+
1117
+ if (data != null) {
1118
+ var dataStr = FilterInputPlugin._transformToLowercaseString(data);
1119
+
1120
+ if (dataStr) {
1121
+ return inputMap[dataStr] ? true : false;
1122
+ }
1123
+ }
1124
+
1125
+ return false;
1126
+ }
1127
+
1128
+ return true;
1129
+ };
1017
1130
 
1018
1131
  export default FilterInputPlugin;
1019
1132
  export { FilterInputPlugin, FilterInputPlugin as FilterInput, FilterInputPlugin as FilterInputExtension };
@@ -452,9 +452,9 @@ DateTime.toDateObject = function(dateInput) {
452
452
  */
453
453
  DateTime.toDateNumber = function(dateObj) {
454
454
  return DateTime._millisecondToDateNumber(Date.UTC(
455
- dateObj.getFullYear(),
456
- dateObj.getMonth(),
457
- dateObj.getDate()
455
+ dateObj.getUTCFullYear(),
456
+ dateObj.getUTCMonth(),
457
+ dateObj.getUTCDate()
458
458
  ));
459
459
  };
460
460
  /** Convert the JavaScript date object to the time number in a range between 0 and 1. WARNING: This discards date and millisecond from the given date object.
@@ -704,7 +704,7 @@ GridPlugin.prototype._setColumnData = function (dv, cid, valueList, ridList) { /
704
704
  this._setData(
705
705
  dv,
706
706
  rids[0],
707
- this._selectionField,
707
+ cid,
708
708
  Array.isArray(valueList) ? valueList[0] : valueList
709
709
  );
710
710
  return;
@@ -93,6 +93,10 @@ declare class ColumnGroupingPlugin extends GridPlugin {
93
93
 
94
94
  public unpinGroup(groupId: string, dest?: (number|string)|null): void;
95
95
 
96
+ public static getObjectIndex(column: any): number;
97
+
98
+ public static getObjectId(column: any): string;
99
+
96
100
  }
97
101
 
98
102
  export default ColumnGroupingPlugin;
@@ -32,8 +32,8 @@ declare namespace ColumnStackPlugin {
32
32
  id: string,
33
33
  spreading?: boolean|null,
34
34
  collapsed?: boolean|null,
35
- children: (string)[]|null,
36
- fields: (string)[]|null,
35
+ children?: (string)[]|null,
36
+ fields?: (string)[]|null,
37
37
  name?: string|null,
38
38
  activeColumn?: string|null
39
39
  };
@@ -88,7 +88,11 @@ declare class ColumnStackPlugin extends GridPlugin {
88
88
 
89
89
  public stackColumns(colRefs?: (number|string)[]|null, stackId?: string|null, options?: ColumnStackPlugin.StackConfiguration|null): boolean;
90
90
 
91
- public setStack(colRefs?: (number|string)[]|null, activeColRef?: number|string|null): boolean;
91
+ public setStack(colRefs?: (number|string)[]|null, activeColRef?: (number|string)|null): boolean;
92
+
93
+ public setStacks(stacks: (ColumnStackPlugin.StackDefinition)[]|null): void;
94
+
95
+ public getStacks(): (ColumnStackPlugin.StackDefinition)[];
92
96
 
93
97
  public unstackColumns(colIndices?: (number)[]|null): boolean;
94
98
 
@@ -120,6 +124,8 @@ declare class ColumnStackPlugin extends GridPlugin {
120
124
 
121
125
  public getStackName(stackId: string): string;
122
126
 
127
+ public getActiveColumnId(stackId: string): string;
128
+
123
129
  public getActiveColumnField(stackId: string): string;
124
130
 
125
131
  public getActiveColumnIndex(stackId: string): number;
@@ -3,7 +3,7 @@ import FormatterBuilder from "./FormatterBuilder.js";
3
3
  declare namespace CoralButtonFormatter {
4
4
 
5
5
  type Options = {
6
- label?: string
6
+ label?: string|null
7
7
  };
8
8
 
9
9
  }
@@ -12,7 +12,7 @@ declare class CoralButtonFormatter {
12
12
 
13
13
  constructor(options?: any);
14
14
 
15
- public static create(options?: (FormatterBuilder.Options|CoralButtonFormatter.Options|any)): any;
15
+ public static create(options?: (FormatterBuilder.Options|CoralButtonFormatter.Options|any)|null): any;
16
16
 
17
17
  }
18
18
 
@@ -4,7 +4,7 @@ declare class CoralCheckboxFormatter {
4
4
 
5
5
  constructor(options?: any);
6
6
 
7
- public static create(options?: (FormatterBuilder.Options|any)): any;
7
+ public static create(options?: (FormatterBuilder.Options|any)|null): any;
8
8
 
9
9
  }
10
10
 
@@ -4,9 +4,9 @@ import ElfUtil from "../../tr-grid-util/es6/ElfUtil.js";
4
4
  declare namespace CoralComboBoxFormatter {
5
5
 
6
6
  type Options = {
7
- data?: any[],
8
- entries?: any[],
9
- items?: any[]
7
+ data?: any[]|null,
8
+ entries?: any[]|null,
9
+ items?: any[]|null
10
10
  };
11
11
 
12
12
  }
@@ -15,7 +15,7 @@ declare class CoralComboBoxFormatter {
15
15
 
16
16
  constructor(options?: any);
17
17
 
18
- public static create(options?: (FormatterBuilder.Options|CoralComboBoxFormatter.Options|any)): any;
18
+ public static create(options?: (FormatterBuilder.Options|CoralComboBoxFormatter.Options|any)|null): any;
19
19
 
20
20
  }
21
21
 
@@ -3,8 +3,8 @@ import FormatterBuilder from "./FormatterBuilder.js";
3
3
  declare namespace CoralIconFormatter {
4
4
 
5
5
  type Options = {
6
- icon?: (string|any),
7
- size?: (number|string)
6
+ icon?: (string|any)|null,
7
+ size?: (number|string)|null
8
8
  };
9
9
 
10
10
  }
@@ -13,7 +13,7 @@ declare class CoralIconFormatter {
13
13
 
14
14
  constructor(options?: any);
15
15
 
16
- public static create(options?: (FormatterBuilder.Options|CoralIconFormatter.Options|any)): any;
16
+ public static create(options?: (FormatterBuilder.Options|CoralIconFormatter.Options|any)|null): any;
17
17
 
18
18
  }
19
19
 
@@ -4,7 +4,7 @@ declare class CoralInputFormatter {
4
4
 
5
5
  constructor(options?: any);
6
6
 
7
- public static create(options?: (FormatterBuilder.Options|any)): any;
7
+ public static create(options?: (FormatterBuilder.Options|any)|null): any;
8
8
 
9
9
  }
10
10
 
@@ -3,7 +3,7 @@ import FormatterBuilder from "./FormatterBuilder.js";
3
3
  declare namespace CoralRadioButtonFormatter {
4
4
 
5
5
  type Options = {
6
- initialIndex?: number
6
+ initialIndex?: number|null
7
7
  };
8
8
 
9
9
  }
@@ -12,7 +12,7 @@ declare class CoralRadioButtonFormatter {
12
12
 
13
13
  constructor(options?: any);
14
14
 
15
- public static create(options?: (FormatterBuilder.Options|CoralRadioButtonFormatter.Options|any)): any;
15
+ public static create(options?: (FormatterBuilder.Options|CoralRadioButtonFormatter.Options|any)|null): any;
16
16
 
17
17
  }
18
18
 
@@ -4,9 +4,9 @@ import CoralItems from "../../tr-grid-util/es6/CoralItems.js";
4
4
  declare namespace CoralSelectFormatter {
5
5
 
6
6
  type Options = {
7
- data?: any[],
8
- entries?: any[],
9
- items?: any[]
7
+ data?: any[]|null,
8
+ entries?: any[]|null,
9
+ items?: any[]|null
10
10
  };
11
11
 
12
12
  }
@@ -15,7 +15,7 @@ declare class CoralSelectFormatter {
15
15
 
16
16
  constructor(options?: any);
17
17
 
18
- public static create(options?: (FormatterBuilder.Options|CoralSelectFormatter.Options|any)): any;
18
+ public static create(options?: (FormatterBuilder.Options|CoralSelectFormatter.Options|any)|null): any;
19
19
 
20
20
  }
21
21
 
@@ -4,7 +4,7 @@ declare class CoralToggleFormatter {
4
4
 
5
5
  constructor(options?: any);
6
6
 
7
- public static create(options?: (FormatterBuilder.Options|any)): any;
7
+ public static create(options?: (FormatterBuilder.Options|any)|null): any;
8
8
 
9
9
  }
10
10
 
@@ -405,6 +405,10 @@ declare class Core extends ElementWrapper {
405
405
 
406
406
  public getColumnGroupChildIds(groupId: string): (string)[]|null;
407
407
 
408
+ public getValidColumnList(colIds: (string)[]|null, columnMap?: any): (string)[];
409
+
410
+ public createColumnMap(colIds?: (string)[]|null): any;
411
+
408
412
  public startBatch(batchType: string): boolean;
409
413
 
410
414
  public stopBatch(batchType: string): boolean;
@@ -11,8 +11,9 @@ declare namespace SortableTitlePlugin {
11
11
  type SortOrder = "a" | "ascending" | "d" | "descending" | "n" | null|null;
12
12
 
13
13
  type InitialSort = {
14
- colIndex: number,
15
- field: string,
14
+ colIndex?: number|null,
15
+ colId?: string|null,
16
+ field?: string|null,
16
17
  sortOrder?: SortableTitlePlugin.SortOrder|null,
17
18
  order?: SortableTitlePlugin.SortOrder|null
18
19
  };
@@ -6,7 +6,7 @@ declare class DuplexEmeraldDateTimePickerFormatter {
6
6
 
7
7
  constructor(options?: any);
8
8
 
9
- public static create(options?: (FormatterBuilder.Options|any)): any;
9
+ public static create(options?: (FormatterBuilder.Options|any)|null): any;
10
10
 
11
11
  }
12
12
 
@@ -3,7 +3,7 @@ import FormatterBuilder from "./FormatterBuilder.js";
3
3
  declare namespace EFButtonFormatter {
4
4
 
5
5
  type Options = {
6
- label?: string
6
+ label?: string|null
7
7
  };
8
8
 
9
9
  }
@@ -12,7 +12,7 @@ declare class EFButtonFormatter {
12
12
 
13
13
  constructor(options?: any);
14
14
 
15
- public static create(options?: (FormatterBuilder.Options|EFButtonFormatter.Options|any)): any;
15
+ public static create(options?: (FormatterBuilder.Options|EFButtonFormatter.Options|any)|null): any;
16
16
 
17
17
  }
18
18
 
@@ -4,7 +4,7 @@ declare class EFCheckboxFormatter {
4
4
 
5
5
  constructor(options?: any);
6
6
 
7
- public static create(options?: (FormatterBuilder.Options|any)): any;
7
+ public static create(options?: (FormatterBuilder.Options|any)|null): any;
8
8
 
9
9
  }
10
10
 
@@ -4,9 +4,9 @@ import CoralItems from "../../tr-grid-util/es6/CoralItems.js";
4
4
  declare namespace EFComboBoxFormatter {
5
5
 
6
6
  type Options = {
7
- data?: any[],
8
- entries?: any[],
9
- items?: any[]
7
+ data?: any[]|null,
8
+ entries?: any[]|null,
9
+ items?: any[]|null
10
10
  };
11
11
 
12
12
  }
@@ -15,7 +15,7 @@ declare class EFComboBoxFormatter {
15
15
 
16
16
  constructor(options?: any);
17
17
 
18
- public static create(options?: (FormatterBuilder.Options|EFComboBoxFormatter.Options|any)): any;
18
+ public static create(options?: (FormatterBuilder.Options|EFComboBoxFormatter.Options|any)|null): any;
19
19
 
20
20
  }
21
21
 
@@ -5,7 +5,7 @@ declare class EFDateTimePickerFormatter {
5
5
 
6
6
  constructor(options?: any);
7
7
 
8
- public static create(options?: (FormatterBuilder.Options|any)): any;
8
+ public static create(options?: (FormatterBuilder.Options|any)|null): any;
9
9
 
10
10
  }
11
11