@reltio/components 1.4.1371 → 1.4.1373
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/LinearLoadIndicator/LinearLoadIndicator.js +1 -1
- package/cjs/components/RelationEditor/RelationEditor.d.ts +5 -32
- package/cjs/components/RelationEditor/RelationEditor.js +33 -22
- package/cjs/components/RelationEditor/index.d.ts +3 -152
- package/cjs/components/RelationEditor/styles.js +2 -1
- package/cjs/components/attributes/editMode/AttributesPager/AttributeRenderer.d.ts +10 -6
- package/cjs/components/attributes/editMode/AttributesPager/AttributeRenderer.js +19 -5
- package/cjs/components/attributes/editMode/AttributesPager/styles.d.ts +1 -1
- package/cjs/components/attributes/editMode/AttributesPager/styles.js +2 -1
- package/cjs/components/attributes/editMode/AttributesPager/utils.d.ts +2 -1
- package/cjs/components/attributes/editMode/AttributesView/styles.js +1 -0
- package/cjs/components/attributes/editMode/ComplexAttribute/ComplexAttribute.d.ts +5 -160
- package/cjs/components/attributes/editMode/ComplexAttribute/ComplexAttribute.js +29 -13
- package/cjs/components/attributes/editMode/ComplexAttribute/styles.d.ts +1 -1
- package/cjs/components/attributes/editMode/ComplexAttribute/styles.js +3 -0
- package/cjs/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.d.ts +1 -130
- package/cjs/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.js +24 -19
- package/cjs/components/attributes/editMode/ReferenceAttribute/index.d.ts +1 -129
- package/cjs/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -1
- package/cjs/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.js +23 -12
- package/cjs/components/attributes/editMode/SimpleAttributeEditor/styles.d.ts +1 -1
- package/cjs/components/attributes/editMode/SimpleAttributeEditor/styles.js +2 -1
- package/cjs/components/editors/DataTypeValueEditor/DataTypeValueEditor.d.ts +18 -17
- package/cjs/components/editors/DataTypeValueEditor/DataTypeValueEditor.js +3 -1
- package/cjs/contexts/ScrollToErrorContext/index.d.ts +13 -0
- package/cjs/contexts/ScrollToErrorContext/index.js +48 -0
- package/cjs/contexts/index.d.ts +1 -0
- package/cjs/contexts/index.js +4 -1
- package/cjs/hooks/index.d.ts +1 -0
- package/cjs/hooks/index.js +3 -1
- package/cjs/hooks/useScrollToAttributeError/styles.d.ts +1 -0
- package/cjs/hooks/useScrollToAttributeError/styles.js +49 -0
- package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.d.ts +14 -0
- package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.js +31 -0
- package/esm/components/LinearLoadIndicator/LinearLoadIndicator.js +1 -1
- package/esm/components/RelationEditor/RelationEditor.d.ts +5 -32
- package/esm/components/RelationEditor/RelationEditor.js +33 -22
- package/esm/components/RelationEditor/index.d.ts +3 -152
- package/esm/components/RelationEditor/styles.js +2 -1
- package/esm/components/attributes/editMode/AttributesPager/AttributeRenderer.d.ts +10 -6
- package/esm/components/attributes/editMode/AttributesPager/AttributeRenderer.js +20 -6
- package/esm/components/attributes/editMode/AttributesPager/styles.d.ts +1 -1
- package/esm/components/attributes/editMode/AttributesPager/styles.js +2 -1
- package/esm/components/attributes/editMode/AttributesPager/utils.d.ts +2 -1
- package/esm/components/attributes/editMode/AttributesView/styles.js +1 -0
- package/esm/components/attributes/editMode/ComplexAttribute/ComplexAttribute.d.ts +5 -160
- package/esm/components/attributes/editMode/ComplexAttribute/ComplexAttribute.js +29 -13
- package/esm/components/attributes/editMode/ComplexAttribute/styles.d.ts +1 -1
- package/esm/components/attributes/editMode/ComplexAttribute/styles.js +3 -0
- package/esm/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.d.ts +1 -130
- package/esm/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.js +27 -22
- package/esm/components/attributes/editMode/ReferenceAttribute/index.d.ts +1 -129
- package/esm/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -1
- package/esm/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.js +24 -13
- package/esm/components/attributes/editMode/SimpleAttributeEditor/styles.d.ts +1 -1
- package/esm/components/attributes/editMode/SimpleAttributeEditor/styles.js +2 -1
- package/esm/components/editors/DataTypeValueEditor/DataTypeValueEditor.d.ts +18 -17
- package/esm/components/editors/DataTypeValueEditor/DataTypeValueEditor.js +3 -1
- package/esm/contexts/ScrollToErrorContext/index.d.ts +13 -0
- package/esm/contexts/ScrollToErrorContext/index.js +21 -0
- package/esm/contexts/index.d.ts +1 -0
- package/esm/contexts/index.js +1 -0
- package/esm/hooks/index.d.ts +1 -0
- package/esm/hooks/index.js +1 -0
- package/esm/hooks/useScrollToAttributeError/styles.d.ts +1 -0
- package/esm/hooks/useScrollToAttributeError/styles.js +46 -0
- package/esm/hooks/useScrollToAttributeError/useScrollToAttributeError.d.ts +14 -0
- package/esm/hooks/useScrollToAttributeError/useScrollToAttributeError.js +24 -0
- package/package.json +3 -3
|
@@ -38,21 +38,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
var react_1 = __importStar(require("react"));
|
|
41
|
+
var ramda_1 = require("ramda");
|
|
41
42
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
42
43
|
var classnames_1 = __importDefault(require("classnames"));
|
|
44
|
+
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
45
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
43
46
|
var Button_1 = __importDefault(require("@material-ui/core/Button"));
|
|
44
|
-
var SmallIconButton_1 = __importDefault(require("../../../SmallIconButton/SmallIconButton"));
|
|
45
47
|
var Delete_1 = __importDefault(require("@material-ui/icons/Delete"));
|
|
46
48
|
var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var styles_1 = require("./styles");
|
|
49
|
+
var SmallIconButton_1 = __importDefault(require("../../../SmallIconButton/SmallIconButton"));
|
|
50
|
+
var ArrowExpandButton_1 = __importDefault(require("../../../ArrowExpandButton/ArrowExpandButton"));
|
|
50
51
|
var ErrorWrapper_1 = __importDefault(require("../../../ErrorWrapper/ErrorWrapper"));
|
|
51
52
|
var AttributesList_1 = __importDefault(require("../AttributesList/AttributesList"));
|
|
52
|
-
var
|
|
53
|
+
var HOCs_1 = require("../../../../HOCs");
|
|
54
|
+
var contexts_1 = require("../../../../contexts");
|
|
55
|
+
var hooks_1 = require("../../../../hooks");
|
|
56
|
+
var styles_1 = require("./styles");
|
|
53
57
|
var ComplexAttribute = function (_a) {
|
|
54
58
|
var _b;
|
|
55
|
-
var label = _a.label, attributeTypesList = _a.attributeTypesList, attributeType = _a.attributeType, attributeValue = _a.attributeValue, children = _a.children, errors = _a.errors, ownError = _a.ownError, mode = _a.mode, metadata = _a.metadata, crosswalks = _a.crosswalks, lazy = _a.lazy, showEmptyEditors = _a.showEmptyEditors, onAddOneMore = _a.onAddOneMore, onAddAttributes = _a.onAddAttributes, onDeleteAttribute = _a.onDeleteAttribute, onChangeAttribute = _a.onChangeAttribute, additionalControlsRenderer = _a.additionalControlsRenderer, hideDeleteButton = _a.hideDeleteButton, state = _a.state, showNonOv = _a.showNonOv, _c = _a.expanded, expandedProp = _c === void 0 ? false : _c;
|
|
59
|
+
var label = _a.label, attributeTypesList = _a.attributeTypesList, attributeType = _a.attributeType, attributeValue = _a.attributeValue, children = _a.children, errors = _a.errors, ownError = _a.ownError, mode = _a.mode, metadata = _a.metadata, crosswalks = _a.crosswalks, lazy = _a.lazy, showEmptyEditors = _a.showEmptyEditors, onAddOneMore = _a.onAddOneMore, onAddAttributes = _a.onAddAttributes, onDeleteAttribute = _a.onDeleteAttribute, onChangeAttribute = _a.onChangeAttribute, additionalControlsRenderer = _a.additionalControlsRenderer, hideDeleteButton = _a.hideDeleteButton, state = _a.state, showNonOv = _a.showNonOv, isHighlightedPath = _a.isHighlightedPath, highlightedError = _a.highlightedError, _c = _a.expanded, expandedProp = _c === void 0 ? false : _c;
|
|
56
60
|
var styles = (0, styles_1.useStyles)();
|
|
57
61
|
var deleted = state === 'deleted';
|
|
58
62
|
var edited = state === 'edited';
|
|
@@ -60,6 +64,12 @@ var ComplexAttribute = function (_a) {
|
|
|
60
64
|
var isNew = (0, mdm_sdk_1.isTempUri)(uri);
|
|
61
65
|
var defaultExpand = isNew || expandedProp;
|
|
62
66
|
var _d = (0, react_1.useState)(defaultExpand), expanded = _d[0], setExpanded = _d[1];
|
|
67
|
+
var _e = (0, hooks_1.useScrollToAttributeError)({ highlightedError: highlightedError }), ref = _e.ref, errorClassName = _e.errorClassName;
|
|
68
|
+
(0, react_1.useEffect)(function () {
|
|
69
|
+
if (isHighlightedPath) {
|
|
70
|
+
setExpanded(true);
|
|
71
|
+
}
|
|
72
|
+
}, [isHighlightedPath]);
|
|
63
73
|
(0, react_1.useEffect)(function () {
|
|
64
74
|
setExpanded(defaultExpand);
|
|
65
75
|
}, [defaultExpand]);
|
|
@@ -74,10 +84,7 @@ var ComplexAttribute = function (_a) {
|
|
|
74
84
|
}, [attributeType, attributeValue, mode, metadata, crosswalks]);
|
|
75
85
|
var showDeleteButton = !deleted && !hideDeleteButton && !!onDeleteAttribute && canDelete;
|
|
76
86
|
var onDeleteThis = function () { return onDeleteAttribute({ uri: uri, attributeType: attributeType, attributeValue: attributeValue }); };
|
|
77
|
-
var hasDescendantsWithErrors = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.hasAttributeDescendantsWithErrors)(attributeValue, errors); }, [
|
|
78
|
-
errors,
|
|
79
|
-
attributeValue
|
|
80
|
-
]);
|
|
87
|
+
var hasDescendantsWithErrors = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.hasAttributeDescendantsWithErrors)(attributeValue, errors); }, [errors, attributeValue]);
|
|
81
88
|
(0, react_1.useEffect)(function () {
|
|
82
89
|
if (hasDescendantsWithErrors) {
|
|
83
90
|
setExpanded(true);
|
|
@@ -94,7 +101,7 @@ var ComplexAttribute = function (_a) {
|
|
|
94
101
|
analyticsAttributes: hasAnalyticValue ? attributeValue.value : null
|
|
95
102
|
}); }, [attributeValue, hasAnalyticValue]);
|
|
96
103
|
var errorMessage = (0, mdm_sdk_1.getErrorMessage)(ownError) || (hasDescendantsWithErrors && ui_i18n_1.default.text('Has an incorrect value')) || '';
|
|
97
|
-
return lazy ? (react_1.default.createElement(Button_1.default, { variant: "text", color: "primary", onClick: onAddOneMore }, "Create attribute")) : (react_1.default.createElement(
|
|
104
|
+
return lazy ? (react_1.default.createElement(Button_1.default, { variant: "text", color: "primary", onClick: onAddOneMore }, "Create attribute")) : (react_1.default.createElement("div", { ref: ref, className: (0, classnames_1.default)(styles.complexWrapper, errorClassName) },
|
|
98
105
|
react_1.default.createElement("div", { className: styles.editor },
|
|
99
106
|
react_1.default.createElement("div", { className: styles.titleContainer },
|
|
100
107
|
react_1.default.createElement(ArrowExpandButton_1.default, { onClick: function () { return setExpanded(function (value) { return !value; }); }, expanded: expanded, className: styles.expandButton, disabled: deleted }),
|
|
@@ -109,5 +116,14 @@ var ComplexAttribute = function (_a) {
|
|
|
109
116
|
showDeleteButton && react_1.default.createElement(SmallIconButton_1.default, { icon: Delete_1.default, onClick: onDeleteThis, size: "L" }))),
|
|
110
117
|
expanded && (react_1.default.createElement(AttributesList_1.default, { parentAttributeType: attributeType, attrTypes: attributeTypesList, entity: attributeListEntity, showEmptyEditors: showEmptyEditors || isNew, drawLines: true, parentUri: uri, mode: mode, crosswalks: crosswalks, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onDeleteAttribute, additionalControlsRenderer: additionalControlsRenderer, showNonOv: showNonOv }, children))));
|
|
111
118
|
};
|
|
112
|
-
ComplexAttribute.propTypes = __assign({ label: prop_types_1.default.string, children: prop_types_1.default.node, attributeTypesList: prop_types_1.default.arrayOf(mdm_sdk_1.AttributeTypeType), attributeValue: prop_types_1.default.oneOfType([mdm_sdk_1.NestedAttributeValueType, mdm_sdk_1.ReferenceAttributeValueType]) }, mdm_sdk_1.ComplexAttributeType);
|
|
113
|
-
exports.default =
|
|
119
|
+
ComplexAttribute.propTypes = __assign({ label: prop_types_1.default.string, children: prop_types_1.default.node, attributeTypesList: prop_types_1.default.arrayOf(mdm_sdk_1.AttributeTypeType), attributeValue: prop_types_1.default.oneOfType([mdm_sdk_1.NestedAttributeValueType, mdm_sdk_1.ReferenceAttributeValueType]), highlightedError: prop_types_1.default.object, isHighlightedPath: prop_types_1.default.bool }, mdm_sdk_1.ComplexAttributeType);
|
|
120
|
+
exports.default = (0, HOCs_1.withContext)(contexts_1.ScrollToErrorContext, function (contextValue, _a) {
|
|
121
|
+
var attributeValue = _a.attributeValue;
|
|
122
|
+
var error = (contextValue || {}).error;
|
|
123
|
+
var isHighlighted = (error === null || error === void 0 ? void 0 : error.uri) === attributeValue.uri;
|
|
124
|
+
var isHighlightedPath = (0, ramda_1.pipe)((0, ramda_1.propOr)([], 'path'), (0, ramda_1.any)((0, ramda_1.pathEq)(['value', 'uri'], attributeValue.uri)))(error);
|
|
125
|
+
return {
|
|
126
|
+
highlightedError: isHighlighted ? contextValue : null,
|
|
127
|
+
isHighlightedPath: isHighlightedPath
|
|
128
|
+
};
|
|
129
|
+
}, ComplexAttribute);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"actions" | "label" | "deleted" | "editor" | "expandButton" | "editedLabel" | "titleContainer" | "errorWrapperHelperText">;
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"actions" | "label" | "deleted" | "editor" | "expandButton" | "editedLabel" | "complexWrapper" | "titleContainer" | "errorWrapperHelperText">;
|
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useStyles = void 0;
|
|
4
4
|
var styles_1 = require("@material-ui/core/styles");
|
|
5
5
|
exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
6
|
+
complexWrapper: {
|
|
7
|
+
position: 'relative'
|
|
8
|
+
},
|
|
6
9
|
editor: {
|
|
7
10
|
display: 'flex',
|
|
8
11
|
flex: 1,
|
|
@@ -1,132 +1,3 @@
|
|
|
1
|
-
declare const _default: React.
|
|
2
|
-
(props: any): JSX.Element;
|
|
3
|
-
propTypes: {
|
|
4
|
-
modifiedEntity: PropTypes.Requireable<PropTypes.InferProps<{
|
|
5
|
-
uri: PropTypes.Requireable<string>;
|
|
6
|
-
type: PropTypes.Requireable<string>;
|
|
7
|
-
}>>;
|
|
8
|
-
metadata: PropTypes.Requireable<PropTypes.InferProps<{
|
|
9
|
-
uri: PropTypes.Requireable<string>;
|
|
10
|
-
description: PropTypes.Requireable<string>;
|
|
11
|
-
label: PropTypes.Requireable<string>;
|
|
12
|
-
schemaVersion: PropTypes.Requireable<string>;
|
|
13
|
-
entityTypes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
14
|
-
typeColor: PropTypes.Requireable<string>;
|
|
15
|
-
typeIcon: PropTypes.Requireable<string>;
|
|
16
|
-
typeImage: PropTypes.Requireable<string>;
|
|
17
|
-
label: PropTypes.Requireable<string>;
|
|
18
|
-
uri: PropTypes.Requireable<string>;
|
|
19
|
-
attributes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
20
|
-
label: PropTypes.Requireable<string>;
|
|
21
|
-
name: PropTypes.Requireable<string>;
|
|
22
|
-
description: PropTypes.Requireable<string>;
|
|
23
|
-
type: PropTypes.Requireable<string>;
|
|
24
|
-
hidden: PropTypes.Requireable<boolean>;
|
|
25
|
-
faceted: PropTypes.Requireable<boolean>;
|
|
26
|
-
searchable: PropTypes.Requireable<boolean>;
|
|
27
|
-
uri: PropTypes.Requireable<string>;
|
|
28
|
-
access: PropTypes.Requireable<string[]>;
|
|
29
|
-
cardinality: PropTypes.Requireable<PropTypes.InferProps<{
|
|
30
|
-
minValue: PropTypes.Requireable<number>;
|
|
31
|
-
maxValue: PropTypes.Requireable<number>;
|
|
32
|
-
}>>;
|
|
33
|
-
}>[]>;
|
|
34
|
-
}>[]>;
|
|
35
|
-
roles: PropTypes.Requireable<object[]>;
|
|
36
|
-
groupTypes: PropTypes.Requireable<object[]>;
|
|
37
|
-
relationTypes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
38
|
-
label: PropTypes.Requireable<string>;
|
|
39
|
-
uri: PropTypes.Requireable<string>;
|
|
40
|
-
typeColor: PropTypes.Requireable<string>;
|
|
41
|
-
direction: PropTypes.Requireable<string>;
|
|
42
|
-
startObject: PropTypes.Requireable<object>;
|
|
43
|
-
endObject: PropTypes.Requireable<object>;
|
|
44
|
-
}>[]>;
|
|
45
|
-
graphTypes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
46
|
-
uri: PropTypes.Requireable<string>;
|
|
47
|
-
label: PropTypes.Requireable<string>;
|
|
48
|
-
extendsTypeUri: PropTypes.Requireable<string>;
|
|
49
|
-
relationshipTypeURIs: PropTypes.Requireable<string[]>;
|
|
50
|
-
}>[]>;
|
|
51
|
-
interactionTypes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
52
|
-
uri: PropTypes.Requireable<string>;
|
|
53
|
-
label: PropTypes.Requireable<string>;
|
|
54
|
-
memberTypes: PropTypes.Requireable<any[]>;
|
|
55
|
-
extendsTypeUri: PropTypes.Requireable<string>;
|
|
56
|
-
attributes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
57
|
-
label: PropTypes.Requireable<string>;
|
|
58
|
-
name: PropTypes.Requireable<string>;
|
|
59
|
-
description: PropTypes.Requireable<string>;
|
|
60
|
-
type: PropTypes.Requireable<string>;
|
|
61
|
-
hidden: PropTypes.Requireable<boolean>;
|
|
62
|
-
faceted: PropTypes.Requireable<boolean>;
|
|
63
|
-
searchable: PropTypes.Requireable<boolean>;
|
|
64
|
-
uri: PropTypes.Requireable<string>;
|
|
65
|
-
access: PropTypes.Requireable<string[]>;
|
|
66
|
-
cardinality: PropTypes.Requireable<PropTypes.InferProps<{
|
|
67
|
-
minValue: PropTypes.Requireable<number>;
|
|
68
|
-
maxValue: PropTypes.Requireable<number>;
|
|
69
|
-
}>>;
|
|
70
|
-
}>[]>;
|
|
71
|
-
}>[]>;
|
|
72
|
-
sources: PropTypes.Requireable<object[]>;
|
|
73
|
-
}>>;
|
|
74
|
-
globalSearchRequestOptions: PropTypes.Requireable<object>;
|
|
75
|
-
onDeleteModifiedEntity: PropTypes.Requireable<(...args: any[]) => any>;
|
|
76
|
-
onUpdateModifiedEntity: PropTypes.Requireable<(...args: any[]) => any>;
|
|
77
|
-
onDeactivateError: PropTypes.Requireable<(...args: any[]) => any>;
|
|
78
|
-
attributeType: PropTypes.Requireable<PropTypes.InferProps<{
|
|
79
|
-
label: PropTypes.Requireable<string>;
|
|
80
|
-
name: PropTypes.Requireable<string>;
|
|
81
|
-
description: PropTypes.Requireable<string>;
|
|
82
|
-
type: PropTypes.Requireable<string>;
|
|
83
|
-
hidden: PropTypes.Requireable<boolean>;
|
|
84
|
-
faceted: PropTypes.Requireable<boolean>;
|
|
85
|
-
searchable: PropTypes.Requireable<boolean>;
|
|
86
|
-
uri: PropTypes.Requireable<string>;
|
|
87
|
-
access: PropTypes.Requireable<string[]>;
|
|
88
|
-
cardinality: PropTypes.Requireable<PropTypes.InferProps<{
|
|
89
|
-
minValue: PropTypes.Requireable<number>;
|
|
90
|
-
maxValue: PropTypes.Requireable<number>;
|
|
91
|
-
}>>;
|
|
92
|
-
}>>;
|
|
93
|
-
showEmptyEditors: PropTypes.Requireable<boolean>;
|
|
94
|
-
lazy: PropTypes.Requireable<boolean>;
|
|
95
|
-
mode: PropTypes.Requireable<any>;
|
|
96
|
-
ownError: PropTypes.Requireable<PropTypes.InferProps<{
|
|
97
|
-
type: PropTypes.Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
|
|
98
|
-
attributeTypeUri: PropTypes.Validator<string>;
|
|
99
|
-
parentUri: PropTypes.Validator<string>;
|
|
100
|
-
uri: PropTypes.Requireable<string>;
|
|
101
|
-
message: PropTypes.Requireable<string>;
|
|
102
|
-
}>>;
|
|
103
|
-
errors: PropTypes.Requireable<PropTypes.InferProps<{
|
|
104
|
-
type: PropTypes.Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
|
|
105
|
-
attributeTypeUri: PropTypes.Validator<string>;
|
|
106
|
-
parentUri: PropTypes.Validator<string>;
|
|
107
|
-
uri: PropTypes.Requireable<string>;
|
|
108
|
-
message: PropTypes.Requireable<string>;
|
|
109
|
-
}>[]>;
|
|
110
|
-
crosswalks: PropTypes.Requireable<any[]>;
|
|
111
|
-
onAddAttributes: PropTypes.Requireable<(...args: any[]) => any>;
|
|
112
|
-
onAddOneMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
113
|
-
onDeleteAttribute: PropTypes.Requireable<(...args: any[]) => any>;
|
|
114
|
-
onChangeAttribute: PropTypes.Requireable<(...args: any[]) => any>;
|
|
115
|
-
additionalControlsRenderer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
116
|
-
hideDeleteButton: PropTypes.Requireable<boolean>;
|
|
117
|
-
showNonOv: PropTypes.Requireable<boolean>;
|
|
118
|
-
state: PropTypes.Requireable<string>;
|
|
119
|
-
expanded: PropTypes.Requireable<boolean>;
|
|
120
|
-
attributeValue: PropTypes.Requireable<PropTypes.InferProps<{
|
|
121
|
-
refEntity: PropTypes.Requireable<object>;
|
|
122
|
-
refRelation: PropTypes.Requireable<object>;
|
|
123
|
-
value: PropTypes.Requireable<object>;
|
|
124
|
-
ov: PropTypes.Requireable<boolean>;
|
|
125
|
-
type: PropTypes.Requireable<string>;
|
|
126
|
-
uri: PropTypes.Requireable<string>;
|
|
127
|
-
}>>;
|
|
128
|
-
};
|
|
129
|
-
}>;
|
|
1
|
+
declare const _default: React.ComponentType<any> | ((props: any) => JSX.Element);
|
|
130
2
|
export default _default;
|
|
131
|
-
import PropTypes from "prop-types";
|
|
132
3
|
import React from "react";
|
|
@@ -56,13 +56,17 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
|
56
56
|
var ComplexAttribute_1 = __importDefault(require("../ComplexAttribute/ComplexAttribute"));
|
|
57
57
|
var EntitySelector_1 = __importDefault(require("../EntitySelector/EntitySelector"));
|
|
58
58
|
var index_1 = require("../../../index");
|
|
59
|
+
var HOCs_1 = require("../../../../HOCs");
|
|
60
|
+
var contexts_1 = require("../../../../contexts");
|
|
61
|
+
var hooks_1 = require("../../../../hooks");
|
|
59
62
|
var styles_1 = require("./styles");
|
|
60
63
|
var ReferenceAttribute = function (props) {
|
|
61
64
|
var _a;
|
|
62
65
|
var styles = (0, styles_1.useStyles)();
|
|
63
|
-
var modifiedEntity = props.modifiedEntity, metadata = props.metadata, globalSearchRequestOptions = props.globalSearchRequestOptions, onDeleteModifiedEntity = props.onDeleteModifiedEntity, onUpdateModifiedEntity = props.onUpdateModifiedEntity, onDeactivateError = props.onDeactivateError, ownProps = __rest(props, ["modifiedEntity", "metadata", "globalSearchRequestOptions", "onDeleteModifiedEntity", "onUpdateModifiedEntity", "onDeactivateError"]);
|
|
66
|
+
var modifiedEntity = props.modifiedEntity, metadata = props.metadata, globalSearchRequestOptions = props.globalSearchRequestOptions, onDeleteModifiedEntity = props.onDeleteModifiedEntity, onUpdateModifiedEntity = props.onUpdateModifiedEntity, onDeactivateError = props.onDeactivateError, highlightedError = props.highlightedError, ownProps = __rest(props, ["modifiedEntity", "metadata", "globalSearchRequestOptions", "onDeleteModifiedEntity", "onUpdateModifiedEntity", "onDeactivateError", "highlightedError"]);
|
|
64
67
|
var attributeValue = ownProps.attributeValue, attributeType = ownProps.attributeType, mode = ownProps.mode, crosswalks = ownProps.crosswalks, errors = ownProps.errors, onChangeAttribute = ownProps.onChangeAttribute;
|
|
65
68
|
var initialAttributeValue = (0, react_1.useRef)(attributeValue);
|
|
69
|
+
var _b = (0, hooks_1.useScrollToAttributeError)({ highlightedError: highlightedError, isSimple: true }), ref = _b.ref, errorClassName = _b.errorClassName;
|
|
66
70
|
var referencedEntity = (0, mdm_sdk_1.getReferencedEntityFromAttrValue)(attributeValue);
|
|
67
71
|
var referencedRelation = (0, mdm_sdk_1.getReferencedRelationFromAttrValue)(attributeValue);
|
|
68
72
|
var referencedEntityTypeUri = (0, mdm_sdk_1.getReferencedEntityTypeUriFromAttrType)(attributeType);
|
|
@@ -71,14 +75,8 @@ var ReferenceAttribute = function (props) {
|
|
|
71
75
|
? (0, mdm_sdk_1.evaluateDeepEntityLabel)(modifiedEntity, referencedEntityType.dataLabelPattern)
|
|
72
76
|
: attributeValue.label;
|
|
73
77
|
var entityTypesUris = (0, react_1.useMemo)(function () { return [referencedEntityTypeUri]; }, [referencedEntityTypeUri]);
|
|
74
|
-
var allCrosswalks = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.addReferencedRelationCrosswalks)(crosswalks, referencedRelation); }, [
|
|
75
|
-
|
|
76
|
-
referencedRelation
|
|
77
|
-
]);
|
|
78
|
-
var referencedEntityMissedError = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getReferencedEntityActiveError)(attributeValue, errors); }, [
|
|
79
|
-
attributeValue,
|
|
80
|
-
errors
|
|
81
|
-
]);
|
|
78
|
+
var allCrosswalks = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.addReferencedRelationCrosswalks)(crosswalks, referencedRelation); }, [crosswalks, referencedRelation]);
|
|
79
|
+
var referencedEntityMissedError = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getReferencedEntityActiveError)(attributeValue, errors); }, [attributeValue, errors]);
|
|
82
80
|
var selectedEntity = (0, react_1.useMemo)(function () {
|
|
83
81
|
return referencedEntity && {
|
|
84
82
|
entityUri: (0, mdm_sdk_1.getReferencedEntityUri)(referencedEntity),
|
|
@@ -141,16 +139,23 @@ var ReferenceAttribute = function (props) {
|
|
|
141
139
|
isReltioCrosswalk: (0, mdm_sdk_1.isReltioCrosswalk)(crosswalks, attributeValue)
|
|
142
140
|
});
|
|
143
141
|
}, [attributeType, attributeValue, mode, crosswalks]);
|
|
144
|
-
var canCreateReferencedEntity = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.checkMetadataForCreate)(mode, referencedEntityType); }, [
|
|
145
|
-
mode,
|
|
146
|
-
referencedEntityType
|
|
147
|
-
]);
|
|
142
|
+
var canCreateReferencedEntity = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.checkMetadataForCreate)(mode, referencedEntityType); }, [mode, referencedEntityType]);
|
|
148
143
|
var errorMessage = (0, mdm_sdk_1.getErrorMessage)(referencedEntityMissedError);
|
|
149
144
|
return (react_1.default.createElement(ComplexAttribute_1.default, __assign({}, ownProps, { label: (0, mdm_sdk_1.getLabel)(label), attributeTypesList: editableAttrTypes, crosswalks: allCrosswalks, metadata: metadata }),
|
|
150
|
-
react_1.default.createElement(
|
|
151
|
-
react_1.default.createElement(
|
|
152
|
-
|
|
153
|
-
|
|
145
|
+
react_1.default.createElement("div", { ref: ref, className: errorClassName },
|
|
146
|
+
react_1.default.createElement(index_1.ErrorWrapper, { errorMessage: errorMessage },
|
|
147
|
+
react_1.default.createElement(EntitySelector_1.default, { className: (0, classnames_1.default)(styles.item, (_a = {},
|
|
148
|
+
_a[styles.dense] = errorMessage || (selectedEntity && (0, mdm_sdk_1.isTempUri)(selectedEntity.entityUri)),
|
|
149
|
+
_a)), entity: selectedEntity || {}, entityTypesUris: entityTypesUris, max: 20, globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, onChange: canChangeReferencedEntity ? onChangeEntity : undefined, onCreate: canCreateReferencedEntity ? onCreateEntity : undefined, metadata: metadata, attributeTypesSelectionStrategy: newEntityAttrTypesSelectionStrategy })))));
|
|
154
150
|
};
|
|
155
|
-
ReferenceAttribute.propTypes = __assign(__assign({}, mdm_sdk_1.ReferenceAttributeType), { modifiedEntity: mdm_sdk_1.EntityType, metadata: mdm_sdk_1.MetadataType, globalSearchRequestOptions: prop_types_1.default.object, onDeleteModifiedEntity: prop_types_1.default.func, onUpdateModifiedEntity: prop_types_1.default.func, onDeactivateError: prop_types_1.default.func });
|
|
156
|
-
exports.default = (0,
|
|
151
|
+
ReferenceAttribute.propTypes = __assign(__assign({}, mdm_sdk_1.ReferenceAttributeType), { modifiedEntity: mdm_sdk_1.EntityType, metadata: mdm_sdk_1.MetadataType, globalSearchRequestOptions: prop_types_1.default.object, onDeleteModifiedEntity: prop_types_1.default.func, onUpdateModifiedEntity: prop_types_1.default.func, onDeactivateError: prop_types_1.default.func, highlightedError: prop_types_1.default.object });
|
|
152
|
+
exports.default = (0, HOCs_1.withContext)(contexts_1.ScrollToErrorContext, function (contextValue, _a) {
|
|
153
|
+
var attributeValue = _a.attributeValue, attributeType = _a.attributeType;
|
|
154
|
+
var error = (contextValue || {}).error;
|
|
155
|
+
var isHighlighted = (0, ramda_1.allPass)([
|
|
156
|
+
(0, ramda_1.pipe)((0, ramda_1.prop)('uri'), mdm_sdk_1.isEmptyValue),
|
|
157
|
+
(0, ramda_1.propEq)('parentUri', attributeValue.uri),
|
|
158
|
+
(0, ramda_1.propEq)('attributeTypeUri', attributeType.uri)
|
|
159
|
+
])(error);
|
|
160
|
+
return { highlightedError: isHighlighted ? contextValue : null };
|
|
161
|
+
}, ReferenceAttribute);
|
|
@@ -1,132 +1,4 @@
|
|
|
1
1
|
export { ReferenceAttribute };
|
|
2
|
-
declare const _default: import("react-redux").ConnectedComponent<import("react").
|
|
3
|
-
(props: any): JSX.Element;
|
|
4
|
-
propTypes: {
|
|
5
|
-
modifiedEntity: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
6
|
-
uri: import("prop-types").Requireable<string>;
|
|
7
|
-
type: import("prop-types").Requireable<string>;
|
|
8
|
-
}>>;
|
|
9
|
-
metadata: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
10
|
-
uri: import("prop-types").Requireable<string>;
|
|
11
|
-
description: import("prop-types").Requireable<string>;
|
|
12
|
-
label: import("prop-types").Requireable<string>;
|
|
13
|
-
schemaVersion: import("prop-types").Requireable<string>;
|
|
14
|
-
entityTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
15
|
-
typeColor: import("prop-types").Requireable<string>;
|
|
16
|
-
typeIcon: import("prop-types").Requireable<string>;
|
|
17
|
-
typeImage: import("prop-types").Requireable<string>;
|
|
18
|
-
label: import("prop-types").Requireable<string>;
|
|
19
|
-
uri: import("prop-types").Requireable<string>;
|
|
20
|
-
attributes: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
21
|
-
label: import("prop-types").Requireable<string>;
|
|
22
|
-
name: import("prop-types").Requireable<string>;
|
|
23
|
-
description: import("prop-types").Requireable<string>;
|
|
24
|
-
type: import("prop-types").Requireable<string>;
|
|
25
|
-
hidden: import("prop-types").Requireable<boolean>;
|
|
26
|
-
faceted: import("prop-types").Requireable<boolean>;
|
|
27
|
-
searchable: import("prop-types").Requireable<boolean>;
|
|
28
|
-
uri: import("prop-types").Requireable<string>;
|
|
29
|
-
access: import("prop-types").Requireable<string[]>;
|
|
30
|
-
cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
31
|
-
minValue: import("prop-types").Requireable<number>;
|
|
32
|
-
maxValue: import("prop-types").Requireable<number>;
|
|
33
|
-
}>>;
|
|
34
|
-
}>[]>;
|
|
35
|
-
}>[]>;
|
|
36
|
-
roles: import("prop-types").Requireable<object[]>;
|
|
37
|
-
groupTypes: import("prop-types").Requireable<object[]>;
|
|
38
|
-
relationTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
39
|
-
label: import("prop-types").Requireable<string>;
|
|
40
|
-
uri: import("prop-types").Requireable<string>;
|
|
41
|
-
typeColor: import("prop-types").Requireable<string>;
|
|
42
|
-
direction: import("prop-types").Requireable<string>;
|
|
43
|
-
startObject: import("prop-types").Requireable<object>;
|
|
44
|
-
endObject: import("prop-types").Requireable<object>;
|
|
45
|
-
}>[]>;
|
|
46
|
-
graphTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
47
|
-
uri: import("prop-types").Requireable<string>;
|
|
48
|
-
label: import("prop-types").Requireable<string>;
|
|
49
|
-
extendsTypeUri: import("prop-types").Requireable<string>;
|
|
50
|
-
relationshipTypeURIs: import("prop-types").Requireable<string[]>;
|
|
51
|
-
}>[]>;
|
|
52
|
-
interactionTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
53
|
-
uri: import("prop-types").Requireable<string>;
|
|
54
|
-
label: import("prop-types").Requireable<string>;
|
|
55
|
-
memberTypes: import("prop-types").Requireable<any[]>;
|
|
56
|
-
extendsTypeUri: import("prop-types").Requireable<string>;
|
|
57
|
-
attributes: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
58
|
-
label: import("prop-types").Requireable<string>;
|
|
59
|
-
name: import("prop-types").Requireable<string>;
|
|
60
|
-
description: import("prop-types").Requireable<string>;
|
|
61
|
-
type: import("prop-types").Requireable<string>;
|
|
62
|
-
hidden: import("prop-types").Requireable<boolean>;
|
|
63
|
-
faceted: import("prop-types").Requireable<boolean>;
|
|
64
|
-
searchable: import("prop-types").Requireable<boolean>;
|
|
65
|
-
uri: import("prop-types").Requireable<string>;
|
|
66
|
-
access: import("prop-types").Requireable<string[]>;
|
|
67
|
-
cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
68
|
-
minValue: import("prop-types").Requireable<number>;
|
|
69
|
-
maxValue: import("prop-types").Requireable<number>;
|
|
70
|
-
}>>;
|
|
71
|
-
}>[]>;
|
|
72
|
-
}>[]>;
|
|
73
|
-
sources: import("prop-types").Requireable<object[]>;
|
|
74
|
-
}>>;
|
|
75
|
-
globalSearchRequestOptions: import("prop-types").Requireable<object>;
|
|
76
|
-
onDeleteModifiedEntity: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
77
|
-
onUpdateModifiedEntity: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
78
|
-
onDeactivateError: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
79
|
-
attributeType: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
80
|
-
label: import("prop-types").Requireable<string>;
|
|
81
|
-
name: import("prop-types").Requireable<string>;
|
|
82
|
-
description: import("prop-types").Requireable<string>;
|
|
83
|
-
type: import("prop-types").Requireable<string>;
|
|
84
|
-
hidden: import("prop-types").Requireable<boolean>;
|
|
85
|
-
faceted: import("prop-types").Requireable<boolean>;
|
|
86
|
-
searchable: import("prop-types").Requireable<boolean>;
|
|
87
|
-
uri: import("prop-types").Requireable<string>;
|
|
88
|
-
access: import("prop-types").Requireable<string[]>;
|
|
89
|
-
cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
90
|
-
minValue: import("prop-types").Requireable<number>;
|
|
91
|
-
maxValue: import("prop-types").Requireable<number>;
|
|
92
|
-
}>>;
|
|
93
|
-
}>>;
|
|
94
|
-
showEmptyEditors: import("prop-types").Requireable<boolean>;
|
|
95
|
-
lazy: import("prop-types").Requireable<boolean>;
|
|
96
|
-
mode: import("prop-types").Requireable<any>;
|
|
97
|
-
ownError: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
98
|
-
type: import("prop-types").Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
|
|
99
|
-
attributeTypeUri: import("prop-types").Validator<string>;
|
|
100
|
-
parentUri: import("prop-types").Validator<string>;
|
|
101
|
-
uri: import("prop-types").Requireable<string>;
|
|
102
|
-
message: import("prop-types").Requireable<string>;
|
|
103
|
-
}>>;
|
|
104
|
-
errors: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
105
|
-
type: import("prop-types").Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
|
|
106
|
-
attributeTypeUri: import("prop-types").Validator<string>;
|
|
107
|
-
parentUri: import("prop-types").Validator<string>;
|
|
108
|
-
uri: import("prop-types").Requireable<string>;
|
|
109
|
-
message: import("prop-types").Requireable<string>;
|
|
110
|
-
}>[]>;
|
|
111
|
-
crosswalks: import("prop-types").Requireable<any[]>;
|
|
112
|
-
onAddAttributes: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
113
|
-
onAddOneMore: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
114
|
-
onDeleteAttribute: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
115
|
-
onChangeAttribute: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
116
|
-
additionalControlsRenderer: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
117
|
-
hideDeleteButton: import("prop-types").Requireable<boolean>;
|
|
118
|
-
showNonOv: import("prop-types").Requireable<boolean>;
|
|
119
|
-
state: import("prop-types").Requireable<string>;
|
|
120
|
-
expanded: import("prop-types").Requireable<boolean>;
|
|
121
|
-
attributeValue: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
122
|
-
refEntity: import("prop-types").Requireable<object>;
|
|
123
|
-
refRelation: import("prop-types").Requireable<object>;
|
|
124
|
-
value: import("prop-types").Requireable<object>;
|
|
125
|
-
ov: import("prop-types").Requireable<boolean>;
|
|
126
|
-
type: import("prop-types").Requireable<string>;
|
|
127
|
-
uri: import("prop-types").Requireable<string>;
|
|
128
|
-
}>>;
|
|
129
|
-
};
|
|
130
|
-
}>, any>;
|
|
2
|
+
declare const _default: import("react-redux").ConnectedComponent<import("react").ComponentType<any> | ((props: any) => JSX.Element), any>;
|
|
131
3
|
export default _default;
|
|
132
4
|
import ReferenceAttribute from "./ReferenceAttribute";
|
|
@@ -65,6 +65,9 @@ var SmallIconButton_1 = __importDefault(require("../../../SmallIconButton/SmallI
|
|
|
65
65
|
var utils_1 = require("./utils");
|
|
66
66
|
var withAsyncMount_1 = __importDefault(require("../../../../HOCs/withAsyncMount/withAsyncMount"));
|
|
67
67
|
var getDependentLookupEditorContext_1 = require("./selectors/getDependentLookupEditorContext");
|
|
68
|
+
var HOCs_1 = require("../../../../HOCs");
|
|
69
|
+
var contexts_1 = require("../../../../contexts");
|
|
70
|
+
var hooks_1 = require("../../../../hooks");
|
|
68
71
|
var styles_1 = require("./styles");
|
|
69
72
|
var AsyncMountPlaceholder = function () {
|
|
70
73
|
var styles = (0, styles_1.useStyles)();
|
|
@@ -72,13 +75,11 @@ var AsyncMountPlaceholder = function () {
|
|
|
72
75
|
};
|
|
73
76
|
var SimpleAttributeEditor = function (_a) {
|
|
74
77
|
var _b, _c;
|
|
75
|
-
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, otherProps = __rest(_a, ["className", "attributeValue", "attributeType", "isReltioCrosswalk", "ownError", "mode", "onAddOneMore", "onDeleteAttribute", "onChangeAttribute", "onDeactivateError", "additionalControlsRenderer", "state"]);
|
|
78
|
+
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, otherProps = __rest(_a, ["className", "attributeValue", "attributeType", "isReltioCrosswalk", "ownError", "mode", "onAddOneMore", "onDeleteAttribute", "onChangeAttribute", "onDeactivateError", "additionalControlsRenderer", "state", "highlightedError"]);
|
|
76
79
|
var styles = (0, styles_1.useStyles)();
|
|
77
80
|
var deleted = state === 'deleted';
|
|
78
81
|
var edited = state === 'edited';
|
|
79
82
|
var isEditableMode = (0, mdm_sdk_1.isEditableMode)(mode);
|
|
80
|
-
var dataTypeDefinition = (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType);
|
|
81
|
-
var value = (0, utils_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition);
|
|
82
83
|
var canCreate = (0, mdm_sdk_1.checkCanCreateAttribute)({ attributeType: attributeType, mode: mode });
|
|
83
84
|
var canEdit = (0, mdm_sdk_1.checkCanEditAttribute)({ attributeType: attributeType, attributeValue: attributeValue, mode: mode, isReltioCrosswalk: isReltioCrosswalk });
|
|
84
85
|
var canDelete = (0, mdm_sdk_1.checkCanDeleteAttribute)({ attributeType: attributeType, attributeValue: attributeValue, mode: mode, isReltioCrosswalk: isReltioCrosswalk });
|
|
@@ -89,24 +90,28 @@ var SimpleAttributeEditor = function (_a) {
|
|
|
89
90
|
? (0, getDependentLookupEditorContext_1.getDependentLookupEditorContext)(state, attributeValue, attributeType === null || attributeType === void 0 ? void 0 : attributeType.uri)
|
|
90
91
|
: null;
|
|
91
92
|
});
|
|
93
|
+
var _d = (0, hooks_1.useScrollToAttributeError)({ highlightedError: highlightedError, isSimple: true }), ref = _d.ref, errorClassName = _d.errorClassName;
|
|
94
|
+
var dataTypeDefinition = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType); }, [attributeType]);
|
|
95
|
+
var value = (0, react_1.useMemo)(function () { return (0, utils_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition); }, [attributeValue, dataTypeDefinition]);
|
|
96
|
+
var deactivateError = (0, react_1.useCallback)(function () {
|
|
97
|
+
if (ownError) {
|
|
98
|
+
onDeactivateError((0, mdm_sdk_1.getErrorId)(ownError));
|
|
99
|
+
}
|
|
100
|
+
}, [ownError, onDeactivateError]);
|
|
101
|
+
var onValueEditorChange = (0, react_1.useCallback)((0, ramda_1.pipe)((0, utils_1.prepareChangeData)(attributeValue, attributeType), onChangeAttribute, deactivateError), [attributeValue, attributeType, onChangeAttribute, deactivateError]);
|
|
92
102
|
var onDelete = function () {
|
|
93
103
|
onDeleteAttribute({ uri: attributeValue.uri, attributeType: attributeType });
|
|
94
104
|
if ((0, mdm_sdk_1.getErrorType)(ownError) !== mdm_sdk_1.ErrorType.missed) {
|
|
95
105
|
deactivateError();
|
|
96
106
|
}
|
|
97
107
|
};
|
|
98
|
-
var deactivateError = function () {
|
|
99
|
-
if (ownError) {
|
|
100
|
-
onDeactivateError((0, mdm_sdk_1.getErrorId)(ownError));
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
108
|
var showAddButton = !!onAddOneMore && canCreate && !attributeType.singleValue;
|
|
104
109
|
var showDeleteButton = !deleted && !!onDeleteAttribute && canDelete;
|
|
105
110
|
var hasError = !!errorMessage;
|
|
106
111
|
var deletedProps = deleted ? { disabled: true } : {};
|
|
107
|
-
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.editor, className) },
|
|
112
|
+
return (react_1.default.createElement("div", { ref: ref, className: (0, classnames_1.default)(styles.editor, className, errorClassName) },
|
|
108
113
|
react_1.default.createElement(ErrorWrapper_1.default, { errorMessage: errorMessage, className: styles.errorWrapper },
|
|
109
|
-
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(DataTypeValueEditor_1.default, __assign({ fieldName: (0, mdm_sdk_1.attributeUriToSearchUri)(attributeType.uri), value: value, dataTypeDefinition: dataTypeDefinition, error: hasError, onChange:
|
|
114
|
+
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(DataTypeValueEditor_1.default, __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.default, { value: (0, mdm_sdk_1.getAttributeValue)(attributeValue), dataTypeDefinition: dataTypeDefinition })))),
|
|
110
115
|
react_1.default.createElement("div", { className: styles['editor-actions'] },
|
|
111
116
|
edited && (react_1.default.createElement(Typography_1.default, { variant: "caption", className: styles.editedLabel },
|
|
112
117
|
"(",
|
|
@@ -128,6 +133,12 @@ SimpleAttributeEditor.propTypes = {
|
|
|
128
133
|
onDeleteAttribute: prop_types_1.default.func,
|
|
129
134
|
onChangeAttribute: prop_types_1.default.func,
|
|
130
135
|
onDeactivateError: prop_types_1.default.func,
|
|
131
|
-
additionalControlsRenderer: prop_types_1.default.func
|
|
136
|
+
additionalControlsRenderer: prop_types_1.default.func,
|
|
137
|
+
highlightedError: prop_types_1.default.object
|
|
132
138
|
};
|
|
133
|
-
exports.default = (0,
|
|
139
|
+
exports.default = (0, withAsyncMount_1.default)((0, HOCs_1.withContext)(contexts_1.ScrollToErrorContext, function (contextValue, _a) {
|
|
140
|
+
var attributeValue = _a.attributeValue;
|
|
141
|
+
var error = (contextValue || {}).error;
|
|
142
|
+
var isHighlighted = (error === null || error === void 0 ? void 0 : error.uri) === attributeValue.uri;
|
|
143
|
+
return { highlightedError: isHighlighted ? contextValue : null };
|
|
144
|
+
}, SimpleAttributeEditor), AsyncMountPlaceholder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"button" | "placeholder" | "deleted" | "editor" | "wrapper" | "addButton" | "errorWrapper" | "editor-value" | "editor-read-only-value" | "editor-actions" | "editedLabel">;
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"button" | "placeholder" | "deleted" | "editor" | "wrapper" | "addButton" | "errorWrapper" | "editor-value" | "editor-read-only-value" | "editor-actions" | "editedLabel">;
|
|
@@ -14,7 +14,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
14
14
|
display: 'flex',
|
|
15
15
|
flex: 1,
|
|
16
16
|
alignItems: 'flex-start',
|
|
17
|
-
marginBottom: "".concat(marginBottom, "px")
|
|
17
|
+
marginBottom: "".concat(marginBottom, "px"),
|
|
18
|
+
position: 'relative'
|
|
18
19
|
},
|
|
19
20
|
'editor-value': {
|
|
20
21
|
flex: '1 1 auto'
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}): JSX.Element;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
1
|
+
declare const _default: import("react").MemoExoticComponent<{
|
|
2
|
+
({ fieldName, value, onChange, dataTypeDefinition, TextFieldProps, ...otherProps }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
fieldName: any;
|
|
5
|
+
value: any;
|
|
6
|
+
onChange: any;
|
|
7
|
+
dataTypeDefinition: any;
|
|
8
|
+
TextFieldProps?: {};
|
|
9
|
+
}): JSX.Element;
|
|
10
|
+
propTypes: {
|
|
11
|
+
fieldName: PropTypes.Requireable<string>;
|
|
12
|
+
value: PropTypes.Requireable<any>;
|
|
13
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
14
|
+
dataTypeDefinition: PropTypes.Requireable<object>;
|
|
15
|
+
};
|
|
16
|
+
displayName: string;
|
|
17
|
+
}>;
|
|
18
|
+
export default _default;
|
|
18
19
|
import PropTypes from "prop-types";
|
|
@@ -25,6 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
25
25
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
var react_1 = require("react");
|
|
28
29
|
var ramda_1 = require("ramda");
|
|
29
30
|
var EditorsFactory_1 = __importDefault(require("../EditorsFactory"));
|
|
30
31
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
@@ -49,4 +50,5 @@ DataTypeValueEditor.propTypes = {
|
|
|
49
50
|
onChange: prop_types_1.default.func,
|
|
50
51
|
dataTypeDefinition: prop_types_1.default.object
|
|
51
52
|
};
|
|
52
|
-
|
|
53
|
+
DataTypeValueEditor.displayName = 'DataTypeValueEditor';
|
|
54
|
+
exports.default = (0, react_1.memo)(DataTypeValueEditor);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AttributeError } from '@reltio/mdm-sdk';
|
|
3
|
+
declare type ScrollToErrorContextProps = {
|
|
4
|
+
error: AttributeError | null;
|
|
5
|
+
highlightError: (error: AttributeError) => void;
|
|
6
|
+
scrollIntoRef: (ref: React.MutableRefObject<HTMLDivElement>) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const ScrollToErrorContext: React.Context<ScrollToErrorContextProps>;
|
|
9
|
+
declare type Props = {
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
export declare const ScrollToErrorProvider: ({ children }: Props) => JSX.Element;
|
|
13
|
+
export {};
|