@reltio/components 1.4.2251 → 1.4.2253
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/contexts/MdmModuleContext/context.d.ts +2 -0
- package/cjs/contexts/MdmModuleContext/hooks.d.ts +1 -0
- package/cjs/contexts/MdmModuleContext/hooks.js +5 -1
- package/cjs/contexts/MdmModuleContext/index.d.ts +1 -1
- package/cjs/contexts/MdmModuleContext/index.js +2 -1
- package/cjs/contexts/WorkflowTasksContext/index.d.ts +1 -0
- package/cjs/features/workflow/ChangeRequestEditor/components/EntityChangesGroup/EntityChangesGroup.js +5 -3
- package/cjs/features/workflow/ChangeRequestEditor/components/editors/ChangeItemEditor/ChangeItemEditor.js +3 -1
- package/cjs/features/workflow/ChangeRequestEditor/hooks/useDcrReviewAllowAddAttributes.d.ts +1 -0
- package/cjs/features/workflow/ChangeRequestEditor/hooks/useDcrReviewAllowAddAttributes.js +13 -0
- package/contexts/MdmModuleContext/context.d.ts +2 -0
- package/contexts/MdmModuleContext/hooks.d.ts +1 -0
- package/contexts/MdmModuleContext/hooks.js +3 -0
- package/contexts/MdmModuleContext/index.d.ts +1 -1
- package/contexts/MdmModuleContext/index.js +1 -1
- package/contexts/WorkflowTasksContext/index.d.ts +1 -0
- package/features/workflow/ChangeRequestEditor/components/EntityChangesGroup/EntityChangesGroup.js +5 -3
- package/features/workflow/ChangeRequestEditor/components/editors/ChangeItemEditor/ChangeItemEditor.js +3 -1
- package/features/workflow/ChangeRequestEditor/hooks/useDcrReviewAllowAddAttributes.d.ts +1 -0
- package/features/workflow/ChangeRequestEditor/hooks/useDcrReviewAllowAddAttributes.js +9 -0
- package/package.json +2 -2
|
@@ -59,6 +59,7 @@ export type MdmModuleValuesContextProps = Partial<{
|
|
|
59
59
|
uiConfigProfile: Profile;
|
|
60
60
|
showMasking: boolean;
|
|
61
61
|
reviewDCREnabled: boolean;
|
|
62
|
+
dcrReviewAllowAddAttributes: boolean;
|
|
62
63
|
dcrReviewValidation: boolean;
|
|
63
64
|
canUserMakeExport: boolean;
|
|
64
65
|
}>;
|
|
@@ -276,6 +277,7 @@ export declare const MdmModuleValuesContext: import("@fluentui/react-context-sel
|
|
|
276
277
|
uiConfigProfile: Profile;
|
|
277
278
|
showMasking: boolean;
|
|
278
279
|
reviewDCREnabled: boolean;
|
|
280
|
+
dcrReviewAllowAddAttributes: boolean;
|
|
279
281
|
dcrReviewValidation: boolean;
|
|
280
282
|
canUserMakeExport: boolean;
|
|
281
283
|
}>>;
|
|
@@ -158,5 +158,6 @@ export declare const useMdmHiddenAttributes: () => Record<string, string[]>;
|
|
|
158
158
|
export declare const useMdmControlAttributes: () => string[];
|
|
159
159
|
export declare const useMdmShowMasking: () => boolean;
|
|
160
160
|
export declare const useMdmReviewDCREnabled: () => boolean;
|
|
161
|
+
export declare const useMdmDcrReviewAllowAddAttributes: () => boolean;
|
|
161
162
|
export declare const useMdmDcrReviewValidation: () => boolean;
|
|
162
163
|
export declare const useMdmCanUserMakeExport: () => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenantsWithIdBuilder = 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.useMdmCanUserMakeExport = 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 = exports.useMdmIsCollaborationEnabled = void 0;
|
|
4
|
+
exports.useMdmCanUserMakeExport = exports.useMdmDcrReviewValidation = exports.useMdmDcrReviewAllowAddAttributes = 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 = exports.useMdmIsCollaborationEnabled = 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");
|
|
@@ -241,6 +241,10 @@ var useMdmShowMasking = function () { return useMdmModuleValuesContext(function
|
|
|
241
241
|
exports.useMdmShowMasking = useMdmShowMasking;
|
|
242
242
|
var useMdmReviewDCREnabled = function () { return useMdmModuleValuesContext(function (context) { return context.reviewDCREnabled; }); };
|
|
243
243
|
exports.useMdmReviewDCREnabled = useMdmReviewDCREnabled;
|
|
244
|
+
var useMdmDcrReviewAllowAddAttributes = function () {
|
|
245
|
+
return useMdmModuleValuesContext(function (context) { return context.dcrReviewAllowAddAttributes; });
|
|
246
|
+
};
|
|
247
|
+
exports.useMdmDcrReviewAllowAddAttributes = useMdmDcrReviewAllowAddAttributes;
|
|
244
248
|
var useMdmDcrReviewValidation = function () { return useMdmModuleValuesContext(function (context) { return context.dcrReviewValidation; }); };
|
|
245
249
|
exports.useMdmDcrReviewValidation = useMdmDcrReviewValidation;
|
|
246
250
|
var useMdmCanUserMakeExport = function () { return useMdmModuleValuesContext(function (context) { return context.canUserMakeExport; }); };
|
|
@@ -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, useMdmDataTenantsWithIdBuilder, 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';
|
|
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, useMdmDataTenantsWithIdBuilder, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmDcrReviewAllowAddAttributes, 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.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenantsWithIdBuilder = 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.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 = exports.useMdmIsCollaborationEnabled = void 0;
|
|
4
|
+
exports.useMdmImagePath = exports.useMdmDcrReviewValidation = exports.useMdmDcrReviewAllowAddAttributes = 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 = exports.useMdmIsCollaborationEnabled = 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");
|
|
@@ -76,5 +76,6 @@ Object.defineProperty(exports, "useMdmHiddenAttributes", { enumerable: true, get
|
|
|
76
76
|
Object.defineProperty(exports, "useMdmControlAttributes", { enumerable: true, get: function () { return hooks_1.useMdmControlAttributes; } });
|
|
77
77
|
Object.defineProperty(exports, "useMdmShowMasking", { enumerable: true, get: function () { return hooks_1.useMdmShowMasking; } });
|
|
78
78
|
Object.defineProperty(exports, "useMdmReviewDCREnabled", { enumerable: true, get: function () { return hooks_1.useMdmReviewDCREnabled; } });
|
|
79
|
+
Object.defineProperty(exports, "useMdmDcrReviewAllowAddAttributes", { enumerable: true, get: function () { return hooks_1.useMdmDcrReviewAllowAddAttributes; } });
|
|
79
80
|
Object.defineProperty(exports, "useMdmDcrReviewValidation", { enumerable: true, get: function () { return hooks_1.useMdmDcrReviewValidation; } });
|
|
80
81
|
Object.defineProperty(exports, "useMdmImagePath", { enumerable: true, get: function () { return hooks_1.useMdmImagePath; } });
|
|
@@ -47,6 +47,7 @@ var helpers_1 = require("../../helpers/helpers");
|
|
|
47
47
|
var changesList_1 = require("../../helpers/changesList");
|
|
48
48
|
var addedAttributes_1 = require("../../helpers/addedAttributes");
|
|
49
49
|
var merge_1 = require("../../../helpers/merge");
|
|
50
|
+
var useDcrReviewAllowAddAttributes_1 = require("../../hooks/useDcrReviewAllowAddAttributes");
|
|
50
51
|
var editors_1 = require("../editors");
|
|
51
52
|
var EntityChangesGroup_module_css_1 = __importDefault(require("./EntityChangesGroup.module.css"));
|
|
52
53
|
var EntityChangesGroup = function (_a) {
|
|
@@ -56,6 +57,7 @@ var EntityChangesGroup = function (_a) {
|
|
|
56
57
|
var _b = dcr || {}, changes = _b.changes, objectsInfo = _b.objectsInfo;
|
|
57
58
|
var addAddedAttributes = (0, react_context_selector_1.useContextSelector)(AddedAttributesContext_1.AddedAttributesContext, function (ctx) { return ctx.addAddedAttributes; });
|
|
58
59
|
var highlight = (0, react_1.useContext)(ScrollToAddedAttributeContext_1.ScrollToAddedAttributeContext).highlight;
|
|
60
|
+
var allowAddAttributes = (0, useDcrReviewAllowAddAttributes_1.useDcrReviewAllowAddAttributes)();
|
|
59
61
|
var rawChangesList = (0, useChangesList_1.useChangesList)({
|
|
60
62
|
changes: changes,
|
|
61
63
|
entityInfo: entityInfo,
|
|
@@ -142,7 +144,7 @@ var EntityChangesGroup = function (_a) {
|
|
|
142
144
|
} },
|
|
143
145
|
react_1.default.createElement(DCREntityUriLink_1.DCREntityUriLink, { entityInfo: entityInfo, changes: changes, dcrUri: dcrUri, className: EntityChangesGroup_module_css_1.default.entityTitle })),
|
|
144
146
|
react_1.default.createElement(AccordionDetails_1.default, { className: EntityChangesGroup_module_css_1.default.attributesList },
|
|
145
|
-
entityAttributeTypes.length > 0 && (react_1.default.createElement(editors_1.MoreAttributesEditor, { data: entityAttributeTypes, onApply: handleAddAttributes({ objectUri: entityInfo.uri }) })),
|
|
147
|
+
allowAddAttributes && entityAttributeTypes.length > 0 && (react_1.default.createElement(editors_1.MoreAttributesEditor, { data: entityAttributeTypes, onApply: handleAddAttributes({ objectUri: entityInfo.uri }) })),
|
|
146
148
|
changesList.map(function (item, index) {
|
|
147
149
|
var _a, _b, _c, _d, _e, _f;
|
|
148
150
|
if (!(0, helpers_1.isDiffChange)(item)) {
|
|
@@ -157,11 +159,11 @@ var EntityChangesGroup = function (_a) {
|
|
|
157
159
|
var changeKey = (_d = (_b = item.addedId) !== null && _b !== void 0 ? _b : (_c = item.attributeValue) === null || _c === void 0 ? void 0 : _c.uri) !== null && _d !== void 0 ? _d : "change-".concat(index);
|
|
158
160
|
return (react_1.default.createElement(react_1.default.Fragment, { key: changeKey },
|
|
159
161
|
react_1.default.createElement(ChangeItemRow_1.ChangeItemRow, { change: item, entityInfo: entityInfo }),
|
|
160
|
-
(0, helpers_1.isRelationRow)(item) && (react_1.default.createElement(editors_1.MoreAttributesEditor, { data: relationAttrs, change: item, onApply: handleAddAttributes({
|
|
162
|
+
allowAddAttributes && (0, helpers_1.isRelationRow)(item) && (react_1.default.createElement(editors_1.MoreAttributesEditor, { data: relationAttrs, change: item, onApply: handleAddAttributes({
|
|
161
163
|
objectUri: (_e = item === null || item === void 0 ? void 0 : item.attributeValue) === null || _e === void 0 ? void 0 : _e.uri,
|
|
162
164
|
parentLineId: (_f = item.lineIds) === null || _f === void 0 ? void 0 : _f[0]
|
|
163
165
|
}) })),
|
|
164
|
-
(0, helpers_1.isNestedOrReferenceParent)(item) && (react_1.default.createElement(editors_1.MoreAttributesEditor, { data: nestedAttrs, change: item, parent: item.attributeType, onApply: handleAddNestedAttributes(item) }))));
|
|
166
|
+
allowAddAttributes && (0, helpers_1.isNestedOrReferenceParent)(item) && (react_1.default.createElement(editors_1.MoreAttributesEditor, { data: nestedAttrs, change: item, parent: item.attributeType, onApply: handleAddNestedAttributes(item) }))));
|
|
165
167
|
})))));
|
|
166
168
|
};
|
|
167
169
|
exports.EntityChangesGroup = EntityChangesGroup;
|
|
@@ -42,6 +42,7 @@ var helpers_1 = require("../../../helpers/helpers");
|
|
|
42
42
|
var OperationChip_1 = require("../../../../OperationChip");
|
|
43
43
|
var RelationEntityLink_1 = require("../../../../RelationEntityLink");
|
|
44
44
|
var useChangeRequestEditor_1 = require("../../../hooks/useChangeRequestEditor");
|
|
45
|
+
var useDcrReviewAllowAddAttributes_1 = require("../../../hooks/useDcrReviewAllowAddAttributes");
|
|
45
46
|
var ChangeItemLabel_1 = require("../../ChangeItemLabel");
|
|
46
47
|
var DCRValueEditor_1 = require("../../DCRValueEditor");
|
|
47
48
|
var EditorStatusChip_1 = require("../../EditorStatusChip");
|
|
@@ -69,10 +70,11 @@ var ChangeItemEditor = function (_a) {
|
|
|
69
70
|
var isImageType = (0, mdm_sdk_1.isImage)(change === null || change === void 0 ? void 0 : change.attributeType);
|
|
70
71
|
var isRolesOrTags = ((_b = change === null || change === void 0 ? void 0 : change.attributeType) === null || _b === void 0 ? void 0 : _b.uri) === mdm_sdk_1.EntityAttrTypes.roles.uri ||
|
|
71
72
|
((_c = change === null || change === void 0 ? void 0 : change.attributeType) === null || _c === void 0 ? void 0 : _c.uri) === mdm_sdk_1.EntityAttrTypes.tags.uri;
|
|
73
|
+
var allowAddAttributes = (0, useDcrReviewAllowAddAttributes_1.useDcrReviewAllowAddAttributes)();
|
|
72
74
|
var canEdit = (0, helpers_1.checkCanInitiateChangeRequest)(metadata, entityType, change);
|
|
73
75
|
var shouldShowValueEditor = (isUpdateOperation || isAddOperation) && editable && canEdit;
|
|
74
76
|
var isRejected = isLineRejected || isParentLineRejected;
|
|
75
|
-
var shouldShowAddButton = shouldShowValueEditor && ((_d = change.displayOptions) === null || _d === void 0 ? void 0 : _d.showAddButton) && !isRejected;
|
|
77
|
+
var shouldShowAddButton = allowAddAttributes && shouldShowValueEditor && ((_d = change.displayOptions) === null || _d === void 0 ? void 0 : _d.showAddButton) && !isRejected;
|
|
76
78
|
var preparedValue = (0, react_1.useMemo)(function () {
|
|
77
79
|
return isRolesOrTags
|
|
78
80
|
? (0, common_1.prepareRolesOrTagsValue)(metadata, newValue, change.attributeType.uri)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useDcrReviewAllowAddAttributes: () => boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDcrReviewAllowAddAttributes = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var ramda_1 = require("ramda");
|
|
6
|
+
var MdmModuleContext_1 = require("../../../../contexts/MdmModuleContext");
|
|
7
|
+
var WorkflowTasksContext_1 = require("../../../../contexts/WorkflowTasksContext");
|
|
8
|
+
var useDcrReviewAllowAddAttributes = function () {
|
|
9
|
+
var byEntityType = ((0, react_1.useContext)(WorkflowTasksContext_1.WorkflowTasksContext) || {}).dcrReviewAllowAddAttributes;
|
|
10
|
+
var global = (0, MdmModuleContext_1.useMdmDcrReviewAllowAddAttributes)();
|
|
11
|
+
return (0, ramda_1.isNil)(byEntityType) ? global : byEntityType;
|
|
12
|
+
};
|
|
13
|
+
exports.useDcrReviewAllowAddAttributes = useDcrReviewAllowAddAttributes;
|
|
@@ -59,6 +59,7 @@ export type MdmModuleValuesContextProps = Partial<{
|
|
|
59
59
|
uiConfigProfile: Profile;
|
|
60
60
|
showMasking: boolean;
|
|
61
61
|
reviewDCREnabled: boolean;
|
|
62
|
+
dcrReviewAllowAddAttributes: boolean;
|
|
62
63
|
dcrReviewValidation: boolean;
|
|
63
64
|
canUserMakeExport: boolean;
|
|
64
65
|
}>;
|
|
@@ -276,6 +277,7 @@ export declare const MdmModuleValuesContext: import("@fluentui/react-context-sel
|
|
|
276
277
|
uiConfigProfile: Profile;
|
|
277
278
|
showMasking: boolean;
|
|
278
279
|
reviewDCREnabled: boolean;
|
|
280
|
+
dcrReviewAllowAddAttributes: boolean;
|
|
279
281
|
dcrReviewValidation: boolean;
|
|
280
282
|
canUserMakeExport: boolean;
|
|
281
283
|
}>>;
|
|
@@ -158,5 +158,6 @@ export declare const useMdmHiddenAttributes: () => Record<string, string[]>;
|
|
|
158
158
|
export declare const useMdmControlAttributes: () => string[];
|
|
159
159
|
export declare const useMdmShowMasking: () => boolean;
|
|
160
160
|
export declare const useMdmReviewDCREnabled: () => boolean;
|
|
161
|
+
export declare const useMdmDcrReviewAllowAddAttributes: () => boolean;
|
|
161
162
|
export declare const useMdmDcrReviewValidation: () => boolean;
|
|
162
163
|
export declare const useMdmCanUserMakeExport: () => boolean;
|
|
@@ -165,5 +165,8 @@ export var useMdmControlAttributes = function () {
|
|
|
165
165
|
};
|
|
166
166
|
export var useMdmShowMasking = function () { return useMdmModuleValuesContext(function (context) { return context.showMasking; }); };
|
|
167
167
|
export var useMdmReviewDCREnabled = function () { return useMdmModuleValuesContext(function (context) { return context.reviewDCREnabled; }); };
|
|
168
|
+
export var useMdmDcrReviewAllowAddAttributes = function () {
|
|
169
|
+
return useMdmModuleValuesContext(function (context) { return context.dcrReviewAllowAddAttributes; });
|
|
170
|
+
};
|
|
168
171
|
export var useMdmDcrReviewValidation = function () { return useMdmModuleValuesContext(function (context) { return context.dcrReviewValidation; }); };
|
|
169
172
|
export var useMdmCanUserMakeExport = function () { return useMdmModuleValuesContext(function (context) { return context.canUserMakeExport; }); };
|
|
@@ -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, useMdmDataTenantsWithIdBuilder, 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';
|
|
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, useMdmDataTenantsWithIdBuilder, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmDcrReviewAllowAddAttributes, useMdmDcrReviewValidation, useMdmImagePath } from './hooks';
|
|
3
3
|
export type { MdmModuleActionsContextProps, MdmModuleValuesContextProps, MdmModuleListenersContextProps } from './context';
|
|
@@ -1,2 +1,2 @@
|
|
|
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, useMdmDataTenantsWithIdBuilder, 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';
|
|
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, useMdmDataTenantsWithIdBuilder, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmDcrReviewAllowAddAttributes, useMdmDcrReviewValidation, useMdmImagePath } from './hooks';
|
package/features/workflow/ChangeRequestEditor/components/EntityChangesGroup/EntityChangesGroup.js
CHANGED
|
@@ -18,6 +18,7 @@ import { isDiffChange, isRelationRow, isNestedOrReferenceParent } from '../../he
|
|
|
18
18
|
import { prepareChangesList } from '../../helpers/changesList';
|
|
19
19
|
import { extractChangeOverrides, getAddedId, getObjectIdFromLineId, getParentAddedId, getParentChangeOverrides, getParentLineId, isRootAddedAttribute } from '../../helpers/addedAttributes';
|
|
20
20
|
import { extractLineIds } from '../../../helpers/merge';
|
|
21
|
+
import { useDcrReviewAllowAddAttributes } from '../../hooks/useDcrReviewAllowAddAttributes';
|
|
21
22
|
import { MoreAttributesEditor } from '../editors';
|
|
22
23
|
import styles from './EntityChangesGroup.module.css';
|
|
23
24
|
export var EntityChangesGroup = function (_a) {
|
|
@@ -27,6 +28,7 @@ export var EntityChangesGroup = function (_a) {
|
|
|
27
28
|
var _b = dcr || {}, changes = _b.changes, objectsInfo = _b.objectsInfo;
|
|
28
29
|
var addAddedAttributes = useContextSelector(AddedAttributesContext, function (ctx) { return ctx.addAddedAttributes; });
|
|
29
30
|
var highlight = useContext(ScrollToAddedAttributeContext).highlight;
|
|
31
|
+
var allowAddAttributes = useDcrReviewAllowAddAttributes();
|
|
30
32
|
var rawChangesList = useChangesList({
|
|
31
33
|
changes: changes,
|
|
32
34
|
entityInfo: entityInfo,
|
|
@@ -113,7 +115,7 @@ export var EntityChangesGroup = function (_a) {
|
|
|
113
115
|
} },
|
|
114
116
|
React.createElement(DCREntityUriLink, { entityInfo: entityInfo, changes: changes, dcrUri: dcrUri, className: styles.entityTitle })),
|
|
115
117
|
React.createElement(AccordionDetails, { className: styles.attributesList },
|
|
116
|
-
entityAttributeTypes.length > 0 && (React.createElement(MoreAttributesEditor, { data: entityAttributeTypes, onApply: handleAddAttributes({ objectUri: entityInfo.uri }) })),
|
|
118
|
+
allowAddAttributes && entityAttributeTypes.length > 0 && (React.createElement(MoreAttributesEditor, { data: entityAttributeTypes, onApply: handleAddAttributes({ objectUri: entityInfo.uri }) })),
|
|
117
119
|
changesList.map(function (item, index) {
|
|
118
120
|
var _a, _b, _c, _d, _e, _f;
|
|
119
121
|
if (!isDiffChange(item)) {
|
|
@@ -128,10 +130,10 @@ export var EntityChangesGroup = function (_a) {
|
|
|
128
130
|
var changeKey = (_d = (_b = item.addedId) !== null && _b !== void 0 ? _b : (_c = item.attributeValue) === null || _c === void 0 ? void 0 : _c.uri) !== null && _d !== void 0 ? _d : "change-".concat(index);
|
|
129
131
|
return (React.createElement(React.Fragment, { key: changeKey },
|
|
130
132
|
React.createElement(ChangeItemRow, { change: item, entityInfo: entityInfo }),
|
|
131
|
-
isRelationRow(item) && (React.createElement(MoreAttributesEditor, { data: relationAttrs, change: item, onApply: handleAddAttributes({
|
|
133
|
+
allowAddAttributes && isRelationRow(item) && (React.createElement(MoreAttributesEditor, { data: relationAttrs, change: item, onApply: handleAddAttributes({
|
|
132
134
|
objectUri: (_e = item === null || item === void 0 ? void 0 : item.attributeValue) === null || _e === void 0 ? void 0 : _e.uri,
|
|
133
135
|
parentLineId: (_f = item.lineIds) === null || _f === void 0 ? void 0 : _f[0]
|
|
134
136
|
}) })),
|
|
135
|
-
isNestedOrReferenceParent(item) && (React.createElement(MoreAttributesEditor, { data: nestedAttrs, change: item, parent: item.attributeType, onApply: handleAddNestedAttributes(item) }))));
|
|
137
|
+
allowAddAttributes && isNestedOrReferenceParent(item) && (React.createElement(MoreAttributesEditor, { data: nestedAttrs, change: item, parent: item.attributeType, onApply: handleAddNestedAttributes(item) }))));
|
|
136
138
|
})))));
|
|
137
139
|
};
|
|
@@ -13,6 +13,7 @@ import { checkCanInitiateChangeRequest } from '../../../helpers/helpers';
|
|
|
13
13
|
import { OperationChip } from '../../../../OperationChip';
|
|
14
14
|
import { RelationEntityLink } from '../../../../RelationEntityLink';
|
|
15
15
|
import { useChangeRequestEditor } from '../../../hooks/useChangeRequestEditor';
|
|
16
|
+
import { useDcrReviewAllowAddAttributes } from '../../../hooks/useDcrReviewAllowAddAttributes';
|
|
16
17
|
import { ChangeItemLabel } from '../../ChangeItemLabel';
|
|
17
18
|
import { DCRValueEditor } from '../../DCRValueEditor';
|
|
18
19
|
import { EditorStatus, EditorStatusChip } from '../../EditorStatusChip';
|
|
@@ -40,10 +41,11 @@ export var ChangeItemEditor = function (_a) {
|
|
|
40
41
|
var isImageType = isImage(change === null || change === void 0 ? void 0 : change.attributeType);
|
|
41
42
|
var isRolesOrTags = ((_b = change === null || change === void 0 ? void 0 : change.attributeType) === null || _b === void 0 ? void 0 : _b.uri) === EntityAttrTypes.roles.uri ||
|
|
42
43
|
((_c = change === null || change === void 0 ? void 0 : change.attributeType) === null || _c === void 0 ? void 0 : _c.uri) === EntityAttrTypes.tags.uri;
|
|
44
|
+
var allowAddAttributes = useDcrReviewAllowAddAttributes();
|
|
43
45
|
var canEdit = checkCanInitiateChangeRequest(metadata, entityType, change);
|
|
44
46
|
var shouldShowValueEditor = (isUpdateOperation || isAddOperation) && editable && canEdit;
|
|
45
47
|
var isRejected = isLineRejected || isParentLineRejected;
|
|
46
|
-
var shouldShowAddButton = shouldShowValueEditor && ((_d = change.displayOptions) === null || _d === void 0 ? void 0 : _d.showAddButton) && !isRejected;
|
|
48
|
+
var shouldShowAddButton = allowAddAttributes && shouldShowValueEditor && ((_d = change.displayOptions) === null || _d === void 0 ? void 0 : _d.showAddButton) && !isRejected;
|
|
47
49
|
var preparedValue = useMemo(function () {
|
|
48
50
|
return isRolesOrTags
|
|
49
51
|
? prepareRolesOrTagsValue(metadata, newValue, change.attributeType.uri)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useDcrReviewAllowAddAttributes: () => boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { isNil } from 'ramda';
|
|
3
|
+
import { useMdmDcrReviewAllowAddAttributes } from '../../../../contexts/MdmModuleContext';
|
|
4
|
+
import { WorkflowTasksContext } from '../../../../contexts/WorkflowTasksContext';
|
|
5
|
+
export var useDcrReviewAllowAddAttributes = function () {
|
|
6
|
+
var byEntityType = (useContext(WorkflowTasksContext) || {}).dcrReviewAllowAddAttributes;
|
|
7
|
+
var global = useMdmDcrReviewAllowAddAttributes();
|
|
8
|
+
return isNil(byEntityType) ? global : byEntityType;
|
|
9
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2253",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@fluentui/react-context-selector": "^9.1.26",
|
|
12
12
|
"@googlemaps/markerclusterer": "^2.5.3",
|
|
13
13
|
"@react-sigma/core": "3.4.0",
|
|
14
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
14
|
+
"@reltio/mdm-sdk": "^1.4.2037",
|
|
15
15
|
"@vis.gl/react-google-maps": "^1.3.0",
|
|
16
16
|
"d3-cloud": "^1.2.5",
|
|
17
17
|
"d3-geo": "^2.0.1",
|