@refinitiv-ui/efx-grid 6.0.70 → 6.0.71

Sign up to get free protection for your applications and to get access to all the features.
@@ -570,7 +570,7 @@ Core.prototype._firstRendered = false;
570
570
  * @return {string}
571
571
  */
572
572
  Core.getVersion = function () {
573
- return "5.1.78";
573
+ return "5.1.80";
574
574
  };
575
575
  /** {@link ElementWrapper#dispose}
576
576
  * @override
@@ -775,7 +775,14 @@ VirtualizedLayoutGrid.prototype.getFirstIndexInView = function () {
775
775
 
776
776
  /** @inheritDoc */
777
777
  VirtualizedLayoutGrid.prototype.getLastIndexInView = function () {
778
- return this._firstIndex + this._getInnerRowCount() - 1;
778
+ var li = this._firstIndex + this._getInnerRowCount() - 1;
779
+ var core = this._grid._getContext();
780
+ var dv = core.getDataSource();
781
+ var actualLastIndex = dv ? dv.getRowCount() - 1 : -1;
782
+ if (li > actualLastIndex) { //Avoid incorrect index because the delay of row count synchronization after filtering
783
+ return actualLastIndex;
784
+ }
785
+ return li;
779
786
  };
780
787
 
781
788
  /** @inheritDoc */
@@ -137,7 +137,7 @@ class FilterDialog extends BasicElement {
137
137
  constructor() {
138
138
  super();
139
139
 
140
- this._updateDialogHeight = this._updateDialogHeight.bind(this);
140
+ this._onWindowResized = this._onWindowResized.bind(this);
141
141
  this._afterDialogOpened = this._afterDialogOpened.bind(this);
142
142
 
143
143
  this.lang = "en";
@@ -155,7 +155,7 @@ class FilterDialog extends BasicElement {
155
155
  "autoRepositioning": false,
156
156
  "uiBlocking": true
157
157
  });
158
- this._dialogHeightTimerId = 0;
158
+ this._winResizedTimer = 0;
159
159
  ElementObserver.addLanguageListener(this);
160
160
  }
161
161
 
@@ -436,13 +436,7 @@ class FilterDialog extends BasicElement {
436
436
  }
437
437
 
438
438
  this._cancelBtn.focus(); // Keep focus on cancel button when open dialog
439
- var positionUpdated = this._updateDialogHeight(true);
440
- if(!this._firstRendered) {
441
- this._firstRendered = true;
442
- if(!positionUpdated) {
443
- this._popup.updatePosition();
444
- }
445
- }
439
+ this._updateDialogHeight(); // position of the popup element will always be updated
446
440
 
447
441
  var popupElem = this._popup.getElement();
448
442
  if(popupElem) {// After all changes, ensure that visibility is reset back
@@ -488,9 +482,9 @@ class FilterDialog extends BasicElement {
488
482
  */
489
483
  _onPopupHidden() {
490
484
  this.isShown = false; // For backward compatability
491
- if (this._dialogHeightTimerId) {
492
- clearTimeout(this._dialogHeightTimerId);
493
- this._dialogHeightTimerId = 0;
485
+ if (this._winResizedTimer) {
486
+ clearTimeout(this._winResizedTimer);
487
+ this._winResizedTimer = 0;
494
488
  }
495
489
  }
496
490
 
@@ -498,10 +492,18 @@ class FilterDialog extends BasicElement {
498
492
  * @private
499
493
  */
500
494
  _onWindowResize() {
501
- if(!this._dialogHeightTimerId && this.isShown){
502
- this._dialogHeightTimerId = setTimeout(this._updateDialogHeight, 500);
495
+ if(!this._winResizedTimer && this.isShown){
496
+ this._winResizedTimer = setTimeout(this._onWindowResized, 400);
503
497
  }
504
498
  }
499
+ /**
500
+ * @private
501
+ */
502
+ _onWindowResized() {
503
+ this._winResizedTimer = 0;
504
+ this._updateDialogHeight();
505
+ }
506
+
505
507
 
506
508
  /**
507
509
  * @public
@@ -577,7 +579,7 @@ class FilterDialog extends BasicElement {
577
579
  e.preventDefault();
578
580
  e.stopPropagation();
579
581
  this._updateFilterModeSelectionUI();
580
- this._updateDialogHeight(true);
582
+ this._updateDialogHeight();
581
583
  }
582
584
 
583
585
  /**
@@ -846,27 +848,23 @@ class FilterDialog extends BasicElement {
846
848
  }
847
849
  }
848
850
  }
849
- /**
850
- * @private
851
- * @param {boolean=} afterOpened
851
+ /** @private
852
852
  * @returns {boolean}
853
853
  */
854
- _updateDialogHeight(afterOpened) {
855
- if(!afterOpened) {
856
- this._dialogHeightTimerId = 0;
857
- }
858
-
859
- this._popup.updatePosition(false); // update position without fallback
854
+ _updateDialogHeight() {
860
855
  this._rootContainer.classList.remove("compact");
861
856
  this._rootContainer.style.height = "";
857
+ this._popup.updatePosition(false); // update position without fallback
862
858
 
863
859
  const position = Dom.getRelativePosition(this, document.body);
864
860
  const dialogHeight = this.offsetHeight;
865
- const windowHeight = window.innerHeight;
861
+ const windowHeight = window.innerHeight - 5; // Add some buffer
866
862
  const dialogCoverage = position.y + dialogHeight;
867
863
  const heightDiff = dialogCoverage - windowHeight;
868
864
 
865
+ var heightChange = false;
869
866
  if(heightDiff > 0) {
867
+ heightChange = true;
870
868
  const isAdvancedFilter = this._isAdvancedFilterMode();
871
869
  const minHeight = isAdvancedFilter ? 262 : 216;
872
870
  let newHeight = dialogHeight - heightDiff;
@@ -879,10 +877,10 @@ class FilterDialog extends BasicElement {
879
877
  if(newHeight < compactThreshold){
880
878
  this._rootContainer.classList.add("compact");
881
879
  }
882
- this._popup.updatePosition();
883
- return true;
884
880
  }
885
- return false;
881
+
882
+ this._popup.updatePosition(); // This must be called to apply fallback or height change
883
+ return heightChange;
886
884
  }
887
885
  /**
888
886
  * @private
package/lib/grid/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import {Grid} from "./lib/efx-grid.js";
2
2
  export {Grid}
3
- window.EFX_GRID = { version: "6.0.70" };
3
+ window.EFX_GRID = { version: "6.0.71" };
@@ -677,6 +677,12 @@ ColumnStackPlugin.prototype._updateUI = function() {
677
677
  }
678
678
  this._updating = false;
679
679
  };
680
+ /** @private */
681
+ ColumnStackPlugin.prototype._forceUpdateUI = function() {
682
+ this._conflator.disable();
683
+ this._updateUI();
684
+ this._conflator.enable();
685
+ };
680
686
  /** @private
681
687
  * @param {number} colIndex
682
688
  * @param {boolean} collapsed
@@ -1365,7 +1371,7 @@ ColumnStackPlugin.prototype._onPreSectionRender = function (e) {
1365
1371
  if (e["sectionType"] !== "title") {
1366
1372
  return;
1367
1373
  }
1368
- this._updateUI(); // asyncronuos
1374
+ this._forceUpdateUI();
1369
1375
  };
1370
1376
  /** @private
1371
1377
  * @param {Object} e
@@ -564,7 +564,6 @@ FilterInputPlugin.prototype._createFilterUI = function (colOpt) {
564
564
  case "ef-combo-box":
565
565
  elem.multiple = true;
566
566
  elem.data = CoralItems.create(colOpt.entries);
567
- elem.addEventListener("opened-changed", this._onOpenedChanged, false);
568
567
 
569
568
  if (elemTrigger != false && elemTrigger != "") {
570
569
  elem.addEventListener("value-changed", this._onInputChanged, false);
@@ -1023,7 +1022,7 @@ FilterInputPlugin._rtCompareRow = function (filterOptions, rowData, rid) {
1023
1022
  };
1024
1023
  /** @private
1025
1024
  * @function
1026
- * @param {Array<string>} ary
1025
+ * @param {Array<string|number>} ary
1027
1026
  * @return {Object}
1028
1027
  */
1029
1028
 
@@ -1035,7 +1034,14 @@ FilterInputPlugin._createMapObject = function (ary) {
1035
1034
  var count = ary.length;
1036
1035
 
1037
1036
  for (var i = 0; i < count; i++) {
1038
- var str = ary[i].toLowerCase();
1037
+ var key = ary[i];
1038
+
1039
+ if (key == null || key === "") {
1040
+ continue;
1041
+ }
1042
+
1043
+ var str = FilterInputPlugin._transformToLowercaseString(key);
1044
+
1039
1045
  textMap[str] = true;
1040
1046
  }
1041
1047
  }
@@ -18,7 +18,7 @@ declare namespace InCellEditingPlugin {
18
18
  popupElement?: Element|null,
19
19
  doubleClick?: boolean|null,
20
20
  tabToMove?: boolean|null,
21
- contentSource?: boolean|null,
21
+ contentSource?: string|null,
22
22
  inlineStyling?: boolean|null,
23
23
  disablingScroll?: boolean|null,
24
24
  uiBlocking?: boolean|null,
@@ -30,7 +30,8 @@ declare namespace InCellEditingPlugin {
30
30
  beforeRowCommit?: ((...params: any[]) => any)|null,
31
31
  rowEditorClosed?: ((...params: any[]) => any)|null,
32
32
  autoSuggest?: Element|null,
33
- closingOnScroll?: boolean|null
33
+ closingOnScroll?: boolean|null,
34
+ autoHiding?: boolean|null
34
35
  };
35
36
 
36
37
  type Cache = {
@@ -17,7 +17,7 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
17
17
  * @property {Element=} popupElement=null Element to be attached under the editor
18
18
  * @property {boolean=} doubleClick=true If disabled, double click will not trigger editor
19
19
  * @property {boolean=} tabToMove=false If enabled, pressing tab key while editor is active will open editor on the next editable cell.
20
- * @property {boolean=} contentSource="textContent" By default, the text in the editor will be populated with textContent of the target cell. Use "field" to populated data from grid's data model. Use "empty" to shows empty editor.
20
+ * @property {string=} contentSource="textContent" By default, the text in the editor will be populated with textContent of the target cell. Use "field" to populated data from grid's data model. Use "empty" to shows empty editor.
21
21
  * @property {boolean=} inlineStyling=false force inline styles regardless of elf version.
22
22
  * @property {boolean=} disablingScroll=false Scrollbar will be frozen when editor opened. Deprecated in favor of uiBlocking
23
23
  * @property {boolean=} uiBlocking=false append transparent overlay to block ui interaction
@@ -29,7 +29,8 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
29
29
  * @property {Function=} beforeRowCommit=null Handler before committing from all editors in the row
30
30
  * @property {Function=} rowEditorClosed=null Handler after closing of all editors
31
31
  * @property {Element=} autoSuggest=null Element of ef-autosuggest or atlas-autosuggest for handled with input cell
32
- * @property {boolean=} closingOnScroll=true If disabled, scrolling will not automatically close editor. autoHiding, closingOnScroll
32
+ * @property {boolean=} closingOnScroll=true If disabled, the editor will not be automatically closed when scrolling grid.
33
+ * @property {boolean=} autoHiding=true If disabled, the editor will not be automatically closed when losing its focus.
33
34
  */
34
35
 
35
36
  /** @typedef {Object} InCellEditingPlugin~Cache
@@ -337,6 +338,10 @@ InCellEditingPlugin.prototype._rowClosing = false;
337
338
  * @private
338
339
  */
339
340
  InCellEditingPlugin.prototype._closingOnScroll = true;
341
+ /** @type {boolean}
342
+ * @private
343
+ */
344
+ InCellEditingPlugin.prototype._autoHiding = true;
340
345
  /** @type {number}
341
346
  * @private
342
347
  */
@@ -627,6 +632,9 @@ InCellEditingPlugin.prototype.config = function (options) {
627
632
  if (pluginOption["closingOnScroll"] == false) {
628
633
  t._closingOnScroll = false;
629
634
  }
635
+ if (pluginOption["autoHiding"] == false) {
636
+ t._autoHiding = false;
637
+ }
630
638
 
631
639
  // event callback
632
640
  t.addListener(pluginOption, "preEditorOpening");
@@ -638,6 +646,25 @@ InCellEditingPlugin.prototype.config = function (options) {
638
646
  t.addListener(pluginOption, "rowEditorClosed");
639
647
  };
640
648
 
649
+ /** @private
650
+ * @param {Object} obj
651
+ * @param {string} propName
652
+ * @param {boolean} propValue
653
+ * @param {boolean} defaultValue
654
+ * @returns {number} dirty
655
+ */
656
+ var _setBooleanOption = function _setBooleanOption(obj, propName, propValue, defaultValue) {
657
+ if (defaultValue) {
658
+ if (!propValue) {
659
+ obj[propName] = false;
660
+ return true;
661
+ }
662
+ } else if (propValue) {
663
+ obj[propName] = true;
664
+ return true;
665
+ }
666
+ return false;
667
+ };
641
668
  /** Get a current state of grid and extension config
642
669
  * @public
643
670
  * @param {Object=} out_obj
@@ -680,20 +707,28 @@ InCellEditingPlugin.prototype.getConfigObject = function (out_obj) {
680
707
  }
681
708
  }
682
709
  var extOptions = obj.inCellEditing;
710
+ var dirty = 0;
683
711
  if (!extOptions) {
684
- extOptions = obj.inCellEditing = {};
685
- }
686
- extOptions.balloonMode = this._balloonMode;
687
- extOptions.editableTitle = this._editableTitle;
688
- extOptions.editableContent = this._editableContent;
689
- extOptions.tabToMove = this._tabToMove;
690
- extOptions.autoCommitText = this._autoCommitText;
691
- extOptions.dataBinding = this._dataBinding;
692
- extOptions.contentSource = this._contentSource;
693
- extOptions.doubleClick = this._dblClick;
694
- extOptions.inlineStyling = this._inlineStyling;
695
- extOptions.disablingScroll = this._disablingScroll;
696
- extOptions.uiBlocking = this._uiBlocking;
712
+ extOptions = {};
713
+ }
714
+ dirty |= _setBooleanOption(extOptions, "balloonMode", this._balloonMode, false);
715
+ dirty |= _setBooleanOption(extOptions, "editableTitle", this._editableTitle, false);
716
+ dirty |= _setBooleanOption(extOptions, "tabToMove", this._tabToMove, false);
717
+ dirty |= _setBooleanOption(extOptions, "autoCommitText", this._autoCommitText, false);
718
+ dirty |= _setBooleanOption(extOptions, "dataBinding", this._dataBinding, true);
719
+ dirty |= _setBooleanOption(extOptions, "doubleClick", this._dblClick, true);
720
+ dirty |= _setBooleanOption(extOptions, "inlineStyling", this._inlineStyling, false);
721
+ dirty |= _setBooleanOption(extOptions, "disablingScroll", this._disablingScroll, false);
722
+ dirty |= _setBooleanOption(extOptions, "uiBlocking", this._uiBlocking, false);
723
+ dirty |= _setBooleanOption(extOptions, "closingOnScroll", this._closingOnScroll, true);
724
+ dirty |= _setBooleanOption(extOptions, "autoHiding", this._autoHiding, true);
725
+ if (this._contentSource !== "textContent") {
726
+ dirty = 1;
727
+ extOptions.contentSource = this._contentSource;
728
+ }
729
+ if (dirty) {
730
+ obj.inCellEditing = extOptions;
731
+ }
697
732
  return obj;
698
733
  };
699
734
 
@@ -1081,6 +1116,9 @@ InCellEditingPlugin.prototype._openEditor = function (e, host, arg) {
1081
1116
  arg["segmentSeparator"] = dataSource.isSegmentSeparator(rowId);
1082
1117
  arg["groupHeader"] = dataSource.getGroupByRowId(rowId);
1083
1118
  arg["rowData"] = this._getRow(dataSource, rowId);
1119
+ if (dataSource["stall"]) {
1120
+ dataSource["stall"](true);
1121
+ }
1084
1122
  }
1085
1123
 
1086
1124
  // Initialize UIs
@@ -1142,7 +1180,7 @@ InCellEditingPlugin.prototype._openEditor = function (e, host, arg) {
1142
1180
  }
1143
1181
  balloonPopup.enableUIBlocking(t._uiBlocking);
1144
1182
  balloonPopup.addEventListener("hidden", t._onPopupHide);
1145
- balloonPopup.disableAutoHiding(false);
1183
+ balloonPopup.disableAutoHiding(!t._autoHiding);
1146
1184
  balloonPopup.disableHideOnScroll(true);
1147
1185
  balloonPopup.attachTo(cell.getElement());
1148
1186
  balloonPopup.show(true, parentElement);
@@ -1675,8 +1713,17 @@ InCellEditingPlugin.prototype._commitText = function (committed, suggestionDetai
1675
1713
  t._activeInCellCache.balloonPopup.hide();
1676
1714
  }
1677
1715
  Dom.removeParent(t._customElement);
1678
- t._freezeScrolling(arg["grid"], false);
1679
- arg["grid"].focus();
1716
+ var grid = arg["grid"];
1717
+ if (grid) {
1718
+ t._freezeScrolling(grid, false);
1719
+ grid.focus();
1720
+ }
1721
+ var dataSource = arg["dataSource"];
1722
+ if (dataSource) {
1723
+ if (dataSource["stall"]) {
1724
+ dataSource["stall"](false);
1725
+ }
1726
+ }
1680
1727
  t._activePos = t._activeCell = t._prevContent = t._lastActiveGrid = t._activeInCellCache = null;
1681
1728
  };
1682
1729
 
@@ -113,8 +113,6 @@ declare class RowFilteringPlugin extends GridPlugin {
113
113
 
114
114
  public getColumnFilterStates(): any[];
115
115
 
116
- public getUniqueValues(field: string, formatter?: ((...params: any[]) => any)|null, fmtField?: string|null, rawDataAccessor?: ((...params: any[]) => any)|null, formattedDataAccessor?: ((...params: any[]) => any)|null, filterFuncs?: ((...params: any[]) => any)|null, selectedItems?: any): any;
117
-
118
116
  public openDialog(colIndex: number, runtimeDialogOptions?: RowFilteringPlugin.FilterDialogOptions|null): void;
119
117
 
120
118
  public enableEmptySegmentFiltering(enabled?: boolean|null): void;
@@ -24,6 +24,14 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
24
24
  * },
25
25
  */
26
26
 
27
+ /** @event RowFilteringPlugin#dialogCommitted
28
+ * @description Fired after a user clicks done button from the filter dialog or changes sort order.
29
+ * @property {number} colIndex
30
+ * @property {Object=} value When filter is changed, the change will be passed through this property
31
+ * @property {number=} sortOrder When sort order is changed, the change will be passed through this property
32
+ * @property {string=} fieldDataType
33
+ */
34
+
27
35
  /** @event RowFilteringPlugin#iconCreated
28
36
  * @description iconCreated event is dispatched when a new column filter icon is created.
29
37
  * @property {Element} icon Filter icon element
@@ -435,6 +443,7 @@ RowFilteringPlugin.prototype.config = function (options) {
435
443
 
436
444
  this.addListener(rowFiltering, "click");
437
445
  this.addListener(rowFiltering, "beforeDialogOpened");
446
+ this.addListener(rowFiltering, "dialogCommitted");
438
447
  this.addListener(rowFiltering, "iconCreated");
439
448
  this.addListener(rowFiltering, "filterChanged");
440
449
  this.addListener(rowFiltering, "refreshed");
@@ -1633,6 +1642,7 @@ RowFilteringPlugin.prototype._getDataTable = function (dv) {
1633
1642
  return dt;
1634
1643
  };
1635
1644
  /** @public
1645
+ * @ignore
1636
1646
  * @param {string} field A field name for getting raw value from row data
1637
1647
  * @param {Function=} formatter A formatter that takes row data, retrieves data, and modified the data for display.
1638
1648
  * @param {string=} fmtField A field name to be used instead of formatter for getting formatted value
@@ -15,9 +15,9 @@ declare class TitleWrapPlugin extends GridPlugin {
15
15
 
16
16
  public getConfigObject(gridOptions?: any): any;
17
17
 
18
- public _adjustRowHeightRefByHost(host: any, sectionRef: any, from?: number, to?: number): boolean;
18
+ public _adjustRowHeightRefByHost(host: any, sectionRef: any, from?: number|null, to?: number|null): boolean;
19
19
 
20
- public adjustRowHeight(sectionRef: any, from?: number, to?: number): boolean;
20
+ public adjustRowHeight(sectionRef: any, from?: number|null, to?: number|null): boolean;
21
21
 
22
22
  public adjustRowHeightAt(sectionRef: any, rowIndex: number): boolean;
23
23
 
@@ -155,7 +155,7 @@ TitleWrapPlugin.prototype.getConfigObject = function (gridOptions) {
155
155
 
156
156
  TitleWrapPlugin.prototype._requestRecalculation = function () {
157
157
  if (!this._timerId) {
158
- this._timerId = setTimeout(this._onRecalculation, 10);
158
+ this._timerId = setTimeout(this._onRecalculation, 50);
159
159
  }
160
160
  };
161
161
  /** @private */
@@ -18,7 +18,7 @@ declare namespace InCellEditingPlugin {
18
18
  popupElement?: Element|null,
19
19
  doubleClick?: boolean|null,
20
20
  tabToMove?: boolean|null,
21
- contentSource?: boolean|null,
21
+ contentSource?: string|null,
22
22
  inlineStyling?: boolean|null,
23
23
  disablingScroll?: boolean|null,
24
24
  uiBlocking?: boolean|null,
@@ -30,7 +30,8 @@ declare namespace InCellEditingPlugin {
30
30
  beforeRowCommit?: ((...params: any[]) => any)|null,
31
31
  rowEditorClosed?: ((...params: any[]) => any)|null,
32
32
  autoSuggest?: Element|null,
33
- closingOnScroll?: boolean|null
33
+ closingOnScroll?: boolean|null,
34
+ autoHiding?: boolean|null
34
35
  };
35
36
 
36
37
  type Cache = {
@@ -113,8 +113,6 @@ declare class RowFilteringPlugin extends GridPlugin {
113
113
 
114
114
  public getColumnFilterStates(): any[];
115
115
 
116
- public getUniqueValues(field: string, formatter?: ((...params: any[]) => any)|null, fmtField?: string|null, rawDataAccessor?: ((...params: any[]) => any)|null, formattedDataAccessor?: ((...params: any[]) => any)|null, filterFuncs?: ((...params: any[]) => any)|null, selectedItems?: any): any;
117
-
118
116
  public openDialog(colIndex: number, runtimeDialogOptions?: RowFilteringPlugin.FilterDialogOptions|null): void;
119
117
 
120
118
  public enableEmptySegmentFiltering(enabled?: boolean|null): void;
@@ -15,9 +15,9 @@ declare class TitleWrapPlugin extends GridPlugin {
15
15
 
16
16
  public getConfigObject(gridOptions?: any): any;
17
17
 
18
- public _adjustRowHeightRefByHost(host: any, sectionRef: any, from?: number, to?: number): boolean;
18
+ public _adjustRowHeightRefByHost(host: any, sectionRef: any, from?: number|null, to?: number|null): boolean;
19
19
 
20
- public adjustRowHeight(sectionRef: any, from?: number, to?: number): boolean;
20
+ public adjustRowHeight(sectionRef: any, from?: number|null, to?: number|null): boolean;
21
21
 
22
22
  public adjustRowHeightAt(sectionRef: any, rowIndex: number): boolean;
23
23
 
package/lib/versions.json CHANGED
@@ -13,25 +13,25 @@
13
13
  "tr-grid-column-grouping": "1.0.57",
14
14
  "tr-grid-column-resizing": "1.0.28",
15
15
  "tr-grid-column-selection": "1.0.31",
16
- "tr-grid-column-stack": "1.0.72",
16
+ "tr-grid-column-stack": "1.0.73",
17
17
  "tr-grid-conditional-coloring": "1.0.66",
18
18
  "tr-grid-content-wrap": "1.0.20",
19
19
  "tr-grid-contextmenu": "1.0.40",
20
- "tr-grid-filter-input": "0.9.33",
20
+ "tr-grid-filter-input": "0.9.35",
21
21
  "tr-grid-heat-map": "1.0.29",
22
- "tr-grid-in-cell-editing": "1.0.80",
22
+ "tr-grid-in-cell-editing": "1.0.81",
23
23
  "tr-grid-pagination": "1.0.24",
24
24
  "tr-grid-percent-bar": "1.0.22",
25
25
  "tr-grid-range-bar": "2.0.5",
26
- "tr-grid-row-dragging": "1.0.30",
27
- "tr-grid-row-filtering": "1.0.62",
26
+ "tr-grid-row-dragging": "1.0.31",
27
+ "tr-grid-row-filtering": "1.0.63",
28
28
  "tr-grid-row-grouping": "1.0.82",
29
29
  "tr-grid-row-selection": "1.0.25",
30
30
  "tr-grid-rowcoloring": "1.0.25",
31
31
  "tr-grid-textformatting": "1.0.46",
32
- "tr-grid-titlewrap": "1.0.19",
32
+ "tr-grid-titlewrap": "1.0.20",
33
33
  "@grid/formatters": "1.0.50",
34
34
  "@grid/column-selection-dialog": "4.0.54",
35
- "@grid/filter-dialog": "4.0.58",
35
+ "@grid/filter-dialog": "4.0.59",
36
36
  "@grid/column-format-dialog": "4.0.44"
37
37
  }
package/package.json CHANGED
@@ -66,5 +66,5 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "version": "6.0.70"
69
+ "version": "6.0.71"
70
70
  }