@bigbinary/neeto-filters-frontend 2.12.7 → 2.12.9

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.js CHANGED
@@ -7008,12 +7008,9 @@ var Datetime = function Datetime(_ref) {
7008
7008
  filter = _ref.filter,
7009
7009
  handleApplyFilter = _ref.handleApplyFilter,
7010
7010
  autoFocus = _ref.autoFocus;
7011
- var _useState = React.useState(initializeDateRule(filter)),
7012
- _useState2 = _slicedToArray(_useState, 2),
7013
- selectedRule = _useState2[0],
7014
- setSelectedRule = _useState2[1];
7015
7011
  var _useTranslation = useTranslation(),
7016
7012
  t = _useTranslation.t;
7013
+ var selectedRule = filter ? initializeDateRule(filter) : {};
7017
7014
  var key = column.key,
7018
7015
  _column$defaultType = column.defaultType,
7019
7016
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
@@ -7025,10 +7022,8 @@ var Datetime = function Datetime(_ref) {
7025
7022
  handleApplyFilter({
7026
7023
  _delete: true
7027
7024
  });
7028
- setSelectedRule({});
7029
7025
  return;
7030
7026
  }
7031
- setSelectedRule(option);
7032
7027
  var updatedFilter = buildUpdatedFilter({
7033
7028
  column: column,
7034
7029
  defaultType: defaultType,
@@ -7041,7 +7036,6 @@ var Datetime = function Datetime(_ref) {
7041
7036
  handleApplyFilter({
7042
7037
  _delete: true
7043
7038
  });
7044
- setSelectedRule({});
7045
7039
  return;
7046
7040
  }
7047
7041
  var updatedFilter = buildUpdatedFilter({
@@ -7300,7 +7294,8 @@ var Text = function Text(_ref) {
7300
7294
  filter = _ref.filter,
7301
7295
  filters = _ref.filters,
7302
7296
  handleApplyFilter = _ref.handleApplyFilter,
7303
- autoFocus = _ref.autoFocus;
7297
+ autoFocus = _ref.autoFocus,
7298
+ onClose = _ref.onClose;
7304
7299
  var key = column.key,
7305
7300
  _column$defaultType = column.defaultType,
7306
7301
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
@@ -7327,14 +7322,35 @@ var Text = function Text(_ref) {
7327
7322
  var debouncedInputValue = reactUtils.useDebounce(inputValue);
7328
7323
  var _useTranslation = useTranslation(),
7329
7324
  t = _useTranslation.t;
7325
+ var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
7326
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
7327
+ var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
7328
+ if (ramda.equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && ramda.equals(selectedRule, rule)) return;
7329
+ var updatedFilter = buildUpdatedFilter({
7330
+ column: column,
7331
+ defaultType: defaultType,
7332
+ option: {},
7333
+ rule: rule.value,
7334
+ value: value.trim()
7335
+ });
7336
+ handleApplyFilter(updatedFilter);
7337
+ };
7338
+ var handleKeydown = function handleKeydown(e) {
7339
+ if (e.key === "Enter") {
7340
+ handleUpdateAndApplyFilter(inputValue);
7341
+ onClose();
7342
+ }
7343
+ };
7344
+ var handleRuleChange = function handleRuleChange(ruleOption) {
7345
+ setSelectedRule(ruleOption);
7346
+ if (!debouncedInputValue) return;
7347
+ handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);
7348
+ };
7330
7349
 
7331
7350
  // Reset states when "Clear filters" button is clicked.
7332
7351
  React.useEffect(function () {
7333
- if (ramda.isEmpty(filters)) {
7334
- setInputValue("");
7335
- setSelectedRule(ruleOptions[0]);
7336
- }
7337
- }, [filters]);
7352
+ (ramda.isEmpty(filters) || ramda.isNil(filter)) && setInputValue("");
7353
+ }, [filters, filter]);
7338
7354
  React.useEffect(function () {
7339
7355
  if (!debouncedInputValue) {
7340
7356
  !isUndefinedOrEmpty(filter) && handleApplyFilter({
@@ -7342,27 +7358,8 @@ var Text = function Text(_ref) {
7342
7358
  });
7343
7359
  return;
7344
7360
  }
7345
- var updatedFilter = buildUpdatedFilter({
7346
- column: column,
7347
- defaultType: defaultType,
7348
- option: {},
7349
- rule: selectedRule.value,
7350
- value: debouncedInputValue.trim()
7351
- });
7352
- handleApplyFilter(updatedFilter);
7361
+ handleUpdateAndApplyFilter();
7353
7362
  }, [debouncedInputValue]);
7354
- var handleRuleChange = function handleRuleChange(ruleOption) {
7355
- setSelectedRule(ruleOption);
7356
- if (!debouncedInputValue) return;
7357
- var updatedFilter = buildUpdatedFilter({
7358
- column: column,
7359
- defaultType: defaultType,
7360
- option: {},
7361
- rule: ruleOption.value,
7362
- value: debouncedInputValue.trim()
7363
- });
7364
- handleApplyFilter(updatedFilter);
7365
- };
7366
7363
  return /*#__PURE__*/React__default["default"].createElement("div", {
7367
7364
  className: "neeto-filters-pane-filter__item-wrapper"
7368
7365
  }, showRuleSelector && /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
@@ -7384,7 +7381,8 @@ var Text = function Text(_ref) {
7384
7381
  }),
7385
7382
  onChange: function onChange(event) {
7386
7383
  return setInputValue(event.target.value);
7387
- }
7384
+ },
7385
+ onKeyDown: handleKeydown
7388
7386
  }, otherProps)));
7389
7387
  };
7390
7388
 
@@ -7457,7 +7455,8 @@ var Item = function Item(_ref) {
7457
7455
  var column = _ref.column,
7458
7456
  filters = _ref.filters,
7459
7457
  onChange = _ref.onChange,
7460
- autoFocus = _ref.autoFocus;
7458
+ autoFocus = _ref.autoFocus,
7459
+ onClose = _ref.onClose;
7461
7460
  var key = column.key,
7462
7461
  _column$defaultType = column.defaultType,
7463
7462
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType;
@@ -7479,7 +7478,8 @@ var Item = function Item(_ref) {
7479
7478
  column: column,
7480
7479
  filter: filter,
7481
7480
  filters: filters,
7482
- handleApplyFilter: handleApplyFilter
7481
+ handleApplyFilter: handleApplyFilter,
7482
+ onClose: onClose
7483
7483
  });
7484
7484
  }
7485
7485
  if (isDate(defaultType)) {
@@ -7641,7 +7641,8 @@ var Pane = function Pane(_ref) {
7641
7641
  column: column,
7642
7642
  filters: filters,
7643
7643
  key: column.key,
7644
- onChange: handleChange
7644
+ onChange: handleChange,
7645
+ onClose: onClose
7645
7646
  });
7646
7647
  }), pure.isPresent(groupedColumns) && /*#__PURE__*/React__default["default"].createElement(neetoui.Accordion, {
7647
7648
  defaultActiveKey: groupedColumns.findIndex(function (_ref4) {