@reltio/components 1.4.1105 → 1.4.1108
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/components/AttributesFiltersButton/AttributesFiltersButton.js +2 -4
- package/cjs/components/CollaborationItem/CommentTarget/CommentTarget.js +14 -6
- package/cjs/components/MergeButton/MergeButton.d.ts +1 -0
- package/cjs/components/MergeButton/MergeButton.js +3 -2
- package/cjs/components/NotMatchButton/NotMatchButton.d.ts +1 -0
- package/cjs/components/NotMatchButton/NotMatchButton.js +3 -2
- package/cjs/contexts/SnackbarContext/index.d.ts +2 -0
- package/cjs/contexts/SnackbarContext/index.js +9 -0
- package/cjs/contexts/index.d.ts +1 -0
- package/cjs/contexts/index.js +3 -1
- package/cjs/hooks/index.d.ts +2 -0
- package/cjs/hooks/index.js +5 -1
- package/cjs/hooks/useCommentsEntitiesMap.d.ts +2 -0
- package/cjs/hooks/useCommentsEntitiesMap.js +89 -0
- package/cjs/hooks/useMarkAsNotMatchRequest.d.ts +2 -1
- package/cjs/hooks/useMarkAsNotMatchRequest.js +7 -5
- package/cjs/hooks/useMergeAllRequest.d.ts +2 -1
- package/cjs/hooks/useMergeAllRequest.js +5 -2
- package/cjs/hooks/useSnackbar.d.ts +5 -0
- package/cjs/hooks/useSnackbar.js +46 -0
- package/esm/components/AttributesFiltersButton/AttributesFiltersButton.js +2 -4
- package/esm/components/CollaborationItem/CommentTarget/CommentTarget.js +14 -6
- package/esm/components/MergeButton/MergeButton.d.ts +1 -0
- package/esm/components/MergeButton/MergeButton.js +3 -2
- package/esm/components/NotMatchButton/NotMatchButton.d.ts +1 -0
- package/esm/components/NotMatchButton/NotMatchButton.js +3 -2
- package/esm/contexts/SnackbarContext/index.d.ts +2 -0
- package/esm/contexts/SnackbarContext/index.js +3 -0
- package/esm/contexts/index.d.ts +1 -0
- package/esm/contexts/index.js +1 -0
- package/esm/hooks/index.d.ts +2 -0
- package/esm/hooks/index.js +2 -0
- package/esm/hooks/useCommentsEntitiesMap.d.ts +2 -0
- package/esm/hooks/useCommentsEntitiesMap.js +82 -0
- package/esm/hooks/useMarkAsNotMatchRequest.d.ts +2 -1
- package/esm/hooks/useMarkAsNotMatchRequest.js +7 -5
- package/esm/hooks/useMergeAllRequest.d.ts +2 -1
- package/esm/hooks/useMergeAllRequest.js +5 -2
- package/esm/hooks/useSnackbar.d.ts +5 -0
- package/esm/hooks/useSnackbar.js +20 -0
- package/package.json +3 -3
|
@@ -29,6 +29,7 @@ var Button_1 = __importDefault(require("@material-ui/core/Button"));
|
|
|
29
29
|
var FilterList_1 = __importDefault(require("@material-ui/icons/FilterList"));
|
|
30
30
|
var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
|
|
31
31
|
var Divider_1 = __importDefault(require("@material-ui/core/Divider"));
|
|
32
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
32
33
|
var AttributesFiltersBuilder_1 = __importDefault(require("../AttributesFiltersBuilder/AttributesFiltersBuilder"));
|
|
33
34
|
var ActionButtons_1 = __importDefault(require("./ActionButtons/ActionButtons"));
|
|
34
35
|
var styles_1 = require("./styles");
|
|
@@ -38,10 +39,7 @@ var AttributesFiltersButton = function (_a) {
|
|
|
38
39
|
var buttonRef = react_1.useRef();
|
|
39
40
|
var _b = react_1.useState(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
40
41
|
var _c = react_1.useState([]), filters = _c[0], setFilters = _c[1];
|
|
41
|
-
var isFiltersApplied =
|
|
42
|
-
var fieldName = _a.fieldName, filter = _a.filter, values = _a.values;
|
|
43
|
-
return fieldName && filter && values.length;
|
|
44
|
-
});
|
|
42
|
+
var isFiltersApplied = !!mdm_sdk_1.buildFilterQueryString()(filtersProp);
|
|
45
43
|
var buttonColor = isFiltersApplied ? 'primary' : 'inherit';
|
|
46
44
|
var togglePopup = function () { return setIsOpen(function (open) { return !open; }); };
|
|
47
45
|
react_1.useEffect(function () {
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
14
|
if (k2 === undefined) k2 = k;
|
|
4
15
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -44,7 +55,7 @@ var CommentTarget = function (_a) {
|
|
|
44
55
|
var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
|
|
45
56
|
var entitiesMap = react_1.useContext(contexts_1.EntitiesMapContext);
|
|
46
57
|
var getContent = function () {
|
|
47
|
-
var _a
|
|
58
|
+
var _a;
|
|
48
59
|
switch (comment.objectType) {
|
|
49
60
|
case mdm_sdk_1.CollaborationObjectTypes.ENTITY_ATTRIBUTE: {
|
|
50
61
|
var attributeTypeUri = mdm_sdk_2.getAttributeTypeUriByValueUri(comment.objectId, entity.type);
|
|
@@ -68,10 +79,7 @@ var CommentTarget = function (_a) {
|
|
|
68
79
|
}
|
|
69
80
|
case mdm_sdk_1.CollaborationObjectTypes.RELATION: {
|
|
70
81
|
var relatedEntityUri = utils_1.getRelatedEntityUri(comment, entity.uri);
|
|
71
|
-
var relatedEntity = {
|
|
72
|
-
uri: relatedEntityUri,
|
|
73
|
-
label: (_a = entitiesMap[relatedEntityUri]) === null || _a === void 0 ? void 0 : _a.label
|
|
74
|
-
};
|
|
82
|
+
var relatedEntity = __assign(__assign({}, (entitiesMap[relatedEntityUri] || {})), { uri: relatedEntityUri });
|
|
75
83
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
76
84
|
react_1.default.createElement(Typography_1.default, { className: styles.title }, ui_i18n_1.default.text('Selected relation:')),
|
|
77
85
|
react_1.default.createElement(Typography_1.default, { className: styles.label },
|
|
@@ -85,7 +93,7 @@ var CommentTarget = function (_a) {
|
|
|
85
93
|
var relatedEntityUri = utils_1.getRelatedEntityUri(comment, entity.uri);
|
|
86
94
|
var relatedEntity = {
|
|
87
95
|
uri: relatedEntityUri,
|
|
88
|
-
label: (
|
|
96
|
+
label: (_a = entitiesMap[relatedEntityUri]) === null || _a === void 0 ? void 0 : _a.label
|
|
89
97
|
};
|
|
90
98
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
91
99
|
react_1.default.createElement(Typography_1.default, { className: styles.title }, ui_i18n_1.default.text('Selected potential match:')),
|
|
@@ -11,6 +11,7 @@ declare type Props = {
|
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
onStartRequest?: () => void;
|
|
13
13
|
onFinishRequest?: () => void;
|
|
14
|
+
onSuccess?: () => void;
|
|
14
15
|
onError?: (error?: ApiError) => void;
|
|
15
16
|
};
|
|
16
17
|
export declare const MergeButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
|
|
@@ -52,13 +52,14 @@ var core_1 = require("../../core");
|
|
|
52
52
|
var ActionButton_1 = require("../ActionButton/ActionButton");
|
|
53
53
|
var hooks_1 = require("../../hooks");
|
|
54
54
|
exports.MergeButton = react_1.forwardRef(function (_a, ref) {
|
|
55
|
-
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButton_1.ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? core_1.noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, onError = _a.onError, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest", "onError"]);
|
|
55
|
+
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButton_1.ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? core_1.noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, onSuccess = _a.onSuccess, onError = _a.onError, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest", "onSuccess", "onError"]);
|
|
56
56
|
var sendMergeAllRequest = hooks_1.useMergeAllRequest({
|
|
57
57
|
entity: entity,
|
|
58
58
|
entities: entities,
|
|
59
59
|
onStartRequest: onStartRequest,
|
|
60
60
|
onFinishRequest: onFinishRequest,
|
|
61
|
-
onError: onError
|
|
61
|
+
onError: onError,
|
|
62
|
+
onSuccess: onSuccess
|
|
62
63
|
}).sendMergeAllRequest;
|
|
63
64
|
return (react_1.default.createElement(ActionButton_1.ActionButton, __assign({ className: className, disabled: disabled, mode: mode, label: ui_i18n_1.default.text('Merge'), icon: MergeDark_1.default, onClick: sendMergeAllRequest, onMenuClose: onMenuClose, ref: ref }, otherProps)));
|
|
64
65
|
});
|
|
@@ -11,6 +11,7 @@ declare type Props = {
|
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
onStartRequest?: () => void;
|
|
13
13
|
onFinishRequest?: () => void;
|
|
14
|
+
onSuccess?: () => void;
|
|
14
15
|
};
|
|
15
16
|
export declare const NotMatchButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
|
|
16
17
|
export {};
|
|
@@ -52,12 +52,13 @@ var core_1 = require("../../core");
|
|
|
52
52
|
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
53
53
|
var useMarkAsNotMatchRequest_1 = require("../../hooks/useMarkAsNotMatchRequest");
|
|
54
54
|
exports.NotMatchButton = react_1.forwardRef(function (_a, ref) {
|
|
55
|
-
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButton_1.ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? core_1.noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest"]);
|
|
55
|
+
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButton_1.ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? core_1.noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, onSuccess = _a.onSuccess, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest", "onSuccess"]);
|
|
56
56
|
var sendMarkAsNotMatchRequest = useMarkAsNotMatchRequest_1.useMarkAsNotMatchRequest({
|
|
57
57
|
entity: entity,
|
|
58
58
|
entities: entities,
|
|
59
59
|
onStartRequest: onStartRequest,
|
|
60
|
-
onFinishRequest: onFinishRequest
|
|
60
|
+
onFinishRequest: onFinishRequest,
|
|
61
|
+
onSuccess: onSuccess
|
|
61
62
|
}).sendMarkAsNotMatchRequest;
|
|
62
63
|
return (react_1.default.createElement(ActionButton_1.ActionButton, __assign({ className: className, disabled: disabled, mode: mode, label: ui_i18n_1.default.text('Not a match'), icon: NotMatchDark_1.default, onClick: sendMarkAsNotMatchRequest, onMenuClose: onMenuClose, ref: ref }, otherProps)));
|
|
63
64
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SnackbarContext = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
exports.SnackbarContext = react_1.default.createContext(function () { });
|
|
9
|
+
exports.SnackbarContext.displayName = 'SnackbarContext';
|
package/cjs/contexts/index.d.ts
CHANGED
|
@@ -18,3 +18,4 @@ export { EntityContext } from './EntityContext';
|
|
|
18
18
|
export { SandboxAPIContext } from './SandboxAPIContext';
|
|
19
19
|
export { useReloadAllFacets, ReloadFacetProvider, useReloadFacet } from './ReloadFacetContext';
|
|
20
20
|
export { SearchFiltersContext } from './SearchFiltersContext';
|
|
21
|
+
export { SnackbarContext } from './SnackbarContext';
|
package/cjs/contexts/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.PivotingAttributeContext = exports.UsersContext = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.ViewIdContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = void 0;
|
|
3
|
+
exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.PivotingAttributeContext = exports.UsersContext = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.ViewIdContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = void 0;
|
|
4
4
|
var AsyncMountContext_1 = require("./AsyncMountContext");
|
|
5
5
|
Object.defineProperty(exports, "AsyncMountContext", { enumerable: true, get: function () { return AsyncMountContext_1.AsyncMountContext; } });
|
|
6
6
|
var HistoryAppearanceContext_1 = require("./HistoryAppearanceContext");
|
|
@@ -48,3 +48,5 @@ Object.defineProperty(exports, "ReloadFacetProvider", { enumerable: true, get: f
|
|
|
48
48
|
Object.defineProperty(exports, "useReloadFacet", { enumerable: true, get: function () { return ReloadFacetContext_1.useReloadFacet; } });
|
|
49
49
|
var SearchFiltersContext_1 = require("./SearchFiltersContext");
|
|
50
50
|
Object.defineProperty(exports, "SearchFiltersContext", { enumerable: true, get: function () { return SearchFiltersContext_1.SearchFiltersContext; } });
|
|
51
|
+
var SnackbarContext_1 = require("./SnackbarContext");
|
|
52
|
+
Object.defineProperty(exports, "SnackbarContext", { enumerable: true, get: function () { return SnackbarContext_1.SnackbarContext; } });
|
package/cjs/hooks/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { useAPI, CustomAction } from './useAPI';
|
|
|
3
3
|
export type { CustomActionTask } from './useAPI';
|
|
4
4
|
export { useAsyncMount } from './useAsyncMount';
|
|
5
5
|
export { useCollaboration } from './useCollaboration';
|
|
6
|
+
export { useCommentsEntitiesMap } from './useCommentsEntitiesMap';
|
|
6
7
|
export { useDidUpdateEffect } from './useDidUpdateEffect';
|
|
7
8
|
export { usePrevious } from './usePrevious';
|
|
8
9
|
export { useRelationTypeSelector } from './useRelationTypeSelector';
|
|
@@ -20,3 +21,4 @@ export { useMarkAsNotMatchRequest } from './useMarkAsNotMatchRequest';
|
|
|
20
21
|
export { useCustomScripts } from './useCustomScripts';
|
|
21
22
|
export { useEditableConnection } from './useEditableConnection';
|
|
22
23
|
export { useReadableSearchState } from './useReadableSearchState';
|
|
24
|
+
export { useSnackbar } from './useSnackbar';
|
package/cjs/hooks/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCollaboration = exports.useAsyncMount = exports.CustomAction = exports.useAPI = exports.useActions = void 0;
|
|
3
|
+
exports.useSnackbar = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.CustomAction = exports.useAPI = exports.useActions = void 0;
|
|
4
4
|
var useActions_1 = require("./useActions");
|
|
5
5
|
Object.defineProperty(exports, "useActions", { enumerable: true, get: function () { return useActions_1.useActions; } });
|
|
6
6
|
var useAPI_1 = require("./useAPI");
|
|
@@ -10,6 +10,8 @@ var useAsyncMount_1 = require("./useAsyncMount");
|
|
|
10
10
|
Object.defineProperty(exports, "useAsyncMount", { enumerable: true, get: function () { return useAsyncMount_1.useAsyncMount; } });
|
|
11
11
|
var useCollaboration_1 = require("./useCollaboration");
|
|
12
12
|
Object.defineProperty(exports, "useCollaboration", { enumerable: true, get: function () { return useCollaboration_1.useCollaboration; } });
|
|
13
|
+
var useCommentsEntitiesMap_1 = require("./useCommentsEntitiesMap");
|
|
14
|
+
Object.defineProperty(exports, "useCommentsEntitiesMap", { enumerable: true, get: function () { return useCommentsEntitiesMap_1.useCommentsEntitiesMap; } });
|
|
13
15
|
var useDidUpdateEffect_1 = require("./useDidUpdateEffect");
|
|
14
16
|
Object.defineProperty(exports, "useDidUpdateEffect", { enumerable: true, get: function () { return useDidUpdateEffect_1.useDidUpdateEffect; } });
|
|
15
17
|
var usePrevious_1 = require("./usePrevious");
|
|
@@ -44,3 +46,5 @@ var useEditableConnection_1 = require("./useEditableConnection");
|
|
|
44
46
|
Object.defineProperty(exports, "useEditableConnection", { enumerable: true, get: function () { return useEditableConnection_1.useEditableConnection; } });
|
|
45
47
|
var useReadableSearchState_1 = require("./useReadableSearchState");
|
|
46
48
|
Object.defineProperty(exports, "useReadableSearchState", { enumerable: true, get: function () { return useReadableSearchState_1.useReadableSearchState; } });
|
|
49
|
+
var useSnackbar_1 = require("./useSnackbar");
|
|
50
|
+
Object.defineProperty(exports, "useSnackbar", { enumerable: true, get: function () { return useSnackbar_1.useSnackbar; } });
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.useCommentsEntitiesMap = void 0;
|
|
18
|
+
var react_1 = require("react");
|
|
19
|
+
var ramda_1 = require("ramda");
|
|
20
|
+
var react_redux_1 = require("react-redux");
|
|
21
|
+
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
22
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
23
|
+
var useSafePromise_1 = require("./useSafePromise");
|
|
24
|
+
var SELECT_OPTION = 'uri,label,type';
|
|
25
|
+
var useCommentsEntitiesMap = function (comments) {
|
|
26
|
+
var safePromise = useSafePromise_1.useSafePromise();
|
|
27
|
+
var currentEntityUri = react_redux_1.useSelector(mdm_module_1.default.selectors.getEntityUriWithDataTenant);
|
|
28
|
+
var _a = react_1.useState({}), entitiesMap = _a[0], setEntitiesMap = _a[1];
|
|
29
|
+
var getEntities = react_1.useCallback(function (entitiesUris) {
|
|
30
|
+
var requestFilters = [
|
|
31
|
+
{
|
|
32
|
+
filter: mdm_sdk_1.FilterOptions.EQUALS,
|
|
33
|
+
fieldName: 'uri',
|
|
34
|
+
values: entitiesUris
|
|
35
|
+
}
|
|
36
|
+
];
|
|
37
|
+
var requestOptions = {
|
|
38
|
+
max: entitiesUris.length,
|
|
39
|
+
activeness: mdm_sdk_1.ActivityFilters.ALL,
|
|
40
|
+
select: 'uri,label,type'
|
|
41
|
+
};
|
|
42
|
+
return safePromise(mdm_sdk_1.getFilteredEntities(requestFilters, requestOptions));
|
|
43
|
+
}, [safePromise]);
|
|
44
|
+
var getNotFoundEntity = function (entityUri) {
|
|
45
|
+
return mdm_sdk_1.getEntity(entityUri, { options: SELECT_OPTION })
|
|
46
|
+
.then(function (entity) { return ({
|
|
47
|
+
uri: entityUri,
|
|
48
|
+
label: entity.label,
|
|
49
|
+
type: entity.type
|
|
50
|
+
}); })
|
|
51
|
+
.catch(function () { return ({}); });
|
|
52
|
+
};
|
|
53
|
+
var addNotFoundEntities = react_1.useCallback(function (entitiesUris, entities) {
|
|
54
|
+
return safePromise(Promise.all((entitiesUris || []).map(getNotFoundEntity))).then(ramda_1.pipe(ramda_1.reject(ramda_1.isEmpty), ramda_1.concat(entities)));
|
|
55
|
+
}, [safePromise]);
|
|
56
|
+
react_1.useEffect(function () {
|
|
57
|
+
var uniqEntitiesUris = ramda_1.pipe(ramda_1.reduce(function (entitiesUris, comment) {
|
|
58
|
+
var type = comment.objectType, relatedObjectUris = comment.relatedObjectUris;
|
|
59
|
+
if (type === 'relation' || type === 'potentialMatch') {
|
|
60
|
+
(relatedObjectUris || []).forEach(function (uri) {
|
|
61
|
+
if (uri !== currentEntityUri && mdm_sdk_1.isEntityUri(uri) && !entitiesMap[uri]) {
|
|
62
|
+
entitiesUris.push(uri);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return entitiesUris;
|
|
67
|
+
}, []), ramda_1.uniq)(comments || []);
|
|
68
|
+
if (uniqEntitiesUris.length) {
|
|
69
|
+
getEntities(uniqEntitiesUris)
|
|
70
|
+
.then(function (results) {
|
|
71
|
+
var getNotFoundUris = ramda_1.pipe(ramda_1.map(ramda_1.prop('uri')), ramda_1.difference(uniqEntitiesUris));
|
|
72
|
+
var notFoundEntities = getNotFoundUris(results);
|
|
73
|
+
return addNotFoundEntities(notFoundEntities, results);
|
|
74
|
+
})
|
|
75
|
+
.then(function (results) {
|
|
76
|
+
setEntitiesMap(function (prevEntitiesMap) {
|
|
77
|
+
return results.reduce(function (entities, entity) {
|
|
78
|
+
entities[entity.uri] = entity;
|
|
79
|
+
return entities;
|
|
80
|
+
}, __assign({}, prevEntitiesMap));
|
|
81
|
+
});
|
|
82
|
+
})
|
|
83
|
+
.catch(function () { });
|
|
84
|
+
}
|
|
85
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
86
|
+
}, [getEntities, addNotFoundEntities, comments, currentEntityUri]);
|
|
87
|
+
return entitiesMap;
|
|
88
|
+
};
|
|
89
|
+
exports.useCommentsEntitiesMap = useCommentsEntitiesMap;
|
|
@@ -4,8 +4,9 @@ declare type Props = {
|
|
|
4
4
|
entity: Entity;
|
|
5
5
|
onFinishRequest?: () => void;
|
|
6
6
|
onStartRequest?: () => void;
|
|
7
|
+
onSuccess?: () => void;
|
|
7
8
|
};
|
|
8
|
-
export declare const useMarkAsNotMatchRequest: ({ entities, entity, onFinishRequest, onStartRequest }: Props) => {
|
|
9
|
+
export declare const useMarkAsNotMatchRequest: ({ entities, entity, onFinishRequest, onStartRequest, onSuccess }: Props) => {
|
|
9
10
|
isPending: boolean;
|
|
10
11
|
sendMarkAsNotMatchRequest: () => void;
|
|
11
12
|
};
|
|
@@ -9,7 +9,7 @@ var react_redux_1 = require("react-redux");
|
|
|
9
9
|
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
10
10
|
var react_1 = require("react");
|
|
11
11
|
var useMarkAsNotMatchRequest = function (_a) {
|
|
12
|
-
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest;
|
|
12
|
+
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, onSuccess = _a.onSuccess;
|
|
13
13
|
var tenant = react_redux_1.useSelector(mdm_module_1.default.selectors.getTenant);
|
|
14
14
|
var dtssPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getDtssPath);
|
|
15
15
|
var _b = react_1.useState(false), isPending = _b[0], setIsPending = _b[1];
|
|
@@ -17,13 +17,15 @@ var useMarkAsNotMatchRequest = function (_a) {
|
|
|
17
17
|
onStartRequest === null || onStartRequest === void 0 ? void 0 : onStartRequest();
|
|
18
18
|
setIsPending(true);
|
|
19
19
|
var params = { dtssPath: dtssPath, customerTenant: tenant, entity: entity, entities: entities };
|
|
20
|
-
(mdm_sdk_1.isDataTenantEntity(entity)
|
|
21
|
-
|
|
22
|
-
:
|
|
20
|
+
(mdm_sdk_1.isDataTenantEntity(entity) ? mdm_sdk_1.markDataTenantEntityAsNotMatch(params) : mdm_sdk_1.markMixedEntitiesAsNotMatches(params))
|
|
21
|
+
.then(function () {
|
|
22
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
23
|
+
})
|
|
24
|
+
.finally(function () {
|
|
23
25
|
onFinishRequest === null || onFinishRequest === void 0 ? void 0 : onFinishRequest();
|
|
24
26
|
setIsPending(false);
|
|
25
27
|
});
|
|
26
|
-
}, [dtssPath, entities, entity, onFinishRequest, onStartRequest, tenant]);
|
|
28
|
+
}, [dtssPath, entities, entity, onFinishRequest, onStartRequest, onSuccess, tenant]);
|
|
27
29
|
return { isPending: isPending, sendMarkAsNotMatchRequest: sendMarkAsNotMatchRequest };
|
|
28
30
|
};
|
|
29
31
|
exports.useMarkAsNotMatchRequest = useMarkAsNotMatchRequest;
|
|
@@ -4,9 +4,10 @@ declare type Props = {
|
|
|
4
4
|
entity: Entity;
|
|
5
5
|
onFinishRequest?: () => void;
|
|
6
6
|
onStartRequest?: () => void;
|
|
7
|
+
onSuccess?: () => void;
|
|
7
8
|
onError?: () => void;
|
|
8
9
|
};
|
|
9
|
-
export declare const useMergeAllRequest: ({ entities, entity, onFinishRequest, onStartRequest, onError }: Props) => {
|
|
10
|
+
export declare const useMergeAllRequest: ({ entities, entity, onFinishRequest, onStartRequest, onSuccess, onError }: Props) => {
|
|
10
11
|
isPending: boolean;
|
|
11
12
|
sendMergeAllRequest: () => void;
|
|
12
13
|
};
|
|
@@ -10,7 +10,7 @@ var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
|
10
10
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
11
11
|
var core_1 = require("../core");
|
|
12
12
|
var useMergeAllRequest = function (_a) {
|
|
13
|
-
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, _b = _a.onError, onError = _b === void 0 ? core_1.noop : _b;
|
|
13
|
+
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, onSuccess = _a.onSuccess, _b = _a.onError, onError = _b === void 0 ? core_1.noop : _b;
|
|
14
14
|
var tenant = react_redux_1.useSelector(mdm_module_1.default.selectors.getTenant);
|
|
15
15
|
var dtssPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getDtssPath);
|
|
16
16
|
var _c = react_1.useState(false), isPending = _c[0], setIsPending = _c[1];
|
|
@@ -21,12 +21,15 @@ var useMergeAllRequest = function (_a) {
|
|
|
21
21
|
(mdm_sdk_1.isDataTenantEntity(entity)
|
|
22
22
|
? mdm_sdk_1.mergeDataTenantEntity(params)
|
|
23
23
|
: mdm_sdk_1.mergeCustomerTenantEntityWithMixedEntities(params))
|
|
24
|
+
.then(function () {
|
|
25
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
26
|
+
})
|
|
24
27
|
.catch(onError)
|
|
25
28
|
.finally(function () {
|
|
26
29
|
onFinishRequest === null || onFinishRequest === void 0 ? void 0 : onFinishRequest();
|
|
27
30
|
setIsPending(false);
|
|
28
31
|
});
|
|
29
|
-
}, [dtssPath, entities, entity, onFinishRequest, onStartRequest, tenant]);
|
|
32
|
+
}, [dtssPath, entities, entity, onError, onFinishRequest, onStartRequest, onSuccess, tenant]);
|
|
30
33
|
return { isPending: isPending, sendMergeAllRequest: sendMergeAllRequest };
|
|
31
34
|
};
|
|
32
35
|
exports.useMergeAllRequest = useMergeAllRequest;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.useSnackbar = void 0;
|
|
26
|
+
var react_1 = __importStar(require("react"));
|
|
27
|
+
var Portal_1 = __importDefault(require("@material-ui/core/Portal"));
|
|
28
|
+
var Snackbar_1 = __importDefault(require("@material-ui/core/Snackbar"));
|
|
29
|
+
var useSnackbar = function () {
|
|
30
|
+
var _a = react_1.useState(false), isOpenSnackbar = _a[0], setIsOpenSnackbar = _a[1];
|
|
31
|
+
var _b = react_1.useState(''), snackbarMessage = _b[0], setSnackbarMessage = _b[1];
|
|
32
|
+
var closeSnackbar = react_1.useCallback(function () {
|
|
33
|
+
setIsOpenSnackbar(false);
|
|
34
|
+
setSnackbarMessage('');
|
|
35
|
+
}, []);
|
|
36
|
+
var showSnackbarMessage = react_1.useCallback(function (message) {
|
|
37
|
+
setIsOpenSnackbar(true);
|
|
38
|
+
setSnackbarMessage(message);
|
|
39
|
+
}, []);
|
|
40
|
+
var SnackbarRenderer = react_1.useCallback(function () {
|
|
41
|
+
return (react_1.default.createElement(Portal_1.default, { container: document.body },
|
|
42
|
+
react_1.default.createElement(Snackbar_1.default, { open: isOpenSnackbar, autoHideDuration: 5000, onClose: closeSnackbar, message: snackbarMessage })));
|
|
43
|
+
}, [isOpenSnackbar, closeSnackbar, snackbarMessage]);
|
|
44
|
+
return { SnackbarRenderer: SnackbarRenderer, showSnackbarMessage: showSnackbarMessage };
|
|
45
|
+
};
|
|
46
|
+
exports.useSnackbar = useSnackbar;
|
|
@@ -5,6 +5,7 @@ import Button from '@material-ui/core/Button';
|
|
|
5
5
|
import FilterIcon from '@material-ui/icons/FilterList';
|
|
6
6
|
import Typography from '@material-ui/core/Typography';
|
|
7
7
|
import Divider from '@material-ui/core/Divider';
|
|
8
|
+
import { buildFilterQueryString } from '@reltio/mdm-sdk';
|
|
8
9
|
import AttributesFiltersBuilder from '../AttributesFiltersBuilder/AttributesFiltersBuilder';
|
|
9
10
|
import ActionButtons from './ActionButtons/ActionButtons';
|
|
10
11
|
import { useStyles } from './styles';
|
|
@@ -14,10 +15,7 @@ var AttributesFiltersButton = function (_a) {
|
|
|
14
15
|
var buttonRef = useRef();
|
|
15
16
|
var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
16
17
|
var _c = useState([]), filters = _c[0], setFilters = _c[1];
|
|
17
|
-
var isFiltersApplied =
|
|
18
|
-
var fieldName = _a.fieldName, filter = _a.filter, values = _a.values;
|
|
19
|
-
return fieldName && filter && values.length;
|
|
20
|
-
});
|
|
18
|
+
var isFiltersApplied = !!buildFilterQueryString()(filtersProp);
|
|
21
19
|
var buttonColor = isFiltersApplied ? 'primary' : 'inherit';
|
|
22
20
|
var togglePopup = function () { return setIsOpen(function (open) { return !open; }); };
|
|
23
21
|
useEffect(function () {
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
1
12
|
import React, { useContext } from 'react';
|
|
2
13
|
import { useSelector } from 'react-redux';
|
|
3
14
|
import i18n from 'ui-i18n';
|
|
@@ -19,7 +30,7 @@ export var CommentTarget = function (_a) {
|
|
|
19
30
|
var metadata = useSelector(mdm.selectors.getMetadata);
|
|
20
31
|
var entitiesMap = useContext(EntitiesMapContext);
|
|
21
32
|
var getContent = function () {
|
|
22
|
-
var _a
|
|
33
|
+
var _a;
|
|
23
34
|
switch (comment.objectType) {
|
|
24
35
|
case CollaborationObjectTypes.ENTITY_ATTRIBUTE: {
|
|
25
36
|
var attributeTypeUri = getAttributeTypeUriByValueUri(comment.objectId, entity.type);
|
|
@@ -43,10 +54,7 @@ export var CommentTarget = function (_a) {
|
|
|
43
54
|
}
|
|
44
55
|
case CollaborationObjectTypes.RELATION: {
|
|
45
56
|
var relatedEntityUri = getRelatedEntityUri(comment, entity.uri);
|
|
46
|
-
var relatedEntity = {
|
|
47
|
-
uri: relatedEntityUri,
|
|
48
|
-
label: (_a = entitiesMap[relatedEntityUri]) === null || _a === void 0 ? void 0 : _a.label
|
|
49
|
-
};
|
|
57
|
+
var relatedEntity = __assign(__assign({}, (entitiesMap[relatedEntityUri] || {})), { uri: relatedEntityUri });
|
|
50
58
|
return (React.createElement(React.Fragment, null,
|
|
51
59
|
React.createElement(Typography, { className: styles.title }, i18n.text('Selected relation:')),
|
|
52
60
|
React.createElement(Typography, { className: styles.label },
|
|
@@ -60,7 +68,7 @@ export var CommentTarget = function (_a) {
|
|
|
60
68
|
var relatedEntityUri = getRelatedEntityUri(comment, entity.uri);
|
|
61
69
|
var relatedEntity = {
|
|
62
70
|
uri: relatedEntityUri,
|
|
63
|
-
label: (
|
|
71
|
+
label: (_a = entitiesMap[relatedEntityUri]) === null || _a === void 0 ? void 0 : _a.label
|
|
64
72
|
};
|
|
65
73
|
return (React.createElement(React.Fragment, null,
|
|
66
74
|
React.createElement(Typography, { className: styles.title }, i18n.text('Selected potential match:')),
|
|
@@ -11,6 +11,7 @@ declare type Props = {
|
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
onStartRequest?: () => void;
|
|
13
13
|
onFinishRequest?: () => void;
|
|
14
|
+
onSuccess?: () => void;
|
|
14
15
|
onError?: (error?: ApiError) => void;
|
|
15
16
|
};
|
|
16
17
|
export declare const MergeButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
|
|
@@ -27,13 +27,14 @@ import { noop } from '../../core';
|
|
|
27
27
|
import { ActionButton, ActionButtonMode } from '../ActionButton/ActionButton';
|
|
28
28
|
import { useMergeAllRequest } from '../../hooks';
|
|
29
29
|
export var MergeButton = forwardRef(function (_a, ref) {
|
|
30
|
-
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, onError = _a.onError, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest", "onError"]);
|
|
30
|
+
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, onSuccess = _a.onSuccess, onError = _a.onError, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest", "onSuccess", "onError"]);
|
|
31
31
|
var sendMergeAllRequest = useMergeAllRequest({
|
|
32
32
|
entity: entity,
|
|
33
33
|
entities: entities,
|
|
34
34
|
onStartRequest: onStartRequest,
|
|
35
35
|
onFinishRequest: onFinishRequest,
|
|
36
|
-
onError: onError
|
|
36
|
+
onError: onError,
|
|
37
|
+
onSuccess: onSuccess
|
|
37
38
|
}).sendMergeAllRequest;
|
|
38
39
|
return (React.createElement(ActionButton, __assign({ className: className, disabled: disabled, mode: mode, label: i18n.text('Merge'), icon: MergeIcon, onClick: sendMergeAllRequest, onMenuClose: onMenuClose, ref: ref }, otherProps)));
|
|
39
40
|
});
|
|
@@ -11,6 +11,7 @@ declare type Props = {
|
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
onStartRequest?: () => void;
|
|
13
13
|
onFinishRequest?: () => void;
|
|
14
|
+
onSuccess?: () => void;
|
|
14
15
|
};
|
|
15
16
|
export declare const NotMatchButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
|
|
16
17
|
export {};
|
|
@@ -27,12 +27,13 @@ import { noop } from '../../core';
|
|
|
27
27
|
import i18n from 'ui-i18n';
|
|
28
28
|
import { useMarkAsNotMatchRequest } from '../../hooks/useMarkAsNotMatchRequest';
|
|
29
29
|
export var NotMatchButton = forwardRef(function (_a, ref) {
|
|
30
|
-
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest"]);
|
|
30
|
+
var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, _c = _a.onMenuClose, onMenuClose = _c === void 0 ? noop : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, entity = _a.entity, entities = _a.entities, onStartRequest = _a.onStartRequest, onFinishRequest = _a.onFinishRequest, onSuccess = _a.onSuccess, otherProps = __rest(_a, ["className", "mode", "onMenuClose", "disabled", "entity", "entities", "onStartRequest", "onFinishRequest", "onSuccess"]);
|
|
31
31
|
var sendMarkAsNotMatchRequest = useMarkAsNotMatchRequest({
|
|
32
32
|
entity: entity,
|
|
33
33
|
entities: entities,
|
|
34
34
|
onStartRequest: onStartRequest,
|
|
35
|
-
onFinishRequest: onFinishRequest
|
|
35
|
+
onFinishRequest: onFinishRequest,
|
|
36
|
+
onSuccess: onSuccess
|
|
36
37
|
}).sendMarkAsNotMatchRequest;
|
|
37
38
|
return (React.createElement(ActionButton, __assign({ className: className, disabled: disabled, mode: mode, label: i18n.text('Not a match'), icon: NotMatchIcon, onClick: sendMarkAsNotMatchRequest, onMenuClose: onMenuClose, ref: ref }, otherProps)));
|
|
38
39
|
});
|
package/esm/contexts/index.d.ts
CHANGED
|
@@ -18,3 +18,4 @@ export { EntityContext } from './EntityContext';
|
|
|
18
18
|
export { SandboxAPIContext } from './SandboxAPIContext';
|
|
19
19
|
export { useReloadAllFacets, ReloadFacetProvider, useReloadFacet } from './ReloadFacetContext';
|
|
20
20
|
export { SearchFiltersContext } from './SearchFiltersContext';
|
|
21
|
+
export { SnackbarContext } from './SnackbarContext';
|
package/esm/contexts/index.js
CHANGED
|
@@ -18,3 +18,4 @@ export { EntityContext } from './EntityContext';
|
|
|
18
18
|
export { SandboxAPIContext } from './SandboxAPIContext';
|
|
19
19
|
export { useReloadAllFacets, ReloadFacetProvider, useReloadFacet } from './ReloadFacetContext';
|
|
20
20
|
export { SearchFiltersContext } from './SearchFiltersContext';
|
|
21
|
+
export { SnackbarContext } from './SnackbarContext';
|
package/esm/hooks/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { useAPI, CustomAction } from './useAPI';
|
|
|
3
3
|
export type { CustomActionTask } from './useAPI';
|
|
4
4
|
export { useAsyncMount } from './useAsyncMount';
|
|
5
5
|
export { useCollaboration } from './useCollaboration';
|
|
6
|
+
export { useCommentsEntitiesMap } from './useCommentsEntitiesMap';
|
|
6
7
|
export { useDidUpdateEffect } from './useDidUpdateEffect';
|
|
7
8
|
export { usePrevious } from './usePrevious';
|
|
8
9
|
export { useRelationTypeSelector } from './useRelationTypeSelector';
|
|
@@ -20,3 +21,4 @@ export { useMarkAsNotMatchRequest } from './useMarkAsNotMatchRequest';
|
|
|
20
21
|
export { useCustomScripts } from './useCustomScripts';
|
|
21
22
|
export { useEditableConnection } from './useEditableConnection';
|
|
22
23
|
export { useReadableSearchState } from './useReadableSearchState';
|
|
24
|
+
export { useSnackbar } from './useSnackbar';
|
package/esm/hooks/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { useActions } from './useActions';
|
|
|
2
2
|
export { useAPI, CustomAction } from './useAPI';
|
|
3
3
|
export { useAsyncMount } from './useAsyncMount';
|
|
4
4
|
export { useCollaboration } from './useCollaboration';
|
|
5
|
+
export { useCommentsEntitiesMap } from './useCommentsEntitiesMap';
|
|
5
6
|
export { useDidUpdateEffect } from './useDidUpdateEffect';
|
|
6
7
|
export { usePrevious } from './usePrevious';
|
|
7
8
|
export { useRelationTypeSelector } from './useRelationTypeSelector';
|
|
@@ -19,3 +20,4 @@ export { useMarkAsNotMatchRequest } from './useMarkAsNotMatchRequest';
|
|
|
19
20
|
export { useCustomScripts } from './useCustomScripts';
|
|
20
21
|
export { useEditableConnection } from './useEditableConnection';
|
|
21
22
|
export { useReadableSearchState } from './useReadableSearchState';
|
|
23
|
+
export { useSnackbar } from './useSnackbar';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
13
|
+
import { concat, difference, isEmpty, map, pipe, prop, reduce, reject, uniq } from 'ramda';
|
|
14
|
+
import { useSelector } from 'react-redux';
|
|
15
|
+
import mdm from '@reltio/mdm-module';
|
|
16
|
+
import { ActivityFilters, FilterOptions, getFilteredEntities, isEntityUri, getEntity } from '@reltio/mdm-sdk';
|
|
17
|
+
import { useSafePromise } from './useSafePromise';
|
|
18
|
+
var SELECT_OPTION = 'uri,label,type';
|
|
19
|
+
export var useCommentsEntitiesMap = function (comments) {
|
|
20
|
+
var safePromise = useSafePromise();
|
|
21
|
+
var currentEntityUri = useSelector(mdm.selectors.getEntityUriWithDataTenant);
|
|
22
|
+
var _a = useState({}), entitiesMap = _a[0], setEntitiesMap = _a[1];
|
|
23
|
+
var getEntities = useCallback(function (entitiesUris) {
|
|
24
|
+
var requestFilters = [
|
|
25
|
+
{
|
|
26
|
+
filter: FilterOptions.EQUALS,
|
|
27
|
+
fieldName: 'uri',
|
|
28
|
+
values: entitiesUris
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
var requestOptions = {
|
|
32
|
+
max: entitiesUris.length,
|
|
33
|
+
activeness: ActivityFilters.ALL,
|
|
34
|
+
select: 'uri,label,type'
|
|
35
|
+
};
|
|
36
|
+
return safePromise(getFilteredEntities(requestFilters, requestOptions));
|
|
37
|
+
}, [safePromise]);
|
|
38
|
+
var getNotFoundEntity = function (entityUri) {
|
|
39
|
+
return getEntity(entityUri, { options: SELECT_OPTION })
|
|
40
|
+
.then(function (entity) { return ({
|
|
41
|
+
uri: entityUri,
|
|
42
|
+
label: entity.label,
|
|
43
|
+
type: entity.type
|
|
44
|
+
}); })
|
|
45
|
+
.catch(function () { return ({}); });
|
|
46
|
+
};
|
|
47
|
+
var addNotFoundEntities = useCallback(function (entitiesUris, entities) {
|
|
48
|
+
return safePromise(Promise.all((entitiesUris || []).map(getNotFoundEntity))).then(pipe(reject(isEmpty), concat(entities)));
|
|
49
|
+
}, [safePromise]);
|
|
50
|
+
useEffect(function () {
|
|
51
|
+
var uniqEntitiesUris = pipe(reduce(function (entitiesUris, comment) {
|
|
52
|
+
var type = comment.objectType, relatedObjectUris = comment.relatedObjectUris;
|
|
53
|
+
if (type === 'relation' || type === 'potentialMatch') {
|
|
54
|
+
(relatedObjectUris || []).forEach(function (uri) {
|
|
55
|
+
if (uri !== currentEntityUri && isEntityUri(uri) && !entitiesMap[uri]) {
|
|
56
|
+
entitiesUris.push(uri);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return entitiesUris;
|
|
61
|
+
}, []), uniq)(comments || []);
|
|
62
|
+
if (uniqEntitiesUris.length) {
|
|
63
|
+
getEntities(uniqEntitiesUris)
|
|
64
|
+
.then(function (results) {
|
|
65
|
+
var getNotFoundUris = pipe(map(prop('uri')), difference(uniqEntitiesUris));
|
|
66
|
+
var notFoundEntities = getNotFoundUris(results);
|
|
67
|
+
return addNotFoundEntities(notFoundEntities, results);
|
|
68
|
+
})
|
|
69
|
+
.then(function (results) {
|
|
70
|
+
setEntitiesMap(function (prevEntitiesMap) {
|
|
71
|
+
return results.reduce(function (entities, entity) {
|
|
72
|
+
entities[entity.uri] = entity;
|
|
73
|
+
return entities;
|
|
74
|
+
}, __assign({}, prevEntitiesMap));
|
|
75
|
+
});
|
|
76
|
+
})
|
|
77
|
+
.catch(function () { });
|
|
78
|
+
}
|
|
79
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
80
|
+
}, [getEntities, addNotFoundEntities, comments, currentEntityUri]);
|
|
81
|
+
return entitiesMap;
|
|
82
|
+
};
|
|
@@ -4,8 +4,9 @@ declare type Props = {
|
|
|
4
4
|
entity: Entity;
|
|
5
5
|
onFinishRequest?: () => void;
|
|
6
6
|
onStartRequest?: () => void;
|
|
7
|
+
onSuccess?: () => void;
|
|
7
8
|
};
|
|
8
|
-
export declare const useMarkAsNotMatchRequest: ({ entities, entity, onFinishRequest, onStartRequest }: Props) => {
|
|
9
|
+
export declare const useMarkAsNotMatchRequest: ({ entities, entity, onFinishRequest, onStartRequest, onSuccess }: Props) => {
|
|
9
10
|
isPending: boolean;
|
|
10
11
|
sendMarkAsNotMatchRequest: () => void;
|
|
11
12
|
};
|
|
@@ -3,7 +3,7 @@ import { useSelector } from 'react-redux';
|
|
|
3
3
|
import mdmModule from '@reltio/mdm-module';
|
|
4
4
|
import { useCallback, useState } from 'react';
|
|
5
5
|
export var useMarkAsNotMatchRequest = function (_a) {
|
|
6
|
-
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest;
|
|
6
|
+
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, onSuccess = _a.onSuccess;
|
|
7
7
|
var tenant = useSelector(mdmModule.selectors.getTenant);
|
|
8
8
|
var dtssPath = useSelector(mdmModule.selectors.getDtssPath);
|
|
9
9
|
var _b = useState(false), isPending = _b[0], setIsPending = _b[1];
|
|
@@ -11,12 +11,14 @@ export var useMarkAsNotMatchRequest = function (_a) {
|
|
|
11
11
|
onStartRequest === null || onStartRequest === void 0 ? void 0 : onStartRequest();
|
|
12
12
|
setIsPending(true);
|
|
13
13
|
var params = { dtssPath: dtssPath, customerTenant: tenant, entity: entity, entities: entities };
|
|
14
|
-
(isDataTenantEntity(entity)
|
|
15
|
-
|
|
16
|
-
:
|
|
14
|
+
(isDataTenantEntity(entity) ? markDataTenantEntityAsNotMatch(params) : markMixedEntitiesAsNotMatches(params))
|
|
15
|
+
.then(function () {
|
|
16
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
17
|
+
})
|
|
18
|
+
.finally(function () {
|
|
17
19
|
onFinishRequest === null || onFinishRequest === void 0 ? void 0 : onFinishRequest();
|
|
18
20
|
setIsPending(false);
|
|
19
21
|
});
|
|
20
|
-
}, [dtssPath, entities, entity, onFinishRequest, onStartRequest, tenant]);
|
|
22
|
+
}, [dtssPath, entities, entity, onFinishRequest, onStartRequest, onSuccess, tenant]);
|
|
21
23
|
return { isPending: isPending, sendMarkAsNotMatchRequest: sendMarkAsNotMatchRequest };
|
|
22
24
|
};
|
|
@@ -4,9 +4,10 @@ declare type Props = {
|
|
|
4
4
|
entity: Entity;
|
|
5
5
|
onFinishRequest?: () => void;
|
|
6
6
|
onStartRequest?: () => void;
|
|
7
|
+
onSuccess?: () => void;
|
|
7
8
|
onError?: () => void;
|
|
8
9
|
};
|
|
9
|
-
export declare const useMergeAllRequest: ({ entities, entity, onFinishRequest, onStartRequest, onError }: Props) => {
|
|
10
|
+
export declare const useMergeAllRequest: ({ entities, entity, onFinishRequest, onStartRequest, onSuccess, onError }: Props) => {
|
|
10
11
|
isPending: boolean;
|
|
11
12
|
sendMergeAllRequest: () => void;
|
|
12
13
|
};
|
|
@@ -4,7 +4,7 @@ import mdmModule from '@reltio/mdm-module';
|
|
|
4
4
|
import { isDataTenantEntity, mergeCustomerTenantEntityWithMixedEntities, mergeDataTenantEntity } from '@reltio/mdm-sdk';
|
|
5
5
|
import { noop } from '../core';
|
|
6
6
|
export var useMergeAllRequest = function (_a) {
|
|
7
|
-
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, _b = _a.onError, onError = _b === void 0 ? noop : _b;
|
|
7
|
+
var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, onSuccess = _a.onSuccess, _b = _a.onError, onError = _b === void 0 ? noop : _b;
|
|
8
8
|
var tenant = useSelector(mdmModule.selectors.getTenant);
|
|
9
9
|
var dtssPath = useSelector(mdmModule.selectors.getDtssPath);
|
|
10
10
|
var _c = useState(false), isPending = _c[0], setIsPending = _c[1];
|
|
@@ -15,11 +15,14 @@ export var useMergeAllRequest = function (_a) {
|
|
|
15
15
|
(isDataTenantEntity(entity)
|
|
16
16
|
? mergeDataTenantEntity(params)
|
|
17
17
|
: mergeCustomerTenantEntityWithMixedEntities(params))
|
|
18
|
+
.then(function () {
|
|
19
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
20
|
+
})
|
|
18
21
|
.catch(onError)
|
|
19
22
|
.finally(function () {
|
|
20
23
|
onFinishRequest === null || onFinishRequest === void 0 ? void 0 : onFinishRequest();
|
|
21
24
|
setIsPending(false);
|
|
22
25
|
});
|
|
23
|
-
}, [dtssPath, entities, entity, onFinishRequest, onStartRequest, tenant]);
|
|
26
|
+
}, [dtssPath, entities, entity, onError, onFinishRequest, onStartRequest, onSuccess, tenant]);
|
|
24
27
|
return { isPending: isPending, sendMergeAllRequest: sendMergeAllRequest };
|
|
25
28
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { useCallback, useState } from 'react';
|
|
2
|
+
import Portal from '@material-ui/core/Portal';
|
|
3
|
+
import Snackbar from '@material-ui/core/Snackbar';
|
|
4
|
+
export var useSnackbar = function () {
|
|
5
|
+
var _a = useState(false), isOpenSnackbar = _a[0], setIsOpenSnackbar = _a[1];
|
|
6
|
+
var _b = useState(''), snackbarMessage = _b[0], setSnackbarMessage = _b[1];
|
|
7
|
+
var closeSnackbar = useCallback(function () {
|
|
8
|
+
setIsOpenSnackbar(false);
|
|
9
|
+
setSnackbarMessage('');
|
|
10
|
+
}, []);
|
|
11
|
+
var showSnackbarMessage = useCallback(function (message) {
|
|
12
|
+
setIsOpenSnackbar(true);
|
|
13
|
+
setSnackbarMessage(message);
|
|
14
|
+
}, []);
|
|
15
|
+
var SnackbarRenderer = useCallback(function () {
|
|
16
|
+
return (React.createElement(Portal, { container: document.body },
|
|
17
|
+
React.createElement(Snackbar, { open: isOpenSnackbar, autoHideDuration: 5000, onClose: closeSnackbar, message: snackbarMessage })));
|
|
18
|
+
}, [isOpenSnackbar, closeSnackbar, snackbarMessage]);
|
|
19
|
+
return { SnackbarRenderer: SnackbarRenderer, showSnackbarMessage: showSnackbarMessage };
|
|
20
|
+
};
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1108",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@date-io/moment": "^1.3.5",
|
|
9
9
|
"@react-google-maps/api": "2.7.0",
|
|
10
|
-
"@reltio/mdm-module": "^1.4.
|
|
11
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
10
|
+
"@reltio/mdm-module": "^1.4.1108",
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.1108",
|
|
12
12
|
"classnames": "^2.2.5",
|
|
13
13
|
"d3-cloud": "^1.2.5",
|
|
14
14
|
"d3-geo": "^2.0.1",
|