@reltio/components 1.4.1372 → 1.4.1374

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 (67) hide show
  1. package/cjs/components/RelationEditor/RelationEditor.d.ts +5 -32
  2. package/cjs/components/RelationEditor/RelationEditor.js +33 -22
  3. package/cjs/components/RelationEditor/index.d.ts +3 -152
  4. package/cjs/components/RelationEditor/styles.js +2 -1
  5. package/cjs/components/attributes/editMode/AttributesPager/AttributeRenderer.d.ts +10 -6
  6. package/cjs/components/attributes/editMode/AttributesPager/AttributeRenderer.js +19 -5
  7. package/cjs/components/attributes/editMode/AttributesPager/styles.d.ts +1 -1
  8. package/cjs/components/attributes/editMode/AttributesPager/styles.js +2 -1
  9. package/cjs/components/attributes/editMode/AttributesPager/utils.d.ts +2 -1
  10. package/cjs/components/attributes/editMode/AttributesView/styles.js +1 -0
  11. package/cjs/components/attributes/editMode/ComplexAttribute/ComplexAttribute.d.ts +5 -160
  12. package/cjs/components/attributes/editMode/ComplexAttribute/ComplexAttribute.js +29 -13
  13. package/cjs/components/attributes/editMode/ComplexAttribute/styles.d.ts +1 -1
  14. package/cjs/components/attributes/editMode/ComplexAttribute/styles.js +3 -0
  15. package/cjs/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.d.ts +1 -130
  16. package/cjs/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.js +24 -19
  17. package/cjs/components/attributes/editMode/ReferenceAttribute/index.d.ts +1 -129
  18. package/cjs/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -1
  19. package/cjs/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.js +23 -12
  20. package/cjs/components/attributes/editMode/SimpleAttributeEditor/styles.d.ts +1 -1
  21. package/cjs/components/attributes/editMode/SimpleAttributeEditor/styles.js +2 -1
  22. package/cjs/components/editors/DataTypeValueEditor/DataTypeValueEditor.d.ts +18 -17
  23. package/cjs/components/editors/DataTypeValueEditor/DataTypeValueEditor.js +3 -1
  24. package/cjs/contexts/ScrollToErrorContext/index.d.ts +13 -0
  25. package/cjs/contexts/ScrollToErrorContext/index.js +48 -0
  26. package/cjs/contexts/index.d.ts +1 -0
  27. package/cjs/contexts/index.js +4 -1
  28. package/cjs/hooks/index.d.ts +1 -0
  29. package/cjs/hooks/index.js +3 -1
  30. package/cjs/hooks/useScrollToAttributeError/styles.d.ts +1 -0
  31. package/cjs/hooks/useScrollToAttributeError/styles.js +49 -0
  32. package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.d.ts +14 -0
  33. package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.js +31 -0
  34. package/esm/components/RelationEditor/RelationEditor.d.ts +5 -32
  35. package/esm/components/RelationEditor/RelationEditor.js +33 -22
  36. package/esm/components/RelationEditor/index.d.ts +3 -152
  37. package/esm/components/RelationEditor/styles.js +2 -1
  38. package/esm/components/attributes/editMode/AttributesPager/AttributeRenderer.d.ts +10 -6
  39. package/esm/components/attributes/editMode/AttributesPager/AttributeRenderer.js +20 -6
  40. package/esm/components/attributes/editMode/AttributesPager/styles.d.ts +1 -1
  41. package/esm/components/attributes/editMode/AttributesPager/styles.js +2 -1
  42. package/esm/components/attributes/editMode/AttributesPager/utils.d.ts +2 -1
  43. package/esm/components/attributes/editMode/AttributesView/styles.js +1 -0
  44. package/esm/components/attributes/editMode/ComplexAttribute/ComplexAttribute.d.ts +5 -160
  45. package/esm/components/attributes/editMode/ComplexAttribute/ComplexAttribute.js +29 -13
  46. package/esm/components/attributes/editMode/ComplexAttribute/styles.d.ts +1 -1
  47. package/esm/components/attributes/editMode/ComplexAttribute/styles.js +3 -0
  48. package/esm/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.d.ts +1 -130
  49. package/esm/components/attributes/editMode/ReferenceAttribute/ReferenceAttribute.js +27 -22
  50. package/esm/components/attributes/editMode/ReferenceAttribute/index.d.ts +1 -129
  51. package/esm/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.d.ts +1 -1
  52. package/esm/components/attributes/editMode/SimpleAttributeEditor/SimpleAttributeEditor.js +24 -13
  53. package/esm/components/attributes/editMode/SimpleAttributeEditor/styles.d.ts +1 -1
  54. package/esm/components/attributes/editMode/SimpleAttributeEditor/styles.js +2 -1
  55. package/esm/components/editors/DataTypeValueEditor/DataTypeValueEditor.d.ts +18 -17
  56. package/esm/components/editors/DataTypeValueEditor/DataTypeValueEditor.js +3 -1
  57. package/esm/contexts/ScrollToErrorContext/index.d.ts +13 -0
  58. package/esm/contexts/ScrollToErrorContext/index.js +21 -0
  59. package/esm/contexts/index.d.ts +1 -0
  60. package/esm/contexts/index.js +1 -0
  61. package/esm/hooks/index.d.ts +1 -0
  62. package/esm/hooks/index.js +1 -0
  63. package/esm/hooks/useScrollToAttributeError/styles.d.ts +1 -0
  64. package/esm/hooks/useScrollToAttributeError/styles.js +46 -0
  65. package/esm/hooks/useScrollToAttributeError/useScrollToAttributeError.d.ts +14 -0
  66. package/esm/hooks/useScrollToAttributeError/useScrollToAttributeError.js +24 -0
  67. package/package.json +4 -4
@@ -1,32 +1,5 @@
1
- export default RelationEditor;
2
- declare function RelationEditor({ connection, modifiedEntity, allModifiedEntities, dispatch, config, mode, metadata, globalSearchRequestOptions, error }: {
3
- connection: any;
4
- modifiedEntity: any;
5
- allModifiedEntities: any;
6
- dispatch: any;
7
- config: any;
8
- mode: any;
9
- metadata: any;
10
- globalSearchRequestOptions: any;
11
- error: any;
12
- }): JSX.Element;
13
- declare namespace RelationEditor {
14
- namespace propTypes {
15
- export { ConnectionType as connection };
16
- export { EntityType as modifiedEntity };
17
- export const allModifiedEntities: PropTypes.Requireable<object>;
18
- export const dispatch: PropTypes.Requireable<(...args: any[]) => any>;
19
- export { RelationsConfigType as config };
20
- export const mode: PropTypes.Requireable<string>;
21
- export { MetadataType as metadata };
22
- export const globalSearchRequestOptions: PropTypes.Requireable<object>;
23
- export { AttributeErrorType as error };
24
- export const parentEntityUri: PropTypes.Requireable<string>;
25
- }
26
- }
27
- import { ConnectionType } from "@reltio/mdm-sdk/src/constants";
28
- import { EntityType } from "@reltio/mdm-sdk/src/constants";
29
- import PropTypes from "prop-types";
30
- import { RelationsConfigType } from "@reltio/mdm-sdk/src/constants";
31
- import { MetadataType } from "@reltio/mdm-sdk/src/constants";
32
- import { AttributeErrorType } from "@reltio/mdm-sdk/src/constants";
1
+ declare const _default: React.ComponentType<{
2
+ [x: string]: unknown;
3
+ }> | ((props: any) => JSX.Element);
4
+ export default _default;
5
+ import React from "react";
@@ -38,30 +38,34 @@ 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 prop_types_1 = __importDefault(require("prop-types"));
42
- var Button_1 = __importDefault(require("@material-ui/core/Button"));
43
- var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
44
41
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
42
+ var prop_types_1 = __importDefault(require("prop-types"));
45
43
  var classnames_1 = __importDefault(require("classnames"));
46
44
  var ramda_1 = require("ramda");
47
- var styles_1 = require("./styles");
45
+ var Button_1 = __importDefault(require("@material-ui/core/Button"));
46
+ var Divider_1 = __importDefault(require("@material-ui/core/Divider"));
47
+ var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
48
48
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
49
49
  var mdm_module_1 = require("@reltio/mdm-module");
50
- var Divider_1 = __importDefault(require("@material-ui/core/Divider"));
51
50
  var ConnectionRelationTypeSelector_1 = __importDefault(require("../ConnectionRelationTypeSelector/ConnectionRelationTypeSelector"));
52
51
  var ErrorWrapper_1 = __importDefault(require("../ErrorWrapper/ErrorWrapper"));
53
52
  var EntitySelector_1 = __importDefault(require("../attributes/editMode/EntitySelector/EntitySelector"));
54
53
  var AttributesList_1 = __importDefault(require("../attributes/editMode/AttributesList"));
54
+ var HOCs_1 = require("../../HOCs");
55
+ var contexts_1 = require("../../contexts");
56
+ var hooks_1 = require("../../hooks");
57
+ var styles_1 = require("./styles");
55
58
  var areRelatedEntitiesChanged = function (initial, actual) {
56
59
  return initial.length !== actual.length || initial.some(function (_, i) { return initial[i] !== actual[i]; });
57
60
  };
58
61
  var RelationEditor = function (_a) {
59
62
  var _b;
60
- var connection = _a.connection, modifiedEntity = _a.modifiedEntity, allModifiedEntities = _a.allModifiedEntities, dispatch = _a.dispatch, config = _a.config, mode = _a.mode, metadata = _a.metadata, globalSearchRequestOptions = _a.globalSearchRequestOptions, error = _a.error;
63
+ var connection = _a.connection, modifiedEntity = _a.modifiedEntity, allModifiedEntities = _a.allModifiedEntities, dispatch = _a.dispatch, config = _a.config, mode = _a.mode, metadata = _a.metadata, globalSearchRequestOptions = _a.globalSearchRequestOptions, error = _a.error, highlightedError = _a.highlightedError;
61
64
  var _c = connection.relation, relationUri = _c.relationUri, relationType = _c.relationType, direction = _c.direction;
62
65
  var isNew = connection.isNew;
63
66
  var styles = (0, styles_1.useStyles)();
64
- var _d = (0, react_1.useMemo)(function () {
67
+ var _d = (0, hooks_1.useScrollToAttributeError)({ highlightedError: highlightedError, isSimple: true }), ref = _d.ref, errorClassName = _d.errorClassName;
68
+ var _e = (0, react_1.useMemo)(function () {
65
69
  return (0, mdm_sdk_1.getInOutRelations)({
66
70
  content: connection.parentEntityUri ? config.contentSecondLevel : config.content,
67
71
  direction: direction,
@@ -69,18 +73,12 @@ var RelationEditor = function (_a) {
69
73
  mode: mode,
70
74
  metadata: metadata
71
75
  });
72
- }, [config, direction, relationType, mode, metadata, connection.parentEntityUri]), _e = _d.inRelations, inRelationTypes = _e === void 0 ? [] : _e, _f = _d.outRelations, outRelationTypes = _f === void 0 ? [] : _f;
73
- var firstLevelRelationAttrTypes = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getRelationAttributesList)(metadata, relationType); }, [
74
- relationType,
75
- metadata
76
- ]);
76
+ }, [config, direction, relationType, mode, metadata, connection.parentEntityUri]), _f = _e.inRelations, inRelationTypes = _f === void 0 ? [] : _f, _g = _e.outRelations, outRelationTypes = _g === void 0 ? [] : _g;
77
+ var firstLevelRelationAttrTypes = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getRelationAttributesList)(metadata, relationType); }, [relationType, metadata]);
77
78
  var attributeListEntity = (0, react_1.useMemo)(function () { return (__assign({ attributes: __assign({}, mdm_module_1.profile.relations.selectors.getRelationAttributesFromConnection(connection)) }, (0, mdm_sdk_1.getActivenessAttributes)(connection.relation))); }, [connection]);
78
79
  var initialConnection = (0, react_1.useRef)(connection);
79
80
  var initialModifiedEntity = (0, react_1.useRef)(modifiedEntity);
80
- var relatedTempEntities = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.findRelatedTemporaryEntities)(allModifiedEntities, modifiedEntity); }, [
81
- allModifiedEntities,
82
- modifiedEntity
83
- ]);
81
+ var relatedTempEntities = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.findRelatedTemporaryEntities)(allModifiedEntities, modifiedEntity); }, [allModifiedEntities, modifiedEntity]);
84
82
  var relatedTempEntitiesUrisHistory = (0, react_1.useRef)([]);
85
83
  (0, react_1.useEffect)(function () {
86
84
  relatedTempEntitiesUrisHistory.current = (0, ramda_1.pipe)((0, ramda_1.concat)(relatedTempEntities.map((0, ramda_1.prop)('uri'))), ramda_1.uniq)(relatedTempEntitiesUrisHistory.current);
@@ -170,10 +168,12 @@ var RelationEditor = function (_a) {
170
168
  react_1.default.createElement(Typography_1.default, { className: styles.title }, isNew ? ui_i18n_1.default.text('Add new item') : ui_i18n_1.default.text('Edit item')),
171
169
  defaultRelationType === null && (react_1.default.createElement(ConnectionRelationTypeSelector_1.default, { className: styles.item, relation: connection.relation, inRelationTypes: inRelationTypes, outRelationTypes: outRelationTypes, onChange: onRelationTypeChange })),
172
170
  Boolean(relationType) && (react_1.default.createElement(react_1.default.Fragment, null,
173
- react_1.default.createElement(ErrorWrapper_1.default, { errorMessage: errorMessage },
174
- react_1.default.createElement(EntitySelector_1.default, { className: (0, classnames_1.default)(styles.item, (_b = {},
175
- _b[styles.dense] = errorMessage || (connection.entity && (0, mdm_sdk_1.isTempUri)(connection.entity.entityUri)),
176
- _b)), entity: connection.entity || {}, entityTypesUris: getEntityTypesUris() || [], max: config.max || 20, globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, onChange: onChangeEntity, onCreate: onCreateEntity, metadata: metadata, attributeTypesSelectionStrategy: mdm_sdk_1.relationEditorAttributeTypesSelectionStrategy })),
171
+ react_1.default.createElement("div", { ref: ref, className: errorClassName },
172
+ react_1.default.createElement(ErrorWrapper_1.default, { errorMessage: errorMessage },
173
+ react_1.default.createElement(EntitySelector_1.default, { className: (0, classnames_1.default)(styles.item, (_b = {},
174
+ _b[styles.dense] = errorMessage ||
175
+ (connection.entity && (0, mdm_sdk_1.isTempUri)(connection.entity.entityUri)),
176
+ _b)), entity: connection.entity || {}, entityTypesUris: getEntityTypesUris() || [], max: config.max || 20, globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, onChange: onChangeEntity, onCreate: onCreateEntity, metadata: metadata, attributeTypesSelectionStrategy: mdm_sdk_1.relationEditorAttributeTypesSelectionStrategy }))),
177
177
  react_1.default.createElement(AttributesList_1.default, { className: styles.item, attrTypes: firstLevelRelationAttrTypes, entity: attributeListEntity, showEmptyEditors: true, crosswalks: connection.crosswalks, mode: mode, parentUri: relationUri, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onDeleteAttribute })))),
178
178
  react_1.default.createElement("div", { className: styles.actionButtons },
179
179
  react_1.default.createElement(Button_1.default, { onClick: onCancel }, ui_i18n_1.default.text('Cancel')),
@@ -190,6 +190,17 @@ RelationEditor.propTypes = {
190
190
  metadata: mdm_sdk_1.MetadataType,
191
191
  globalSearchRequestOptions: prop_types_1.default.object,
192
192
  error: mdm_sdk_1.AttributeErrorType,
193
- parentEntityUri: prop_types_1.default.string
193
+ parentEntityUri: prop_types_1.default.string,
194
+ highlightedError: prop_types_1.default.object
194
195
  };
195
- exports.default = RelationEditor;
196
+ exports.default = (0, HOCs_1.withContext)(contexts_1.ScrollToErrorContext, function (contextValue, _a) {
197
+ var connection = _a.connection;
198
+ var _b = (contextValue || {}).error, error = _b === void 0 ? {} : _b;
199
+ var _c = connection.relation, relationUri = _c.relationUri, relationType = _c.relationType;
200
+ var isHighlighted = (0, ramda_1.allPass)([
201
+ (0, ramda_1.pipe)((0, ramda_1.prop)('uri'), mdm_sdk_1.isEmptyValue),
202
+ (0, ramda_1.propEq)('parentUri', relationUri),
203
+ (0, ramda_1.propEq)('attributeTypeUri', relationType)
204
+ ])(error);
205
+ return { highlightedError: isHighlighted ? contextValue : null };
206
+ }, RelationEditor);
@@ -1,155 +1,6 @@
1
1
  export { RelationEditor };
2
- declare const _default: import("react-redux").ConnectedComponent<{
3
- ({ connection, modifiedEntity, allModifiedEntities, dispatch, config, mode, metadata, globalSearchRequestOptions, error }: {
4
- connection: any;
5
- modifiedEntity: any;
6
- allModifiedEntities: any;
7
- dispatch: any;
8
- config: any;
9
- mode: any;
10
- metadata: any;
11
- globalSearchRequestOptions: any;
12
- error: any;
13
- }): JSX.Element;
14
- propTypes: {
15
- connection: import("prop-types").Requireable<import("prop-types").InferProps<{
16
- entity: import("prop-types").Requireable<import("prop-types").InferProps<{
17
- entityUri: import("prop-types").Requireable<string>;
18
- entityType: import("prop-types").Requireable<string>;
19
- entityLabel: import("prop-types").Requireable<string>;
20
- object: import("prop-types").Requireable<import("prop-types").InferProps<{
21
- uri: import("prop-types").Requireable<string>;
22
- type: import("prop-types").Requireable<string>;
23
- }>>;
24
- }>>;
25
- relation: import("prop-types").Requireable<import("prop-types").InferProps<{
26
- relationUri: import("prop-types").Requireable<string>;
27
- relationType: import("prop-types").Requireable<string>;
28
- relationLabel: import("prop-types").Requireable<string>;
29
- direction: import("prop-types").Requireable<string>;
30
- object: import("prop-types").Requireable<import("prop-types").InferProps<{
31
- uri: import("prop-types").Requireable<string>;
32
- type: import("prop-types").Requireable<string>;
33
- }>>;
34
- }>>;
35
- }>>;
36
- modifiedEntity: import("prop-types").Requireable<import("prop-types").InferProps<{
37
- uri: import("prop-types").Requireable<string>;
38
- type: import("prop-types").Requireable<string>;
39
- }>>;
40
- allModifiedEntities: import("prop-types").Requireable<object>;
41
- dispatch: import("prop-types").Requireable<(...args: any[]) => any>;
42
- config: import("prop-types").Requireable<import("prop-types").InferProps<{
43
- id: import("prop-types").Requireable<string>;
44
- content: import("prop-types").Requireable<import("prop-types").InferProps<{
45
- inRelations: import("prop-types").Requireable<NonNullable<string | object>[]>;
46
- outRelations: import("prop-types").Requireable<NonNullable<string | object>[]>;
47
- groups: import("prop-types").Requireable<string[]>;
48
- entityTypes: import("prop-types").Requireable<string[]>;
49
- nextEntry: import("prop-types").Requireable<object>;
50
- }>>;
51
- allowOnlyCreateNew: import("prop-types").Requireable<boolean>;
52
- sortColumn: import("prop-types").Requireable<string>;
53
- sortOrder: import("prop-types").Requireable<string>;
54
- 'text-empty': import("prop-types").Requireable<string>;
55
- max: import("prop-types").Requireable<number>;
56
- icon: import("prop-types").Requireable<string>;
57
- caption: import("prop-types").Requireable<string>;
58
- canCreate: import("prop-types").Requireable<import("prop-types").InferProps<{
59
- deviceTypes: import("prop-types").Requireable<NonNullable<string | string[]>>;
60
- roles: import("prop-types").Requireable<string[]>;
61
- }>>;
62
- canRead: import("prop-types").Requireable<import("prop-types").InferProps<{
63
- deviceTypes: import("prop-types").Requireable<NonNullable<string | string[]>>;
64
- roles: import("prop-types").Requireable<string[]>;
65
- }>>;
66
- canUpdate: import("prop-types").Requireable<import("prop-types").InferProps<{
67
- deviceTypes: import("prop-types").Requireable<NonNullable<string | string[]>>;
68
- roles: import("prop-types").Requireable<string[]>;
69
- }>>;
70
- canDelete: import("prop-types").Requireable<import("prop-types").InferProps<{
71
- deviceTypes: import("prop-types").Requireable<NonNullable<string | string[]>>;
72
- roles: import("prop-types").Requireable<string[]>;
73
- }>>;
74
- editingEnabled: import("prop-types").Requireable<boolean>;
75
- }>>;
76
- mode: import("prop-types").Requireable<string>;
77
- metadata: import("prop-types").Requireable<import("prop-types").InferProps<{
78
- uri: import("prop-types").Requireable<string>;
79
- description: import("prop-types").Requireable<string>;
80
- label: import("prop-types").Requireable<string>;
81
- schemaVersion: import("prop-types").Requireable<string>;
82
- entityTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
83
- typeColor: import("prop-types").Requireable<string>;
84
- typeIcon: import("prop-types").Requireable<string>;
85
- typeImage: import("prop-types").Requireable<string>;
86
- label: import("prop-types").Requireable<string>;
87
- uri: import("prop-types").Requireable<string>;
88
- attributes: import("prop-types").Requireable<import("prop-types").InferProps<{
89
- label: import("prop-types").Requireable<string>;
90
- name: import("prop-types").Requireable<string>;
91
- description: import("prop-types").Requireable<string>;
92
- type: import("prop-types").Requireable<string>;
93
- hidden: import("prop-types").Requireable<boolean>;
94
- faceted: import("prop-types").Requireable<boolean>;
95
- searchable: import("prop-types").Requireable<boolean>;
96
- uri: import("prop-types").Requireable<string>;
97
- access: import("prop-types").Requireable<string[]>;
98
- cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
99
- minValue: import("prop-types").Requireable<number>;
100
- maxValue: import("prop-types").Requireable<number>;
101
- }>>;
102
- }>[]>;
103
- }>[]>;
104
- roles: import("prop-types").Requireable<object[]>;
105
- groupTypes: import("prop-types").Requireable<object[]>;
106
- relationTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
107
- label: import("prop-types").Requireable<string>;
108
- uri: import("prop-types").Requireable<string>;
109
- typeColor: import("prop-types").Requireable<string>;
110
- direction: import("prop-types").Requireable<string>;
111
- startObject: import("prop-types").Requireable<object>;
112
- endObject: import("prop-types").Requireable<object>;
113
- }>[]>;
114
- graphTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
115
- uri: import("prop-types").Requireable<string>;
116
- label: import("prop-types").Requireable<string>;
117
- extendsTypeUri: import("prop-types").Requireable<string>;
118
- relationshipTypeURIs: import("prop-types").Requireable<string[]>;
119
- }>[]>;
120
- interactionTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
121
- uri: import("prop-types").Requireable<string>;
122
- label: import("prop-types").Requireable<string>;
123
- memberTypes: import("prop-types").Requireable<any[]>;
124
- extendsTypeUri: import("prop-types").Requireable<string>;
125
- attributes: import("prop-types").Requireable<import("prop-types").InferProps<{
126
- label: import("prop-types").Requireable<string>;
127
- name: import("prop-types").Requireable<string>;
128
- description: import("prop-types").Requireable<string>;
129
- type: import("prop-types").Requireable<string>;
130
- hidden: import("prop-types").Requireable<boolean>;
131
- faceted: import("prop-types").Requireable<boolean>;
132
- searchable: import("prop-types").Requireable<boolean>;
133
- uri: import("prop-types").Requireable<string>;
134
- access: import("prop-types").Requireable<string[]>;
135
- cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
136
- minValue: import("prop-types").Requireable<number>;
137
- maxValue: import("prop-types").Requireable<number>;
138
- }>>;
139
- }>[]>;
140
- }>[]>;
141
- sources: import("prop-types").Requireable<object[]>;
142
- }>>;
143
- globalSearchRequestOptions: import("prop-types").Requireable<object>;
144
- error: import("prop-types").Requireable<import("prop-types").InferProps<{
145
- type: import("prop-types").Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
146
- attributeTypeUri: import("prop-types").Validator<string>;
147
- parentUri: import("prop-types").Validator<string>;
148
- uri: import("prop-types").Requireable<string>;
149
- message: import("prop-types").Requireable<string>;
150
- }>>;
151
- parentEntityUri: import("prop-types").Requireable<string>;
152
- };
153
- }, any>;
2
+ declare const _default: import("react-redux").ConnectedComponent<import("react").ComponentType<{
3
+ [x: string]: unknown;
4
+ }> | ((props: any) => JSX.Element), any>;
154
5
  export default _default;
155
6
  import RelationEditor from "./RelationEditor";
@@ -6,7 +6,8 @@ exports.useStyles = (0, styles_1.makeStyles)({
6
6
  editor: {
7
7
  display: 'flex',
8
8
  flexDirection: 'column',
9
- padding: '0 24px 5px'
9
+ padding: '0 24px 5px',
10
+ overflowX: 'hidden'
10
11
  },
11
12
  title: {
12
13
  color: 'rgba(0, 0, 0, 0.6)',
@@ -1,9 +1,13 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { AttributeValue, NestedAttributeValue, ReferenceAttributeValue, SimpleAttributeValue } from '@reltio/mdm-sdk';
3
3
  import { AttributePagerProps } from './index';
4
- declare type Props = Required<Omit<AttributePagerProps, 'values'>> & {
5
- values: (SimpleAttributeValue | NestedAttributeValue | ReferenceAttributeValue)[];
4
+ declare const _default: React.ComponentType<Required<Omit<AttributePagerProps, "values">> & {
5
+ values?: (SimpleAttributeValue | NestedAttributeValue | ReferenceAttributeValue)[];
6
6
  nonVisibleValues: AttributeValue[];
7
- };
8
- declare const AttributeRenderer: ({ max, values, attributeType, parentUri, mode, drawLines, showEmptyEditors, errorMessage, errors, paging, crosswalks, showNonOv, nonVisibleValues, onAddAttributes, onDeleteAttribute, onChangeAttribute, onDeactivateError, additionalControlsRenderer, requestNextPageOfAttributeValues }: Props) => JSX.Element;
9
- export default AttributeRenderer;
7
+ highlightedError?: {
8
+ error: import("@reltio/mdm-sdk").AttributeError;
9
+ highlightError: (error: import("@reltio/mdm-sdk").AttributeError) => void;
10
+ scrollIntoRef: (ref: React.MutableRefObject<HTMLDivElement>) => void;
11
+ };
12
+ }> | ((props: any) => JSX.Element);
13
+ export default _default;
@@ -27,26 +27,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = __importStar(require("react"));
30
+ var classnames_1 = __importDefault(require("classnames"));
30
31
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
31
32
  var ramda_1 = require("ramda");
32
33
  var BranchDecorator_1 = __importDefault(require("../../BranchDecorator/BranchDecorator"));
33
34
  var ErrorMessage_1 = __importDefault(require("../../../ErrorWrapper/ErrorMessage"));
34
35
  var Title_1 = __importDefault(require("../../../Title/Title"));
36
+ var OvIcon_1 = __importDefault(require("../../OvIcon"));
35
37
  var ShowLess_1 = __importDefault(require("../../pagersCommon/ShowLess"));
36
38
  var ShowMore_1 = __importDefault(require("../../pagersCommon/ShowMore"));
37
39
  var Attribute_1 = __importDefault(require("../AttributesFactory/Attribute"));
38
40
  var CardinalityMessage_1 = __importDefault(require("./CardinalityMessage"));
39
- var styles_1 = require("./styles");
40
41
  var utils_1 = require("./utils");
42
+ var HOCs_1 = require("../../../../HOCs");
41
43
  var PinnedAttributesContext_1 = require("../contexts/PinnedAttributesContext");
42
- var OvIcon_1 = __importDefault(require("../../OvIcon"));
44
+ var hooks_1 = require("../../../../hooks");
45
+ var contexts_1 = require("../../../../contexts");
46
+ var styles_1 = require("./styles");
43
47
  var AttributeRenderer = function (_a) {
44
- var max = _a.max, values = _a.values, attributeType = _a.attributeType, parentUri = _a.parentUri, mode = _a.mode, drawLines = _a.drawLines, showEmptyEditors = _a.showEmptyEditors, errorMessage = _a.errorMessage, errors = _a.errors, paging = _a.paging, crosswalks = _a.crosswalks, showNonOv = _a.showNonOv, nonVisibleValues = _a.nonVisibleValues, onAddAttributes = _a.onAddAttributes, onDeleteAttribute = _a.onDeleteAttribute, onChangeAttribute = _a.onChangeAttribute, onDeactivateError = _a.onDeactivateError, additionalControlsRenderer = _a.additionalControlsRenderer, requestNextPageOfAttributeValues = _a.requestNextPageOfAttributeValues;
48
+ var max = _a.max, values = _a.values, attributeType = _a.attributeType, parentUri = _a.parentUri, mode = _a.mode, drawLines = _a.drawLines, showEmptyEditors = _a.showEmptyEditors, errorMessage = _a.errorMessage, errors = _a.errors, paging = _a.paging, crosswalks = _a.crosswalks, showNonOv = _a.showNonOv, nonVisibleValues = _a.nonVisibleValues, highlightedError = _a.highlightedError, onAddAttributes = _a.onAddAttributes, onDeleteAttribute = _a.onDeleteAttribute, onChangeAttribute = _a.onChangeAttribute, onDeactivateError = _a.onDeactivateError, additionalControlsRenderer = _a.additionalControlsRenderer, requestNextPageOfAttributeValues = _a.requestNextPageOfAttributeValues;
45
49
  var styles = (0, styles_1.useStyles)();
46
50
  var _b = (0, react_1.useState)(max), visibleValuesCount = _b[0], setVisibleValuesCount = _b[1];
47
51
  var _c = (0, react_1.useState)(false), hadDeletions = _c[0], setHadDeletions = _c[1];
48
52
  var label = attributeType.label, isRequired = attributeType.required, cardinality = attributeType.cardinality, name = attributeType.name, attributeTypeUri = attributeType.uri;
49
53
  var isEditableMode = (0, mdm_sdk_1.isEditableMode)(mode);
54
+ var _d = (0, hooks_1.useScrollToAttributeError)({ highlightedError: highlightedError }), ref = _d.ref, errorClassName = _d.errorClassName;
50
55
  var pinnedAttributes = (0, react_1.useContext)(PinnedAttributesContext_1.PinnedAttributesContext);
51
56
  var isPinned = (0, react_1.useMemo)(function () { return pinnedAttributes === null || pinnedAttributes === void 0 ? void 0 : pinnedAttributes.includes(attributeTypeUri); }, [attributeTypeUri, pinnedAttributes]);
52
57
  var isEmptyValues = (0, mdm_sdk_1.isEmptyValue)(values);
@@ -102,7 +107,7 @@ var AttributeRenderer = function (_a) {
102
107
  var lastIndex = shownValues ? shownValues.length - 1 : 0;
103
108
  var hiddenValuesCount = totalVisibleValues - visibleValuesCount;
104
109
  return (react_1.default.createElement(BranchDecorator_1.default, { enabled: drawLines },
105
- react_1.default.createElement("div", { className: styles.wrapper },
110
+ react_1.default.createElement("div", { ref: ref, className: (0, classnames_1.default)(styles.wrapper, errorClassName) },
106
111
  react_1.default.createElement("div", { className: styles.titleWrapper },
107
112
  react_1.default.createElement(Title_1.default, { label: label, isRequired: isRequired, className: styles.title, "data-reltio-id": "reltio-attribute-label" }),
108
113
  react_1.default.createElement(OvIcon_1.default, { nonOvValues: nonVisibleValues, attributeType: attributeType, className: styles.ovIcon, nonOvTotal: totalNonVisibleValues })),
@@ -113,4 +118,13 @@ var AttributeRenderer = function (_a) {
113
118
  showMore && (react_1.default.createElement(ShowMore_1.default, { moreNumber: (0, ramda_1.min)(max, hiddenValuesCount), valueNumber: hiddenValuesCount, onClick: onShowMore })),
114
119
  showLess && react_1.default.createElement(ShowLess_1.default, { onClick: onShowLess })))));
115
120
  };
116
- exports.default = AttributeRenderer;
121
+ exports.default = (0, HOCs_1.withContext)(contexts_1.ScrollToErrorContext, function (contextValue, _a) {
122
+ var parentUri = _a.parentUri, attributeType = _a.attributeType;
123
+ var error = (contextValue || {}).error;
124
+ var isHighlighted = (0, ramda_1.allPass)([
125
+ (0, ramda_1.pipe)((0, ramda_1.prop)('uri'), mdm_sdk_1.isEmptyValue),
126
+ (0, ramda_1.propEq)('parentUri', parentUri),
127
+ (0, ramda_1.propEq)('attributeTypeUri', attributeType.uri)
128
+ ])(error);
129
+ return { highlightedError: isHighlighted ? contextValue : null };
130
+ }, AttributeRenderer);
@@ -1 +1 @@
1
- export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"caption" | "title" | "link" | "wrapper" | "ovIcon" | "svg-icon__root" | "attributesWrapper" | "typeError" | "titleWrapper">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"caption" | "title" | "link" | "wrapper" | "ovIcon" | "svg-icon__root" | "attributesWrapper" | "typeError" | "titleWrapper">;
@@ -10,7 +10,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
10
10
  wrapper: {
11
11
  display: 'flex',
12
12
  flexDirection: 'column',
13
- alignItems: 'flex-start'
13
+ alignItems: 'flex-start',
14
+ position: 'relative'
14
15
  },
15
16
  attributesWrapper: {
16
17
  width: '100%',
@@ -1 +1,2 @@
1
- export const filterNewValues: any;
1
+ declare const filterNewValues: any;
2
+ export { filterNewValues };
@@ -4,6 +4,7 @@ exports.useStyles = void 0;
4
4
  var styles_1 = require("@material-ui/core/styles");
5
5
  exports.useStyles = (0, styles_1.makeStyles)({
6
6
  attributesContainer: {
7
+ overflow: 'hidden',
7
8
  padding: '0 16px 16px 16px'
8
9
  },
9
10
  header: {
@@ -1,160 +1,5 @@
1
- export default ComplexAttribute;
2
- declare function ComplexAttribute({ label, attributeTypesList, attributeType, attributeValue, children, errors, ownError, mode, metadata, crosswalks, lazy, showEmptyEditors, onAddOneMore, onAddAttributes, onDeleteAttribute, onChangeAttribute, additionalControlsRenderer, hideDeleteButton, state, showNonOv, expanded: expandedProp }: {
3
- label: any;
4
- attributeTypesList: any;
5
- attributeType: any;
6
- attributeValue: any;
7
- children: any;
8
- errors: any;
9
- ownError: any;
10
- mode: any;
11
- metadata: any;
12
- crosswalks: any;
13
- lazy: any;
14
- showEmptyEditors: any;
15
- onAddOneMore: any;
16
- onAddAttributes: any;
17
- onDeleteAttribute: any;
18
- onChangeAttribute: any;
19
- additionalControlsRenderer: any;
20
- hideDeleteButton: any;
21
- state: any;
22
- showNonOv: any;
23
- expanded?: boolean;
24
- }): JSX.Element;
25
- declare namespace ComplexAttribute {
26
- const propTypes: {
27
- attributeType: PropTypes.Requireable<PropTypes.InferProps<{
28
- label: PropTypes.Requireable<string>;
29
- name: PropTypes.Requireable<string>;
30
- description: PropTypes.Requireable<string>;
31
- type: PropTypes.Requireable<string>;
32
- hidden: PropTypes.Requireable<boolean>;
33
- faceted: PropTypes.Requireable<boolean>;
34
- searchable: PropTypes.Requireable<boolean>;
35
- uri: PropTypes.Requireable<string>;
36
- access: PropTypes.Requireable<string[]>;
37
- cardinality: PropTypes.Requireable<PropTypes.InferProps<{
38
- minValue: PropTypes.Requireable<number>;
39
- maxValue: PropTypes.Requireable<number>;
40
- }>>;
41
- }>>;
42
- showEmptyEditors: PropTypes.Requireable<boolean>;
43
- lazy: PropTypes.Requireable<boolean>;
44
- mode: PropTypes.Requireable<any>;
45
- metadata: PropTypes.Requireable<PropTypes.InferProps<{
46
- uri: PropTypes.Requireable<string>;
47
- description: PropTypes.Requireable<string>;
48
- label: PropTypes.Requireable<string>;
49
- schemaVersion: PropTypes.Requireable<string>;
50
- entityTypes: PropTypes.Requireable<PropTypes.InferProps<{
51
- typeColor: PropTypes.Requireable<string>;
52
- typeIcon: PropTypes.Requireable<string>;
53
- typeImage: PropTypes.Requireable<string>;
54
- label: PropTypes.Requireable<string>;
55
- uri: 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
- roles: PropTypes.Requireable<object[]>;
73
- groupTypes: PropTypes.Requireable<object[]>;
74
- relationTypes: PropTypes.Requireable<PropTypes.InferProps<{
75
- label: PropTypes.Requireable<string>;
76
- uri: PropTypes.Requireable<string>;
77
- typeColor: PropTypes.Requireable<string>;
78
- direction: PropTypes.Requireable<string>;
79
- startObject: PropTypes.Requireable<object>;
80
- endObject: PropTypes.Requireable<object>;
81
- }>[]>;
82
- graphTypes: PropTypes.Requireable<PropTypes.InferProps<{
83
- uri: PropTypes.Requireable<string>;
84
- label: PropTypes.Requireable<string>;
85
- extendsTypeUri: PropTypes.Requireable<string>;
86
- relationshipTypeURIs: PropTypes.Requireable<string[]>;
87
- }>[]>;
88
- interactionTypes: PropTypes.Requireable<PropTypes.InferProps<{
89
- uri: PropTypes.Requireable<string>;
90
- label: PropTypes.Requireable<string>;
91
- memberTypes: PropTypes.Requireable<any[]>;
92
- extendsTypeUri: PropTypes.Requireable<string>;
93
- attributes: PropTypes.Requireable<PropTypes.InferProps<{
94
- label: PropTypes.Requireable<string>;
95
- name: PropTypes.Requireable<string>;
96
- description: PropTypes.Requireable<string>;
97
- type: PropTypes.Requireable<string>;
98
- hidden: PropTypes.Requireable<boolean>;
99
- faceted: PropTypes.Requireable<boolean>;
100
- searchable: PropTypes.Requireable<boolean>;
101
- uri: PropTypes.Requireable<string>;
102
- access: PropTypes.Requireable<string[]>;
103
- cardinality: PropTypes.Requireable<PropTypes.InferProps<{
104
- minValue: PropTypes.Requireable<number>;
105
- maxValue: PropTypes.Requireable<number>;
106
- }>>;
107
- }>[]>;
108
- }>[]>;
109
- sources: PropTypes.Requireable<object[]>;
110
- }>>;
111
- ownError: PropTypes.Requireable<PropTypes.InferProps<{
112
- type: PropTypes.Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
113
- attributeTypeUri: PropTypes.Validator<string>;
114
- parentUri: PropTypes.Validator<string>;
115
- uri: PropTypes.Requireable<string>;
116
- message: PropTypes.Requireable<string>;
117
- }>>;
118
- errors: PropTypes.Requireable<PropTypes.InferProps<{
119
- type: PropTypes.Validator<NonNullable<import("@reltio/mdm-sdk").ErrorType>>;
120
- attributeTypeUri: PropTypes.Validator<string>;
121
- parentUri: PropTypes.Validator<string>;
122
- uri: PropTypes.Requireable<string>;
123
- message: PropTypes.Requireable<string>;
124
- }>[]>;
125
- crosswalks: PropTypes.Requireable<any[]>;
126
- onAddAttributes: PropTypes.Requireable<(...args: any[]) => any>;
127
- onAddOneMore: PropTypes.Requireable<(...args: any[]) => any>;
128
- onDeleteAttribute: PropTypes.Requireable<(...args: any[]) => any>;
129
- onChangeAttribute: PropTypes.Requireable<(...args: any[]) => any>;
130
- additionalControlsRenderer: PropTypes.Requireable<(...args: any[]) => any>;
131
- hideDeleteButton: PropTypes.Requireable<boolean>;
132
- showNonOv: PropTypes.Requireable<boolean>;
133
- state: PropTypes.Requireable<string>;
134
- expanded: PropTypes.Requireable<boolean>;
135
- label: PropTypes.Requireable<string>;
136
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
137
- attributeTypesList: PropTypes.Requireable<PropTypes.InferProps<{
138
- label: PropTypes.Requireable<string>;
139
- name: PropTypes.Requireable<string>;
140
- description: PropTypes.Requireable<string>;
141
- type: PropTypes.Requireable<string>;
142
- hidden: PropTypes.Requireable<boolean>;
143
- faceted: PropTypes.Requireable<boolean>;
144
- searchable: PropTypes.Requireable<boolean>;
145
- uri: PropTypes.Requireable<string>;
146
- access: PropTypes.Requireable<string[]>;
147
- cardinality: PropTypes.Requireable<PropTypes.InferProps<{
148
- minValue: PropTypes.Requireable<number>;
149
- maxValue: PropTypes.Requireable<number>;
150
- }>>;
151
- }>[]>;
152
- attributeValue: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
153
- value: PropTypes.Requireable<object>;
154
- ov: PropTypes.Requireable<boolean>;
155
- type: PropTypes.Requireable<string>;
156
- uri: PropTypes.Requireable<string>;
157
- }>>>;
158
- };
159
- }
160
- import PropTypes from "prop-types";
1
+ declare const _default: React.ComponentType<{
2
+ [x: string]: unknown;
3
+ }> | ((props: any) => JSX.Element);
4
+ export default _default;
5
+ import React from "react";