@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.
- package/AddressAutocompleteEditor/AddressAutocompleteEditor.d.ts +10 -0
- package/AddressAutocompleteEditor/AddressAutocompleteEditor.js +223 -0
- package/AddressAutocompleteEditor/AddressAutocompleteEditor.module.css.js +9 -0
- package/AddressAutocompleteEditor/AddressAutocompleteEditor.test.d.ts +1 -0
- package/AddressAutocompleteEditor/AddressAutocompleteEditor.test.js +522 -0
- package/AddressAutocompleteEditor/helpers.d.ts +10 -0
- package/AddressAutocompleteEditor/helpers.js +18 -0
- package/AddressAutocompleteEditor/index.d.ts +1 -0
- package/AddressAutocompleteEditor/index.js +1 -0
- package/BasicAttributeSelector/BasicAttributeSelector.d.ts +1 -1
- package/BasicAttributeSelector/BasicAttributeSelector.js +2 -2
- package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
- package/EditorsFactory/EditorsFactory.js +4 -0
- package/ReferenceAttributeEditor/ReferenceAttributeEditor.js +5 -3
- package/RelationEditor/RelationEditor.js +6 -4
- package/SelectionPopup/SelectionPopup.d.ts +2 -1
- package/SelectionPopup/SelectionPopup.js +11 -9
- package/SelectionPopup/SelectionPopup.module.css.js +9 -0
- package/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -0
- package/SimpleAttributeEditor/SimpleAttributeEditor.js +15 -4
- package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.d.ts +10 -0
- package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.js +253 -0
- package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.module.css.js +9 -0
- package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.test.d.ts +1 -0
- package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.test.js +527 -0
- package/cjs/AddressAutocompleteEditor/helpers.d.ts +10 -0
- package/cjs/AddressAutocompleteEditor/helpers.js +24 -0
- package/cjs/AddressAutocompleteEditor/index.d.ts +1 -0
- package/cjs/AddressAutocompleteEditor/index.js +5 -0
- package/cjs/BasicAttributeSelector/BasicAttributeSelector.d.ts +1 -1
- package/cjs/BasicAttributeSelector/BasicAttributeSelector.js +2 -2
- package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
- package/cjs/EditorsFactory/EditorsFactory.js +4 -0
- package/cjs/ReferenceAttributeEditor/ReferenceAttributeEditor.js +5 -3
- package/cjs/RelationEditor/RelationEditor.js +6 -4
- package/cjs/SelectionPopup/SelectionPopup.d.ts +2 -1
- package/cjs/SelectionPopup/SelectionPopup.js +13 -11
- package/cjs/SelectionPopup/SelectionPopup.module.css.js +9 -0
- package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -0
- package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +14 -3
- package/cjs/contexts/AttributeValueContext/index.d.ts +3 -0
- package/cjs/contexts/AttributeValueContext/index.js +9 -0
- package/cjs/contexts/AutoCompleteContext/helpers.d.ts +24 -0
- package/cjs/contexts/AutoCompleteContext/helpers.js +165 -0
- package/cjs/contexts/AutoCompleteContext/index.d.ts +12 -0
- package/cjs/contexts/AutoCompleteContext/index.js +83 -0
- package/cjs/types/index.d.ts +1 -0
- package/contexts/AttributeValueContext/index.d.ts +3 -0
- package/contexts/AttributeValueContext/index.js +3 -0
- package/contexts/AutoCompleteContext/helpers.d.ts +24 -0
- package/contexts/AutoCompleteContext/helpers.js +159 -0
- package/contexts/AutoCompleteContext/index.d.ts +12 -0
- package/contexts/AutoCompleteContext/index.js +56 -0
- package/package.json +2 -2
- package/types/index.d.ts +1 -0
- package/SelectionPopup/styles.d.ts +0 -6
- package/SelectionPopup/styles.js +0 -38
- package/cjs/SelectionPopup/styles.d.ts +0 -6
- 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(
|
|
154
|
-
|
|
155
|
-
|
|
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(
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
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
|
|
35
|
-
var
|
|
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,
|
|
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
|
-
} :
|
|
42
|
+
} : _e, _f = _a.transformOrigin, transformOrigin = _f === void 0 ? {
|
|
42
43
|
vertical: 'top',
|
|
43
44
|
horizontal: 'right'
|
|
44
|
-
} :
|
|
45
|
-
var
|
|
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:
|
|
49
|
-
|
|
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)(
|
|
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:
|
|
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 () {
|
|
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(
|
|
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,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;
|
package/cjs/types/index.d.ts
CHANGED
|
@@ -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;
|