@reltio/components 1.4.1944 → 1.4.1945

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.
Files changed (51) hide show
  1. package/cjs/AttributesView/AttributesView.d.ts +2 -1
  2. package/cjs/AttributesView/AttributesView.js +4 -2
  3. package/cjs/AttributesView/AttributesView.test.js +32 -0
  4. package/cjs/EditModeAttributesList/EditModeAttributesList.d.ts +1 -1
  5. package/cjs/EditModeAttributesList/EditModeAttributesList.js +16 -5
  6. package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +1 -1
  7. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +4 -1
  8. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.d.ts +2 -2
  9. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +6 -4
  10. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.test.js +1 -1
  11. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +11 -2
  12. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.d.ts +9 -0
  13. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.js +20 -0
  14. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/index.d.ts +1 -0
  15. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/index.js +5 -0
  16. package/cjs/ReadOnlyAttributesPager/styles.d.ts +1 -0
  17. package/cjs/ReadOnlyAttributesPager/styles.js +5 -1
  18. package/cjs/constants/attributes.d.ts +1 -1
  19. package/cjs/constants/attributes.js +2 -2
  20. package/cjs/constants/index.d.ts +1 -1
  21. package/cjs/constants/index.js +2 -2
  22. package/cjs/contexts/AllwaysVisibleAttributesContext/index.d.ts +2 -0
  23. package/cjs/contexts/AllwaysVisibleAttributesContext/index.js +6 -0
  24. package/cjs/helpers/attributesView.d.ts +1 -1
  25. package/cjs/helpers/attributesView.js +2 -2
  26. package/esm/AttributesView/AttributesView.d.ts +2 -1
  27. package/esm/AttributesView/AttributesView.js +4 -2
  28. package/esm/AttributesView/AttributesView.test.js +32 -0
  29. package/esm/EditModeAttributesList/EditModeAttributesList.d.ts +1 -1
  30. package/esm/EditModeAttributesList/EditModeAttributesList.js +17 -6
  31. package/esm/EditModeAttributesList/EditModeAttributesList.test.js +1 -1
  32. package/esm/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +4 -1
  33. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.d.ts +2 -2
  34. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.js +7 -5
  35. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.test.js +1 -1
  36. package/esm/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +12 -3
  37. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.d.ts +9 -0
  38. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.js +13 -0
  39. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/index.d.ts +1 -0
  40. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/index.js +1 -0
  41. package/esm/ReadOnlyAttributesPager/styles.d.ts +1 -0
  42. package/esm/ReadOnlyAttributesPager/styles.js +4 -0
  43. package/esm/constants/attributes.d.ts +1 -1
  44. package/esm/constants/attributes.js +1 -1
  45. package/esm/constants/index.d.ts +1 -1
  46. package/esm/constants/index.js +1 -1
  47. package/esm/contexts/AllwaysVisibleAttributesContext/index.d.ts +2 -0
  48. package/esm/contexts/AllwaysVisibleAttributesContext/index.js +3 -0
  49. package/esm/helpers/attributesView.d.ts +1 -1
  50. package/esm/helpers/attributesView.js +2 -2
  51. package/package.json +2 -2
@@ -9,5 +9,6 @@ export type AttributesViewProps = {
9
9
  includeUris?: string[];
10
10
  pinnedAttributes?: PinnedAttribute[];
11
11
  mode?: Mode;
12
+ alwaysVisible?: string[];
12
13
  };
13
- export declare const AttributesView: ({ attributesCount, pinnedAttributes, ...restProps }: AttributesViewProps) => JSX.Element;
14
+ export declare const AttributesView: ({ attributesCount, pinnedAttributes, alwaysVisible, ...restProps }: AttributesViewProps) => JSX.Element;
@@ -32,12 +32,14 @@ var ReadOnlyAttributesView_1 = require("../ReadOnlyAttributesView");
32
32
  var EditModeAttributesView_1 = require("../EditModeAttributesView");
33
33
  var EntityContext_1 = require("../contexts/EntityContext");
34
34
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
35
+ var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
35
36
  var AttributesView = function (_a) {
36
- var attributesCount = _a.attributesCount, pinnedAttributes = _a.pinnedAttributes, restProps = __rest(_a, ["attributesCount", "pinnedAttributes"]);
37
+ var attributesCount = _a.attributesCount, pinnedAttributes = _a.pinnedAttributes, _b = _a.alwaysVisible, alwaysVisible = _b === void 0 ? [] : _b, restProps = __rest(_a, ["attributesCount", "pinnedAttributes", "alwaysVisible"]);
37
38
  var mdmEntity = (0, MdmModuleContext_1.useMdmEntityWithDiff)();
38
39
  var mdmMode = (0, MdmModuleContext_1.useMdmMode)();
39
40
  var entity = restProps.entity || mdmEntity;
40
41
  var mode = restProps.mode || mdmMode;
41
- return (react_1.default.createElement(EntityContext_1.EntityContext.Provider, { value: entity }, (0, mdm_sdk_1.isViewMode)(mode) ? (react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, restProps, { attributesCount: attributesCount, entity: entity }))) : (react_1.default.createElement(EditModeAttributesView_1.EditModeAttributesView, __assign({}, restProps, { mode: mode, pinnedAttributes: pinnedAttributes, entity: entity })))));
42
+ return (react_1.default.createElement(EntityContext_1.EntityContext.Provider, { value: entity },
43
+ react_1.default.createElement(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext.Provider, { value: alwaysVisible }, (0, mdm_sdk_1.isViewMode)(mode) ? (react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, restProps, { attributesCount: attributesCount, entity: entity }))) : (react_1.default.createElement(EditModeAttributesView_1.EditModeAttributesView, __assign({}, restProps, { mode: mode, pinnedAttributes: pinnedAttributes, entity: entity }))))));
42
44
  };
43
45
  exports.AttributesView = AttributesView;
@@ -45,6 +45,20 @@ describe('AttributesView tests', function () {
45
45
  name: 'FirstName',
46
46
  label: 'First Name',
47
47
  access: ['READ', 'CREATE', 'UPDATE', 'INITIATE_CHANGE_REQUEST']
48
+ },
49
+ {
50
+ uri: 'configuration/entityTypes/HCP/attributes/LastName',
51
+ type: 'String',
52
+ name: 'LastName',
53
+ label: 'Last Name',
54
+ access: ['READ', 'CREATE', 'UPDATE', 'INITIATE_CHANGE_REQUEST']
55
+ },
56
+ {
57
+ uri: 'configuration/entityTypes/HCP/attributes/Phone',
58
+ type: 'String',
59
+ name: 'Phone',
60
+ label: 'Phone',
61
+ access: ['READ', 'CREATE', 'UPDATE', 'INITIATE_CHANGE_REQUEST']
48
62
  }
49
63
  ]
50
64
  }
@@ -91,4 +105,22 @@ describe('AttributesView tests', function () {
91
105
  setUp({ entity: entity }, __assign(__assign({}, mdmDefaultValues), { mode: mdm_sdk_1.Mode.Suggesting }));
92
106
  expect(react_2.screen.getByRole('textbox')).toHaveValue('nameValue');
93
107
  });
108
+ it('should render always visible attributes in read mode', function () {
109
+ var alwaysVisible = [
110
+ 'configuration/entityTypes/HCP/attributes/LastName',
111
+ 'configuration/entityTypes/HCP/attributes/Phone'
112
+ ];
113
+ setUp({ mode: mdm_sdk_1.Mode.Viewing, entity: entity, alwaysVisible: alwaysVisible });
114
+ expect(react_2.screen.getByText('Last Name')).toBeInTheDocument();
115
+ expect(react_2.screen.getByText('Phone')).toBeInTheDocument();
116
+ });
117
+ it('should render always visible attributes in editing mode', function () {
118
+ var alwaysVisible = [
119
+ 'configuration/entityTypes/HCP/attributes/LastName',
120
+ 'configuration/entityTypes/HCP/attributes/Phone'
121
+ ];
122
+ setUp({ mode: mdm_sdk_1.Mode.Editing, entity: entity, alwaysVisible: alwaysVisible });
123
+ expect(react_2.screen.getByText('Last Name')).toBeInTheDocument();
124
+ expect(react_2.screen.getByText('Phone')).toBeInTheDocument();
125
+ });
94
126
  });
@@ -10,7 +10,7 @@ declare const _default: React.ComponentType<{
10
10
  showEmptyEditors?: boolean;
11
11
  showNonOv?: boolean;
12
12
  className?: string;
13
- alwaysVisibleTypeUris?: string[];
13
+ fixedTypeUris?: string[];
14
14
  highlightAttribute?: (element: AttributeType, type: ScrollType) => void;
15
15
  } & Pick<EditModeAttributesPagerProps<AttributeValue>, "mode" | "crosswalks" | "parentUri" | "drawLines" | "onAddAttributes" | "onDeleteAttribute" | "onChangeAttribute" | "additionalControlsRenderer" | "showEmptyEditors">>;
16
16
  export default _default;
@@ -53,11 +53,13 @@ var withContext_1 = require("../HOCs/withContext");
53
53
  var ConfigPermissionsContext_1 = require("../contexts/ConfigPermissionsContext");
54
54
  var ScrollToElementContext_1 = require("../contexts/ScrollToElementContext");
55
55
  var HiddenAttributesContext_1 = require("../contexts/HiddenAttributesContext");
56
+ var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
56
57
  var EditModeAttributesList = function (_a) {
57
- var parentAttributeType = _a.parentAttributeType, attrTypes = _a.attrTypes, entity = _a.entity, parentUri = _a.parentUri, showEmptyEditors = _a.showEmptyEditors, mode = _a.mode, crosswalks = _a.crosswalks, drawLines = _a.drawLines, children = _a.children, className = _a.className, _b = _a.alwaysVisibleTypeUris, alwaysVisibleTypeUris = _b === void 0 ? constants_1.ALWAYS_VISIBLE_TYPE_URIS : _b, onAddAttributes = _a.onAddAttributes, onChangeAttribute = _a.onChangeAttribute, onDeleteAttribute = _a.onDeleteAttribute, additionalControlsRenderer = _a.additionalControlsRenderer, showNonOv = _a.showNonOv, highlightAttribute = _a.highlightAttribute;
58
+ var parentAttributeType = _a.parentAttributeType, attrTypes = _a.attrTypes, entity = _a.entity, parentUri = _a.parentUri, showEmptyEditors = _a.showEmptyEditors, mode = _a.mode, crosswalks = _a.crosswalks, drawLines = _a.drawLines, children = _a.children, className = _a.className, _b = _a.fixedTypeUris, fixedTypeUris = _b === void 0 ? constants_1.FIXED_TYPE_URIS : _b, onAddAttributes = _a.onAddAttributes, onChangeAttribute = _a.onChangeAttribute, onDeleteAttribute = _a.onDeleteAttribute, additionalControlsRenderer = _a.additionalControlsRenderer, showNonOv = _a.showNonOv, highlightAttribute = _a.highlightAttribute;
58
59
  var hiddenAttributes = (0, react_1.useContext)(HiddenAttributesContext_1.HiddenAttributesContext);
59
60
  var entityUri = parentUri && (0, mdm_sdk_1.getBaseUri)(parentUri);
60
61
  var currentEntityHiddenAttributes = (0, react_1.useMemo)(function () { return hiddenAttributes[entityUri] || []; }, [hiddenAttributes, entityUri]);
62
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
61
63
  var filteredAttrTypes = (0, react_1.useMemo)(function () { return attrTypes.filter(function (attrType) { return !currentEntityHiddenAttributes.includes(attrType.uri); }); }, [attrTypes, currentEntityHiddenAttributes]);
62
64
  var _c = entity.attributes, attributes = _c === void 0 ? {} : _c;
63
65
  var _d = (0, react_1.useState)({}), hasDeletionsMap = _d[0], setHasDeletionsMap = _d[1];
@@ -76,9 +78,18 @@ var EditModeAttributesList = function (_a) {
76
78
  var moreAttrTypes = (0, helpers_1.getMoreAttrTypes)(creatableAttrTypes, entity, showEmptyEditors, hasDeletionsMap);
77
79
  var pinnedAttributes = (0, react_1.useContext)(PinnedAttributesContext_1.PinnedAttributesContext);
78
80
  var pagersData = (0, react_1.useMemo)(function () {
79
- return (0, mdm_sdk_1.getAttributesListForEditMode)(filteredAttrTypes, mode, entity, showEmptyEditors, showNonOv, pinnedAttributes, canCreate);
80
- }, [filteredAttrTypes, mode, entity, showEmptyEditors, showNonOv, pinnedAttributes, canCreate]);
81
- var _e = (0, react_1.useMemo)(function () { return (0, attributesView_1.splitPagersData)(alwaysVisibleTypeUris, pagersData); }, [pagersData, alwaysVisibleTypeUris]), alwaysVisiblePagersData = _e[0], regularPagersData = _e[1];
81
+ return (0, mdm_sdk_1.getAttributesListForEditMode)(filteredAttrTypes, mode, entity, showEmptyEditors, showNonOv, pinnedAttributes, canCreate, alwaysVisibleAttributes);
82
+ }, [
83
+ filteredAttrTypes,
84
+ mode,
85
+ entity,
86
+ showEmptyEditors,
87
+ showNonOv,
88
+ pinnedAttributes,
89
+ canCreate,
90
+ alwaysVisibleAttributes
91
+ ]);
92
+ var _e = (0, react_1.useMemo)(function () { return (0, attributesView_1.splitPagersData)(fixedTypeUris, pagersData); }, [pagersData, fixedTypeUris]), fixedPagersData = _e[0], regularPagersData = _e[1];
82
93
  var onAddMoreAttributes = (0, react_1.useCallback)(function (attributeTypes) {
83
94
  onAddAttributes(attributeTypes.map(function (attributeType) { return ({
84
95
  attributeType: attributeType,
@@ -96,7 +107,7 @@ var EditModeAttributesList = function (_a) {
96
107
  return (react_1.default.createElement("div", { className: className },
97
108
  children && react_1.default.createElement(BranchDecorator_1.BranchDecorator, __assign({}, decoratorProps), children),
98
109
  react_1.default.createElement(BranchDecorator_1.BranchDecorator, __assign({}, decoratorProps, { plain: true }), moreAttrTypes.length > 0 && mode !== mdm_sdk_1.Mode.Viewing && (react_1.default.createElement(MoreAttributesButton_1.MoreAttributesButton, { label: ui_i18n_1.default.text('More attributes'), onApply: onAddMoreAttributes, dense: drawLines, data: moreAttrTypes, parent: canCreateParentAttrType && parentAttributeType }))),
99
- react_1.default.createElement(HasDeletionsContext_1.HasDeletionsContext.Provider, { value: hasDeletionsContextValue }, regularPagersData.concat(alwaysVisiblePagersData).map(function (_a) {
110
+ react_1.default.createElement(HasDeletionsContext_1.HasDeletionsContext.Provider, { value: hasDeletionsContextValue }, regularPagersData.concat(fixedPagersData).map(function (_a) {
100
111
  var attrType = _a.attrType, values = _a.values;
101
112
  return (react_1.default.createElement(EditModeAttributesPager_1.EditModeAttributesPager, { key: "".concat(attrType.uri, "_").concat(parentUri), attributeType: attrType, drawLines: drawLines, values: values, paging: (0, ramda_1.path)(['paging', attrType.uri], attributes), parentUri: parentUri, showEmptyEditors: showEmptyEditors, mode: mode, crosswalks: crosswalks, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onDeleteAttribute, additionalControlsRenderer: additionalControlsRenderer, showNonOv: showNonOv }));
102
113
  }))));
@@ -353,6 +353,6 @@ describe('EditModeAttributesList tests', function () {
353
353
  (0, enzyme_1.mount)(react_1.default.createElement(PinnedAttributesContext_1.PinnedAttributesContext.Provider, { value: pinnedAttributes },
354
354
  react_1.default.createElement(EditModeAttributesList_1.default, { mode: mdm_sdk_1.Mode.Editing, attrTypes: attributes_test_data_1.attributesList, entity: entity, parentUri: parentUri },
355
355
  react_1.default.createElement(Child, null))));
356
- expect(mdm_sdk_1.getAttributesListForEditMode).toHaveBeenCalledWith(attributes_test_data_1.attributesList, mdm_sdk_1.Mode.Editing, entity, undefined, undefined, pinnedAttributes, true);
356
+ expect(mdm_sdk_1.getAttributesListForEditMode).toHaveBeenCalledWith(attributes_test_data_1.attributesList, mdm_sdk_1.Mode.Editing, entity, undefined, undefined, pinnedAttributes, true, []);
357
357
  });
358
358
  });
@@ -39,6 +39,7 @@ var ShowMore_1 = require("../../../ShowMore");
39
39
  var EditModeAttributesFactory_1 = require("../../../EditModeAttributesFactory");
40
40
  var CardinalityMessage_1 = require("../../../CardinalityMessage");
41
41
  var PinnedAttributesContext_1 = require("../../../contexts/PinnedAttributesContext");
42
+ var AllwaysVisibleAttributesContext_1 = require("../../../contexts/AllwaysVisibleAttributesContext");
42
43
  var DescriptionIcon_1 = require("../../../DescriptionIcon");
43
44
  var ControlAttributeIcon_1 = require("../../../ControlAttributeIcon");
44
45
  var useScrollToAttribute_1 = require("../../../hooks/useScrollToAttribute");
@@ -56,9 +57,11 @@ var AttributeRenderer = function (_a) {
56
57
  var _d = (0, useScrollToAttributeError_1.useScrollToAttributeError)({ highlightedError: highlightedError }), errorRef = _d.ref, errorClassName = _d.errorClassName;
57
58
  var _e = (0, useScrollToAttribute_1.useScrollToAttribute)(highlightedAttribute), attributeRef = _e.ref, highlightedClassName = _e.highlightedClassName;
58
59
  var pinnedAttributes = (0, react_1.useContext)(PinnedAttributesContext_1.PinnedAttributesContext);
60
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
59
61
  var isPinned = (0, react_1.useMemo)(function () { return pinnedAttributes === null || pinnedAttributes === void 0 ? void 0 : pinnedAttributes.includes(attributeTypeUri); }, [attributeTypeUri, pinnedAttributes]);
62
+ var isAlwaysVisible = (0, react_1.useMemo)(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeTypeUri); }, [attributeTypeUri, alwaysVisibleAttributes]);
60
63
  var isEmptyValues = (0, mdm_sdk_1.isEmptyValue)(values);
61
- var showEmpty = ((!hadDeletions && showEmptyEditors) || isRequired || isPinned) && isEmptyValues;
64
+ var showEmpty = ((!hadDeletions && showEmptyEditors) || isRequired || isPinned || isAlwaysVisible) && isEmptyValues;
62
65
  var controlAttributes = (0, MdmModuleContext_1.useMdmControlAttributes)();
63
66
  var isControlAttribute = (0, react_1.useMemo)(function () { return controlAttributes.includes(attributeType.uri); }, [controlAttributes, attributeType.uri]);
64
67
  var emptyEditorValue = (0, react_1.useRef)((0, mdm_sdk_1.createNewAttribute)({
@@ -9,12 +9,12 @@ type Props = {
9
9
  children?: React.ReactNode;
10
10
  className?: string;
11
11
  max?: number;
12
- alwaysVisibleTypeUris?: string[];
12
+ fixedTypeUris?: string[];
13
13
  showNonOv?: boolean;
14
14
  classes?: ReadOnlyAttributeClasses;
15
15
  };
16
16
  declare const _default: React.MemoExoticComponent<{
17
- ({ attrTypes, entity, parentUri, drawLines, children, className, max, alwaysVisibleTypeUris, showNonOv, classes }: Props): JSX.Element;
17
+ ({ attrTypes, entity, parentUri, drawLines, children, className, max, fixedTypeUris, showNonOv, classes }: Props): JSX.Element;
18
18
  displayName: string;
19
19
  }>;
20
20
  export default _default;
@@ -44,15 +44,17 @@ var ShowLess_1 = require("../ShowLess");
44
44
  var constants_1 = require("../constants");
45
45
  var attributesView_1 = require("../helpers/attributesView");
46
46
  var HiddenAttributesContext_1 = require("../contexts/HiddenAttributesContext");
47
+ var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
47
48
  var ReadOnlyAttributesList = function (_a) {
48
- var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.alwaysVisibleTypeUris, alwaysVisibleTypeUris = _c === void 0 ? constants_1.ALWAYS_VISIBLE_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
49
+ var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.fixedTypeUris, fixedTypeUris = _c === void 0 ? constants_1.FIXED_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
49
50
  var hiddenAttributes = (0, react_1.useContext)(HiddenAttributesContext_1.HiddenAttributesContext);
51
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
50
52
  var entityUri = parentUri && (0, mdm_sdk_1.getBaseUri)(parentUri);
51
53
  var currentEntityHiddenAttributes = (0, react_1.useMemo)(function () { return hiddenAttributes[entityUri] || []; }, [hiddenAttributes, entityUri]);
52
54
  var filteredAttrTypes = (0, react_1.useMemo)(function () { return (attrTypes || []).filter(function (attrType) { return !currentEntityHiddenAttributes.includes(attrType.uri); }); }, [attrTypes, currentEntityHiddenAttributes]);
53
55
  var _d = (0, react_1.useState)(max || Infinity), visibleValuesCount = _d[0], setVisibleValuesCount = _d[1];
54
- var pagersData = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getAttributesListForReadMode)(filteredAttrTypes, entity, showNonOv); }, [filteredAttrTypes, entity, showNonOv]);
55
- var _e = (0, react_1.useMemo)(function () { return (0, attributesView_1.splitPagersData)(alwaysVisibleTypeUris, pagersData); }, [pagersData, alwaysVisibleTypeUris]), alwaysVisiblePagersData = _e[0], regularPagersData = _e[1];
56
+ var pagersData = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getAttributesListForReadMode)(filteredAttrTypes, entity, showNonOv, alwaysVisibleAttributes); }, [filteredAttrTypes, entity, showNonOv, alwaysVisibleAttributes]);
57
+ var _e = (0, react_1.useMemo)(function () { return (0, attributesView_1.splitPagersData)(fixedTypeUris, pagersData); }, [pagersData, fixedTypeUris]), fixedPagersData = _e[0], regularPagersData = _e[1];
56
58
  var visibleAttributePagersData = regularPagersData.slice(0, visibleValuesCount);
57
59
  var showMore = max && visibleAttributePagersData.length < regularPagersData.length;
58
60
  var showLess = max && visibleAttributePagersData.length >= regularPagersData.length && max < visibleAttributePagersData.length;
@@ -67,7 +69,7 @@ var ReadOnlyAttributesList = function (_a) {
67
69
  };
68
70
  return (react_1.default.createElement("div", { className: className },
69
71
  children && react_1.default.createElement(BranchDecorator_1.BranchDecorator, __assign({}, decoratorProps), children),
70
- visibleAttributePagersData.concat(alwaysVisiblePagersData).map(function (_a) {
72
+ visibleAttributePagersData.concat(fixedPagersData).map(function (_a) {
71
73
  var attrType = _a.attrType, values = _a.values;
72
74
  return (react_1.default.createElement(ReadOnlyAttributesPager_1.ReadOnlyAttributesPager, { key: attrType.uri, attributeType: attrType, drawLines: drawLines, values: values, paging: (0, ramda_1.path)(['paging', attrType.uri], entity.attributes), parentUri: parentUri, showNonOv: showNonOv, classes: classes }));
73
75
  }),
@@ -237,7 +237,7 @@ describe('ReadOnlyAttributesList tests', function () {
237
237
  expect(showMoreButton.length).toBe(0);
238
238
  expect(showLessButton.length).toBe(0);
239
239
  });
240
- describe('alwaysVisibleTypeUris behavior', function () {
240
+ describe('fixedTypeUris behavior', function () {
241
241
  var attrTypes = __spreadArray(__spreadArray([], attributes_test_data_1.attributesList, true), [mdm_sdk_1.EntityAttrTypes.roles, mdm_sdk_1.EntityAttrTypes.tags], false);
242
242
  var entity = {
243
243
  attributes: attributes,
@@ -46,13 +46,16 @@ var OneLineRenderer_1 = require("./components/OneLineRenderer");
46
46
  var MultiLineRenderer_1 = require("./components/MultiLineRenderer");
47
47
  var SpecialRenderer_1 = require("./components/SpecialRenderer");
48
48
  var ImageLineRenderer_1 = require("./components/ImageLineRenderer");
49
+ var EmptyRenderer_1 = require("./components/EmptyRenderer");
49
50
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
51
+ var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
50
52
  var styles_1 = require("./styles");
51
53
  var RENDERER_TYPES = {
52
54
  oneLine: 'oneLine',
53
55
  multiLine: 'multiLine',
54
56
  imageLine: 'imageLine',
55
- special: 'special'
57
+ special: 'special',
58
+ empty: 'empty'
56
59
  };
57
60
  var ReadOnlyAttributesPager = function (_a) {
58
61
  var _b, _c, _d, _e;
@@ -63,7 +66,9 @@ var ReadOnlyAttributesPager = function (_a) {
63
66
  var maxValuesInResponse = (0, MdmModuleContext_1.useMdmMaxValuesInResponse)();
64
67
  var max = (_f = maxProp !== null && maxProp !== void 0 ? maxProp : maxValuesInResponse) !== null && _f !== void 0 ? _f : Infinity;
65
68
  var partitionByOv = (0, ramda_1.partition)(mdm_sdk_1.isOv);
66
- if (!values || !values.length) {
69
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
70
+ var isAlwaysVisible = (0, react_1.useMemo)(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
71
+ if (!values || (!values.length && !isAlwaysVisible)) {
67
72
  return null;
68
73
  }
69
74
  var _h = partitionByOv(values), ovValues = _h[0], nonOvValues = _h[1];
@@ -75,11 +80,13 @@ var ReadOnlyAttributesPager = function (_a) {
75
80
  ? paging.totalValues - totalVisibleValues
76
81
  : nonVisibleValues.length;
77
82
  var isOneLineRender = totalVisibleValues === 1 && !(0, mdm_sdk_1.isComplexAttribute)(attributeType);
83
+ var isEmptyRender = values.length === 0 && isAlwaysVisible;
78
84
  var render = function () {
79
85
  var type = (0, ramda_1.cond)([
80
86
  [mdm_sdk_1.isSpecialAttribute, (0, ramda_1.always)(RENDERER_TYPES.special)],
81
87
  [mdm_sdk_1.isImage, (0, ramda_1.always)(RENDERER_TYPES.imageLine)],
82
88
  [(0, ramda_1.always)(isOneLineRender), (0, ramda_1.always)(RENDERER_TYPES.oneLine)],
89
+ [(0, ramda_1.always)(isEmptyRender), (0, ramda_1.always)(RENDERER_TYPES.empty)],
83
90
  [ramda_1.T, (0, ramda_1.always)(RENDERER_TYPES.multiLine)]
84
91
  ])(attributeType);
85
92
  switch (type) {
@@ -91,6 +98,8 @@ var ReadOnlyAttributesPager = function (_a) {
91
98
  return (react_1.default.createElement(ImageLineRenderer_1.ImageLineRenderer, { attributeValues: visibleValues, attributeType: attributeType, paging: paging, parentUri: parentUri, requestNextPageOfAttributeValues: requestNextPageOfAttributeValues, showNonOv: showNonOv }));
92
99
  case RENDERER_TYPES.special:
93
100
  return react_1.default.createElement(SpecialRenderer_1.SpecialRenderer, { values: visibleValues, attributeType: attributeType, classes: classes });
101
+ case RENDERER_TYPES.empty:
102
+ return react_1.default.createElement(EmptyRenderer_1.EmptyRenderer, { attributeType: attributeType, classes: classes });
94
103
  }
95
104
  };
96
105
  return (react_1.default.createElement(BranchDecorator_1.BranchDecorator, { enabled: drawLines, className: (0, classnames_1.default)(__assign((_b = {}, _b[styles.paddingWrapperWithLines] = drawLines, _b), ((classes === null || classes === void 0 ? void 0 : classes.wrapperWithLines) ? (_c = {}, _c[classes === null || classes === void 0 ? void 0 : classes.wrapperWithLines] = drawLines, _c) : {}))) },
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { AttributeType } from '@reltio/mdm-sdk';
3
+ import { ReadOnlyAttributeClasses } from '../../..';
4
+ type Props = {
5
+ attributeType: AttributeType;
6
+ classes?: ReadOnlyAttributeClasses;
7
+ };
8
+ export declare const EmptyRenderer: ({ attributeType, classes }: Props) => JSX.Element;
9
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EmptyRenderer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var classnames_1 = __importDefault(require("classnames"));
9
+ var AttributeTitle_1 = require("../../../AttributeTitle");
10
+ var DescriptionIcon_1 = require("../../../DescriptionIcon");
11
+ var styles_1 = require("../../styles");
12
+ var EmptyRenderer = function (_a) {
13
+ var attributeType = _a.attributeType, classes = _a.classes;
14
+ var styles = (0, styles_1.useEmptyStyles)();
15
+ var label = attributeType.label, description = attributeType.description;
16
+ return (react_1.default.createElement("div", { "data-reltio-id": "reltio-empty-renderer", className: (0, classnames_1.default)(styles.titleRow, styles.wrapper) },
17
+ react_1.default.createElement(AttributeTitle_1.AttributeTitle, { label: label, className: (0, classnames_1.default)(styles.title, classes === null || classes === void 0 ? void 0 : classes.title), "data-reltio-id": "reltio-attribute-label" }),
18
+ react_1.default.createElement(DescriptionIcon_1.DescriptionIcon, { description: description, className: styles.descriptionIcon })));
19
+ };
20
+ exports.EmptyRenderer = EmptyRenderer;
@@ -0,0 +1 @@
1
+ export { EmptyRenderer } from './EmptyRenderer';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmptyRenderer = void 0;
4
+ var EmptyRenderer_1 = require("./EmptyRenderer");
5
+ Object.defineProperty(exports, "EmptyRenderer", { enumerable: true, get: function () { return EmptyRenderer_1.EmptyRenderer; } });
@@ -1,3 +1,4 @@
1
1
  export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"paddingWrapper" | "paddingWrapperWithLines">;
2
2
  export declare const useOneLineStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "attribute" | "collaborationWrapper" | "titleIcon" | "titleRow" | "ovIcon" | "descriptionIcon">;
3
3
  export declare const useMultiLineStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "attributes" | "attribute" | "titleRow" | "ovIcon" | "descriptionIcon">;
4
+ export declare const useEmptyStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "titleRow" | "ovIcon" | "descriptionIcon">;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.useMultiLineStyles = exports.useOneLineStyles = exports.useStyles = void 0;
14
+ exports.useEmptyStyles = exports.useMultiLineStyles = exports.useOneLineStyles = exports.useStyles = void 0;
15
15
  var styles_1 = require("@mui/styles");
16
16
  var fontSize = '13px';
17
17
  var lineHeight = '16px';
@@ -90,3 +90,7 @@ exports.useMultiLineStyles = (0, styles_1.makeStyles)(__assign({ wrapper: {
90
90
  }, attributes: {
91
91
  alignSelf: 'stretch'
92
92
  }, titleRow: __assign(__assign({}, commonStyles.titleRow), { marginBottom: '3px' }) }, commonStyles));
93
+ exports.useEmptyStyles = (0, styles_1.makeStyles)(__assign({ wrapper: {
94
+ fontSize: fontSize,
95
+ lineHeight: lineHeight
96
+ } }, commonStyles));
@@ -1 +1 @@
1
- export declare const ALWAYS_VISIBLE_TYPE_URIS: string[];
1
+ export declare const FIXED_TYPE_URIS: string[];
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALWAYS_VISIBLE_TYPE_URIS = void 0;
3
+ exports.FIXED_TYPE_URIS = void 0;
4
4
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
5
- exports.ALWAYS_VISIBLE_TYPE_URIS = [mdm_sdk_1.EntityAttrTypes.roles.uri, mdm_sdk_1.EntityAttrTypes.tags.uri];
5
+ exports.FIXED_TYPE_URIS = [mdm_sdk_1.EntityAttrTypes.roles.uri, mdm_sdk_1.EntityAttrTypes.tags.uri];
@@ -1,6 +1,6 @@
1
1
  export { SortingType, QueryBuilderAttributeType } from './prop-types';
2
2
  export { COMMENTS_CONTAINER_VISIBILITY_AREA } from './classnames';
3
- export { ALWAYS_VISIBLE_TYPE_URIS } from './attributes';
3
+ export { FIXED_TYPE_URIS } from './attributes';
4
4
  export { MAP_DRAWING_MODES, DEFAULT_GOOGLE_MAP_OPTIONS, DEFAULT_OVERLAY_OPTIONS, MAP_MINIMUM_SCALE_RADIUS } from './map';
5
5
  export { COMMON_TEXT_FIELD_PROPS } from './textField';
6
6
  export { POPUP_Z_INDEX } from './common';
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.viewingModeOption = exports.suggestingModeOption = exports.editingModeOption = exports.ReactSelectOptionFilters = exports.POPUP_Z_INDEX = exports.COMMON_TEXT_FIELD_PROPS = exports.MAP_MINIMUM_SCALE_RADIUS = exports.DEFAULT_OVERLAY_OPTIONS = exports.DEFAULT_GOOGLE_MAP_OPTIONS = exports.MAP_DRAWING_MODES = exports.ALWAYS_VISIBLE_TYPE_URIS = exports.COMMENTS_CONTAINER_VISIBILITY_AREA = exports.QueryBuilderAttributeType = exports.SortingType = void 0;
3
+ exports.viewingModeOption = exports.suggestingModeOption = exports.editingModeOption = exports.ReactSelectOptionFilters = exports.POPUP_Z_INDEX = exports.COMMON_TEXT_FIELD_PROPS = exports.MAP_MINIMUM_SCALE_RADIUS = exports.DEFAULT_OVERLAY_OPTIONS = exports.DEFAULT_GOOGLE_MAP_OPTIONS = exports.MAP_DRAWING_MODES = exports.FIXED_TYPE_URIS = exports.COMMENTS_CONTAINER_VISIBILITY_AREA = exports.QueryBuilderAttributeType = exports.SortingType = void 0;
4
4
  var prop_types_1 = require("./prop-types");
5
5
  Object.defineProperty(exports, "SortingType", { enumerable: true, get: function () { return prop_types_1.SortingType; } });
6
6
  Object.defineProperty(exports, "QueryBuilderAttributeType", { enumerable: true, get: function () { return prop_types_1.QueryBuilderAttributeType; } });
7
7
  var classnames_1 = require("./classnames");
8
8
  Object.defineProperty(exports, "COMMENTS_CONTAINER_VISIBILITY_AREA", { enumerable: true, get: function () { return classnames_1.COMMENTS_CONTAINER_VISIBILITY_AREA; } });
9
9
  var attributes_1 = require("./attributes");
10
- Object.defineProperty(exports, "ALWAYS_VISIBLE_TYPE_URIS", { enumerable: true, get: function () { return attributes_1.ALWAYS_VISIBLE_TYPE_URIS; } });
10
+ Object.defineProperty(exports, "FIXED_TYPE_URIS", { enumerable: true, get: function () { return attributes_1.FIXED_TYPE_URIS; } });
11
11
  var map_1 = require("./map");
12
12
  Object.defineProperty(exports, "MAP_DRAWING_MODES", { enumerable: true, get: function () { return map_1.MAP_DRAWING_MODES; } });
13
13
  Object.defineProperty(exports, "DEFAULT_GOOGLE_MAP_OPTIONS", { enumerable: true, get: function () { return map_1.DEFAULT_GOOGLE_MAP_OPTIONS; } });
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const AlwaysVisibleAttributesContext: import("react").Context<string[]>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlwaysVisibleAttributesContext = void 0;
4
+ var react_1 = require("react");
5
+ exports.AlwaysVisibleAttributesContext = (0, react_1.createContext)([]);
6
+ exports.AlwaysVisibleAttributesContext.displayName = 'AlwaysVisibleAttributesContext';
@@ -5,7 +5,7 @@ type PagersData = {
5
5
  attrType: AttributeType;
6
6
  values: (SimpleAttributeValue | NestedAttributeValue | ReferenceAttributeValue | string | number)[];
7
7
  };
8
- export declare const splitPagersData: (alwaysVisibleTypeUris: string[], pagersData: PagersData[]) => [PagersData[], PagersData[]];
8
+ export declare const splitPagersData: (fixedTypeUris: string[], pagersData: PagersData[]) => [PagersData[], PagersData[]];
9
9
  export declare const attributeValueToEditorValue: (attributeValue: SimpleAttributeValue, { type }: DataTypeDefinition) => string | number | boolean | Date | {
10
10
  value: import("@reltio/mdm-sdk").PrimitiveValue;
11
11
  lookupCode: string;
@@ -20,8 +20,8 @@ var getFilteredAttrTypes = function (metadata, type, includeUris, excludeUris) {
20
20
  });
21
21
  };
22
22
  exports.getFilteredAttrTypes = getFilteredAttrTypes;
23
- var splitPagersData = function (alwaysVisibleTypeUris, pagersData) {
24
- return (0, ramda_1.partition)((0, ramda_1.pipe)((0, ramda_1.path)(['attrType', 'uri']), (0, ramda_1.includes)(ramda_1.__, alwaysVisibleTypeUris)), pagersData);
23
+ var splitPagersData = function (fixedTypeUris, pagersData) {
24
+ return (0, ramda_1.partition)((0, ramda_1.pipe)((0, ramda_1.path)(['attrType', 'uri']), (0, ramda_1.includes)(ramda_1.__, fixedTypeUris)), pagersData);
25
25
  };
26
26
  exports.splitPagersData = splitPagersData;
27
27
  var attributeValueToEditorValue = function (attributeValue, _a) {
@@ -9,5 +9,6 @@ export type AttributesViewProps = {
9
9
  includeUris?: string[];
10
10
  pinnedAttributes?: PinnedAttribute[];
11
11
  mode?: Mode;
12
+ alwaysVisible?: string[];
12
13
  };
13
- export declare const AttributesView: ({ attributesCount, pinnedAttributes, ...restProps }: AttributesViewProps) => JSX.Element;
14
+ export declare const AttributesView: ({ attributesCount, pinnedAttributes, alwaysVisible, ...restProps }: AttributesViewProps) => JSX.Element;
@@ -26,11 +26,13 @@ import { ReadOnlyAttributesView } from '../ReadOnlyAttributesView';
26
26
  import { EditModeAttributesView } from '../EditModeAttributesView';
27
27
  import { EntityContext } from '../contexts/EntityContext';
28
28
  import { useMdmEntityWithDiff, useMdmMode } from '../contexts/MdmModuleContext';
29
+ import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
29
30
  export var AttributesView = function (_a) {
30
- var attributesCount = _a.attributesCount, pinnedAttributes = _a.pinnedAttributes, restProps = __rest(_a, ["attributesCount", "pinnedAttributes"]);
31
+ var attributesCount = _a.attributesCount, pinnedAttributes = _a.pinnedAttributes, _b = _a.alwaysVisible, alwaysVisible = _b === void 0 ? [] : _b, restProps = __rest(_a, ["attributesCount", "pinnedAttributes", "alwaysVisible"]);
31
32
  var mdmEntity = useMdmEntityWithDiff();
32
33
  var mdmMode = useMdmMode();
33
34
  var entity = restProps.entity || mdmEntity;
34
35
  var mode = restProps.mode || mdmMode;
35
- return (React.createElement(EntityContext.Provider, { value: entity }, isViewMode(mode) ? (React.createElement(ReadOnlyAttributesView, __assign({}, restProps, { attributesCount: attributesCount, entity: entity }))) : (React.createElement(EditModeAttributesView, __assign({}, restProps, { mode: mode, pinnedAttributes: pinnedAttributes, entity: entity })))));
36
+ return (React.createElement(EntityContext.Provider, { value: entity },
37
+ React.createElement(AlwaysVisibleAttributesContext.Provider, { value: alwaysVisible }, isViewMode(mode) ? (React.createElement(ReadOnlyAttributesView, __assign({}, restProps, { attributesCount: attributesCount, entity: entity }))) : (React.createElement(EditModeAttributesView, __assign({}, restProps, { mode: mode, pinnedAttributes: pinnedAttributes, entity: entity }))))));
36
38
  };
@@ -40,6 +40,20 @@ describe('AttributesView tests', function () {
40
40
  name: 'FirstName',
41
41
  label: 'First Name',
42
42
  access: ['READ', 'CREATE', 'UPDATE', 'INITIATE_CHANGE_REQUEST']
43
+ },
44
+ {
45
+ uri: 'configuration/entityTypes/HCP/attributes/LastName',
46
+ type: 'String',
47
+ name: 'LastName',
48
+ label: 'Last Name',
49
+ access: ['READ', 'CREATE', 'UPDATE', 'INITIATE_CHANGE_REQUEST']
50
+ },
51
+ {
52
+ uri: 'configuration/entityTypes/HCP/attributes/Phone',
53
+ type: 'String',
54
+ name: 'Phone',
55
+ label: 'Phone',
56
+ access: ['READ', 'CREATE', 'UPDATE', 'INITIATE_CHANGE_REQUEST']
43
57
  }
44
58
  ]
45
59
  }
@@ -86,4 +100,22 @@ describe('AttributesView tests', function () {
86
100
  setUp({ entity: entity }, __assign(__assign({}, mdmDefaultValues), { mode: Mode.Suggesting }));
87
101
  expect(screen.getByRole('textbox')).toHaveValue('nameValue');
88
102
  });
103
+ it('should render always visible attributes in read mode', function () {
104
+ var alwaysVisible = [
105
+ 'configuration/entityTypes/HCP/attributes/LastName',
106
+ 'configuration/entityTypes/HCP/attributes/Phone'
107
+ ];
108
+ setUp({ mode: Mode.Viewing, entity: entity, alwaysVisible: alwaysVisible });
109
+ expect(screen.getByText('Last Name')).toBeInTheDocument();
110
+ expect(screen.getByText('Phone')).toBeInTheDocument();
111
+ });
112
+ it('should render always visible attributes in editing mode', function () {
113
+ var alwaysVisible = [
114
+ 'configuration/entityTypes/HCP/attributes/LastName',
115
+ 'configuration/entityTypes/HCP/attributes/Phone'
116
+ ];
117
+ setUp({ mode: Mode.Editing, entity: entity, alwaysVisible: alwaysVisible });
118
+ expect(screen.getByText('Last Name')).toBeInTheDocument();
119
+ expect(screen.getByText('Phone')).toBeInTheDocument();
120
+ });
89
121
  });
@@ -10,7 +10,7 @@ declare const _default: React.ComponentType<{
10
10
  showEmptyEditors?: boolean;
11
11
  showNonOv?: boolean;
12
12
  className?: string;
13
- alwaysVisibleTypeUris?: string[];
13
+ fixedTypeUris?: string[];
14
14
  highlightAttribute?: (element: AttributeType, type: ScrollType) => void;
15
15
  } & Pick<EditModeAttributesPagerProps<AttributeValue>, "mode" | "crosswalks" | "parentUri" | "drawLines" | "onAddAttributes" | "onDeleteAttribute" | "onChangeAttribute" | "additionalControlsRenderer" | "showEmptyEditors">>;
16
16
  export default _default;
@@ -16,7 +16,7 @@ import { last, path } from 'ramda';
16
16
  import { EditModeAttributesPager } from '../EditModeAttributesPager';
17
17
  import { BranchDecorator } from '../BranchDecorator';
18
18
  import { MoreAttributesButton } from '../MoreAttributesButton';
19
- import { ALWAYS_VISIBLE_TYPE_URIS } from '../constants';
19
+ import { FIXED_TYPE_URIS } from '../constants';
20
20
  import { splitPagersData } from '../helpers/attributesView';
21
21
  import { getMoreAttrTypes } from './helpers';
22
22
  import { PinnedAttributesContext } from '../contexts/PinnedAttributesContext';
@@ -25,11 +25,13 @@ import { withContext } from '../HOCs/withContext';
25
25
  import { ConfigPermissionsContext } from '../contexts/ConfigPermissionsContext';
26
26
  import { ScrollType, ScrollToElementContext } from '../contexts/ScrollToElementContext';
27
27
  import { HiddenAttributesContext } from '../contexts/HiddenAttributesContext';
28
+ import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
28
29
  var EditModeAttributesList = function (_a) {
29
- var parentAttributeType = _a.parentAttributeType, attrTypes = _a.attrTypes, entity = _a.entity, parentUri = _a.parentUri, showEmptyEditors = _a.showEmptyEditors, mode = _a.mode, crosswalks = _a.crosswalks, drawLines = _a.drawLines, children = _a.children, className = _a.className, _b = _a.alwaysVisibleTypeUris, alwaysVisibleTypeUris = _b === void 0 ? ALWAYS_VISIBLE_TYPE_URIS : _b, onAddAttributes = _a.onAddAttributes, onChangeAttribute = _a.onChangeAttribute, onDeleteAttribute = _a.onDeleteAttribute, additionalControlsRenderer = _a.additionalControlsRenderer, showNonOv = _a.showNonOv, highlightAttribute = _a.highlightAttribute;
30
+ var parentAttributeType = _a.parentAttributeType, attrTypes = _a.attrTypes, entity = _a.entity, parentUri = _a.parentUri, showEmptyEditors = _a.showEmptyEditors, mode = _a.mode, crosswalks = _a.crosswalks, drawLines = _a.drawLines, children = _a.children, className = _a.className, _b = _a.fixedTypeUris, fixedTypeUris = _b === void 0 ? FIXED_TYPE_URIS : _b, onAddAttributes = _a.onAddAttributes, onChangeAttribute = _a.onChangeAttribute, onDeleteAttribute = _a.onDeleteAttribute, additionalControlsRenderer = _a.additionalControlsRenderer, showNonOv = _a.showNonOv, highlightAttribute = _a.highlightAttribute;
30
31
  var hiddenAttributes = useContext(HiddenAttributesContext);
31
32
  var entityUri = parentUri && getBaseUri(parentUri);
32
33
  var currentEntityHiddenAttributes = useMemo(function () { return hiddenAttributes[entityUri] || []; }, [hiddenAttributes, entityUri]);
34
+ var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
33
35
  var filteredAttrTypes = useMemo(function () { return attrTypes.filter(function (attrType) { return !currentEntityHiddenAttributes.includes(attrType.uri); }); }, [attrTypes, currentEntityHiddenAttributes]);
34
36
  var _c = entity.attributes, attributes = _c === void 0 ? {} : _c;
35
37
  var _d = useState({}), hasDeletionsMap = _d[0], setHasDeletionsMap = _d[1];
@@ -48,9 +50,18 @@ var EditModeAttributesList = function (_a) {
48
50
  var moreAttrTypes = getMoreAttrTypes(creatableAttrTypes, entity, showEmptyEditors, hasDeletionsMap);
49
51
  var pinnedAttributes = useContext(PinnedAttributesContext);
50
52
  var pagersData = useMemo(function () {
51
- return getAttributesListForEditMode(filteredAttrTypes, mode, entity, showEmptyEditors, showNonOv, pinnedAttributes, canCreate);
52
- }, [filteredAttrTypes, mode, entity, showEmptyEditors, showNonOv, pinnedAttributes, canCreate]);
53
- var _e = useMemo(function () { return splitPagersData(alwaysVisibleTypeUris, pagersData); }, [pagersData, alwaysVisibleTypeUris]), alwaysVisiblePagersData = _e[0], regularPagersData = _e[1];
53
+ return getAttributesListForEditMode(filteredAttrTypes, mode, entity, showEmptyEditors, showNonOv, pinnedAttributes, canCreate, alwaysVisibleAttributes);
54
+ }, [
55
+ filteredAttrTypes,
56
+ mode,
57
+ entity,
58
+ showEmptyEditors,
59
+ showNonOv,
60
+ pinnedAttributes,
61
+ canCreate,
62
+ alwaysVisibleAttributes
63
+ ]);
64
+ var _e = useMemo(function () { return splitPagersData(fixedTypeUris, pagersData); }, [pagersData, fixedTypeUris]), fixedPagersData = _e[0], regularPagersData = _e[1];
54
65
  var onAddMoreAttributes = useCallback(function (attributeTypes) {
55
66
  onAddAttributes(attributeTypes.map(function (attributeType) { return ({
56
67
  attributeType: attributeType,
@@ -68,7 +79,7 @@ var EditModeAttributesList = function (_a) {
68
79
  return (React.createElement("div", { className: className },
69
80
  children && React.createElement(BranchDecorator, __assign({}, decoratorProps), children),
70
81
  React.createElement(BranchDecorator, __assign({}, decoratorProps, { plain: true }), moreAttrTypes.length > 0 && mode !== Mode.Viewing && (React.createElement(MoreAttributesButton, { label: i18n.text('More attributes'), onApply: onAddMoreAttributes, dense: drawLines, data: moreAttrTypes, parent: canCreateParentAttrType && parentAttributeType }))),
71
- React.createElement(HasDeletionsContext.Provider, { value: hasDeletionsContextValue }, regularPagersData.concat(alwaysVisiblePagersData).map(function (_a) {
82
+ React.createElement(HasDeletionsContext.Provider, { value: hasDeletionsContextValue }, regularPagersData.concat(fixedPagersData).map(function (_a) {
72
83
  var attrType = _a.attrType, values = _a.values;
73
84
  return (React.createElement(EditModeAttributesPager, { key: "".concat(attrType.uri, "_").concat(parentUri), attributeType: attrType, drawLines: drawLines, values: values, paging: path(['paging', attrType.uri], attributes), parentUri: parentUri, showEmptyEditors: showEmptyEditors, mode: mode, crosswalks: crosswalks, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onDeleteAttribute, additionalControlsRenderer: additionalControlsRenderer, showNonOv: showNonOv }));
74
85
  }))));
@@ -348,6 +348,6 @@ describe('EditModeAttributesList tests', function () {
348
348
  mount(React.createElement(PinnedAttributesContext.Provider, { value: pinnedAttributes },
349
349
  React.createElement(EditModeAttributesList, { mode: Mode.Editing, attrTypes: attributesList, entity: entity, parentUri: parentUri },
350
350
  React.createElement(Child, null))));
351
- expect(getAttributesListForEditMode).toHaveBeenCalledWith(attributesList, Mode.Editing, entity, undefined, undefined, pinnedAttributes, true);
351
+ expect(getAttributesListForEditMode).toHaveBeenCalledWith(attributesList, Mode.Editing, entity, undefined, undefined, pinnedAttributes, true, []);
352
352
  });
353
353
  });
@@ -11,6 +11,7 @@ import { ShowMore } from '../../../ShowMore';
11
11
  import { EditModeAttribute } from '../../../EditModeAttributesFactory';
12
12
  import { CardinalityMessage } from '../../../CardinalityMessage';
13
13
  import { PinnedAttributesContext } from '../../../contexts/PinnedAttributesContext';
14
+ import { AlwaysVisibleAttributesContext } from '../../../contexts/AllwaysVisibleAttributesContext';
14
15
  import { DescriptionIcon } from '../../../DescriptionIcon';
15
16
  import { ControlAttributeIcon } from '../../../ControlAttributeIcon';
16
17
  import { useScrollToAttribute } from '../../../hooks/useScrollToAttribute';
@@ -28,9 +29,11 @@ var AttributeRenderer = function (_a) {
28
29
  var _d = useScrollToAttributeError({ highlightedError: highlightedError }), errorRef = _d.ref, errorClassName = _d.errorClassName;
29
30
  var _e = useScrollToAttribute(highlightedAttribute), attributeRef = _e.ref, highlightedClassName = _e.highlightedClassName;
30
31
  var pinnedAttributes = useContext(PinnedAttributesContext);
32
+ var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
31
33
  var isPinned = useMemo(function () { return pinnedAttributes === null || pinnedAttributes === void 0 ? void 0 : pinnedAttributes.includes(attributeTypeUri); }, [attributeTypeUri, pinnedAttributes]);
34
+ var isAlwaysVisible = useMemo(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeTypeUri); }, [attributeTypeUri, alwaysVisibleAttributes]);
32
35
  var isEmptyValues = isEmptyValue(values);
33
- var showEmpty = ((!hadDeletions && showEmptyEditors) || isRequired || isPinned) && isEmptyValues;
36
+ var showEmpty = ((!hadDeletions && showEmptyEditors) || isRequired || isPinned || isAlwaysVisible) && isEmptyValues;
34
37
  var controlAttributes = useMdmControlAttributes();
35
38
  var isControlAttribute = useMemo(function () { return controlAttributes.includes(attributeType.uri); }, [controlAttributes, attributeType.uri]);
36
39
  var emptyEditorValue = useRef(createNewAttribute({
@@ -9,12 +9,12 @@ type Props = {
9
9
  children?: React.ReactNode;
10
10
  className?: string;
11
11
  max?: number;
12
- alwaysVisibleTypeUris?: string[];
12
+ fixedTypeUris?: string[];
13
13
  showNonOv?: boolean;
14
14
  classes?: ReadOnlyAttributeClasses;
15
15
  };
16
16
  declare const _default: React.MemoExoticComponent<{
17
- ({ attrTypes, entity, parentUri, drawLines, children, className, max, alwaysVisibleTypeUris, showNonOv, classes }: Props): JSX.Element;
17
+ ({ attrTypes, entity, parentUri, drawLines, children, className, max, fixedTypeUris, showNonOv, classes }: Props): JSX.Element;
18
18
  displayName: string;
19
19
  }>;
20
20
  export default _default;
@@ -16,18 +16,20 @@ import { BranchDecorator } from '../BranchDecorator';
16
16
  import { ReadOnlyAttributesPager } from '../ReadOnlyAttributesPager';
17
17
  import { ShowMore } from '../ShowMore';
18
18
  import { ShowLess } from '../ShowLess';
19
- import { ALWAYS_VISIBLE_TYPE_URIS } from '../constants';
19
+ import { FIXED_TYPE_URIS } from '../constants';
20
20
  import { splitPagersData } from '../helpers/attributesView';
21
21
  import { HiddenAttributesContext } from '../contexts/HiddenAttributesContext';
22
+ import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
22
23
  var ReadOnlyAttributesList = function (_a) {
23
- var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.alwaysVisibleTypeUris, alwaysVisibleTypeUris = _c === void 0 ? ALWAYS_VISIBLE_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
24
+ var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.fixedTypeUris, fixedTypeUris = _c === void 0 ? FIXED_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
24
25
  var hiddenAttributes = useContext(HiddenAttributesContext);
26
+ var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
25
27
  var entityUri = parentUri && getBaseUri(parentUri);
26
28
  var currentEntityHiddenAttributes = useMemo(function () { return hiddenAttributes[entityUri] || []; }, [hiddenAttributes, entityUri]);
27
29
  var filteredAttrTypes = useMemo(function () { return (attrTypes || []).filter(function (attrType) { return !currentEntityHiddenAttributes.includes(attrType.uri); }); }, [attrTypes, currentEntityHiddenAttributes]);
28
30
  var _d = useState(max || Infinity), visibleValuesCount = _d[0], setVisibleValuesCount = _d[1];
29
- var pagersData = useMemo(function () { return getAttributesListForReadMode(filteredAttrTypes, entity, showNonOv); }, [filteredAttrTypes, entity, showNonOv]);
30
- var _e = useMemo(function () { return splitPagersData(alwaysVisibleTypeUris, pagersData); }, [pagersData, alwaysVisibleTypeUris]), alwaysVisiblePagersData = _e[0], regularPagersData = _e[1];
31
+ var pagersData = useMemo(function () { return getAttributesListForReadMode(filteredAttrTypes, entity, showNonOv, alwaysVisibleAttributes); }, [filteredAttrTypes, entity, showNonOv, alwaysVisibleAttributes]);
32
+ var _e = useMemo(function () { return splitPagersData(fixedTypeUris, pagersData); }, [pagersData, fixedTypeUris]), fixedPagersData = _e[0], regularPagersData = _e[1];
31
33
  var visibleAttributePagersData = regularPagersData.slice(0, visibleValuesCount);
32
34
  var showMore = max && visibleAttributePagersData.length < regularPagersData.length;
33
35
  var showLess = max && visibleAttributePagersData.length >= regularPagersData.length && max < visibleAttributePagersData.length;
@@ -42,7 +44,7 @@ var ReadOnlyAttributesList = function (_a) {
42
44
  };
43
45
  return (React.createElement("div", { className: className },
44
46
  children && React.createElement(BranchDecorator, __assign({}, decoratorProps), children),
45
- visibleAttributePagersData.concat(alwaysVisiblePagersData).map(function (_a) {
47
+ visibleAttributePagersData.concat(fixedPagersData).map(function (_a) {
46
48
  var attrType = _a.attrType, values = _a.values;
47
49
  return (React.createElement(ReadOnlyAttributesPager, { key: attrType.uri, attributeType: attrType, drawLines: drawLines, values: values, paging: path(['paging', attrType.uri], entity.attributes), parentUri: parentUri, showNonOv: showNonOv, classes: classes }));
48
50
  }),
@@ -232,7 +232,7 @@ describe('ReadOnlyAttributesList tests', function () {
232
232
  expect(showMoreButton.length).toBe(0);
233
233
  expect(showLessButton.length).toBe(0);
234
234
  });
235
- describe('alwaysVisibleTypeUris behavior', function () {
235
+ describe('fixedTypeUris behavior', function () {
236
236
  var attrTypes = __spreadArray(__spreadArray([], attributesList, true), [EntityAttrTypes.roles, EntityAttrTypes.tags], false);
237
237
  var entity = {
238
238
  attributes: attributes,
@@ -10,7 +10,7 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import classnames from 'classnames';
13
- import React, { memo } from 'react';
13
+ import React, { useContext, memo, useMemo } from 'react';
14
14
  import { always, cond, has, ifElse, partition, prop, T } from 'ramda';
15
15
  import { isComplexAttribute, isImage, isSpecialAttribute, isOv } from '@reltio/mdm-sdk';
16
16
  import { BranchDecorator } from '../BranchDecorator';
@@ -18,13 +18,16 @@ import { OneLineRenderer } from './components/OneLineRenderer';
18
18
  import { MultiLineRenderer } from './components/MultiLineRenderer';
19
19
  import { SpecialRenderer } from './components/SpecialRenderer';
20
20
  import { ImageLineRenderer } from './components/ImageLineRenderer';
21
+ import { EmptyRenderer } from './components/EmptyRenderer';
21
22
  import { useMdmAction, useMdmMaxValuesInResponse } from '../contexts/MdmModuleContext';
23
+ import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
22
24
  import { useStyles } from './styles';
23
25
  var RENDERER_TYPES = {
24
26
  oneLine: 'oneLine',
25
27
  multiLine: 'multiLine',
26
28
  imageLine: 'imageLine',
27
- special: 'special'
29
+ special: 'special',
30
+ empty: 'empty'
28
31
  };
29
32
  var ReadOnlyAttributesPager = function (_a) {
30
33
  var _b, _c, _d, _e;
@@ -35,7 +38,9 @@ var ReadOnlyAttributesPager = function (_a) {
35
38
  var maxValuesInResponse = useMdmMaxValuesInResponse();
36
39
  var max = (_f = maxProp !== null && maxProp !== void 0 ? maxProp : maxValuesInResponse) !== null && _f !== void 0 ? _f : Infinity;
37
40
  var partitionByOv = partition(isOv);
38
- if (!values || !values.length) {
41
+ var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
42
+ var isAlwaysVisible = useMemo(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
43
+ if (!values || (!values.length && !isAlwaysVisible)) {
39
44
  return null;
40
45
  }
41
46
  var _h = partitionByOv(values), ovValues = _h[0], nonOvValues = _h[1];
@@ -47,11 +52,13 @@ var ReadOnlyAttributesPager = function (_a) {
47
52
  ? paging.totalValues - totalVisibleValues
48
53
  : nonVisibleValues.length;
49
54
  var isOneLineRender = totalVisibleValues === 1 && !isComplexAttribute(attributeType);
55
+ var isEmptyRender = values.length === 0 && isAlwaysVisible;
50
56
  var render = function () {
51
57
  var type = cond([
52
58
  [isSpecialAttribute, always(RENDERER_TYPES.special)],
53
59
  [isImage, always(RENDERER_TYPES.imageLine)],
54
60
  [always(isOneLineRender), always(RENDERER_TYPES.oneLine)],
61
+ [always(isEmptyRender), always(RENDERER_TYPES.empty)],
55
62
  [T, always(RENDERER_TYPES.multiLine)]
56
63
  ])(attributeType);
57
64
  switch (type) {
@@ -63,6 +70,8 @@ var ReadOnlyAttributesPager = function (_a) {
63
70
  return (React.createElement(ImageLineRenderer, { attributeValues: visibleValues, attributeType: attributeType, paging: paging, parentUri: parentUri, requestNextPageOfAttributeValues: requestNextPageOfAttributeValues, showNonOv: showNonOv }));
64
71
  case RENDERER_TYPES.special:
65
72
  return React.createElement(SpecialRenderer, { values: visibleValues, attributeType: attributeType, classes: classes });
73
+ case RENDERER_TYPES.empty:
74
+ return React.createElement(EmptyRenderer, { attributeType: attributeType, classes: classes });
66
75
  }
67
76
  };
68
77
  return (React.createElement(BranchDecorator, { enabled: drawLines, className: classnames(__assign((_b = {}, _b[styles.paddingWrapperWithLines] = drawLines, _b), ((classes === null || classes === void 0 ? void 0 : classes.wrapperWithLines) ? (_c = {}, _c[classes === null || classes === void 0 ? void 0 : classes.wrapperWithLines] = drawLines, _c) : {}))) },
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { AttributeType } from '@reltio/mdm-sdk';
3
+ import { ReadOnlyAttributeClasses } from '../../..';
4
+ type Props = {
5
+ attributeType: AttributeType;
6
+ classes?: ReadOnlyAttributeClasses;
7
+ };
8
+ export declare const EmptyRenderer: ({ attributeType, classes }: Props) => JSX.Element;
9
+ export {};
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import classnames from 'classnames';
3
+ import { AttributeTitle } from '../../../AttributeTitle';
4
+ import { DescriptionIcon } from '../../../DescriptionIcon';
5
+ import { useEmptyStyles } from '../../styles';
6
+ export var EmptyRenderer = function (_a) {
7
+ var attributeType = _a.attributeType, classes = _a.classes;
8
+ var styles = useEmptyStyles();
9
+ var label = attributeType.label, description = attributeType.description;
10
+ return (React.createElement("div", { "data-reltio-id": "reltio-empty-renderer", className: classnames(styles.titleRow, styles.wrapper) },
11
+ React.createElement(AttributeTitle, { label: label, className: classnames(styles.title, classes === null || classes === void 0 ? void 0 : classes.title), "data-reltio-id": "reltio-attribute-label" }),
12
+ React.createElement(DescriptionIcon, { description: description, className: styles.descriptionIcon })));
13
+ };
@@ -0,0 +1 @@
1
+ export { EmptyRenderer } from './EmptyRenderer';
@@ -0,0 +1 @@
1
+ export { EmptyRenderer } from './EmptyRenderer';
@@ -1,3 +1,4 @@
1
1
  export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"paddingWrapper" | "paddingWrapperWithLines">;
2
2
  export declare const useOneLineStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "attribute" | "collaborationWrapper" | "titleIcon" | "titleRow" | "ovIcon" | "descriptionIcon">;
3
3
  export declare const useMultiLineStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "attributes" | "attribute" | "titleRow" | "ovIcon" | "descriptionIcon">;
4
+ export declare const useEmptyStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "titleRow" | "ovIcon" | "descriptionIcon">;
@@ -87,3 +87,7 @@ export var useMultiLineStyles = makeStyles(__assign({ wrapper: {
87
87
  }, attributes: {
88
88
  alignSelf: 'stretch'
89
89
  }, titleRow: __assign(__assign({}, commonStyles.titleRow), { marginBottom: '3px' }) }, commonStyles));
90
+ export var useEmptyStyles = makeStyles(__assign({ wrapper: {
91
+ fontSize: fontSize,
92
+ lineHeight: lineHeight
93
+ } }, commonStyles));
@@ -1 +1 @@
1
- export declare const ALWAYS_VISIBLE_TYPE_URIS: string[];
1
+ export declare const FIXED_TYPE_URIS: string[];
@@ -1,2 +1,2 @@
1
1
  import { EntityAttrTypes } from '@reltio/mdm-sdk';
2
- export var ALWAYS_VISIBLE_TYPE_URIS = [EntityAttrTypes.roles.uri, EntityAttrTypes.tags.uri];
2
+ export var FIXED_TYPE_URIS = [EntityAttrTypes.roles.uri, EntityAttrTypes.tags.uri];
@@ -1,6 +1,6 @@
1
1
  export { SortingType, QueryBuilderAttributeType } from './prop-types';
2
2
  export { COMMENTS_CONTAINER_VISIBILITY_AREA } from './classnames';
3
- export { ALWAYS_VISIBLE_TYPE_URIS } from './attributes';
3
+ export { FIXED_TYPE_URIS } from './attributes';
4
4
  export { MAP_DRAWING_MODES, DEFAULT_GOOGLE_MAP_OPTIONS, DEFAULT_OVERLAY_OPTIONS, MAP_MINIMUM_SCALE_RADIUS } from './map';
5
5
  export { COMMON_TEXT_FIELD_PROPS } from './textField';
6
6
  export { POPUP_Z_INDEX } from './common';
@@ -1,6 +1,6 @@
1
1
  export { SortingType, QueryBuilderAttributeType } from './prop-types';
2
2
  export { COMMENTS_CONTAINER_VISIBILITY_AREA } from './classnames';
3
- export { ALWAYS_VISIBLE_TYPE_URIS } from './attributes';
3
+ export { FIXED_TYPE_URIS } from './attributes';
4
4
  export { MAP_DRAWING_MODES, DEFAULT_GOOGLE_MAP_OPTIONS, DEFAULT_OVERLAY_OPTIONS, MAP_MINIMUM_SCALE_RADIUS } from './map';
5
5
  export { COMMON_TEXT_FIELD_PROPS } from './textField';
6
6
  export { POPUP_Z_INDEX } from './common';
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const AlwaysVisibleAttributesContext: import("react").Context<string[]>;
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ export var AlwaysVisibleAttributesContext = createContext([]);
3
+ AlwaysVisibleAttributesContext.displayName = 'AlwaysVisibleAttributesContext';
@@ -5,7 +5,7 @@ type PagersData = {
5
5
  attrType: AttributeType;
6
6
  values: (SimpleAttributeValue | NestedAttributeValue | ReferenceAttributeValue | string | number)[];
7
7
  };
8
- export declare const splitPagersData: (alwaysVisibleTypeUris: string[], pagersData: PagersData[]) => [PagersData[], PagersData[]];
8
+ export declare const splitPagersData: (fixedTypeUris: string[], pagersData: PagersData[]) => [PagersData[], PagersData[]];
9
9
  export declare const attributeValueToEditorValue: (attributeValue: SimpleAttributeValue, { type }: DataTypeDefinition) => string | number | boolean | Date | {
10
10
  value: import("@reltio/mdm-sdk").PrimitiveValue;
11
11
  lookupCode: string;
@@ -13,8 +13,8 @@ export var getFilteredAttrTypes = function (metadata, type, includeUris, exclude
13
13
  return !excludeUris.includes(uri);
14
14
  });
15
15
  };
16
- export var splitPagersData = function (alwaysVisibleTypeUris, pagersData) {
17
- return partition(pipe(path(['attrType', 'uri']), includes(__, alwaysVisibleTypeUris)), pagersData);
16
+ export var splitPagersData = function (fixedTypeUris, pagersData) {
17
+ return partition(pipe(path(['attrType', 'uri']), includes(__, fixedTypeUris)), pagersData);
18
18
  };
19
19
  export var attributeValueToEditorValue = function (attributeValue, _a) {
20
20
  var type = _a.type;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1944",
3
+ "version": "1.4.1945",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -8,7 +8,7 @@
8
8
  "@fluentui/react-context-selector": "^9.1.26",
9
9
  "@react-google-maps/api": "2.7.0",
10
10
  "@react-sigma/core": "3.4.0",
11
- "@reltio/mdm-sdk": "^1.4.1857",
11
+ "@reltio/mdm-sdk": "^1.4.1858",
12
12
  "d3-cloud": "^1.2.5",
13
13
  "d3-geo": "^2.0.1",
14
14
  "d3-hierarchy": "^2.0.0",