@refinitiv-ui/efx-grid 6.0.106 → 6.0.107

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