@bigbinary/neeto-filters-frontend 3.0.8 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,7 +34,9 @@ The engine is used to manage filters across neeto products.
34
34
  ```
35
35
  4. Execute the following command to generate the migration to generate the `neeto_filters_engine_segments` table.
36
36
  ```zsh
37
- rails g neeto_filters_engine:install
37
+ bundle exec rails neeto_filters_engine:install:migrations
38
+
39
+ bundle exec rails db:migrate
38
40
  ```
39
41
  5. Add the following line to `models/organization.rb` file.
40
42
  ```ruby
@@ -303,6 +305,20 @@ const selectedFields = ["name", "age"];
303
305
  const filterColumns = buildFilterColumnsFromFields({ fields, selectedFields });
304
306
 
305
307
  ```
308
+
309
+ #### 4. `useFetchSegments`([source code](https://github.com/bigbinary/neeto-filters-nano/blob/b6421775adb20ba859609e71610fad944492147e/app/javascript/src/hooks/reactQuery/useSegmentsApi.js#L10-L18))
310
+
311
+ The `useFetchSegments` hook is used to fetch the array of segments based on the provided `entity`.
312
+
313
+ #### Parameters
314
+
315
+ - `entity`: The entity associated with the segments to be fetched.
316
+ - `searchTerm`: The search term for fetching the segments filtered by names containing the search term.
317
+
318
+ ```js
319
+ const { data: segments = [], isLoading } = useFetchSegments({ entity: "User" });
320
+ ```
321
+
306
322
  ## Basic Usage
307
323
 
308
324
  Here is an example of how to use the `neeto-filters-engine` gem assuming that the
package/dist/index.cjs.js CHANGED
@@ -3594,7 +3594,6 @@ var ITEMS_MAX_COUNT = 20;
3594
3594
 
3595
3595
  var MenuBlocks = function MenuBlocks(_ref) {
3596
3596
  var entity = _ref.entity,
3597
- searchTerm = _ref.searchTerm,
3598
3597
  columns = _ref.columns,
3599
3598
  defaultSegmentName = _ref.defaultSegmentName;
3600
3599
  var _useState = React.useState(false),
@@ -3609,8 +3608,7 @@ var MenuBlocks = function MenuBlocks(_ref) {
3609
3608
  segmentId = _Object$fromEntries.segmentId;
3610
3609
  var appliedFilters = buildFiltersFromURL(columns);
3611
3610
  var _useFetchSegments = useFetchSegments({
3612
- entity: entity,
3613
- searchTerm: searchTerm
3611
+ entity: entity
3614
3612
  }),
3615
3613
  _useFetchSegments$dat = _useFetchSegments.data,
3616
3614
  segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
@@ -3694,34 +3692,13 @@ var Segments = function Segments(_ref) {
3694
3692
  _ref$defaultSegmentNa = _ref.defaultSegmentName,
3695
3693
  defaultSegmentName = _ref$defaultSegmentNa === void 0 ? i18next.t("neetoFilters.common.allResults") : _ref$defaultSegmentNa;
3696
3694
  return function () {
3697
- var _useState = React.useState(""),
3695
+ var _useState = React.useState(false),
3698
3696
  _useState2 = _slicedToArray(_useState, 2),
3699
- searchTerm = _useState2[0],
3700
- setSearchTerm = _useState2[1];
3701
- var _useState3 = React.useState(true),
3702
- _useState4 = _slicedToArray(_useState3, 2),
3703
- isSearchCollapsed = _useState4[0],
3704
- setIsSearchCollapsed = _useState4[1];
3705
- var _useState5 = React.useState(false),
3706
- _useState6 = _slicedToArray(_useState5, 2),
3707
- isSegmentsPaneOpen = _useState6[0],
3708
- setIsSegmentsPaneOpen = _useState6[1];
3697
+ isSegmentsPaneOpen = _useState2[0],
3698
+ setIsSegmentsPaneOpen = _useState2[1];
3709
3699
  var _useTranslation = reactI18next.useTranslation(),
3710
3700
  t = _useTranslation.t;
3711
- var debouncedSearchTerm = reactUtils.useDebounce(searchTerm);
3712
3701
  var iconProps = [{
3713
- icon: neetoIcons.Search,
3714
- onClick: function onClick() {
3715
- setSearchTerm("");
3716
- setIsSearchCollapsed(function (collapsed) {
3717
- return !collapsed;
3718
- });
3719
- },
3720
- tooltipProps: {
3721
- content: t("neetoFilters.segments.searchSegments"),
3722
- position: "top"
3723
- }
3724
- }, {
3725
3702
  icon: neetoIcons.Settings,
3726
3703
  onClick: function onClick() {
3727
3704
  setIsFilterPaneOpen(false);
@@ -3739,24 +3716,10 @@ var Segments = function Segments(_ref) {
3739
3716
  style: "h5",
3740
3717
  textTransform: "uppercase",
3741
3718
  weight: "bold"
3742
- }, t("neetoFilters.common.segments"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Search, {
3743
- autoFocus: true,
3744
- isCollapsed: isSearchCollapsed,
3745
- placeholder: t("neetoFilters.segments.searchSegments"),
3746
- value: searchTerm,
3747
- onChange: function onChange(_ref2) {
3748
- var value = _ref2.target.value;
3749
- return setSearchTerm(value);
3750
- },
3751
- onCollapse: function onCollapse() {
3752
- setSearchTerm("");
3753
- setIsSearchCollapsed(true);
3754
- }
3755
- }), /*#__PURE__*/React__default["default"].createElement(MenuBlocks$1, {
3719
+ }, t("neetoFilters.common.segments"))), /*#__PURE__*/React__default["default"].createElement(MenuBlocks$1, {
3756
3720
  columns: columns,
3757
3721
  defaultSegmentName: defaultSegmentName,
3758
- entity: entity,
3759
- searchTerm: debouncedSearchTerm
3722
+ entity: entity
3760
3723
  }), /*#__PURE__*/React__default["default"].createElement(ManagePane, {
3761
3724
  columns: columns,
3762
3725
  defaultSegmentName: defaultSegmentName,
@@ -3776,4 +3739,5 @@ exports.Segments = index;
3776
3739
  exports.buildFilterColumnsFromFields = buildFilterColumnsFromFields;
3777
3740
  exports.buildFiltersFromURL = buildFiltersFromURL;
3778
3741
  exports.buildSelectorsFromURL = buildSelectorsFromURL;
3742
+ exports.useFetchSegments = useFetchSegments;
3779
3743
  //# sourceMappingURL=index.cjs.js.map