@reltio/components 1.4.2158 → 1.4.2160

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 (59) hide show
  1. package/AddressAutocompleteEditor/AddressAutocompleteEditor.d.ts +10 -0
  2. package/AddressAutocompleteEditor/AddressAutocompleteEditor.js +223 -0
  3. package/AddressAutocompleteEditor/AddressAutocompleteEditor.module.css.js +9 -0
  4. package/AddressAutocompleteEditor/AddressAutocompleteEditor.test.d.ts +1 -0
  5. package/AddressAutocompleteEditor/AddressAutocompleteEditor.test.js +522 -0
  6. package/AddressAutocompleteEditor/helpers.d.ts +10 -0
  7. package/AddressAutocompleteEditor/helpers.js +18 -0
  8. package/AddressAutocompleteEditor/index.d.ts +1 -0
  9. package/AddressAutocompleteEditor/index.js +1 -0
  10. package/BasicAttributeSelector/BasicAttributeSelector.d.ts +1 -1
  11. package/BasicAttributeSelector/BasicAttributeSelector.js +2 -2
  12. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
  13. package/EditorsFactory/EditorsFactory.js +4 -0
  14. package/ReferenceAttributeEditor/ReferenceAttributeEditor.js +5 -3
  15. package/RelationEditor/RelationEditor.js +6 -4
  16. package/SelectionPopup/SelectionPopup.d.ts +2 -1
  17. package/SelectionPopup/SelectionPopup.js +11 -9
  18. package/SelectionPopup/SelectionPopup.module.css.js +9 -0
  19. package/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -0
  20. package/SimpleAttributeEditor/SimpleAttributeEditor.js +15 -4
  21. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.d.ts +10 -0
  22. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.js +253 -0
  23. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.module.css.js +9 -0
  24. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.test.d.ts +1 -0
  25. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.test.js +527 -0
  26. package/cjs/AddressAutocompleteEditor/helpers.d.ts +10 -0
  27. package/cjs/AddressAutocompleteEditor/helpers.js +24 -0
  28. package/cjs/AddressAutocompleteEditor/index.d.ts +1 -0
  29. package/cjs/AddressAutocompleteEditor/index.js +5 -0
  30. package/cjs/BasicAttributeSelector/BasicAttributeSelector.d.ts +1 -1
  31. package/cjs/BasicAttributeSelector/BasicAttributeSelector.js +2 -2
  32. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
  33. package/cjs/EditorsFactory/EditorsFactory.js +4 -0
  34. package/cjs/ReferenceAttributeEditor/ReferenceAttributeEditor.js +5 -3
  35. package/cjs/RelationEditor/RelationEditor.js +6 -4
  36. package/cjs/SelectionPopup/SelectionPopup.d.ts +2 -1
  37. package/cjs/SelectionPopup/SelectionPopup.js +13 -11
  38. package/cjs/SelectionPopup/SelectionPopup.module.css.js +9 -0
  39. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -0
  40. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +14 -3
  41. package/cjs/contexts/AttributeValueContext/index.d.ts +3 -0
  42. package/cjs/contexts/AttributeValueContext/index.js +9 -0
  43. package/cjs/contexts/AutoCompleteContext/helpers.d.ts +24 -0
  44. package/cjs/contexts/AutoCompleteContext/helpers.js +165 -0
  45. package/cjs/contexts/AutoCompleteContext/index.d.ts +12 -0
  46. package/cjs/contexts/AutoCompleteContext/index.js +83 -0
  47. package/cjs/types/index.d.ts +1 -0
  48. package/contexts/AttributeValueContext/index.d.ts +3 -0
  49. package/contexts/AttributeValueContext/index.js +3 -0
  50. package/contexts/AutoCompleteContext/helpers.d.ts +24 -0
  51. package/contexts/AutoCompleteContext/helpers.js +159 -0
  52. package/contexts/AutoCompleteContext/index.d.ts +12 -0
  53. package/contexts/AutoCompleteContext/index.js +56 -0
  54. package/package.json +2 -2
  55. package/types/index.d.ts +1 -0
  56. package/SelectionPopup/styles.d.ts +0 -6
  57. package/SelectionPopup/styles.js +0 -38
  58. package/cjs/SelectionPopup/styles.d.ts +0 -6
  59. package/cjs/SelectionPopup/styles.js +0 -41
@@ -60,6 +60,7 @@ var ConfigPermissionsContext_1 = require("../contexts/ConfigPermissionsContext")
60
60
  var ScrollToElementContext_1 = require("../contexts/ScrollToElementContext");
61
61
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
62
62
  var useScrollToAttributeError_1 = require("../hooks/useScrollToAttributeError");
63
+ var AutoCompleteContext_1 = require("../contexts/AutoCompleteContext");
63
64
  var styles_1 = require("./styles");
64
65
  var ReferenceAttributeEditor = function (props) {
65
66
  var _a;
@@ -150,9 +151,10 @@ var ReferenceAttributeEditor = function (props) {
150
151
  return (react_1.default.createElement(EditModeComplexAttribute_1.EditModeComplexAttribute, __assign({}, ownProps, { label: (0, mdm_sdk_1.getLabel)(label), attributeTypesList: editableAttrTypes, crosswalks: allCrosswalks, metadata: metadata }),
151
152
  react_1.default.createElement("div", { ref: ref, className: errorClassName },
152
153
  react_1.default.createElement(ErrorWrapper_1.ErrorWrapper, { errorMessage: errorMessage },
153
- react_1.default.createElement(EntitySelector_1.EntitySelector, { className: (0, classnames_1.default)(styles.item, (_a = {},
154
- _a[styles.dense] = errorMessage || (selectedEntity && (0, mdm_sdk_1.isTempUri)(selectedEntity.entityUri)),
155
- _a)), entity: selectedEntity || {}, entityTypesUris: entityTypesUris, globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, isDisabled: !canChangeReferencedEntity || !!attributeValue.masked, onChange: onChangeEntity, onCreate: canCreateReferencedEntity ? onCreateEntity : undefined, metadata: metadata, attributeTypesSelectionStrategy: newEntityAttrTypesSelectionStrategy, isMasked: isMasked })))));
154
+ react_1.default.createElement(AutoCompleteContext_1.AddressAutoCompleteProvider, { entityUri: entityUri },
155
+ react_1.default.createElement(EntitySelector_1.EntitySelector, { className: (0, classnames_1.default)(styles.item, (_a = {},
156
+ _a[styles.dense] = errorMessage || (selectedEntity && (0, mdm_sdk_1.isTempUri)(selectedEntity.entityUri)),
157
+ _a)), entity: selectedEntity || {}, entityTypesUris: entityTypesUris, globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, isDisabled: !canChangeReferencedEntity || !!attributeValue.masked, onChange: onChangeEntity, onCreate: canCreateReferencedEntity ? onCreateEntity : undefined, metadata: metadata, attributeTypesSelectionStrategy: newEntityAttrTypesSelectionStrategy, isMasked: isMasked }))))));
156
158
  };
157
159
  exports.default = (0, withContext_1.withContext)(ScrollToElementContext_1.ScrollToElementContext, function (contextValue, _a) {
158
160
  var attributeValue = _a.attributeValue, attributeType = _a.attributeType;
@@ -53,6 +53,7 @@ var ConfigPermissionsContext_1 = require("../contexts/ConfigPermissionsContext")
53
53
  var ScrollToElementContext_1 = require("../contexts/ScrollToElementContext");
54
54
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
55
55
  var HiddenAttributesContext_1 = require("../contexts/HiddenAttributesContext");
56
+ var AutoCompleteContext_1 = require("../contexts/AutoCompleteContext");
56
57
  var useScrollToAttributeError_1 = require("../hooks/useScrollToAttributeError");
57
58
  var styles_1 = require("./styles");
58
59
  var areRelatedEntitiesChanged = function (initial, actual) {
@@ -226,10 +227,11 @@ var RelationEditor = function (_a) {
226
227
  Boolean(relationType) && (react_1.default.createElement(ConfigPermissionsContext_1.ConfigPermissionsContextProvider, null,
227
228
  react_1.default.createElement("div", { ref: ref, className: errorClassName },
228
229
  react_1.default.createElement(ErrorWrapper_1.ErrorWrapper, { errorMessage: errorMessage },
229
- react_1.default.createElement(EntitySelector_1.EntitySelector, { className: (0, classnames_1.default)(styles.item, (_b = {},
230
- _b[styles.dense] = errorMessage ||
231
- (connection.entity && (0, mdm_sdk_1.isTempUri)(connection.entity.entityUri)),
232
- _b)), entity: connection.entity || {}, entityTypesUris: getEntityTypesUris() || [], globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, onChange: onChangeEntity, onCreate: canCreateNewEntity ? onCreateEntity : undefined, metadata: metadata, attributeTypesSelectionStrategy: mdm_sdk_1.relationEditorAttributeTypesSelectionStrategy, isMasked: isMasked }))),
230
+ react_1.default.createElement(AutoCompleteContext_1.AddressAutoCompleteProvider, { entityUri: entityUri },
231
+ react_1.default.createElement(EntitySelector_1.EntitySelector, { className: (0, classnames_1.default)(styles.item, (_b = {},
232
+ _b[styles.dense] = errorMessage ||
233
+ (connection.entity && (0, mdm_sdk_1.isTempUri)(connection.entity.entityUri)),
234
+ _b)), entity: connection.entity || {}, entityTypesUris: getEntityTypesUris() || [], globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, onChange: onChangeEntity, onCreate: canCreateNewEntity ? onCreateEntity : undefined, metadata: metadata, attributeTypesSelectionStrategy: mdm_sdk_1.relationEditorAttributeTypesSelectionStrategy, isMasked: isMasked })))),
233
235
  react_1.default.createElement(HiddenAttributesContext_1.HiddenAttributesContext.Provider, { value: emptyHiddenAttributes },
234
236
  react_1.default.createElement(EditModeAttributesList_1.EditModeAttributesList, { className: styles.item, attrTypes: firstLevelRelationAttrTypes, entity: attributeListEntity, showEmptyEditors: true, mode: mode, parentUri: relationUri, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onDeleteAttribute }))))),
235
237
  react_1.default.createElement("div", { className: styles.actionButtons },
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { PopoverProps } from '@mui/material/Popover';
3
3
  type Props = {
4
4
  title: string;
5
+ additionalInfo?: string;
5
6
  containerWidth: number;
6
7
  containerHeight: number;
7
8
  children: React.ReactNode;
@@ -15,5 +16,5 @@ type Props = {
15
16
  headerPlacement?: 'top' | 'bottom';
16
17
  searchInputRef?: React.Ref<unknown>;
17
18
  } & PopoverProps;
18
- export declare const SelectionPopup: ({ title, className, onSearch, hideTitle, hideSearchInput, inputPlaceholder, headerPlacement, containerWidth, containerHeight, searchInputOnKeyDown, children, searchInputRef, anchorOrigin, transformOrigin, ...otherProps }: Props) => React.JSX.Element;
19
+ export declare const SelectionPopup: ({ title, className, onSearch, hideTitle, hideSearchInput, inputPlaceholder, headerPlacement, containerWidth, containerHeight, searchInputOnKeyDown, children, searchInputRef, anchorOrigin, transformOrigin, additionalInfo, ...otherProps }: Props) => React.JSX.Element;
19
20
  export {};
@@ -30,27 +30,29 @@ var react_1 = __importDefault(require("react"));
30
30
  var classnames_1 = __importDefault(require("classnames"));
31
31
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
32
32
  var Popover_1 = __importDefault(require("@mui/material/Popover"));
33
+ var InfoIcon_1 = require("../InfoIcon");
33
34
  var SearchInput_1 = require("../SearchInput");
34
- var styles_1 = require("./styles");
35
- var styles_2 = require("@mui/styles");
35
+ var SelectionPopup_module_css_1 = __importDefault(require("./SelectionPopup.module.css"));
36
+ var styles_1 = require("@mui/styles");
36
37
  var SelectionPopup = function (_a) {
37
38
  var _b;
38
- var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, inputPlaceholder = _a.inputPlaceholder, _c = _a.headerPlacement, headerPlacement = _c === void 0 ? 'top' : _c, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _d = _a.anchorOrigin, anchorOrigin = _d === void 0 ? {
39
+ var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, inputPlaceholder = _a.inputPlaceholder, _c = _a.headerPlacement, headerPlacement = _c === void 0 ? 'top' : _c, containerWidth = _a.containerWidth, _d = _a.containerHeight, containerHeight = _d === void 0 ? 553 : _d, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _e = _a.anchorOrigin, anchorOrigin = _e === void 0 ? {
39
40
  vertical: 'top',
40
41
  horizontal: 'right'
41
- } : _d, _e = _a.transformOrigin, transformOrigin = _e === void 0 ? {
42
+ } : _e, _f = _a.transformOrigin, transformOrigin = _f === void 0 ? {
42
43
  vertical: 'top',
43
44
  horizontal: 'right'
44
- } : _e, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "inputPlaceholder", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin"]);
45
- var classes = (0, styles_1.useStyles)({ containerWidth: containerWidth, containerHeight: containerHeight });
46
- var currentTheme = (0, styles_2.useTheme)();
45
+ } : _f, additionalInfo = _a.additionalInfo, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "inputPlaceholder", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin", "additionalInfo"]);
46
+ var currentTheme = (0, styles_1.useTheme)();
47
47
  var header = (react_1.default.createElement(react_1.default.Fragment, null,
48
- !hideTitle && react_1.default.createElement("div", { className: classes.header }, title),
49
- !hideSearchInput && (react_1.default.createElement(SearchInput_1.SearchInput, { onSearch: onSearch, autofocus: true, onKeyDown: searchInputOnKeyDown, inputRef: searchInputRef, classes: { root: classes.searchInputContainer }, placeholder: inputPlaceholder || ui_i18n_1.default.text('Search & add attributes'), height: 40 }))));
48
+ !hideTitle && (react_1.default.createElement("div", { className: SelectionPopup_module_css_1.default.header },
49
+ title,
50
+ additionalInfo && react_1.default.createElement(InfoIcon_1.InfoIcon, { className: SelectionPopup_module_css_1.default.infoIcon, tooltipTitle: additionalInfo }))),
51
+ !hideSearchInput && (react_1.default.createElement(SearchInput_1.SearchInput, { onSearch: onSearch, autofocus: true, onKeyDown: searchInputOnKeyDown, inputRef: searchInputRef, classes: { root: SelectionPopup_module_css_1.default.searchInputContainer }, placeholder: inputPlaceholder || ui_i18n_1.default.text('Search & add attributes'), height: 40 }))));
50
52
  return (react_1.default.createElement(Popover_1.default, __assign({ anchorOrigin: anchorOrigin, transformOrigin: transformOrigin, "data-mui-color-scheme": (_b = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _b === void 0 ? void 0 : _b.mode }, otherProps),
51
- react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.container, className), style: { width: containerWidth } },
53
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(SelectionPopup_module_css_1.default.container, className), style: { width: containerWidth, height: containerHeight } },
52
54
  headerPlacement === 'top' && header,
53
- react_1.default.createElement("div", { className: classes.list }, children),
55
+ react_1.default.createElement("div", { className: SelectionPopup_module_css_1.default.list }, children),
54
56
  headerPlacement === 'bottom' && header)));
55
57
  };
56
58
  exports.SelectionPopup = SelectionPopup;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"SelectionPopup-container--TOJwk","header":"SelectionPopup-header--Vwm7m","infoIcon":"SelectionPopup-infoIcon--vFSq9","searchInputContainer":"SelectionPopup-searchInputContainer--FeSdp","list":"SelectionPopup-list--jlWo4"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SelectionPopup-container--TOJwk{display:flex;flex-direction:column;flex-grow:1}.SelectionPopup-header--Vwm7m{align-items:center;display:flex;font-size:16px;font-weight:500;letter-spacing:.15px;line-height:24px;margin-bottom:12px;margin-left:16px;margin-top:16px}.SelectionPopup-infoIcon--vFSq9{color:var(--mui-palette-text-secondary);height:15px;margin-left:4px;width:15px}.SelectionPopup-searchInputContainer--FeSdp{flex-shrink:0;margin:0 16px 12px}.SelectionPopup-list--jlWo4{flex-grow:1;height:0;overflow:hidden;position:relative;width:100%}.SelectionPopup-list--jlWo4 ul{padding-bottom:0;padding-top:0}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -25,6 +25,7 @@ declare const _default: React.ForwardRefExoticComponent<Omit<{
25
25
  ownError?: AttributeError;
26
26
  highlightedError?: ContextType<typeof ScrollToElementContext>;
27
27
  isEmptyEditor?: boolean;
28
+ isFirstEditor?: boolean;
28
29
  } & Partial<{
29
30
  [x: string]: any;
30
31
  fieldName: any;
@@ -51,6 +51,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
51
51
  var react_1 = __importStar(require("react"));
52
52
  var classnames_1 = __importDefault(require("classnames"));
53
53
  var ramda_1 = require("ramda");
54
+ var react_context_selector_1 = require("@fluentui/react-context-selector");
54
55
  var Add_1 = __importDefault(require("@mui/icons-material/Add"));
55
56
  var Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
56
57
  var Typography_1 = __importDefault(require("@mui/material/Typography"));
@@ -72,6 +73,8 @@ var useAutopopulationContextValue_1 = require("./useAutopopulationContextValue")
72
73
  var useAttributeValuePermissions_1 = require("./useAttributeValuePermissions");
73
74
  var DependentLookupAutopopulationContext_1 = require("../contexts/DependentLookupAutopopulationContext");
74
75
  var styles_1 = require("./styles");
76
+ var AutoCompleteContext_1 = require("../contexts/AutoCompleteContext");
77
+ var AttributeValueContext_1 = require("../contexts/AttributeValueContext");
75
78
  var AsyncMountPlaceholder = function () {
76
79
  var styles = (0, styles_1.useStyles)();
77
80
  return react_1.default.createElement("div", { className: styles.placeholder });
@@ -79,7 +82,7 @@ var AsyncMountPlaceholder = function () {
79
82
  var SimpleAttributeEditor = function (_a) {
80
83
  var _b, _c;
81
84
  var _d;
82
- var className = _a.className, attributeValue = _a.attributeValue, attributeType = _a.attributeType, isReltioCrosswalk = _a.isReltioCrosswalk, ownError = _a.ownError, mode = _a.mode, onAddOneMore = _a.onAddOneMore, onDeleteAttribute = _a.onDeleteAttribute, onChangeAttribute = _a.onChangeAttribute, onDeactivateError = _a.onDeactivateError, additionalControlsRenderer = _a.additionalControlsRenderer, state = _a.state, highlightedError = _a.highlightedError, _e = _a.isEmptyEditor, isEmptyEditor = _e === void 0 ? false : _e, otherProps = __rest(_a, ["className", "attributeValue", "attributeType", "isReltioCrosswalk", "ownError", "mode", "onAddOneMore", "onDeleteAttribute", "onChangeAttribute", "onDeactivateError", "additionalControlsRenderer", "state", "highlightedError", "isEmptyEditor"]);
85
+ var className = _a.className, attributeValue = _a.attributeValue, attributeType = _a.attributeType, isReltioCrosswalk = _a.isReltioCrosswalk, ownError = _a.ownError, mode = _a.mode, onAddOneMore = _a.onAddOneMore, onDeleteAttribute = _a.onDeleteAttribute, onChangeAttribute = _a.onChangeAttribute, onDeactivateError = _a.onDeactivateError, additionalControlsRenderer = _a.additionalControlsRenderer, state = _a.state, highlightedError = _a.highlightedError, _e = _a.isEmptyEditor, isEmptyEditor = _e === void 0 ? false : _e, isFirstEditor = _a.isFirstEditor, otherProps = __rest(_a, ["className", "attributeValue", "attributeType", "isReltioCrosswalk", "ownError", "mode", "onAddOneMore", "onDeleteAttribute", "onChangeAttribute", "onDeactivateError", "additionalControlsRenderer", "state", "highlightedError", "isEmptyEditor", "isFirstEditor"]);
83
86
  var styles = (0, styles_1.useStyles)();
84
87
  var deleted = state === 'deleted';
85
88
  var edited = state === 'edited';
@@ -93,6 +96,7 @@ var SimpleAttributeEditor = function (_a) {
93
96
  var showToEdit = canEdit && isEditableMode && !attributeValue.masked;
94
97
  var errorMessage = (0, mdm_sdk_1.getErrorMessage)(ownError);
95
98
  var dependentLookupEditorContext = (0, MdmModuleContext_1.useMdmDependentLookupEditorContext)(attributeValue, attributeType);
99
+ var isAutocompleteTriggerAttribute = (0, react_context_selector_1.useContextSelector)(AutoCompleteContext_1.AddressAutoCompleteContext, function (c) { return c === null || c === void 0 ? void 0 : c.isAutocompleteTriggerAttribute; });
96
100
  var _g = (0, useScrollToAttributeError_1.useScrollToAttributeError)({ highlightedError: highlightedError, isSimple: true }), ref = _g.ref, errorClassName = _g.errorClassName;
97
101
  (0, react_1.useEffect)(function () {
98
102
  // when editor is empty but has default lookup code, onChangeAttribute will be called by useLookupsResolver
@@ -105,7 +109,13 @@ var SimpleAttributeEditor = function (_a) {
105
109
  });
106
110
  }
107
111
  }, [isEmptyEditor]);
108
- var dataTypeDefinition = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType); }, [attributeType]);
112
+ var dataTypeDefinition = (0, react_1.useMemo)(function () {
113
+ var dataTypeDefinition = (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType);
114
+ if (isFirstEditor && (isAutocompleteTriggerAttribute === null || isAutocompleteTriggerAttribute === void 0 ? void 0 : isAutocompleteTriggerAttribute(attributeType))) {
115
+ return __assign(__assign({}, dataTypeDefinition), { type: mdm_sdk_1.DataTypes.TYPE_ADDRESS_AUTOCOMPLETE });
116
+ }
117
+ return dataTypeDefinition;
118
+ }, [attributeType, isAutocompleteTriggerAttribute, isFirstEditor]);
109
119
  var value = (0, react_1.useMemo)(function () { return (0, attributesView_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition); }, [attributeValue, dataTypeDefinition]);
110
120
  var deactivateError = (0, react_1.useCallback)(function () {
111
121
  if (ownError) {
@@ -138,7 +148,8 @@ var SimpleAttributeEditor = function (_a) {
138
148
  return (react_1.default.createElement("div", { ref: ref, "data-reltio-id": "simple-attribute-editor", className: (0, classnames_1.default)(styles.editor, className, errorClassName) },
139
149
  react_1.default.createElement(ErrorWrapper_1.ErrorWrapper, { errorMessage: errorMessage, className: styles.errorWrapper },
140
150
  react_1.default.createElement("div", { className: (0, classnames_1.default)(styles['editor-value'], (_b = {}, _b[styles.deleted] = deleted, _b), (_c = {}, _c[styles['editor-read-only-value']] = !showToEdit, _c)), "data-reltio-id": "reltio-attribute-value" }, showToEdit ? (react_1.default.createElement(DependentLookupAutopopulationContext_1.DependentLookupAutopopulationContext.Provider, { value: autopopulationContextValue },
141
- react_1.default.createElement(DataTypeValueEditor_1.DataTypeValueEditor, __assign({ fieldName: (0, mdm_sdk_1.attributeUriToSearchUri)(attributeType.uri), value: value, dataTypeDefinition: dataTypeDefinition, error: hasError, onChange: onValueEditorChange, fullWidth: true }, dependentLookupEditorContext, otherProps, deletedProps)))) : (react_1.default.createElement(DataTypeValue_1.DataTypeValue, { value: (0, mdm_sdk_1.getAttributeValue)(attributeValue), dataTypeDefinition: dataTypeDefinition })))),
151
+ react_1.default.createElement(AttributeValueContext_1.AttributeValueContext.Provider, { value: attributeValue },
152
+ react_1.default.createElement(DataTypeValueEditor_1.DataTypeValueEditor, __assign({ fieldName: (0, mdm_sdk_1.attributeUriToSearchUri)(attributeType.uri), value: value, dataTypeDefinition: dataTypeDefinition, error: hasError, onChange: onValueEditorChange, fullWidth: true }, dependentLookupEditorContext, otherProps, deletedProps))))) : (react_1.default.createElement(DataTypeValue_1.DataTypeValue, { value: (0, mdm_sdk_1.getAttributeValue)(attributeValue), dataTypeDefinition: dataTypeDefinition })))),
142
153
  react_1.default.createElement("div", { "data-reltio-id": "reltio-attribute-actions", className: styles['editor-actions'] },
143
154
  edited && (react_1.default.createElement(Typography_1.default, { variant: "caption", className: styles.editedLabel },
144
155
  "(",
@@ -0,0 +1,3 @@
1
+ import { SimpleAttributeValue } from '@reltio/mdm-sdk';
2
+ import React from 'react';
3
+ export declare const AttributeValueContext: React.Context<SimpleAttributeValue>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AttributeValueContext = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ exports.AttributeValueContext = react_1.default.createContext(null);
9
+ exports.AttributeValueContext.displayName = 'AttributeValueContext';
@@ -0,0 +1,24 @@
1
+ import { Entity, AttributeType, Metadata, AddressAutoCompleteConfig, ModifyAttributePayload, AddressDetails } from '@reltio/mdm-sdk';
2
+ export type AutocompleteSettings = {
3
+ minSearchTextLen: number;
4
+ countries: string[];
5
+ countryNames: string[];
6
+ limit: number;
7
+ };
8
+ export declare const getSettings: ({ metadata, modifiedEntity, triggerAttributeValueUri, triggerAttributeTypeUri, addressAutoCompleteConfig }: {
9
+ metadata: Metadata;
10
+ modifiedEntity: Entity;
11
+ triggerAttributeValueUri: string;
12
+ triggerAttributeTypeUri: string;
13
+ addressAutoCompleteConfig: AddressAutoCompleteConfig;
14
+ }) => AutocompleteSettings;
15
+ export declare const isTriggerAttribute: (attributeType: AttributeType, inputMapping: AddressAutoCompleteConfig["inputMapping"]) => boolean;
16
+ export declare const modifyAttributes: ({ outputMapping, modifiedEntity, metadata, triggerAttributeTypeUri, triggerAttributeValueUri, values, modifyAttribute }: {
17
+ outputMapping: AddressAutoCompleteConfig["outputMapping"];
18
+ modifiedEntity: Entity;
19
+ metadata: Metadata;
20
+ modifyAttribute: (attribute: ModifyAttributePayload) => void;
21
+ triggerAttributeTypeUri: string;
22
+ triggerAttributeValueUri: string;
23
+ values: AddressDetails;
24
+ }) => void;
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.modifyAttributes = exports.isTriggerAttribute = exports.getSettings = void 0;
15
+ var ramda_1 = require("ramda");
16
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
17
+ var MINIMUM_NESTED_LEVEL = 1;
18
+ var MIN_SEARCH_TEXT_LEN = 3;
19
+ var SEARCH_RESULTS_LIMIT = 10;
20
+ var COUNTRIES_DELIMETER = ';';
21
+ var genAttributeValueUri = function (_a) {
22
+ var _b;
23
+ var attributeType = _a.attributeType, parentValueUri = _a.parentValueUri, attributeTypeUri = _a.attributeTypeUri, modifiedEntity = _a.modifiedEntity, metadata = _a.metadata, existingValues = _a.existingValues, _c = _a.hasValues, hasValues = _c === void 0 ? true : _c;
24
+ var currentExistingValue = existingValues.find(function (_a) {
25
+ var uri = _a.uri;
26
+ return (0, mdm_sdk_1.areOneHierarchyUris)(uri, parentValueUri);
27
+ });
28
+ var hasExistingValues = Boolean(hasValues && currentExistingValue);
29
+ var currentLevelUri = hasExistingValues
30
+ ? currentExistingValue.uri
31
+ : (0, mdm_sdk_1.generateUri)(parentValueUri, attributeType.name);
32
+ if ((0, mdm_sdk_1.isNested)(attributeType)) {
33
+ var subAttributes = attributeType.attributes;
34
+ if (subAttributes === null || subAttributes === void 0 ? void 0 : subAttributes.length) {
35
+ var subAttrubuteType = subAttributes.find(function (_a) {
36
+ var uri = _a.uri;
37
+ return (0, mdm_sdk_1.areOneHierarchyUris)(attributeTypeUri, uri);
38
+ });
39
+ if (subAttrubuteType) {
40
+ return genAttributeValueUri({
41
+ attributeType: subAttrubuteType,
42
+ parentValueUri: currentLevelUri,
43
+ attributeTypeUri: attributeTypeUri,
44
+ modifiedEntity: modifiedEntity,
45
+ metadata: metadata,
46
+ existingValues: ((_b = currentExistingValue === null || currentExistingValue === void 0 ? void 0 : currentExistingValue.value) === null || _b === void 0 ? void 0 : _b[subAttrubuteType.name]) || [],
47
+ hasValues: hasExistingValues
48
+ });
49
+ }
50
+ }
51
+ return null;
52
+ }
53
+ return currentLevelUri;
54
+ };
55
+ var generateAttributeValueUri = function (_a) {
56
+ var attributeTypeUri = _a.attributeTypeUri, modifiedEntity = _a.modifiedEntity, triggerAttributeTypeUri = _a.triggerAttributeTypeUri, triggerAttributeValueUri = _a.triggerAttributeValueUri, metadata = _a.metadata;
57
+ var triggerAttributeNestedLevel = triggerAttributeTypeUri.split('/attributes/').length - 1;
58
+ var attributeTypeRootUri = attributeTypeUri
59
+ .split('/attributes/')
60
+ .slice(0, Math.max(triggerAttributeNestedLevel, MINIMUM_NESTED_LEVEL) + 1)
61
+ .join('/attributes/');
62
+ var triggerAttributeValueParentUri = (0, mdm_sdk_1.getParentUri)(triggerAttributeValueUri);
63
+ var rootAttributeType = (0, mdm_sdk_1.findAttributeTypeByUri)(metadata, attributeTypeRootUri, modifiedEntity.type);
64
+ var existingValues = (0, mdm_sdk_1.findAttributeValuesByTypeUri)(metadata, modifiedEntity, rootAttributeType.uri).filter(mdm_sdk_1.isOv);
65
+ return genAttributeValueUri({
66
+ attributeType: rootAttributeType,
67
+ parentValueUri: triggerAttributeValueParentUri,
68
+ attributeTypeUri: attributeTypeUri,
69
+ modifiedEntity: modifiedEntity,
70
+ existingValues: existingValues,
71
+ metadata: metadata
72
+ });
73
+ };
74
+ var getCountriesFromValues = function (_a) {
75
+ var _b;
76
+ var metadata = _a.metadata, modifiedEntity = _a.modifiedEntity, triggerAttributeValueUri = _a.triggerAttributeValueUri, triggerAttributeTypeUri = _a.triggerAttributeTypeUri, inputMapping = _a.inputMapping;
77
+ if (!triggerAttributeValueUri || !triggerAttributeTypeUri || !inputMapping || !modifiedEntity) {
78
+ return {};
79
+ }
80
+ var triggerAttributeValueParentUri = (0, mdm_sdk_1.getParentUri)(triggerAttributeValueUri);
81
+ var triggerAttributeTypeParentUri = (0, mdm_sdk_1.getParentUri)(triggerAttributeTypeUri);
82
+ var countriesMapping = (_b = inputMapping
83
+ .filter(function (_a) {
84
+ var cleanseAttribute = _a.cleanseAttribute;
85
+ return cleanseAttribute === mdm_sdk_1.InputCleanseAttributeType.Countries;
86
+ })
87
+ .filter(function (_a) {
88
+ var attribute = _a.attribute;
89
+ var attributeParentUri = (0, mdm_sdk_1.getParentUri)(attribute);
90
+ return (0, mdm_sdk_1.areOneHierarchyUris)(triggerAttributeTypeParentUri, attributeParentUri);
91
+ })
92
+ .sort(function (a, b) { return b.attribute.length - a.attribute.length; })) === null || _b === void 0 ? void 0 : _b[0];
93
+ var countryAttributeType = (countriesMapping === null || countriesMapping === void 0 ? void 0 : countriesMapping.attribute) &&
94
+ (0, mdm_sdk_1.findAttributeTypeByUri)(metadata, countriesMapping === null || countriesMapping === void 0 ? void 0 : countriesMapping.attribute, modifiedEntity.type);
95
+ if (countryAttributeType && !(0, mdm_sdk_1.isComplexAttribute)(countryAttributeType)) {
96
+ var existingCountriesValues = (0, mdm_sdk_1.findAttributeValuesByTypeUri)(metadata, modifiedEntity, countriesMapping.attribute);
97
+ var currentCountryValues = existingCountriesValues
98
+ .filter(mdm_sdk_1.isOv)
99
+ .filter(function (countryValue) {
100
+ return (0, mdm_sdk_1.areOneHierarchyUris)(triggerAttributeValueParentUri, (0, mdm_sdk_1.getParentUri)(countryValue.uri));
101
+ })
102
+ .filter(function (countryValue) { return countryValue.value; });
103
+ if (currentCountryValues === null || currentCountryValues === void 0 ? void 0 : currentCountryValues.length) {
104
+ var countries = currentCountryValues.map(function (value) { return value.lookupCode || value.value.toString(); });
105
+ return {
106
+ countries: countries,
107
+ countryNames: (0, ramda_1.pluck)('value', currentCountryValues)
108
+ };
109
+ }
110
+ }
111
+ };
112
+ var getSettings = function (_a) {
113
+ var _b, _c;
114
+ var metadata = _a.metadata, modifiedEntity = _a.modifiedEntity, triggerAttributeValueUri = _a.triggerAttributeValueUri, triggerAttributeTypeUri = _a.triggerAttributeTypeUri, addressAutoCompleteConfig = _a.addressAutoCompleteConfig;
115
+ var _d = addressAutoCompleteConfig.inputMapping, inputMapping = _d === void 0 ? [] : _d, minSearchTextLen = addressAutoCompleteConfig.minSearchTextLen, providerOpts = addressAutoCompleteConfig.providerOpts;
116
+ return __assign({ minSearchTextLen: minSearchTextLen || MIN_SEARCH_TEXT_LEN, limit: (providerOpts === null || providerOpts === void 0 ? void 0 : providerOpts.limit) || SEARCH_RESULTS_LIMIT, countries: ((_b = providerOpts === null || providerOpts === void 0 ? void 0 : providerOpts.defaultCountries) === null || _b === void 0 ? void 0 : _b.split(COUNTRIES_DELIMETER)) || [], countryNames: ((_c = providerOpts === null || providerOpts === void 0 ? void 0 : providerOpts.defaultCountries) === null || _c === void 0 ? void 0 : _c.split(COUNTRIES_DELIMETER)) || [] }, getCountriesFromValues({
117
+ metadata: metadata,
118
+ modifiedEntity: modifiedEntity,
119
+ triggerAttributeValueUri: triggerAttributeValueUri,
120
+ triggerAttributeTypeUri: triggerAttributeTypeUri,
121
+ inputMapping: inputMapping
122
+ }));
123
+ };
124
+ exports.getSettings = getSettings;
125
+ var isTriggerAttribute = function (attributeType, inputMapping) {
126
+ var allowedTypes = [mdm_sdk_1.DataTypes.TYPE_STRING, mdm_sdk_1.DataTypes.TYPE_TEXT, mdm_sdk_1.DataTypes.TYPE_BLOB];
127
+ return (allowedTypes.includes(attributeType.type) &&
128
+ inputMapping.some(function (_a) {
129
+ var attribute = _a.attribute, cleanseAttribute = _a.cleanseAttribute;
130
+ return attributeType.uri === attribute && cleanseAttribute === mdm_sdk_1.InputCleanseAttributeType.Text;
131
+ }));
132
+ };
133
+ exports.isTriggerAttribute = isTriggerAttribute;
134
+ var modifyAttributes = function (_a) {
135
+ var outputMapping = _a.outputMapping, modifiedEntity = _a.modifiedEntity, metadata = _a.metadata, triggerAttributeTypeUri = _a.triggerAttributeTypeUri, triggerAttributeValueUri = _a.triggerAttributeValueUri, values = _a.values, modifyAttribute = _a.modifyAttribute;
136
+ var parentUri = (0, mdm_sdk_1.getParentUri)(triggerAttributeTypeUri);
137
+ outputMapping
138
+ .filter(function (_a) {
139
+ var attribute = _a.attribute;
140
+ return (0, mdm_sdk_1.areOneHierarchyUris)(attribute, parentUri);
141
+ })
142
+ .forEach(function (_a) {
143
+ var attributeTypeUri = _a.attribute, cleanseAttribute = _a.cleanseAttribute;
144
+ var value = values[cleanseAttribute] || '';
145
+ var attributeType = (0, mdm_sdk_1.findAttributeTypeByUri)(metadata, attributeTypeUri, modifiedEntity.type);
146
+ if (!attributeType) {
147
+ return;
148
+ }
149
+ var uri = generateAttributeValueUri({
150
+ attributeTypeUri: attributeTypeUri,
151
+ triggerAttributeTypeUri: triggerAttributeTypeUri,
152
+ triggerAttributeValueUri: triggerAttributeValueUri,
153
+ modifiedEntity: modifiedEntity,
154
+ metadata: metadata
155
+ });
156
+ if (uri) {
157
+ modifyAttribute({
158
+ value: value,
159
+ uri: uri,
160
+ attributeType: attributeType
161
+ });
162
+ }
163
+ });
164
+ };
165
+ exports.modifyAttributes = modifyAttributes;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { AttributeType, AddressDetails } from '@reltio/mdm-sdk';
3
+ import { AutocompleteSettings } from './helpers';
4
+ export declare const AddressAutoCompleteContext: import("@fluentui/react-context-selector").Context<{
5
+ onPopulateAttributes: (triggerAttributeTypeUri: string, triggerAttributeValueUri: string, value: AddressDetails) => void;
6
+ isAutocompleteTriggerAttribute: (attributeType: AttributeType) => boolean;
7
+ getAutocompleteSettings: (triggerAttributeTypeUri: string, triggerAttributeValueUri: string) => AutocompleteSettings;
8
+ }>;
9
+ export declare const AddressAutoCompleteProvider: ({ children, entityUri }: {
10
+ children: React.ReactNode;
11
+ entityUri?: string;
12
+ }) => React.JSX.Element;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AddressAutoCompleteProvider = exports.AddressAutoCompleteContext = void 0;
27
+ var react_1 = __importStar(require("react"));
28
+ var react_context_selector_1 = require("@fluentui/react-context-selector");
29
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
30
+ var MdmModuleContext_1 = require("../MdmModuleContext");
31
+ var helpers_1 = require("./helpers");
32
+ exports.AddressAutoCompleteContext = (0, react_context_selector_1.createContext)(null);
33
+ var AddressAutoCompleteProvider = function (_a) {
34
+ var children = _a.children, entityUri = _a.entityUri;
35
+ var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
36
+ var modifyAttribute = (0, MdmModuleContext_1.useMdmAction)('modifyAttribute');
37
+ var mdmEntityUri = (0, MdmModuleContext_1.useMdmEntityUri)();
38
+ var modifiedEntity = (0, MdmModuleContext_1.useMdmModifiedEntity)(entityUri || mdmEntityUri) || {};
39
+ var addressAutoCompleteConfig = (0, react_1.useMemo)(function () {
40
+ var _a;
41
+ var entityType = (modifiedEntity === null || modifiedEntity === void 0 ? void 0 : modifiedEntity.type) && metadata && (0, mdm_sdk_1.getEntityType)(metadata, modifiedEntity.type);
42
+ return (((_a = entityType === null || entityType === void 0 ? void 0 : entityType.cleanseConfig) === null || _a === void 0 ? void 0 : _a.addressAutoCompleteConfig) ||
43
+ { outputMapping: [], inputMapping: [] });
44
+ }, [modifiedEntity === null || modifiedEntity === void 0 ? void 0 : modifiedEntity.type, metadata]);
45
+ var onPopulateAttributes = (0, react_1.useCallback)(function (triggerAttributeTypeUri, triggerAttributeValueUri, values) {
46
+ if (!(addressAutoCompleteConfig === null || addressAutoCompleteConfig === void 0 ? void 0 : addressAutoCompleteConfig.outputMapping) ||
47
+ !(modifiedEntity === null || modifiedEntity === void 0 ? void 0 : modifiedEntity.uri) ||
48
+ !triggerAttributeTypeUri ||
49
+ !values) {
50
+ return;
51
+ }
52
+ var outputMapping = addressAutoCompleteConfig.outputMapping;
53
+ (0, helpers_1.modifyAttributes)({
54
+ outputMapping: outputMapping,
55
+ modifiedEntity: modifiedEntity,
56
+ metadata: metadata,
57
+ triggerAttributeTypeUri: triggerAttributeTypeUri,
58
+ triggerAttributeValueUri: triggerAttributeValueUri,
59
+ values: values,
60
+ modifyAttribute: modifyAttribute
61
+ });
62
+ }, [addressAutoCompleteConfig, modifiedEntity, metadata, modifyAttribute]);
63
+ var isAutocompleteTriggerAttribute = (0, react_1.useCallback)(function (attributeType) {
64
+ var _a = addressAutoCompleteConfig.inputMapping, inputMapping = _a === void 0 ? [] : _a;
65
+ return (0, helpers_1.isTriggerAttribute)(attributeType, inputMapping);
66
+ }, [addressAutoCompleteConfig]);
67
+ var getAutocompleteSettings = (0, react_1.useCallback)(function (triggerAttributeTypeUri, triggerAttributeValueUri) {
68
+ return (0, helpers_1.getSettings)({
69
+ metadata: metadata,
70
+ modifiedEntity: modifiedEntity,
71
+ triggerAttributeValueUri: triggerAttributeValueUri,
72
+ triggerAttributeTypeUri: triggerAttributeTypeUri,
73
+ addressAutoCompleteConfig: addressAutoCompleteConfig
74
+ });
75
+ }, [addressAutoCompleteConfig, metadata, modifiedEntity]);
76
+ var contextValue = (0, react_1.useMemo)(function () { return ({
77
+ onPopulateAttributes: onPopulateAttributes,
78
+ isAutocompleteTriggerAttribute: isAutocompleteTriggerAttribute,
79
+ getAutocompleteSettings: getAutocompleteSettings
80
+ }); }, [onPopulateAttributes, isAutocompleteTriggerAttribute, getAutocompleteSettings]);
81
+ return react_1.default.createElement(exports.AddressAutoCompleteContext.Provider, { value: contextValue }, children);
82
+ };
83
+ exports.AddressAutoCompleteProvider = AddressAutoCompleteProvider;
@@ -80,6 +80,7 @@ export type BasicAttributeSelectorProps = {
80
80
  ungroup?: boolean;
81
81
  disabled?: boolean;
82
82
  hideCheckBox?: boolean;
83
+ additionalInfo?: string;
83
84
  };
84
85
  export declare enum RequestStates {
85
86
  INIT = "init",
@@ -0,0 +1,3 @@
1
+ import { SimpleAttributeValue } from '@reltio/mdm-sdk';
2
+ import React from 'react';
3
+ export declare const AttributeValueContext: React.Context<SimpleAttributeValue>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export var AttributeValueContext = React.createContext(null);
3
+ AttributeValueContext.displayName = 'AttributeValueContext';
@@ -0,0 +1,24 @@
1
+ import { Entity, AttributeType, Metadata, AddressAutoCompleteConfig, ModifyAttributePayload, AddressDetails } from '@reltio/mdm-sdk';
2
+ export type AutocompleteSettings = {
3
+ minSearchTextLen: number;
4
+ countries: string[];
5
+ countryNames: string[];
6
+ limit: number;
7
+ };
8
+ export declare const getSettings: ({ metadata, modifiedEntity, triggerAttributeValueUri, triggerAttributeTypeUri, addressAutoCompleteConfig }: {
9
+ metadata: Metadata;
10
+ modifiedEntity: Entity;
11
+ triggerAttributeValueUri: string;
12
+ triggerAttributeTypeUri: string;
13
+ addressAutoCompleteConfig: AddressAutoCompleteConfig;
14
+ }) => AutocompleteSettings;
15
+ export declare const isTriggerAttribute: (attributeType: AttributeType, inputMapping: AddressAutoCompleteConfig["inputMapping"]) => boolean;
16
+ export declare const modifyAttributes: ({ outputMapping, modifiedEntity, metadata, triggerAttributeTypeUri, triggerAttributeValueUri, values, modifyAttribute }: {
17
+ outputMapping: AddressAutoCompleteConfig["outputMapping"];
18
+ modifiedEntity: Entity;
19
+ metadata: Metadata;
20
+ modifyAttribute: (attribute: ModifyAttributePayload) => void;
21
+ triggerAttributeTypeUri: string;
22
+ triggerAttributeValueUri: string;
23
+ values: AddressDetails;
24
+ }) => void;