@bigbinary/neeto-filters-frontend 3.0.10 → 3.0.12

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
@@ -282,6 +282,12 @@ var DEFAULT_BOOLEAN_OPTIONS = [{
282
282
  label: i18next.t("neetoFilters.common.no"),
283
283
  value: "false"
284
284
  }];
285
+ var DEFAULT_HELP_ICON_PROPS = {
286
+ icon: neetoIcons.Help,
287
+ tooltipProps: {
288
+ position: "right"
289
+ }
290
+ };
285
291
 
286
292
  function _arrayWithHoles(arr) {
287
293
  if (Array.isArray(arr)) return arr;
@@ -2597,12 +2603,11 @@ var findDateOption = function findDateOption(filter, options) {
2597
2603
  var currentMoment = dayjs();
2598
2604
  var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
2599
2605
  var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
2600
- var returnOption = diffWithStart < diffWithEnd ? neetoCist.findBy({
2606
+ return diffWithStart < diffWithEnd ? neetoCist.findBy({
2601
2607
  value: "after"
2602
2608
  }, options) : neetoCist.findBy({
2603
2609
  value: "before"
2604
2610
  }, options);
2605
- return returnOption;
2606
2611
  };
2607
2612
  var buildDateValues = function buildDateValues(dates, selectedRule) {
2608
2613
  if (selectedRule.value === "after") {
@@ -2612,6 +2617,9 @@ var buildDateValues = function buildDateValues(dates, selectedRule) {
2612
2617
  }
2613
2618
  return dates;
2614
2619
  };
2620
+ var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
2621
+ return ramda.mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
2622
+ };
2615
2623
 
2616
2624
  var Boolean = function Boolean(_ref) {
2617
2625
  var column = _ref.column,
@@ -2622,7 +2630,9 @@ var Boolean = function Boolean(_ref) {
2622
2630
  _column$defaultType = column.defaultType,
2623
2631
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
2624
2632
  label = column.label,
2625
- values = column.values;
2633
+ values = column.values,
2634
+ _column$helpIconProps = column.helpIconProps,
2635
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
2626
2636
  var options = ramda.isNil(values) || ramda.isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
2627
2637
  var otherProps = getOtherProps(column);
2628
2638
  var value = buildDropdownValue({
@@ -2651,7 +2661,12 @@ var Boolean = function Boolean(_ref) {
2651
2661
  label: label,
2652
2662
  options: options,
2653
2663
  value: value,
2654
- isClearable: true,
2664
+ isClearable: true
2665
+ }, neetoCist.isNotEmpty(helpIconProps) && {
2666
+ labelProps: {
2667
+ helpIconProps: buildHelpIconProps(helpIconProps)
2668
+ }
2669
+ }, {
2655
2670
  "data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
2656
2671
  strategy: "fixed",
2657
2672
  placeholder: t("neetoFilters.messages.selectOption", {
@@ -2676,7 +2691,9 @@ var Datetime = function Datetime(_ref) {
2676
2691
  var key = column.key,
2677
2692
  _column$defaultType = column.defaultType,
2678
2693
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
2679
- label = column.label;
2694
+ label = column.label,
2695
+ _column$helpIconProps = column.helpIconProps,
2696
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
2680
2697
  var isDatePickerShown = filter && isCustomDateRange(filter.value);
2681
2698
  var otherProps = getOtherProps(column);
2682
2699
  var handleChange = function handleChange(option) {
@@ -2719,7 +2736,7 @@ var Datetime = function Datetime(_ref) {
2719
2736
  }, [filter]);
2720
2737
  return /*#__PURE__*/React__default["default"].createElement("div", {
2721
2738
  className: "neeto-filters-pane-filter__item-wrapper"
2722
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
2739
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
2723
2740
  autoFocus: autoFocus,
2724
2741
  label: label,
2725
2742
  isClearable: true,
@@ -2729,9 +2746,14 @@ var Datetime = function Datetime(_ref) {
2729
2746
  value: selectedRule,
2730
2747
  placeholder: t("neetoFilters.messages.selectResource", {
2731
2748
  resource: label
2732
- }),
2749
+ })
2750
+ }, neetoCist.isNotEmpty(helpIconProps) && {
2751
+ labelProps: {
2752
+ helpIconProps: buildHelpIconProps(helpIconProps)
2753
+ }
2754
+ }, {
2733
2755
  onChange: handleChange
2734
- }), isDatePickerShown && /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
2756
+ })), isDatePickerShown && /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
2735
2757
  "data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-date-range"),
2736
2758
  getPopupContainer: ramda.prop("parentNode"),
2737
2759
  type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
@@ -2753,7 +2775,9 @@ var Dropdown = function Dropdown(_ref) {
2753
2775
  _column$defaultType = column.defaultType,
2754
2776
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
2755
2777
  _column$isClearable = column.isClearable,
2756
- isClearable = _column$isClearable === void 0 ? true : _column$isClearable;
2778
+ isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
2779
+ _column$helpIconProps = column.helpIconProps,
2780
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
2757
2781
  var otherProps = getOtherProps(column);
2758
2782
  var options = buildDropdownOptions({
2759
2783
  defaultType: defaultType,
@@ -2792,7 +2816,12 @@ var Dropdown = function Dropdown(_ref) {
2792
2816
  strategy: "fixed",
2793
2817
  placeholder: t("neetoFilters.messages.selectResource", {
2794
2818
  resource: label
2795
- }),
2819
+ })
2820
+ }, neetoCist.isNotEmpty(helpIconProps) && {
2821
+ labelProps: {
2822
+ helpIconProps: buildHelpIconProps(helpIconProps)
2823
+ }
2824
+ }, {
2796
2825
  onChange: handleChange
2797
2826
  }, otherProps));
2798
2827
  };
@@ -2815,7 +2844,9 @@ var SingleDatetime = function SingleDatetime(_ref) {
2815
2844
  var key = column.key,
2816
2845
  _column$defaultType = column.defaultType,
2817
2846
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
2818
- label = column.label;
2847
+ label = column.label,
2848
+ _column$helpIconProps = column.helpIconProps,
2849
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
2819
2850
  var otherProps = getOtherProps(column);
2820
2851
  var datePickerType = selectedRule.value === "between" ? "range" : "date";
2821
2852
  var value = filter === null || filter === void 0 ? void 0 : filter.value;
@@ -2863,15 +2894,20 @@ var SingleDatetime = function SingleDatetime(_ref) {
2863
2894
  };
2864
2895
  return /*#__PURE__*/React__default["default"].createElement("div", {
2865
2896
  className: "neeto-filters-pane-filter__item-wrapper"
2866
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
2897
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
2867
2898
  label: label,
2868
2899
  "data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter-rule"),
2869
2900
  defaultValue: SINGLE_DATE_OPTIONS[0],
2870
2901
  options: SINGLE_DATE_OPTIONS,
2871
2902
  strategy: "fixed",
2872
- value: selectedRule,
2903
+ value: selectedRule
2904
+ }, neetoCist.isNotEmpty(helpIconProps) && {
2905
+ labelProps: {
2906
+ helpIconProps: buildHelpIconProps(helpIconProps)
2907
+ }
2908
+ }, {
2873
2909
  onChange: handleRuleChange
2874
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
2910
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
2875
2911
  autoFocus: autoFocus,
2876
2912
  value: value,
2877
2913
  "data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
@@ -2898,7 +2934,9 @@ var SingleTime = function SingleTime(_ref) {
2898
2934
  var key = column.key,
2899
2935
  _column$defaultType = column.defaultType,
2900
2936
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
2901
- label = column.label;
2937
+ label = column.label,
2938
+ _column$helpIconProps = column.helpIconProps,
2939
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
2902
2940
  var otherProps = getOtherProps(column);
2903
2941
  var timePickerType = selectedRule.value === "between" ? "range" : "time";
2904
2942
  var value = filter === null || filter === void 0 ? void 0 : filter.value;
@@ -2938,14 +2976,19 @@ var SingleTime = function SingleTime(_ref) {
2938
2976
  };
2939
2977
  return /*#__PURE__*/React__default["default"].createElement("div", {
2940
2978
  className: "neeto-filters-pane-filter__item-wrapper"
2941
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
2979
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
2942
2980
  label: label,
2943
2981
  defaultValue: SINGLE_TIME_OPTIONS[0],
2944
2982
  options: SINGLE_TIME_OPTIONS,
2945
2983
  strategy: "fixed",
2946
- value: selectedRule,
2984
+ value: selectedRule
2985
+ }, neetoCist.isNotEmpty(helpIconProps) && {
2986
+ labelProps: {
2987
+ helpIconProps: buildHelpIconProps(helpIconProps)
2988
+ }
2989
+ }, {
2947
2990
  onChange: handleRuleChange
2948
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({
2991
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({
2949
2992
  autoFocus: autoFocus,
2950
2993
  value: value,
2951
2994
  use12Hours: true,
@@ -2970,7 +3013,9 @@ var Text = function Text(_ref) {
2970
3013
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
2971
3014
  label = column.label,
2972
3015
  _column$showRuleSelec = column.showRuleSelector,
2973
- showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec;
3016
+ showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
3017
+ _column$helpIconProps = column.helpIconProps,
3018
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
2974
3019
  var otherProps = getOtherProps(column);
2975
3020
  var ruleOptions = buildRuleOptions({
2976
3021
  defaultType: defaultType
@@ -3043,7 +3088,12 @@ var Text = function Text(_ref) {
3043
3088
  "data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
3044
3089
  label: !showRuleSelector && label,
3045
3090
  type: inputType,
3046
- value: inputValue,
3091
+ value: inputValue
3092
+ }, neetoCist.isNotEmpty(helpIconProps) && {
3093
+ labelProps: {
3094
+ helpIconProps: buildHelpIconProps(helpIconProps)
3095
+ }
3096
+ }, {
3047
3097
  placeholder: t("neetoFilters.messages.enterResource", {
3048
3098
  resource: label
3049
3099
  }),
@@ -3062,7 +3112,9 @@ var Time = function Time(_ref) {
3062
3112
  var key = column.key,
3063
3113
  _column$defaultType = column.defaultType,
3064
3114
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
3065
- label = column.label;
3115
+ label = column.label,
3116
+ _column$helpIconProps = column.helpIconProps,
3117
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
3066
3118
  var otherProps = getOtherProps(column);
3067
3119
  var value = buildSingleTimeValue(filter);
3068
3120
  var isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);
@@ -3096,7 +3148,7 @@ var Time = function Time(_ref) {
3096
3148
  };
3097
3149
  return /*#__PURE__*/React__default["default"].createElement("div", {
3098
3150
  className: "neeto-filters-pane-filter__item-wrapper"
3099
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
3151
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
3100
3152
  autoFocus: autoFocus,
3101
3153
  label: label,
3102
3154
  value: value,
@@ -3106,9 +3158,14 @@ var Time = function Time(_ref) {
3106
3158
  strategy: "fixed",
3107
3159
  placeholder: t("neetoFilters.messages.selectResource", {
3108
3160
  resource: label
3109
- }),
3161
+ })
3162
+ }, neetoCist.isNotEmpty(helpIconProps) && {
3163
+ labelProps: {
3164
+ helpIconProps: buildHelpIconProps(helpIconProps)
3165
+ }
3166
+ }, {
3110
3167
  onChange: handleChange
3111
- }), isCustomTimeRangeShown && /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({
3168
+ })), isCustomTimeRangeShown && /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({
3112
3169
  use12Hours: true,
3113
3170
  "data-cy": "neeto-filters-".concat(neetoCist.hyphenate(key), "-date-range"),
3114
3171
  format: "h:mm A",
@@ -3271,6 +3328,10 @@ var Pane = function Pane(_ref) {
3271
3328
  history.push(utils.buildUrl(pathname, params));
3272
3329
  handleChange([], true);
3273
3330
  };
3331
+ var handleClearTermAndClose = function handleClearTermAndClose() {
3332
+ setSearchTerm("");
3333
+ onClose();
3334
+ };
3274
3335
  var handleClose = function handleClose() {
3275
3336
  columns.forEach(function (_ref2) {
3276
3337
  var key = _ref2.key;
@@ -3279,7 +3340,7 @@ var Pane = function Pane(_ref) {
3279
3340
  }, filters);
3280
3341
  if ((filter === null || filter === void 0 ? void 0 : filter.value) === "") delete searchParams[key];
3281
3342
  });
3282
- onClose();
3343
+ handleClearTermAndClose();
3283
3344
  };
3284
3345
  var isClearFiltersDisabled = !filters.some(function (_ref3) {
3285
3346
  var value = _ref3.value,
@@ -3314,10 +3375,10 @@ var Pane = function Pane(_ref) {
3314
3375
  return /*#__PURE__*/React__default["default"].createElement(Item, {
3315
3376
  column: column,
3316
3377
  filters: filters,
3317
- onClose: onClose,
3318
3378
  autoFocus: column.key === isOpen,
3319
3379
  key: column.key,
3320
- onChange: handleChange
3380
+ onChange: handleChange,
3381
+ onClose: handleClearTermAndClose
3321
3382
  });
3322
3383
  }), neetoCist.isPresent(groupedColumns) && /*#__PURE__*/React__default["default"].createElement(neetoui.Accordion, {
3323
3384
  defaultActiveKey: groupedColumns.findIndex(function (_ref4) {
@@ -3337,10 +3398,10 @@ var Pane = function Pane(_ref) {
3337
3398
  return /*#__PURE__*/React__default["default"].createElement(Item, {
3338
3399
  column: column,
3339
3400
  filters: filters,
3340
- onClose: onClose,
3341
3401
  autoFocus: column.key === isOpen,
3342
3402
  key: column.key,
3343
- onChange: handleChange
3403
+ onChange: handleChange,
3404
+ onClose: handleClearTermAndClose
3344
3405
  });
3345
3406
  }));
3346
3407
  })), ramda.isEmpty(ungroupedColumns) && ramda.isEmpty(groupedColumns) && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
@@ -3352,7 +3413,7 @@ var Pane = function Pane(_ref) {
3352
3413
  }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3353
3414
  "data-cy": "neeto-filters-done-btn",
3354
3415
  label: t("neetoFilters.common.done"),
3355
- onClick: onClose
3416
+ onClick: handleClearTermAndClose
3356
3417
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3357
3418
  "data-cy": "neeto-filters-clear-btn",
3358
3419
  disabled: isClearFiltersDisabled,