@refinitiv-ui/efx-grid 6.0.41 → 6.0.43

Sign up to get free protection for your applications and to get access to all the features.
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