@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 +17 -1
- package/dist/index.cjs.js +7 -43
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +8 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +12 -0
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
|
|
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
|
-
|
|
3700
|
-
|
|
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(
|
|
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
|