ywana-core8 0.0.943 → 0.0.944

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