@refinitiv-ui/efx-grid 6.0.106 → 6.0.107

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 (30) hide show
  1. package/lib/core/dist/core.js +6 -4
  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/ILayoutGrid.js +1 -1
  5. package/lib/core/es6/grid/components/Scrollbar.js +4 -2
  6. package/lib/filter-dialog/lib/filter-dialog.d.ts +2 -0
  7. package/lib/filter-dialog/lib/filter-dialog.js +23 -1
  8. package/lib/filter-dialog/themes/base-checkbox.less +1 -2
  9. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  10. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  11. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  12. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  13. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  14. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  15. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  16. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
  17. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  18. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  19. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  20. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  21. package/lib/grid/index.js +1 -1
  22. package/lib/rt-grid/dist/rt-grid.js +13 -12
  23. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  24. package/lib/rt-grid/es6/FieldDefinition.js +1 -1
  25. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +128 -89
  26. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
  27. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +14 -0
  28. package/lib/types/es6/SimpleTickerFormatter.d.ts +0 -2
  29. package/lib/versions.json +3 -3
  30. package/package.json +1 -1
@@ -259,7 +259,7 @@ FieldDefinition.setSynapseConfig = function (config) {
259
259
  * @param {boolean} disabled=true if disable it, time series will not be expand
260
260
  */
261
261
  FieldDefinition.disableTimeSeriesExpansion = function(disabled) {
262
- FieldDefinition._timeSeriesExpansion = disabled != false ? false : true;
262
+ FieldDefinition._timeSeriesExpansion = disabled === false;
263
263
  };
264
264
 
265
265
  /** @public
@@ -119,17 +119,18 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
119
119
  * @property {Object} grid core grid instance
120
120
  * @property {number} rowIndex row index that editor placed.
121
121
  * @property {number} rowId row id, It's better to use row id as a reference to collect data.
122
- * @property {object} fieldValue object that contain text in each field
122
+ * @property {Object} fieldValues Object that contains text in each field
123
+ * @property {Object} fieldValue Alias to fieldValues
123
124
  * @property {boolean=} cancel Set to true to cancel the commit operation.
124
125
  * @example
125
126
  * let cep = new InCellEditingPlugin();
126
127
  * cep.listen("beforeRowCommit", function(e) {
127
- * let fieldValue = e.fieldValue;
128
- * for(let field in fieldValue) {
129
- * if(!fieldValue.hasOwnProperty(field)) continue;
130
- * let value = fieldValue[field];
128
+ * let fieldValues = e.fieldValues;
129
+ * for(let field in fieldValues) {
130
+ * if(!fieldValues.hasOwnProperty(field)) continue;
131
+ * let value = fieldValues[field];
131
132
  * if(checkValid(value)) { // check value is valid
132
- * fieldValue[field] = value + "foo bar"; // modify text
133
+ * fieldValues[field] = value + "foo bar"; // modify text
133
134
  * } else {
134
135
  * e.cancel = true; // if not valid maybe cancel commit
135
136
  * break;
@@ -138,13 +139,30 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
138
139
  * });
139
140
  */
140
141
 
142
+ /** @event InCellEditingPlugin#rowEditorOpened
143
+ * @description Fired after the opening of text editor in row editing mode
144
+ * @type {Object}
145
+ * @property {number} rowIndex
146
+ * @property {string} rowId
147
+ * @property {Object} grid Core grid instance
148
+ * @property {Array.<string>} fields
149
+ * @property {Array} cells Array of Cell instances
150
+ * @property {Array.<Element>} inputs Array of input elements
151
+ * @property {Array} initialValues Array of data retrieved from Grid corresponding to the cells/inputs
152
+ * @property {Object} fieldValues Object that contains text in each field
153
+ */
141
154
  /** @event InCellEditingPlugin#rowEditorClosed
142
155
  * @description Fired after the text editor has been closed and all operations are done. This is useful to clean up left over resource and get result text entered.
143
156
  * @type {Object}
144
- * @property {number} rowIndex index of row
157
+ * @property {number} rowIndex
158
+ * @property {string} rowId
159
+ * @property {Object} grid Core grid instance
160
+ * @property {Array.<string>} fields
161
+ * @property {Array} cells Array of Cell instances
162
+ * @property {Array.<Element>} inputs Array of input elements
163
+ * @property {Object} fieldValues Object that contains text in each field
164
+ * @property {Object} fieldValue Alias to fieldValues
145
165
  * @property {boolean} committed Indicates whether the commit operation has been done or not.
146
- * @property {Object} grid grid instance
147
- * @property {Object} fieldValue object that contain text in each field
148
166
  */
149
167
 
150
168
  /** @event InCellEditingPlugin#keyUp
@@ -595,9 +613,19 @@ InCellEditingPlugin.prototype.initialize = function (host, options) {
595
613
 
596
614
  this._hosts.push(host);
597
615
 
616
+ let elemMap = InCellEditingPlugin._uiElementTypesMap;
598
617
  if(ElfUtil.getElfVersion() < 4) {
599
618
  // ef-input available in elf version < 4
600
- InCellEditingPlugin._uiElementTypesMap["number"] = "ef-input";
619
+ elemMap["number"] = "ef-input";
620
+ }
621
+ if(ElfUtil.getElfVersion() >= 6) {
622
+ elemMap["number"] = "ef-number-field";
623
+ elemMap["select"] = "ef-select";
624
+ elemMap["dropdown"] = "ef-select";
625
+ elemMap["date"] = "ef-datetime-picker";
626
+ elemMap["checkbox"] = "ef-checkbox";
627
+ elemMap["boolean"] = "ef-checkbox";
628
+ elemMap["combobox"] = "ef-combo-box";
601
629
  }
602
630
 
603
631
  if(ElfUtil.isHaloTheme()) {
@@ -732,6 +760,7 @@ InCellEditingPlugin.prototype.config = function(options) {
732
760
  t.addListener(pluginOption, "beforeCommit");
733
761
  t.addListener(pluginOption, "editorClosed");
734
762
  t.addListener(pluginOption, "keyUp");
763
+ t.addListener(pluginOption, "rowEditorOpened");
735
764
  t.addListener(pluginOption, "beforeRowCommit");
736
765
  t.addListener(pluginOption, "rowEditorClosed");
737
766
  };
@@ -1536,14 +1565,16 @@ InCellEditingPlugin.prototype._openEditor = function (e, host, arg) {
1536
1565
  * @public
1537
1566
  * @param {number} rowIndex
1538
1567
  * @param {Object=} grid core grid object
1568
+ * @fires InCellEditingPlugin#rowEditorOpened
1539
1569
  */
1540
1570
  InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1541
1571
  let t = this;
1542
1572
  grid = grid || t._hosts[0];
1543
- // if open same row we will do nothing
1544
- if(t._getRowIndex(t._activeRowId) === rowIndex || !grid || t._readonly) { return; }
1545
1573
 
1546
- // close all open editor
1574
+ if(t._getRowIndex(t._activeRowId) === rowIndex || !grid || t._readonly) {
1575
+ return;
1576
+ }
1577
+
1547
1578
  t.closeRowEditor(false, grid);
1548
1579
  t._commitText(false);
1549
1580
 
@@ -1551,7 +1582,7 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1551
1582
  let sectionType = "content";
1552
1583
  let section = grid.getSection(sectionType);
1553
1584
  let dataSource = grid.getDataSource();
1554
- let lastIndex = (section.getColumnCount() || 0) - 1;
1585
+ let colCount = section.getColumnCount();
1555
1586
  let isBottom = (rowIndex + 1) >= section.getRowCount();
1556
1587
  let sectionBGColor = (this._elfVersion || t._inlineStyling) ? section.getComputedStyle().backgroundColor : null;
1557
1588
  let rowH = section.getRowHeight(rowIndex);
@@ -1565,25 +1596,36 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1565
1596
  parentElement = grid.getElement().parentElement;
1566
1597
  }
1567
1598
 
1568
- // loop for all column
1569
- for(let columnIndex = 0; columnIndex <= lastIndex; columnIndex++) {
1570
- // ignore column that can't edit
1571
- if(!t.isColumnEditable(columnIndex)) { continue; }
1572
- let cell = section.getCell(columnIndex, rowIndex);
1599
+ let arg = {
1600
+ "rowIndex": rowIndex,
1601
+ "rowId": "",
1602
+ "grid": grid,
1603
+ "fields": [],
1604
+ "cells": [],
1605
+ "inputs": [],
1606
+ "initialValues": [],
1607
+ "fieldValues": {}
1608
+ };
1609
+ for(let colIndex = 0; colIndex < colCount; colIndex++) {
1610
+ if(!t.isColumnEditable(colIndex)) {
1611
+ continue;
1612
+ }
1613
+ let cell = section.getCell(colIndex, rowIndex);
1573
1614
  if(!cell || cell.hasClass("no-editing")) {
1574
1615
  continue;
1575
- } // all verify is done
1616
+ }
1576
1617
 
1577
- // create editor, popup, inputElement
1578
- let inCellCache = t._createContentEditor(columnIndex, grid);
1618
+ arg["cells"][colIndex] = cell;
1619
+ let field = t._getField(colIndex);
1620
+ arg["fields"][colIndex] = field;
1621
+
1622
+ let inCellCache = t._createContentEditor(colIndex, grid);
1623
+ inCellCache.field = field; // The field may be changed at runtime
1579
1624
 
1580
- let content = cell.getContent();
1581
- let field = t._getField(columnIndex);
1582
- let sourceContent = t._getSourceContent(dataSource, rowIndex, field, content, sectionType);
1583
1625
  let inputElement = inCellCache["inputElement"];
1584
- let editor = inCellCache["editor"];
1585
1626
  let balloonPopup = inCellCache["balloonPopup"];
1586
1627
 
1628
+ arg["inputs"][colIndex] = inputElement;
1587
1629
  if(!firstInput) {
1588
1630
  firstInput = inputElement;
1589
1631
  firstPopup = balloonPopup;
@@ -1592,6 +1634,10 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1592
1634
  balloonPopup.enableUIBlocking(false);
1593
1635
  }
1594
1636
 
1637
+ let content = cell.getContent();
1638
+ let sourceContent = t._getSourceContent(dataSource, rowIndex, field, content, sectionType);
1639
+ arg["initialValues"][colIndex] = sourceContent;
1640
+ arg["fieldValues"][field] = sourceContent;
1595
1641
  t._setText(sourceContent, inputElement); // WARNING: value-changed event from ELF v3 component may be triggered due to their design flaw
1596
1642
 
1597
1643
  if(isBottom) {
@@ -1600,15 +1646,15 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1600
1646
  inputElement.classList.remove("bottom");
1601
1647
  }
1602
1648
 
1649
+ let editor = inCellCache["editor"];
1603
1650
  let editorStyle = editor.style;
1604
1651
  if(sectionBGColor) {
1605
1652
  editorStyle.backgroundColor = sectionBGColor;
1606
1653
  }
1607
1654
  editorStyle.height = rowH + "px";
1608
1655
 
1609
- // this is different from single edit mode
1610
- // row edit mode not support balloon mode
1611
- let width = section.getCellWidth(columnIndex, rowIndex);
1656
+ // row editing mode does not support balloon mode
1657
+ let width = section.getCellWidth(colIndex, rowIndex);
1612
1658
  editorStyle.width = width + "px";
1613
1659
  editor.classList.remove("balloon");
1614
1660
 
@@ -1618,12 +1664,10 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1618
1664
  balloonPopup.show(true, parentElement);
1619
1665
 
1620
1666
  this._updateEditorPopup(inCellCache, cell, grid);
1621
-
1622
- // this._updateEditorLayout(inputElement); // Adjust sizes after append to the DOM
1623
1667
  }
1624
1668
 
1625
- // if firstInput not undefined that mean at lease one popup is open
1626
1669
  if(firstInput) {
1670
+ // At least one cell is valid for editing
1627
1671
  firstPopup.addEventListener("hidden", t._onPopupHide);
1628
1672
  t._lastActiveGrid = grid;
1629
1673
  t._editing = true; // Editing state cannot be false until a text has been committed or cancelled
@@ -1633,6 +1677,9 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1633
1677
  if(t._disablingScroll) {
1634
1678
  t._freezeScrolling(grid, true);
1635
1679
  }
1680
+
1681
+ arg["rowId"] = t._activeRowId;
1682
+ t._dispatch("rowEditorOpened", arg);
1636
1683
  }
1637
1684
  };
1638
1685
 
@@ -1645,7 +1692,6 @@ InCellEditingPlugin.prototype.openRowEditor = function (rowIndex, grid) {
1645
1692
  InCellEditingPlugin.prototype.closeRowEditor = function (isCommit) {
1646
1693
  let t = this;
1647
1694
  let grid = t._lastActiveGrid;
1648
- // if no row active then do nothing
1649
1695
  if(!t._activeRowId || !grid) { return; }
1650
1696
 
1651
1697
  let rowId = t._activeRowId;
@@ -1657,81 +1703,74 @@ InCellEditingPlugin.prototype.closeRowEditor = function (isCommit) {
1657
1703
  }
1658
1704
 
1659
1705
  let section = grid.getSection("content");
1660
- let columnLength = grid.getColumnCount();
1661
- let fieldValue = {};
1706
+ let colCount = grid.getColumnCount();
1707
+ let fieldValues = {};
1662
1708
  let inCellCaches = [];
1663
1709
  let inCellCache;
1710
+ let arg = {
1711
+ "rowIndex": rowIndex,
1712
+ "rowId": t._activeRowId,
1713
+ "grid": grid,
1714
+ "fields": [],
1715
+ "cells": [],
1716
+ "inputs": [],
1717
+ // "initialValues": [],
1718
+ "fieldValues": fieldValues,
1719
+ "fieldValue": fieldValues, // Add alias for backward compatability
1720
+ "cancel": false
1721
+ };
1664
1722
 
1665
- // in this section we just prepare data
1666
- for(let columnIndex = 0; columnIndex < columnLength; columnIndex++) {
1667
- let columnData = t._getColumnData(columnIndex, grid);
1723
+ for(let colIndex = 0; colIndex < colCount; colIndex++) {
1724
+ let columnData = t._getColumnData(colIndex, grid);
1668
1725
  inCellCache = columnData && columnData["inCellCache"];
1669
1726
 
1670
- // if not have inCellCache then this column not have editor
1671
- if(!inCellCache) { continue; }
1727
+ if(inCellCache) {
1728
+ inCellCache.columnIndex = colIndex;
1729
+ inCellCaches.push(inCellCache);
1672
1730
 
1673
- inCellCache.columnIndex = columnIndex;
1674
- inCellCaches.push(inCellCache);
1731
+ arg["fields"][colIndex] = inCellCache.field;
1732
+ arg["cells"][colIndex] = section.getCell(colIndex, rowIndex);
1733
+ arg["inputs"][colIndex] = inCellCache["inputElement"];
1675
1734
 
1676
- if(isCommit) {
1677
- let field = t._getField(columnIndex);
1678
- inCellCache.field = field;
1679
- fieldValue[field] = this._getValue(inCellCache["inputElement"]);
1735
+ if(isCommit) {
1736
+ fieldValues[inCellCache.field] = this._getValue(inCellCache["inputElement"]);
1737
+ }
1680
1738
  }
1681
1739
  }
1682
1740
 
1683
- let length = inCellCaches.length;
1684
- let i, e;
1685
-
1686
- // dispatch event beforeRowCommit
1687
1741
  if(isCommit) {
1688
- if(t.hasListener("beforeRowCommit")) {
1689
- e = {
1690
- grid: grid,
1691
- rowIndex: rowIndex,
1692
- fieldValue: fieldValue,
1693
- cancel: false,
1694
- rowId: t._activeRowId
1695
- };
1696
- t._dispatch("beforeRowCommit", e);
1697
- // e.cancel = true mean user want to cancel closeRowEditor operation
1698
- isCommit = !e.cancel;
1699
- }
1742
+ t._dispatch("beforeRowCommit", arg);
1743
+ // arg.cancel = true mean user want to cancel closeRowEditor operation
1744
+ isCommit = !arg.cancel;
1745
+ }
1700
1746
 
1701
- if(isCommit) {
1702
- let dataSource = grid.getDataSource();
1703
- for(i = 0; i < length; i++) {
1704
- inCellCache = inCellCaches[i];
1705
- let value = fieldValue[inCellCache.field];
1706
- // set data to datasource
1707
- if(dataSource) {
1708
- // only use value from fieldValue
1709
- // because fieldValue maybe mutate from beforeRowCommit event
1710
- t._setData(dataSource, rowIndex, inCellCache.field, value);
1711
- }
1747
+ let i;
1748
+ let editorCount = inCellCaches.length;
1749
+ if(isCommit) {
1750
+ let dataSource = grid.getDataSource();
1751
+ for(i = 0; i < editorCount; i++) {
1752
+ inCellCache = inCellCaches[i];
1753
+ let value = fieldValues[inCellCache.field];
1754
+ // set data to datasource
1755
+ if(dataSource) {
1756
+ // Only use value from fieldValues because fieldValues maybe mutate from beforeRowCommit event
1757
+ t._setData(dataSource, rowIndex, inCellCache.field, value);
1758
+ }
1712
1759
 
1713
- // set value to ui if content is a build in text
1714
- let cell = section.getCell(inCellCache.columnIndex, rowIndex);
1715
- let content = cell.getContent();
1716
- if(content && content.classList.contains("text")) {
1717
- cell.setContent(value);
1718
- }
1760
+ // set value to ui if content is a build in text
1761
+ let cell = arg["cells"][inCellCache.columnIndex];
1762
+ let content = cell.getContent();
1763
+ if(content && content.classList.contains("text")) {
1764
+ cell.setContent(value);
1719
1765
  }
1720
1766
  }
1721
1767
  }
1722
1768
 
1723
- if(t.hasListener("rowEditorClosed")) {
1724
- e = {
1725
- grid: grid,
1726
- rowIndex: rowIndex,
1727
- fieldValue: fieldValue,
1728
- committed: isCommit
1729
- };
1730
- t._dispatch("rowEditorClosed", e);
1731
- }
1769
+ arg["committed"] = isCommit;
1770
+ t._dispatch("rowEditorClosed", arg);
1732
1771
 
1733
1772
  // hide editor by remove popup from dom
1734
- for(i = 0; i < length; i++) {
1773
+ for(i = 0; i < editorCount; i++) {
1735
1774
  let popup = inCellCaches[i].balloonPopup;
1736
1775
  popup.removeEventListener("hidden", t._onPopupHide); // remove event every popup to make sure nothing left
1737
1776
  popup.hide();
@@ -26,6 +26,7 @@ declare namespace RowFilteringPlugin {
26
26
  type FilterDialogOptions = {
27
27
  sortUI?: boolean|null,
28
28
  filterUI?: boolean|null,
29
+ advancedFilter?: boolean|null,
29
30
  fieldDataType?: string|null,
30
31
  lang?: string|null,
31
32
  rawDataAccessor?: ((...params: any[]) => any)|null,
@@ -33,6 +34,7 @@ declare namespace RowFilteringPlugin {
33
34
  sortLogic?: ((...params: any[]) => any)|null,
34
35
  itemList?: any[]|null,
35
36
  additionalItems?: any[]|null,
37
+ compactMode?: boolean|null,
36
38
  blankValues?: (boolean|string)|null
37
39
  };
38
40
 
@@ -80,6 +80,7 @@ The expression can take various forms:<br>
80
80
  * @description Options that specify UIs of filter dialog
81
81
  * @property {boolean=} sortUI=true show/hide sort UI
82
82
  * @property {boolean=} filterUI=true show/hide filter UI
83
+ * @property {boolean=} advancedFilter=true show advaced filter tab
83
84
  * @property {string=} fieldDataType data type of column
84
85
  * @property {string=} lang dialog language
85
86
  * @property {Function=} rawDataAccessor In case you have custom data type for the specified field, data getter is needed to retrieve raw value for filtering
@@ -87,6 +88,7 @@ The expression can take various forms:<br>
87
88
  * @property {Function=} sortLogic This function for sorting filter item list in the dialog. The comparison will perform on raw values, and not formatted values
88
89
  * @property {Array=} itemList Item list to be shown in the dialog. If this is not specified, the list will be collected from existing data on the grid
89
90
  * @property {Array=} additionalItems Additional items to be put on the itemList
91
+ * @property {boolean=} compactMode=false force compact mode in dialog
90
92
  * @property {(boolean|string)=} blankValues Display a "(Blanks)" item in the filter dialog to represent an empty value. If a string is passed, it will be used as the label for the blank item
91
93
  */
92
94
 
@@ -1813,6 +1815,8 @@ RowFilteringPlugin.prototype.openDialog = function(colIndex, runtimeDialogOption
1813
1815
  let dialogConfig = { // default config
1814
1816
  sortUI: true,
1815
1817
  filterUI: true,
1818
+ advancedFilter: true,
1819
+ compactMode: false,
1816
1820
  fieldDataType: "",
1817
1821
  lang: "",
1818
1822
  rawDataAccessor: null,
@@ -1974,6 +1978,16 @@ RowFilteringPlugin._overrideConfig = function(config, userConfig) {
1974
1978
  config.filterUI = filterUI;
1975
1979
  }
1976
1980
 
1981
+ let advancedFilter = userConfig["advancedFilter"];
1982
+ if (advancedFilter != null) {
1983
+ config.advancedFilter = advancedFilter;
1984
+ }
1985
+
1986
+ let compactMode = userConfig["compactMode"];
1987
+ if (compactMode != null) {
1988
+ config.compactMode = compactMode;
1989
+ }
1990
+
1977
1991
  let fieldDataType = userConfig["fieldDataType"];
1978
1992
  if(fieldDataType != null) {
1979
1993
  config.fieldDataType = fieldDataType;
@@ -19,7 +19,5 @@ declare class SimpleTickerFormatter {
19
19
 
20
20
  }
21
21
 
22
- declare function onContextCreated(): void;
23
-
24
22
  export default SimpleTickerFormatter;
25
23
  export { SimpleTickerFormatter };
package/lib/versions.json CHANGED
@@ -19,12 +19,12 @@
19
19
  "tr-grid-contextmenu": "1.0.41",
20
20
  "tr-grid-filter-input": "0.9.39",
21
21
  "tr-grid-heat-map": "1.0.29",
22
- "tr-grid-in-cell-editing": "1.0.86",
22
+ "tr-grid-in-cell-editing": "1.0.87",
23
23
  "tr-grid-pagination": "1.0.24",
24
24
  "tr-grid-percent-bar": "1.0.24",
25
25
  "tr-grid-range-bar": "2.0.8",
26
26
  "tr-grid-row-dragging": "1.0.35",
27
- "tr-grid-row-filtering": "1.0.76",
27
+ "tr-grid-row-filtering": "1.0.77",
28
28
  "tr-grid-row-grouping": "1.0.88",
29
29
  "tr-grid-row-selection": "1.0.30",
30
30
  "tr-grid-rowcoloring": "1.0.25",
@@ -32,6 +32,6 @@
32
32
  "tr-grid-titlewrap": "1.0.22",
33
33
  "@grid/formatters": "1.0.53",
34
34
  "@grid/column-selection-dialog": "4.0.57",
35
- "@grid/filter-dialog": "4.0.64",
35
+ "@grid/filter-dialog": "4.0.65",
36
36
  "@grid/column-format-dialog": "4.0.45"
37
37
  }
package/package.json CHANGED
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "access": "public"
69
69
  },
70
- "version": "6.0.106"
70
+ "version": "6.0.107"
71
71
  }