@reltio/components 1.4.886 → 1.4.891

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 (81) hide show
  1. package/cjs/components/ConfigureColumnsPopup/ConfigureColumnsPopup.js +17 -14
  2. package/cjs/components/DropDownSelector/DropDownSelector.d.ts +3 -1
  3. package/cjs/components/DropDownSelector/DropDownSelector.js +5 -3
  4. package/cjs/components/EntityTypesSelector/styles.d.ts +1 -1
  5. package/cjs/components/ErrorWrapper/styles.d.ts +1 -1
  6. package/cjs/components/MatchRulesBlock/MatchRulesBlock.d.ts +5 -2
  7. package/cjs/components/MatchRulesBlock/MatchRulesBlock.js +2 -11
  8. package/cjs/components/ProfileCard/ProfileCard.d.ts +11 -19
  9. package/cjs/components/ProfileCard/ProfileCard.js +3 -12
  10. package/cjs/components/ProfileCard/styles.d.ts +1 -1
  11. package/cjs/components/ProfileMatchCard/ProfileMatchCard.d.ts +13 -0
  12. package/cjs/components/ProfileMatchCard/ProfileMatchCard.js +21 -0
  13. package/cjs/components/ProfileMatchCard/styles.d.ts +1 -0
  14. package/cjs/components/ProfileMatchCard/styles.js +28 -0
  15. package/cjs/components/attributes/editMode/AttributesPager/SpecialRenderer.js +2 -2
  16. package/cjs/components/attributes/editMode/Roles/Roles.d.ts +6 -0
  17. package/cjs/components/attributes/editMode/Roles/Roles.js +64 -0
  18. package/cjs/components/attributes/editMode/Roles/styles.d.ts +1 -0
  19. package/cjs/components/attributes/editMode/Roles/styles.js +10 -0
  20. package/cjs/components/crosswalks/CrosswalkDateEditor/CrosswalkDateEditor.js +1 -4
  21. package/cjs/components/editors/DateEditor/DateEditor.d.ts +14 -21
  22. package/cjs/components/editors/DateEditor/DateEditor.js +10 -19
  23. package/cjs/components/editors/DateEditor/styles.d.ts +1 -1
  24. package/cjs/components/editors/DateRangeEditor/styles.d.ts +1 -1
  25. package/cjs/components/editors/TimestampEditor/TimestampEditor.d.ts +18 -21
  26. package/cjs/components/editors/TimestampEditor/TimestampEditor.js +9 -19
  27. package/cjs/components/editors/TimestampEditor/styles.d.ts +1 -1
  28. package/cjs/components/index.d.ts +1 -0
  29. package/cjs/components/index.js +3 -1
  30. package/cjs/components/workflow/components/DueDateField/styles.d.ts +1 -1
  31. package/cjs/constants/prop-types.d.ts +0 -1
  32. package/cjs/constants/prop-types.js +1 -3
  33. package/cjs/hooks/helpers/pagingSimulator.d.ts +12 -0
  34. package/cjs/hooks/helpers/pagingSimulator.js +86 -0
  35. package/cjs/hooks/index.d.ts +2 -0
  36. package/cjs/hooks/index.js +5 -1
  37. package/cjs/hooks/useMatchesLoader.d.ts +27 -0
  38. package/cjs/hooks/useMatchesLoader.js +106 -0
  39. package/cjs/hooks/usePagingSimulator.d.ts +10 -0
  40. package/cjs/hooks/usePagingSimulator.js +10 -0
  41. package/esm/components/ConfigureColumnsPopup/ConfigureColumnsPopup.js +17 -14
  42. package/esm/components/DropDownSelector/DropDownSelector.d.ts +3 -1
  43. package/esm/components/DropDownSelector/DropDownSelector.js +5 -3
  44. package/esm/components/EntityTypesSelector/styles.d.ts +1 -1
  45. package/esm/components/ErrorWrapper/styles.d.ts +1 -1
  46. package/esm/components/MatchRulesBlock/MatchRulesBlock.d.ts +5 -2
  47. package/esm/components/MatchRulesBlock/MatchRulesBlock.js +3 -12
  48. package/esm/components/ProfileCard/ProfileCard.d.ts +11 -19
  49. package/esm/components/ProfileCard/ProfileCard.js +4 -13
  50. package/esm/components/ProfileCard/styles.d.ts +1 -1
  51. package/esm/components/ProfileMatchCard/ProfileMatchCard.d.ts +13 -0
  52. package/esm/components/ProfileMatchCard/ProfileMatchCard.js +14 -0
  53. package/esm/components/ProfileMatchCard/styles.d.ts +1 -0
  54. package/esm/components/ProfileMatchCard/styles.js +25 -0
  55. package/esm/components/attributes/editMode/AttributesPager/SpecialRenderer.js +1 -1
  56. package/esm/components/attributes/editMode/Roles/Roles.d.ts +6 -0
  57. package/esm/components/attributes/editMode/Roles/Roles.js +38 -0
  58. package/esm/components/attributes/editMode/Roles/styles.d.ts +1 -0
  59. package/esm/components/attributes/editMode/Roles/styles.js +7 -0
  60. package/esm/components/crosswalks/CrosswalkDateEditor/CrosswalkDateEditor.js +1 -4
  61. package/esm/components/editors/DateEditor/DateEditor.d.ts +14 -21
  62. package/esm/components/editors/DateEditor/DateEditor.js +10 -19
  63. package/esm/components/editors/DateEditor/styles.d.ts +1 -1
  64. package/esm/components/editors/DateRangeEditor/styles.d.ts +1 -1
  65. package/esm/components/editors/TimestampEditor/TimestampEditor.d.ts +18 -21
  66. package/esm/components/editors/TimestampEditor/TimestampEditor.js +9 -19
  67. package/esm/components/editors/TimestampEditor/styles.d.ts +1 -1
  68. package/esm/components/index.d.ts +1 -0
  69. package/esm/components/index.js +1 -0
  70. package/esm/components/workflow/components/DueDateField/styles.d.ts +1 -1
  71. package/esm/constants/prop-types.d.ts +0 -1
  72. package/esm/constants/prop-types.js +1 -2
  73. package/esm/hooks/helpers/pagingSimulator.d.ts +12 -0
  74. package/esm/hooks/helpers/pagingSimulator.js +82 -0
  75. package/esm/hooks/index.d.ts +2 -0
  76. package/esm/hooks/index.js +2 -0
  77. package/esm/hooks/useMatchesLoader.d.ts +27 -0
  78. package/esm/hooks/useMatchesLoader.js +99 -0
  79. package/esm/hooks/usePagingSimulator.d.ts +10 -0
  80. package/esm/hooks/usePagingSimulator.js +6 -0
  81. package/package.json +10 -3
@@ -75,20 +75,23 @@ var ConfigureColumnsPopup = function (_a) {
75
75
  filterItem
76
76
  ]);
77
77
  var getItemSize = function () { return ITEM_HEIGHT; };
78
- var getAttributeGroupData = react_1.useCallback(ramda_1.curry(function (level, item, groupId, groupName) { return __spreadArray([
79
- {
80
- item: __assign(__assign({}, item), { filterText: filterText }),
81
- level: level,
82
- groupId: groupId,
83
- groupName: groupName
84
- }
85
- ], getAttributesData(item.children || [], groupId, groupName, level + 1)); }), [getAttributesData, filterText]);
86
- var getAttributesData = react_1.useCallback(function (data, groupId, groupName, level) {
87
- if (level === void 0) { level = 0; }
88
- var getItemGroupData = function (item) { return getAttributeGroupData(level, item, groupId, groupName); };
89
- var filteredData = data.filter(filterItemsTree);
90
- return (renderGroupTitle ? ramda_1.map : ramda_1.chain)(getItemGroupData, filteredData);
91
- }, [renderGroupTitle, filterItemsTree, getAttributeGroupData]);
78
+ var getAttributesData = react_1.useMemo(function () {
79
+ var getAttributeGroupData = ramda_1.curry(function (level, item, groupId, groupName) { return __spreadArray([
80
+ {
81
+ item: __assign(__assign({}, item), { filterText: filterText }),
82
+ level: level,
83
+ groupId: groupId,
84
+ groupName: groupName
85
+ }
86
+ ], getAttributesData(item.children || [], groupId, groupName, level + 1)); });
87
+ var getAttributesData = function (data, groupId, groupName, level) {
88
+ if (level === void 0) { level = 0; }
89
+ var getItemGroupData = function (item) { return getAttributeGroupData(level, item, groupId, groupName); };
90
+ var filteredData = data.filter(filterItemsTree);
91
+ return (renderGroupTitle ? ramda_1.map : ramda_1.chain)(getItemGroupData, filteredData);
92
+ };
93
+ return getAttributesData;
94
+ }, [filterText, renderGroupTitle, filterItemsTree]);
92
95
  var getGroupsData = react_1.useCallback(function (groups) {
93
96
  return groups
94
97
  .map(function (group) { return ({
@@ -11,10 +11,11 @@ export namespace DropDownSelectorType {
11
11
  const textFieldInputRef: PropTypes.Requireable<object>;
12
12
  const TextFieldProps: PropTypes.Requireable<object>;
13
13
  const height: PropTypes.Requireable<number>;
14
+ const classes: PropTypes.Requireable<object>;
14
15
  }
15
16
  export default DropDownSelector;
16
17
  import PropTypes from "prop-types";
17
- declare function DropDownSelector({ value, label, createLabel, getOptions, options, height, onChange, onCreate, onClear, components, textFieldInputRef, TextFieldProps, ...otherProps }: {
18
+ declare function DropDownSelector({ value, label, createLabel, getOptions, options, height, onChange, onCreate, onClear, components, textFieldInputRef, TextFieldProps, classes, ...otherProps }: {
18
19
  [x: string]: any;
19
20
  value: any;
20
21
  label: any;
@@ -28,6 +29,7 @@ declare function DropDownSelector({ value, label, createLabel, getOptions, optio
28
29
  components: any;
29
30
  textFieldInputRef: any;
30
31
  TextFieldProps: any;
32
+ classes: any;
31
33
  }): JSX.Element;
32
34
  declare namespace DropDownSelector {
33
35
  export { DropDownSelectorType as propTypes };
@@ -60,7 +60,7 @@ var SingleValue_1 = __importDefault(require("./components/SingleValue"));
60
60
  var styles_1 = require("./styles");
61
61
  var DropDownSelector = function (_a) {
62
62
  var _b;
63
- var value = _a.value, label = _a.label, createLabel = _a.createLabel, getOptions = _a.getOptions, options = _a.options, _c = _a.height, height = _c === void 0 ? 46 : _c, _d = _a.onChange, onChange = _d === void 0 ? ramda_1.identity : _d, onCreate = _a.onCreate, _e = _a.onClear, onClear = _e === void 0 ? ramda_1.identity : _e, components = _a.components, textFieldInputRef = _a.textFieldInputRef, TextFieldProps = _a.TextFieldProps, otherProps = __rest(_a, ["value", "label", "createLabel", "getOptions", "options", "height", "onChange", "onCreate", "onClear", "components", "textFieldInputRef", "TextFieldProps"]);
63
+ var value = _a.value, label = _a.label, createLabel = _a.createLabel, getOptions = _a.getOptions, options = _a.options, _c = _a.height, height = _c === void 0 ? 46 : _c, _d = _a.onChange, onChange = _d === void 0 ? ramda_1.identity : _d, onCreate = _a.onCreate, _e = _a.onClear, onClear = _e === void 0 ? ramda_1.identity : _e, components = _a.components, textFieldInputRef = _a.textFieldInputRef, TextFieldProps = _a.TextFieldProps, classes = _a.classes, otherProps = __rest(_a, ["value", "label", "createLabel", "getOptions", "options", "height", "onChange", "onCreate", "onClear", "components", "textFieldInputRef", "TextFieldProps", "classes"]);
64
64
  var styles = styles_1.useStyles({ height: height });
65
65
  var underlineStyle = constants_1.useInputStyles();
66
66
  var _f = react_1.useState(false), open = _f[0], setOpen = _f[1];
@@ -78,7 +78,8 @@ var DropDownSelector = function (_a) {
78
78
  var overloadStylesIfGroup = ramda_1.prop('Group', components) ? styles_1.overloadMenuListStyle : {};
79
79
  var overloadStylesIfNoLabel = ramda_1.isEmpty(label) ? styles_1.withoutLabelInputStyle : {};
80
80
  var mergedStyles = __assign(__assign(__assign({}, styles_1.customStyles), overloadStylesIfGroup), overloadStylesIfNoLabel);
81
- return (react_1.default.createElement(SelectComponent, __assign({ placeholder: "", defaultOptions: true }, otherProps, { value: ramda_1.defaultTo(null, value), loadOptions: getOptions, options: options, cacheOptions: true, onChange: onChange, onCreate: handleCreate, onClear: onClear, createLabel: createLabel, classes: styles, styles: mergedStyles, components: __assign(__assign({ DropdownIndicator: DropdownIndicator_1.default, LoadingIndicator: core_1.EmptyStub, SingleValue: SingleValue_1.default,
81
+ var mergedClasses = __assign(__assign({}, styles), classes);
82
+ return (react_1.default.createElement(SelectComponent, __assign({ placeholder: "", defaultOptions: true }, otherProps, { value: ramda_1.defaultTo(null, value), loadOptions: getOptions, options: options, cacheOptions: true, onChange: onChange, onCreate: handleCreate, onClear: onClear, createLabel: createLabel, classes: mergedClasses, styles: mergedStyles, components: __assign(__assign({ DropdownIndicator: DropdownIndicator_1.default, LoadingIndicator: core_1.EmptyStub, SingleValue: SingleValue_1.default,
82
83
  Menu: Menu_1.default }, showIndicatorSeparator), components), menuPlacement: "auto", TextFieldProps: __assign(__assign({}, TextFieldProps), { label: label, variant: 'filled', margin: 'dense', classes: __assign(__assign({}, ramda_1.prop('classes', TextFieldProps)), { root: classnames_1.default(styles.formControl, ramda_1.path(['classes', 'root'], TextFieldProps)) }), inputProps: __assign({}, ramda_1.prop('inputProps', TextFieldProps)), InputProps: __assign(__assign({}, ramda_1.prop('InputProps', TextFieldProps)), { classes: __assign(__assign({}, ramda_1.path(['InputProps', 'classes'], TextFieldProps)), { root: classnames_1.default(styles.filledInputRoot, ramda_1.path(['InputProps', 'classes', 'root'], TextFieldProps)), underline: classnames_1.default((_b = {}, _b[underlineStyle.filledInputUnderline] = mdm_sdk_1.isEmptyValue(value), _b), ramda_1.path(['InputProps', 'classes', 'underline'], TextFieldProps)), focused: classnames_1.default('focused', ramda_1.path(['InputProps', 'classes', 'focused'], TextFieldProps)) }) }), InputLabelProps: __assign(__assign({}, ramda_1.prop('InputLabelProps', TextFieldProps)), { classes: __assign(__assign({}, ramda_1.path(['InputLabelProps', 'classes'], TextFieldProps)), { root: classnames_1.default(styles.inputLabel, ramda_1.path(['InputLabelProps', 'classes', 'root'], TextFieldProps)), shrink: classnames_1.default('shrink', ramda_1.path(['InputLabelProps', 'classes', 'shrink'], TextFieldProps)) }), shrink: !mdm_sdk_1.isEmptyValue(value) ? true : undefined }), ref: textFieldInputRef || inputRef }), inputRef: textFieldInputRef || inputRef, menuIsOpen: open, onMenuOpen: function () { return setOpen(true); }, onMenuClose: function () { return setOpen(false); } })));
83
84
  };
84
85
  exports.DropDownSelectorType = {
@@ -93,7 +94,8 @@ exports.DropDownSelectorType = {
93
94
  components: prop_types_1.default.object,
94
95
  textFieldInputRef: prop_types_1.default.object,
95
96
  TextFieldProps: prop_types_1.default.object,
96
- height: prop_types_1.default.number
97
+ height: prop_types_1.default.number,
98
+ classes: prop_types_1.default.object
97
99
  };
98
100
  DropDownSelector.propTypes = exports.DropDownSelectorType;
99
101
  exports.default = DropDownSelector;
@@ -1 +1 @@
1
- export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"icon" | "input" | "root" | "inputRoot" | "inputLabel" | "inputText" | "emptyInput" | "disabledInput" | "disabledPointer" | "disabledUnderline" | "popup-opened-icon">;
1
+ export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"icon" | "input" | "root" | "inputLabel" | "inputRoot" | "inputText" | "emptyInput" | "disabledInput" | "disabledPointer" | "disabledUnderline" | "popup-opened-icon">;
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"caption" | "wrapper" | "helperText">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"caption" | "helperText" | "wrapper">;
@@ -1,9 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { Entity, Metadata, PotentialMatch } from '@reltio/mdm-sdk';
3
3
  declare type Props = {
4
+ entitiesMap: {
5
+ [key: string]: Pick<Entity, 'uri' | 'type' | 'label'>;
6
+ };
4
7
  entity: Entity;
8
+ match: PotentialMatch;
5
9
  metadata: Metadata;
6
- transitiveMatches: PotentialMatch[];
7
10
  };
8
- declare const MatchRulesBlock: ({ entity, metadata, transitiveMatches }: Props) => JSX.Element;
11
+ declare const MatchRulesBlock: ({ entitiesMap, entity, match, metadata }: Props) => JSX.Element;
9
12
  export default MatchRulesBlock;
@@ -4,21 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
- var ramda_1 = require("ramda");
8
7
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
9
8
  var SimpleMatchRulesBlock_1 = __importDefault(require("./SimpleMatchRulesBlock/SimpleMatchRulesBlock"));
10
9
  var TransitiveMatchBlock_1 = __importDefault(require("./TransitiveMatchBlock/TransitiveMatchBlock"));
11
10
  var SimpleMatchRulesBuilder_1 = __importDefault(require("./SimpleMatchRulesBuilder/SimpleMatchRulesBuilder"));
12
11
  var MatchRulesBlock = function (_a) {
13
- var entity = _a.entity, metadata = _a.metadata, transitiveMatches = _a.transitiveMatches;
14
- var transitiveMatchRules = mdm_sdk_1.getTransitiveMatchesForEntity(metadata, transitiveMatches, entity);
15
- if (ramda_1.isEmpty(transitiveMatchRules)) {
16
- var entityMatchRules = mdm_sdk_1.getEntityMatchRules(entity);
17
- var matchRules = mdm_sdk_1.getMatchRules(metadata, entity.type, entityMatchRules);
18
- return react_1.default.createElement(SimpleMatchRulesBuilder_1.default, { matchRules: matchRules, Component: SimpleMatchRulesBlock_1.default });
19
- }
20
- else {
21
- return react_1.default.createElement(TransitiveMatchBlock_1.default, { transitiveMatchRules: transitiveMatchRules });
22
- }
12
+ var entitiesMap = _a.entitiesMap, entity = _a.entity, match = _a.match, metadata = _a.metadata;
13
+ return mdm_sdk_1.isTransitiveMatch(match) ? (react_1.default.createElement(TransitiveMatchBlock_1.default, { transitiveMatchRules: mdm_sdk_1.getTransitiveMatchRules(metadata, match, entitiesMap) })) : (react_1.default.createElement(SimpleMatchRulesBuilder_1.default, { matchRules: mdm_sdk_1.getMatchRules(metadata, entity.type, match.matchRules), Component: SimpleMatchRulesBlock_1.default }));
23
14
  };
24
15
  exports.default = MatchRulesBlock;
@@ -1,21 +1,13 @@
1
- declare var _default: React.MemoExoticComponent<{
2
- ({ entity, classes, ...otherProps }: {
3
- [x: string]: any;
4
- entity: any;
5
- classes?: {};
6
- }): JSX.Element;
7
- propTypes: {
8
- entity: PropTypes.Requireable<PropTypes.InferProps<{
9
- uri: PropTypes.Requireable<string>;
10
- type: PropTypes.Requireable<string>;
11
- }>>;
12
- classes: PropTypes.Requireable<PropTypes.InferProps<{
13
- label: PropTypes.Requireable<string>;
14
- secondaryLabel: PropTypes.Requireable<string>;
15
- container: PropTypes.Requireable<string>;
16
- }>>;
1
+ import React from 'react';
2
+ import { Entity } from '@reltio/mdm-sdk';
3
+ declare type Props = {
4
+ entity: Entity;
5
+ disableEntityTypeColor?: boolean;
6
+ classes?: {
7
+ label?: string;
8
+ secondaryLabel?: string;
9
+ container?: string;
17
10
  };
18
- }>;
11
+ } & React.HTMLAttributes<HTMLDivElement>;
12
+ declare const _default: React.MemoExoticComponent<({ entity, classes, disableEntityTypeColor, ...otherProps }: Props) => JSX.Element>;
19
13
  export default _default;
20
- import PropTypes from "prop-types";
21
- import React from "react";
@@ -45,7 +45,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  };
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  var react_1 = __importStar(require("react"));
48
- var prop_types_1 = __importDefault(require("prop-types"));
49
48
  var classnames_1 = __importDefault(require("classnames"));
50
49
  var react_redux_1 = require("react-redux");
51
50
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
@@ -56,7 +55,7 @@ var EntityUriLink_1 = __importDefault(require("../EntityUriLink/EntityUriLink"))
56
55
  var ExpandedValueTooltip_1 = __importDefault(require("../ExpandedValueTooltip/ExpandedValueTooltip"));
57
56
  var EntityTypeBadge_1 = __importDefault(require("../EntityTypeBadge/EntityTypeBadge"));
58
57
  var ProfileCard = function (_a) {
59
- var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b, otherProps = __rest(_a, ["entity", "classes"]);
58
+ var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b, disableEntityTypeColor = _a.disableEntityTypeColor, otherProps = __rest(_a, ["entity", "classes", "disableEntityTypeColor"]);
60
59
  var styles = styles_1.default();
61
60
  var secondaryLabelClass = classes.secondaryLabel, labelClass = classes.label, containerClass = classes.container;
62
61
  var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
@@ -65,7 +64,7 @@ var ProfileCard = function (_a) {
65
64
  var entityType = mdm_sdk_1.getEntityType(metadata, type) || {};
66
65
  var entityTypeColor = mdm_sdk_1.getPropWithInheritance(metadata, entityType, 'typeColor') || mdm_sdk_1.theme.palette.primary.main;
67
66
  return (react_1.default.createElement("div", __assign({ className: classnames_1.default(styles.container, containerClass) }, otherProps),
68
- react_1.default.createElement("div", { className: styles.colorBox, style: { backgroundColor: entityTypeColor } }),
67
+ react_1.default.createElement("div", { className: styles.colorBox, style: disableEntityTypeColor ? undefined : { backgroundColor: entityTypeColor } }),
69
68
  react_1.default.createElement(EntityAvatar_1.default, { entity: entity, avatarClassName: styles.avatar, imageClassName: styles.image }),
70
69
  react_1.default.createElement("div", { className: styles.info },
71
70
  react_1.default.createElement("div", { className: styles.firstRow },
@@ -73,17 +72,9 @@ var ProfileCard = function (_a) {
73
72
  react_1.default.createElement(ExpandedValueTooltip_1.default, { value: label, placement: "top", showOnExceededHeight: true },
74
73
  react_1.default.createElement("span", { className: classnames_1.default(styles.label, labelClass) }, label)))),
75
74
  react_1.default.createElement("div", { className: styles.secondRow }, secondaryLabel && (react_1.default.createElement(ExpandedValueTooltip_1.default, { value: secondaryLabel, placement: "top", showOnExceededHeight: true },
76
- react_1.default.createElement("span", { className: classnames_1.default(styles.secondaryLabel, secondaryLabelClass) }, secondaryLabel)))),
75
+ react_1.default.createElement("span", { className: secondaryLabelClass }, secondaryLabel)))),
77
76
  react_1.default.createElement("div", { className: styles.thirdRow },
78
77
  react_1.default.createElement(EntityTypeBadge_1.default, { entity: entity }),
79
78
  react_1.default.createElement("div", null, mdm_sdk_1.getEntityId(entity))))));
80
79
  };
81
- ProfileCard.propTypes = {
82
- entity: mdm_sdk_1.EntityType,
83
- classes: prop_types_1.default.shape({
84
- label: prop_types_1.default.string,
85
- secondaryLabel: prop_types_1.default.string,
86
- container: prop_types_1.default.string
87
- })
88
- };
89
80
  exports.default = react_1.memo(ProfileCard);
@@ -1,2 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "image" | "link" | "avatar" | "firstRow" | "container" | "colorBox" | "info" | "secondRow" | "thirdRow">;
1
2
  export default useStyles;
2
- declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "image" | "link" | "avatar" | "firstRow" | "container" | "info" | "colorBox" | "secondRow" | "thirdRow">;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { Entity, Metadata, PotentialMatch } from '@reltio/mdm-sdk';
3
+ declare type Props = {
4
+ entitiesMap: {
5
+ [key: string]: Pick<Entity, 'uri' | 'type' | 'label'>;
6
+ };
7
+ entity: Entity;
8
+ match: PotentialMatch;
9
+ metadata: Metadata;
10
+ children?: React.ReactNode;
11
+ };
12
+ export declare const ProfileMatchCard: ({ children, entitiesMap, entity, match, metadata }: Props) => JSX.Element;
13
+ export {};
@@ -0,0 +1,21 @@
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.ProfileMatchCard = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var styles_1 = require("./styles");
9
+ var ProfileCard_1 = __importDefault(require("../ProfileCard/ProfileCard"));
10
+ var MatchRulesBlock_1 = __importDefault(require("../MatchRulesBlock/MatchRulesBlock"));
11
+ var ProfileMatchCard = function (_a) {
12
+ var children = _a.children, entitiesMap = _a.entitiesMap, entity = _a.entity, match = _a.match, metadata = _a.metadata;
13
+ var styles = styles_1.useStyles();
14
+ return (react_1.default.createElement("div", { className: styles.root },
15
+ react_1.default.createElement("div", { className: styles.profileCardWrapper },
16
+ react_1.default.createElement(ProfileCard_1.default, { entity: match.object, classes: { container: styles.profileCardContainer }, disableEntityTypeColor: true }),
17
+ children),
18
+ react_1.default.createElement("div", { className: styles.rulesContainer },
19
+ react_1.default.createElement(MatchRulesBlock_1.default, { match: match, metadata: metadata, entitiesMap: entitiesMap, entity: entity }))));
20
+ };
21
+ exports.ProfileMatchCard = ProfileMatchCard;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"root" | "rulesContainer" | "profileCardWrapper" | "profileCardContainer">;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@material-ui/core/styles");
5
+ exports.useStyles = styles_1.makeStyles({
6
+ root: {
7
+ display: 'flex',
8
+ flexDirection: 'column',
9
+ paddingRight: '12px',
10
+ paddingTop: '8px',
11
+ paddingBottom: '8px',
12
+ '& + &': {
13
+ borderTop: '1px solid rgba(0,0,0, 0.12)'
14
+ }
15
+ },
16
+ profileCardWrapper: {
17
+ display: 'flex',
18
+ flexDirection: 'row',
19
+ alignItems: 'center',
20
+ gap: '4px'
21
+ },
22
+ profileCardContainer: {
23
+ flexGrow: 1
24
+ },
25
+ rulesContainer: {
26
+ paddingLeft: '40px'
27
+ }
28
+ });
@@ -51,8 +51,8 @@ var Title_1 = __importDefault(require("../../../Title/Title"));
51
51
  var CardinalityMessage_1 = __importDefault(require("./CardinalityMessage"));
52
52
  var ErrorMessage_1 = __importDefault(require("../../../ErrorWrapper/ErrorMessage"));
53
53
  var Attribute_1 = __importDefault(require("../AttributesFactory/Attribute"));
54
+ var Roles_1 = require("../Roles/Roles");
54
55
  var Tags_1 = __importDefault(require("../Tags"));
55
- var Roles_1 = __importDefault(require("../../readMode/SpecialAttributes/Roles")); //TODO: should be edit mode
56
56
  var styles_1 = require("./styles");
57
57
  var SpecialRenderer = function (_a) {
58
58
  var values = _a.values, attributeType = _a.attributeType, parentUri = _a.parentUri, mode = _a.mode, errorMessage = _a.errorMessage, otherProps = __rest(_a, ["values", "attributeType", "parentUri", "mode", "errorMessage"]);
@@ -68,7 +68,7 @@ var SpecialRenderer = function (_a) {
68
68
  case mdm_sdk_1.EntityAttrTypes.tags.uri:
69
69
  return react_1.default.createElement(Tags_1.default, { values: values });
70
70
  case mdm_sdk_1.EntityAttrTypes.roles.uri: {
71
- return react_1.default.createElement(Roles_1.default, { values: values });
71
+ return react_1.default.createElement(Roles_1.Roles, { values: values });
72
72
  }
73
73
  default: {
74
74
  //startDate, endDate
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ values: string[];
4
+ };
5
+ export declare const Roles: ({ values }: Props) => JSX.Element;
6
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.Roles = void 0;
26
+ var react_1 = __importDefault(require("react"));
27
+ var ramda_1 = require("ramda");
28
+ var react_redux_1 = require("react-redux");
29
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
30
+ var mdm_module_1 = __importStar(require("@reltio/mdm-module"));
31
+ var SimpleDropDownSelector_1 = __importDefault(require("../../../SimpleDropDownSelector/SimpleDropDownSelector"));
32
+ var __1 = require("../../..");
33
+ var styles_1 = require("./styles");
34
+ var components = { MultiValue: __1.MultiValueChip };
35
+ var Roles = function (_a) {
36
+ var values = _a.values;
37
+ var styles = styles_1.useStyles();
38
+ var dispatch = react_redux_1.useDispatch();
39
+ var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
40
+ var entity = react_redux_1.useSelector(mdm_module_1.default.selectors.getEntity);
41
+ var entityUri = entity.uri;
42
+ var options = mdm_sdk_1.getRolesForEntityType(metadata, entity.type).map(function (role) { return ({
43
+ value: role.uri,
44
+ label: role.label
45
+ }); });
46
+ var formattedValues = values.map(function (value) {
47
+ var _a;
48
+ var label = (_a = options.find(ramda_1.propEq('value', value))) === null || _a === void 0 ? void 0 : _a.label;
49
+ return {
50
+ value: value,
51
+ label: label || mdm_sdk_1.getLastUriPart(value)
52
+ };
53
+ });
54
+ var handleChange = function (values) {
55
+ var roles = (values === null || values === void 0 ? void 0 : values.map(ramda_1.prop('value'))) || [];
56
+ dispatch(mdm_module_1.profile.actions.modifyAttribute({
57
+ value: roles,
58
+ attributeType: mdm_sdk_1.EntityAttrTypes.roles,
59
+ uri: entityUri
60
+ }));
61
+ };
62
+ return (react_1.default.createElement(SimpleDropDownSelector_1.default, { label: '', height: 40, isMulti: true, options: options, value: formattedValues, onChange: handleChange, components: components, classes: styles }));
63
+ };
64
+ exports.Roles = Roles;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"valueContainer">;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@material-ui/core/styles");
5
+ exports.useStyles = styles_1.makeStyles({
6
+ valueContainer: {
7
+ marginLeft: '8px',
8
+ width: 0
9
+ }
10
+ });
@@ -32,10 +32,7 @@ var CrosswalkDateEditor = function (_a) {
32
32
  var styles = styles_1.useStyles();
33
33
  var _d = react_1.useState(false), isOpen = _d[0], setIsOpen = _d[1];
34
34
  var handleChange = function (date) { return onChange(date.valueOf()); };
35
- return (
36
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
37
- // @ts-ignore
38
- react_1.default.createElement(TimestampEditor_1.default, { variant: "filled", value: value ? new Date(value) : null, disabled: disabled, onChange: ramda_1.unless(ramda_1.always(isOpen), handleChange), onAccept: handleChange, onOpen: function () { return setIsOpen(true); }, onClose: function () { return setIsOpen(false); }, InputProps: {
35
+ return (react_1.default.createElement(TimestampEditor_1.default, { variant: "filled", value: value ? new Date(value) : null, disabled: disabled, onChange: ramda_1.unless(ramda_1.always(isOpen), handleChange), onAccept: handleChange, onOpen: function () { return setIsOpen(true); }, onClose: function () { return setIsOpen(false); }, InputProps: {
39
36
  disableUnderline: true,
40
37
  classes: { input: styles.timestampEditorInput, root: classnames_1.default(styles.timestampEditor, classes.root) }
41
38
  } }));
@@ -1,22 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { TextFieldProps } from '@material-ui/core/TextField';
3
+ import { KeyboardDatePickerProps } from '@material-ui/pickers/DatePicker';
4
+ declare type DateEditorProps = {
5
+ value: number | Date;
6
+ label: string;
7
+ variant?: TextFieldProps['variant'];
8
+ size?: TextFieldProps['size'];
9
+ hiddenLabel?: TextFieldProps['hiddenLabel'];
10
+ onBlur?: () => void;
11
+ onFocus?: () => void;
12
+ onChange: (value: number | Date) => void;
13
+ } & Omit<KeyboardDatePickerProps, 'value' | 'label' | 'variant' | 'size' | 'hiddenLabel' | 'onBlur' | 'onFocus' | 'onChange'>;
14
+ declare const DateEditor: ({ value, label, variant, onChange, InputProps, InputLabelProps, onBlur, onFocus, ...otherProps }: DateEditorProps) => JSX.Element;
1
15
  export default DateEditor;
2
- declare function DateEditor({ value, label, variant, onChange, InputProps, InputLabelProps, ...otherProps }: {
3
- [x: string]: any;
4
- value?: any;
5
- label: any;
6
- variant?: string;
7
- onChange: any;
8
- InputProps?: {};
9
- InputLabelProps?: {};
10
- }): JSX.Element;
11
- declare namespace DateEditor {
12
- namespace propTypes {
13
- export const value: PropTypes.Requireable<number | Date>;
14
- export const label: PropTypes.Requireable<string>;
15
- export { InputVariant as variant };
16
- export const InputProps: PropTypes.Requireable<object>;
17
- export const InputLabelProps: PropTypes.Requireable<object>;
18
- export const onChange: PropTypes.Validator<(...args: any[]) => any>;
19
- }
20
- }
21
- import PropTypes from "prop-types";
22
- import { InputVariant } from "../../../constants/prop-types";
@@ -44,28 +44,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
44
44
  return (mod && mod.__esModule) ? mod : { "default": mod };
45
45
  };
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
- var prop_types_1 = __importDefault(require("prop-types"));
48
- var react_1 = __importStar(require("react"));
49
- var ui_i18n_1 = __importDefault(require("ui-i18n"));
50
- var moment_1 = __importDefault(require("moment"));
47
+ var pickers_1 = require("@material-ui/pickers");
48
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
51
49
  var classnames_1 = __importDefault(require("classnames"));
50
+ var moment_1 = __importDefault(require("moment"));
52
51
  var ramda_1 = require("ramda");
53
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
54
- var pickers_1 = require("@material-ui/pickers");
55
- var prop_types_2 = require("../../../constants/prop-types");
52
+ var react_1 = __importStar(require("react"));
53
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
56
54
  var Calendar_1 = __importDefault(require("../../../icons/Calendar"));
55
+ var core_1 = require("../../../core");
57
56
  var styles_1 = require("./styles");
58
57
  var format = moment_1.default.localeData().longDateFormat('L');
59
58
  var DateEditor = function (_a) {
60
59
  var _b, _c;
61
60
  var _d;
62
- var _e = _a.value, value = _e === void 0 ? null : _e, label = _a.label, _f = _a.variant, variant = _f === void 0 ? 'filled' : _f, onChange = _a.onChange, _g = _a.InputProps, InputProps = _g === void 0 ? {} : _g, _h = _a.InputLabelProps, InputLabelProps = _h === void 0 ? {} : _h, otherProps = __rest(_a, ["value", "label", "variant", "onChange", "InputProps", "InputLabelProps"]);
61
+ var _e = _a.value, value = _e === void 0 ? null : _e, label = _a.label, _f = _a.variant, variant = _f === void 0 ? 'filled' : _f, onChange = _a.onChange, _g = _a.InputProps, InputProps = _g === void 0 ? {} : _g, _h = _a.InputLabelProps, InputLabelProps = _h === void 0 ? {} : _h, _j = _a.onBlur, onBlur = _j === void 0 ? core_1.noop : _j, _k = _a.onFocus, onFocus = _k === void 0 ? core_1.noop : _k, otherProps = __rest(_a, ["value", "label", "variant", "onChange", "InputProps", "InputLabelProps", "onBlur", "onFocus"]);
63
62
  var styles = styles_1.useStyles();
64
- var _j = react_1.useState(false), isCalendarOpen = _j[0], setIsCalendarOpen = _j[1];
65
- return (react_1.default.createElement(pickers_1.KeyboardDatePicker, __assign({ format: format, variant: "inline", invalidDateMessage: ui_i18n_1.default.text('Invalid Date Format'), maxDateMessage: ui_i18n_1.default.text('Date should not be after maximal date'), minDateMessage: ui_i18n_1.default.text('Date should not be before minimal date'), inputVariant: variant, autoOk: true, InputAdornmentProps: { position: 'end', classes: { positionEnd: styles.adornmentPositionEnd } }, KeyboardButtonProps: {
63
+ var _l = react_1.useState(false), isCalendarOpen = _l[0], setIsCalendarOpen = _l[1];
64
+ return (react_1.default.createElement(pickers_1.KeyboardDatePicker, __assign({ format: format, variant: "inline", invalidDateMessage: ui_i18n_1.default.text('Invalid Date Format'), maxDateMessage: ui_i18n_1.default.text('Date should not be after maximal date'), minDateMessage: ui_i18n_1.default.text('Date should not be before minimal date'), inputVariant: variant, autoOk: true, onBlur: onBlur, onFocus: onFocus, InputAdornmentProps: { position: 'end', classes: { positionEnd: styles.adornmentPositionEnd } }, KeyboardButtonProps: {
66
65
  classes: { root: styles.iconButtonRoot },
67
66
  onKeyPress: ramda_1.invoker(0, 'stopPropagation')
68
- }, keyboardIcon: react_1.default.createElement(Calendar_1.default, { className: styles.icon }), onChange: mdm_sdk_1.debounce(ramda_1.when(mdm_sdk_1.utils.dates.isValidMomentDateOrNull, ramda_1.pipe(mdm_sdk_1.utils.dates.momentToDate, mdm_sdk_1.utils.dates.clearDateTime, onChange)), 0), label: label, "aria-label": label, value: value, placeholder: ui_i18n_1.default.text(format), disableToolbar: true, onClose: function () { return setIsCalendarOpen(false); }, onOpen: function () { return setIsCalendarOpen(true); }, InputProps: __assign({ classes: {
67
+ }, keyboardIcon: react_1.default.createElement(Calendar_1.default, { className: styles.icon }), onChange: mdm_sdk_1.debounce(ramda_1.when(mdm_sdk_1.utils.dates.isValidMomentDateOrNull, ramda_1.pipe(mdm_sdk_1.utils.dates.momentToDate, mdm_sdk_1.utils.dates.clearDateTime, onChange)), 0), label: label, "aria-label": label, value: value, placeholder: ui_i18n_1.default.text(format), onClose: function () { return setIsCalendarOpen(false); }, onOpen: function () { return setIsCalendarOpen(true); }, InputProps: __assign({ classes: {
69
68
  root: styles.inputRoot,
70
69
  underline: classnames_1.default((_b = {}, _b[styles.underline] = isCalendarOpen, _b)),
71
70
  adornedEnd: styles.adornedEnd
@@ -80,12 +79,4 @@ var DateEditor = function (_a) {
80
79
  }
81
80
  }, InputLabelProps: __assign({ classes: __assign({ root: classnames_1.default((_c = {}, _c[styles.inputLabel] = isCalendarOpen, _c), (_d = InputLabelProps === null || InputLabelProps === void 0 ? void 0 : InputLabelProps.classes) === null || _d === void 0 ? void 0 : _d.root) }, InputLabelProps === null || InputLabelProps === void 0 ? void 0 : InputLabelProps.classes), shrink: !ramda_1.isNil(label) }, InputLabelProps) }, otherProps)));
82
81
  };
83
- DateEditor.propTypes = {
84
- value: prop_types_1.default.oneOfType([prop_types_1.default.number, prop_types_1.default.instanceOf(Date)]),
85
- label: prop_types_1.default.string,
86
- variant: prop_types_2.InputVariant,
87
- InputProps: prop_types_1.default.object,
88
- InputLabelProps: prop_types_1.default.object,
89
- onChange: prop_types_1.default.func.isRequired
90
- };
91
82
  exports.default = DateEditor;
@@ -1 +1 @@
1
- export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"underline" | "icon" | "adornedEnd" | "inputRoot" | "inputLabel" | "iconButtonRoot" | "adornmentPositionEnd">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"underline" | "icon" | "adornedEnd" | "iconButtonRoot" | "inputLabel" | "inputRoot" | "adornmentPositionEnd">;
@@ -1 +1 @@
1
- export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"underline" | "dropdownIndicator" | "adornedEnd" | "inputRoot" | "paper" | "menuItem" | "menuText" | "inputLabel">;
1
+ export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"underline" | "dropdownIndicator" | "adornedEnd" | "inputLabel" | "inputRoot" | "paper" | "menuItem" | "menuText">;
@@ -1,22 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { InputLabelProps } from '@material-ui/core/InputLabel';
3
+ import { TextFieldProps } from '@material-ui/core/TextField';
4
+ import { Moment } from 'moment';
5
+ import { KeyboardDateTimePickerProps } from '@material-ui/pickers/DateTimePicker';
6
+ declare type TimestampEditorProps = {
7
+ value: number | Date;
8
+ label?: string;
9
+ variant: TextFieldProps['variant'];
10
+ InputProps: TextFieldProps['InputProps'];
11
+ format?: string;
12
+ InputLabelProps?: Partial<InputLabelProps>;
13
+ onBlur?: () => void;
14
+ onFocus?: () => void;
15
+ onChange: (value: number | Date) => void;
16
+ onAccept: (value: number | Date | Moment) => void;
17
+ } & Omit<KeyboardDateTimePickerProps, 'value' | 'label' | 'variant' | 'size' | 'hiddenLabel' | 'onBlur' | 'onFocus' | 'onChange' | 'onAccept'>;
18
+ declare const TimestampEditor: ({ value, label, variant, onChange, InputProps, format, ...otherProps }: TimestampEditorProps) => JSX.Element;
1
19
  export default TimestampEditor;
2
- declare function TimestampEditor({ value, label, variant, onChange, InputProps, format, ...otherProps }: {
3
- [x: string]: any;
4
- value?: any;
5
- label: any;
6
- variant?: string;
7
- onChange: any;
8
- InputProps: any;
9
- format: any;
10
- }): JSX.Element;
11
- declare namespace TimestampEditor {
12
- namespace propTypes {
13
- export const value: PropTypes.Requireable<number | Date>;
14
- export const format: PropTypes.Requireable<string>;
15
- export const label: PropTypes.Requireable<string>;
16
- export { InputVariant as variant };
17
- export const InputProps: PropTypes.Requireable<object>;
18
- export const onChange: PropTypes.Validator<(...args: any[]) => any>;
19
- }
20
- }
21
- import PropTypes from "prop-types";
22
- import { InputVariant } from "../../../constants/prop-types";