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