@reltio/components 1.4.1723 → 1.4.1724
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/ExternalInvalidRelations/ExternalInvalidRelations.d.ts +10 -0
- package/cjs/components/ExternalInvalidRelations/ExternalInvalidRelations.js +53 -0
- package/cjs/components/ExternalInvalidRelations/styles.d.ts +1 -0
- package/cjs/components/ExternalInvalidRelations/styles.js +10 -0
- package/cjs/components/RelationEditor/RelationEditor.js +5 -5
- package/cjs/components/index.d.ts +1 -0
- package/cjs/components/index.js +5 -3
- package/cjs/contexts/MdmModuleContext/context.d.ts +2 -2
- package/cjs/contexts/MdmModuleContext/hooks.d.ts +1 -1
- package/cjs/hooks/useExpandInvalidRelations.js +1 -14
- package/esm/components/ExternalInvalidRelations/ExternalInvalidRelations.d.ts +10 -0
- package/esm/components/ExternalInvalidRelations/ExternalInvalidRelations.js +25 -0
- package/esm/components/ExternalInvalidRelations/styles.d.ts +1 -0
- package/esm/components/ExternalInvalidRelations/styles.js +7 -0
- package/esm/components/RelationEditor/RelationEditor.js +6 -6
- package/esm/components/index.d.ts +1 -0
- package/esm/components/index.js +1 -0
- package/esm/contexts/MdmModuleContext/context.d.ts +2 -2
- package/esm/contexts/MdmModuleContext/hooks.d.ts +1 -1
- package/esm/hooks/useExpandInvalidRelations.js +2 -15
- package/package.json +2 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Connection, Metadata, Mode, RelationsViewConfig } from '@reltio/mdm-sdk';
|
|
2
|
+
type Props = {
|
|
3
|
+
connectionsToEdit: Connection[];
|
|
4
|
+
config: RelationsViewConfig;
|
|
5
|
+
metadata: Metadata;
|
|
6
|
+
mode: Mode;
|
|
7
|
+
pageConnections: Connection[];
|
|
8
|
+
};
|
|
9
|
+
declare const ExternalInvalidRelations: ({ connectionsToEdit, config, metadata, mode, pageConnections }: Props) => any;
|
|
10
|
+
export default ExternalInvalidRelations;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var index_1 = require("../index");
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
32
|
+
var contexts_1 = require("../../contexts");
|
|
33
|
+
var Divider_1 = __importDefault(require("@mui/material/Divider"));
|
|
34
|
+
var styles_1 = require("./styles");
|
|
35
|
+
var ExternalInvalidRelations = function (_a) {
|
|
36
|
+
var connectionsToEdit = _a.connectionsToEdit, config = _a.config, metadata = _a.metadata, mode = _a.mode, pageConnections = _a.pageConnections;
|
|
37
|
+
var profileErrors = (0, contexts_1.useMdmProfileErrors)();
|
|
38
|
+
var styles = (0, styles_1.useStyles)();
|
|
39
|
+
var allInvalidConnections = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getInvalidConnections)(profileErrors, connectionsToEdit); }, [profileErrors, connectionsToEdit]);
|
|
40
|
+
var invalidConnections = allInvalidConnections.filter(function (connection) {
|
|
41
|
+
return !pageConnections.some(function (existingConnection) {
|
|
42
|
+
return (0, mdm_sdk_1.getRelationUriFromConnection)(existingConnection) === (0, mdm_sdk_1.getRelationUriFromConnection)(connection);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
return invalidConnections.map(function (connection, index) {
|
|
46
|
+
var _a;
|
|
47
|
+
var itemKey = "".concat((0, mdm_sdk_1.getRelationUriFromConnection)(connection), "-").concat((_a = connection === null || connection === void 0 ? void 0 : connection.relation) === null || _a === void 0 ? void 0 : _a.direction);
|
|
48
|
+
return (react_1.default.createElement(react_1.default.Fragment, { key: itemKey },
|
|
49
|
+
react_1.default.createElement(index_1.RelationEditor, { connection: connection, config: config, mode: mode, metadata: metadata }),
|
|
50
|
+
index === invalidConnections.length - 1 && react_1.default.createElement(Divider_1.default, { className: styles.divider })));
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
exports.default = ExternalInvalidRelations;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"divider">;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@mui/styles");
|
|
5
|
+
exports.useStyles = (0, styles_1.makeStyles)({
|
|
6
|
+
divider: {
|
|
7
|
+
margin: '0 0 8px',
|
|
8
|
+
borderColor: 'rgba(0,0,0,0.12)'
|
|
9
|
+
}
|
|
10
|
+
});
|
|
@@ -102,12 +102,12 @@ var RelationEditor = function (_a) {
|
|
|
102
102
|
var attributeListEntity = (0, react_1.useMemo)(function () { return (__assign({ attributes: __assign({}, (0, mdm_sdk_1.getRelationAttributesFromConnection)(connection)) }, (0, mdm_sdk_1.getActivenessAttributes)(connection.relation))); }, [connection]);
|
|
103
103
|
var relatedTempEntities = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.findRelatedTemporaryEntities)(allModifiedEntities, modifiedEntity); }, [allModifiedEntities, modifiedEntity]);
|
|
104
104
|
var relatedTempEntitiesUrisHistory = (0, react_1.useRef)([]);
|
|
105
|
-
var setInitialInfo = (0, react_1.useCallback)(function (entity
|
|
106
|
-
mdmSetInitialInfo(config.id, relationUri, entity
|
|
105
|
+
var setInitialInfo = (0, react_1.useCallback)(function (entity) {
|
|
106
|
+
mdmSetInitialInfo(config.id, relationUri, entity);
|
|
107
107
|
}, [mdmSetInitialInfo]);
|
|
108
108
|
(0, react_1.useEffect)(function () {
|
|
109
|
-
if (!
|
|
110
|
-
setInitialInfo(modifiedEntity
|
|
109
|
+
if (modifiedEntity && !initialModifiedEntity) {
|
|
110
|
+
setInitialInfo(modifiedEntity);
|
|
111
111
|
}
|
|
112
112
|
}, []);
|
|
113
113
|
(0, react_1.useEffect)(function () {
|
|
@@ -149,7 +149,7 @@ var RelationEditor = function (_a) {
|
|
|
149
149
|
return errors.length === 0;
|
|
150
150
|
}, [connection, metadata, allModifiedEntities, errorsSet]);
|
|
151
151
|
var resetErrors = (0, react_1.useCallback)(function () { return errorsSet([]); }, [errorsSet]);
|
|
152
|
-
var onApply = (0, react_1.useCallback)((0, ramda_1.pipe)((0, ramda_1.always)(connection), (0, ramda_1.when)(validate, (0, ramda_1.pipe)(mdm_sdk_1.omitMarks, updateModifiedEntityLabel,
|
|
152
|
+
var onApply = (0, react_1.useCallback)((0, ramda_1.pipe)((0, ramda_1.always)(connection), (0, ramda_1.when)(validate, (0, ramda_1.pipe)(mdm_sdk_1.omitMarks, updateModifiedEntityLabel, applyAction(config.id), (0, ramda_1.always)((0, ramda_1.differenceWith)(ramda_1.equals, relatedTempEntitiesUrisHistory.current, relatedTempEntities.map((0, ramda_1.prop)('uri')))), (0, ramda_1.forEach)(deleteModifiedEntity), handleClose))), [connection, config, updateModifiedEntityLabel, validate, relatedTempEntities]);
|
|
153
153
|
var onCancel = (0, react_1.useCallback)(function () {
|
|
154
154
|
if (modifiedEntity !== initialModifiedEntity) {
|
|
155
155
|
if (initialModifiedEntity) {
|
|
@@ -61,6 +61,7 @@ export { AttributesErrorsPanel } from './AttributesErrorsPanel/AttributesErrorsP
|
|
|
61
61
|
export { default as ErrorPopup } from './ErrorPopup/ErrorPopup';
|
|
62
62
|
export { default as ErrorWrapper } from './ErrorWrapper/ErrorWrapper';
|
|
63
63
|
export { default as ExpandedValueTooltip } from './ExpandedValueTooltip/ExpandedValueTooltip';
|
|
64
|
+
export { default as ExternalInvalidRelations } from './ExternalInvalidRelations/ExternalInvalidRelations';
|
|
64
65
|
export { default as FacetViewHeader } from './FacetViewHeader/FacetViewHeader';
|
|
65
66
|
export { default as FlipCard } from './FlipCard/FlipCard';
|
|
66
67
|
export { default as HideOnShrink } from './HideOnShrink/HideOnShrink';
|
package/cjs/components/index.js
CHANGED
|
@@ -18,9 +18,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.EmptyState = exports.NoResults = exports.NoData = exports.DropDownSelector = exports.DropDownMenuButton = exports.Drawer = exports.DataTypeValue = exports.ConnectionRelationTypeSelector = exports.ConfigureColumnsPopup = exports.MenuWithPopper = exports.MenuList = exports.LoadMoreButton = exports.DropdownIndicatorWithIconButton = exports.DropdownIndicator = exports.CommentsContainer = exports.ColorBar = exports.CollapseButton = exports.CollaborationItem = exports.ClickAwayProvider = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.AvatarWithFallback = exports.AutoSizeList = exports.ReadOnlyAttributesPager = exports.SimpleAttribute = exports.ReferenceAttribute = exports.NestedAttribute = exports.EditableImageAttributesLine = exports.ImageAttributesLine = exports.ReadOnlyAttributesList = exports.ReadOnlyAttributeValuesBlock = exports.EditableAttribute = exports.ReadOnlyAttribute = exports.CardinalityMessage = exports.AttributesPager = exports.SimpleAttributeEditor = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.NestedAttributeEditor = exports.MoreAttributesButton = exports.EntitySelector = exports.EntityCreator = exports.AttributesList = exports.BranchDecorator = exports.DescriptionIcon = exports.AttributesView = exports.AttributeListItem = void 0;
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.MultilineMenuItem = void 0;
|
|
21
|
+
exports.useKeyboardNavigation = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.ReactSortableTreeUtils = exports.ReactSortableTreeHandlers = exports.ReactSortableTree = exports.ReactSelectOptionFilters = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBlock = exports.MatchRuleVariant = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportModes = exports.ImportButton = exports.ImageGalleryDialog = exports.Highlighter = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.FlipCard = exports.FacetViewHeader = exports.ExternalInvalidRelations = exports.ExpandedValueTooltip = exports.ErrorWrapper = exports.ErrorPopup = exports.AttributesErrorsPanel = exports.ErrorBoundary = exports.EntityUriLink = exports.RelationTypesSelector = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = void 0;
|
|
22
|
+
exports.RequiredMark = exports.HierarchyNodeTitle = exports.DataTenantBadge = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.DragAndDrop = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.ColoredSourceIcon = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopupPopper = exports.SelectionPopup = void 0;
|
|
23
|
+
exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.MultilineMenuItem = exports.RelevanceScoreBadge = void 0;
|
|
24
24
|
__exportStar(require("./activityLog"), exports);
|
|
25
25
|
var AttributeListItem_1 = require("./AttributeListItem/AttributeListItem");
|
|
26
26
|
Object.defineProperty(exports, "AttributeListItem", { enumerable: true, get: function () { return __importDefault(AttributeListItem_1).default; } });
|
|
@@ -147,6 +147,8 @@ var ErrorWrapper_1 = require("./ErrorWrapper/ErrorWrapper");
|
|
|
147
147
|
Object.defineProperty(exports, "ErrorWrapper", { enumerable: true, get: function () { return __importDefault(ErrorWrapper_1).default; } });
|
|
148
148
|
var ExpandedValueTooltip_1 = require("./ExpandedValueTooltip/ExpandedValueTooltip");
|
|
149
149
|
Object.defineProperty(exports, "ExpandedValueTooltip", { enumerable: true, get: function () { return __importDefault(ExpandedValueTooltip_1).default; } });
|
|
150
|
+
var ExternalInvalidRelations_1 = require("./ExternalInvalidRelations/ExternalInvalidRelations");
|
|
151
|
+
Object.defineProperty(exports, "ExternalInvalidRelations", { enumerable: true, get: function () { return __importDefault(ExternalInvalidRelations_1).default; } });
|
|
150
152
|
var FacetViewHeader_1 = require("./FacetViewHeader/FacetViewHeader");
|
|
151
153
|
Object.defineProperty(exports, "FacetViewHeader", { enumerable: true, get: function () { return __importDefault(FacetViewHeader_1).default; } });
|
|
152
154
|
var FlipCard_1 = require("./FlipCard/FlipCard");
|
|
@@ -111,7 +111,7 @@ export type MdmModuleActionsContextProps = Partial<{
|
|
|
111
111
|
}) => void;
|
|
112
112
|
lookupsListResolved: (payload: Lookups[]) => void;
|
|
113
113
|
relationsLoaded: (payload: RelationsLoadedPayload) => void;
|
|
114
|
-
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity
|
|
114
|
+
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity) => void;
|
|
115
115
|
setRelationType: (id: string, relationUri: string, relationType: CompactRelationType) => void;
|
|
116
116
|
closeRelationEditor: (id: string, relationUri: string) => void;
|
|
117
117
|
openRelationEditor: (id: string, connection: Connection) => void;
|
|
@@ -183,7 +183,7 @@ export declare const MdmModuleActionsContext: import("@fluentui/react-context-se
|
|
|
183
183
|
}) => void;
|
|
184
184
|
lookupsListResolved: (payload: Lookups[]) => void;
|
|
185
185
|
relationsLoaded: (payload: RelationsLoadedPayload) => void;
|
|
186
|
-
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity
|
|
186
|
+
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity) => void;
|
|
187
187
|
setRelationType: (id: string, relationUri: string, relationType: CompactRelationType) => void;
|
|
188
188
|
closeRelationEditor: (id: string, relationUri: string) => void;
|
|
189
189
|
openRelationEditor: (id: string, connection: Connection) => void;
|
|
@@ -128,7 +128,7 @@ export declare const useMdmAction: <T extends "openSearch" | "openHistoryEvent"
|
|
|
128
128
|
}) => void;
|
|
129
129
|
lookupsListResolved: (payload: import("@reltio/mdm-sdk").Lookups[]) => void;
|
|
130
130
|
relationsLoaded: (payload: import("@reltio/mdm-sdk").RelationsLoadedPayload) => void;
|
|
131
|
-
setInitialInfo: (id: string, relationUri: string, tempEntity: import("@reltio/mdm-sdk").Entity
|
|
131
|
+
setInitialInfo: (id: string, relationUri: string, tempEntity: import("@reltio/mdm-sdk").Entity) => void;
|
|
132
132
|
setRelationType: (id: string, relationUri: string, relationType: import("@reltio/mdm-sdk").CompactRelationType) => void;
|
|
133
133
|
closeRelationEditor: (id: string, relationUri: string) => void;
|
|
134
134
|
openRelationEditor: (id: string, connection: import("@reltio/mdm-sdk").Connection) => void;
|
|
@@ -14,19 +14,6 @@ var ramda_1 = require("ramda");
|
|
|
14
14
|
var react_1 = require("react");
|
|
15
15
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
16
16
|
var contexts_1 = require("../contexts");
|
|
17
|
-
var isConnectionHasError = (0, ramda_1.curry)(function (errors, connection) {
|
|
18
|
-
var relationUri = (0, ramda_1.path)(['relation', 'relationUri'], connection);
|
|
19
|
-
return errors.some(function (error) {
|
|
20
|
-
return (0, mdm_sdk_1.areOneHierarchyUris)((0, ramda_1.prop)('uri', error), relationUri) ||
|
|
21
|
-
(0, mdm_sdk_1.areOneHierarchyUris)((0, ramda_1.prop)('parentUri', error), relationUri) ||
|
|
22
|
-
(error.path || []).some(function (errorPath) { return (0, ramda_1.path)(['value', 'relation', 'relationUri'], errorPath) === relationUri; });
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
var getInvalidConnections = function (errors, connections) {
|
|
26
|
-
if (errors === void 0) { errors = []; }
|
|
27
|
-
if (connections === void 0) { connections = []; }
|
|
28
|
-
return (0, ramda_1.filter)(isConnectionHasError(errors), connections);
|
|
29
|
-
};
|
|
30
17
|
var useExpandInvalidRelations = function (configId) {
|
|
31
18
|
var openRelationEditor = (0, contexts_1.useMdmAction)('openRelationEditor');
|
|
32
19
|
var mode = (0, contexts_1.useMdmMode)();
|
|
@@ -38,7 +25,7 @@ var useExpandInvalidRelations = function (configId) {
|
|
|
38
25
|
var preparedConnectionsList = (0, ramda_1.reject)(function (draftConnection) {
|
|
39
26
|
return relationsToAddAndEdit.some((0, ramda_1.eqBy)((0, ramda_1.path)(['relation', 'relationUri']), draftConnection));
|
|
40
27
|
}, __spreadArray(__spreadArray([], addedConnections.map(mdm_sdk_1.markNew), true), editedConnections.map(mdm_sdk_1.markEdited), true));
|
|
41
|
-
var invalidConnections = (0, react_1.useMemo)(function () { return getInvalidConnections(profileErrors, preparedConnectionsList); }, [profileErrors, preparedConnectionsList]);
|
|
28
|
+
var invalidConnections = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getInvalidConnections)(profileErrors, preparedConnectionsList); }, [profileErrors, preparedConnectionsList]);
|
|
42
29
|
var expandInvalidRelatonsListener = (0, contexts_1.useMdmListener)('expandInvalidRelatonsListener');
|
|
43
30
|
var setShouldOpenInvalidEditors = function (shouldOpen) { return (shouldOpenInvalidEditors.current = shouldOpen); };
|
|
44
31
|
var listenerCallback = expandInvalidRelatonsListener(function () { return setShouldOpenInvalidEditors(true); });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Connection, Metadata, Mode, RelationsViewConfig } from '@reltio/mdm-sdk';
|
|
2
|
+
type Props = {
|
|
3
|
+
connectionsToEdit: Connection[];
|
|
4
|
+
config: RelationsViewConfig;
|
|
5
|
+
metadata: Metadata;
|
|
6
|
+
mode: Mode;
|
|
7
|
+
pageConnections: Connection[];
|
|
8
|
+
};
|
|
9
|
+
declare const ExternalInvalidRelations: ({ connectionsToEdit, config, metadata, mode, pageConnections }: Props) => any;
|
|
10
|
+
export default ExternalInvalidRelations;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RelationEditor } from '../index';
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
|
+
import { getInvalidConnections, getRelationUriFromConnection } from '@reltio/mdm-sdk';
|
|
4
|
+
import { useMdmProfileErrors } from '../../contexts';
|
|
5
|
+
import Divider from '@mui/material/Divider';
|
|
6
|
+
import { useStyles } from './styles';
|
|
7
|
+
var ExternalInvalidRelations = function (_a) {
|
|
8
|
+
var connectionsToEdit = _a.connectionsToEdit, config = _a.config, metadata = _a.metadata, mode = _a.mode, pageConnections = _a.pageConnections;
|
|
9
|
+
var profileErrors = useMdmProfileErrors();
|
|
10
|
+
var styles = useStyles();
|
|
11
|
+
var allInvalidConnections = useMemo(function () { return getInvalidConnections(profileErrors, connectionsToEdit); }, [profileErrors, connectionsToEdit]);
|
|
12
|
+
var invalidConnections = allInvalidConnections.filter(function (connection) {
|
|
13
|
+
return !pageConnections.some(function (existingConnection) {
|
|
14
|
+
return getRelationUriFromConnection(existingConnection) === getRelationUriFromConnection(connection);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
return invalidConnections.map(function (connection, index) {
|
|
18
|
+
var _a;
|
|
19
|
+
var itemKey = "".concat(getRelationUriFromConnection(connection), "-").concat((_a = connection === null || connection === void 0 ? void 0 : connection.relation) === null || _a === void 0 ? void 0 : _a.direction);
|
|
20
|
+
return (React.createElement(React.Fragment, { key: itemKey },
|
|
21
|
+
React.createElement(RelationEditor, { connection: connection, config: config, mode: mode, metadata: metadata }),
|
|
22
|
+
index === invalidConnections.length - 1 && React.createElement(Divider, { className: styles.divider })));
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export default ExternalInvalidRelations;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"divider">;
|
|
@@ -12,7 +12,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
13
13
|
import i18n from 'ui-i18n';
|
|
14
14
|
import classnames from 'classnames';
|
|
15
|
-
import { always, concat, differenceWith, equals, forEach,
|
|
15
|
+
import { always, concat, differenceWith, equals, forEach, path, pick, pipe, prop, when, uniq, curry } from 'ramda';
|
|
16
16
|
import Button from '@mui/material/Button';
|
|
17
17
|
import Typography from '@mui/material/Typography';
|
|
18
18
|
import { createTemporaryEntity, findRelatedTemporaryEntities, getActivenessAttributes, getCreatableAttributeTypes, getEntityType, getErrorMessage, getErrorId, omitMarks, relationEditorAttributeTypesSelectionStrategy, validateConnection, updateConnectionEntityLabel, isTempUri, isEmptyValue, getRelationAttributesList, getDefaultRelationTypeObject, getInOutRelations, isSuggestMode, isAttributeTypeError, getRelationUriFromConnection, getRelationEditorActiveError, getRelationAttributesFromConnection, getEntityUriFromConnection } from '@reltio/mdm-sdk';
|
|
@@ -74,12 +74,12 @@ var RelationEditor = function (_a) {
|
|
|
74
74
|
var attributeListEntity = useMemo(function () { return (__assign({ attributes: __assign({}, getRelationAttributesFromConnection(connection)) }, getActivenessAttributes(connection.relation))); }, [connection]);
|
|
75
75
|
var relatedTempEntities = useMemo(function () { return findRelatedTemporaryEntities(allModifiedEntities, modifiedEntity); }, [allModifiedEntities, modifiedEntity]);
|
|
76
76
|
var relatedTempEntitiesUrisHistory = useRef([]);
|
|
77
|
-
var setInitialInfo = useCallback(function (entity
|
|
78
|
-
mdmSetInitialInfo(config.id, relationUri, entity
|
|
77
|
+
var setInitialInfo = useCallback(function (entity) {
|
|
78
|
+
mdmSetInitialInfo(config.id, relationUri, entity);
|
|
79
79
|
}, [mdmSetInitialInfo]);
|
|
80
80
|
useEffect(function () {
|
|
81
|
-
if (!
|
|
82
|
-
setInitialInfo(modifiedEntity
|
|
81
|
+
if (modifiedEntity && !initialModifiedEntity) {
|
|
82
|
+
setInitialInfo(modifiedEntity);
|
|
83
83
|
}
|
|
84
84
|
}, []);
|
|
85
85
|
useEffect(function () {
|
|
@@ -121,7 +121,7 @@ var RelationEditor = function (_a) {
|
|
|
121
121
|
return errors.length === 0;
|
|
122
122
|
}, [connection, metadata, allModifiedEntities, errorsSet]);
|
|
123
123
|
var resetErrors = useCallback(function () { return errorsSet([]); }, [errorsSet]);
|
|
124
|
-
var onApply = useCallback(pipe(always(connection), when(validate, pipe(omitMarks, updateModifiedEntityLabel,
|
|
124
|
+
var onApply = useCallback(pipe(always(connection), when(validate, pipe(omitMarks, updateModifiedEntityLabel, applyAction(config.id), always(differenceWith(equals, relatedTempEntitiesUrisHistory.current, relatedTempEntities.map(prop('uri')))), forEach(deleteModifiedEntity), handleClose))), [connection, config, updateModifiedEntityLabel, validate, relatedTempEntities]);
|
|
125
125
|
var onCancel = useCallback(function () {
|
|
126
126
|
if (modifiedEntity !== initialModifiedEntity) {
|
|
127
127
|
if (initialModifiedEntity) {
|
|
@@ -61,6 +61,7 @@ export { AttributesErrorsPanel } from './AttributesErrorsPanel/AttributesErrorsP
|
|
|
61
61
|
export { default as ErrorPopup } from './ErrorPopup/ErrorPopup';
|
|
62
62
|
export { default as ErrorWrapper } from './ErrorWrapper/ErrorWrapper';
|
|
63
63
|
export { default as ExpandedValueTooltip } from './ExpandedValueTooltip/ExpandedValueTooltip';
|
|
64
|
+
export { default as ExternalInvalidRelations } from './ExternalInvalidRelations/ExternalInvalidRelations';
|
|
64
65
|
export { default as FacetViewHeader } from './FacetViewHeader/FacetViewHeader';
|
|
65
66
|
export { default as FlipCard } from './FlipCard/FlipCard';
|
|
66
67
|
export { default as HideOnShrink } from './HideOnShrink/HideOnShrink';
|
package/esm/components/index.js
CHANGED
|
@@ -61,6 +61,7 @@ export { AttributesErrorsPanel } from './AttributesErrorsPanel/AttributesErrorsP
|
|
|
61
61
|
export { default as ErrorPopup } from './ErrorPopup/ErrorPopup';
|
|
62
62
|
export { default as ErrorWrapper } from './ErrorWrapper/ErrorWrapper';
|
|
63
63
|
export { default as ExpandedValueTooltip } from './ExpandedValueTooltip/ExpandedValueTooltip';
|
|
64
|
+
export { default as ExternalInvalidRelations } from './ExternalInvalidRelations/ExternalInvalidRelations';
|
|
64
65
|
export { default as FacetViewHeader } from './FacetViewHeader/FacetViewHeader';
|
|
65
66
|
export { default as FlipCard } from './FlipCard/FlipCard';
|
|
66
67
|
export { default as HideOnShrink } from './HideOnShrink/HideOnShrink';
|
|
@@ -111,7 +111,7 @@ export type MdmModuleActionsContextProps = Partial<{
|
|
|
111
111
|
}) => void;
|
|
112
112
|
lookupsListResolved: (payload: Lookups[]) => void;
|
|
113
113
|
relationsLoaded: (payload: RelationsLoadedPayload) => void;
|
|
114
|
-
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity
|
|
114
|
+
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity) => void;
|
|
115
115
|
setRelationType: (id: string, relationUri: string, relationType: CompactRelationType) => void;
|
|
116
116
|
closeRelationEditor: (id: string, relationUri: string) => void;
|
|
117
117
|
openRelationEditor: (id: string, connection: Connection) => void;
|
|
@@ -183,7 +183,7 @@ export declare const MdmModuleActionsContext: import("@fluentui/react-context-se
|
|
|
183
183
|
}) => void;
|
|
184
184
|
lookupsListResolved: (payload: Lookups[]) => void;
|
|
185
185
|
relationsLoaded: (payload: RelationsLoadedPayload) => void;
|
|
186
|
-
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity
|
|
186
|
+
setInitialInfo: (id: string, relationUri: string, tempEntity: Entity) => void;
|
|
187
187
|
setRelationType: (id: string, relationUri: string, relationType: CompactRelationType) => void;
|
|
188
188
|
closeRelationEditor: (id: string, relationUri: string) => void;
|
|
189
189
|
openRelationEditor: (id: string, connection: Connection) => void;
|
|
@@ -128,7 +128,7 @@ export declare const useMdmAction: <T extends "openSearch" | "openHistoryEvent"
|
|
|
128
128
|
}) => void;
|
|
129
129
|
lookupsListResolved: (payload: import("@reltio/mdm-sdk").Lookups[]) => void;
|
|
130
130
|
relationsLoaded: (payload: import("@reltio/mdm-sdk").RelationsLoadedPayload) => void;
|
|
131
|
-
setInitialInfo: (id: string, relationUri: string, tempEntity: import("@reltio/mdm-sdk").Entity
|
|
131
|
+
setInitialInfo: (id: string, relationUri: string, tempEntity: import("@reltio/mdm-sdk").Entity) => void;
|
|
132
132
|
setRelationType: (id: string, relationUri: string, relationType: import("@reltio/mdm-sdk").CompactRelationType) => void;
|
|
133
133
|
closeRelationEditor: (id: string, relationUri: string) => void;
|
|
134
134
|
openRelationEditor: (id: string, connection: import("@reltio/mdm-sdk").Connection) => void;
|
|
@@ -7,23 +7,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
7
7
|
}
|
|
8
8
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { eqBy, path, reject } from 'ramda';
|
|
11
11
|
import { useEffect, useMemo, useRef } from 'react';
|
|
12
|
-
import {
|
|
12
|
+
import { isEditableMode, getInvalidConnections, markEdited, markNew } from '@reltio/mdm-sdk';
|
|
13
13
|
import { useActionsHook, useMdmAction, useMdmAllRelationsToAddAndEdit, useMdmMode, useMdmProfileErrors, useMdmRelationsDrafts, useMdmListener } from '../contexts';
|
|
14
|
-
var isConnectionHasError = curry(function (errors, connection) {
|
|
15
|
-
var relationUri = path(['relation', 'relationUri'], connection);
|
|
16
|
-
return errors.some(function (error) {
|
|
17
|
-
return areOneHierarchyUris(prop('uri', error), relationUri) ||
|
|
18
|
-
areOneHierarchyUris(prop('parentUri', error), relationUri) ||
|
|
19
|
-
(error.path || []).some(function (errorPath) { return path(['value', 'relation', 'relationUri'], errorPath) === relationUri; });
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
var getInvalidConnections = function (errors, connections) {
|
|
23
|
-
if (errors === void 0) { errors = []; }
|
|
24
|
-
if (connections === void 0) { connections = []; }
|
|
25
|
-
return filter(isConnectionHasError(errors), connections);
|
|
26
|
-
};
|
|
27
14
|
export var useExpandInvalidRelations = function (configId) {
|
|
28
15
|
var openRelationEditor = useMdmAction('openRelationEditor');
|
|
29
16
|
var mode = useMdmMode();
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1724",
|
|
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
|
"@fluentui/react-context-selector": "^9.1.26",
|
|
9
9
|
"@react-google-maps/api": "2.7.0",
|
|
10
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
10
|
+
"@reltio/mdm-sdk": "^1.4.1713",
|
|
11
11
|
"classnames": "^2.2.5",
|
|
12
12
|
"d3-cloud": "^1.2.5",
|
|
13
13
|
"d3-geo": "^2.0.1",
|