@reltio/components 1.4.2108 → 1.4.2110
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/cjs/hooks/useSegmentsLoader/useSegmentsLoader.d.ts +2 -1
- package/cjs/hooks/useSegmentsLoader/useSegmentsLoader.js +10 -12
- package/cjs/hooks/useSegmentsSizesLoader/useSegmentsSizesLoader.d.ts +1 -1
- package/cjs/hooks/useSegmentsSizesLoader/useSegmentsSizesLoader.js +1 -3
- package/hooks/useSegmentsLoader/useSegmentsLoader.d.ts +2 -1
- package/hooks/useSegmentsLoader/useSegmentsLoader.js +11 -13
- package/hooks/useSegmentsSizesLoader/useSegmentsSizesLoader.d.ts +1 -1
- package/hooks/useSegmentsSizesLoader/useSegmentsSizesLoader.js +2 -4
- package/package.json +2 -2
|
@@ -6,8 +6,9 @@ type Props = {
|
|
|
6
6
|
page: number;
|
|
7
7
|
enabled: boolean;
|
|
8
8
|
filters?: SegmentationFilters;
|
|
9
|
+
abortControllerRef?: React.MutableRefObject<AbortController | null>;
|
|
9
10
|
};
|
|
10
|
-
export declare const useSegmentsLoader: ({ sorting, rowsPerPage, page, filters, enabled }: Props) => {
|
|
11
|
+
export declare const useSegmentsLoader: ({ sorting, rowsPerPage, page, filters, enabled, abortControllerRef }: Props) => {
|
|
11
12
|
state: RequestStates;
|
|
12
13
|
segments: NewSegment[];
|
|
13
14
|
total: number;
|
|
@@ -53,40 +53,34 @@ var ramda_1 = require("ramda");
|
|
|
53
53
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
54
54
|
var types_1 = require("../../types");
|
|
55
55
|
var segments_1 = require("../../helpers/segments");
|
|
56
|
-
var PageRequestsAbortingContext_1 = require("../../contexts/PageRequestsAbortingContext");
|
|
57
56
|
var useSegmentsLoader = function (_a) {
|
|
58
|
-
var sorting = _a.sorting, rowsPerPage = _a.rowsPerPage, page = _a.page, filters = _a.filters, enabled = _a.enabled;
|
|
59
|
-
var signal = (0, react_1.useContext)(PageRequestsAbortingContext_1.PageRequestsAbortingContext);
|
|
57
|
+
var sorting = _a.sorting, rowsPerPage = _a.rowsPerPage, page = _a.page, filters = _a.filters, enabled = _a.enabled, abortControllerRef = _a.abortControllerRef;
|
|
60
58
|
var _b = (0, react_1.useState)(types_1.RequestStates.INIT), requestState = _b[0], setRequestState = _b[1];
|
|
61
59
|
var _c = (0, react_1.useState)([]), segments = _c[0], setSegments = _c[1];
|
|
62
60
|
var _d = (0, react_1.useState)(0), total = _d[0], setTotal = _d[1];
|
|
63
|
-
var controllerRef = (0, react_1.useRef)(null);
|
|
64
61
|
var _e = sorting || {}, sort = _e.field, order = _e.order;
|
|
65
62
|
var filterString = (0, segments_1.buildSegmentsFilterString)(filters);
|
|
66
63
|
var params = (0, react_1.useMemo)(function () {
|
|
67
64
|
return (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue, {
|
|
68
|
-
signal: signal,
|
|
69
65
|
sort: sort,
|
|
70
66
|
order: order,
|
|
71
67
|
max: rowsPerPage,
|
|
72
68
|
offset: page * rowsPerPage,
|
|
73
69
|
filter: filterString
|
|
74
70
|
});
|
|
75
|
-
}, [sort, order, rowsPerPage, page, filterString
|
|
71
|
+
}, [sort, order, rowsPerPage, page, filterString]);
|
|
76
72
|
var loadRequest = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
-
var
|
|
73
|
+
var signal, response, error_1;
|
|
78
74
|
var _a;
|
|
79
75
|
return __generator(this, function (_b) {
|
|
80
76
|
switch (_b.label) {
|
|
81
77
|
case 0:
|
|
82
|
-
(_a = controllerRef.current) === null || _a === void 0 ? void 0 : _a.abort();
|
|
83
|
-
controller = new AbortController();
|
|
84
|
-
controllerRef.current = controller;
|
|
85
78
|
setRequestState(types_1.RequestStates.LOADING);
|
|
86
79
|
_b.label = 1;
|
|
87
80
|
case 1:
|
|
88
81
|
_b.trys.push([1, 3, , 4]);
|
|
89
|
-
|
|
82
|
+
signal = ((_a = abortControllerRef === null || abortControllerRef === void 0 ? void 0 : abortControllerRef.current) !== null && _a !== void 0 ? _a : {}).signal;
|
|
83
|
+
return [4 /*yield*/, (0, mdm_sdk_1.getSegments)(__assign(__assign({}, params), { signal: signal }))];
|
|
90
84
|
case 2:
|
|
91
85
|
response = _b.sent();
|
|
92
86
|
setSegments(response.segments || []);
|
|
@@ -107,13 +101,17 @@ var useSegmentsLoader = function (_a) {
|
|
|
107
101
|
});
|
|
108
102
|
}); }, [params]);
|
|
109
103
|
(0, react_1.useEffect)(function () {
|
|
104
|
+
if (abortControllerRef) {
|
|
105
|
+
abortControllerRef.current = new AbortController();
|
|
106
|
+
}
|
|
110
107
|
if (enabled) {
|
|
111
108
|
loadRequest();
|
|
112
109
|
}
|
|
113
110
|
return function () {
|
|
114
111
|
var _a;
|
|
115
|
-
(_a =
|
|
112
|
+
(_a = abortControllerRef === null || abortControllerRef === void 0 ? void 0 : abortControllerRef.current) === null || _a === void 0 ? void 0 : _a.abort();
|
|
116
113
|
};
|
|
114
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
117
115
|
}, [loadRequest, enabled]);
|
|
118
116
|
return {
|
|
119
117
|
state: requestState,
|
|
@@ -2,5 +2,5 @@ import { NewSegment } from '@reltio/mdm-sdk';
|
|
|
2
2
|
type SegmentsSizes = {
|
|
3
3
|
[id: string]: number;
|
|
4
4
|
};
|
|
5
|
-
export declare const useSegmentsSizesLoader: (segments: NewSegment[]) => SegmentsSizes;
|
|
5
|
+
export declare const useSegmentsSizesLoader: (segments: NewSegment[], signal?: AbortSignal) => SegmentsSizes;
|
|
6
6
|
export {};
|
|
@@ -50,10 +50,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
50
50
|
exports.useSegmentsSizesLoader = void 0;
|
|
51
51
|
var react_1 = require("react");
|
|
52
52
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
53
|
-
var
|
|
54
|
-
var useSegmentsSizesLoader = function (segments) {
|
|
53
|
+
var useSegmentsSizesLoader = function (segments, signal) {
|
|
55
54
|
var _a = (0, react_1.useState)({}), segmentsSizes = _a[0], setSegmentsSizes = _a[1];
|
|
56
|
-
var signal = (0, react_1.useContext)(PageRequestsAbortingContext_1.PageRequestsAbortingContext);
|
|
57
55
|
(0, react_1.useEffect)(function () {
|
|
58
56
|
segments.forEach(function (segment) { return __awaiter(void 0, void 0, void 0, function () {
|
|
59
57
|
var total_1, _a;
|
|
@@ -6,8 +6,9 @@ type Props = {
|
|
|
6
6
|
page: number;
|
|
7
7
|
enabled: boolean;
|
|
8
8
|
filters?: SegmentationFilters;
|
|
9
|
+
abortControllerRef?: React.MutableRefObject<AbortController | null>;
|
|
9
10
|
};
|
|
10
|
-
export declare const useSegmentsLoader: ({ sorting, rowsPerPage, page, filters, enabled }: Props) => {
|
|
11
|
+
export declare const useSegmentsLoader: ({ sorting, rowsPerPage, page, filters, enabled, abortControllerRef }: Props) => {
|
|
11
12
|
state: RequestStates;
|
|
12
13
|
segments: NewSegment[];
|
|
13
14
|
total: number;
|
|
@@ -45,45 +45,39 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
45
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
import { useCallback,
|
|
48
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
49
49
|
import { reject } from 'ramda';
|
|
50
50
|
import { getSegments, isAbortError, isEmptyValue } from '@reltio/mdm-sdk';
|
|
51
51
|
import { RequestStates } from '../../types';
|
|
52
52
|
import { buildSegmentsFilterString } from '../../helpers/segments';
|
|
53
|
-
import { PageRequestsAbortingContext } from '../../contexts/PageRequestsAbortingContext';
|
|
54
53
|
export var useSegmentsLoader = function (_a) {
|
|
55
|
-
var sorting = _a.sorting, rowsPerPage = _a.rowsPerPage, page = _a.page, filters = _a.filters, enabled = _a.enabled;
|
|
56
|
-
var signal = useContext(PageRequestsAbortingContext);
|
|
54
|
+
var sorting = _a.sorting, rowsPerPage = _a.rowsPerPage, page = _a.page, filters = _a.filters, enabled = _a.enabled, abortControllerRef = _a.abortControllerRef;
|
|
57
55
|
var _b = useState(RequestStates.INIT), requestState = _b[0], setRequestState = _b[1];
|
|
58
56
|
var _c = useState([]), segments = _c[0], setSegments = _c[1];
|
|
59
57
|
var _d = useState(0), total = _d[0], setTotal = _d[1];
|
|
60
|
-
var controllerRef = useRef(null);
|
|
61
58
|
var _e = sorting || {}, sort = _e.field, order = _e.order;
|
|
62
59
|
var filterString = buildSegmentsFilterString(filters);
|
|
63
60
|
var params = useMemo(function () {
|
|
64
61
|
return reject(isEmptyValue, {
|
|
65
|
-
signal: signal,
|
|
66
62
|
sort: sort,
|
|
67
63
|
order: order,
|
|
68
64
|
max: rowsPerPage,
|
|
69
65
|
offset: page * rowsPerPage,
|
|
70
66
|
filter: filterString
|
|
71
67
|
});
|
|
72
|
-
}, [sort, order, rowsPerPage, page, filterString
|
|
68
|
+
}, [sort, order, rowsPerPage, page, filterString]);
|
|
73
69
|
var loadRequest = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
74
|
-
var
|
|
70
|
+
var signal, response, error_1;
|
|
75
71
|
var _a;
|
|
76
72
|
return __generator(this, function (_b) {
|
|
77
73
|
switch (_b.label) {
|
|
78
74
|
case 0:
|
|
79
|
-
(_a = controllerRef.current) === null || _a === void 0 ? void 0 : _a.abort();
|
|
80
|
-
controller = new AbortController();
|
|
81
|
-
controllerRef.current = controller;
|
|
82
75
|
setRequestState(RequestStates.LOADING);
|
|
83
76
|
_b.label = 1;
|
|
84
77
|
case 1:
|
|
85
78
|
_b.trys.push([1, 3, , 4]);
|
|
86
|
-
|
|
79
|
+
signal = ((_a = abortControllerRef === null || abortControllerRef === void 0 ? void 0 : abortControllerRef.current) !== null && _a !== void 0 ? _a : {}).signal;
|
|
80
|
+
return [4 /*yield*/, getSegments(__assign(__assign({}, params), { signal: signal }))];
|
|
87
81
|
case 2:
|
|
88
82
|
response = _b.sent();
|
|
89
83
|
setSegments(response.segments || []);
|
|
@@ -104,13 +98,17 @@ export var useSegmentsLoader = function (_a) {
|
|
|
104
98
|
});
|
|
105
99
|
}); }, [params]);
|
|
106
100
|
useEffect(function () {
|
|
101
|
+
if (abortControllerRef) {
|
|
102
|
+
abortControllerRef.current = new AbortController();
|
|
103
|
+
}
|
|
107
104
|
if (enabled) {
|
|
108
105
|
loadRequest();
|
|
109
106
|
}
|
|
110
107
|
return function () {
|
|
111
108
|
var _a;
|
|
112
|
-
(_a =
|
|
109
|
+
(_a = abortControllerRef === null || abortControllerRef === void 0 ? void 0 : abortControllerRef.current) === null || _a === void 0 ? void 0 : _a.abort();
|
|
113
110
|
};
|
|
111
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
112
|
}, [loadRequest, enabled]);
|
|
115
113
|
return {
|
|
116
114
|
state: requestState,
|
|
@@ -2,5 +2,5 @@ import { NewSegment } from '@reltio/mdm-sdk';
|
|
|
2
2
|
type SegmentsSizes = {
|
|
3
3
|
[id: string]: number;
|
|
4
4
|
};
|
|
5
|
-
export declare const useSegmentsSizesLoader: (segments: NewSegment[]) => SegmentsSizes;
|
|
5
|
+
export declare const useSegmentsSizesLoader: (segments: NewSegment[], signal?: AbortSignal) => SegmentsSizes;
|
|
6
6
|
export {};
|
|
@@ -45,12 +45,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
45
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
import {
|
|
48
|
+
import { useEffect, useState } from 'react';
|
|
49
49
|
import { getSegmentTotal } from '@reltio/mdm-sdk';
|
|
50
|
-
|
|
51
|
-
export var useSegmentsSizesLoader = function (segments) {
|
|
50
|
+
export var useSegmentsSizesLoader = function (segments, signal) {
|
|
52
51
|
var _a = useState({}), segmentsSizes = _a[0], setSegmentsSizes = _a[1];
|
|
53
|
-
var signal = useContext(PageRequestsAbortingContext);
|
|
54
52
|
useEffect(function () {
|
|
55
53
|
segments.forEach(function (segment) { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
54
|
var total_1, _a;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2110",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@fluentui/react-context-selector": "^9.1.26",
|
|
12
12
|
"@googlemaps/markerclusterer": "^2.5.3",
|
|
13
13
|
"@react-sigma/core": "3.4.0",
|
|
14
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
14
|
+
"@reltio/mdm-sdk": "^1.4.1946",
|
|
15
15
|
"@vis.gl/react-google-maps": "^1.3.0",
|
|
16
16
|
"d3-cloud": "^1.2.5",
|
|
17
17
|
"d3-geo": "^2.0.1",
|