@bigbinary/neeto-filters-frontend 2.12.11 → 2.12.13

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,4 +1,4 @@
1
- import React, { createElement, isValidElement, cloneElement, createContext, useContext, useState, useRef, useEffect, useMemo } from 'react';
1
+ import React, { createElement, isValidElement, cloneElement, createContext, useContext, useState, useRef, useEffect, useTransition, useMemo } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { capitalize as capitalize$1, removeBy, findBy, isNotEmpty, humanize, noop as noop$2, toLabelAndValue, replaceBy, isPresent, existsBy, filterBy } from '@bigbinary/neeto-commons-frontend/pure';
4
4
  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';
@@ -4037,7 +4037,8 @@ var Segment = function Segment(_ref) {
4037
4037
  var entity = _ref.entity,
4038
4038
  filters = _ref.filters,
4039
4039
  columns = _ref.columns,
4040
- childrenKeys = _ref.childrenKeys;
4040
+ childrenKeys = _ref.childrenKeys,
4041
+ setIsFilterPaneOpen = _ref.setIsFilterPaneOpen;
4041
4042
  var _useState = useState(false),
4042
4043
  _useState2 = _slicedToArray(_useState, 2),
4043
4044
  isSavePaneOpen = _useState2[0],
@@ -4104,7 +4105,8 @@ var Segment = function Segment(_ref) {
4104
4105
  label: t("segments.saveAsSegment"),
4105
4106
  style: "secondary",
4106
4107
  onClick: function onClick() {
4107
- return setIsSavePaneOpen(true);
4108
+ setIsFilterPaneOpen(false);
4109
+ setIsSavePaneOpen(true);
4108
4110
  }
4109
4111
  }) : /*#__PURE__*/React.createElement(Dropdown$2, {
4110
4112
  buttonStyle: "secondary",
@@ -4113,7 +4115,10 @@ var Segment = function Segment(_ref) {
4113
4115
  isDisabled: equals(filtersPayload, selectedSegment === null || selectedSegment === void 0 ? void 0 : selectedSegment.filters),
4114
4116
  onClick: setIsUpdateAlertOpen
4115
4117
  }, t("segments.saveSegment")), /*#__PURE__*/React.createElement(MenuItem.Button, {
4116
- onClick: setIsSavePaneOpen
4118
+ onClick: function onClick() {
4119
+ setIsFilterPaneOpen(false);
4120
+ setIsSavePaneOpen(true);
4121
+ }
4117
4122
  }, t("segments.saveAsNewSegment")))), /*#__PURE__*/React.createElement(Pane$1, {
4118
4123
  initialFocusRef: inputRef,
4119
4124
  isOpen: isSavePaneOpen,
@@ -4280,7 +4285,8 @@ var Bar = function Bar(_ref) {
4280
4285
  childrenKeys: childrenKeys,
4281
4286
  columns: columns,
4282
4287
  entity: entity,
4283
- filters: filters
4288
+ filters: filters,
4289
+ setIsFilterPaneOpen: setIsPaneOpen
4284
4290
  }), !hideClearButton && /*#__PURE__*/React.createElement(Button, {
4285
4291
  "data-cy": "neeto-filters-bar-clear-btn",
4286
4292
  label: t("common.clearFilters"),
@@ -6762,6 +6768,10 @@ var useFilters = function useFilters(_ref) {
6762
6768
  columns = _ref.columns,
6763
6769
  keyword = _ref.keyword,
6764
6770
  onSelectorsChange = _ref.onSelectorsChange;
6771
+ var _useTransition = useTransition(),
6772
+ _useTransition2 = _slicedToArray(_useTransition, 2);
6773
+ _useTransition2[0];
6774
+ var startTransition = _useTransition2[1];
6765
6775
  var initialRender = useRef(true);
6766
6776
  var prevFilters = useRef([]);
6767
6777
  var location = useLocation();
@@ -6783,6 +6793,13 @@ var useFilters = function useFilters(_ref) {
6783
6793
  search: params
6784
6794
  });
6785
6795
  };
6796
+ var handleFiltersChange = function handleFiltersChange(filtersPayload) {
6797
+ startTransition(function () {
6798
+ onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
6799
+ return !isNil(filter.node);
6800
+ })));
6801
+ });
6802
+ };
6786
6803
 
6787
6804
  //This function sends the updated filters to host via callbacks.
6788
6805
  var sendUpdatedFilters = function sendUpdatedFilters() {
@@ -6791,9 +6808,7 @@ var useFilters = function useFilters(_ref) {
6791
6808
  }
6792
6809
  var newFilters = buildFiltersFromSearchParams(columns);
6793
6810
  var filtersPayload = keyword.value ? append(keywordFilter, newFilters) : newFilters;
6794
- onFiltersChange(buildFiltersPayload(filtersPayload.filter(function (filter) {
6795
- return !isNil(filter.node);
6796
- })));
6811
+ handleFiltersChange(filtersPayload);
6797
6812
  onSelectorsChange(buildSelectorsFromURL(columns));
6798
6813
  };
6799
6814
  var handleChangesInURL = function handleChangesInURL() {