@bigbinary/neeto-filters-frontend 4.3.33 → 4.3.34

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.
Files changed (81) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Bar.js +11 -9
  3. package/dist/Bar.js.map +1 -1
  4. package/dist/Filters.js +8 -4
  5. package/dist/Filters.js.map +1 -1
  6. package/dist/Segments.js +7 -5
  7. package/dist/Segments.js.map +1 -1
  8. package/dist/cjs/Bar.js +11 -9
  9. package/dist/cjs/Bar.js.map +1 -1
  10. package/dist/cjs/Filters.js +6 -2
  11. package/dist/cjs/Filters.js.map +1 -1
  12. package/dist/cjs/Segments.js +4 -2
  13. package/dist/cjs/Segments.js.map +1 -1
  14. package/dist/cjs/index.js +5 -3
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/v2/Bar.js +21 -33
  17. package/dist/cjs/v2/Bar.js.map +1 -1
  18. package/dist/cjs/v2/Filters.js +10 -956
  19. package/dist/cjs/v2/Filters.js.map +1 -1
  20. package/dist/cjs/v2/Segments.js +10 -22
  21. package/dist/cjs/v2/Segments.js.map +1 -1
  22. package/dist/cjs/v2/index.js +11 -23
  23. package/dist/cjs/v2/index.js.map +1 -1
  24. package/dist/{constants-8DtAPJaA.js → constants-BaYBNRZa.js} +2 -2
  25. package/dist/{constants-8DtAPJaA.js.map → constants-BaYBNRZa.js.map} +1 -1
  26. package/dist/hooks.js +2 -2
  27. package/dist/{index-00KCfktU.js → index-BCnobjnZ.js} +4 -17
  28. package/dist/index-BCnobjnZ.js.map +1 -0
  29. package/dist/index-BD5y7_BW.js +969 -0
  30. package/dist/index-BD5y7_BW.js.map +1 -0
  31. package/dist/index-BxEtpFbP.js +301 -0
  32. package/dist/index-BxEtpFbP.js.map +1 -0
  33. package/dist/{index-BiqUQPwR.js → index-Bzw5oKqg.js} +39 -158
  34. package/dist/index-Bzw5oKqg.js.map +1 -0
  35. package/dist/index-C4AC0OfA.js +967 -0
  36. package/dist/index-C4AC0OfA.js.map +1 -0
  37. package/dist/{index-4MKjSNsp.js → index-Cdvbpy-b.js} +7 -125
  38. package/dist/index-Cdvbpy-b.js.map +1 -0
  39. package/dist/index-CpgjbwJP.js +299 -0
  40. package/dist/index-CpgjbwJP.js.map +1 -0
  41. package/dist/{index-D5wjkRUM.js → index-aOxl-IeV.js} +4 -36
  42. package/dist/index-aOxl-IeV.js.map +1 -0
  43. package/dist/index.js +8 -6
  44. package/dist/index.js.map +1 -1
  45. package/dist/inject-css-B6qYtOJe.js +6 -0
  46. package/dist/inject-css-B6qYtOJe.js.map +1 -0
  47. package/dist/inject-css-C2dztUxs.js +4 -0
  48. package/dist/inject-css-C2dztUxs.js.map +1 -0
  49. package/dist/{useSegmentsApi-0Le3BZOo.js → useSegmentsApi-C6mffm-a.js} +2 -2
  50. package/dist/{useSegmentsApi-0Le3BZOo.js.map → useSegmentsApi-C6mffm-a.js.map} +1 -1
  51. package/dist/utils-B3464cET.js +126 -0
  52. package/dist/utils-B3464cET.js.map +1 -0
  53. package/dist/{utils-Dqmvcb8M.js → utils-BUFBOQlR.js} +3 -3
  54. package/dist/{utils-Dqmvcb8M.js.map → utils-BUFBOQlR.js.map} +1 -1
  55. package/dist/utils-Cj2MY2tu.js +38 -0
  56. package/dist/utils-Cj2MY2tu.js.map +1 -0
  57. package/dist/utils-CwKBnC3c.js +17 -0
  58. package/dist/utils-CwKBnC3c.js.map +1 -0
  59. package/dist/utils-Dh5ByFPA.js +138 -0
  60. package/dist/utils-Dh5ByFPA.js.map +1 -0
  61. package/dist/{utils-l0QK_DBo.js → utils-Q-OTPVjq.js} +3 -3
  62. package/dist/{utils-l0QK_DBo.js.map → utils-Q-OTPVjq.js.map} +1 -1
  63. package/dist/utils.js +2 -2
  64. package/dist/v2/Bar.js +13 -25
  65. package/dist/v2/Bar.js.map +1 -1
  66. package/dist/v2/Filters.js +17 -963
  67. package/dist/v2/Filters.js.map +1 -1
  68. package/dist/v2/Segments.js +13 -25
  69. package/dist/v2/Segments.js.map +1 -1
  70. package/dist/v2/index.js +15 -27
  71. package/dist/v2/index.js.map +1 -1
  72. package/dist/v2/utils.js +2 -2
  73. package/package.json +9 -9
  74. package/dist/index-00KCfktU.js.map +0 -1
  75. package/dist/index-4MKjSNsp.js.map +0 -1
  76. package/dist/index-BiqUQPwR.js.map +0 -1
  77. package/dist/index-BzkSk3Jh.js +0 -5
  78. package/dist/index-BzkSk3Jh.js.map +0 -1
  79. package/dist/index-D5wjkRUM.js.map +0 -1
  80. package/dist/index-DX0qF4mf.js +0 -7
  81. package/dist/index-DX0qF4mf.js.map +0 -1
@@ -7,134 +7,16 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var Select = require('@bigbinary/neetoui/Select');
8
8
  var reactI18next = require('react-i18next');
9
9
  var utils = require('./utils-CzRCzZ3I.js');
10
- var constants = require('./constants-DoHD7obf.js');
11
- require('./dayjs-9rsrbiYS.js');
12
- var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
10
+ var utils$1 = require('./utils-Dh5ByFPA.js');
13
11
  var jsxRuntime = require('react/jsx-runtime');
14
12
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
15
13
  var DatePicker = require('@bigbinary/neetoui/DatePicker');
14
+ var constants = require('./constants-DoHD7obf.js');
16
15
  var TimePicker = require('@bigbinary/neetoui/TimePicker');
17
16
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
18
17
  var Input = require('@bigbinary/neetoui/Input');
19
18
  var NeetoUITreeSelect = require('@bigbinary/neetoui/TreeSelect');
20
19
 
21
- var buildDropdownValue = function buildDropdownValue(_ref) {
22
- var defaultType = _ref.defaultType,
23
- filter = _ref.filter,
24
- options = _ref.options;
25
- if (!filter) return null;
26
- if (utils.isMulti(defaultType) || utils.isTreeSelect(defaultType)) {
27
- return options.filter(function (_ref2) {
28
- var value = _ref2.value;
29
- return filter.value.includes(value);
30
- });
31
- }
32
- return neetoCist.findBy({
33
- value: filter.value
34
- }, options);
35
- };
36
- var buildSingleTimeValue = function buildSingleTimeValue(filter) {
37
- var _findBy2;
38
- if (!filter) return null;
39
- return (_findBy2 = neetoCist.findBy({
40
- value: filter.value
41
- }, constants.TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : ramda.last(constants.TIME_OPTIONS);
42
- };
43
- var getOtherProps = function getOtherProps(props) {
44
- return ramda.omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
45
- };
46
- var buildDropdownOptions = function buildDropdownOptions(_ref3) {
47
- var defaultType = _ref3.defaultType,
48
- filter = _ref3.filter,
49
- _ref3$options = _ref3.options,
50
- options = _ref3$options === void 0 ? [] : _ref3$options;
51
- if (ramda.isEmpty(options)) {
52
- if (utils.isDateRange(defaultType)) {
53
- options = constants.DATE_RANGE_OPTIONS;
54
- } else if (utils.isTimeRange(defaultType)) {
55
- options = constants.TIME_RANGE_OPTIONS;
56
- }
57
- }
58
- options = options.map(ramda.modify("value", function (value) {
59
- return value === null || value === void 0 ? void 0 : value.toString();
60
- }));
61
- if (!filter) return options;
62
- if (utils.isMulti(defaultType)) {
63
- var selectedOptions = filter.value.map(function (value) {
64
- return neetoCist.findBy({
65
- value: value
66
- }, options) || neetoCist.toLabelAndValue(value);
67
- });
68
- var nonSelectedOptions = options.filter(function (option) {
69
- return !filter.value.includes(option.value);
70
- });
71
- return ramda.concat(selectedOptions, nonSelectedOptions);
72
- }
73
- if (!neetoCist.findBy({
74
- value: filter.value
75
- }, options)) {
76
- return ramda.append(neetoCist.toLabelAndValue(filter.value), options);
77
- }
78
- return options;
79
- };
80
- var initializeDateRule = function initializeDateRule(filter) {
81
- return filter ? neetoCist.findBy({
82
- value: filter === null || filter === void 0 ? void 0 : filter.value
83
- }, constants.DATE_OPTIONS) || findDateOption(filter, constants.DATE_OPTIONS) : {};
84
- };
85
- var getDateValue = function getDateValue(value, rule) {
86
- if (ramda.isEmpty(value) || ramda.isNil(value)) {
87
- return null;
88
- }
89
- if (rule.value === "custom-date-range") {
90
- return value;
91
- }
92
- return rule.value === "before" ? utils$1.dayjs(value[1]).add(1, "day") : utils$1.dayjs(value[0]).subtract(1, "day");
93
- };
94
- var findDateOption = function findDateOption(filter, options) {
95
- var value = filter.value;
96
- var isBeforeOrAfter = utils$1.dayjs(value[1]).diff(utils$1.dayjs(value[0]), "year") >= 90;
97
- if (ramda.not(isBeforeOrAfter)) {
98
- return ramda.last(options);
99
- }
100
- var currentMoment = utils$1.dayjs();
101
- var diffWithStart = Math.abs(currentMoment.diff(utils$1.dayjs(value[0]), "year"));
102
- var diffWithEnd = Math.abs(currentMoment.diff(utils$1.dayjs(value[1]), "year"));
103
- return diffWithStart < diffWithEnd ? neetoCist.findBy({
104
- value: "after"
105
- }, options) : neetoCist.findBy({
106
- value: "before"
107
- }, options);
108
- };
109
- var buildDateValues = function buildDateValues(dates, selectedRule) {
110
- if (selectedRule.value === "after") {
111
- return [dates.add(1, "day"), dates.add(100, "year")];
112
- } else if (selectedRule.value === "before") {
113
- return [dates.subtract(100, "year"), dates.subtract(1, "day")];
114
- }
115
- return dates;
116
- };
117
- var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
118
- return ramda.mergeDeepRight(utils.DEFAULT_HELP_ICON_PROPS, helpIconProps);
119
- };
120
- var hasInvalidTimes = function hasInvalidTimes(times) {
121
- if (neetoCist.isNotPresent(times)) return false;
122
- if (Array.isArray(times)) {
123
- return times.some(function (time) {
124
- return time.isValid();
125
- }) === false;
126
- }
127
- return !times.isValid();
128
- };
129
- var areCustomTimeRangeValuesNotValid = function areCustomTimeRangeValuesNotValid(times) {
130
- return !times.every(function (time) {
131
- return time.isValid();
132
- });
133
- };
134
- var isRuleEmpty = function isRuleEmpty(rule) {
135
- return ramda.equals(rule, "is_unknown");
136
- };
137
-
138
20
  function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
139
21
  function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
140
22
  var Boolean = function Boolean(_ref) {
@@ -150,8 +32,8 @@ var Boolean = function Boolean(_ref) {
150
32
  _column$helpIconProps = column.helpIconProps,
151
33
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
152
34
  var options = neetoCist.isNotPresent(values) ? utils.isCheckbox(defaultType) ? utils.CHECKBOX_OPTIONS : utils.DEFAULT_BOOLEAN_OPTIONS : values;
153
- var otherProps = getOtherProps(column);
154
- var value = buildDropdownValue({
35
+ var otherProps = utils$1.getOtherProps(column);
36
+ var value = utils$1.buildDropdownValue({
155
37
  defaultType: defaultType,
156
38
  filter: filter,
157
39
  options: options
@@ -182,7 +64,7 @@ var Boolean = function Boolean(_ref) {
182
64
  isClearable: true
183
65
  }, neetoCist.isNotEmpty(helpIconProps) && {
184
66
  labelProps: {
185
- helpIconProps: buildHelpIconProps(helpIconProps)
67
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
186
68
  }
187
69
  }), {}, {
188
70
  "data-testid": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
@@ -203,7 +85,7 @@ var Datetime = function Datetime(_ref) {
203
85
  filter = _ref.filter,
204
86
  handleApplyFilter = _ref.handleApplyFilter,
205
87
  autoFocus = _ref.autoFocus;
206
- var _useState = react.useState(initializeDateRule(filter)),
88
+ var _useState = react.useState(utils$1.initializeDateRule(filter)),
207
89
  _useState2 = _slicedToArray(_useState, 2),
208
90
  selectedRule = _useState2[0],
209
91
  setSelectedRule = _useState2[1];
@@ -216,7 +98,7 @@ var Datetime = function Datetime(_ref) {
216
98
  _column$helpIconProps = column.helpIconProps,
217
99
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
218
100
  var isDatePickerShown = filter && utils.isCustomDateRange(filter.value);
219
- var otherProps = getOtherProps(column);
101
+ var otherProps = utils$1.getOtherProps(column);
220
102
  var handleChange = function handleChange(option) {
221
103
  if (ramda.isEmpty(option) || ramda.isNil(option)) {
222
104
  handleApplyFilter({
@@ -245,7 +127,7 @@ var Datetime = function Datetime(_ref) {
245
127
  column: column,
246
128
  defaultType: defaultType,
247
129
  option: {
248
- value: buildDateValues(dates, selectedRule).map(function (date) {
130
+ value: utils$1.buildDateValues(dates, selectedRule).map(function (date) {
249
131
  return date.toISOString();
250
132
  })
251
133
  }
@@ -270,7 +152,7 @@ var Datetime = function Datetime(_ref) {
270
152
  })
271
153
  }, neetoCist.isNotEmpty(helpIconProps) && {
272
154
  labelProps: {
273
- helpIconProps: buildHelpIconProps(helpIconProps)
155
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
274
156
  }
275
157
  }), {}, {
276
158
  onChange: handleChange
@@ -278,7 +160,7 @@ var Datetime = function Datetime(_ref) {
278
160
  "data-testid": "neeto-filters-".concat(neetoCist.hyphenate(key), "-date-range"),
279
161
  getPopupContainer: ramda.prop("parentNode"),
280
162
  type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
281
- value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
163
+ value: utils$1.getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
282
164
  onChange: handleDateRangeChange
283
165
  }, otherProps))]
284
166
  });
@@ -305,14 +187,14 @@ var Dropdown = function Dropdown(_ref) {
305
187
  isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
306
188
  _column$helpIconProps = column.helpIconProps,
307
189
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
308
- var otherProps = getOtherProps(column);
309
- var options = buildDropdownOptions({
190
+ var otherProps = utils$1.getOtherProps(column);
191
+ var options = utils$1.buildDropdownOptions({
310
192
  defaultType: defaultType,
311
193
  filter: filter,
312
194
  options: values
313
195
  });
314
196
  var dropdownRules = utils.isMulti(defaultType) ? utils.MULTI_DROPDOWN_RULES : utils.SINGLE_DROPDOWN_RULES;
315
- var value = buildDropdownValue({
197
+ var value = utils$1.buildDropdownValue({
316
198
  defaultType: defaultType,
317
199
  filter: filter,
318
200
  options: options
@@ -332,8 +214,8 @@ var Dropdown = function Dropdown(_ref) {
332
214
  return value;
333
215
  };
334
216
  var handleRuleChange = function handleRuleChange(rule) {
335
- var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
336
- var isNewRuleEmpty = isRuleEmpty(rule.value);
217
+ var isPreviousRuleEmpty = utils$1.isRuleEmpty(selectedRule.value);
218
+ var isNewRuleEmpty = utils$1.isRuleEmpty(rule.value);
337
219
  setSelectedRule(rule);
338
220
  if (isPreviousRuleEmpty || !isNewRuleEmpty && neetoCist.isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
339
221
  handleApplyFilter({
@@ -366,7 +248,7 @@ var Dropdown = function Dropdown(_ref) {
366
248
  };
367
249
  react.useEffect(function () {
368
250
  if (!ramda.isEmpty(filters)) return;
369
- isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
251
+ utils$1.isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
370
252
  }, [filters]);
371
253
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
372
254
  className: "neeto-filters-pane-filter__item-wrapper",
@@ -376,7 +258,7 @@ var Dropdown = function Dropdown(_ref) {
376
258
  options: dropdownRules,
377
259
  value: selectedRule,
378
260
  onChange: handleRuleChange
379
- }), !isRuleEmpty(selectedRule.value) && /*#__PURE__*/jsxRuntime.jsx(Select, _objectSpread$5(_objectSpread$5({
261
+ }), !utils$1.isRuleEmpty(selectedRule.value) && /*#__PURE__*/jsxRuntime.jsx(Select, _objectSpread$5(_objectSpread$5({
380
262
  autoFocus: autoFocus,
381
263
  options: options,
382
264
  value: value,
@@ -390,7 +272,7 @@ var Dropdown = function Dropdown(_ref) {
390
272
  })
391
273
  }, neetoCist.isNotEmpty(helpIconProps) && {
392
274
  labelProps: {
393
- helpIconProps: buildHelpIconProps(helpIconProps)
275
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
394
276
  }
395
277
  }), {}, {
396
278
  onChange: handleChange
@@ -421,7 +303,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
421
303
  label = column.label,
422
304
  _column$helpIconProps = column.helpIconProps,
423
305
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
424
- var otherProps = getOtherProps(column);
306
+ var otherProps = utils$1.getOtherProps(column);
425
307
  var datePickerType = selectedRule.value === "between" ? "range" : "date";
426
308
  var value = filter === null || filter === void 0 ? void 0 : filter.value;
427
309
 
@@ -477,7 +359,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
477
359
  value: selectedRule
478
360
  }, neetoCist.isNotEmpty(helpIconProps) && {
479
361
  labelProps: {
480
- helpIconProps: buildHelpIconProps(helpIconProps)
362
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
481
363
  }
482
364
  }), {}, {
483
365
  onChange: handleRuleChange
@@ -514,7 +396,7 @@ var SingleTime = function SingleTime(_ref) {
514
396
  label = column.label,
515
397
  _column$helpIconProps = column.helpIconProps,
516
398
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
517
- var otherProps = getOtherProps(column);
399
+ var otherProps = utils$1.getOtherProps(column);
518
400
  var timePickerType = selectedRule.value === "between" ? "range" : "time";
519
401
  var value = filter === null || filter === void 0 ? void 0 : filter.value;
520
402
  react.useEffect(function () {
@@ -539,13 +421,13 @@ var SingleTime = function SingleTime(_ref) {
539
421
  handleApplyFilter(updatedFilter);
540
422
  };
541
423
  var handleChange = function handleChange(times) {
542
- if (hasInvalidTimes(times)) {
424
+ if (utils$1.hasInvalidTimes(times)) {
543
425
  handleApplyFilter({
544
426
  _delete: true
545
427
  });
546
428
  return;
547
429
  }
548
- if (timePickerType === "range" && areCustomTimeRangeValuesNotValid(times)) {
430
+ if (timePickerType === "range" && utils$1.areCustomTimeRangeValuesNotValid(times)) {
549
431
  return;
550
432
  }
551
433
  var value = timePickerType === "range" ? times === null || times === void 0 ? void 0 : times.map(function (time) {
@@ -570,7 +452,7 @@ var SingleTime = function SingleTime(_ref) {
570
452
  value: selectedRule
571
453
  }, neetoCist.isNotEmpty(helpIconProps) && {
572
454
  labelProps: {
573
- helpIconProps: buildHelpIconProps(helpIconProps)
455
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
574
456
  }
575
457
  }), {}, {
576
458
  onChange: handleRuleChange
@@ -603,7 +485,7 @@ var Text = function Text(_ref) {
603
485
  showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
604
486
  _column$helpIconProps = column.helpIconProps,
605
487
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
606
- var otherProps = getOtherProps(column);
488
+ var otherProps = utils$1.getOtherProps(column);
607
489
  var ruleOptions = utils.buildRuleOptions({
608
490
  defaultType: defaultType
609
491
  });
@@ -672,7 +554,7 @@ var Text = function Text(_ref) {
672
554
  onChange: handleRuleChange
673
555
  }, neetoCist.isNotEmpty(helpIconProps) && {
674
556
  labelProps: {
675
- helpIconProps: buildHelpIconProps(helpIconProps)
557
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
676
558
  }
677
559
  })), /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$2(_objectSpread$2({
678
560
  autoFocus: autoFocus,
@@ -682,7 +564,7 @@ var Text = function Text(_ref) {
682
564
  value: inputValue
683
565
  }, neetoCist.isNotEmpty(helpIconProps) && {
684
566
  labelProps: {
685
- helpIconProps: buildHelpIconProps(helpIconProps)
567
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
686
568
  }
687
569
  }), {}, {
688
570
  placeholder: t("neetoFilters.messages.enterResource", {
@@ -709,8 +591,8 @@ var Time = function Time(_ref) {
709
591
  label = column.label,
710
592
  _column$helpIconProps = column.helpIconProps,
711
593
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
712
- var otherProps = getOtherProps(column);
713
- var value = buildSingleTimeValue(filter);
594
+ var otherProps = utils$1.getOtherProps(column);
595
+ var value = utils$1.buildSingleTimeValue(filter);
714
596
  var isCustomTimeRangeShown = filter && utils.isCustomTimeRange(filter.value);
715
597
  var _useTranslation = reactI18next.useTranslation(),
716
598
  t = _useTranslation.t;
@@ -729,13 +611,13 @@ var Time = function Time(_ref) {
729
611
  handleApplyFilter(updatedFilter);
730
612
  };
731
613
  var handleTimeRangeChange = function handleTimeRangeChange(times) {
732
- if (hasInvalidTimes(times)) {
614
+ if (utils$1.hasInvalidTimes(times)) {
733
615
  handleApplyFilter({
734
616
  _delete: true
735
617
  });
736
618
  return;
737
619
  }
738
- if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
620
+ if (isCustomTimeRangeShown && utils$1.areCustomTimeRangeValuesNotValid(times)) {
739
621
  return;
740
622
  }
741
623
  var updatedFilter = utils.buildUpdatedFilter({
@@ -764,7 +646,7 @@ var Time = function Time(_ref) {
764
646
  })
765
647
  }, neetoCist.isNotEmpty(helpIconProps) && {
766
648
  labelProps: {
767
- helpIconProps: buildHelpIconProps(helpIconProps)
649
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
768
650
  }
769
651
  }), {}, {
770
652
  onChange: handleChange
@@ -809,7 +691,7 @@ var TreeSelect = function TreeSelect(_ref) {
809
691
  setSelectedRule = _useState2[1];
810
692
  var _useTranslation = reactI18next.useTranslation(),
811
693
  t = _useTranslation.t;
812
- var selectedOption = buildDropdownValue({
694
+ var selectedOption = utils$1.buildDropdownValue({
813
695
  defaultType: defaultType,
814
696
  filter: filter,
815
697
  options: options
@@ -827,8 +709,8 @@ var TreeSelect = function TreeSelect(_ref) {
827
709
  return handleApplyFilter(updatedFilter);
828
710
  };
829
711
  var handleRuleChange = function handleRuleChange(rule) {
830
- var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
831
- var isNewRuleEmpty = isRuleEmpty(rule.value);
712
+ var isPreviousRuleEmpty = utils$1.isRuleEmpty(selectedRule.value);
713
+ var isNewRuleEmpty = utils$1.isRuleEmpty(rule.value);
832
714
  setSelectedRule(rule);
833
715
  if (isPreviousRuleEmpty || !isNewRuleEmpty && neetoCist.isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
834
716
  return handleApplyFilter({
@@ -851,7 +733,7 @@ var TreeSelect = function TreeSelect(_ref) {
851
733
  options: utils.TREE_SELECT_RULES,
852
734
  value: selectedRule,
853
735
  onChange: handleRuleChange
854
- }), !isRuleEmpty(selectedRule.value) &&
736
+ }), !utils$1.isRuleEmpty(selectedRule.value) &&
855
737
  /*#__PURE__*/
856
738
  // eslint-disable-next-line @bigbinary/neeto/merge-spread-attributes
857
739
  jsxRuntime.jsx(NeetoUITreeSelect, _objectSpread(_objectSpread({
@@ -870,9 +752,9 @@ var TreeSelect = function TreeSelect(_ref) {
870
752
  onChange: handleChange
871
753
  }, neetoCist.isNotEmpty(helpIconProps) && {
872
754
  labelProps: {
873
- helpIconProps: buildHelpIconProps(helpIconProps)
755
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
874
756
  }
875
- }), getOtherProps(column)))]
757
+ }), utils$1.getOtherProps(column)))]
876
758
  });
877
759
  };
878
760
  var TreeSelect$1 = /*#__PURE__*/react.memo(TreeSelect);
@@ -970,5 +852,4 @@ var Item = function Item(_ref) {
970
852
  };
971
853
 
972
854
  exports.Item = Item;
973
- exports.isRuleEmpty = isRuleEmpty;
974
- //# sourceMappingURL=index-BiqUQPwR.js.map
855
+ //# sourceMappingURL=index-Bzw5oKqg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Bzw5oKqg.js","sources":["../app/javascript/src/components/Pane/Item/Boolean.jsx","../app/javascript/src/components/Pane/Item/Datetime.jsx","../app/javascript/src/components/Pane/Item/Dropdown.jsx","../app/javascript/src/components/Pane/Item/SingleDatetime.jsx","../app/javascript/src/components/Pane/Item/SingleTime.jsx","../app/javascript/src/components/Pane/Item/Text.jsx","../app/javascript/src/components/Pane/Item/Time.jsx","../app/javascript/src/components/Pane/Item/TreeSelect.jsx","../app/javascript/src/components/Pane/Item/index.jsx"],"sourcesContent":["// type: boolean\n\nimport { memo } from \"react\";\n\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Select } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildUpdatedFilter, isCheckbox } from \"components/utils\";\n\nimport { DEFAULT_BOOLEAN_OPTIONS, CHECKBOX_OPTIONS } from \"./constants\";\nimport { buildDropdownValue, buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst Boolean = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const {\n key,\n defaultType = column.type,\n label,\n values,\n helpIconProps = {},\n } = column;\n\n const options = isNotPresent(values)\n ? isCheckbox(defaultType)\n ? CHECKBOX_OPTIONS\n : DEFAULT_BOOLEAN_OPTIONS\n : values;\n const otherProps = getOtherProps(column);\n const value = buildDropdownValue({ defaultType, filter, options });\n const { t } = useTranslation();\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label, options, value }}\n isClearable\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectOption\", {\n resource: label,\n })}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default memo(Boolean);\n","// type: date\n\nimport { memo, useState, useEffect } from \"react\";\n\nimport { hyphenate, isNotEmpty } from \"neetocist\";\nimport { DatePicker, Select } from \"neetoui\";\nimport { isEmpty, isNil, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter, isCustomDateRange } from \"components/utils\";\n\nimport {\n buildDateValues,\n buildHelpIconProps,\n getDateValue,\n getOtherProps,\n initializeDateRule,\n} from \"./utils\";\n\nconst Datetime = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const [selectedRule, setSelectedRule] = useState(initializeDateRule(filter));\n\n const { t } = useTranslation();\n\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const isDatePickerShown = filter && isCustomDateRange(filter.value);\n const otherProps = getOtherProps(column);\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n setSelectedRule({});\n\n return;\n }\n setSelectedRule(option);\n\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n const handleDateRangeChange = dates => {\n if (isEmpty(dates) || isNil(dates)) {\n handleApplyFilter({ _delete: true });\n setSelectedRule({});\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {\n value: buildDateValues(dates, selectedRule).map(date =>\n date.toISOString()\n ),\n },\n });\n handleApplyFilter(updatedFilter);\n };\n\n useEffect(() => {\n isNil(filter) && setSelectedRule({});\n }, [filter]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label }}\n isClearable\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n options={DATE_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n />\n {isDatePickerShown && (\n <DatePicker\n data-testid={`neeto-filters-${hyphenate(key)}-date-range`}\n getPopupContainer={prop(\"parentNode\")}\n type={selectedRule?.value === \"custom-date-range\" ? \"range\" : \"date\"}\n value={getDateValue(filter?.value, selectedRule)}\n onChange={handleDateRangeChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Datetime);\n","// type: single_option, multi_option\n\nimport { memo, useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Select } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MULTI_DROPDOWN_RULES, SINGLE_DROPDOWN_RULES } from \"./constants\";\nimport {\n buildDropdownValue,\n buildDropdownOptions,\n getOtherProps,\n buildHelpIconProps,\n isRuleEmpty,\n} from \"./utils\";\n\nimport { buildUpdatedFilter, isMulti } from \"../../utils\";\n\nconst Dropdown = ({\n column,\n filter,\n handleApplyFilter,\n autoFocus,\n filters,\n}) => {\n const {\n key,\n label,\n values,\n defaultValue,\n defaultType = column.type,\n showRuleSelector = false,\n isClearable = true,\n helpIconProps = {},\n } = column;\n const otherProps = getOtherProps(column);\n const options = buildDropdownOptions({\n defaultType,\n filter,\n options: values,\n });\n\n const dropdownRules = isMulti(defaultType)\n ? MULTI_DROPDOWN_RULES\n : SINGLE_DROPDOWN_RULES;\n const value = buildDropdownValue({ defaultType, filter, options });\n const [selectedRule, setSelectedRule] = useState(\n findBy({ value: filter?.rule }, dropdownRules) || dropdownRules[0]\n );\n const { t } = useTranslation();\n\n const getOption = (isSelectedRuleEmpty, options, value) => {\n if (isSelectedRuleEmpty) {\n return isMulti(defaultType) ? [options[0]] : options[0];\n }\n\n return value;\n };\n\n const handleRuleChange = rule => {\n const isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);\n const isNewRuleEmpty = isRuleEmpty(rule.value);\n setSelectedRule(rule);\n\n if (\n isPreviousRuleEmpty ||\n (!isNewRuleEmpty && isNotPresent(filter?.value))\n ) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n rule: rule.value,\n option: getOption(isNewRuleEmpty, options, value),\n });\n\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option,\n rule: selectedRule.value,\n });\n\n handleApplyFilter(updatedFilter);\n };\n\n useEffect(() => {\n if (!isEmpty(filters)) return;\n isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);\n }, [filters]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n defaultValue={dropdownRules[0]}\n options={dropdownRules}\n value={selectedRule}\n onChange={handleRuleChange}\n />\n )}\n {!isRuleEmpty(selectedRule.value) && (\n <Select\n {...{ autoFocus, options, value }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n isClearable={!defaultValue && isClearable}\n isMulti={isMulti(defaultType)}\n label={!showRuleSelector && label}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Dropdown);\n","// type: single_date\n\nimport { useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { DatePicker, Select } from \"neetoui\";\nimport { isEmpty, isNil, prop } from \"ramda\";\n\nimport { SINGLE_DATE_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst SingleDatetime = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n}) => {\n const [selectedRule, setSelectedRule] = useState(\n () =>\n findBy({ value: filter?.rule }, SINGLE_DATE_OPTIONS) ||\n SINGLE_DATE_OPTIONS[0]\n );\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const datePickerType = selectedRule.value === \"between\" ? \"range\" : \"date\";\n const value = filter?.value;\n\n // Reset states when \"Clear filters\" button is clicked.\n useEffect(() => {\n if (!isEmpty(filters)) return;\n setSelectedRule(SINGLE_DATE_OPTIONS[0]);\n }, [filters]);\n\n const handleRuleChange = ruleOption => {\n setSelectedRule(ruleOption);\n\n // Clear value if switched between incompatable types\n let updateValue = value;\n if (\n (datePickerType === \"range\" && ruleOption.value !== \"between\") ||\n (datePickerType === \"date\" && ruleOption.value === \"between\")\n ) {\n updateValue = \"\";\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleOption.value,\n value: updateValue,\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = dates => {\n if (isEmpty(dates) || isNil(dates)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const value =\n datePickerType === \"range\"\n ? dates.map(date => date.toISOString())\n : dates;\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: selectedRule.value,\n value,\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ label }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter-rule`}\n defaultValue={SINGLE_DATE_OPTIONS[0]}\n options={SINGLE_DATE_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleRuleChange}\n />\n <DatePicker\n {...{ autoFocus, value }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n getPopupContainer={prop(\"parentNode\")}\n type={datePickerType}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default SingleDatetime;\n","import { useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { Select, TimePicker } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { SINGLE_TIME_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport {\n areCustomTimeRangeValuesNotValid,\n buildHelpIconProps,\n getOtherProps,\n hasInvalidTimes,\n} from \"./utils\";\n\nconst SingleTime = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n}) => {\n const [selectedRule, setSelectedRule] = useState(\n () =>\n findBy({ value: filter?.rule }, SINGLE_TIME_OPTIONS) ||\n SINGLE_TIME_OPTIONS[0]\n );\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const timePickerType = selectedRule.value === \"between\" ? \"range\" : \"time\";\n const value = filter?.value;\n\n useEffect(() => {\n if (!isEmpty(filters)) return;\n setSelectedRule(SINGLE_TIME_OPTIONS[0]);\n }, [filters]);\n\n const handleRuleChange = ruleOption => {\n setSelectedRule(ruleOption);\n\n // Clear value if switched between incompatible types\n let updateValue = value;\n if (\n (timePickerType === \"range\" && ruleOption.value !== \"between\") ||\n (timePickerType === \"time\" && ruleOption.value === \"between\")\n ) {\n updateValue = \"\";\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleOption.value,\n value: updateValue,\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = times => {\n if (hasInvalidTimes(times)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n if (timePickerType === \"range\" && areCustomTimeRangeValuesNotValid(times)) {\n return;\n }\n\n const value =\n timePickerType === \"range\"\n ? times?.map(time => time.toISOString())\n : times?.toISOString();\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: selectedRule.value,\n value,\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ label }}\n defaultValue={SINGLE_TIME_OPTIONS[0]}\n options={SINGLE_TIME_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleRuleChange}\n />\n <TimePicker\n {...{ autoFocus, value }}\n className=\"w-full\"\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n format={TIME_FORMAT}\n type={timePickerType}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default SingleTime;\n","// type: text, number, decimal\nimport { useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { Input, Select } from \"neetoui\";\nimport { equals, isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n buildRuleOptions,\n buildUpdatedFilter,\n isUndefinedOrEmpty,\n} from \"components/utils\";\n\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst Text = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n onClose,\n}) => {\n const {\n key,\n defaultType = column.type,\n label,\n showRuleSelector = false,\n helpIconProps = {},\n } = column;\n const otherProps = getOtherProps(column);\n const ruleOptions = buildRuleOptions({ defaultType });\n const inputType =\n defaultType === \"text\" || defaultType === \"custom.text\" ? \"text\" : \"number\";\n\n const [inputValue, setInputValue] = useState(filter?.value);\n const [selectedRule, setSelectedRule] = useState(\n () => findBy({ value: filter?.rule }, ruleOptions) || ruleOptions[0]\n );\n const debouncedInputValue = useDebounce(inputValue);\n const { t } = useTranslation();\n\n const handleUpdateAndApplyFilter = (\n value = debouncedInputValue,\n rule = selectedRule\n ) => {\n if (equals(filter?.value, value) && equals(selectedRule, rule)) return;\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: rule.value,\n value: value.trim(),\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleKeydown = e => {\n if (!(e.key === \"Enter\")) return;\n handleUpdateAndApplyFilter(inputValue);\n onClose();\n };\n\n const handleRuleChange = ruleOption => {\n setSelectedRule(ruleOption);\n if (!debouncedInputValue) return;\n handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);\n };\n\n // Reset states when \"Clear filters\" button is clicked.\n useEffect(() => {\n (isEmpty(filters) || isNil(filter)) && setInputValue(\"\");\n }, [filter]);\n\n useEffect(() => {\n if (!debouncedInputValue) {\n !isUndefinedOrEmpty(filter) && handleApplyFilter({ _delete: true });\n\n return;\n }\n\n handleUpdateAndApplyFilter();\n }, [debouncedInputValue]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter-rule`}\n defaultValue={ruleOptions[0]}\n options={ruleOptions}\n strategy=\"fixed\"\n value={selectedRule}\n onChange={handleRuleChange}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n />\n )}\n <Input\n {...{ autoFocus }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n label={!showRuleSelector && label}\n type={inputType}\n value={inputValue}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n placeholder={t(\"neetoFilters.messages.enterResource\", {\n resource: label,\n })}\n onChange={event => setInputValue(event.target.value)}\n onKeyDown={handleKeydown}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default Text;\n","// type: time\n\nimport { memo } from \"react\";\n\nimport { hyphenate, isNotEmpty } from \"neetocist\";\nimport { Select, TimePicker } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter, isCustomTimeRange } from \"components/utils\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport {\n areCustomTimeRangeValuesNotValid,\n buildHelpIconProps,\n buildSingleTimeValue,\n getOtherProps,\n hasInvalidTimes,\n} from \"./utils\";\n\nconst Time = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const value = buildSingleTimeValue(filter);\n const isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);\n\n const { t } = useTranslation();\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n const handleTimeRangeChange = times => {\n if (hasInvalidTimes(times)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: { value: times.map(time => time.toISOString()) },\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label, value }}\n isClearable\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n options={TIME_OPTIONS}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n />\n {isCustomTimeRangeShown && (\n <TimePicker\n className=\"w-full\"\n data-testid={`neeto-filters-${hyphenate(key)}-date-range`}\n format={TIME_FORMAT}\n type=\"range\"\n value={filter.value}\n onChange={handleTimeRangeChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Time);\n","// type: tree_select\n\nimport { memo, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Select, TreeSelect as NeetoUITreeSelect } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { TREE_SELECT_RULES } from \"./constants\";\nimport {\n buildDropdownValue,\n buildHelpIconProps,\n getOtherProps,\n isRuleEmpty,\n} from \"./utils\";\n\nconst TreeSelect = ({ autoFocus, column, filter, handleApplyFilter }) => {\n const {\n key,\n label,\n defaultType = column.type,\n defaultValue,\n helpIconProps = {},\n isClearable = true,\n showRuleSelector = false,\n values: options,\n } = column;\n\n const initialRule =\n findBy({ value: filter?.rule }, TREE_SELECT_RULES) ?? TREE_SELECT_RULES[0];\n const [selectedRule, setSelectedRule] = useState(initialRule);\n\n const { t } = useTranslation();\n\n const selectedOption = buildDropdownValue({ defaultType, filter, options });\n\n const handleChange = option => {\n if (isNotPresent(option)) return handleApplyFilter({ _delete: true });\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option,\n rule: selectedRule.value,\n });\n\n return handleApplyFilter(updatedFilter);\n };\n\n const handleRuleChange = rule => {\n const isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);\n const isNewRuleEmpty = isRuleEmpty(rule.value);\n setSelectedRule(rule);\n\n if (\n isPreviousRuleEmpty ||\n (!isNewRuleEmpty && isNotPresent(filter?.value))\n ) {\n return handleApplyFilter({ _delete: true });\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: isNewRuleEmpty ? [options[0]] : selectedOption,\n rule: rule.value,\n });\n\n return handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n defaultValue={TREE_SELECT_RULES[0]}\n options={TREE_SELECT_RULES}\n value={selectedRule}\n onChange={handleRuleChange}\n />\n )}\n {!isRuleEmpty(selectedRule.value) && (\n // eslint-disable-next-line @bigbinary/neeto/merge-spread-attributes\n <NeetoUITreeSelect\n {...{ autoFocus }}\n multiple\n showSearch\n treeDataSimpleMode\n allowClear={!defaultValue && isClearable}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n label={!showRuleSelector && label}\n treeData={options}\n value={selectedOption}\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n onChange={handleChange}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n {...getOtherProps(column)}\n />\n )}\n </div>\n );\n};\n\nexport default memo(TreeSelect);\n","import { useMemo } from \"react\";\n\nimport { findBy, removeBy, replaceBy, noop } from \"neetocist\";\nimport { append } from \"ramda\";\n\nimport Boolean from \"./Boolean\";\nimport Datetime from \"./Datetime\";\nimport Dropdown from \"./Dropdown\";\nimport SingleDatetime from \"./SingleDatetime\";\nimport SingleTime from \"./SingleTime\";\nimport Text from \"./Text\";\nimport Time from \"./Time\";\nimport TreeSelect from \"./TreeSelect\";\n\nimport {\n isBoolean,\n isCheckbox,\n isDate,\n isDigit,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../../utils\";\n\nconst Item = ({ column, filters, onChange, autoFocus, onClose = noop }) => {\n const { key, defaultType = column.type } = column;\n\n const filter = useMemo(() => findBy({ key }, filters), [filters, key]);\n\n const handleApplyFilter = updatedFilter => {\n if (updatedFilter._delete) onChange(removeBy({ key }, filters));\n else if (!filter) onChange(append(updatedFilter, filters));\n else onChange(replaceBy({ key }, updatedFilter, filters));\n };\n\n if (isText(defaultType) || isDigit(defaultType)) {\n return (\n <Text\n {...{ autoFocus, column, filter, filters, handleApplyFilter, onClose }}\n />\n );\n }\n\n if (isDate(defaultType)) {\n return <Datetime {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n if (isTime(defaultType)) {\n return <Time {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n if (isSingleDate(defaultType)) {\n return (\n <SingleDatetime\n {...{ autoFocus, column, filter, filters, handleApplyFilter }}\n />\n );\n }\n\n if (isSingleTime(defaultType)) {\n return (\n <SingleTime\n {...{ autoFocus, column, filter, filters, handleApplyFilter }}\n />\n );\n }\n\n if (isBoolean(defaultType) || isCheckbox(defaultType)) {\n return (\n <Boolean\n {...{ autoFocus, column, defaultType, filter, handleApplyFilter }}\n />\n );\n }\n\n if (isTreeSelect(defaultType)) {\n return <TreeSelect {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n return (\n <Dropdown {...{ autoFocus, column, filter, filters, handleApplyFilter }} />\n );\n};\n\nexport default Item;\n"],"names":["Boolean","_ref","column","filter","handleApplyFilter","autoFocus","key","_column$defaultType","defaultType","type","label","values","_column$helpIconProps","helpIconProps","options","isNotPresent","isCheckbox","CHECKBOX_OPTIONS","DEFAULT_BOOLEAN_OPTIONS","otherProps","getOtherProps","value","buildDropdownValue","_useTranslation","useTranslation","t","handleChange","option","isEmpty","isNil","_delete","updatedFilter","buildUpdatedFilter","_jsx","className","children","Select","_objectSpread","isClearable","isNotEmpty","labelProps","buildHelpIconProps","concat","hyphenate","strategy","placeholder","resource","onChange","memo","Datetime","_useState","useState","initializeDateRule","_useState2","_slicedToArray","selectedRule","setSelectedRule","isDatePickerShown","isCustomDateRange","handleDateRangeChange","dates","buildDateValues","map","date","toISOString","useEffect","_jsxs","DATE_OPTIONS","DatePicker","getPopupContainer","prop","getDateValue","Dropdown","filters","defaultValue","_column$showRuleSelec","showRuleSelector","_column$isClearable","buildDropdownOptions","dropdownRules","isMulti","MULTI_DROPDOWN_RULES","SINGLE_DROPDOWN_RULES","findBy","rule","getOption","isSelectedRuleEmpty","handleRuleChange","isPreviousRuleEmpty","isRuleEmpty","isNewRuleEmpty","SingleDatetime","SINGLE_DATE_OPTIONS","datePickerType","ruleOption","updateValue","SingleTime","SINGLE_TIME_OPTIONS","timePickerType","times","hasInvalidTimes","areCustomTimeRangeValuesNotValid","time","TimePicker","format","TIME_FORMAT","Text","onClose","ruleOptions","buildRuleOptions","inputType","inputValue","setInputValue","_useState3","_useState4","debouncedInputValue","useDebounce","handleUpdateAndApplyFilter","arguments","length","undefined","equals","trim","handleKeydown","e","isUndefinedOrEmpty","Input","event","target","onKeyDown","Time","buildSingleTimeValue","isCustomTimeRangeShown","isCustomTimeRange","handleTimeRangeChange","TIME_OPTIONS","TreeSelect","_findBy","initialRule","TREE_SELECT_RULES","selectedOption","NeetoUITreeSelect","multiple","showSearch","treeDataSimpleMode","allowClear","treeData","Item","_ref$onClose","noop","useMemo","removeBy","append","replaceBy","isText","isDigit","isDate","isTime","isSingleDate","isSingleTime","isBoolean","isTreeSelect"],"mappings":"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"}