@reltio/components 1.4.2208 → 1.4.2209
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/AttributesErrorsPanel/components/Error/Error.js +2 -2
- package/cjs/AttributesErrorsPanel/components/Error/Error.js +2 -2
- package/cjs/contexts/MdmModuleContext/context.d.ts +2 -0
- package/cjs/contexts/MdmModuleContext/hooks.d.ts +1 -0
- package/cjs/contexts/MdmModuleContext/hooks.js +3 -1
- package/cjs/contexts/MdmModuleContext/index.d.ts +1 -1
- package/cjs/contexts/MdmModuleContext/index.js +2 -1
- package/cjs/features/workflow/ChangeRequestEditor/components/ChangeItemLabel/ChangeItemLabel.js +8 -3
- package/cjs/features/workflow/ChangeRequestEditor/components/ChangeItemRow/ChangeItemRow.js +45 -4
- package/cjs/features/workflow/ChangeRequestEditor/components/ChangeItemRow/ChangeItemRow.module.css.js +2 -2
- package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.d.ts +1 -1
- package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditorFactory/DCRValueEditorFactory.d.ts +1 -1
- package/cjs/features/workflow/ChangeRequestEditor/hooks/useChangeRequestEditor.d.ts +1 -1
- package/cjs/features/workflow/ReviewDCRDialog/DCRErrorsPanel/DCRErrorsPanel.d.ts +2 -0
- package/cjs/features/workflow/ReviewDCRDialog/DCRErrorsPanel/DCRErrorsPanel.js +44 -0
- package/cjs/features/workflow/ReviewDCRDialog/DCRErrorsPanel/DCRErrorsPanel.module.css.js +9 -0
- package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.js +2 -0
- package/cjs/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +3 -1
- package/cjs/features/workflow/contexts/ChangeRequestEditorContext/index.d.ts +19 -10
- package/cjs/features/workflow/contexts/ChangeRequestEditorContext/index.js +28 -2
- package/cjs/features/workflow/helpers/dcr.d.ts +1 -1
- package/cjs/features/workflow/helpers/merge.js +3 -3
- package/cjs/features/workflow/helpers/validation.d.ts +17 -0
- package/cjs/features/workflow/helpers/validation.js +333 -0
- package/cjs/features/workflow/hooks/useApplyDcrChanges.js +34 -24
- package/cjs/features/workflow/hooks/useDCRValidation.d.ts +5 -0
- package/cjs/features/workflow/hooks/useDCRValidation.js +153 -0
- package/cjs/features/workflow/types.d.ts +8 -1
- package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.d.ts +2 -1
- package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.js +2 -2
- package/contexts/MdmModuleContext/context.d.ts +2 -0
- package/contexts/MdmModuleContext/hooks.d.ts +1 -0
- package/contexts/MdmModuleContext/hooks.js +1 -0
- package/contexts/MdmModuleContext/index.d.ts +1 -1
- package/contexts/MdmModuleContext/index.js +1 -1
- package/features/workflow/ChangeRequestEditor/components/ChangeItemLabel/ChangeItemLabel.js +8 -3
- package/features/workflow/ChangeRequestEditor/components/ChangeItemRow/ChangeItemRow.js +22 -4
- package/features/workflow/ChangeRequestEditor/components/ChangeItemRow/ChangeItemRow.module.css.js +2 -2
- package/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.d.ts +1 -1
- package/features/workflow/ChangeRequestEditor/components/DCRValueEditorFactory/DCRValueEditorFactory.d.ts +1 -1
- package/features/workflow/ChangeRequestEditor/hooks/useChangeRequestEditor.d.ts +1 -1
- package/features/workflow/ReviewDCRDialog/DCRErrorsPanel/DCRErrorsPanel.d.ts +2 -0
- package/features/workflow/ReviewDCRDialog/DCRErrorsPanel/DCRErrorsPanel.js +14 -0
- package/features/workflow/ReviewDCRDialog/DCRErrorsPanel/DCRErrorsPanel.module.css.js +9 -0
- package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.js +2 -0
- package/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +3 -1
- package/features/workflow/contexts/ChangeRequestEditorContext/index.d.ts +19 -10
- package/features/workflow/contexts/ChangeRequestEditorContext/index.js +28 -2
- package/features/workflow/helpers/dcr.d.ts +1 -1
- package/features/workflow/helpers/merge.js +3 -3
- package/features/workflow/helpers/validation.d.ts +17 -0
- package/features/workflow/helpers/validation.js +326 -0
- package/features/workflow/hooks/useApplyDcrChanges.js +34 -24
- package/features/workflow/hooks/useDCRValidation.d.ts +5 -0
- package/features/workflow/hooks/useDCRValidation.js +149 -0
- package/features/workflow/types.d.ts +8 -1
- package/hooks/useScrollToAttributeError/useScrollToAttributeError.d.ts +2 -1
- package/hooks/useScrollToAttributeError/useScrollToAttributeError.js +2 -2
- package/package.json +2 -2
|
@@ -18,7 +18,7 @@ export var Error = memo(function (_a) {
|
|
|
18
18
|
var displayedErrorPath = getDisplayedErrorPath(error);
|
|
19
19
|
var displayedAttributeTypesPath = getDisplayedAttributeTypesPath(error);
|
|
20
20
|
var highlightError = useContext(ScrollToElementContext).highlightError;
|
|
21
|
-
var showLink = error.uri || (error.parentUri && error.attributeTypeUri);
|
|
21
|
+
var showLink = (error.uri || (error.parentUri && error.attributeTypeUri)) && (isEditableMode || error.alwaysShow);
|
|
22
22
|
return (React.createElement("div", { className: styles.errorListItem },
|
|
23
23
|
React.createElement("div", { className: styles.listItemMarker }, error.type === ErrorType.rdmIssueInReference ? (React.createElement(Tooltip, { title: i18n.text('This error is visible only in view mode') },
|
|
24
24
|
React.createElement("span", null,
|
|
@@ -27,7 +27,7 @@ export var Error = memo(function (_a) {
|
|
|
27
27
|
displayedAttributeTypesPath && (React.createElement("span", { className: styles.attributeTypesPath }, displayedAttributeTypesPath)),
|
|
28
28
|
React.createElement("span", { className: styles.errorTitle },
|
|
29
29
|
displayedMessage,
|
|
30
|
-
showLink &&
|
|
30
|
+
showLink && (React.createElement(SmallIconButtonWithTooltip, { icon: HyperlinkIcon, size: "XXS", onClick: function () { return highlightError(error); }, tooltipTitle: i18n.text('Go to error'), className: styles.goToIcon }))),
|
|
31
31
|
displayedErrorPath && React.createElement("span", { className: styles.parents }, displayedErrorPath))));
|
|
32
32
|
});
|
|
33
33
|
Error.displayName = 'Error';
|
|
@@ -47,7 +47,7 @@ exports.Error = (0, react_1.memo)(function (_a) {
|
|
|
47
47
|
var displayedErrorPath = (0, helpers_1.getDisplayedErrorPath)(error);
|
|
48
48
|
var displayedAttributeTypesPath = (0, helpers_1.getDisplayedAttributeTypesPath)(error);
|
|
49
49
|
var highlightError = (0, react_1.useContext)(ScrollToElementContext_1.ScrollToElementContext).highlightError;
|
|
50
|
-
var showLink = error.uri || (error.parentUri && error.attributeTypeUri);
|
|
50
|
+
var showLink = (error.uri || (error.parentUri && error.attributeTypeUri)) && (isEditableMode || error.alwaysShow);
|
|
51
51
|
return (react_1.default.createElement("div", { className: styles.errorListItem },
|
|
52
52
|
react_1.default.createElement("div", { className: styles.listItemMarker }, error.type === mdm_sdk_1.ErrorType.rdmIssueInReference ? (react_1.default.createElement(Tooltip_1.default, { title: ui_i18n_1.default.text('This error is visible only in view mode') },
|
|
53
53
|
react_1.default.createElement("span", null,
|
|
@@ -56,7 +56,7 @@ exports.Error = (0, react_1.memo)(function (_a) {
|
|
|
56
56
|
displayedAttributeTypesPath && (react_1.default.createElement("span", { className: styles.attributeTypesPath }, displayedAttributeTypesPath)),
|
|
57
57
|
react_1.default.createElement("span", { className: styles.errorTitle },
|
|
58
58
|
displayedMessage,
|
|
59
|
-
showLink &&
|
|
59
|
+
showLink && (react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { icon: Hyperlink_1.default, size: "XXS", onClick: function () { return highlightError(error); }, tooltipTitle: ui_i18n_1.default.text('Go to error'), className: styles.goToIcon }))),
|
|
60
60
|
displayedErrorPath && react_1.default.createElement("span", { className: styles.parents }, displayedErrorPath))));
|
|
61
61
|
});
|
|
62
62
|
exports.Error.displayName = 'Error';
|
|
@@ -58,6 +58,7 @@ export type MdmModuleValuesContextProps = Partial<{
|
|
|
58
58
|
uiConfigProfile: Profile;
|
|
59
59
|
showMasking: boolean;
|
|
60
60
|
reviewDCREnabled: boolean;
|
|
61
|
+
dcrReviewValidation: boolean;
|
|
61
62
|
}>;
|
|
62
63
|
export type MdmModuleActionsContextProps = Partial<{
|
|
63
64
|
openSearch: (payload: SearchState) => void;
|
|
@@ -264,6 +265,7 @@ export declare const MdmModuleValuesContext: import("@fluentui/react-context-sel
|
|
|
264
265
|
uiConfigProfile: Profile;
|
|
265
266
|
showMasking: boolean;
|
|
266
267
|
reviewDCREnabled: boolean;
|
|
268
|
+
dcrReviewValidation: boolean;
|
|
267
269
|
}>>;
|
|
268
270
|
export declare const MdmModuleListenersContext: import("@fluentui/react-context-selector").Context<Partial<{
|
|
269
271
|
expandInvalidRelatonsListener: (callback: () => void) => (action: any) => void;
|
|
@@ -153,3 +153,4 @@ export declare const useMdmHiddenAttributes: () => Record<string, string[]>;
|
|
|
153
153
|
export declare const useMdmControlAttributes: () => string[];
|
|
154
154
|
export declare const useMdmShowMasking: () => boolean;
|
|
155
155
|
export declare const useMdmReviewDCREnabled: () => boolean;
|
|
156
|
+
export declare const useMdmDcrReviewValidation: () => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMdmIsCollaborationEnabled = exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmImagePath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = void 0;
|
|
4
|
-
exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
|
|
4
|
+
exports.useMdmDcrReviewValidation = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
|
|
5
5
|
var react_context_selector_1 = require("@fluentui/react-context-selector");
|
|
6
6
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
7
7
|
var context_1 = require("./context");
|
|
@@ -237,3 +237,5 @@ var useMdmShowMasking = function () { return useMdmModuleValuesContext(function
|
|
|
237
237
|
exports.useMdmShowMasking = useMdmShowMasking;
|
|
238
238
|
var useMdmReviewDCREnabled = function () { return useMdmModuleValuesContext(function (context) { return context.reviewDCREnabled; }); };
|
|
239
239
|
exports.useMdmReviewDCREnabled = useMdmReviewDCREnabled;
|
|
240
|
+
var useMdmDcrReviewValidation = function () { return useMdmModuleValuesContext(function (context) { return context.dcrReviewValidation; }); };
|
|
241
|
+
exports.useMdmDcrReviewValidation = useMdmDcrReviewValidation;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { MdmModuleProvider } from './provider';
|
|
2
|
-
export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmImagePath } from './hooks';
|
|
2
|
+
export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmDcrReviewValidation, useMdmImagePath } from './hooks';
|
|
3
3
|
export type { MdmModuleActionsContextProps, MdmModuleValuesContextProps, MdmModuleListenersContextProps } from './context';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMdmIsCollaborationEnabled = exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = exports.MdmModuleProvider = void 0;
|
|
4
|
-
exports.useMdmImagePath = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
|
|
4
|
+
exports.useMdmImagePath = exports.useMdmDcrReviewValidation = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
|
|
5
5
|
var provider_1 = require("./provider");
|
|
6
6
|
Object.defineProperty(exports, "MdmModuleProvider", { enumerable: true, get: function () { return provider_1.MdmModuleProvider; } });
|
|
7
7
|
var hooks_1 = require("./hooks");
|
|
@@ -75,4 +75,5 @@ Object.defineProperty(exports, "useMdmHiddenAttributes", { enumerable: true, get
|
|
|
75
75
|
Object.defineProperty(exports, "useMdmControlAttributes", { enumerable: true, get: function () { return hooks_1.useMdmControlAttributes; } });
|
|
76
76
|
Object.defineProperty(exports, "useMdmShowMasking", { enumerable: true, get: function () { return hooks_1.useMdmShowMasking; } });
|
|
77
77
|
Object.defineProperty(exports, "useMdmReviewDCREnabled", { enumerable: true, get: function () { return hooks_1.useMdmReviewDCREnabled; } });
|
|
78
|
+
Object.defineProperty(exports, "useMdmDcrReviewValidation", { enumerable: true, get: function () { return hooks_1.useMdmDcrReviewValidation; } });
|
|
78
79
|
Object.defineProperty(exports, "useMdmImagePath", { enumerable: true, get: function () { return hooks_1.useMdmImagePath; } });
|
package/cjs/features/workflow/ChangeRequestEditor/components/ChangeItemLabel/ChangeItemLabel.js
CHANGED
|
@@ -7,13 +7,18 @@ exports.ChangeItemLabel = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var classnames_1 = __importDefault(require("classnames"));
|
|
9
9
|
var useCssVariableStyles_1 = require("../../../../../hooks/useCssVariableStyles");
|
|
10
|
+
var RequiredMark_1 = require("../../../../../RequiredMark");
|
|
10
11
|
var ChangeItemLabel_module_css_1 = __importDefault(require("./ChangeItemLabel.module.css"));
|
|
11
12
|
var ChangeItemLabel = function (_a) {
|
|
12
|
-
var
|
|
13
|
-
var
|
|
13
|
+
var _b;
|
|
14
|
+
var change = _a.change, className = _a.className, _c = _a.showLabel, showLabel = _c === void 0 ? true : _c;
|
|
15
|
+
var _d = change.level, level = _d === void 0 ? 0 : _d, label = change.label;
|
|
16
|
+
var isRequired = (_b = change === null || change === void 0 ? void 0 : change.attributeType) === null || _b === void 0 ? void 0 : _b.required;
|
|
14
17
|
var variableStyles = (0, useCssVariableStyles_1.useCssVariableStyles)({
|
|
15
18
|
'--level': level
|
|
16
19
|
});
|
|
17
|
-
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ChangeItemLabel_module_css_1.default.changeLabel, className), style: variableStyles }, showLabel &&
|
|
20
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ChangeItemLabel_module_css_1.default.changeLabel, className), style: variableStyles }, showLabel && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
21
|
+
label,
|
|
22
|
+
isRequired && react_1.default.createElement(RequiredMark_1.RequiredMark, null)))));
|
|
18
23
|
};
|
|
19
24
|
exports.ChangeItemLabel = ChangeItemLabel;
|
|
@@ -1,17 +1,43 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.ChangeItemRow = void 0;
|
|
7
30
|
var classnames_1 = __importDefault(require("classnames"));
|
|
8
|
-
var react_1 =
|
|
31
|
+
var react_1 = __importStar(require("react"));
|
|
9
32
|
var react_context_selector_1 = require("@fluentui/react-context-selector");
|
|
10
33
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
11
34
|
var helpers_1 = require("../../helpers/helpers");
|
|
12
35
|
var ChangeRequestEditorContext_1 = require("../../../contexts/ChangeRequestEditorContext");
|
|
13
36
|
var ChangeItemEditor_1 = require("../ChangeItemEditor");
|
|
14
37
|
var merge_1 = require("../../../helpers/merge");
|
|
38
|
+
var ErrorWrapper_1 = require("../../../../../ErrorWrapper");
|
|
39
|
+
var ScrollToElementContext_1 = require("../../../../../contexts/ScrollToElementContext");
|
|
40
|
+
var useScrollToAttributeError_1 = require("../../../../../hooks/useScrollToAttributeError");
|
|
15
41
|
var ChangeItemRow_module_css_1 = __importDefault(require("./ChangeItemRow.module.css"));
|
|
16
42
|
var ChangeItemRow = function (_a) {
|
|
17
43
|
var _b;
|
|
@@ -26,14 +52,29 @@ var ChangeItemRow = function (_a) {
|
|
|
26
52
|
var isUpdated = (0, react_context_selector_1.useContextSelector)(ChangeRequestEditorContext_1.ChangeRequestEditorContext, function (context) {
|
|
27
53
|
return context.getIsLineUpdated(lineIds === null || lineIds === void 0 ? void 0 : lineIds[0]);
|
|
28
54
|
});
|
|
55
|
+
var errorByLineId = (0, react_context_selector_1.useContextSelector)(ChangeRequestEditorContext_1.ChangeRequestEditorContext, function (context) {
|
|
56
|
+
return context.getErrorByLineId(lineIds === null || lineIds === void 0 ? void 0 : lineIds[0]);
|
|
57
|
+
});
|
|
58
|
+
var error = errorByLineId === null || errorByLineId === void 0 ? void 0 : errorByLineId.error;
|
|
59
|
+
var errorLineIds = (errorByLineId === null || errorByLineId === void 0 ? void 0 : errorByLineId.lineIds) || [];
|
|
60
|
+
var scrollToElementContext = (0, react_1.useContext)(ScrollToElementContext_1.ScrollToElementContext);
|
|
61
|
+
var highlightedError = scrollToElementContext === null || scrollToElementContext === void 0 ? void 0 : scrollToElementContext.element;
|
|
62
|
+
var isHighlighted = (0, ScrollToElementContext_1.isHighlightedErrorType)(scrollToElementContext === null || scrollToElementContext === void 0 ? void 0 : scrollToElementContext.type) &&
|
|
63
|
+
highlightedError &&
|
|
64
|
+
errorLineIds.includes(highlightedError.uri);
|
|
65
|
+
var _c = (0, useScrollToAttributeError_1.useScrollToAttributeError)({
|
|
66
|
+
highlightedError: isHighlighted ? scrollToElementContext : null,
|
|
67
|
+
className: ChangeItemRow_module_css_1.default.changeItemRowWithError
|
|
68
|
+
}), ref = _c.ref, errorClassName = _c.errorClassName;
|
|
29
69
|
var isEditedOperation = change.operation === mdm_sdk_1.DCROperationTypes.EDITED;
|
|
30
70
|
var editable = (0, helpers_1.isEditableChange)(change, entityInfo);
|
|
31
|
-
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ChangeItemRow_module_css_1.default.changeItemRow, (_b = {},
|
|
71
|
+
return (react_1.default.createElement("div", { ref: ref, className: (0, classnames_1.default)(ChangeItemRow_module_css_1.default.changeItemRow, errorClassName, (_b = {},
|
|
32
72
|
_b[ChangeItemRow_module_css_1.default.editableRow] = editable,
|
|
33
73
|
_b[ChangeItemRow_module_css_1.default.changedRow] = isUpdated,
|
|
34
74
|
_b[ChangeItemRow_module_css_1.default.rejectedRow] = isLineRejected || isParentLineRejected,
|
|
35
75
|
_b)) },
|
|
36
|
-
|
|
37
|
-
|
|
76
|
+
react_1.default.createElement(ErrorWrapper_1.ErrorWrapper, { errorMessage: error === null || error === void 0 ? void 0 : error.message, classes: { helperText: ChangeItemRow_module_css_1.default.errorText } },
|
|
77
|
+
isEditedOperation && react_1.default.createElement(ChangeItemEditor_1.ChangeItemOldValue, { change: change }),
|
|
78
|
+
react_1.default.createElement(ChangeItemEditor_1.ChangeItemEditor, { change: change, editable: editable, classes: { rejectButton: ChangeItemRow_module_css_1.default.rejectButton } }))));
|
|
38
79
|
};
|
|
39
80
|
exports.ChangeItemRow = ChangeItemRow;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const styles = {"changeItemRow":"ChangeItemRow-changeItemRow--oF9hn","rejectButton":"ChangeItemRow-rejectButton--iNbfM","changedRow":"ChangeItemRow-changedRow--32zBa","rejectedRow":"ChangeItemRow-rejectedRow--RqKQc"};
|
|
1
|
+
const styles = {"changeItemRow":"ChangeItemRow-changeItemRow--oF9hn","changeItemRowWithError":"ChangeItemRow-changeItemRowWithError--oS1li","rejectButton":"ChangeItemRow-rejectButton--iNbfM","changedRow":"ChangeItemRow-changedRow--32zBa","rejectedRow":"ChangeItemRow-rejectedRow--RqKQc","errorText":"ChangeItemRow-errorText--EybHm"};
|
|
2
2
|
if (typeof document !== 'undefined') {
|
|
3
3
|
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
4
|
const style = document.createElement('style');
|
|
5
5
|
style.type = 'text/css'
|
|
6
|
-
style.innerHTML = `.ChangeItemRow-changeItemRow--oF9hn{display:flex;flex-direction:column;gap:8px;transition:background-color .2s ease}.ChangeItemRow-rejectButton--iNbfM{opacity:0}.ChangeItemRow-changeItemRow--oF9hn:hover{background:var(--mui-palette-action-hover)}.ChangeItemRow-changeItemRow--oF9hn:hover .ChangeItemRow-rejectButton--iNbfM{opacity:1}.ChangeItemRow-changedRow--32zBa{background-color:#e5eff7}.ChangeItemRow-changedRow--32zBa:hover{background-color:rgba(229,239,247,.8)}.ChangeItemRow-rejectedRow--RqKQc{background-color:#f6e7e7}.ChangeItemRow-rejectedRow--RqKQc:hover{background-color:hsla(0,45%,94%,.8)}`;
|
|
6
|
+
style.innerHTML = `.ChangeItemRow-changeItemRow--oF9hn{display:flex;flex-direction:column;gap:8px;position:relative;transition:background-color .2s ease}.ChangeItemRow-changeItemRow--oF9hn.ChangeItemRow-changeItemRowWithError--oS1li:before{bottom:-4px;height:auto;left:-8px;right:-8px;top:-4px;width:auto}.ChangeItemRow-rejectButton--iNbfM{opacity:0}.ChangeItemRow-changeItemRow--oF9hn:hover{background:var(--mui-palette-action-hover)}.ChangeItemRow-changeItemRow--oF9hn:hover .ChangeItemRow-rejectButton--iNbfM{opacity:1}.ChangeItemRow-changedRow--32zBa{background-color:#e5eff7}.ChangeItemRow-changedRow--32zBa:hover{background-color:rgba(229,239,247,.8)}.ChangeItemRow-rejectedRow--RqKQc{background-color:#f6e7e7}.ChangeItemRow-rejectedRow--RqKQc:hover{background-color:hsla(0,45%,94%,.8)}.ChangeItemRow-errorText--EybHm{padding:0 0 4px 180px}`;
|
|
7
7
|
head.appendChild(style);
|
|
8
8
|
}
|
|
9
9
|
module.exports = styles;
|
package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AttributeType, ChangeValue, PrimitiveValue, SimpleAttributeValue } from '@reltio/mdm-sdk';
|
|
3
|
-
import { LineDataValue } from '../../../
|
|
3
|
+
import { LineDataValue } from '../../../types';
|
|
4
4
|
type Props = {
|
|
5
5
|
attributeType: AttributeType;
|
|
6
6
|
value: LineDataValue | ChangeValue;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AttributeType, ChangeValue, DataTypeDefinition, PrimitiveValue, SimpleAttributeValue } from '@reltio/mdm-sdk';
|
|
3
|
-
import { LineDataValue } from '../../../
|
|
3
|
+
import { LineDataValue } from '../../../types';
|
|
4
4
|
type Props = {
|
|
5
5
|
attributeType: AttributeType;
|
|
6
6
|
value: LineDataValue | ChangeValue;
|
|
@@ -7,7 +7,7 @@ export declare const useChangeRequestEditor: ({ change }: Props) => {
|
|
|
7
7
|
handleChange: (newValue: SimpleAttributeValue | string[] | PrimitiveValue) => void;
|
|
8
8
|
handleReject: () => void;
|
|
9
9
|
handleRevert: () => void;
|
|
10
|
-
lineData: import("../../
|
|
10
|
+
lineData: import("../../types").LineData;
|
|
11
11
|
isLineRejected: boolean;
|
|
12
12
|
isParentLineRejected: boolean;
|
|
13
13
|
isUpdated: boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
exports.DCRErrorsPanel = void 0;
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var react_context_selector_1 = require("@fluentui/react-context-selector");
|
|
32
|
+
var ChangeRequestEditorContext_1 = require("../../contexts/ChangeRequestEditorContext");
|
|
33
|
+
var AttributesErrorsPanel_1 = require("../../../../AttributesErrorsPanel");
|
|
34
|
+
var DCRErrorsPanel_module_css_1 = __importDefault(require("./DCRErrorsPanel.module.css"));
|
|
35
|
+
var DCRErrorsPanel = function () {
|
|
36
|
+
var errors = (0, react_context_selector_1.useContextSelector)(ChangeRequestEditorContext_1.ChangeRequestEditorContext, function (context) { return context.getErrors(); });
|
|
37
|
+
var validationErrors = (0, react_1.useMemo)(function () { return errors.map(function (error) { return error.error; }); }, [errors]);
|
|
38
|
+
if (validationErrors.length === 0) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return (react_1.default.createElement("div", { className: DCRErrorsPanel_module_css_1.default.DCRErrorsPanel },
|
|
42
|
+
react_1.default.createElement(AttributesErrorsPanel_1.AttributesErrorsPanel, { attributesWithErrors: validationErrors })));
|
|
43
|
+
};
|
|
44
|
+
exports.DCRErrorsPanel = DCRErrorsPanel;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"DCRErrorsPanel":"DCRErrorsPanel-DCRErrorsPanel--7zw3p"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.DCRErrorsPanel-DCRErrorsPanel--7zw3p{margin-bottom:16px}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
module.exports = styles;
|
|
@@ -24,6 +24,7 @@ var WorkflowActionButtons_1 = require("../WorkflowActionButtons");
|
|
|
24
24
|
var DCRSummaryInfo_1 = require("./components/DCRSummaryInfo/DCRSummaryInfo");
|
|
25
25
|
var ChangeRequestEditor_1 = require("../ChangeRequestEditor");
|
|
26
26
|
var useApplyDcrChanges_1 = require("../hooks/useApplyDcrChanges");
|
|
27
|
+
var DCRErrorsPanel_1 = require("./DCRErrorsPanel/DCRErrorsPanel");
|
|
27
28
|
var ReviewDCRDialog_module_css_1 = __importDefault(require("./ReviewDCRDialog.module.css"));
|
|
28
29
|
var ReviewDCRDialog = function (_a) {
|
|
29
30
|
var open = _a.open, onClose = _a.onClose, dcr = _a.dcr, task = _a.task, groupedObjects = _a.groupedObjects;
|
|
@@ -49,6 +50,7 @@ var ReviewDCRDialog = function (_a) {
|
|
|
49
50
|
react_1.default.createElement(DialogContent_1.default, { classes: { root: ReviewDCRDialog_module_css_1.default.content } },
|
|
50
51
|
react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.leftSection },
|
|
51
52
|
react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: entity, className: ReviewDCRDialog_module_css_1.default.profileBandRoot, classes: { profileBand: ReviewDCRDialog_module_css_1.default.profileBand } }),
|
|
53
|
+
react_1.default.createElement(DCRErrorsPanel_1.DCRErrorsPanel, null),
|
|
52
54
|
react_1.default.createElement(DCRSummaryInfo_1.DCRSummaryInfo, { dcr: dcr, task: task, groupedObjects: groupedObjects }),
|
|
53
55
|
react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableSection },
|
|
54
56
|
react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableGrid },
|
|
@@ -41,6 +41,7 @@ var ReviewDCRDialog_1 = require("../../../ReviewDCRDialog");
|
|
|
41
41
|
var ReviewDCRButton_1 = require("../../../ReviewDCRButton");
|
|
42
42
|
var ChangeRequestEditorContext_1 = require("../../../contexts/ChangeRequestEditorContext");
|
|
43
43
|
var WorkflowTasksContext_1 = require("../../../../../contexts/WorkflowTasksContext");
|
|
44
|
+
var ScrollToElementContext_1 = require("../../../../../contexts/ScrollToElementContext");
|
|
44
45
|
var DataChangeRequestTaskCard = function (_a) {
|
|
45
46
|
var task = _a.task;
|
|
46
47
|
var reviewDCREnabledByEntityType = ((0, react_1.useContext)(WorkflowTasksContext_1.WorkflowTasksContext) || {}).reviewDCR;
|
|
@@ -67,6 +68,7 @@ var DataChangeRequestTaskCard = function (_a) {
|
|
|
67
68
|
groupedObjects.map(function (object, index) { return (react_1.default.createElement(LineDecorator_1.LineDecorator, { key: index, last: index === groupedObjects.length - 1, divider: true },
|
|
68
69
|
react_1.default.createElement(AttributesChanges_1.AttributesChanges, { entityInfo: object.entity, relationsInfo: object.relations, changes: dcr.changes, objectsInfo: dcr.objectsInfo, dcrUri: dcrUri }))); })),
|
|
69
70
|
showReviewDialog && (react_1.default.createElement(ChangeRequestEditorContext_1.ChangeRequestEditorProvider, null,
|
|
70
|
-
react_1.default.createElement(
|
|
71
|
+
react_1.default.createElement(ScrollToElementContext_1.ScrollToElementProvider, null,
|
|
72
|
+
react_1.default.createElement(ReviewDCRDialog_1.ReviewDCRDialog, { open: isReviewDCRDialogOpen, onClose: handleCloseReviewDCRDialog, dcr: dcr, groupedObjects: groupedObjects, task: task }))))));
|
|
71
73
|
};
|
|
72
74
|
exports.DataChangeRequestTaskCard = DataChangeRequestTaskCard;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export type LineData = {
|
|
7
|
-
value?: LineDataValue;
|
|
8
|
-
isRejected?: boolean;
|
|
9
|
-
};
|
|
10
|
-
type ChangeRequestEditorContextType = {
|
|
2
|
+
import { AttributeError } from '@reltio/mdm-sdk';
|
|
3
|
+
import { LineData, LineDataValue } from '../../types';
|
|
4
|
+
export type ChangeRequestEditorContextType = {
|
|
11
5
|
updateChange: (lineIds: string[], data: LineDataValue) => void;
|
|
12
6
|
getLineData: (lineId: string) => LineData | undefined;
|
|
13
7
|
getLinesByChangeId: (changeId: string) => Array<[string, LineData]>;
|
|
@@ -16,9 +10,24 @@ type ChangeRequestEditorContextType = {
|
|
|
16
10
|
getIsParentLineRejected: (lineId: string) => boolean;
|
|
17
11
|
getIsLineRejected: (lineId: string) => boolean;
|
|
18
12
|
getIsLineUpdated: (lineId: string) => boolean;
|
|
13
|
+
getAllChanges: () => {
|
|
14
|
+
lineId: string;
|
|
15
|
+
data: LineData;
|
|
16
|
+
}[];
|
|
17
|
+
setErrors: (errors: {
|
|
18
|
+
error: AttributeError;
|
|
19
|
+
lineIds: string[];
|
|
20
|
+
}[]) => void;
|
|
21
|
+
getErrorByLineId: (lineId: string) => {
|
|
22
|
+
error: AttributeError;
|
|
23
|
+
lineIds: string[];
|
|
24
|
+
} | undefined;
|
|
25
|
+
getErrors: () => {
|
|
26
|
+
error: AttributeError;
|
|
27
|
+
lineIds: string[];
|
|
28
|
+
}[];
|
|
19
29
|
};
|
|
20
30
|
export declare const ChangeRequestEditorContext: import("@fluentui/react-context-selector").Context<ChangeRequestEditorContextType>;
|
|
21
31
|
export declare const ChangeRequestEditorProvider: ({ children }: {
|
|
22
32
|
children: React.ReactNode;
|
|
23
33
|
}) => React.JSX.Element;
|
|
24
|
-
export {};
|
|
@@ -35,12 +35,18 @@ exports.ChangeRequestEditorContext = (0, react_context_selector_1.createContext)
|
|
|
35
35
|
revertChangeUpdateOrReject: undefined,
|
|
36
36
|
getIsParentLineRejected: undefined,
|
|
37
37
|
getIsLineRejected: undefined,
|
|
38
|
-
getIsLineUpdated: undefined
|
|
38
|
+
getIsLineUpdated: undefined,
|
|
39
|
+
getAllChanges: undefined,
|
|
40
|
+
setErrors: undefined,
|
|
41
|
+
getErrorByLineId: undefined,
|
|
42
|
+
getErrors: undefined
|
|
39
43
|
});
|
|
44
|
+
var emptyArray = [];
|
|
40
45
|
var ChangeRequestEditorProvider = function (_a) {
|
|
41
46
|
var children = _a.children;
|
|
42
47
|
var _b = (0, react_1.useState)(new Map()), lineDataMap = _b[0], setLineDataMap = _b[1];
|
|
43
48
|
var lineDataMapRef = (0, react_1.useRef)(lineDataMap);
|
|
49
|
+
var _c = (0, react_1.useState)([]), errors = _c[0], setErrors = _c[1];
|
|
44
50
|
var updateChange = (0, react_1.useCallback)(function (lineIds, data) {
|
|
45
51
|
setLineDataMap(function (prevMap) {
|
|
46
52
|
var newMap = new Map(prevMap);
|
|
@@ -96,9 +102,25 @@ var ChangeRequestEditorProvider = function (_a) {
|
|
|
96
102
|
return key.split('/')[1] === changeId;
|
|
97
103
|
});
|
|
98
104
|
}, []);
|
|
105
|
+
var getAllChanges = (0, react_1.useCallback)(function () {
|
|
106
|
+
var changes = Array.from(lineDataMapRef.current).map(function (_a) {
|
|
107
|
+
var lineId = _a[0], data = _a[1];
|
|
108
|
+
return ({ lineId: lineId, data: data });
|
|
109
|
+
});
|
|
110
|
+
return changes.length > 0 ? changes : emptyArray;
|
|
111
|
+
}, []);
|
|
99
112
|
(0, react_1.useEffect)(function () {
|
|
100
113
|
lineDataMapRef.current = lineDataMap;
|
|
101
114
|
}, [lineDataMap]);
|
|
115
|
+
var getErrorByLineId = (0, react_1.useCallback)(function (lineId) {
|
|
116
|
+
return errors.find(function (_a) {
|
|
117
|
+
var lineIds = _a.lineIds;
|
|
118
|
+
return lineIds.includes(lineId);
|
|
119
|
+
});
|
|
120
|
+
}, [errors]);
|
|
121
|
+
var getErrors = (0, react_1.useCallback)(function () {
|
|
122
|
+
return errors;
|
|
123
|
+
}, [errors]);
|
|
102
124
|
var contextValue = {
|
|
103
125
|
updateChange: updateChange,
|
|
104
126
|
getLineData: getLineData,
|
|
@@ -107,7 +129,11 @@ var ChangeRequestEditorProvider = function (_a) {
|
|
|
107
129
|
revertChangeUpdateOrReject: revertChangeUpdateOrReject,
|
|
108
130
|
getIsParentLineRejected: getIsParentLineRejected,
|
|
109
131
|
getIsLineRejected: getIsLineRejected,
|
|
110
|
-
getIsLineUpdated: getIsLineUpdated
|
|
132
|
+
getIsLineUpdated: getIsLineUpdated,
|
|
133
|
+
getAllChanges: getAllChanges,
|
|
134
|
+
setErrors: setErrors,
|
|
135
|
+
getErrorByLineId: getErrorByLineId,
|
|
136
|
+
getErrors: getErrors
|
|
111
137
|
};
|
|
112
138
|
return react_1.default.createElement(exports.ChangeRequestEditorContext.Provider, { value: contextValue }, children);
|
|
113
139
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AttributeDelete, ChangeRequest, DCRChange, DCRChanges, DCRObjectInfo, DCRObjectsInfo, GroupedObjectsInfo, Metadata } from '@reltio/mdm-sdk';
|
|
2
|
-
import { LineData } from '../
|
|
2
|
+
import { LineData } from '../types';
|
|
3
3
|
export declare const getEntitiesObjects: any;
|
|
4
4
|
export declare const getRelationsObjects: any;
|
|
5
5
|
export declare const extractObjectsFromChangeRequest: (changes: DCRChanges, objectsInfo: DCRObjectsInfo) => DCRObjectInfo[];
|
|
@@ -73,7 +73,7 @@ var prepareStartOrEndDate = function (_a) {
|
|
|
73
73
|
];
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
|
-
var prepareRolesOrTags = function (
|
|
76
|
+
var prepareRolesOrTags = function (change) {
|
|
77
77
|
var _a = change.newValue, newValue = _a === void 0 ? [] : _a, _b = change.oldValue, oldValue = _b === void 0 ? [] : _b;
|
|
78
78
|
var preparedNewValue = 'value' in newValue ? newValue.value : newValue;
|
|
79
79
|
var preparedOldValue = 'value' in oldValue ? oldValue.value : oldValue;
|
|
@@ -201,10 +201,10 @@ var mergeAttributesInChange = function (metadata, objectInfo, change, container)
|
|
|
201
201
|
container['defaultProfilePicValue'] = [change.newValue];
|
|
202
202
|
break;
|
|
203
203
|
case mdm_sdk_1.DCRTypes.UPDATE_TAGS:
|
|
204
|
-
container[mdm_sdk_1.EntityAttrTypes.tags.name] = prepareRolesOrTags(
|
|
204
|
+
container[mdm_sdk_1.EntityAttrTypes.tags.name] = prepareRolesOrTags(change);
|
|
205
205
|
break;
|
|
206
206
|
case mdm_sdk_1.DCRTypes.UPDATE_ROLES: {
|
|
207
|
-
container[mdm_sdk_1.EntityAttrTypes.roles.name] = prepareRolesOrTags(
|
|
207
|
+
container[mdm_sdk_1.EntityAttrTypes.roles.name] = prepareRolesOrTags(change);
|
|
208
208
|
break;
|
|
209
209
|
}
|
|
210
210
|
case mdm_sdk_1.DCRTypes.UPDATE_START_DATE:
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AttributeError, DCRChanges, Entity, Metadata, Relation } from '@reltio/mdm-sdk';
|
|
2
|
+
import { LineData } from '../types';
|
|
3
|
+
type UserChange = {
|
|
4
|
+
lineId: string;
|
|
5
|
+
data: LineData;
|
|
6
|
+
};
|
|
7
|
+
type ValidationError = {
|
|
8
|
+
error: AttributeError;
|
|
9
|
+
lineIds: string[];
|
|
10
|
+
};
|
|
11
|
+
export declare const getValidationErrors: ({ changes, userChanges, entitiesOrRelations, metadata }: {
|
|
12
|
+
changes: DCRChanges;
|
|
13
|
+
userChanges: UserChange[];
|
|
14
|
+
entitiesOrRelations: Record<string, Entity | Relation>;
|
|
15
|
+
metadata: Metadata;
|
|
16
|
+
}) => ValidationError[];
|
|
17
|
+
export {};
|