@bigbinary/neeto-filters-frontend 3.0.8 → 3.0.10

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.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import React, { useState, useRef, useEffect, useTransition, useMemo } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import i18next, { t as t$1 } from 'i18next';
4
- import { capitalize, removeBy, findBy, isNotEmpty, humanize, noop as noop$1, toLabelAndValue, replaceBy, isPresent, existsBy, isNotPresent, filterBy } from '@bigbinary/neeto-cist';
4
+ import { capitalize, removeBy, findBy, isNotEmpty, humanize, hyphenate, noop as noop$1, toLabelAndValue, replaceBy, isPresent, existsBy, isNotPresent, filterBy } from '@bigbinary/neeto-cist';
5
5
  import { useHotKeys, useMutationWithInvalidation, useQueryParams, useDebounce, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import { getQueryParams, dateFormat, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
7
7
  import { Tooltip, Typography, Dropdown as Dropdown$2, Button, Pane as Pane$1, Alert, Select, DatePicker, TimePicker, Input as Input$1, Accordion, Spinner } from '@bigbinary/neetoui';
8
8
  import { groupBy, anyPass, isNil, isEmpty, any, toLower, mergeLeft, identity, omit, mergeRight, toPairs, not, pluck, either, has, concat, equals, pick, modify, prop, isNotNil, append, last } from 'ramda';
9
9
  import { useTranslation, Trans } from 'react-i18next';
10
10
  import { useHistory, useLocation } from 'react-router-dom';
11
- import { Close, MenuHorizontal, Down, Search as Search$1, Settings } from '@bigbinary/neeto-icons';
11
+ import { Close, MenuHorizontal, Down, Settings } from '@bigbinary/neeto-icons';
12
12
  import { Form, Input, ActionBlock } from '@bigbinary/neetoui/formik';
13
13
  import { useQuery } from 'react-query';
14
14
  import axios from 'axios';
@@ -90,21 +90,6 @@ function _defineProperty(obj, key, value) {
90
90
  return obj;
91
91
  }
92
92
 
93
- var SHORTCUTS = {
94
- closePane: {
95
- sequence: "escape",
96
- description: t$1("neetoFilters.shortcuts.closePane")
97
- },
98
- deleteBlock: {
99
- sequence: "backspace",
100
- description: t$1("neetoFilters.shortcuts.deleteBlock")
101
- },
102
- openFilterPane: {
103
- sequence: "enter",
104
- description: t$1("neetoFilters.shortcuts.openFilterPane")
105
- }
106
- };
107
-
108
93
  var SEGMENTS_BASE_URL = "/neeto_filters/segments";
109
94
  var DATE_OPTIONS = [{
110
95
  label: "Today",
@@ -184,6 +169,23 @@ var DATE_RULES = {
184
169
  yesterday: "on",
185
170
  "all-time": "before"
186
171
  };
172
+ var SEARCH_TERM_KEY = "search_term";
173
+ var SEGMENT_ID_KEY = "segment_id";
174
+
175
+ var SHORTCUTS = {
176
+ closePane: {
177
+ sequence: "escape",
178
+ description: t$1("neetoFilters.shortcuts.closePane")
179
+ },
180
+ deleteBlock: {
181
+ sequence: "backspace",
182
+ description: t$1("neetoFilters.shortcuts.deleteBlock")
183
+ },
184
+ openFilterPane: {
185
+ sequence: "enter",
186
+ description: t$1("neetoFilters.shortcuts.openFilterPane")
187
+ }
188
+ };
187
189
 
188
190
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
189
191
 
@@ -339,6 +341,11 @@ var standardizeColumnType = function standardizeColumnType(kind) {
339
341
  }
340
342
  return kind;
341
343
  };
344
+ var getSnakeCasedQueryParams = function getSnakeCasedQueryParams() {
345
+ return getQueryParams({
346
+ toCamelCase: false
347
+ });
348
+ };
342
349
  var isBoolean = function isBoolean(type) {
343
350
  return type === "boolean" || type === "custom.boolean";
344
351
  };
@@ -483,7 +490,7 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
483
490
  };
484
491
  var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns) {
485
492
  var skipEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
486
- var searchParams = getQueryParams();
493
+ var searchParams = getSnakeCasedQueryParams();
487
494
  return columns.map(function (column) {
488
495
  var value = searchParams[column.key];
489
496
  var defaultType = column.defaultType || column.type;
@@ -493,7 +500,7 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
493
500
  }, column);
494
501
  } else if (isNil(value) || value === "" || column.key === "keyword") {
495
502
  return null;
496
- } else if (column.key === "search_term") {
503
+ } else if (column.key === SEARCH_TERM_KEY) {
497
504
  if (isNil(column.node)) return null;
498
505
  return mergeLeft({
499
506
  value: value,
@@ -650,7 +657,7 @@ var buildFiltersPayload = function buildFiltersPayload(filters) {
650
657
  var payload = removeBy({
651
658
  value: ""
652
659
  }, filters).map(function (filter) {
653
- if (filter.key === "search_term" && isMultiModelFilter(filter)) {
660
+ if (filter.key === SEARCH_TERM_KEY && isMultiModelFilter(filter)) {
654
661
  return splitFilter(filter);
655
662
  }
656
663
  var filterPayload = omit(["key", "label", "values", "setValue"], filter);
@@ -684,14 +691,14 @@ var buildSegmentsPayload = function buildSegmentsPayload(filters) {
684
691
  var payload = removeBy({
685
692
  value: ""
686
693
  }, filters).map(function (filter) {
687
- if (filter.key === "search_term") {
694
+ if (filter.key === SEARCH_TERM_KEY) {
688
695
  return false;
689
696
  }
690
697
  var filterPayload = omit(["label", "values", "setValue", "defaultValue"], filter);
691
698
  var _filterPayload$defaul2 = filterPayload.defaultType,
692
699
  defaultType = _filterPayload$defaul2 === void 0 ? filterPayload.type : _filterPayload$defaul2,
693
700
  value = filterPayload.value;
694
- if (filter.key !== "search_term" && isMultiModelFilter(filterPayload)) {
701
+ if (filter.key !== SEARCH_TERM_KEY && isMultiModelFilter(filterPayload)) {
695
702
  throw i18next.t("neetoFilters.errors.cannotPassMultipleModels");
696
703
  }
697
704
  if (isMulti(defaultType)) {
@@ -701,7 +708,7 @@ var buildSegmentsPayload = function buildSegmentsPayload(filters) {
701
708
  }
702
709
  return filterPayload;
703
710
  });
704
- var searchParams = getQueryParams();
711
+ var searchParams = getSnakeCasedQueryParams();
705
712
  var modifiedPayload = childrenKeys.reduce(function (acc, key) {
706
713
  if (has(key, searchParams)) {
707
714
  var filterPayload = {
@@ -723,7 +730,7 @@ var buildFiltersFromURL = function buildFiltersFromURL(columns) {
723
730
  })));
724
731
  };
725
732
  var buildSelectorsFromURL = function buildSelectorsFromURL(columns) {
726
- var searchParams = getQueryParams();
733
+ var searchParams = getSnakeCasedQueryParams();
727
734
  var selectors = {};
728
735
  columns.filter(function (_ref9) {
729
736
  var node = _ref9.node;
@@ -794,7 +801,7 @@ var createUrlParamString = function createUrlParamString(_ref15) {
794
801
  _filter$defaultType = filter.defaultType,
795
802
  defaultType = _filter$defaultType === void 0 ? filter.type : _filter$defaultType,
796
803
  rule = filter.rule;
797
- if (key === "search_term") {
804
+ if (key === SEARCH_TERM_KEY) {
798
805
  return value;
799
806
  } else if (isDigit(defaultType) || isText(defaultType)) {
800
807
  return "".concat(value, "+rule-").concat(rule);
@@ -819,9 +826,9 @@ var buildUrlFromFilters = function buildUrlFromFilters(_ref16) {
819
826
  isClearAll = _ref16$isClearAll === void 0 ? false : _ref16$isClearAll,
820
827
  _ref16$childrenKeys = _ref16.childrenKeys,
821
828
  childrenKeys = _ref16$childrenKeys === void 0 ? [] : _ref16$childrenKeys;
822
- var searchParams = getQueryParams();
829
+ var searchParams = getSnakeCasedQueryParams();
823
830
  var isKeywordFilterPresent = findBy({
824
- key: "search_term"
831
+ key: SEARCH_TERM_KEY
825
832
  }, filters);
826
833
  columns.forEach(function (_ref17) {
827
834
  var key = _ref17.key,
@@ -832,18 +839,18 @@ var buildUrlFromFilters = function buildUrlFromFilters(_ref16) {
832
839
  childrenKeys.forEach(function (key) {
833
840
  return delete searchParams[key];
834
841
  });
835
- delete searchParams["segmentId"];
842
+ delete searchParams[SEGMENT_ID_KEY];
836
843
  }
837
844
  var defaultFilters = buildDefaultFilters(columns, filters);
838
- isKeywordFilterPresent && delete searchParams["search_term"];
845
+ isKeywordFilterPresent && delete searchParams[SEARCH_TERM_KEY];
839
846
  concat(filters, defaultFilters).forEach(function (filter) {
840
847
  searchParams[filter.key] = createUrlParamString({
841
848
  filter: filter,
842
849
  columns: columns
843
850
  });
844
851
  });
845
- if (isEmpty(omit(["segmentId"], searchParams))) {
846
- delete searchParams["segmentId"];
852
+ if (isEmpty(omit([SEGMENT_ID_KEY], searchParams))) {
853
+ delete searchParams[SEGMENT_ID_KEY];
847
854
  }
848
855
  return new URLSearchParams(searchParams).toString();
849
856
  };
@@ -865,33 +872,33 @@ var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
865
872
  var columns = _ref19.columns,
866
873
  filters = _ref19.filters,
867
874
  id = _ref19.id;
868
- var searchParams = getQueryParams();
875
+ var searchParams = getSnakeCasedQueryParams();
869
876
  columns.forEach(function (_ref20) {
870
877
  var key = _ref20.key,
871
878
  defaultValue = _ref20.defaultValue;
872
879
  return !defaultValue && delete searchParams[key];
873
880
  });
881
+ delete searchParams[SEARCH_TERM_KEY];
874
882
  var defaultFilters = buildDefaultFilters(columns, filters);
875
- delete searchParams["searchTerm"];
876
- concat(filters, defaultFilters).forEach(function (filter) {
877
- isNotEmpty(id) && (searchParams["segmentId"] = id);
878
- searchParams[filter.key] = createUrlParamStringForSegments({
883
+ var newSearchParams = concat(filters, defaultFilters).reduce(function (acc, filter) {
884
+ acc[filter.key] = createUrlParamStringForSegments({
879
885
  filter: filter,
880
886
  columns: columns
881
887
  });
882
- });
883
- return new URLSearchParams(searchParams).toString();
888
+ return acc;
889
+ }, isNotEmpty(id) ? _defineProperty({}, SEGMENT_ID_KEY, id) : {});
890
+ return new URLSearchParams(_objectSpread$4(_objectSpread$4({}, searchParams), newSearchParams)).toString();
884
891
  };
885
892
  var getSearchTermFromUrl = function getSearchTermFromUrl() {
886
- return getQueryParams()["search_term"] || "";
887
- };
888
- var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref21) {
889
- var fields = _ref21.fields,
890
- _ref21$selectedFields = _ref21.selectedFields,
891
- selectedFields = _ref21$selectedFields === void 0 ? [] : _ref21$selectedFields,
892
- _ref21$showRuleSelect = _ref21.showRuleSelector,
893
- showRuleSelector = _ref21$showRuleSelect === void 0 ? false : _ref21$showRuleSelect,
894
- groupName = _ref21.groupName;
893
+ return getQueryParams().searchTerm || "";
894
+ };
895
+ var buildFilterColumnsFromFields = function buildFilterColumnsFromFields(_ref22) {
896
+ var fields = _ref22.fields,
897
+ _ref22$selectedFields = _ref22.selectedFields,
898
+ selectedFields = _ref22$selectedFields === void 0 ? [] : _ref22$selectedFields,
899
+ _ref22$showRuleSelect = _ref22.showRuleSelector,
900
+ showRuleSelector = _ref22$showRuleSelect === void 0 ? false : _ref22$showRuleSelect,
901
+ groupName = _ref22.groupName;
895
902
  return fields.reduce(function (columns, field) {
896
903
  if (isEmpty(selectedFields) || selectedFields.includes(field.name)) {
897
904
  var id = field.id,
@@ -1001,7 +1008,7 @@ var buildRuleValue = function buildRuleValue(_ref) {
1001
1008
  return "";
1002
1009
  };
1003
1010
  var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
1004
- return filters.length === 1 && filters[0].key === "search_term";
1011
+ return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
1005
1012
  };
1006
1013
 
1007
1014
  var Block = function Block(_ref) {
@@ -1039,7 +1046,7 @@ var Block = function Block(_ref) {
1039
1046
  theme: "light"
1040
1047
  }, /*#__PURE__*/React.createElement("div", {
1041
1048
  className: "neeto-filters-bar__block",
1042
- "data-cy": "neeto-filters-".concat(key, "-block"),
1049
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-block"),
1043
1050
  tabIndex: 0,
1044
1051
  ref: function ref(node) {
1045
1052
  deleteBlockHotKeyRef.current = node;
@@ -1058,7 +1065,7 @@ var Block = function Block(_ref) {
1058
1065
  }, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
1059
1066
  className: "neeto-filters-bar__block-close"
1060
1067
  }, /*#__PURE__*/React.createElement(Close, {
1061
- "data-cy": "neeto-filters-".concat(key, "-block-close-btn"),
1068
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-block-close-btn"),
1062
1069
  size: 16,
1063
1070
  strokeWidth: 2,
1064
1071
  onClick: function onClick(event) {
@@ -1084,7 +1091,7 @@ var ChildBlock = function ChildBlock(_ref) {
1084
1091
  });
1085
1092
  return /*#__PURE__*/React.createElement("div", {
1086
1093
  className: "neeto-filters-bar__block",
1087
- "data-cy": "neeto-filters-".concat(childKey, "-block"),
1094
+ "data-cy": "neeto-filters-".concat(hyphenate(childKey), "-block"),
1088
1095
  tabIndex: 0,
1089
1096
  ref: function ref(node) {
1090
1097
  deleteBlockHotKeyRef.current = node;
@@ -1099,7 +1106,7 @@ var ChildBlock = function ChildBlock(_ref) {
1099
1106
  }, childKey), /*#__PURE__*/React.createElement("div", {
1100
1107
  className: "neeto-filters-bar__block-close"
1101
1108
  }, /*#__PURE__*/React.createElement(Close, {
1102
- "data-cy": "neeto-filters-".concat(childKey, "-block-close-btn"),
1109
+ "data-cy": "neeto-filters-".concat(hyphenate(childKey), "-block-close-btn"),
1103
1110
  size: 16,
1104
1111
  strokeWidth: 2,
1105
1112
  onClick: function onClick(event) {
@@ -1369,14 +1376,16 @@ var Bar = function Bar(_ref) {
1369
1376
  var _useTranslation = useTranslation(),
1370
1377
  t = _useTranslation.t;
1371
1378
  var initialRenderRef = useRef(true);
1372
- var searchParams = useQueryParams();
1373
- var keywordValue = searchParams.search_term || "";
1379
+ var searchParams = useQueryParams({
1380
+ toCamelCase: false
1381
+ });
1382
+ var keywordValue = searchParams[SEARCH_TERM_KEY] || "";
1374
1383
  var keywordFilter = _objectSpread$2(_objectSpread$2({
1375
1384
  type: "text",
1376
1385
  rule: "contains",
1377
1386
  label: t("neetoFilters.common.searchTerm")
1378
1387
  }, keyword), {}, {
1379
- key: "search_term",
1388
+ key: SEARCH_TERM_KEY,
1380
1389
  value: keywordValue
1381
1390
  });
1382
1391
  var filters = buildFiltersFromSearchParams(isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue) ? [keywordFilter].concat(_toConsumableArray(columns)) : columns);
@@ -1397,14 +1406,14 @@ var Bar = function Bar(_ref) {
1397
1406
  });
1398
1407
  };
1399
1408
  var handleDelete = function handleDelete(key) {
1400
- if (key === "search_term") {
1401
- var params = omit(["search_term"], getQueryParams());
1409
+ if (key === SEARCH_TERM_KEY) {
1410
+ var params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
1402
1411
  var pathname = window.location.pathname;
1403
1412
  history.push(buildUrl(pathname, params));
1404
1413
  return;
1405
1414
  }
1406
1415
  if (childrenKeys.includes(key)) {
1407
- var _params = omit([key], getQueryParams());
1416
+ var _params = omit([key], getSnakeCasedQueryParams());
1408
1417
  var _pathname = window.location.pathname;
1409
1418
  history.push(buildUrl(_pathname, _params));
1410
1419
  }
@@ -1414,7 +1423,7 @@ var Bar = function Bar(_ref) {
1414
1423
  handleSubmit(newFilters);
1415
1424
  };
1416
1425
  var handleClearAll = function handleClearAll() {
1417
- var params = isKeywordFilterPresent(keywordFilter) ? omit(["search_term"], getQueryParams()) : getQueryParams();
1426
+ var params = isKeywordFilterPresent(keywordFilter) ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams()) : getSnakeCasedQueryParams();
1418
1427
  var pathname = window.location.pathname;
1419
1428
  history.push(buildUrl(pathname, params));
1420
1429
  handleSubmit([], true);
@@ -2449,7 +2458,7 @@ var useFilters = function useFilters(_ref) {
2449
2458
  };
2450
2459
  var handleChangesInURL = function handleChangesInURL() {
2451
2460
  var defaultFilters = buildDefaultFilters(columns, filters);
2452
- var searchParams = getQueryParams();
2461
+ var searchParams = getSnakeCasedQueryParams();
2453
2462
  var keys = pluck("key", append(keywordFilter, columns));
2454
2463
  if (keys.every(function (key) {
2455
2464
  return isNil(searchParams[key]);
@@ -2610,10 +2619,10 @@ var Boolean = function Boolean(_ref) {
2610
2619
  options: options,
2611
2620
  value: value,
2612
2621
  isClearable: true,
2613
- "data-cy": "neeto-filters-".concat(key, "-filter"),
2622
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
2614
2623
  strategy: "fixed",
2615
2624
  placeholder: t("neetoFilters.messages.selectOption", {
2616
- resource: label.toLocaleLowerCase()
2625
+ resource: label
2617
2626
  }),
2618
2627
  onChange: handleChange
2619
2628
  }, otherProps));
@@ -2681,16 +2690,16 @@ var Datetime = function Datetime(_ref) {
2681
2690
  autoFocus: autoFocus,
2682
2691
  label: label,
2683
2692
  isClearable: true,
2684
- "data-cy": "neeto-filters-".concat(key, "-filter"),
2693
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
2685
2694
  options: DATE_OPTIONS,
2686
2695
  strategy: "fixed",
2687
2696
  value: selectedRule,
2688
2697
  placeholder: t("neetoFilters.messages.selectResource", {
2689
- resource: label.toLocaleLowerCase()
2698
+ resource: label
2690
2699
  }),
2691
2700
  onChange: handleChange
2692
2701
  }), isDatePickerShown && /*#__PURE__*/React.createElement(DatePicker, _extends({
2693
- "data-cy": "neeto-filters-".concat(key, "-date-range"),
2702
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
2694
2703
  getPopupContainer: prop("parentNode"),
2695
2704
  type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
2696
2705
  value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
@@ -2744,12 +2753,12 @@ var Dropdown = function Dropdown(_ref) {
2744
2753
  label: label,
2745
2754
  options: options,
2746
2755
  value: value,
2747
- "data-cy": "neeto-filters-".concat(key, "-filter"),
2756
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
2748
2757
  isClearable: !defaultValue && isClearable,
2749
2758
  isMulti: isMulti(defaultType),
2750
2759
  strategy: "fixed",
2751
2760
  placeholder: t("neetoFilters.messages.selectResource", {
2752
- resource: label.toLocaleLowerCase()
2761
+ resource: label
2753
2762
  }),
2754
2763
  onChange: handleChange
2755
2764
  }, otherProps));
@@ -2823,7 +2832,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
2823
2832
  className: "neeto-filters-pane-filter__item-wrapper"
2824
2833
  }, /*#__PURE__*/React.createElement(Select, {
2825
2834
  label: label,
2826
- "data-cy": "neeto-filters-".concat(key, "-filter-rule"),
2835
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
2827
2836
  defaultValue: SINGLE_DATE_OPTIONS[0],
2828
2837
  options: SINGLE_DATE_OPTIONS,
2829
2838
  strategy: "fixed",
@@ -2832,7 +2841,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
2832
2841
  }), /*#__PURE__*/React.createElement(DatePicker, _extends({
2833
2842
  autoFocus: autoFocus,
2834
2843
  value: value,
2835
- "data-cy": "neeto-filters-".concat(key, "-filter"),
2844
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
2836
2845
  getPopupContainer: prop("parentNode"),
2837
2846
  type: datePickerType,
2838
2847
  onChange: handleChange
@@ -2908,7 +2917,7 @@ var SingleTime = function SingleTime(_ref) {
2908
2917
  value: value,
2909
2918
  use12Hours: true,
2910
2919
  className: "w-full",
2911
- "data-cy": "neeto-filters-".concat(key, "-filter"),
2920
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
2912
2921
  format: "h:mm A",
2913
2922
  getPopupContainer: prop("parentNode"),
2914
2923
  type: timePickerType,
@@ -2990,7 +2999,7 @@ var Text = function Text(_ref) {
2990
2999
  className: "neeto-filters-pane-filter__item-wrapper"
2991
3000
  }, showRuleSelector && /*#__PURE__*/React.createElement(Select, {
2992
3001
  label: label,
2993
- "data-cy": "neeto-filters-".concat(key, "-filter-rule"),
3002
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
2994
3003
  defaultValue: ruleOptions[0],
2995
3004
  options: ruleOptions,
2996
3005
  strategy: "fixed",
@@ -2998,12 +3007,12 @@ var Text = function Text(_ref) {
2998
3007
  onChange: handleRuleChange
2999
3008
  }), /*#__PURE__*/React.createElement(Input$1, _extends({
3000
3009
  autoFocus: autoFocus,
3001
- "data-cy": "neeto-filters-".concat(key, "-filter"),
3010
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
3002
3011
  label: !showRuleSelector && label,
3003
3012
  type: inputType,
3004
3013
  value: inputValue,
3005
3014
  placeholder: t("neetoFilters.messages.enterResource", {
3006
- resource: label.toLocaleLowerCase()
3015
+ resource: label
3007
3016
  }),
3008
3017
  onChange: function onChange(event) {
3009
3018
  return setInputValue(event.target.value);
@@ -3059,16 +3068,16 @@ var Time = function Time(_ref) {
3059
3068
  label: label,
3060
3069
  value: value,
3061
3070
  isClearable: true,
3062
- "data-cy": "neeto-filters-".concat(key, "-filter"),
3071
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
3063
3072
  options: TIME_OPTIONS,
3064
3073
  strategy: "fixed",
3065
3074
  placeholder: t("neetoFilters.messages.selectResource", {
3066
- resource: label.toLocaleLowerCase()
3075
+ resource: label
3067
3076
  }),
3068
3077
  onChange: handleChange
3069
3078
  }), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePicker, _extends({
3070
3079
  use12Hours: true,
3071
- "data-cy": "neeto-filters-".concat(key, "-date-range"),
3080
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
3072
3081
  format: "h:mm A",
3073
3082
  getPopupContainer: prop("parentNode"),
3074
3083
  type: "range",
@@ -3175,7 +3184,9 @@ var Pane = function Pane(_ref) {
3175
3184
  childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
3176
3185
  children = _ref.children,
3177
3186
  otherProps = _objectWithoutProperties(_ref, _excluded);
3178
- var searchParams = useQueryParams();
3187
+ var searchParams = useQueryParams({
3188
+ toCamelCase: false
3189
+ });
3179
3190
  var _useState = useState(""),
3180
3191
  _useState2 = _slicedToArray(_useState, 2),
3181
3192
  searchTerm = _useState2[0],
@@ -3199,8 +3210,8 @@ var Pane = function Pane(_ref) {
3199
3210
  rule: "contains",
3200
3211
  label: t("neetoFilters.common.searchTerm")
3201
3212
  }, keyword), {}, {
3202
- key: "search_term",
3203
- value: searchParams.search_term || ""
3213
+ key: SEARCH_TERM_KEY,
3214
+ value: searchParams[SEARCH_TERM_KEY] || ""
3204
3215
  });
3205
3216
  var filters = useFilters({
3206
3217
  onFiltersChange: onChange,
@@ -3222,7 +3233,7 @@ var Pane = function Pane(_ref) {
3222
3233
  });
3223
3234
  };
3224
3235
  var handleClearAll = function handleClearAll() {
3225
- var params = isKeywordFilterPresent(keywordFilter) ? omit(["search_term"], getQueryParams()) : getQueryParams();
3236
+ var params = isKeywordFilterPresent(keywordFilter) ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams()) : getSnakeCasedQueryParams();
3226
3237
  var pathname = window.location.pathname;
3227
3238
  history.push(buildUrl(pathname, params));
3228
3239
  handleChange([], true);
@@ -3561,23 +3572,20 @@ var ITEMS_MAX_COUNT = 20;
3561
3572
 
3562
3573
  var MenuBlocks = function MenuBlocks(_ref) {
3563
3574
  var entity = _ref.entity,
3564
- searchTerm = _ref.searchTerm,
3565
3575
  columns = _ref.columns,
3566
3576
  defaultSegmentName = _ref.defaultSegmentName;
3567
3577
  var _useState = useState(false),
3568
3578
  _useState2 = _slicedToArray(_useState, 2),
3569
3579
  showAll = _useState2[0],
3570
3580
  setShowAll = _useState2[1];
3571
- var location = useLocation();
3572
3581
  var history = useHistory();
3573
3582
  var _useTranslation = useTranslation(),
3574
3583
  t = _useTranslation.t;
3575
- var _Object$fromEntries = Object.fromEntries(new URLSearchParams(location.search)),
3576
- segmentId = _Object$fromEntries.segmentId;
3584
+ var _getQueryParams = getQueryParams(),
3585
+ segmentId = _getQueryParams.segmentId;
3577
3586
  var appliedFilters = buildFiltersFromURL(columns);
3578
3587
  var _useFetchSegments = useFetchSegments({
3579
- entity: entity,
3580
- searchTerm: searchTerm
3588
+ entity: entity
3581
3589
  }),
3582
3590
  _useFetchSegments$dat = _useFetchSegments.data,
3583
3591
  segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
@@ -3661,34 +3669,13 @@ var Segments = function Segments(_ref) {
3661
3669
  _ref$defaultSegmentNa = _ref.defaultSegmentName,
3662
3670
  defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t$1("neetoFilters.common.allResults") : _ref$defaultSegmentNa;
3663
3671
  return function () {
3664
- var _useState = useState(""),
3672
+ var _useState = useState(false),
3665
3673
  _useState2 = _slicedToArray(_useState, 2),
3666
- searchTerm = _useState2[0],
3667
- setSearchTerm = _useState2[1];
3668
- var _useState3 = useState(true),
3669
- _useState4 = _slicedToArray(_useState3, 2),
3670
- isSearchCollapsed = _useState4[0],
3671
- setIsSearchCollapsed = _useState4[1];
3672
- var _useState5 = useState(false),
3673
- _useState6 = _slicedToArray(_useState5, 2),
3674
- isSegmentsPaneOpen = _useState6[0],
3675
- setIsSegmentsPaneOpen = _useState6[1];
3674
+ isSegmentsPaneOpen = _useState2[0],
3675
+ setIsSegmentsPaneOpen = _useState2[1];
3676
3676
  var _useTranslation = useTranslation(),
3677
3677
  t = _useTranslation.t;
3678
- var debouncedSearchTerm = useDebounce(searchTerm);
3679
3678
  var iconProps = [{
3680
- icon: Search$1,
3681
- onClick: function onClick() {
3682
- setSearchTerm("");
3683
- setIsSearchCollapsed(function (collapsed) {
3684
- return !collapsed;
3685
- });
3686
- },
3687
- tooltipProps: {
3688
- content: t("neetoFilters.segments.searchSegments"),
3689
- position: "top"
3690
- }
3691
- }, {
3692
3679
  icon: Settings,
3693
3680
  onClick: function onClick() {
3694
3681
  setIsFilterPaneOpen(false);
@@ -3706,24 +3693,10 @@ var Segments = function Segments(_ref) {
3706
3693
  style: "h5",
3707
3694
  textTransform: "uppercase",
3708
3695
  weight: "bold"
3709
- }, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBar.Search, {
3710
- autoFocus: true,
3711
- isCollapsed: isSearchCollapsed,
3712
- placeholder: t("neetoFilters.segments.searchSegments"),
3713
- value: searchTerm,
3714
- onChange: function onChange(_ref2) {
3715
- var value = _ref2.target.value;
3716
- return setSearchTerm(value);
3717
- },
3718
- onCollapse: function onCollapse() {
3719
- setSearchTerm("");
3720
- setIsSearchCollapsed(true);
3721
- }
3722
- }), /*#__PURE__*/React.createElement(MenuBlocks$1, {
3696
+ }, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
3723
3697
  columns: columns,
3724
3698
  defaultSegmentName: defaultSegmentName,
3725
- entity: entity,
3726
- searchTerm: debouncedSearchTerm
3699
+ entity: entity
3727
3700
  }), /*#__PURE__*/React.createElement(ManagePane, {
3728
3701
  columns: columns,
3729
3702
  defaultSegmentName: defaultSegmentName,
@@ -3737,5 +3710,5 @@ var Segments = function Segments(_ref) {
3737
3710
  };
3738
3711
  var index = /*#__PURE__*/React.memo(Segments);
3739
3712
 
3740
- export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL };
3713
+ export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL, useFetchSegments };
3741
3714
  //# sourceMappingURL=index.js.map