ywana-core8 0.0.943 → 0.0.945

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.
package/dist/index.umd.js CHANGED
@@ -1840,8 +1840,25 @@
1840
1840
  icon: "search_off"
1841
1841
  }), /*#__PURE__*/React__default["default"].createElement(Text, null, emptyMessage)))))));
1842
1842
  };
1843
+
1844
+ /**
1845
+ * DataTableFiltersRow
1846
+ */
1843
1847
  var DataTableFiltersRow = function DataTableFiltersRow(_ref4) {
1844
1848
  var columns = _ref4.columns;
1849
+ var _useState3 = React.useState({}),
1850
+ form = _useState3[0],
1851
+ setForm = _useState3[1];
1852
+ function changeFilter(id, value, onFilter) {
1853
+ var _extends2;
1854
+ setForm(_extends({}, form, (_extends2 = {}, _extends2[id] = value, _extends2)));
1855
+ if (onFilter) onFilter(value);
1856
+ }
1857
+ function clear() {
1858
+ setForm({});
1859
+ }
1860
+ var dirty = Object.keys(form).length > 0; // dirty if there are filters set
1861
+
1845
1862
  return /*#__PURE__*/React__default["default"].createElement("tr", {
1846
1863
  className: "filters-row"
1847
1864
  }, columns.map(function (_ref5) {
@@ -1851,18 +1868,30 @@
1851
1868
  options = _ref5.options;
1852
1869
  var field = options ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
1853
1870
  id: id,
1871
+ value: form[id],
1854
1872
  options: options,
1855
- onChange: onFilter,
1873
+ onChange: function onChange(id, value) {
1874
+ return changeFilter(id, value, onFilter);
1875
+ },
1856
1876
  outlined: true
1857
1877
  }) : /*#__PURE__*/React__default["default"].createElement(TextField, {
1858
1878
  id: id,
1859
- onChange: onFilter,
1879
+ value: form[id],
1880
+ onChange: function onChange(id, value) {
1881
+ return changeFilter(id, value, onFilter);
1882
+ },
1860
1883
  outlined: true
1861
1884
  });
1862
1885
  return /*#__PURE__*/React__default["default"].createElement("td", {
1863
1886
  className: "filter-cell"
1864
1887
  }, filterable ? field : null);
1865
- }));
1888
+ }), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
1889
+ icon: "close",
1890
+ size: "small",
1891
+ clickable: true,
1892
+ action: clear,
1893
+ disabled: !dirty
1894
+ })));
1866
1895
  };
1867
1896
 
1868
1897
  /**
@@ -1880,9 +1909,9 @@
1880
1909
  var _row$selected = row.selected,
1881
1910
  selected = _row$selected === void 0 ? false : _row$selected,
1882
1911
  className = row.className;
1883
- var _useState3 = React.useState(expanded),
1884
- isInfoOpen = _useState3[0],
1885
- toggleInfo = _useState3[1];
1912
+ var _useState4 = React.useState(expanded),
1913
+ isInfoOpen = _useState4[0],
1914
+ toggleInfo = _useState4[1];
1886
1915
  var infoIcon = isInfoOpen ? 'expand_less' : 'expand_more';
1887
1916
  var style = isInfoOpen ? "expanded" : "";
1888
1917
  if (selected) style += " selected";